From de669d714aa8f9e1cd4353c72790af7bd23c395f Mon Sep 17 00:00:00 2001 From: larentoun <31931237+larentoun@users.noreply.github.com> Date: Thu, 11 Apr 2024 23:07:33 +0300 Subject: [PATCH] Transfer translations from our skyrat work (#49) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## About The Pull Request Перевод: Преференсы Еретик и Космический дракон Задачи трейтора --- .github/workflows/ci_suite.yml | 1 + code/__DEFINES/antagonists.dm | 20 +-- code/datums/actions/mobs/open_mob_commands.dm | 4 +- .../antagonists/heretic/heretic_antag.dm | 56 ++++---- .../antagonists/heretic/heretic_focus.dm | 2 +- .../antagonists/heretic/heretic_knowledge.dm | 36 ++--- .../heretic/heretic_living_heart.dm | 34 ++--- .../antagonists/heretic/heretic_monsters.dm | 14 +- .../modules/antagonists/heretic/influences.dm | 22 +-- .../heretic/items/eldritch_flask.dm | 2 +- .../heretic/items/eldritch_painting.dm | 58 ++++---- .../heretic/items/forbidden_book.dm | 12 +- .../heretic/items/heretic_armor.dm | 26 ++-- .../heretic/items/heretic_blades.dm | 60 ++++---- .../heretic/items/heretic_necks.dm | 16 +-- .../antagonists/heretic/items/hunter_rifle.dm | 10 +- .../antagonists/heretic/items/keyring.dm | 26 ++-- .../heretic/items/labyrinth_handbook.dm | 14 +- .../antagonists/heretic/items/madness_mask.dm | 10 +- .../heretic/items/unfathomable_curio.dm | 10 +- .../antagonists/heretic/knowledge/ash_lore.dm | 88 ++++++------ .../heretic/knowledge/blade_lore.dm | 114 ++++++++-------- .../heretic/knowledge/cosmic_lore.dm | 106 +++++++------- .../heretic/knowledge/flesh_lore.dm | 108 +++++++-------- .../heretic/knowledge/general_side.dm | 10 +- .../heretic/knowledge/lock_lore.dm | 94 ++++++------- .../heretic/knowledge/moon_lore.dm | 90 ++++++------ .../heretic/knowledge/rust_lore.dm | 72 +++++----- .../sacrifice_knowledge/sacrifice_buff.dm | 6 +- .../sacrifice_knowledge.dm | 64 ++++----- .../sacrifice_knowledge/sacrifice_map.dm | 4 +- .../sacrifice_knowledge/sacrifice_moodlets.dm | 8 +- .../heretic/knowledge/side_ash_moon.dm | 28 ++-- .../heretic/knowledge/side_blade_rust.dm | 46 +++---- .../heretic/knowledge/side_cosmos_ash.dm | 24 ++-- .../heretic/knowledge/side_flesh_void.dm | 24 ++-- .../heretic/knowledge/side_lock_flesh.dm | 16 +-- .../heretic/knowledge/side_lock_moon.dm | 38 +++--- .../heretic/knowledge/side_rust_cosmos.dm | 30 ++-- .../heretic/knowledge/side_void_blade.dm | 50 +++---- .../heretic/knowledge/starting_lore.dm | 60 ++++---- .../heretic/knowledge/void_lore.dm | 84 ++++++------ .../heretic/magic/aggressive_spread.dm | 4 +- .../heretic/magic/apetravulnera.dm | 12 +- .../heretic/magic/ascended_shapeshift.dm | 4 +- .../heretic/magic/ash_ascension.dm | 10 +- .../antagonists/heretic/magic/ash_jaunt.dm | 4 +- .../antagonists/heretic/magic/blood_cleave.dm | 10 +- .../antagonists/heretic/magic/blood_siphon.dm | 12 +- .../heretic/magic/burglar_finesse.dm | 10 +- .../antagonists/heretic/magic/caretaker.dm | 10 +- .../heretic/magic/cosmic_expansion.dm | 4 +- .../antagonists/heretic/magic/cosmic_runes.dm | 14 +- .../heretic/magic/eldritch_emplosion.dm | 2 +- .../heretic/magic/eldritch_shapeshift.dm | 4 +- .../antagonists/heretic/magic/expand_sight.dm | 2 +- .../antagonists/heretic/magic/fire_blast.dm | 10 +- .../heretic/magic/flesh_ascension.dm | 6 +- .../heretic/magic/flesh_surgery.dm | 66 ++++----- .../heretic/magic/furious_steel.dm | 12 +- .../heretic/magic/lunatic_track.dm | 28 ++-- .../heretic/magic/madness_touch.dm | 8 +- .../antagonists/heretic/magic/manse_link.dm | 18 +-- .../antagonists/heretic/magic/mansus_grasp.dm | 16 +-- .../antagonists/heretic/magic/mind_gate.dm | 10 +- .../antagonists/heretic/magic/mirror_walk.dm | 28 ++-- .../antagonists/heretic/magic/moon_parade.dm | 10 +- .../heretic/magic/moon_ringleader.dm | 6 +- .../antagonists/heretic/magic/moon_smile.dm | 12 +- .../heretic/magic/nightwatcher_rebirth.dm | 6 +- .../antagonists/heretic/magic/realignment.dm | 8 +- .../antagonists/heretic/magic/rust_charge.dm | 6 +- .../heretic/magic/rust_construction.dm | 24 ++-- .../antagonists/heretic/magic/rust_wave.dm | 8 +- .../antagonists/heretic/magic/shadow_cloak.dm | 22 +-- .../antagonists/heretic/magic/space_crawl.dm | 14 +- .../antagonists/heretic/magic/star_blast.dm | 6 +- .../antagonists/heretic/magic/star_touch.dm | 26 ++-- .../heretic/magic/void_cold_cone.dm | 8 +- .../antagonists/heretic/magic/void_phase.dm | 8 +- .../antagonists/heretic/magic/void_pull.dm | 4 +- .../heretic/magic/wave_of_desperation.dm | 8 +- .../antagonists/heretic/moon_lunatic.dm | 10 +- .../heretic/status_effects/buffs.dm | 34 ++--- .../heretic/status_effects/debuffs.dm | 22 +-- .../heretic/status_effects/ghoul.dm | 8 +- .../heretic/status_effects/mark_effects.dm | 12 +- .../heretic/structures/carving_knife.dm | 32 ++--- .../heretic/structures/lock_final.dm | 14 +- .../heretic/structures/mawed_crucible.dm | 64 ++++----- .../antagonists/heretic/transmutation_rune.dm | 16 +-- .../antagonists/space_dragon/carp_rift.dm | 46 +++---- .../antagonists/space_dragon/space_carp.dm | 2 +- .../antagonists/space_dragon/space_dragon.dm | 28 ++-- .../traitor/objectives/assassination.dm | 12 +- .../traitor/objectives/demoralise_assault.dm | 12 +- .../traitor/objectives/destroy_heirloom.dm | 4 +- .../traitor/objectives/destroy_item.dm | 14 +- .../traitor/objectives/eyesnatching.dm | 8 +- .../final_objective/battlecruiser.dm | 10 +- .../objectives/final_objective/infect_ai.dm | 8 +- .../final_objective/objective_dark_matteor.dm | 8 +- .../objectives/final_objective/romerol.dm | 8 +- .../final_objective/supermatter_cascade.dm | 8 +- .../traitor/objectives/hack_comm_console.dm | 4 +- .../antagonists/traitor/objectives/infect.dm | 8 +- .../traitor/objectives/kill_pet.dm | 4 +- .../traitor/objectives/locate_weakpoint.dm | 14 +- .../traitor/objectives/sabotage_machinery.dm | 12 +- .../traitor/objectives/sleeper_protocol.dm | 6 +- .../antagonists/traitor/objectives/steal.dm | 4 +- .../modules/events/ghost_role/space_dragon.dm | 2 +- .../basic/space_fauna/carp/carp_abilities.dm | 6 +- .../tgui/interfaces/AntagInfoHeretic.tsx | 129 +++++++++--------- .../tgui/interfaces/AntagInfoTraitor.tsx | 62 ++++----- .../interfaces/PreferencesMenu/AntagsPage.tsx | 10 +- .../CharacterPreferenceWindow.tsx | 14 +- .../interfaces/PreferencesMenu/JobsPage.tsx | 24 ++-- .../PreferencesMenu/KeybindingsPage.tsx | 2 +- .../interfaces/PreferencesMenu/MainPage.tsx | 12 +- .../interfaces/PreferencesMenu/QuirksPage.tsx | 16 +-- .../PreferencesMenu/SpeciesPage.tsx | 14 +- .../antagonists/antagonists/abductor.ts | 17 +-- .../antagonists/antagonists/blob.ts | 10 +- .../antagonists/antagonists/blobinfection.ts | 6 +- .../antagonists/antagonists/bloodbrother.ts | 8 +- .../antagonists/antagonists/changeling.ts | 10 +- .../antagonists/changelingmidround.ts | 6 +- .../antagonists/antagonists/clownoperative.ts | 11 +- .../antagonists/antagonists/cultist.ts | 15 +- .../antagonists/antagonists/fugitive.ts | 7 +- .../antagonists/antagonists/glitch.ts | 8 +- .../antagonists/headrevolutionary.ts | 6 +- .../antagonists/antagonists/heretic.ts | 10 +- .../antagonists/hereticsmuggler.ts | 4 +- .../antagonists/antagonists/loneoperative.ts | 6 +- .../antagonists/antagonists/malfai.ts | 9 +- .../antagonists/antagonists/malfaimidround.ts | 6 +- .../antagonists/antagonists/nightmare.ts | 7 +- .../antagonists/antagonists/obsessed.ts | 8 +- .../antagonists/antagonists/operative.ts | 15 +- .../antagonists/operativemidround.ts | 6 +- .../antagonists/antagonists/paradoxclone.ts | 7 +- .../antagonists/antagonists/provocateur.ts | 5 +- .../antagonists/antagonists/revenant.ts | 8 +- .../antagonists/sentiencepotionspawn.ts | 14 +- .../antagonists/sentientdisease.ts | 6 +- .../antagonists/antagonists/spacedragon.ts | 6 +- .../antagonists/antagonists/spaceninja.ts | 18 +-- .../antagonists/antagonists/spy.ts | 14 +- .../antagonists/stowawaychangeling.ts | 5 +- .../antagonists/syndicateinfiltrator.ts | 4 +- .../antagonists/syndicatesleeperagent.ts | 5 +- .../antagonists/antagonists/traitor.ts | 13 +- .../antagonists/antagonists/wizard.ts | 6 +- .../antagonists/antagonists/wizardmidround.ts | 4 +- .../antagonists/antagonists/xenomorph.ts | 6 +- .../tgui/interfaces/PreferencesMenu/names.tsx | 6 +- .../features/character_preferences/age.tsx | 2 +- .../character_preferences/body_type.tsx | 2 +- .../character_preferences/glasses.tsx | 2 +- .../features/character_preferences/pda.tsx | 4 +- .../persistent_scars.tsx | 4 +- .../features/character_preferences/phobia.tsx | 2 +- .../character_preferences/prisoner_crime.tsx | 4 +- .../security_department.tsx | 2 +- .../character_preferences/skin_tone.tsx | 2 +- .../character_preferences/uplink_loc.tsx | 2 +- .../preferences/features/randomization.tsx | 8 +- .../preferences/features/species_features.tsx | 32 ++--- .../tgui/interfaces/Uplink/GenericUplink.tsx | 8 +- .../tgui/interfaces/Uplink/ObjectiveMenu.tsx | 38 +++--- .../Uplink/PrimaryObjectiveMenu.tsx | 22 ++- .../packages/tgui/interfaces/Uplink/index.tsx | 48 +++---- 174 files changed, 1641 insertions(+), 1643 deletions(-) diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index 74bdeb94edc99..e69047d1b71fe 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -10,6 +10,7 @@ on: branches: - master - 'project/**' + - translate # BANDASTATION EDIT ADDITION - check translate branch merge_group: branches: - master diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index ad81aed61b209..d637ebfb926d6 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -78,16 +78,16 @@ // Heretic path defines. -#define PATH_START "Start Path" -#define PATH_SIDE "Side Path" -#define PATH_ASH "Ash Path" -#define PATH_RUST "Rust Path" -#define PATH_FLESH "Flesh Path" -#define PATH_VOID "Void Path" -#define PATH_BLADE "Blade Path" -#define PATH_COSMIC "Cosmic Path" -#define PATH_LOCK "Lock Path" -#define PATH_MOON "Moon Path" +#define PATH_START "Стартовый путь" +#define PATH_SIDE "Вторичный путь" +#define PATH_ASH "Путь пепла" +#define PATH_RUST "Путь ржавчины" +#define PATH_FLESH "Путь плоти" +#define PATH_VOID "Путь пустоты" +#define PATH_BLADE "Путь клинка" +#define PATH_COSMIC "Путь космоса" +#define PATH_LOCK "Путь замка" +#define PATH_MOON "Путь луны" /// Defines are used in /proc/has_living_heart() to report if the heretic has no heart period, no living heart, or has a living heart. #define HERETIC_NO_HEART_ORGAN -1 diff --git a/code/datums/actions/mobs/open_mob_commands.dm b/code/datums/actions/mobs/open_mob_commands.dm index e7ffd104effbe..e54324f825627 100644 --- a/code/datums/actions/mobs/open_mob_commands.dm +++ b/code/datums/actions/mobs/open_mob_commands.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/open_mob_commands - name = "Command Star Gazer" - desc = "Open the command menu for your star gazer." + name = "Приказ звездочету" + desc = "Открывает меню приказов для вашего звездочета." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' diff --git a/code/modules/antagonists/heretic/heretic_antag.dm b/code/modules/antagonists/heretic/heretic_antag.dm index b95b608d535f4..d153ceea91a5f 100644 --- a/code/modules/antagonists/heretic/heretic_antag.dm +++ b/code/modules/antagonists/heretic/heretic_antag.dm @@ -21,7 +21,7 @@ job_rank = ROLE_HERETIC antag_hud_name = "heretic" hijack_speed = 0.5 - suicide_cry = "THE MANSUS SMILES UPON ME!!" + suicide_cry = "МАНСУС УЛЫБАЕТСЯ МНЕ!!" preview_outfit = /datum/outfit/heretic can_assign_self_objectives = TRUE default_custom_objective = "Turn a department into a testament for your dark knowledge." @@ -159,10 +159,10 @@ return var/confirmed = tgui_alert( owner.current, - message = "Are you sure? You will no longer be able to Ascend.", - title = "Reject the call?", - buttons = list("Yes", "No"), - ) == "Yes" + message = "Вы уверены? Вы не сможете вознестись.", + title = "Отказаться от призыва?", + buttons = list("Да", "Нет"), + ) == "Да" if (!confirmed) return return ..() @@ -195,7 +195,7 @@ /datum/antagonist/heretic/farewell() if(!silent) - to_chat(owner.current, span_userdanger("Your mind begins to flare as the otherwordly knowledge escapes your grasp!")) + to_chat(owner.current, span_userdanger("Ваш разум начинает разгораться, когда потусторонние знания ускользают от вас!")) return ..() /datum/antagonist/heretic/on_gain() @@ -221,7 +221,7 @@ /datum/antagonist/heretic/apply_innate_effects(mob/living/mob_override) var/mob/living/our_mob = mob_override || owner.current - handle_clown_mutation(our_mob, "Ancient knowledge described to you has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.") + handle_clown_mutation(our_mob, "Древнее знание, данное вам, позволило преодолеть свою клоунскую натуру, позволяя вам владеть оружием без вреда для себя.") our_mob.faction |= FACTION_HERETIC if (!issilicon(our_mob)) @@ -280,7 +280,7 @@ return // We shouldn't be able to cast this! Cancel it. - source.balloon_alert(source, "you need a focus!") + source.balloon_alert(source, "нужна фокусировка!") return SPELL_CANCEL_CAST /* @@ -317,15 +317,15 @@ /datum/antagonist/heretic/proc/try_draw_rune(mob/living/user, turf/target_turf, drawing_time = 20 SECONDS, additional_checks) for(var/turf/nearby_turf as anything in RANGE_TURFS(1, target_turf)) if(!isopenturf(nearby_turf) || is_type_in_typecache(nearby_turf, blacklisted_rune_turfs)) - target_turf.balloon_alert(user, "invalid placement for rune!") + target_turf.balloon_alert(user, "плохое место для руны!") return if(locate(/obj/effect/heretic_rune) in range(3, target_turf)) - target_turf.balloon_alert(user, "too close to another rune!") + target_turf.balloon_alert(user, "слишком близко к другой руне!") return if(drawing_rune) - target_turf.balloon_alert(user, "already drawing a rune!") + target_turf.balloon_alert(user, "уже рисуете руну!") return INVOKE_ASYNC(src, PROC_REF(draw_rune), user, target_turf, drawing_time, additional_checks) @@ -343,7 +343,7 @@ drawing_rune = TRUE var/rune_colour = path_to_rune_color[heretic_path] - target_turf.balloon_alert(user, "drawing rune...") + target_turf.balloon_alert(user, "рисуем руну...") var/obj/effect/temp_visual/drawing_heretic_rune/drawing_effect if (drawing_time < (10 SECONDS)) drawing_effect = new /obj/effect/temp_visual/drawing_heretic_rune/fast(target_turf, rune_colour) @@ -351,14 +351,14 @@ drawing_effect = new(target_turf, rune_colour) if(!do_after(user, drawing_time, target_turf, extra_checks = additional_checks, hidden = TRUE)) - target_turf.balloon_alert(user, "interrupted!") + target_turf.balloon_alert(user, "прервано!") new /obj/effect/temp_visual/drawing_heretic_rune/fail(target_turf, rune_colour) qdel(drawing_effect) drawing_rune = FALSE return qdel(drawing_effect) - target_turf.balloon_alert(user, "rune created") + target_turf.balloon_alert(user, "руна создана") new /obj/effect/heretic_rune/big(target_turf, rune_colour) drawing_rune = FALSE @@ -459,7 +459,7 @@ /datum/antagonist/heretic/proc/passive_influence_gain() knowledge_points++ if(owner.current.stat <= SOFT_CRIT) - to_chat(owner.current, "[span_hear("You hear a whisper...")] [span_hypnophrase(pick(strings(HERETIC_INFLUENCE_FILE, "drain_message")))]") + to_chat(owner.current, "[span_hear("Вы слышите шепот...")] [span_hypnophrase(pick(strings(HERETIC_INFLUENCE_FILE, "drain_message")))]") addtimer(CALLBACK(src, PROC_REF(passive_influence_gain)), passive_gain_timer) /datum/antagonist/heretic/roundend_report() @@ -468,26 +468,26 @@ var/succeeded = TRUE parts += printplayer(owner) - parts += "Sacrifices Made: [total_sacrifices]" - parts += "The heretic's sacrifice targets were: [english_list(all_sac_targets, nothing_text = "No one")]." + parts += "Жертвоприношений сделано: [total_sacrifices]" + parts += "Целями для жертвоприношения были: [english_list(all_sac_targets, nothing_text = "Никто")]." if(length(objectives)) var/count = 1 for(var/datum/objective/objective as anything in objectives) if(!objective.check_completion()) succeeded = FALSE - parts += "Objective #[count]: [objective.explanation_text] [objective.get_roundend_success_suffix()]" + parts += "Задача #[count]: [objective.explanation_text] [objective.get_roundend_success_suffix()]" count++ if(ascended) - parts += span_greentext(span_big("THE HERETIC ASCENDED!")) + parts += span_greentext(span_big("ЕРЕТИК ВОЗНЕССЯ!")) else if(succeeded) - parts += span_greentext("The heretic was successful, but did not ascend!") + parts += span_greentext("Еретик преуспел, но не возносся!") else - parts += span_redtext("The heretic has failed.") + parts += span_redtext("Еретик провалился.") - parts += "Knowledge Researched: " + parts += "Исследованные знания: " var/list/string_of_knowledge = list() @@ -608,13 +608,13 @@ else string_of_knowledge += knowledge.name - return "
Research Done:
[english_list(string_of_knowledge, and_text = ", and ")]
" + return "
Исследованые знания:
[english_list(string_of_knowledge, and_text = ", and ")]
" /datum/antagonist/heretic/antag_panel_objectives() . = ..() . += "
" - . += "Current Targets:
" + . += "Текущие цели:
" if(LAZYLEN(sac_targets)) for(var/mob/living/carbon/human/target as anything in sac_targets) . += " - [target.real_name], the [target.mind?.assigned_role?.title || "human"].
" @@ -722,7 +722,7 @@ /datum/objective/minor_sacrifice/update_explanation_text() . = ..() - explanation_text = "Sacrifice at least [target_amount] crewmembers." + explanation_text = "Принесите в жертву не менее [target_amount] членов экипажа." /datum/objective/minor_sacrifice/check_completion() var/datum/antagonist/heretic/heretic_datum = owner?.has_antag_datum(/datum/antagonist/heretic) @@ -734,7 +734,7 @@ /datum/objective/major_sacrifice name = "major sacrifice" target_amount = 1 - explanation_text = "Sacrifice 1 head of staff." + explanation_text = "Пожертвуйте главу станции." /datum/objective/major_sacrifice/check_completion() var/datum/antagonist/heretic/heretic_datum = owner?.has_antag_datum(/datum/antagonist/heretic) @@ -771,7 +771,7 @@ /datum/objective/heretic_research/update_explanation_text() . = ..() - explanation_text = "Research at least [target_amount] knowledge from the Mansus. You start with [length(GLOB.heretic_start_knowledge)] researched." + explanation_text = "Изучите как минимум [target_amount] знаний Мансуса. Изначально исследовано: [length(GLOB.heretic_start_knowledge)]" /datum/objective/heretic_research/check_completion() var/datum/antagonist/heretic/heretic_datum = owner?.has_antag_datum(/datum/antagonist/heretic) @@ -782,7 +782,7 @@ /datum/objective/heretic_summon name = "summon monsters" target_amount = 2 - explanation_text = "Summon 2 monsters from the Mansus into this realm." + explanation_text = "Вызовите двух монстров из Мансуса в этот мир." /// The total number of summons the objective owner has done var/num_summoned = 0 diff --git a/code/modules/antagonists/heretic/heretic_focus.dm b/code/modules/antagonists/heretic/heretic_focus.dm index 45bbf743b8cd1..5c9184cad4d45 100644 --- a/code/modules/antagonists/heretic/heretic_focus.dm +++ b/code/modules/antagonists/heretic/heretic_focus.dm @@ -34,7 +34,7 @@ if(!IS_HERETIC(user)) return - examine_list += span_notice("Allows you to cast advanced heretic spells when worn.") + examine_list += span_notice("Позволяет произносить продвинутые заклинания еретиков при ношении.") /** * Signal proc for [COMSIG_ITEM_EQUIPPED]. diff --git a/code/modules/antagonists/heretic/heretic_knowledge.dm b/code/modules/antagonists/heretic/heretic_knowledge.dm index bb59076a6bb06..74fe48cb63954 100644 --- a/code/modules/antagonists/heretic/heretic_knowledge.dm +++ b/code/modules/antagonists/heretic/heretic_knowledge.dm @@ -237,7 +237,7 @@ LAZYREMOVE(created_items, ref) if(LAZYLEN(created_items) >= limit) - loc.balloon_alert(user, "ritual failed, at limit!") + loc.balloon_alert(user, "ритуал провален, уже лимит!") return FALSE return TRUE @@ -456,34 +456,34 @@ potential_targets[human_to_check.real_name] = human_to_check - var/chosen_mob = tgui_input_list(user, "Select the victim you wish to curse.", name, sort_list(potential_targets, GLOBAL_PROC_REF(cmp_text_asc))) + var/chosen_mob = tgui_input_list(user, "Выберите жертву, которую вы хотите проклясть.", name, sort_list(potential_targets, GLOBAL_PROC_REF(cmp_text_asc))) if(isnull(chosen_mob)) return FALSE var/mob/living/carbon/human/to_curse = potential_targets[chosen_mob] if(QDELETED(to_curse)) - loc.balloon_alert(user, "ritual failed, invalid choice!") + loc.balloon_alert(user, "ритуал провален, некорректный выбор!") return FALSE // Yes, you COULD curse yourself, not sure why but you could if(to_curse == user) - var/are_you_sure = tgui_alert(user, "Are you sure you want to curse yourself?", name, list("Yes", "No")) - if(are_you_sure != "Yes") + var/are_you_sure = tgui_alert(user, "Вы уверены, что хотите проклясть себя?", name, list("Да", "Нет")) + if(are_you_sure != "Да") return FALSE var/boosted = (to_curse in boosted_targets) var/turf/curse_turf = get_turf(to_curse) if(!boosted && (!is_valid_z_level(curse_turf, loc) || get_dist(curse_turf, loc) > max_range * 1.5)) // Give a bit of leeway on max range for people moving around - loc.balloon_alert(user, "ritual failed, too far!") + loc.balloon_alert(user, "ритуал провален, слишком далеко!") return FALSE if(to_curse.can_block_magic(MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY, charge_cost = 0)) - to_chat(to_curse, span_warning("You feel a ghastly chill, but the feeling passes shortly.")) + to_chat(to_curse, span_warning("Вы чувствуете жуткий озноб, но это ощущение вскоре проходит.")) return TRUE log_combat(user, to_curse, "cursed via heretic ritual", addition = "([boosted ? "Boosted" : ""] [name])") curse(to_curse, boosted) - to_chat(user, span_hierophant("You cast a[boosted ? "n empowered":""] [name] upon [to_curse.real_name].")) + to_chat(user, span_hierophant("Вы наносите [boosted ? "усиленное":""] [name] на [to_curse.real_name].")) fingerprints = null blood_samples = null @@ -539,7 +539,7 @@ message_admins("A [summoned.name] is being summoned by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(summoned)].") var/mob/chosen_one = SSpolling.poll_ghosts_for_target(check_jobban = ROLE_HERETIC, poll_time = 10 SECONDS, checked_target = summoned, ignore_category = poll_ignore_define, alert_pic = summoned, role_name_text = summoned.name) if(isnull(chosen_one)) - loc.balloon_alert(user, "ritual failed, no ghosts!") + loc.balloon_alert(user, "ритуал провален, нет призраков!") animate(summoned, 0.5 SECONDS, alpha = 0) QDEL_IN(summoned, 0.6 SECONDS) return FALSE @@ -571,8 +571,8 @@ */ /datum/heretic_knowledge/knowledge_ritual name = "Ritual of Knowledge" - desc = "A randomly generated transmutation ritual that rewards knowledge points and can only be completed once." - gain_text = "Everything can be a key to unlocking the secrets behind the Gates. I must be wary and wise." + desc = "Случайно создаваемый ритуал трансмутации, который вознаграждается очками знаний и может быть выполнен только один раз." + gain_text = "Все может стать ключом к разгадке секретов, скрытых за Вратами. Я должен быть осторожным и мудрым." abstract_parent_type = /datum/heretic_knowledge/knowledge_ritual mutually_exclusive = TRUE cost = 1 @@ -630,15 +630,15 @@ var/list/requirements_string = list() - to_chat(user, span_hierophant("The [name] requires the following:")) + to_chat(user, span_hierophant("Для [name] требуется следующее:")) for(var/obj/item/path as anything in required_atoms) var/amount_needed = required_atoms[path] to_chat(user, span_hypnophrase("[amount_needed] [initial(path.name)]\s...")) requirements_string += "[amount_needed == 1 ? "":"[amount_needed] "][initial(path.name)]\s" - to_chat(user, span_hierophant("Completing it will reward you [KNOWLEDGE_RITUAL_POINTS] knowledge points. You can check the knowledge in your Researched Knowledge to be reminded.")) + to_chat(user, span_hierophant("За его выполнение вы получите [KNOWLEDGE_RITUAL_POINTS] очков знаний. Вы можете проверить знания в ваших \"иследованных знаниях\".")) - desc = "Allows you to transmute [english_list(requirements_string)] for [KNOWLEDGE_RITUAL_POINTS] bonus knowledge points. This can only be completed once." + desc = "Позволяет трансмутировать [english_list(requirements_string)] для получения [KNOWLEDGE_RITUAL_POINTS] бонусных очков знаний. Это можно выполнить только один раз." /datum/heretic_knowledge/knowledge_ritual/can_be_invoked(datum/antagonist/heretic/invoker) return !was_completed @@ -652,9 +652,9 @@ was_completed = TRUE var/drain_message = pick(strings(HERETIC_INFLUENCE_FILE, "drain_message")) - to_chat(user, span_boldnotice("[name] completed!")) + to_chat(user, span_boldnotice("[name] завершено!")) to_chat(user, span_hypnophrase(span_big("[drain_message]"))) - desc += " (Completed!)" + desc += " (Завершен!)" log_heretic_knowledge("[key_name(user)] completed a [name] at [worldtime2text()].") user.add_mob_memory(/datum/memory/heretic_knowledge_ritual) return TRUE @@ -726,9 +726,9 @@ SSblackbox.record_feedback("tally", "heretic_ascended", 1, route) log_heretic_knowledge("[key_name(user)] completed their final ritual at [worldtime2text()].") notify_ghosts( - "[user] has completed an ascension ritual!", + "[user] завершил ритуал вознесения!", source = user, - header = "A Heretic is Ascending!", + header = "Еретик вознесся!", ) return TRUE diff --git a/code/modules/antagonists/heretic/heretic_living_heart.dm b/code/modules/antagonists/heretic/heretic_living_heart.dm index b616d300097e9..98d16446901e6 100644 --- a/code/modules/antagonists/heretic/heretic_living_heart.dm +++ b/code/modules/antagonists/heretic/heretic_living_heart.dm @@ -44,7 +44,7 @@ /datum/component/living_heart/proc/on_organ_removed(obj/item/organ/source, mob/living/carbon/old_owner) SIGNAL_HANDLER - to_chat(old_owner, span_userdanger("As your living [source.name] leaves your body, you feel less connected to the Mansus!")) + to_chat(old_owner, span_userdanger("Когда ваше живое [source.name] покидает ваше тело, вы чувствуете себя менее привязанным к Мансусу!")) qdel(src) /** @@ -67,7 +67,7 @@ */ /datum/action/cooldown/track_target name = "Living Heartbeat" - desc = "LMB: Chose one of your sacrifice targets to track. RMB: Repeats last target you chose to track." + desc = "ЛКМ: Выберите одну из целей для отслеживания. ПКМ: Повторяет последнюю цель, которую вы выбрали для отслеживания." check_flags = AB_CHECK_CONSCIOUS background_icon_state = "bg_heretic" button_icon = 'icons/obj/antags/eldritch.dmi' @@ -107,7 +107,7 @@ var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(owner) var/datum/heretic_knowledge/sac_knowledge = heretic_datum.get_knowledge(/datum/heretic_knowledge/hunt_and_sacrifice) if(!LAZYLEN(heretic_datum.sac_targets)) - owner.balloon_alert(owner, "no targets, visit a rune!") + owner.balloon_alert(owner, "нет цели, посетите руну") StartCooldown(1 SECONDS) return TRUE @@ -146,8 +146,8 @@ // Let them know how to sacrifice people if they're able to be sac'd if(tracked_mob.stat == DEAD) - to_chat(owner, span_hierophant("[tracked_mob] is dead. Bring them to a transmutation rune \ - and invoke \"[sac_knowledge.name]\" to sacrifice them!")) + to_chat(owner, span_hierophant("[tracked_mob] мертв. Принесите их к руне трансмутации \ + и вызовите \"[sac_knowledge.name]\", чтобы принести их в жертву!")) StartCooldown() return TRUE @@ -171,7 +171,7 @@ // One of us is in somewhere we shouldn't be if(!our_z || !their_z) // "Hell if I know" - balloon_message = "on another plane!" + balloon_message = "в другом мире!" // They're not on the same z-level as us else if(our_z != their_z) @@ -180,24 +180,24 @@ // We're on a multi-z station if(is_station_level(our_z)) if(our_z > their_z) - balloon_message = "below you!" + balloon_message = "под вами!" else - balloon_message = "above you!" + balloon_message = "над вами!" // We're off station, they're not else - balloon_message = "on station!" + balloon_message = "на станции!" // Mining else if(is_mining_level(their_z)) - balloon_message = "on lavaland!" + balloon_message = "на лавалэнде!" // In the gateway else if(is_away_level(their_z) || is_secret_level(their_z)) - balloon_message = "beyond the gateway!" + balloon_message = "во вратах!" // They're somewhere we probably can't get too - sacrifice z-level, centcom, etc else - balloon_message = "on another plane!" + balloon_message = "в другом мире!" // They're on the same z-level as us! else @@ -206,15 +206,15 @@ switch(dist) if(0 to 15) - balloon_message = "very near, [dir2text(dir)]!" + balloon_message = "очень близко, [dir2text(dir)]!" if(16 to 31) - balloon_message = "near, [dir2text(dir)]!" + balloon_message = "близко, [dir2text(dir)]!" if(32 to 127) - balloon_message = "far, [dir2text(dir)]!" + balloon_message = "далеко, [dir2text(dir)]!" else - balloon_message = "very far!" + balloon_message = "очень далеко!" if(tracked_mob.stat == DEAD) - balloon_message = "they're dead, " + balloon_message + balloon_message = "мертвы, " + balloon_message return balloon_message diff --git a/code/modules/antagonists/heretic/heretic_monsters.dm b/code/modules/antagonists/heretic/heretic_monsters.dm index 3f3dd32035722..969bb18afdbe4 100644 --- a/code/modules/antagonists/heretic/heretic_monsters.dm +++ b/code/modules/antagonists/heretic/heretic_monsters.dm @@ -6,7 +6,7 @@ antag_moodlet = /datum/mood_event/heretics job_rank = ROLE_HERETIC antag_hud_name = "heretic_beast" - suicide_cry = "MY MASTER SMILES UPON ME!!" + suicide_cry = "МОЙ ХОЗЯИН УЛЫБАЕТСЯ МНЕ!!" show_in_antagpanel = FALSE /// Our master (a heretic)'s mind. var/datum/mind/master @@ -18,10 +18,10 @@ /datum/antagonist/heretic_monster/on_removal() if(!silent) if(master?.current) - to_chat(master.current, span_warning("The essence of [owner], your servant, fades from your mind.")) + to_chat(master.current, span_warning("Сущность [owner], вашего слуги, исчезает из твоего сознания.")) if(owner.current) - to_chat(owner.current, span_deconversion_message("Your mind begins to fill with haze - your master is no longer[master ? " [master]":""], you are free!")) - owner.current.visible_message(span_deconversion_message("[owner.current] looks like [owner.current.p_theyve()] been freed from the chains of the Mansus!"), ignored_mobs = owner.current) + to_chat(owner.current, span_deconversion_message("Ваш разум начинает заполняться туманом - ваш хозяин [master ? "больше не [master]":"отсутствует"], вы свободны!")) + owner.current.visible_message(span_deconversion_message("[owner.current] выглядит свободным от оков Мансура!"), ignored_mobs = owner.current) master = null return ..() @@ -34,10 +34,10 @@ var/datum/objective/master_obj = new() master_obj.owner = owner - master_obj.explanation_text = "Assist your master." + master_obj.explanation_text = "Помогайте своему хозяину." master_obj.completed = TRUE objectives += master_obj owner.announce_objectives() - to_chat(owner, span_boldnotice("You are a [ishuman(owner.current) ? "shambling corpse returned":"horrible creation brought"] to this plane through the Gates of the Mansus.")) - to_chat(owner, span_notice("Your master is [master]. Assist them to all ends.")) + to_chat(owner, span_boldnotice("Вы - [ishuman(owner.current) ? "возвращенный труп":"ужасное создание, принесенное"] в этот мир через врата Мансуса.")) + to_chat(owner, span_notice("Ваш хозяин - [master]. Помогайте им во всех делах.")) diff --git a/code/modules/antagonists/heretic/influences.dm b/code/modules/antagonists/heretic/influences.dm index 662af81249a5c..8deccc71d3c0f 100644 --- a/code/modules/antagonists/heretic/influences.dm +++ b/code/modules/antagonists/heretic/influences.dm @@ -141,17 +141,17 @@ return if(IS_HERETIC(user)) - to_chat(user, span_boldwarning("You know better than to tempt forces out of your control!")) + to_chat(user, span_boldwarning("Вам лучше не искушать неподвластные вам силы!")) return TRUE var/mob/living/carbon/human/human_user = user var/obj/item/bodypart/their_poor_arm = human_user.get_active_hand() if(prob(25)) - to_chat(human_user, span_userdanger("An otherwordly presence tears and atomizes your [their_poor_arm.name] as you try to touch the hole in the very fabric of reality!")) + to_chat(human_user, span_userdanger("Потустороннее присутствие разрывает и распыляет вашу [their_poor_arm.name], когда вы пытаетесь коснуться дыры в самой ткани реальности!")) their_poor_arm.dismember() qdel(their_poor_arm) else - to_chat(human_user,span_danger("You pull your hand away from the hole as the eldritch energy flails, trying to latch onto existance itself!")) + to_chat(human_user,span_danger("Вы отдергиваете руку от отверстия, когда мистическая энергия бьется, пытаясь зацепиться за этот мир!")) return TRUE /obj/effect/visible_heretic_influence/attack_tk(mob/user) @@ -161,13 +161,13 @@ . = COMPONENT_CANCEL_ATTACK_CHAIN if(IS_HERETIC(user)) - to_chat(user, span_boldwarning("You know better than to tempt forces out of your control!")) + to_chat(user, span_boldwarning("Вам лучше не искушать неподвластные вам силы!")) return var/mob/living/carbon/human/human_user = user // A very elaborate way to suicide - to_chat(human_user, span_userdanger("Eldritch energy lashes out, piercing your fragile mind, tearing it to pieces!")) + to_chat(human_user, span_userdanger("Миситческая энергия пронзает ваш хрупкий разум, разрывая его на куски!")) human_user.ghostize() var/obj/item/bodypart/head/head = locate() in human_user.bodyparts if(head) @@ -186,7 +186,7 @@ return var/mob/living/carbon/human/human_user = user - to_chat(human_user, span_userdanger("Your mind burns as you stare at the tear!")) + to_chat(human_user, span_userdanger("Ваш разум горит, когда вы смотрите на разрыв!")) human_user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 190) human_user.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus) @@ -248,7 +248,7 @@ return SECONDARY_ATTACK_CALL_NORMAL if(being_drained) - balloon_alert(user, "already being drained!") + balloon_alert(user, "уже добывается!") else INVOKE_ASYNC(src, PROC_REF(drain_influence), user, 1) @@ -280,15 +280,15 @@ /obj/effect/heretic_influence/proc/drain_influence(mob/living/user, knowledge_to_gain) being_drained = TRUE - balloon_alert(user, "draining influence...") + balloon_alert(user, "добыча влияния...") if(!do_after(user, 10 SECONDS, src, hidden = TRUE)) being_drained = FALSE - balloon_alert(user, "interrupted!") + balloon_alert(user, "прервано!") return // We don't need to set being_drained back since we delete after anyways - balloon_alert(user, "influence drained") + balloon_alert(user, "влияние добыто") var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) heretic_datum.knowledge_points += knowledge_to_gain @@ -302,7 +302,7 @@ /obj/effect/heretic_influence/proc/after_drain(mob/living/user) if(user) to_chat(user, span_hypnophrase(pick(strings(HERETIC_INFLUENCE_FILE, "drain_message")))) - to_chat(user, span_warning("[src] begins to fade into reality!")) + to_chat(user, span_warning("[src] начинает проясняться в реальность!")) var/obj/effect/visible_heretic_influence/illusion = new /obj/effect/visible_heretic_influence(drop_location()) illusion.name = "\improper" + pick(strings(HERETIC_INFLUENCE_FILE, "drained")) + " " + format_text(name) diff --git a/code/modules/antagonists/heretic/items/eldritch_flask.dm b/code/modules/antagonists/heretic/items/eldritch_flask.dm index 95b77f956188c..9fdf8a571158c 100644 --- a/code/modules/antagonists/heretic/items/eldritch_flask.dm +++ b/code/modules/antagonists/heretic/items/eldritch_flask.dm @@ -2,7 +2,7 @@ // Heals heretics, hearms non-heretics. Pretty much identical. /obj/item/reagent_containers/cup/beaker/eldritch name = "flask of eldritch essence" - desc = "Toxic to the closed minded, yet refreshing to those with knowledge of the beyond." + desc = "Токсичный для недалеких умов, но освежающий для тех, кто имеет знания о потустороннем." icon = 'icons/obj/antags/eldritch.dmi' icon_state = "eldrich_flask" list_reagents = list(/datum/reagent/eldritch = 50) diff --git a/code/modules/antagonists/heretic/items/eldritch_painting.dm b/code/modules/antagonists/heretic/items/eldritch_painting.dm index 5302fc1c9c148..9222c4f0c0752 100644 --- a/code/modules/antagonists/heretic/items/eldritch_painting.dm +++ b/code/modules/antagonists/heretic/items/eldritch_painting.dm @@ -47,12 +47,12 @@ to_chat(viewer, span_notice(text_to_display)) viewer.gain_trauma(applied_trauma, TRAUMA_RESILIENCE_SURGERY) INVOKE_ASYNC(viewer, TYPE_PROC_REF(/mob, emote), "scream") - to_chat(viewer, span_hypnophrase("As you gaze upon the painting, your mind rends to its truth!")) + to_chat(viewer, span_hypnophrase("Когда вы смотрите на картину, вам разум постигает ее правду!")) /obj/structure/sign/painting/eldritch/wirecutter_act(mob/living/user, obj/item/I) if(!user.can_block_magic(MAGIC_RESISTANCE)) user.add_mood_event("ripped_eldritch_painting", /datum/mood_event/eldritch_painting) - to_chat(user, span_hypnophrase("Laughter echoes through your mind....")) + to_chat(user, span_hypnophrase("Смех отдается эхом в вашем разуме...")) qdel(src) return ITEM_INTERACT_SUCCESS @@ -70,57 +70,57 @@ /obj/structure/sign/painting/eldritch/proc/examine_effects(mob/living/carbon/examiner) if(IS_HERETIC(examiner)) - to_chat(examiner, span_notice("Oh, what arts!")) + to_chat(examiner, span_notice("О, какое искусство!")) else - to_chat(examiner, span_notice("Kinda strange painting.")) + to_chat(examiner, span_notice("Странноватая картина.")) // The sister and He Who Wept eldritch painting /obj/item/wallframe/painting/eldritch/weeping name = "The sister and He Who Wept" - desc = "A beautiful artwork depicting a fair lady and HIM, HE WEEPS, I WILL SEE HIM AGAIN." + desc = "Прекрасное произведение искусства, изображающее прекрасную даму и ЕГО, ОН ПЛАЧЕТ, Я УВИЖУ ЕГО СНОВА." icon_state = "eldritch_painting_weeping" result_path = /obj/structure/sign/painting/eldritch/weeping /obj/structure/sign/painting/eldritch/weeping name = "The sister and He Who Wept" - desc = "A beautiful artwork depicting a fair lady and HIM, HE WEEPS, I WILL SEE HIM AGAIN. Destroyable with wirecutters." + desc = "Прекрасное произведение искусства, изображающее прекрасную даму и ЕГО, ОН ПЛАЧЕТ, Я УВИЖУ ЕГО СНОВА. Можно уничтожить кусачками." icon_state = "eldritch_painting_weeping" applied_trauma = /datum/brain_trauma/severe/weeping - text_to_display = "Oh what arts! She is so fair, and he...HE WEEPS!!!" + text_to_display = "О, какое искусство! Она такая прекрасная, а он... ОН ПЛАЧЕТ!!!" /obj/structure/sign/painting/eldritch/weeping/examine_effects(mob/living/carbon/examiner) if(!IS_HERETIC(examiner)) - to_chat(examiner, span_hypnophrase("Respite, for now....")) + to_chat(examiner, span_hypnophrase("Передохни, пока что...")) examiner.mob_mood.mood_events.Remove("eldritch_weeping") examiner.add_mood_event("weeping_withdrawal", /datum/mood_event/eldritch_painting/weeping_withdrawal) return - to_chat(examiner, span_notice("Oh, what arts! Just gazing upon it clears your mind.")) + to_chat(examiner, span_notice("О, какое искусство! Один только взгляд на него проясняет ваши мысли.")) examiner.remove_status_effect(/datum/status_effect/hallucination) examiner.add_mood_event("heretic_eldritch_painting", /datum/mood_event/eldritch_painting/weeping_heretic) // The First Desire painting, using a lot of the painting/eldritch framework /obj/item/wallframe/painting/eldritch/desire name = "The First Desire" - desc = "A painting depicting a platter of flesh, just looking at it makes your stomach knot and mouth froth." + desc = "Картина, изображающая блюдо с плотью, от одного только взгляда на нее сводит желудок и пенится рот." icon_state = "eldritch_painting_desire" result_path = /obj/structure/sign/painting/eldritch/desire /obj/structure/sign/painting/eldritch/desire name = "The First Desire" - desc = "A painting depicting a platter of flesh, just looking at it makes your stomach knot and mouth froth. Destroyable with wirecutters." + desc = "Картина, изображающая блюдо с плотью, от одного только взгляда на нее сводит желудок и пенится рот. Можно уничтожить кусачками." icon_state = "eldritch_painting_desire" applied_trauma = /datum/brain_trauma/severe/flesh_desire - text_to_display = "What an artwork, just looking at it makes me hunger...." + text_to_display = "Какое произведение, от одного взгляда на него хочется есть..." // The special examine interaction for this painting /obj/structure/sign/painting/eldritch/desire/examine_effects(mob/living/carbon/examiner) if(!IS_HERETIC(examiner)) // Gives them some nutrition examiner.adjust_nutrition(50) - to_chat(examiner, span_warning("You feel a searing pain in your stomach!")) + to_chat(examiner, span_warning("Вы чувствуете жгучую боль в животе!")) examiner.adjustOrganLoss(ORGAN_SLOT_STOMACH, 5) - to_chat(examiner, span_notice("You feel less hungry, but more empty somehow?")) + to_chat(examiner, span_notice("Вы чувствуете себя менее голодным, но, каким-то образом, более пустым?")) examiner.add_mood_event("respite_eldritch_hunger", /datum/mood_event/eldritch_painting/desire_examine) return @@ -141,20 +141,20 @@ ) var/organ_or_bodypart_to_spawn = pick(random_bodypart_or_organ) new organ_or_bodypart_to_spawn(drop_location()) - to_chat(examiner, span_notice("A piece of flesh crawls out of the painting and flops onto the floor.")) + to_chat(examiner, span_notice("Кусок плоти выползает из картины и падает на пол.")) // Adds a negative mood event to our heretic examiner.add_mood_event("heretic_eldritch_hunger", /datum/mood_event/eldritch_painting/desire_heretic) // Great chaparral over rolling hills, this one doesn't have the sensor type /obj/item/wallframe/painting/eldritch/vines name = "Great chaparral over rolling hills" - desc = "A painting depicting a massive thicket, it seems to be attempting to crawl through the frame." + desc = "Картина, изображающая массивные заросли, которые, кажется, пытаются пролезть сковзь рамку." icon_state = "eldritch_painting_vines" result_path = /obj/structure/sign/painting/eldritch/vines /obj/structure/sign/painting/eldritch/vines name = "Great chaparral over rolling hills" - desc = "A painting depicting a massive thicket, it seems to be attempting to crawl through the frame. Destroyable with wirecutters." + desc = "Картина, изображающая массивные заросли, которые, кажется, пытаются пролезть сковзь рамку. Можно уничтожить кусачками." icon_state = "eldritch_painting_vines" applied_trauma = null // A static list of 5 pretty strong mutations, simple to expand for any admins @@ -179,11 +179,11 @@ . = ..() if(!IS_HERETIC(examiner)) new /datum/spacevine_controller(get_turf(examiner), mutations, 0, 10) - to_chat(examiner, span_hypnophrase("The thicket crawls through the frame, and you suddenly find vines beneath you...")) + to_chat(examiner, span_hypnophrase("Заросли пролезают сквозь рамку, и вы вдруг обнаруживаете под собой лианы...")) return var/item_to_spawn = pick(items_to_spawn) - to_chat(examiner, span_notice("You picture yourself in the thicket picking flowers..")) + to_chat(examiner, span_notice("Вы преставляете, как вы собираете цветы в зарослях...")) new item_to_spawn(examiner.drop_location()) examiner.add_mood_event("heretic_vines", /datum/mood_event/eldritch_painting/heretic_vines) @@ -191,16 +191,16 @@ // Lady out of gates, gives a brain trauma causing the person to scratch themselves /obj/item/wallframe/painting/eldritch/beauty name = "Lady out of gates" - desc = "A painting depicting a perfect lady, and I must be perfect like her..." + desc = "Картина, на которой изображена идеальная леди, и я должен быть таким же идаельным, как она..." icon_state = "eldritch_painting_beauty" result_path = /obj/structure/sign/painting/eldritch/beauty /obj/structure/sign/painting/eldritch/beauty name = "Lady out of gates" - desc = "A painting depicting a perfect lady, and I must be perfect like her. Destroyable with wirecutters." + desc = "Картина, на которой изображена идеальная леди, и я должен быть таким же идаельным, как она. Можно уничтожить кусачками." icon_state = "eldritch_painting_beauty" applied_trauma = /datum/brain_trauma/severe/eldritch_beauty - text_to_display = "Her flesh glows in the pale light, and mine can too...If it wasnt for these imperfections...." + text_to_display = "Ее плоть сияет в бледном свете, и моя тоже бы могла... Если бы не все эти недостатки..." /// List of reagents to add to heretics on examine, set to mutadone by default to remove mutations var/list/reagents_to_add = list(/datum/reagent/medicine/mutadone = 5) @@ -211,35 +211,35 @@ return if(!IS_HERETIC(examiner)) - to_chat(examiner, span_hypnophrase("You feel changed, more perfect....")) + to_chat(examiner, span_hypnophrase("Вы чувствуете себя изменившимся, более совершенным...")) examiner.easy_random_mutate(NEGATIVE + MINOR_NEGATIVE) return - to_chat(examiner, span_notice("Your imperfections shed and you are restored.")) + to_chat(examiner, span_notice("Ваши недостатки исчезают, и вы восстанавливаетесь.")) examiner.reagents.add_reagent_list(reagents_to_add) // Climb over the rusted mountain, gives a brain trauma causing the person to randomly rust tiles beneath them /obj/item/wallframe/painting/eldritch/rust name = "Climb over the rusted mountain" - desc = "A painting depicting something climbing a mountain of rust, it gives you an eerie feeling." + desc = "Картина, изображающая нечто, взбирающееся на гору ржавчины. Жутко." icon_state = "eldritch_painting_rust" result_path = /obj/structure/sign/painting/eldritch/rust /obj/structure/sign/painting/eldritch/rust name = "Climb over the rusted mountain" - desc = "A painting depicting something climbing a mountain of rust, it gives you an eerie feeling. Destroyable with wirecutters." + desc = "Картина, изображающая нечто, взбирающееся на гору ржавчины. Жутко. Можно уничтожить кусачками." icon_state = "eldritch_painting_rust" applied_trauma = /datum/brain_trauma/severe/rusting - text_to_display = "It climbs, and I will aid it...The rust calls and I shall answer..." + text_to_display = "Оно взбирается, и я помогу ему... Ржавчина зовет, и я отвечу." // The special examine interaction for this painting /obj/structure/sign/painting/eldritch/rust/examine_effects(mob/living/carbon/examiner) . = ..() if(!IS_HERETIC(examiner)) - to_chat(examiner, span_hypnophrase("It can wait...")) + to_chat(examiner, span_hypnophrase("Оно может подождать...")) examiner.add_mood_event("rusted_examine", /datum/mood_event/eldritch_painting/rust_examine) return - to_chat(examiner, span_notice("You see the climber, and are inspired by it!")) + to_chat(examiner, span_notice("Вы вдохновлены этим альпинистом!")) examiner.add_mood_event("rusted_examine", /datum/mood_event/eldritch_painting/rust_heretic_examine) diff --git a/code/modules/antagonists/heretic/items/forbidden_book.dm b/code/modules/antagonists/heretic/items/forbidden_book.dm index ad6bc3888006a..50e6c230423cd 100644 --- a/code/modules/antagonists/heretic/items/forbidden_book.dm +++ b/code/modules/antagonists/heretic/items/forbidden_book.dm @@ -1,7 +1,7 @@ // Ye old forbidden book, the Codex Cicatrix. /obj/item/codex_cicatrix name = "Codex Cicatrix" - desc = "This book describes the secrets of the veil between worlds." + desc = "В этой книге описаны секреты завесы между мирами." icon = 'icons/obj/antags/eldritch.dmi' base_icon_state = "book" icon_state = "book" @@ -13,8 +13,8 @@ /obj/item/codex_cicatrix/Initialize(mapload) . = ..() AddComponent(/datum/component/effect_remover, \ - success_feedback = "You remove %THEEFFECT.", \ - tip_text = "Clear rune", \ + success_feedback = "Вы убираете %THEEFFECT.", \ + tip_text = "Очистить руну", \ on_clear_callback = CALLBACK(src, PROC_REF(after_clear_rune)), \ effects_we_clear = list(/obj/effect/heretic_rune)) @@ -27,9 +27,9 @@ if(!IS_HERETIC(user)) return - . += span_notice("Can be used to tap influences for additional knowledge points.") - . += span_notice("Can also be used to draw or remove transmutation runes with ease.") - . += span_notice("Additionally, it can work as a focus for your spells in a pinch, though a more specialized relic is recommended, as this may get dropped in combat.") + . += span_notice("Может быть использован на влияниях для получения дополнительных очков знаний.") + . += span_notice("Упрощает начертание или удаление рун трансмутации.") + . += span_notice("Также, может быть использован как фокусировка, но рекомендуется более специализированный для этого предмет, так как этот может выпасть во время боя.") /obj/item/codex_cicatrix/attack_self(mob/user, modifiers) . = ..() diff --git a/code/modules/antagonists/heretic/items/heretic_armor.dm b/code/modules/antagonists/heretic/items/heretic_armor.dm index e1f7961240683..88ee808a75478 100644 --- a/code/modules/antagonists/heretic/items/heretic_armor.dm +++ b/code/modules/antagonists/heretic/items/heretic_armor.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/clothing/head/helmet.dmi' worn_icon = 'icons/mob/clothing/head/helmet.dmi' icon_state = "eldritch" - desc = "A torn, dust-caked hood. Strange eyes line the inside." + desc = "Порванный, покрытый пылью капюшон. Странные глаза расположены внутри." flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF flash_protect = FLASH_PROTECTION_WELDER @@ -15,7 +15,7 @@ /obj/item/clothing/suit/hooded/cultrobes/eldritch name = "ominous armor" - desc = "A ragged, dusty set of robes. Strange eyes line the inside." + desc = "Потрепанный, пыльный халат. Странные глаза расположены внутри." icon_state = "eldritch_armor" inhand_icon_state = null flags_inv = HIDESHOES|HIDEJUMPSUIT @@ -44,15 +44,15 @@ return // Our hood gains the heretic_focus element. - . += span_notice("Allows you to cast heretic spells while the hood is up.") + . += span_notice("Позволяет произносить еретические заклинания, пока капюшон поднят.") // Void cloak. Turns invisible with the hood up, lets you hide stuff. /obj/item/clothing/head/hooded/cult_hoodie/void name = "void hood" icon = 'icons/obj/clothing/head/helmet.dmi' worn_icon = 'icons/mob/clothing/head/helmet.dmi' - desc = "Black like tar, doesn't reflect any light. Runic symbols line the outside, \ - with each flash you loose comprehension of what you are seeing." + desc = "Черный как смоль, не отражает свет. Рунические символы выстраиваются снаружи, \ + с каждой вспышкой вы теряете понимание того, что перед вами." icon_state = "void_cloak" flags_inv = NONE flags_cover = NONE @@ -73,8 +73,8 @@ /obj/item/clothing/suit/hooded/cultrobes/void name = "void cloak" - desc = "Black like tar, doesn't reflect any light. Runic symbols line the outside, \ - with each flash you loose comprehension of what you are seeing." + desc = "Черный как смоль, не отражает свет. Рунические символы выстраиваются снаружи, \ + с каждой вспышкой вы теряете понимание того, что перед вами." icon_state = "void_cloak" inhand_icon_state = null allowed = list(/obj/item/melee/sickly_blade) @@ -125,7 +125,7 @@ return // Let examiners know this works as a focus only if the hood is down - . += span_notice("Allows you to cast heretic spells while the hood is down.") + . += span_notice("Позволяет произносить еретические заклинания, пока капюшон опущен.") /obj/item/clothing/suit/hooded/cultrobes/void/on_hood_down(obj/item/clothing/head/hooded/hood) make_visible() @@ -138,7 +138,7 @@ if(IS_HERETIC_OR_MONSTER(wearer)) return TRUE - loc.balloon_alert(loc, "can't get the hood up!") + loc.balloon_alert(loc, "не удалось поднять капюшон!") return FALSE /obj/item/clothing/suit/hooded/cultrobes/void/on_hood_created(obj/item/clothing/head/hooded/hood) @@ -152,8 +152,8 @@ RemoveElement(/datum/element/heretic_focus) if(isliving(loc)) - loc.balloon_alert(loc, "cloak hidden") - loc.visible_message(span_notice("Light shifts around [loc], making the cloak around them invisible!")) + loc.balloon_alert(loc, "плащ скрыт") + loc.visible_message(span_notice("Свет смещается вокруг [loc], делая надетый плащ невидимым!")) /// Makes our cloak "visible" again. /obj/item/clothing/suit/hooded/cultrobes/void/proc/make_visible() @@ -162,5 +162,5 @@ AddElement(/datum/element/heretic_focus) if(isliving(loc)) - loc.balloon_alert(loc, "cloak revealed") - loc.visible_message(span_notice("A kaleidoscope of colours collapses around [loc], a cloak appearing suddenly around their person!")) + loc.balloon_alert(loc, "плащ раскрыт") + loc.visible_message(span_notice("Калейдоскоп цветов рассыпается вокруг [loc], и внезапно появляется надетый плащ!")) diff --git a/code/modules/antagonists/heretic/items/heretic_blades.dm b/code/modules/antagonists/heretic/items/heretic_blades.dm index 81f9b4bc80a9f..07a3296fd3199 100644 --- a/code/modules/antagonists/heretic/items/heretic_blades.dm +++ b/code/modules/antagonists/heretic/items/heretic_blades.dm @@ -1,7 +1,7 @@ /obj/item/melee/sickly_blade name = "\improper sickly blade" - desc = "A sickly green crescent blade, decorated with an ornamental eye. You feel like you're being watched..." + desc = "Болезненно-зеленый полумесячный клинок, украшенный декоративным глазом. Вы чувствуете, что за вами наблюдают..." icon = 'icons/obj/weapons/khopesh.dmi' icon_state = "eldritch_blade" inhand_icon_state = "eldritch_blade" @@ -26,7 +26,7 @@ /obj/item/melee/sickly_blade/attack(mob/living/M, mob/living/user) if(!IS_HERETIC_OR_MONSTER(user)) - to_chat(user, span_danger("You feel a pulse of alien intellect lash out at your mind!")) + to_chat(user, span_danger("Вы чувствуете, как импульс чужого интеллекта бьет по вашему разуму!")) var/mob/living/carbon/human/human_user = user human_user.AdjustParalyzed(5 SECONDS) return TRUE @@ -37,11 +37,11 @@ var/turf/safe_turf = find_safe_turf(zlevels = z, extended_safety_checks = TRUE) if(IS_HERETIC_OR_MONSTER(user)) if(do_teleport(user, safe_turf, channel = TELEPORT_CHANNEL_MAGIC)) - to_chat(user, span_warning("As you shatter [src], you feel a gust of energy flow through your body. [after_use_message]")) + to_chat(user, span_warning("Когда вы разбиваете [src], вы чувствуете, как порыв энергии проходит через ваше тело. [after_use_message]")) else - to_chat(user, span_warning("You shatter [src], but your plea goes unanswered.")) + to_chat(user, span_warning("Вы разбиваете [src], но ваша мольба остается без ответа.")) else - to_chat(user,span_warning("You shatter [src].")) + to_chat(user,span_warning("Вы разбиваете [src].")) playsound(src, SFX_SHATTER, 70, TRUE) //copied from the code for smashing a glass sheet onto the ground to turn it into a shard qdel(src) @@ -60,35 +60,35 @@ if(!IS_HERETIC_OR_MONSTER(user)) return - . += span_notice("You can shatter the blade to teleport to a random, (mostly) safe location by activating it in-hand.") + . += span_notice("Вы можете разбить клинок, чтобы телепортироваться в случайное (в основном) безопасное место, активировав его в руке.") // Path of Rust's blade /obj/item/melee/sickly_blade/rust name = "\improper rusted blade" - desc = "This crescent blade is decrepit, wasting to rust. \ - Yet still it bites, ripping flesh and bone with jagged, rotten teeth." + desc = "Этот полумесячный клинок обветшал и заржавел. \ + И все же он кусается, разрывая плоть и кости зазубренными гнилыми зубами." icon_state = "rust_blade" inhand_icon_state = "rust_blade" - after_use_message = "The Rusted Hills hear your call..." + after_use_message = "Ржавые холмы слышат ваш зов..." // Path of Ash's blade /obj/item/melee/sickly_blade/ash name = "\improper ashen blade" - desc = "Molten and unwrought, a hunk of metal warped to cinders and slag. \ - Unmade, it aspires to be more than it is, and shears soot-filled wounds with a blunt edge." + desc = "Расплавленный и необработанный кусок металла, искореженный в труху и шлак. \ + Несделанный, он стремится быть большим, чем он является, и срезает тупым краем раны, заполняя их сажей." icon_state = "ash_blade" inhand_icon_state = "ash_blade" - after_use_message = "The Nightwatcher hears your call..." + after_use_message = "Ночной дозорный слышит ваш зов..." resistance_flags = FIRE_PROOF // Path of Flesh's blade /obj/item/melee/sickly_blade/flesh name = "\improper bloody blade" - desc = "A crescent blade born from a fleshwarped creature. \ - Keenly aware, it seeks to spread to others the suffering it has endured from its dreadful origins." + desc = "Полумесячный клинок, рожденный из искореженного существа. \ + Он стремится передать другим те страдания, которые он пережил от своего ужасного происхождения." icon_state = "flesh_blade" inhand_icon_state = "flesh_blade" - after_use_message = "The Marshal hears your call..." + after_use_message = "Маршал слышит ваш зов..." /obj/item/melee/sickly_blade/flesh/Initialize(mapload) . = ..() @@ -110,47 +110,47 @@ // Path of Void's blade /obj/item/melee/sickly_blade/void name = "\improper void blade" - desc = "Devoid of any substance, this blade reflects nothingness. \ - It is a real depiction of purity, and chaos that ensues after its implementation." + desc = "Лишенный всякой субстанции, этот клинок отражает небытие. \ + Это настоящее отображение чистоты, и хаоса, который наступает после его применения." icon_state = "void_blade" inhand_icon_state = "void_blade" - after_use_message = "The Aristocrat hears your call..." + after_use_message = "Аристократ слышит ваш зов..." // Path of the Blade's... blade. // Opting for /dark instead of /blade to avoid "sickly_blade/blade". /obj/item/melee/sickly_blade/dark name = "\improper sundered blade" - desc = "A galliant blade, sundered and torn. \ - Furiously, the blade cuts. Silver scars bind it forever to its dark purpose." + desc = "Галантный клинок, раздробленный и разорванный. \ + Клинок режет яростно. Серебряные шрамы навечно связывают его с темной целью." icon_state = "dark_blade" inhand_icon_state = "dark_blade" - after_use_message = "The Torn Champion hears your call..." + after_use_message = "Разорванный чемпион слышит ваш зов..." // Path of Cosmos's blade /obj/item/melee/sickly_blade/cosmic name = "\improper cosmic blade" - desc = "A mote of celestial resonance, shaped into a star-woven blade. \ - An iridescent exile, carving radiant trails, desperately seeking unification." + desc = "Соринка небесного резонанса, сформированная в клинок, сотканный из звезд. \ + Радужный изгнанник, прокладывающий лучистые тропы, отчаянно стремящихся к объединению." icon_state = "cosmic_blade" inhand_icon_state = "cosmic_blade" - after_use_message = "The Stargazer hears your call..." + after_use_message = "Звездочет слышит ваш зов..." // Path of Knock's blade /obj/item/melee/sickly_blade/lock name = "\improper key blade" - desc = "A blade and a key, a key to what? \ - What grand gates does it open?" + desc = "Клинок и ключ, ключ к чему? \ + Какие великие врата он открывает?" icon_state = "key_blade" inhand_icon_state = "key_blade" - after_use_message = "The Stewards hear your call..." + after_use_message = "Управляющий слышит ваш зов..." tool_behaviour = TOOL_CROWBAR toolspeed = 1.3 // Path of Moon's blade /obj/item/melee/sickly_blade/moon name = "\improper moon blade" - desc = "A blade of iron, reflecting the truth of the earth: All join the troupe one day. \ - A troupe bringing joy, carving smiles on their faces if they want one or not." + desc = "Клинок из железа, отражающий правду земли: Все однажды присоединятся к труппе. \ + Труппе приносящей радость, вырезающая улыбки на их лицах, хотят они того или нет." icon_state = "moon_blade" inhand_icon_state = "moon_blade" - after_use_message = "The Moon hears your call..." + after_use_message = "Луна слышит ваш зов..." diff --git a/code/modules/antagonists/heretic/items/heretic_necks.dm b/code/modules/antagonists/heretic/items/heretic_necks.dm index c1f244dfd0e8f..d0987a052d703 100644 --- a/code/modules/antagonists/heretic/items/heretic_necks.dm +++ b/code/modules/antagonists/heretic/items/heretic_necks.dm @@ -1,6 +1,6 @@ /obj/item/clothing/neck/heretic_focus name = "Amber Focus" - desc = "An amber focusing glass that provides a link to the world beyond. The necklace seems to twitch, but only when you look at it from the corner of your eye." + desc = "Янтарное фокусирующее стекло, обеспечивающее связь с потусторонним миром. Ожерелье как будто подергивается, но только когда вы смотрите на него краем глаза." icon_state = "eldritch_necklace" w_class = WEIGHT_CLASS_SMALL resistance_flags = FIRE_PROOF @@ -11,7 +11,7 @@ /obj/item/clothing/neck/eldritch_amulet name = "Warm Eldritch Medallion" - desc = "A strange medallion. Peering through the crystalline surface, the world around you melts away. You see your own beating heart, and the pulsing of a thousand others." + desc = "Странный медальон. Когда вы смотрите на кристаллическую поверхность, мир вокруг вас тает. Вы видите свое собственное бьющееся сердце и пульсацию тысячи других." icon = 'icons/obj/antags/eldritch.dmi' icon_state = "eye_medalion" w_class = WEIGHT_CLASS_SMALL @@ -40,13 +40,13 @@ /obj/item/clothing/neck/eldritch_amulet/piercing name = "Piercing Eldritch Medallion" - desc = "A strange medallion. Peering through the crystalline surface, the light refracts into new and terrifying spectrums of color. You see yourself, reflected off cascading mirrors, warped into impossible shapes." + desc = "Странный медальон. Вглядываясь в кристаллическую поверхность, свет преломляется в новые и пугающие цветовые спектры. Вы видите себя, отраженного от каскадных зеркал, искаженного в невозможные формы." heretic_only_trait = TRAIT_XRAY_VISION // Cosmetic-only version /obj/item/clothing/neck/fake_heretic_amulet name = "religious icon" - desc = "A strange medallion, which makes its wearer look like they're part of some cult." + desc = "Странный медальон, который делает его владельца похожим на члена какого-то культа." icon = 'icons/obj/antags/eldritch.dmi' icon_state = "eye_medalion" w_class = WEIGHT_CLASS_SMALL @@ -55,7 +55,7 @@ // The amulette conversion tool used by moon heretics /obj/item/clothing/neck/heretic_focus/moon_amulette name = "Moonlight Amulette" - desc = "A piece of the mind, the soul and the moon. Gazing into it makes your head spin and hear whispers of laughter and joy." + desc = "Кусочек разума, души и луны. От взгляда внутрь голова идет кругом, и можно услышать шепотки смеха и радости." icon = 'icons/obj/antags/eldritch.dmi' icon_state = "moon_amulette" w_class = WEIGHT_CLASS_SMALL @@ -65,7 +65,7 @@ /obj/item/clothing/neck/heretic_focus/moon_amulette/attack(mob/living/target, mob/living/user, params) var/mob/living/carbon/human/hit = target if(!IS_HERETIC_OR_MONSTER(user)) - user.balloon_alert(user, "you feel a presence watching you") + user.balloon_alert(user, "вы чувствуете, как за вами наблюдают") user.add_mood_event("Moon Amulette Insanity", /datum/mood_event/amulette_insanity) user.mob_mood.set_sanity(user.mob_mood.sanity - 50) return @@ -74,11 +74,11 @@ if(!hit.mob_mood) return if(hit.mob_mood.sanity_level < SANITY_LEVEL_UNSTABLE) - user.balloon_alert(user, "their mind is too strong!") + user.balloon_alert(user, "их разум слишком крепок!") hit.add_mood_event("Moon Amulette Insanity", /datum/mood_event/amulette_insanity) hit.mob_mood.set_sanity(hit.mob_mood.sanity - sanity_damage) else - user.balloon_alert(user, "their mind bends to see the truth!") + user.balloon_alert(user, "их разум поддается и открывается правде!") hit.apply_status_effect(/datum/status_effect/moon_converted) user.log_message("made [target] insane.", LOG_GAME) hit.log_message("was driven insane by [user]") diff --git a/code/modules/antagonists/heretic/items/hunter_rifle.dm b/code/modules/antagonists/heretic/items/hunter_rifle.dm index 53f1c1555861b..ef360235431f4 100644 --- a/code/modules/antagonists/heretic/items/hunter_rifle.dm +++ b/code/modules/antagonists/heretic/items/hunter_rifle.dm @@ -6,7 +6,7 @@ // releasing a homing, very damaging projectile /obj/item/gun/ballistic/rifle/lionhunter name = "\improper Lionhunter's Rifle" - desc = "An antique looking rifle that looks immaculate despite being clearly very old." + desc = "Антикварная винтовка, которая выглядит безупречно, несмотря на то свою явную старость." slot_flags = ITEM_SLOT_BACK icon_state = "lionhunter" inhand_icon_state = "lionhunter" @@ -51,7 +51,7 @@ return TRUE if(currently_aiming) - user.balloon_alert(user, "already aiming!") + user.balloon_alert(user, "уже целитесь!") return FALSE var/distance = get_dist(user, target) @@ -63,7 +63,7 @@ if(distance <= min_distance || !isliving(target)) return TRUE - user.balloon_alert(user, "taking aim...") + user.balloon_alert(user, "прицеливание...") user.playsound_local(get_turf(user), 'sound/weapons/gun/general/chunkyrack.ogg', 100, TRUE) var/image/reticle = image( @@ -94,7 +94,7 @@ viewer.client?.images -= reticle if(!.) - user.balloon_alert(user, "interrupted!") + user.balloon_alert(user, "прервано!") return . @@ -138,7 +138,7 @@ // Extra ammunition can be made with a heretic ritual. /obj/item/ammo_box/strilka310/lionhunter name = "stripper clip (.310 hunter)" - desc = "A stripper clip of mysterious, atypical ammo. It doesn't fit into normal ballistic rifles." + desc = "Стрипперная обойма с загадочными, нетипичными патронами. Они не подходят к обычным баллистическим винтовкам." icon_state = "310_strip" ammo_type = /obj/item/ammo_casing/strilka310/lionhunter max_ammo = 3 diff --git a/code/modules/antagonists/heretic/items/keyring.dm b/code/modules/antagonists/heretic/items/keyring.dm index b71015dbfe1f2..df8f3e73b4f63 100644 --- a/code/modules/antagonists/heretic/items/keyring.dm +++ b/code/modules/antagonists/heretic/items/keyring.dm @@ -101,19 +101,19 @@ . = ..() if(!IS_HERETIC_OR_MONSTER(user)) return - . += span_hypnophrase("Enchanted by the Mansus!") - . += span_hypnophrase("Using an ID on this will consume it and allow you to copy its accesses.") - . += span_hypnophrase("Using this in-hand allows you to change its appearance.") - . += span_hypnophrase("Using this on a pair of doors, allows you to link them together. Entering one door will transport you to the other, while heathens are instead teleported to a random airlock.") - . += span_hypnophrase("Ctrl-clicking the ID, makes the ID make inverted portals instead, which teleport you onto a random airlock onstation, while heathens are teleported to the destination.") + . += span_hypnophrase("Зачаровано Мансусом!") + . += span_hypnophrase("Используйте на ней ИД-карту, чтобы поглотить ее и скопировать доступа.") + . += span_hypnophrase("Используйте в руке, чтобы изменить внешний вид.") + . += span_hypnophrase("Используйте на паре дверей, чтобы связать их. Двери будут телепортировать вас друг к другу, а язычники будут телепортироваться случайно.") + . += span_hypnophrase("Ctrl-Click по карту заставит карту создавать инвертированную версию порталов, которые телепортируют вас случайно, а язычников - от одной двери к другой.") /obj/item/card/id/advanced/heretic/attack_self(mob/user) . = ..() if(!IS_HERETIC(user)) return - var/cardname = tgui_input_list(user, "Shapeshift into?", "Shapeshift", fused_ids) + var/cardname = tgui_input_list(user, "В какую карту превратить?", "Shapeshift", fused_ids) if(!cardname) - balloon_alert(user, "no options!") + balloon_alert(user, "нет других вариантов!") return ..() var/obj/item/card/id/card = fused_ids[cardname] shapeshift(card) @@ -123,7 +123,7 @@ if(!IS_HERETIC(user)) return inverted = !inverted - balloon_alert(user, "[inverted ? "now" : "no longer"] creating inverted rifts") + balloon_alert(user, "[inverted ? "теперь" : "более не"] создает инвертированные порталы") ///Changes our appearance to the passed ID card /obj/item/card/id/advanced/heretic/proc/shapeshift(obj/item/card/id/advanced/card) @@ -150,10 +150,10 @@ ///Creates a portal pair at door1 and door2, displays a balloon alert to user /obj/item/card/id/advanced/heretic/proc/make_portal(mob/user, obj/machinery/door/door1, obj/machinery/door/door2) - var/message = "linked" + var/message = "соединено" if(portal_one || portal_two) clear_portals() - message += ", previous cleared" + message += ", прошлый портал удален" portal_one = new(get_turf(door2), door2, inverted) portal_two = new(get_turf(door1), door1, inverted) @@ -188,12 +188,12 @@ if(reference_resolved) make_portal(user, reference_resolved, target) - to_chat(user, span_notice("You use [src], to link [link] and [target] together.")) + to_chat(user, span_notice("Используя [src], вы соединяете [link] с [target].")) link = null - balloon_alert(user, "link 2/2") + balloon_alert(user, "соединено 2/2") else link = WEAKREF(target) - balloon_alert(user, "link 1/2") + balloon_alert(user, "соединено 1/2") /obj/item/card/id/advanced/heretic/Destroy() QDEL_LIST_ASSOC(fused_ids) diff --git a/code/modules/antagonists/heretic/items/labyrinth_handbook.dm b/code/modules/antagonists/heretic/items/labyrinth_handbook.dm index b3e3649763fd5..c97add2f1cc61 100644 --- a/code/modules/antagonists/heretic/items/labyrinth_handbook.dm +++ b/code/modules/antagonists/heretic/items/labyrinth_handbook.dm @@ -15,7 +15,7 @@ ///A heretic item that spawns a barrier at the clicked turf, 3 uses /obj/item/heretic_labyrinth_handbook name = "labyrinth handbook" - desc = "A book containing the laws and regulations of the Locked Labyrinth, penned on an unknown substance. Its pages squirm and strain, looking to lash out and escape." + desc = "Книга содержит в себе законы и правила Запертого Лабиринта, написанные неизвестным веществом. Ее страницы корчатся и напрягаются, пытаясь вырваться и убежать." icon = 'icons/obj/service/library.dmi' icon_state = "heretichandbook" force = 10 @@ -38,27 +38,27 @@ . = ..() if(!IS_HERETIC_OR_MONSTER(user)) return - . += span_hypnophrase("Materializes a barrier upon any tile in sight, which only you can pass through. Lasts 8 seconds.") - . += span_hypnophrase("It has [uses] uses left.") + . += span_hypnophrase("Материализует барьер, который пропускает только вас. Действует 8 секунд.") + . += span_hypnophrase("Осталось использований - [uses].") /obj/item/heretic_labyrinth_handbook/afterattack(atom/target, mob/user, proximity_flag) . = ..() if(IS_HERETIC(user)) var/turf/turf_target = get_turf(target) if(locate(barrier_type) in turf_target) - user.balloon_alert(user, "already occupied!") + user.balloon_alert(user, "нет места!") return - turf_target.visible_message(span_warning("A storm of paper materializes!")) + turf_target.visible_message(span_warning("Бумажный шторм материализуется!")) new /obj/effect/temp_visual/paper_scatter(turf_target) playsound(turf_target, 'sound/magic/smoke.ogg', 30) new barrier_type(turf_target, user) uses-- if(uses <= 0) - to_chat(user, span_warning("[src] falls apart, turning into ash and dust!")) + to_chat(user, span_warning("[src] распадается на части, оставляя за собой пепел и пыль!")) qdel(src) return var/mob/living/carbon/human/human_user = user - to_chat(human_user, span_userdanger("Your mind burns as you stare deep into the book, a headache setting in like your brain is on fire!")) + to_chat(human_user, span_userdanger("Ваш разум начинает гореть, когда вы смотрите внутрь этой книги, словно сам ваш мозг в огне!")) human_user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 30, 190) human_user.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus) human_user.dropItemToGround(src) diff --git a/code/modules/antagonists/heretic/items/madness_mask.dm b/code/modules/antagonists/heretic/items/madness_mask.dm index fe80465bfd0d4..0470cdef8867f 100644 --- a/code/modules/antagonists/heretic/items/madness_mask.dm +++ b/code/modules/antagonists/heretic/items/madness_mask.dm @@ -1,7 +1,7 @@ // The spooky "void" / "abyssal" / "madness" mask for heretics. /obj/item/clothing/mask/madness_mask name = "Abyssal Mask" - desc = "A mask created from the suffering of existence. Looking down it's eyes, you notice something gazing back at you." + desc = "Маска, созданная из страданий существования. Заглянув в ее глаза, вы замечаете, как что-то смотрит на вас в ответ." icon_state = "mad_mask" inhand_icon_state = null w_class = WEIGHT_CLASS_SMALL @@ -18,10 +18,10 @@ /obj/item/clothing/mask/madness_mask/examine(mob/user) . = ..() if(IS_HERETIC_OR_MONSTER(user)) - . += span_notice("Actively drains the sanity and stamina of nearby non-heretics when worn.") - . += span_notice("If forced onto the face of a non-heretic, they will be unable to remove it willingly.") + . += span_notice("При ношении активно истощает рассудок и стамину находящихся рядом нееретиков.") + . += span_notice("Если надеть на лицо нееретика, он не сможет снять его добровольно.") else - . += span_danger("The eyes fill you with dread... You best avoid it.") + . += span_danger("Глаза наполняют вас ужасом... Вам лучше избегать его.") /obj/item/clothing/mask/madness_mask/equipped(mob/user, slot) . = ..() @@ -37,7 +37,7 @@ return ADD_TRAIT(src, TRAIT_NODROP, CLOTHING_TRAIT) - to_chat(user, span_userdanger("[src] clamps tightly to your face as you feel your soul draining away!")) + to_chat(user, span_userdanger("[src] плотно прижимается к вашему лицу и начинаете чувствовать, как из вас вытекает душа!")) /obj/item/clothing/mask/madness_mask/dropped(mob/M) local_user = null diff --git a/code/modules/antagonists/heretic/items/unfathomable_curio.dm b/code/modules/antagonists/heretic/items/unfathomable_curio.dm index 716b0927f54c6..ac4fd9fc1a0f1 100644 --- a/code/modules/antagonists/heretic/items/unfathomable_curio.dm +++ b/code/modules/antagonists/heretic/items/unfathomable_curio.dm @@ -2,7 +2,7 @@ /obj/item/storage/belt/unfathomable_curio name = "Unfathomable Curio" - desc = "It. It looks backs. It looks past. It looks in. It sees. It hides. It opens." + desc = "Оно. Оно смотрит в ответ. Оно смотрит сквозь. Оно смотрит внутрь. Оно видит. Оно прячется. Оно раскрывается." icon_state = "unfathomable_curio" worn_icon_state = "unfathomable_curio" content_overlays = FALSE @@ -47,7 +47,7 @@ RegisterSignal(user, COMSIG_LIVING_CHECK_BLOCK, PROC_REF(shield_reaction)) if(!IS_HERETIC(user)) - to_chat(user, span_warning("The curio wraps around you, and you feel the beating of something dark inside it...")) + to_chat(user, span_warning("Диковинка обвивает вас, и вы чувствуете, как внутри нее бьется что-то темное...")) /obj/item/storage/belt/unfathomable_curio/dropped(mob/user) . = ..() @@ -77,11 +77,11 @@ /datum/brain_trauma/severe/paralysis, /datum/brain_trauma/severe/monophobia ) - wearer.visible_message(span_danger("[wearer]'s veil makes [attack_text] miss, but the force behind the blow causes it to disperse!")) + wearer.visible_message(span_danger("Вуаль вокруг [wearer] заставляет [attack_text] промазать, но сила удара заставляет ее рассеяться!")) if(IS_HERETIC(wearer)) return - to_chat(wearer, span_warning("Laughter echoes in your mind....")) + to_chat(wearer, span_warning("Смех отдается эхом в вашем разуме...")) wearer.adjustOrganLoss(ORGAN_SLOT_BRAIN, 40) wearer.dropItemToGround(src, TRUE) wearer.gain_trauma(pick(brain_traumas) ,TRAUMA_RESILIENCE_ABSOLUTE) @@ -93,6 +93,6 @@ user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 160) user.adjust_temp_blindness(5 SECONDS) - . += span_notice("It. It looked. IT WRAPS ITSELF AROUND ME.") + . += span_notice("Оно. Оно смотрело. ОНО ОБВИВАЕТСЯ ВОКРУГ МЕНЯ.") diff --git a/code/modules/antagonists/heretic/knowledge/ash_lore.dm b/code/modules/antagonists/heretic/knowledge/ash_lore.dm index fe10f7949eae5..f68c31e566474 100644 --- a/code/modules/antagonists/heretic/knowledge/ash_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/ash_lore.dm @@ -28,10 +28,10 @@ */ /datum/heretic_knowledge/limited_amount/starting/base_ash name = "Nightwatcher's Secret" - desc = "Opens up the Path of Ash to you. \ - Allows you to transmute a match and a knife into an Ashen Blade. \ - You can only create two at a time." - gain_text = "The City Guard know their watch. If you ask them at night, they may tell you about the ashy lantern." + desc = "Открывает перед вами путь пепла. \ + Позволяет трансмутировать спичку и нож в пепельный клинок. \ + Одновременно можно иметь только два." + gain_text = "Городская стража знает своих дозорных. Если вы спросите их ночью, они могут рассказать вам о пепельном фонаре." next_knowledge = list(/datum/heretic_knowledge/ashen_grasp) required_atoms = list( /obj/item/knife = 1, @@ -42,9 +42,9 @@ /datum/heretic_knowledge/ashen_grasp name = "Grasp of Ash" - desc = "Your Mansus Grasp will burn the eyes of the victim, damaging them and blurring their vision." - gain_text = "The Nightwatcher was the first of them, his treason started it all. \ - Their lantern, expired to ash - their watch, absent." + desc = "Ваша Хватка Мансуса обожжет глаза жертвы, нанося глазам урон и затуманивания их зрение." + gain_text = "Первым из них был Ночной дозорный, с его измены все и началось. \ + Их фонарь, истлевший до пепла, их дозор, отсутствовавший." next_knowledge = list(/datum/heretic_knowledge/spell/ash_passage) cost = 1 route = PATH_ASH @@ -64,14 +64,14 @@ if(!target.get_organ_slot(ORGAN_SLOT_EYES)) return - to_chat(target, span_danger("A bright green light burns your eyes horrifically!")) + to_chat(target, span_danger("Яркий зеленый свет ужасно жжет глаза!")) target.adjustOrganLoss(ORGAN_SLOT_EYES, 15) target.set_eye_blur_if_lower(20 SECONDS) /datum/heretic_knowledge/spell/ash_passage name = "Ashen Passage" - desc = "Grants you Ashen Passage, a spell that lets you phase out of reality and traverse a short distance, passing though any walls." - gain_text = "He knew how to walk between the planes." + desc = "Дает вам Ashen Passage, заклинание, позволяющее исчезать и перемещаться на короткое расстояние, игнорируя стены" + gain_text = "Он знал, как ходить между мирами." next_knowledge = list( /datum/heretic_knowledge/mark/ash_mark, /datum/heretic_knowledge/summon/fire_shark, @@ -83,13 +83,13 @@ /datum/heretic_knowledge/mark/ash_mark name = "Mark of Ash" - desc = "Your Mansus Grasp now applies the Mark of Ash. The mark is triggered from an attack with your Ashen Blade. \ - When triggered, the victim takes additional stamina and burn damage, and the mark is transferred to a nearby heathen. \ - Damage dealt is decreased with each transfer. \ - Triggering the mark will also greatly reduce the cooldown of your Mansus Grasp." - gain_text = "He was a very particular man, always watching in the dead of night. \ - But in spite of his duty, he regularly tranced through the Manse with his blazing lantern held high. \ - He shone brightly in the darkness, until the blaze begin to die." + desc = "Ваша Хватка Мансуса теперь накладывает Метку пепла. Метка срабатывает при атаке вашим Пепельным клинком. \ + При срабатывании жертва получает дополнительный урон стаминой и ожогами, а метка передается всем находящимся поблизости язычникам. \ + Наносимый урон уменьшается с каждой передачей. \ + Активация метки также значительно уменьшает перезарядку Хватки Мансуса." + gain_text = "Он был очень конкретным человеком, всегда бдительным в ночное время. \ + Но, несмотря на свои обязанности, он регулярно проходил через Мансе с высоко поднятым горящим фонарем. \ + Он ярко сиял во тьме, пока пламя не начинало угасать." next_knowledge = list(/datum/heretic_knowledge/knowledge_ritual/ash) route = PATH_ASH mark_type = /datum/status_effect/eldritch/ash @@ -111,10 +111,10 @@ /datum/heretic_knowledge/spell/fire_blast name = "Volcano Blast" - desc = "Grants you Volcano Blast, a spell that - after a short charge - fires off a beam of energy \ - at a nearby enemy, setting them on fire and burning them. If they do not extinguish themselves, \ - the beam will continue to another target." - gain_text = "No fire was hot enough to rekindle them. No fire was bright enough to save them. No fire is eternal." + desc = "Дает вам Volcano Blast - заклинание, которое после короткой зарядки выстреливает лучом энергии \ + в ближайшего врага, поджигая и обжигая его. Если они не потушат себя, \ + луч продолжит движение к другой цели." + gain_text = "Ни один огонь не был достаточно горячим, чтобы разжечь их. Ни один огонь не был достаточно ярким, чтобы спасти их. Ни один огонь не вечен." next_knowledge = list(/datum/heretic_knowledge/mad_mask) spell_to_add = /datum/action/cooldown/spell/charged/beam/fire_blast cost = 1 @@ -123,10 +123,10 @@ /datum/heretic_knowledge/mad_mask name = "Mask of Madness" - desc = "Allows you to transmute any mask, four candles, a stun baton, and a liver to create a Mask of Madness. \ - The mask instills fear into heathens who witness it, causing stamina damage, hallucinations, and insanity. \ - It can also be forced onto a heathen, to make them unable to take it off..." - gain_text = "The Nightwatcher was lost. That's what the Watch believed. Yet he walked the world, unnoticed by the masses." + desc = "Позволяет трансмутировать любую маску, четыре свечи, станбатон и печень, чтобы создать Маску безумия. \ + Маска вселяет страх в язычников, которые становятся ее свидетелями, вызывая у них потерю стамины, галлюцинации и безумие. \ + Его также можно насильно надеть на язычника, чтобы он не смог его снять..." + gain_text = "Ночной дозорный был потерян. Так считал Дозор. И все же он ходил по миру, незамеченный массами." next_knowledge = list( /datum/heretic_knowledge/blade_upgrade/ash, /datum/heretic_knowledge/reroll_targets, @@ -145,9 +145,9 @@ /datum/heretic_knowledge/blade_upgrade/ash name = "Fiery Blade" - desc = "Your blade now lights enemies ablaze on attack." - gain_text = "He returned, blade in hand, he swung and swung as the ash fell from the skies. \ - His city, the people he swore to watch... and watch he did, as they all burnt to cinders." + desc = "Ваш клинок теперь поджигает врагов при атаке." + gain_text = "Он вернулся, с клинком в руке, он размахивал и размахивал, когда пепел падал с неба. \ + Его город, люди, за которыми он поклялся наблюдать... и он наблюдал, пока все они сгорали дотла." next_knowledge = list(/datum/heretic_knowledge/spell/flame_birth) route = PATH_ASH @@ -160,11 +160,11 @@ /datum/heretic_knowledge/spell/flame_birth name = "Nightwatcher's Rebirth" - desc = "Grants you Nightwatcher's Rebirth, a spell that extinguishes you and \ - burns all nearby heathens who are currently on fire, healing you for every victim afflicted. \ - If any victims afflicted are in critical condition, they will also instantly die." - gain_text = "The fire was inescapable, and yet, life remained in his charred body. \ - The Nightwatcher was a particular man, always watching." + desc = "Дарует вам Nightwatcher's Rebirth, заклинание, которое потушит вас \ + и обжигает всех ближайших язычников, которые в данный момент горят, исцеляя вас за каждую пораженную цель. \ + Если цель находится в критическом состоянии, она мгновенно умрёт." + gain_text = "Огонь был неизбежным, и все же жизнь оставалась в его обугленном теле. \ + Ночной дозорный был конкретным человеком, всегда бдительным." next_knowledge = list( /datum/heretic_knowledge/ultimate/ash_final, /datum/heretic_knowledge/summon/ashy, @@ -176,16 +176,16 @@ /datum/heretic_knowledge/ultimate/ash_final name = "Ashlord's Rite" - desc = "The ascension ritual of the Path of Ash. \ - Bring 3 burning or husked corpses to a transmutation rune to complete the ritual. \ - When completed, you become a harbinger of flames, gaining two abilites. \ - Cascade, which causes a massive, growing ring of fire around you, \ - and Oath of Flame, causing you to passively create a ring of flames as you walk. \ - Some ashen spells you already knew will be empowered as well. \ - You will also become immune to flames, space, and similar environmental hazards." - gain_text = "The Watch is dead, the Nightwatcher burned with it. Yet his fire burns evermore, \ - for the Nightwatcher brought forth the rite to mankind! His gaze continues, as now I am one with the flames, \ - WITNESS MY ASCENSION, THE ASHY LANTERN BLAZES ONCE MORE!" + desc = "Ритуал вознесения Пути пепла. \ + Принесите 3 горящих трупа или хаска к руне трансмутации, чтобы завершить ритуал. \ + После завершения вы становитесь предвестником пламени и получаете две способности. \ + Cascade, который вызывает массивное, растущее огненное кольцо вокруг вас, \ + и Oath of Flame, заставляя вас пассивно создавать кольцо пламени, когда вы идете. \ + Некоторые известные заклинания пепла также будут усилены. \ + tУ вас также появится иммунитет к огню, космосу и подобным опасностям окружающей среды." + gain_text = "Дозор мертв, и Ночной дозорный сгорел вместе с ним. И все же его огонь горит вечно, \ + ибо он принес человечеству обряд! Его взгляд продолжается, и теперь я един с пламенем, \ + УЗРИТЕ МОЕ ВОЗНЕСЕНИЕ, ПЕПЕЛЬНЫЙ ФОНАРЬ ВОСПЛАМЕНИТСЯ ВНОВЬ!" route = PATH_ASH /// A static list of all traits we apply on ascension. var/static/list/traits_to_apply = list( @@ -212,7 +212,7 @@ /datum/heretic_knowledge/ultimate/ash_final/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) . = ..() priority_announce( - text = "[generate_heretic_text()] Fear the blaze, for the Ashlord, [user.real_name] has ascended! The flames shall consume all! [generate_heretic_text()]", + text = "[generate_heretic_text()] Бойтесь пламени, ибо Пепельный лорд, [user.real_name], вознесся! Пламя поглотит всех! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = ANNOUNCER_SPANOMALIES, color_override = "pink", diff --git a/code/modules/antagonists/heretic/knowledge/blade_lore.dm b/code/modules/antagonists/heretic/knowledge/blade_lore.dm index 93983c41e0d7d..5f634066a002b 100644 --- a/code/modules/antagonists/heretic/knowledge/blade_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/blade_lore.dm @@ -31,10 +31,10 @@ */ /datum/heretic_knowledge/limited_amount/starting/base_blade name = "The Cutting Edge" - desc = "Opens up the Path of Blades to you. \ - Allows you to transmute a knife with two bars of silver or titanium to create a Sundered Blade. \ - You can create up to five at a time." - gain_text = "Our great ancestors forged swords and practiced sparring on the eve of great battles." + desc = "Открывает перед вами Путь клинков. \ + Позволяет трансмутировать нож с двумя слитками серебра или титаниума для создания Закаленного клинка. \ + Одновременно можно иметь не более пяти." + gain_text = "Наши великие предки ковали мечи и практиковали спарринги накануне великих сражений." next_knowledge = list(/datum/heretic_knowledge/blade_grasp) required_atoms = list( /obj/item/knife = 1, @@ -46,9 +46,9 @@ /datum/heretic_knowledge/blade_grasp name = "Grasp of the Blade" - desc = "Your Mansus Grasp will cause a short stun when used on someone lying down or facing away from you." - gain_text = "The story of the footsoldier has been told since antiquity. It is one of blood and valor, \ - and is championed by sword, steel and silver." + desc = "Ваша Хватка Мансуса вызывает короткое оглушение при использовании на лежачей или стоящей спиной к вам цели." + gain_text = "История пехотинца рассказывается с древности. Это история крови и доблести, \ + за которую выступают меч, сталь и серебро." next_knowledge = list(/datum/heretic_knowledge/blade_dance) cost = 1 route = PATH_BLADE @@ -92,7 +92,7 @@ // We're officially behind them, apply effects target.AdjustParalyzed(1.5 SECONDS) target.apply_damage(10, BRUTE, wound_bonus = CANT_WOUND) - target.balloon_alert(source, "backstab!") + target.balloon_alert(source, "удар в спину!") playsound(get_turf(target), 'sound/weapons/guillotine.ogg', 100, TRUE) /// The cooldown duration between trigers of blade dance @@ -100,10 +100,10 @@ /datum/heretic_knowledge/blade_dance name = "Dance of the Brand" - desc = "Being attacked while wielding a Heretic Blade in either hand will deliver a riposte \ - towards your attacker. This effect can only trigger once every 20 seconds." - gain_text = "The footsoldier was known to be a fearsome duelist. \ - Their general quickly appointed them as their personal Champion." + desc = "Если вас атакуют, когда вы держите клинок еретика в любой руке, вы рипостом \ + наносите удар в сторону нападающего. Этот эффект может сработать только один раз в 20 секунд." + gain_text = "Пехотинец был известен как грозный дуэлянт. \ + Их генерал быстро назначил своим личным чемпионом." next_knowledge = list( /datum/heretic_knowledge/limited_amount/risen_corpse, /datum/heretic_knowledge/mark/blade_mark, @@ -177,28 +177,28 @@ /datum/heretic_knowledge/blade_dance/proc/counter_attack(mob/living/carbon/human/source, mob/living/target, obj/item/melee/sickly_blade/weapon, attack_text) playsound(get_turf(source), 'sound/weapons/parry.ogg', 100, TRUE) - source.balloon_alert(source, "riposte used") + source.balloon_alert(source, "рипост использован") source.visible_message( - span_warning("[source] leans into [attack_text] and delivers a sudden riposte back at [target]!"), - span_warning("You lean into [attack_text] and deliver a sudden riposte back at [target]!"), - span_hear("You hear a clink, followed by a stab."), + span_warning("[source] наклоняется к [attack_text] и наносит внезапный рипост [target]!"), + span_warning("Вы наклоняетесь к [attack_text] и наносите внезапный рипост [target]!"), + span_hear("Вы слышите лязг, за которым следует удар."), ) weapon.melee_attack_chain(source, target) /datum/heretic_knowledge/blade_dance/proc/reset_riposte(mob/living/carbon/human/source) riposte_ready = TRUE - source.balloon_alert(source, "riposte ready") + source.balloon_alert(source, "рипост готов") #undef BLADE_DANCE_COOLDOWN /datum/heretic_knowledge/mark/blade_mark name = "Mark of the Blade" - desc = "Your Mansus Grasp now applies the Mark of the Blade. While marked, \ - the victim will be unable to leave their current room until it expires or is triggered. \ - Triggering the mark will summon a knife that will orbit you for a short time. \ - The knife will block any attack directed towards you, but is consumed on use." - gain_text = "His general wished to end the war, but the Champion knew there could be no life without death. \ - He would slay the coward himself, and anyone who tried to run." + desc = "Ваша Хватка Мансуса теперь накладывает Метку клинка. Во время действия метки \ + жертва не сможет покинуть текущую комнату, пока не истечет срок ее действия или пока она не сработает. \ + Срабатывание метки вызовет нож, который в течение короткого времени будет вращаться вокруг вас. \ + Нож блокирует любую направленную на вас атаку, но расходуется при использовании." + gain_text = "Его генерал хотел закончить войну, но чемпион знал, что без смерти не может быть жизни. \ + Он сам убьет труса и всех, кто попытается бежать." next_knowledge = list(/datum/heretic_knowledge/knowledge_ritual/blade) route = PATH_BLADE mark_type = /datum/status_effect/eldritch/blade @@ -208,7 +208,7 @@ if(istype(blade_mark)) var/area/to_lock_to = get_area(target) blade_mark.locked_to = to_lock_to - to_chat(target, span_hypnophrase("An otherworldly force is compelling you to stay in [get_area_name(to_lock_to)]!")) + to_chat(target, span_hypnophrase("Потусторонняя сила заставляет вас оставаться в [get_area_name(to_lock_to)]!")) return blade_mark /datum/heretic_knowledge/mark/blade_mark/trigger_mark(mob/living/source, mob/living/target) @@ -223,10 +223,10 @@ /datum/heretic_knowledge/spell/realignment name = "Realignment" - desc = "Grants you Realignment a spell that wil realign your body rapidly for a short period. \ - During this process, you will rapidly regenerate stamina and quickly recover from stuns, however, you will be unable to attack. \ - This spell can be cast in rapid succession, but doing so will increase the cooldown." - gain_text = "In the flurry of death, he found peace within himself. Despite insurmountable odds, he forged on." + desc = "Дает вам заклинание Realignment, которое быстро и на короткое время выправит ваше тело. \ + Во время этого процесса вы будете быстро восстанавливать стамину и быстро восстанавливаться после оглушения, однако вы не сможете атаковать. \ + Это заклинание можно применять подряд, но при этом увеличивается время его перезарядки." + gain_text = "В шквале смертей он обрел мир внутри себя. Несмотря на неодолимые шансы, он ступал вперед." next_knowledge = list(/datum/heretic_knowledge/duel_stance) spell_to_add = /datum/action/cooldown/spell/realignment cost = 1 @@ -237,11 +237,11 @@ /datum/heretic_knowledge/duel_stance name = "Stance of the Torn Champion" - desc = "Grants resilience to blood loss from wounds and immunity to having your limbs dismembered. \ - Additionally, when damaged below 50% of your maximum health, \ - you gain increased resistance to gaining wounds and resistance to batons." - gain_text = "In time, it was he who stood alone among the bodies of his former comrades, awash in blood, none of it his own. \ - He was without rival, equal, or purpose." + desc = "Дает устойчивость к потере крови при ранениях и иммунитет к расчленению конечностей. \ + Кроме того, при повреждении ниже 50% от максимального здоровья, \ + вы получаете повышенную устойчивость к получению ран и устойчивость к батонам." + gain_text = "Со временем именно он оказался среди тел своих бывших товарищей, залитых кровью, но не его собственной. \ + Он был без конкурентов, равных и без цели." next_knowledge = list( /datum/heretic_knowledge/blade_upgrade/blade, /datum/heretic_knowledge/reroll_targets, @@ -274,7 +274,7 @@ var/obj/item/held_item = source.get_active_held_item() if(in_duelist_stance) - examine_list += span_warning("[source] looks unnaturally poised[held_item?.force >= 15 ? " and ready to strike out":""].") + examine_list += span_warning("[source] выглядят неестественно стойко[held_item?.force >= 15 ? " и готовы к выпаду":""].") /datum/heretic_knowledge/duel_stance/proc/on_wound_gain(mob/living/source, datum/wound/gained_wound, obj/item/bodypart/limb) SIGNAL_HANDLER @@ -288,13 +288,13 @@ SIGNAL_HANDLER if(in_duelist_stance && source.health > source.maxHealth * 0.5) - source.balloon_alert(source, "exited duelist stance") + source.balloon_alert(source, "выход из стойки дуэлиста") in_duelist_stance = FALSE source.remove_traits(list(TRAIT_HARDLY_WOUNDED, TRAIT_BATON_RESISTANCE), type) return if(!in_duelist_stance && source.health <= source.maxHealth * 0.5) - source.balloon_alert(source, "entered duelist stance") + source.balloon_alert(source, "вход в стойку дуэлиста") in_duelist_stance = TRUE source.add_traits(list(TRAIT_HARDLY_WOUNDED, TRAIT_BATON_RESISTANCE), type) return @@ -303,11 +303,11 @@ /datum/heretic_knowledge/blade_upgrade/blade name = "Swift Blades" - desc = "Attacking someone with a Sundered Blade in both hands \ - will now deliver a blow with both at once, dealing two attacks in rapid succession. \ - The second blow will be slightly weaker." - gain_text = "I found him cleaved in twain, halves locked in a duel without end; \ - a flurry of blades, neither hitting their mark, for the Champion was indomitable." + desc = "Атакуя кого-либо с Закаленным клинком в обеих руках, \ + теперь вы будете наносить удар обоими клинками сразу, нанося две атаки в быстрой последовательности. \ + Второй удар будет немного слабее." + gain_text = "Я нашел его рассеченным на две части, половинки сцепились в дуэли без конца; \ + шквал клинков, но ни один из них не попал в цель, ибо чемпион был неукротим." next_knowledge = list(/datum/heretic_knowledge/spell/furious_steel) route = PATH_BLADE /// How much force do we apply to the offhand? @@ -366,12 +366,12 @@ /datum/heretic_knowledge/spell/furious_steel name = "Furious Steel" - desc = "Grants you Furious Steel, a targeted spell. Using it will summon three \ - orbiting blades around you. These blades will protect you from all attacks, \ - but are consumed on use. Additionally, you can click to fire the blades \ - at a target, dealing damage and causing bleeding." - gain_text = "Without thinking, I took the knife of a fallen soldier and threw with all my might. My aim was true! \ - The Torn Champion smiled at their first taste of agony, and with a nod, their blades became my own." + desc = "Дарует вам Furious Steel, заклинание с выбором цели. При его использовании вокруг вас появятся три \ + вращающихся клинка. Эти клинки защищают вас от всех атак, \ + но при использовании расходуются. Кроме того, вы можете использовать кнопку, чтобы выстрелить лезвиями \ + в цель, нанося урон и вызывая кровотечение." + gain_text = "Не раздумывая, я взял нож павшего солдата и со всей силы метнул. Моя меткость оказалась верна! \ + Разорванный чемпион улыбнулся их первому вкусу агонии, и, кивнув, их клинки стали моими собственными." next_knowledge = list( /datum/heretic_knowledge/summon/maid_in_mirror, /datum/heretic_knowledge/ultimate/blade_final, @@ -383,15 +383,15 @@ /datum/heretic_knowledge/ultimate/blade_final name = "Maelstrom of Silver" - desc = "The ascension ritual of the Path of Blades. \ - Bring 3 corpses with either no head or a split skull to a transmutation rune to complete the ritual. \ - When completed, you will be surrounded in a constant, regenerating orbit of blades. \ - These blades will protect you from all attacks, but are consumed on use. \ - Your Furious Steel spell will also have a shorter cooldown. \ - Additionally, you become a master of combat, gaining full wound immunity and the ability to shrug off short stuns. \ - Your Sundered Blades deal bonus damage and heal you on attack for a portion of the damage dealt." - gain_text = "The Torn Champion is freed! I will become the blade reunited, and with my greater ambition, \ - I AM UNMATCHED! A STORM OF STEEL AND SILVER IS UPON US! WITNESS MY ASCENSION!" + desc = "Ритуал вознесения Пути клинков. \ + Принесите 3 безголовых или со сломанным черепом трупа к руне трансмутации, чтобы завершить ритуал. \ + После завершения вы будете окружены постоянно восстанавливающимися вращающимися лезвиями. \ + Эти клинки защищают вас от всех атак, но расходуются при использовании. \ + Ваше заклинание Furious Steel также будет перезаряжаться быстрее. \ + Кроме того, вы становитесь мастером боя, получая полный иммунитет к травмам и возможность снимать короткие оглушения. \ + Ваши Закаленные клинки наносят бонусный урон и исцеляют вас при атаке на часть нанесенного урона." + gain_text = "Разорванный чемпион освобожден! Я стану воссоединенным клинком, и с моими более великими амбициями, \ + НЕ НЕТ РАВНЫХ! БУРЯ ИЗ СТАЛИ И СЕРЕБРА НАДВИГАЕТСЯ НА НАС! УЗРИТЕ МОЕ ВОЗНЕСЕНИЕ!" route = PATH_BLADE /datum/heretic_knowledge/ultimate/blade_final/is_valid_sacrifice(mob/living/carbon/human/sacrifice) @@ -404,7 +404,7 @@ /datum/heretic_knowledge/ultimate/blade_final/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) . = ..() priority_announce( - text = "[generate_heretic_text()] Master of blades, the Torn Champion's disciple, [user.real_name] has ascended! Their steel is that which will cut reality in a maelstom of silver! [generate_heretic_text()]", + text = "[generate_heretic_text()] Мастер клинков, ученик разорванного чемпиона, [user.real_name] вознесся! Их сталь - это сталь, которая разрежет реальность в вихре серебра! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = ANNOUNCER_SPANOMALIES, color_override = "pink", diff --git a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm index 09efb5c2eb8f4..c6b2309d156e6 100644 --- a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm @@ -28,10 +28,10 @@ */ /datum/heretic_knowledge/limited_amount/starting/base_cosmic name = "Eternal Gate" - desc = "Opens up the Path of Cosmos to you. \ - Allows you to transmute a sheet of plasma and a knife into an Cosmic Blade. \ - You can only create two at a time." - gain_text = "A nebula appeared in the sky, its infernal birth shone upon me. This was the start of a great transcendence." + desc = "Открывает перед вами Путь космоса. \ + озволяет трансмутировать лист плазмы и нож в Космический клинок. \ + Одновременно можно иметь только два." + gain_text = "Туманность появилась в небе, ее пламенное рождение озарило меня. Это было начало великой трансценденции" next_knowledge = list(/datum/heretic_knowledge/cosmic_grasp) required_atoms = list( /obj/item/knife = 1, @@ -42,10 +42,10 @@ /datum/heretic_knowledge/cosmic_grasp name = "Grasp of Cosmos" - desc = "Your Mansus Grasp will give people a star mark (cosmic ring) and create a cosmic field where you stand. \ - People with a star mark can not pass cosmic fields." - gain_text = "Some stars dimmed, others' magnitude increased. \ - With newfound strength I could channel the nebula's power into myself." + desc = "Ваша Хватка Мансуса теперь накладывает Метку звезды (космическое кольцо) и создаст космическое поле там, где вы стоите. \ + Люди с Меткой звезды не могут проходить через космические поля." + gain_text = "Некоторые звезды меркли, другие увеличивались. \ + С новообретенной силой я смог направить силу туманности в себя." next_knowledge = list(/datum/heretic_knowledge/spell/cosmic_runes) cost = 1 route = PATH_COSMIC @@ -60,17 +60,17 @@ /datum/heretic_knowledge/cosmic_grasp/proc/on_mansus_grasp(mob/living/source, mob/living/target) SIGNAL_HANDLER - to_chat(target, span_danger("A cosmic ring appeared above your head!")) + to_chat(target, span_danger("Над вашей головой появилось космическое кольцо!")) target.apply_status_effect(/datum/status_effect/star_mark, source) new /obj/effect/forcefield/cosmic_field(get_turf(source)) /datum/heretic_knowledge/spell/cosmic_runes name = "Cosmic Runes" - desc = "Grants you Cosmic Runes, a spell that creates two runes linked with eachother for easy teleportation. \ - Only the entity activating the rune will get transported, and it can be used by anyone without a star mark. \ - However, people with a star mark will get transported along with another person using the rune." - gain_text = "The distant stars crept into my dreams, roaring and screaming without reason. \ - I spoke, and heard my own words echoed back." + desc = "Дает вам Cosmic Runes, заклинание, которое создает две руны, связанные друг с другом для легкой телепортации. \ + Перемещаться будет только тот, кто активирует руну, а использовать ее может любой человек без Метки звезды. \ + Однако люди с Меткой звезды будут переноситься вместе с тем, кто использует руну." + gain_text = "Далекие звезды закрались в мои сны, беспричинно ревя и крича. \ + Я заговорил и услышал, как мои же слова отозвались эхом." next_knowledge = list( /datum/heretic_knowledge/summon/fire_shark, /datum/heretic_knowledge/mark/cosmic_mark, @@ -82,12 +82,12 @@ /datum/heretic_knowledge/mark/cosmic_mark name = "Mark of Cosmos" - desc = "Your Mansus Grasp now applies the Mark of Cosmos. The mark is triggered from an attack with your Cosmic Blade. \ - When triggered, the victim is returned to the location where the mark was originally applied to them, \ - leaving a cosmic field in their place. \ - They will then be paralyzed for 2 seconds." - gain_text = "The Beast now whispered to me occasionally, only small tidbits of their circumstances. \ - I can help them, I have to help them." + desc = "Ваша Хватка Мансуса теперь накладывает Метку космоса. Метка срабатывает при атаке вашим Космическим клинком. \ + При срабатывании жертва возвращается в то место, где на нее первоначально была нанесена метка, \ + оставляя в прошлом месте космическое поле. \ + Затем они будут парализованы на 2 секунды." + gain_text = "Теперь Зверь изредка шептал мне, рассказывая лишь немного о своих обстоятельствах. \ + Я могу им помочь, я должен им помочь." next_knowledge = list(/datum/heretic_knowledge/knowledge_ritual/cosmic) route = PATH_COSMIC mark_type = /datum/status_effect/eldritch/cosmic @@ -98,12 +98,12 @@ /datum/heretic_knowledge/spell/star_touch name = "Star Touch" - desc = "Grants you Star Touch, a spell which places a star mark upon your target \ - and creates a cosmic field at your feet and to the turfs next to you. Targets which already have a star mark \ - will be forced to sleep for 4 seconds. When the victim is hit it also creates a beam that burns them. \ - The beam lasts a minute, until the beam is obstructed or until a new target has been found." - gain_text = "After waking in a cold sweat I felt a palm on my scalp, a sigil burned onto me. \ - My veins now emitted a strange purple glow, the Beast knows I will surpass its expectations." + desc = "Дарует вам Star Touch, заклинание, которое помещает Метку звезды на вашу цель \ + и создает космическое поле у ваших ног и на тайлах рядом с вами. Цели, которые уже имеют Метку звезды \ + будут усыплены на 4 секунды. Когда жертва получает удар, она также создает обжигающий луч. \ + Луч действует в течение минуты, пока луч не будет прегражден или пока не будет найдена новая цель." + gain_text = "Проснувшись в холодном поту, я почувствовал ладонь на своем скальпе, сигил был выжжен на мне. \ + Теперь мои вены изучали странное фиолетовое сияние: Зверь знает, что я превзойду их ожидания." next_knowledge = list(/datum/heretic_knowledge/spell/star_blast) spell_to_add = /datum/action/cooldown/spell/touch/star_touch cost = 1 @@ -111,9 +111,9 @@ /datum/heretic_knowledge/spell/star_blast name = "Star Blast" - desc = "Fires a projectile that moves very slowly, raising a short-lived wall of cosmic fields where it goes. \ - Anyone hit by the projectile will receive burn damage, a knockdown, and give people in a three tile range a star mark." - gain_text = "The Beast was behind me now at all times, with each sacrifice words of affirmation coursed through me." + desc = "Выпускает снаряд, который движется очень медленно и создает стену космического поля на своем пути на короткое время. \ + Каждый, в кого попадет снаряд, получит урон от ожога, будет сбит с ног и даст людям в радиусе трех тайлов Метку звезды." + gain_text = "Зверь теперь всегда следовал за мной, и при каждом жертвоприношении в меня вливались слова одобрения." next_knowledge = list( /datum/heretic_knowledge/blade_upgrade/cosmic, /datum/heretic_knowledge/reroll_targets, @@ -126,13 +126,13 @@ /datum/heretic_knowledge/blade_upgrade/cosmic name = "Cosmic Blade" - desc = "Your blade now deals damage to people's organs through cosmic radiation. \ - Your attacks will chain bonus damage to up to two previous victims. \ - The combo is reset after two seconds without making an attack, \ - or if you attack someone already marked. If you combo more than four attacks you will receive, \ - a cosmic trail and increase your combo timer up to ten seconds." - gain_text = "The Beast took my blades in their hand, I kneeled and felt a sharp pain. \ - The blades now glistened with fragmented power. I fell to the ground and wept at the beast's feet." + desc = "Теперь ваш клинок наносит урон органам людей с помощью космической радиации. \ + Ваши атаки также наносят бонусный урон к двум предыдущим жертвам.\ + Комбо сбрасывается после двух секунд без атаки, \ + или если вы атакуете кого-то уже отмеченного. При комбинировании более четырех атак вы получите \ + космический след и увеличите таймер вашего комбо до 10 секунд." + gain_text = "Когда Зверь взял мои клинки в свою руку, я упал на колени и почувствовал острую боль \ + Клинки теперь сверкали раздробленной силой. Я упал на землю и зарыдал у ног Зверя." next_knowledge = list(/datum/heretic_knowledge/spell/cosmic_expansion) route = PATH_COSMIC /// Storage for the second target. @@ -223,9 +223,9 @@ /datum/heretic_knowledge/spell/cosmic_expansion name = "Cosmic Expansion" - desc = "Grants you Cosmic Expansion, a spell that creates a 3x3 area of cosmic fields around you. \ - Nearby beings will also receive a star mark." - gain_text = "The ground now shook beneath me. The Beast inhabited me, and their voice was intoxicating." + desc = "Дарует вам Cosmic Expansion, заклинание, создающее вокруг вас область космических полей размером 3x3. \ + Близлежащие существа также будут отмечены Меткой звезды." + gain_text = "Теперь земля содрогалась подо мной. Зверь вселился в меня, и его голос был пьянящим." next_knowledge = list( /datum/heretic_knowledge/ultimate/cosmic_final, /datum/heretic_knowledge/eldritch_coin, @@ -237,19 +237,19 @@ /datum/heretic_knowledge/ultimate/cosmic_final name = "Creators's Gift" - desc = "The ascension ritual of the Path of Cosmos. \ - Bring 3 corpses with bluespace dust in their body to a transmutation rune to complete the ritual. \ - When completed, you become the owner of a Star Gazer. \ - You will be able to command the Star Gazer with Alt+click. \ - You can also give it commands through speech. \ - The Star Gazer is a strong ally who can even break down reinforced walls. \ - The Star Gazer has an aura that will heal you and damage opponents. \ - Star Touch can now teleport you to the Star Gazer when activated in your hand. \ - Your cosmic expansion spell and your blades also become greatly empowered." - gain_text = "The Beast held out its hand, I grabbed hold and they pulled me to them. Their body was towering, but it seemed so small and feeble after all their tales compiled in my head. \ - I clung on to them, they would protect me, and I would protect it. \ - I closed my eyes with my head laid against their form. I was safe. \ - WITNESS MY ASCENSION!" + desc = "Ритуал вознесения Пути Космоса. \ + Для завершения ритуала принесите 3 трупа с блуспейс пылью в теле к руне трансмутации. \ + После завершения вы станете обладателем Звездочета. \ + Вы сможете управлять Звездочет с помощью Альт-Клик. \ + Вы также можете отдавать ему команды с помощью речи. \ + Звездочет - сильный союзник, который может даже разрушить укрепленные стены. \ + Звездочет обладает аурой, которая исцеляет вас и наносит урон противникам. \ + Star Touch теперь может телепортировать вас к Звездочету, когда активируется в вашей руке. \ + Заклинание Cosmic Expansion и ваши клинки также значительно усилены." + gain_text = "Зверь протянул руку, я ухватился за нее, и он притянул меня к себе. Их тело возвышалось надо моим, но также казалось настолько крохотными и слабым после всех их историй в моей голове. \ + Я прижался к ним, они защитят меня, и я защищаю их. \ + Я закрыл глаза, прижавшись головой к их телу. Я был в безопасности. \ + УЗРИТЕ МОЕ ВОЗНЕСЕНИЕ!" route = PATH_COSMIC /// A static list of command we can use with our mob. var/static/list/star_gazer_commands = list( @@ -269,7 +269,7 @@ /datum/heretic_knowledge/ultimate/cosmic_final/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) . = ..() priority_announce( - text = "[generate_heretic_text()] A Star Gazer has arrived into the station, [user.real_name] has ascended! This station is the domain of the Cosmos! [generate_heretic_text()]", + text = "[generate_heretic_text()] Звездочет прибыл на станцию, [user.real_name] вознесся! Эта станция - владения Космоса! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = ANNOUNCER_SPANOMALIES, color_override = "pink", diff --git a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm index 8898ba7f59c66..3d528af509cec 100644 --- a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm @@ -32,10 +32,10 @@ */ /datum/heretic_knowledge/limited_amount/starting/base_flesh name = "Principle of Hunger" - desc = "Opens up the Path of Flesh to you. \ - Allows you to transmute a knife and a pool of blood into a Bloody Blade. \ - You can only create three at a time." - gain_text = "Hundreds of us starved, but not me... I found strength in my greed." + desc = "Открывает перед вами Путь плоти. \ + Позволяет трансмутировать нож и лужу крови в Кровавый клинок. \ + Одновременно можно иметь только три." + gain_text = "Сотни наших голодали, но не я... Я нашел силу в своей жадности." next_knowledge = list(/datum/heretic_knowledge/limited_amount/flesh_grasp) required_atoms = list( /obj/item/knife = 1, @@ -51,15 +51,15 @@ summon_objective.owner = our_heretic.owner our_heretic.objectives += summon_objective - to_chat(user, span_hierophant("Undertaking the Path of Flesh, you are given another objective.")) + to_chat(user, span_hierophant("Пройдя Путь плоти, вы получаете еще одну цель.")) our_heretic.owner.announce_objectives() /datum/heretic_knowledge/limited_amount/flesh_grasp name = "Grasp of Flesh" - desc = "Your Mansus Grasp gains the ability to create a ghoul out of corpse with a soul. \ - Ghouls have only 25 health and look like husks to the heathens' eyes, but can use Bloody Blades effectively. \ - You can only create one at a time by this method." - gain_text = "My new found desires drove me to greater and greater heights." + desc = "Ваша Хватка Мансуса получает способность создавать гуля из трупа с душой. \ + Гули имеют всего 25 здоровья и выглядят как хаски в глазах язычников, но могут эффективно использовать Кровавые клинки. \ + Используя этот способ, можно иметь только одного." + gain_text = "Мои новообретенные желания заставляли меня достигать все больших и больших высот." next_knowledge = list(/datum/heretic_knowledge/limited_amount/flesh_ghoul) limit = 1 cost = 1 @@ -78,22 +78,22 @@ return if(LAZYLEN(created_items) >= limit) - target.balloon_alert(source, "at ghoul limit!") + target.balloon_alert(source, "лимит гулей!") return COMPONENT_BLOCK_HAND_USE if(HAS_TRAIT(target, TRAIT_HUSK)) - target.balloon_alert(source, "husked!") + target.balloon_alert(source, "это хаск!") return COMPONENT_BLOCK_HAND_USE if(!IS_VALID_GHOUL_MOB(target)) - target.balloon_alert(source, "invalid body!") + target.balloon_alert(source, "неподходящее тело!") return COMPONENT_BLOCK_HAND_USE target.grab_ghost() // The grab failed, so they're mindless or playerless. We can't continue if(!target.mind || !target.client) - target.balloon_alert(source, "no soul!") + target.balloon_alert(source, "нет души!") return COMPONENT_BLOCK_HAND_USE make_ghoul(source, target) @@ -121,11 +121,11 @@ /datum/heretic_knowledge/limited_amount/flesh_ghoul name = "Imperfect Ritual" - desc = "Allows you to transmute a corpse and a poppy to create a Voiceless Dead. \ - The corpse does not need to have a soul. \ - Voiceless Dead are mute ghouls and only have 50 health, but can use Bloody Blades effectively. \ - You can only create two at a time." - gain_text = "I found notes of a dark ritual, unfinished... yet still, I pushed forward." + desc = "Позволяет трансмутировать труп и мак, чтобы создать Безголосого мертвеца. \ + Трупу необязательно иметь душу. \ + Безголосые мертвецы - это немые гули, у них всего 50 здоровья, но они могут эффективно использовать Кровавые клинки. \ + Одновременно можно иметь только два." + gain_text = "Я нашел записи о темном ритуале, незаконченные... но все же я стремился вперед." next_knowledge = list( /datum/heretic_knowledge/mark/flesh_mark, /datum/heretic_knowledge/void_cloak, @@ -147,21 +147,21 @@ if(body.stat != DEAD) continue if(!IS_VALID_GHOUL_MOB(body) || HAS_TRAIT(body, TRAIT_HUSK)) - to_chat(user, span_hierophant_warning("[body] is not in a valid state to be made into a ghoul.")) + to_chat(user, span_hierophant_warning("[body] не в подходящем состоянии для превращения в гуля.")) continue // We'll select any valid bodies here. If they're clientless, we'll give them a new one. selected_atoms += body return TRUE - loc.balloon_alert(user, "ritual failed, no valid body!") + loc.balloon_alert(user, "ритуал провален, нет подходящего тела!") return FALSE /datum/heretic_knowledge/limited_amount/flesh_ghoul/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) var/mob/living/carbon/human/soon_to_be_ghoul = locate() in selected_atoms if(QDELETED(soon_to_be_ghoul)) // No body? No ritual stack_trace("[type] reached on_finished_recipe without a human in selected_atoms to make a ghoul out of.") - loc.balloon_alert(user, "ritual failed, no valid body!") + loc.balloon_alert(user, "ритуал провален, нет подходящего тела!") return FALSE soon_to_be_ghoul.grab_ghost() @@ -170,7 +170,7 @@ message_admins("[ADMIN_LOOKUPFLW(user)] is creating a voiceless dead of a body with no player.") var/mob/chosen_one = SSpolling.poll_ghosts_for_target("Do you want to play as [span_danger(soon_to_be_ghoul.real_name)], a [span_notice("voiceless dead")]?", check_jobban = ROLE_HERETIC, role = ROLE_HERETIC, poll_time = 5 SECONDS, checked_target = soon_to_be_ghoul, alert_pic = mutable_appearance('icons/mob/human/human.dmi', "husk"), jump_target = soon_to_be_ghoul, role_name_text = "voiceless dead") if(isnull(chosen_one)) - loc.balloon_alert(user, "ritual failed, no ghosts!") + loc.balloon_alert(user, "ритуал провален, нет призраков!") return FALSE message_admins("[key_name_admin(chosen_one)] has taken control of ([key_name_admin(soon_to_be_ghoul)]) to replace an AFK player.") soon_to_be_ghoul.ghostize(FALSE) @@ -205,9 +205,9 @@ /datum/heretic_knowledge/mark/flesh_mark name = "Mark of Flesh" - desc = "Your Mansus Grasp now applies the Mark of Flesh. The mark is triggered from an attack with your Bloody Blade. \ - When triggered, the victim begins to bleed significantly." - gain_text = "That's when I saw them, the marked ones. They were out of reach. They screamed, and screamed." + desc = "Ваша Хватка Мансуса теперь накладывает Метку плоти. Метка срабатывает от атаки вашим Кровавым клинком. \ + При срабатывании у жертвы начинается обильное кровотечение." + gain_text = "Тогда-то я и увидел их, отмеченных. Они были вне досягаемости. Они кричали и кричали." next_knowledge = list(/datum/heretic_knowledge/knowledge_ritual/flesh) route = PATH_FLESH mark_type = /datum/status_effect/eldritch/flesh @@ -218,11 +218,11 @@ /datum/heretic_knowledge/spell/flesh_surgery name = "Knitting of Flesh" - desc = "Grants you the spell Knit Flesh. This spell allows you to remove organs from victims \ - without requiring a lengthy surgery. This process is much longer if the target is not dead. \ - This spell also allows you to heal your minions and summons, or restore failing organs to acceptable status." - gain_text = "But they were not out of my reach for long. With every step, the screams grew, until at last \ - I learned that they could be silenced." + desc = "Дарует вам заклинание Knit Flesh. Это заклинание позволяет извлекать органы из жертв \ + без необходимости длительной операции. Этот процесс занимает гораздо больше времени, если цель жива. \ + Это заклинание также позволяет вам исцелять ваших миньонов и призванных или восстанавливать отказавшие органы до приемлемого состояния." + gain_text = "Но они недолго оставались вне моей досягаемости. С каждым шагом крики усиливались, пока, наконец, \ + я не понял, что их можно заглушить." next_knowledge = list(/datum/heretic_knowledge/summon/raw_prophet) spell_to_add = /datum/action/cooldown/spell/touch/flesh_surgery cost = 1 @@ -230,11 +230,11 @@ /datum/heretic_knowledge/summon/raw_prophet name = "Raw Ritual" - desc = "Allows you to transmute a pair of eyes, a left arm, and a pool of blood to create a Raw Prophet. \ - Raw Prophets have a greatly increased sight range and x-ray vision, as well as a long range jaunt and \ - the ability to link minds to communicate with ease, but are very fragile and weak in combat." - gain_text = "I could not continue alone. I was able to summon The Uncanny Man to help me see more. \ - The screams... once constant, now silenced by their wretched appearance. Nothing was out of reach." + desc = "Позволяет трансмутировать пару глаз, левую руку и лужу крови, чтобы создать Сырого gророка. \ + Сырые пророки обладают значительно увеличенной дальностью зрения и рентгеновским зрением, \ + а также джаунтом дальнего действия и способностью связывать разумы для легкого общения, но очень хрупки и слабы в бою." + gain_text = "Я не мог продолжать в одиночку. Я смог призвать Жуткого человека, чтобы он помог мне увидеть больше. \ + Крики... когда-то постоянные, теперь заглушались их убогим видом. Ничто не было недосягаемо." next_knowledge = list( /datum/heretic_knowledge/blade_upgrade/flesh, /datum/heretic_knowledge/reroll_targets, @@ -253,9 +253,9 @@ /datum/heretic_knowledge/blade_upgrade/flesh name = "Bleeding Steel" - desc = "Your Bloody Blade now causes enemies to bleed heavily on attack." - gain_text = "The Uncanny Man was not alone. They led me to the Marshal. \ - I finally began to understand. And then, blood rained from the heavens." + desc = "Ваш Кровавый клинок теперь вызывает у врагов сильное кровотечение при атаке." + gain_text = "Жудкий человек был не один. Он привел меня к Маршалу. \ + Наконец-то я начал понимать. А потом с небес хлынул кровавый дождь." next_knowledge = list(/datum/heretic_knowledge/summon/stalker) route = PATH_FLESH ///What type of wound do we apply on hit @@ -272,10 +272,10 @@ /datum/heretic_knowledge/summon/stalker name = "Lonely Ritual" - desc = "Allows you to transmute a tail of any kind, a stomach, a tongue, a pen and a piece of paper to create a Stalker. \ - Stalkers can jaunt, release EMPs, shapeshift into animals or automatons, and are strong in combat." - gain_text = "I was able to combine my greed and desires to summon an eldritch beast I had never seen before. \ - An ever shapeshifting mass of flesh, it knew well my goals. The Marshal approved." + desc = "Позволяет трансмутировать хвост любого вида, желудок, язык, перо и лист бумаги, чтобы создать Сталкера. \ + Сталкеры имеют джаунт, могут выпускать ЭМИ, превращаться в животных или автоматонов и сильны в бою." + gain_text = "Я смог объединить свою жадность и желания, чтобы вызвать мистическое чудовище, которого я никогда раньше не видел. \ + Постоянно меняющая форму масса плоти, она хорошо знала мои цели. Маршал одобрил." next_knowledge = list( /datum/heretic_knowledge/ultimate/flesh_final, /datum/heretic_knowledge/spell/apetra_vulnera, @@ -295,24 +295,24 @@ /datum/heretic_knowledge/ultimate/flesh_final name = "Priest's Final Hymn" - desc = "The ascension ritual of the Path of Flesh. \ - Bring 4 corpses to a transmutation rune to complete the ritual. \ - When completed, you gain the ability to shed your human form \ - and become the Lord of the Night, a supremely powerful creature. \ - Just the act of transforming causes nearby heathens great fear and trauma. \ - While in the Lord of the Night form, you can consume arms to heal and regain segments. \ - Additionally, you can summon three times as many Ghouls and Voiceless Dead, \ - and can create unlimited blades to arm them all." - gain_text = "With the Marshal's knowledge, my power had peaked. The throne was open to claim. \ - Men of this world, hear me, for the time has come! The Marshal guides my army! \ - Reality will bend to THE LORD OF THE NIGHT or be unraveled! WITNESS MY ASCENSION!" + desc = "Ритуал вознесения Пути плоти. \ + Принесите 4 трупа к руне трансмутации, чтобы завершить ритуал. \ + После завершения вы обретаете способность сбросить человеческую форму \ + и стать Властелином ночи, сверхмощным существом. \ + Один только акт превращения вызывает у близлежащих язычников сильный страх и травму. \ + Находясь в форме Повелителя ночи, вы можете потреблять оружие для исцеления и восстановления сегментов. \ + Кроме того, вы можете вызывать в три раза больше упырей и безголосых мертвецов, \ + а также создавать неограниченное количество клинков, чтобы вооружить их всех." // оружие или руки? надо код чекнуть + gain_text = "С ведома Маршала моя сила достигла пика. Трон был готов к завоеванию. \ + Люди этого мира, услышьте меня, ибо время пришло! Маршал ведет мою армию! \ + Реальность согнется перед ВЛАДЫКОЙ НОЧИ или будет разрушена! УЗРИТЕ МОЕ ВОЗНЕСЕНИЕ!" required_atoms = list(/mob/living/carbon/human = 4) route = PATH_FLESH /datum/heretic_knowledge/ultimate/flesh_final/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) . = ..() priority_announce( - text = "[generate_heretic_text()] Ever coiling vortex. Reality unfolded. ARMS OUTREACHED, THE LORD OF THE NIGHT, [user.real_name] has ascended! Fear the ever twisting hand! [generate_heretic_text()]", + text = "[generate_heretic_text()] Вечно закручивающийся вихрь. Реальность развернулась. С ВЫТЯНУТЫМИ РУКАМИ, ВЛАСТЕЛИН НОЧИ, [user.real_name] вознесся! Бойтесь вечно изгибающейся руки! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = ANNOUNCER_SPANOMALIES, color_override = "pink", diff --git a/code/modules/antagonists/heretic/knowledge/general_side.dm b/code/modules/antagonists/heretic/knowledge/general_side.dm index 2dc2719227b1c..d5e76c5bd608f 100644 --- a/code/modules/antagonists/heretic/knowledge/general_side.dm +++ b/code/modules/antagonists/heretic/knowledge/general_side.dm @@ -2,9 +2,9 @@ /datum/heretic_knowledge/reroll_targets name = "The Relentless Heartbeat" - desc = "Allows you transmute a harebell, a book, and a jumpsuit while standing over a rune \ - to reroll your sacrifice targets." - gain_text = "The heart is the principle that continues and preserves." + desc = "Позволяет трансмутировать колокольчик, книгу и джампсъют, стоя над руной, \ + чтобы изменить цели жертвоприношения." + gain_text = "Сердце - это принцип, который пребывает и оберегает." required_atoms = list( /obj/item/food/grown/harebell = 1, /obj/item/book = 1, @@ -20,7 +20,7 @@ // throw a fail to show the heretic that there's no point in rerolling // if you don't have a heart to track the targets in the first place. if(heretic_datum.has_living_heart() != HERETIC_HAS_LIVING_HEART) - loc.balloon_alert(user, "ritual failed, no living heart!") + loc.balloon_alert(user, "ритуал провален, нет живого сердца!") return FALSE return TRUE @@ -35,7 +35,7 @@ CRASH("Heretic datum didn't have a hunt_and_sacrifice knowledge learned, what?") if(!target_finder.obtain_targets(user, heretic_datum = heretic_datum)) - loc.balloon_alert(user, "ritual failed, no targets found!") + loc.balloon_alert(user, "ритуал провален, не удалось найти цели!") return FALSE return TRUE diff --git a/code/modules/antagonists/heretic/knowledge/lock_lore.dm b/code/modules/antagonists/heretic/knowledge/lock_lore.dm index 0727b86bb668e..d180a0bcc449b 100644 --- a/code/modules/antagonists/heretic/knowledge/lock_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/lock_lore.dm @@ -26,11 +26,11 @@ */ /datum/heretic_knowledge/limited_amount/starting/base_knock name = "A Steward's Secret" - desc = "Opens up the Path of Lock to you. \ - Allows you to transmute a knife and a crowbar into a Key Blade. \ - You can only create two at a time and they function as fast crowbars. \ - In addition, they can fit into utility belts." - gain_text = "The Locked Labyrinth leads to freedom. But only the trapped Stewards know the correct path." + desc = "Открывает перед вами Путь замка. \ + Позволяет трансмутировать нож и монтировку в Ключ-клинок. \ + Одновременно можно иметь только два, а также он действует как быстрая монтировка. \ + К тому же, они помещаются в пояса для инструментов." + gain_text = "Запертный лабиринт ведет к свободе. Но только пойманные Управляющие знают верный путь." next_knowledge = list(/datum/heretic_knowledge/lock_grasp) required_atoms = list( /obj/item/knife = 1, @@ -42,10 +42,10 @@ /datum/heretic_knowledge/lock_grasp name = "Grasp of Lock" - desc = "Your mansus grasp allows you to access anything! Right click on an airlock or a locker to force it open. \ - DNA locks on mechs will be removed, and any pilot will be ejected. Works on consoles. \ - Makes a distinctive knocking sound on use." - gain_text = "Nothing may remain closed from my touch." + desc = "Ваша Хватка Мансуса позволяет получить доступ ко всему! ПКМ на шлюзу или шкафу отопрет их. \ + ДНК замки мехов будут очищены, а пилот извлечен. Также работает на консолях. \ + Издает характерный звук стучка при использовании." + gain_text = "Ничто не останется закрытым от моего прикосновения." next_knowledge = list(/datum/heretic_knowledge/key_ring) cost = 1 route = PATH_LOCK @@ -91,14 +91,14 @@ /datum/heretic_knowledge/key_ring name = "Key Keeper’s Burden" - desc = "Allows you to transmute a wallet, an iron rod, and an ID card to create an Eldritch Card. \ - Hit a pair of airlocks with it to create a pair of portals, which will teleport you between them, but teleport non-heretics randomly. \ - You can ctrl-click the card to invert this behavior for created portals. \ - Each card may only sustain a single pair of portals at the same time. \ - It also functions and appears the same as a regular ID Card. \ - Attacking it with a normal ID card consumes it and gains its access, and you can use it in-hand to change its appearance to a card you fused. \ - Does not preserve the card originally used in the ritual." - gain_text = "The Keeper sneered. \"These plastic rectangles are a mockery of keys, and I curse every door that desires them.\"" + desc = "Позволяет трансмутировать кошелек, железный прут и ИД-карта, чтобы создать Мистическую карту. \ + Ударьте ею по двум шлюзам, чтобы создать спаренный портал, который будет телепортировать вас между ними, а не-еретиков случайно. \ + С помощью Ctrl-Click по карте, вы можете инвертировать поведение созданных порталов. \ + Каждая такая карта может иметь только одну пару порталов. \ + Также, она выглядит и работает как обычная ИД-карта. \ + Атаки по карте обычными ИД-картами поглощает их и получает их доступ. При использовании в руке, она может изменить свой внешний вид на любую поглощенную. \ + Оригинальная ИД-карта, использованная в ритуале, также поглощается." + gain_text = "Хранитель усмехнулся. \"Эти пластиковые прямоугольники - насмешка над ключами, и я проклинаю каждую дверь, которая их требует.\"" required_atoms = list( /obj/item/storage/wallet = 1, /obj/item/stack/rods = 1, @@ -114,10 +114,10 @@ /datum/heretic_knowledge/mark/lock_mark name = "Mark of Lock" - desc = "Your Mansus Grasp now applies the Mark of Lock. \ - Attack a marked person to bar them from all passages for the duration of the mark. \ - This will make it so that they have no access whatsoever, even public access doors will reject them." - gain_text = "The Gatekeeper was a corrupt Steward. She hindered her fellows for her own twisted amusement." + desc = "Ваша Хватка Мансуса теперь накладывает Метку замка. \ + Активация метки закроет доступ ко всем проходам на время действие метки. \ + У них не будет доступа к чему либо, даже публичные шлюзы будут отклонять их." + gain_text = "Привратница была коррумпированным Управляющим. Она мешала своим собратьям ради собственного извращенного развлечения." next_knowledge = list(/datum/heretic_knowledge/knowledge_ritual/lock) route = PATH_LOCK mark_type = /datum/status_effect/eldritch/lock @@ -128,9 +128,9 @@ /datum/heretic_knowledge/limited_amount/concierge_rite // item that creates 3 max at a time heretic only barriers, probably should limit to 1 only, holy people can also pass name = "Concierge's Rite" - desc = "Allows you to transmute a white crayon, a wooden plank, and a multitool to create a Labyrinth Handbook. \ - It can materialize a barricade at range that only you and people resistant to magic can pass. 3 uses." - gain_text = "The Concierge scribbled my name into the Handbook. \"Welcome to your new home, fellow Steward.\"" + desc = "Позволяет трансмутировать белый карандаш, деревянную доску и мультитул, чтобы создать Справочник лабиринта. \ + Оно может материализовать на расстоянии баррикаду, через которую могут пройти только вы и люди с сопротивлением против магии. 3 использования." + gain_text = "Консьерж записал мое имя в Справочник. \"Добро пожаловать в ваш новый дом, коллега Управляющий.\"" required_atoms = list( /obj/item/toy/crayon/white = 1, /obj/item/stack/sheet/mineral/wood = 1, @@ -143,9 +143,9 @@ /datum/heretic_knowledge/spell/burglar_finesse name = "Burglar's Finesse" - desc = "Grants you Burglar's Finesse, a single-target spell \ - that puts a random item from the victims backpack into your hand." - gain_text = "Consorting with Burglar spirits is frowned upon, but a Steward will always want to learn about new doors." + desc = "Дарует вам заклинание, Burglar's Finesse, которое \ + кладет случайный предмет из сумки жертвы в вашу руку." + gain_text = "Общение с духами Взломщиками не одобряется, но Управляющий всегда хочет узнавать о новых дверях." next_knowledge = list( /datum/heretic_knowledge/spell/opening_blast, /datum/heretic_knowledge/reroll_targets, @@ -159,8 +159,8 @@ /datum/heretic_knowledge/blade_upgrade/flesh/lock //basically a chance-based weeping avulsion version of the former name = "Opening Blade" - desc = "Your blade has a chance to cause a weeping avulsion on attack." - gain_text = "The Pilgrim-Surgeon was not an Steward. Nonetheless, its blades and sutures proved a match for their keys." + desc = "Ваш клинок теперь может накладывать сильное кровотечение при атаке." + gain_text = "Пилигрим-Хирург не был Управляющим. Тем не менее, его клинки и швы оказались достойны их ключей." next_knowledge = list(/datum/heretic_knowledge/spell/caretaker_refuge) route = PATH_LOCK wound_type = /datum/wound/slash/flesh/critical @@ -172,10 +172,10 @@ /datum/heretic_knowledge/spell/caretaker_refuge name = "Caretaker’s Last Refuge" - desc = "Gives you a spell that makes you transparent and not dense. Cannot be used near living sentient beings. \ - While in refuge, you cannot use your hands or spells, and you are immune to slowdown. \ - You are invincible but unable to harm anything. Cancelled by being hit with an anti-magic item." - gain_text = "Jealously, the Guard and the Hound hunted me. But I unlocked my form, and was but a haze, untouchable." + desc = "Заклинание, позволяющее становиться прозрачным и безтелесным. Невозможно использовать рядом с живыми разумными существами. \ + Пока вы находитесь в убежище, вы не можете использовать руки и заклинания, и вы имеете иммунитет к замедлению. \ + Вы неуязвимы, но также не можете ничему вредить. При попадании анти-магией, эффект прерывается." + gain_text = "Страж и Гончая охотились за мной из ревности. Но я раскрыл свою форму, став лишь неприкосаемой дымкой." next_knowledge = list( /datum/heretic_knowledge/ultimate/lock_final, /datum/heretic_knowledge/spell/apetra_vulnera, @@ -186,17 +186,17 @@ /datum/heretic_knowledge/ultimate/lock_final name = "Unlock the Labyrinth" - desc = "The ascension ritual of the Path of Knock. \ - Bring 3 corpses without organs in their torso to a transmutation rune to complete the ritual. \ - When completed, you gain the ability to transform into empowered eldritch creatures \ - and your keyblades will become even deadlier. \ - In addition, you will create a tear to the Labyrinth's heart; \ - a tear in reality located at the site of this ritual. \ - Eldritch creatures will endlessly pour from this rift \ - who are bound to obey your instructions." - gain_text = "The Stewards guided me, and I guided them. \ - My foes were the Locks and my blades were the Key! \ - The Labyrinth will be Locked no more, and freedom will be ours! WITNESS US!" + desc = "Ритуал вознесения Пути замка. \ + Принесите 3 трупа без органов в их торсе к руне трансмутации, чтобы завершить ритуал. \ + При завершении, вы сможете превращаться в усиленных мистических существ, \ + а ваши ключ-клинки становятся еще смертоноснее. \ + Также, вы откроете разрыв к сердцу Лабиринта; \ + разрыв в реальности, который будет находиться на месте ритуала. \ + Мистические существа будут беспрерывно выходить из разлома, \ + и они будут подчиненны вам." + gain_text = "Управляющие направляли меня, и я направил их. \ + Мои враги были Замками, а мои клинки - Ключами! \ + Лабиринт теперь не будет Заперт, свобода будет нашей! УЗРИТЕ НАС!" required_atoms = list(/mob/living/carbon/human = 3) route = PATH_LOCK @@ -209,20 +209,20 @@ if(body.stat != DEAD) continue if(LAZYLEN(body.get_organs_for_zone(BODY_ZONE_CHEST))) - to_chat(user, span_hierophant_warning("[body] has organs in their chest.")) + to_chat(user, span_hierophant_warning("[body] имеет органы внутри их торса.")) continue selected_atoms += body if(!LAZYLEN(selected_atoms)) - loc.balloon_alert(user, "ritual failed, not enough valid bodies!") + loc.balloon_alert(user, "ритуал провален, недостаточно подходящих тел!") return FALSE return TRUE /datum/heretic_knowledge/ultimate/lock_final/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) . = ..() priority_announce( - text = "Delta-class dimensional anomaly detec[generate_heretic_text()] Reality rended, torn. Gates open, doors open, [user.real_name] has ascended! Fear the tide! [generate_heretic_text()]", + text = "Пространственная аномалия Дельта-класса обнар[generate_heretic_text()] Реальность разрушена, разорвана. Врата открыты, двери открыты, [user.real_name] вознесся! Бойтесь нашествия! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = ANNOUNCER_SPANOMALIES, color_override = "pink", diff --git a/code/modules/antagonists/heretic/knowledge/moon_lore.dm b/code/modules/antagonists/heretic/knowledge/moon_lore.dm index 723599ad262f5..56c2755d6d402 100644 --- a/code/modules/antagonists/heretic/knowledge/moon_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/moon_lore.dm @@ -28,10 +28,10 @@ */ /datum/heretic_knowledge/limited_amount/starting/base_moon name = "Moonlight Troupe" - desc = "Opens up the Path of Moon to you. \ - Allows you to transmute 2 sheets of iron and a knife into an Lunar Blade. \ - You can only create two at a time." - gain_text = "Under the light of the moon the laughter echoes." + desc = "Открывает перед вами Путь луны. \ + Позволяет трансмутировать 2 листа железа и нож в Лунный клинок. \ + Одновременно можно иметь только два." + gain_text = "Под лунным светом смех отдается эхом." next_knowledge = list(/datum/heretic_knowledge/moon_grasp) required_atoms = list( /obj/item/knife = 1, @@ -45,9 +45,9 @@ /datum/heretic_knowledge/moon_grasp name = "Grasp of Lunacy" - desc = "Your Mansus Grasp will cause your victims to hallucinate everyone as lunar mass, \ - and hides your identity for a short duration." - gain_text = "The troupe on the side of the moon showed me truth, and I took it." + desc = "Ваша Хватка Мансуса заставит жертву галлюцинировать, что все вокруг - лунная масса, \ + и на короткое время скроет вашу личность." + gain_text = "Труппа на стороне луны показала мне правду, и я принял её." next_knowledge = list(/datum/heretic_knowledge/spell/moon_smile) cost = 1 route = PATH_MOON @@ -65,15 +65,15 @@ if(!iscarbon(target)) return var/mob/living/carbon/carbon_target = target - to_chat(carbon_target, span_danger("You hear echoing laughter from above")) + to_chat(carbon_target, span_danger("Сверху доносится смех, отдающийся эхом.")) carbon_target.cause_hallucination(/datum/hallucination/delusion/preset/moon, "delusion/preset/moon hallucination caused by mansus grasp") carbon_target.mob_mood.set_sanity(carbon_target.mob_mood.sanity-30) /datum/heretic_knowledge/spell/moon_smile name = "Smile of the moon" - desc = "Grants you Smile of the moon, a ranged spell muting, blinding, deafening and knocking down the target for a\ - duration based on their sanity." - gain_text = "The moon smiles upon us all and those who see its true side can bring its joy." + desc = "Дает вам заклинание Smile of the moon, позволяющее на расстоянии заглушить, ослепить, оглушить и сбить с ног цель \ + на время, зависящее от ее рассудка." + gain_text = "Луна улыбается всем нам, и те, кто видит ее правдивую сторону, могут приносить её радость." next_knowledge = list( /datum/heretic_knowledge/mark/moon_mark, /datum/heretic_knowledge/medallion, @@ -85,11 +85,11 @@ /datum/heretic_knowledge/mark/moon_mark name = "Mark of Moon" - desc = "Your Mansus Grasp now applies the Mark of Moon, pacifying the victim until attacked. \ - The mark can also be triggered from an attack with your Moon Blade, leaving the victim confused." - gain_text = "The troupe on the moon would dance all day long \ - and in that dance the moon would smile upon us \ - but when the night came its smile would dull forced to gaze on the earth." + desc = "Ваша Хватка Мансуса теперь накладывает Метку луны, которая накладывает пацифизм на цель, пока ее не атакуют. \ + Метка может быть активирована вашим Лунным клинком, оставляя жертву в замешательстве." + gain_text = "Труппа на луне могла танцевать весь день \ + и в этом танце луна улыбалась нам \ + но когда наступала ночь, ее улыбка тусклела, так как была вынуждена смотреть на землю." next_knowledge = list(/datum/heretic_knowledge/knowledge_ritual/moon) route = PATH_MOON mark_type = /datum/status_effect/eldritch/moon @@ -100,9 +100,9 @@ /datum/heretic_knowledge/spell/moon_parade name = "Lunar Parade" - desc = "Grants you Lunar Parade, a spell that - after a short charge - sends a carnival forward \ - when hitting someone they are forced to join the parade and suffer hallucinations." - gain_text = "The music like a reflection of the soul compelled them, like moths to a flame they followed" + desc = "Дает вам заклинание Lunar Parade, которое через короткую задержку посылает вперед карнавал. \ + Те, в кого попал карнавал, вынуждены присоединиться к параду и страдать от галлюцинаций." + gain_text = "Музыка, как отражение души, побуждала их, и они, словно мотыльки на пламя, следовали за ней." next_knowledge = list(/datum/heretic_knowledge/moon_amulette) spell_to_add = /datum/action/cooldown/spell/pointed/projectile/moon_parade cost = 1 @@ -111,10 +111,10 @@ /datum/heretic_knowledge/moon_amulette name = "Moonlight Amulette" - desc = "Allows you to transmute 2 sheets of glass, a heart and a tie to create a Moonlight Amulette. \ - If the item is used on someone with low sanity they go berserk attacking everyone, \ - if their sanity isn't low enough it decreases their mood." - gain_text = "At the head of the parade he stood, the moon condensed into one mass, a reflection of the soul." + desc = "Позволяет трансмутировать 2 листа стекла, сердце и галстук, чтобы создать Moonlight Amulette. \ + Если предмет использован на том, у кого слабый рассудок, они становятся берсерком, нападая на всех подряд; \ + если рассудок не достаточно низок, то уменьшается их настроение." + gain_text = "Во главе парада стоял он, луна сгустилась в единную массу, отражение души." next_knowledge = list( /datum/heretic_knowledge/blade_upgrade/moon, /datum/heretic_knowledge/reroll_targets, @@ -133,8 +133,8 @@ /datum/heretic_knowledge/blade_upgrade/moon name = "Moonlight Blade" - desc = "Your blade now deals brain damage, causes random hallucinations and does sanity damage." - gain_text = "His wit was sharp as a blade, cutting through the lie to bring us joy." + desc = "Ваш клинок теперь наносит урон мозгу и рассудку, а также вызывает случайные галлюцинации." + gain_text = "Его остроумие было острым, как клинок, оно прорезало ложь, чтобы принести нам радость." next_knowledge = list(/datum/heretic_knowledge/spell/moon_ringleader) route = PATH_MOON @@ -152,11 +152,11 @@ /datum/heretic_knowledge/spell/moon_ringleader name = "Ringleaders Rise" - desc = "Grants you Ringleaders Rise, an AoE spell that deals more brain damage the lower the sanity of everyone in the AoE \ - and causes hallucinations, with those who have less sanity getting more. \ - If their sanity is low enough this turns them insane, the spell then halves their sanity." - gain_text = "I grabbed his hand and we rose, those who saw the truth rose with us. \ - The ringleader pointed up and the dim light of truth illuminated us further." + desc = "Дает вам Ringleaders Rise, заклинание по области, которое наносит больше урона мозгу в зависимости от отсутствующего рассудка у целей, \ + также вызывает им галлюцинации, больше тем, у кого мало рассудка. \ + Если их рассудок достаточно слабый, они обезумеют и потеряют половину рассудка." + gain_text = "Взял его за руку, мы поднялись, и те, кто видел правду, поднялись вместе с нами. \ + Шпрехшталмейстер указал вверх, и тусклый свет правды осветил нас еще больше." next_knowledge = list( /datum/heretic_knowledge/ultimate/moon_final, /datum/heretic_knowledge/summon/ashy, @@ -167,14 +167,14 @@ /datum/heretic_knowledge/ultimate/moon_final name = "The Last Act" - desc = "The ascension ritual of the Path of Moon. \ - Bring 3 corpses with more than 50 brain damage to a transmutation rune to complete the ritual. \ - When completed, you become a harbinger of madness gaining and aura of passive sanity decrease, \ - confusion increase and, if their sanity is low enough, brain damage and blindness. \ - 1/5th of the crew will turn into acolytes and follow your command, they will all recieve moonlight amulettes." - gain_text = "We dived down towards the crowd, his soul splitting off in search of greater venture \ - for where the Ringleader had started the parade, I shall continue it unto the suns demise \ - WITNESS MY ASCENSION, THE MOON SMILES ONCE MORE AND FOREVER MORE IT SHALL!" + desc = "Ритуал вознесения Пути луны. \ + Принесите 3 трупа с более чем 50 урона мозгу на руну трансмутации, чтобы завершить ритуал \ + При завершении, вы становитесь предвестником безумия и получаете ауру пассивного снижения рассудка, \ + увеличения замешательства, и, если их рассудок достаточно низкий, урона мозгу и ослепления. \ + Одна пятая экипажа превратится в аколитов и будет следовать вашим приказам, также они получат Moonlight Amulette" + gain_text = "Мы нырнули вниз, к толпе, его душа отделилась в поисках более великой авантюры, \ + туда, откуда Шпрехшталмейстер начал парад, и я продолжу его до самой кончины солнца \ + УЗРИТЕ МОЕ ВОЗНЕСЕНИЕ, ЛУНА УЛЫБНЕТСЯ РАЗ И НАВСЕГДА!" route = PATH_MOON /datum/heretic_knowledge/ultimate/moon_final/is_valid_sacrifice(mob/living/sacrifice) @@ -189,8 +189,8 @@ /datum/heretic_knowledge/ultimate/moon_final/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) . = ..() var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) - priority_announce("[generate_heretic_text()] Laugh, for the ringleader [user.real_name] has ascended! \ - The truth shall finally devour the lie! [generate_heretic_text()]","[generate_heretic_text()]", ANNOUNCER_SPANOMALIES) + priority_announce("[generate_heretic_text()] Смейтесь, ибо Шпрехшталмейстер [user.real_name] вознесся! \ + Правда наконец поглотит ложь! [generate_heretic_text()]","[generate_heretic_text()]", ANNOUNCER_SPANOMALIES) user.client?.give_award(/datum/award/achievement/misc/moon_ascension, user) ADD_TRAIT(user, TRAIT_MADNESS_IMMUNE, REF(src)) @@ -213,14 +213,14 @@ continue // Heretics, lunatics and monsters shouldn't become lunatics because they either have a master or have a mansus grasp if(IS_HERETIC_OR_MONSTER(crewmate)) - to_chat(crewmate, span_boldwarning("[user]'s rise is influencing those who are weak willed. Their minds shall rend." )) + to_chat(crewmate, span_boldwarning("Вознесение [user] влияет на слабовольных. Их разумы будут разрушены." )) continue // Mindshielded and anti-magic folks are immune against this effect because this is a magical mind effect if(HAS_TRAIT(crewmate, TRAIT_MINDSHIELD) || crewmate.can_block_magic(MAGIC_RESISTANCE)) - to_chat(crewmate, span_boldwarning("You feel shielded from something." )) + to_chat(crewmate, span_boldwarning("Вы чувствуете, что защитились от чего-то." )) continue if(amount_of_lunatics > length(GLOB.human_list) * 0.2) - to_chat(crewmate, span_boldwarning("You feel uneasy, as if for a brief moment something was gazing at you." )) + to_chat(crewmate, span_boldwarning("Вы чувствуете неспокойство, как будто на мгновение что-то смотрело на вас." )) continue var/datum/antagonist/lunatic/lunatic = crewmate.mind.add_antag_datum(/datum/antagonist/lunatic) lunatic.set_master(user.mind, user) @@ -257,11 +257,11 @@ carbon_view.mob_mood.set_sanity(carbon_sanity - 5) if(carbon_sanity < 30) if(SPT_PROB(20, seconds_per_tick)) - to_chat(carbon_view, span_warning("you feel your mind beginning to rend!")) + to_chat(carbon_view, span_warning("вы чувствуете, как ваш разум разрушается!")) carbon_view.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5) if(carbon_sanity < 10) if(SPT_PROB(20, seconds_per_tick)) - to_chat(carbon_view, span_warning("it echoes through you!")) + to_chat(carbon_view, span_warning("оно эхом отдается в вас!")) visible_hallucination_pulse( center = get_turf(carbon_view), radius = 7, diff --git a/code/modules/antagonists/heretic/knowledge/rust_lore.dm b/code/modules/antagonists/heretic/knowledge/rust_lore.dm index 8d577b1992a2e..c6a448fb87483 100644 --- a/code/modules/antagonists/heretic/knowledge/rust_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/rust_lore.dm @@ -31,10 +31,10 @@ */ /datum/heretic_knowledge/limited_amount/starting/base_rust name = "Blacksmith's Tale" - desc = "Opens up the Path of Rust to you. \ - Allows you to transmute a knife with any trash item into a Rusty Blade. \ - You can only create two at a time." - gain_text = "\"Let me tell you a story\", said the Blacksmith, as he gazed deep into his rusty blade." + desc = "Открывает перед вами Путь ржавчины. \ + Позволяет трансмутировать нож с любым мусором в Ржавый клинок. \ + Одновременно можно создать только два." + gain_text = "\"Позвольте мне рассказать вам историю\", сказал Кузнец, вглядываясь в глубину своего ржавого клинка." next_knowledge = list(/datum/heretic_knowledge/rust_fist) required_atoms = list( /obj/item/knife = 1, @@ -45,9 +45,9 @@ /datum/heretic_knowledge/rust_fist name = "Grasp of Rust" - desc = "Your Mansus Grasp will deal 500 damage to non-living matter and rust any surface it touches. \ - Already rusted surfaces are destroyed. Surfaces and structures can only be rusted by using Right-Click." - gain_text = "On the ceiling of the Mansus, rust grows as moss does on a stone." + desc = "Ваша Хватка Мансуса наносит 500 единиц урона неживой материи и ржавеет любая поверхность, которой она коснется. \ + Уже заржавевшие поверхности разрушаются. Поверхности и структуры можно заставить ржаветь с помощью ПКМ." + gain_text = "На потолке Мансуса ржавчина растет, как мох на камне." next_knowledge = list(/datum/heretic_knowledge/rust_regen) cost = 1 route = PATH_RUST @@ -81,8 +81,8 @@ /datum/heretic_knowledge/rust_regen name = "Leeching Walk" - desc = "Grants you passive healing and resistance to batons while standing over rust." - gain_text = "The speed was unparalleled, the strength unnatural. The Blacksmith was smiling." + desc = "Дает вам пассивное исцеление и устойчивость к батонам, когда вы стоите над ржавчиной." + gain_text = "Скорость была беспрецедентной, сила - неестественной. Кузнец улыбался." next_knowledge = list( /datum/heretic_knowledge/mark/rust_mark, /datum/heretic_knowledge/armor, @@ -144,9 +144,9 @@ /datum/heretic_knowledge/mark/rust_mark name = "Mark of Rust" - desc = "Your Mansus Grasp now applies the Mark of Rust. The mark is triggered from an attack with your Rusty Blade. \ - When triggered, the victim's organs and equipment will have a 75% chance to sustain damage and may be destroyed." - gain_text = "The Blacksmith looks away. To a place lost long ago. \"Rusted Hills help those in dire need... at a cost.\"" + desc = "Ваша Хватка Мансуса теперь накладывает Метку ржавчины. Метка срабатывает при атаке вашим Ржавым клинком. \ + При срабатывании органы и оборудование жертвы с вероятностью 75% получат повреждения и могут быть уничтожены." + gain_text = "Кузнец смотрит вдаль. В давно потерянное место. \"Ржавые Холмы помогают остро нуждающимся... за определенную плату.\"" next_knowledge = list(/datum/heretic_knowledge/knowledge_ritual/rust) route = PATH_RUST mark_type = /datum/status_effect/eldritch/rust @@ -157,10 +157,10 @@ /datum/heretic_knowledge/spell/rust_construction name = "Rust Construction" - desc = "Grants you Rust Construction, a spell that allows you to raise a wall out of a rusted floor. \ - Anyone overtop the wall will be throw aside (or upwards) and sustain damage." - gain_text = "Images of foreign and ominous structures began to dance in my mind. Covered head to toe in thick rust, \ - they no longer looked man made. Or perhaps they never were in the first place." + desc = "Дает вам Rust Construction - заклинание, позволяющее возвести стену из ржавого пола. \ + Любой человек, находящийся над стеной, будет отброшен в сторону (или вверх) и получит урон." + gain_text = "В моем сознании начали плясать образы иноземных и зловещих сооружений. Покрытые с ног до головы толстым слоем ржавчины, \ + они больше не выглядели рукотворными. А может быть, они вообще никогда и не существовали." next_knowledge = list(/datum/heretic_knowledge/spell/area_conversion) spell_to_add = /datum/action/cooldown/spell/pointed/rust_construction cost = 1 @@ -168,9 +168,9 @@ /datum/heretic_knowledge/spell/area_conversion name = "Aggressive Spread" - desc = "Grants you Aggressive Spread, a spell that spreads rust to nearby surfaces. \ - Already rusted surfaces are destroyed." - gain_text = "All wise men know well not to visit the Rusted Hills... Yet the Blacksmith's tale was inspiring." + desc = "Дает вам заклинание Aggressive Spread, которое распространяет ржавчину на близлежащие поверхности. \ + Уже заржавевшие поверхности разрушаются." + gain_text = "Все разумные люди хорошо знают, что не стоит посещать Ржавые Холмы... Но рассказ Кузнеца был вдохновляющим." next_knowledge = list( /datum/heretic_knowledge/blade_upgrade/rust, /datum/heretic_knowledge/reroll_targets, @@ -184,9 +184,9 @@ /datum/heretic_knowledge/blade_upgrade/rust name = "Toxic Blade" - desc = "Your Rusty Blade now poisons enemies on attack." - gain_text = "The Blacksmith hands you their blade. \"The Blade will guide you through the flesh, should you let it.\" \ - The heavy rust weights it down. You stare deeply into it. The Rusted Hills call for you, now." + desc = "Ваш Ржавый клинок теперь отравляет врагов при атаке." + gain_text = "Кузнец протягивает вам свой клинок. \"Клинок проведет тебя через плоть, если ты позволишь ему.\" \ + Тяжелая ржавчина утяжеляет клинок. Вы пристально вглядываетесь в него. Ржавые Холмы зовут тебя." next_knowledge = list(/datum/heretic_knowledge/spell/entropic_plume) route = PATH_RUST @@ -196,11 +196,11 @@ /datum/heretic_knowledge/spell/entropic_plume name = "Entropic Plume" - desc = "Grants you Entropic Plume, a spell that releases a vexing wave of Rust. \ - Blinds, poisons, and inflicts Amok on any heathen it hits, causing them to strike \ - at friend or foe wildly. Also rusts and destroys and surfaces it hits." - gain_text = "The corrosion was unstoppable. The rust was unpleasable. \ - The Blacksmith was gone, and you hold their blade. Champions of hope, the Rustbringer is nigh!" + desc = "Дарует вам Entropic Plume, заклинание, выпускающее досаждающую волну ржавчины. \ + Ослепляет, отравляет и накладывает Amok на всех попавших язычников, заставляя их дико нападать \ + на друзей или врагов. Также ржавеет и разрушает поверхности, на которые попадает." + gain_text = "Коррозия была неостановима. Ржавчина была неприятной. \ + Кузнец ушел, ты держишь его клинок. Чемпионы надежды, Повелитель ржавчины близок!" next_knowledge = list( /datum/heretic_knowledge/ultimate/rust_final, /datum/heretic_knowledge/summon/rusty, @@ -212,13 +212,13 @@ /datum/heretic_knowledge/ultimate/rust_final name = "Rustbringer's Oath" - desc = "The ascension ritual of the Path of Rust. \ - Bring 3 corpses to a transmutation rune on the bridge of the station to complete the ritual. \ - When completed, the ritual site will endlessly spread rust onto any surface, stopping for nothing. \ - Additionally, you will become extremely resilient on rust, healing at triple the rate \ - and becoming immune to many effects and dangers." - gain_text = "Champion of rust. Corruptor of steel. Fear the dark, for the RUSTBRINGER has come! \ - The Blacksmith forges ahead! Rusted Hills, CALL MY NAME! WITNESS MY ASCENSION!" + desc = "Ритуал вознесения Пути ржавчины. \ + Принесите 3 трупа к руне трансмутации на мостик станции, чтобы завершить ритуал. \ + После завершения, ритуальное место будет бесконечно распространять ржавчину на любую поверхность, не останавливаясь ни перед чем. \ + Кроме того, вы станете чрезвычайно стойкими на ржавчине, исцеляясь втрое быстрее \ + и приобретая иммунитет ко многим эффектам и опасностям." + gain_text = "Чемпион ржавчины. Разлагатель стали. Бойся темноты, ибо пришел ПОВЕЛИТЕЛЬ РЖАВЧИНЫ! \ + Работа Кузнеца продолжается! Ржавые Холмы, УСЛЫШЬТЕ МОЕ ИМЯ! УЗРИТЕ МОЕ ВОЗНЕСЕНИЕ!" route = PATH_RUST /// If TRUE, then immunities are currently active. var/immunities_active = FALSE @@ -252,7 +252,7 @@ if(ritual_location) var/area/our_area = get_area(loc) if(!istype(our_area, ritual_location)) - loc.balloon_alert(user, "ritual failed, must be in [initial(ritual_location.name)]!") // "must be in bridge" + loc.balloon_alert(user, "ритуал провален, должны быть в [initial(ritual_location.name)]!") // "must be in bridge" return FALSE return ..() @@ -260,7 +260,7 @@ /datum/heretic_knowledge/ultimate/rust_final/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) . = ..() priority_announce( - text = "[generate_heretic_text()] Fear the decay, for the Rustbringer, [user.real_name] has ascended! None shall escape the corrosion! [generate_heretic_text()]", + text = "[generate_heretic_text()] Бойтесь разложения, ведь Повелитель ржавчины, [user.real_name] вознесся! Никто не избежит коррозии! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = ANNOUNCER_SPANOMALIES, color_override = "pink", diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm index 3749e37fe6af1..65bfb6045eade 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm @@ -3,7 +3,7 @@ /// Screen alert for the below status effect. /atom/movable/screen/alert/status_effect/unholy_determination name = "Unholy Determination" - desc = "You appear in a unfamiliar room. The darkness begins to close in. Panic begins to set in. There is no time. Fight on, or die!" + desc = "Вы появляетесь в незнакомой комнате. Темнота начинает смыкаться. Начинается паника. Времени нет. Сражайтесь или умрите!" icon_state = "wounded" /// The buff given to people within the shadow realm to assist them in surviving. @@ -34,12 +34,12 @@ // In softcrit you're, strong enough to stay up. if(owner.health <= owner.crit_threshold && owner.health >= owner.hardcrit_threshold) if(prob(5)) - to_chat(owner, span_hypnophrase("Your body feels like giving up, but you fight on!")) + to_chat(owner, span_hypnophrase("Ваше тело готово сдаться, но вы продолжаете бороться!")) healing_amount *= 2 // ...But reach hardcrit and you're done. You now die faster. if (owner.health < owner.hardcrit_threshold) if(prob(5)) - to_chat(owner, span_big(span_hypnophrase("You can't hold on for much longer..."))) + to_chat(owner, span_big(span_hypnophrase("Вы не сможете долго держаться..."))) healing_amount *= -0.5 if(owner.health > owner.crit_threshold && prob(4)) diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm index 797d754ea0b0b..9723bf62f47e6 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm @@ -10,8 +10,8 @@ */ /datum/heretic_knowledge/hunt_and_sacrifice name = "Heartbeat of the Mansus" - desc = "Allows you to sacrifice targets to the Mansus by bringing them to a rune in critical (or worse) condition. \ - If you have no targets, stand on a transmutation rune and invoke it to acquire some." + desc = "Позволяет приносить цели в жертву Мансусу, доставляя их к руне в критическом (или худшем) состоянии. \ + Если у вас нет целей, встаньте на руну трансмутации и вызовите ее для получения целей." required_atoms = list(/mob/living/carbon/human = 1) cost = 0 priority = MAX_KNOWLEDGE_PRIORITY // Should be at the top @@ -58,7 +58,7 @@ // You may wonder why we don't straight up prevent them from invoking the ritual if they don't have one - // Hunt and sacrifice should always be invokable for clarity's sake, even if it'll fail immediately. if(heretic_datum.has_living_heart() != HERETIC_HAS_LIVING_HEART) - loc.balloon_alert(user, "ritual failed, no living heart!") + loc.balloon_alert(user, "ритуал провален, нет живого сердца!") return FALSE // We've got no targets set, let's try to set some. @@ -79,7 +79,7 @@ return TRUE // or FALSE if we don't - loc.balloon_alert(user, "ritual failed, no sacrifice found!") + loc.balloon_alert(user, "ритуал провален, нет жертвы для приношения!") return FALSE /datum/heretic_knowledge/hunt_and_sacrifice/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) @@ -88,7 +88,7 @@ if(obtain_targets(user, heretic_datum = heretic_datum)) return TRUE else - loc.balloon_alert(user, "ritual failed, no targets found!") + loc.balloon_alert(user, "ритуал провален, цель не обнаружена!") return FALSE sacrifice_process(user, selected_atoms, loc) @@ -118,7 +118,7 @@ if(!length(valid_targets)) if(!silent) - to_chat(user, span_hierophant_warning("No sacrifice targets could be found!")) + to_chat(user, span_hierophant_warning("Не удалось найти ни одной цели!")) return FALSE // Now, let's try to get four targets. @@ -156,12 +156,12 @@ target_sanity++ if(!silent) - to_chat(user, span_danger("Your targets have been determined. Your Living Heart will allow you to track their position. Go and sacrifice them!")) + to_chat(user, span_danger("Ваши цели были определены. Ваше живое сердце позволит вам отслеживать их положение. Идите и принесите их в жертву!")) for(var/datum/mind/chosen_mind as anything in final_targets) heretic_datum.add_sacrifice_target(chosen_mind.current) if(!silent) - to_chat(user, span_danger("[chosen_mind.current.real_name], the [chosen_mind.assigned_role?.title].")) + to_chat(user, span_danger("[chosen_mind.current.real_name], [chosen_mind.assigned_role?.title].")) return TRUE @@ -186,12 +186,12 @@ LAZYADD(target_blacklist, sacrifice.mind) heretic_datum.remove_sacrifice_target(sacrifice) - var/feedback = "Your patrons accept your offer" + var/feedback = "Ваши покровители принимают ваше предложение" var/sac_job_flag = sacrifice.mind?.assigned_role?.job_flags | sacrifice.last_mind?.assigned_role?.job_flags if(sac_job_flag & JOB_HEAD_OF_STAFF) heretic_datum.knowledge_points++ heretic_datum.high_value_sacrifices++ - feedback += " graciously" + feedback += " с великодушием" to_chat(user, span_hypnophrase("[feedback].")) heretic_datum.total_sacrifices++ @@ -224,7 +224,7 @@ var/turf/destination = get_turf(destination_landmark) - sac_target.visible_message(span_danger("[sac_target] begins to shudder violenty as dark tendrils begin to drag them into thin air!")) + sac_target.visible_message(span_danger("[sac_target] начинает сильно дрожать, когда темные усики начинают затягивать их в воздух!")) sac_target.set_handcuffed(new /obj/item/restraints/handcuffs/energy/cult(sac_target)) sac_target.update_handcuffed() @@ -244,13 +244,13 @@ // If our target is dead, try to revive them // and if we fail to revive them, don't proceede the chain sac_target.adjustOxyLoss(-100, FALSE) - if(!sac_target.heal_and_revive(50, span_danger("[sac_target]'s heart begins to beat with an unholy force as they return from death!"))) + if(!sac_target.heal_and_revive(50, span_danger("Сердце [sac_target] начинает биться с нечестивой силой, когда они вернулись из мертвых!"))) return if(sac_target.AdjustUnconscious(SACRIFICE_SLEEP_DURATION)) - to_chat(sac_target, span_hypnophrase("Your mind feels torn apart as you fall into a shallow slumber...")) + to_chat(sac_target, span_hypnophrase("Ваш разум словно разрывается на части, когда вы погружаетесь в неглубокую дрему...")) else - to_chat(sac_target, span_hypnophrase("Your mind begins to tear apart as you watch dark tendrils envelop you.")) + to_chat(sac_target, span_hypnophrase("Ваш разум начинает разрываться на части, когда вы видите, как темные усики окутывают вас.")) sac_target.AdjustParalyzed(SACRIFICE_SLEEP_DURATION * 1.2) sac_target.AdjustImmobilized(SACRIFICE_SLEEP_DURATION * 1.2) @@ -287,11 +287,11 @@ // and we fail to revive them (using a lower number than before), // just disembowel them and stop the chain sac_target.adjustOxyLoss(-100, FALSE) - if(!sac_target.heal_and_revive(60, span_danger("[sac_target]'s heart begins to beat with an unholy force as they return from death!"))) + if(!sac_target.heal_and_revive(60, span_danger("Сердце [sac_target] начинает биться с нечестивой силой, когда они вернулись из мертвых!"))) disembowel_target(sac_target) return - to_chat(sac_target, span_big(span_hypnophrase("Unnatural forces begin to claw at your every being from beyond the veil."))) + to_chat(sac_target, span_big(span_hypnophrase("Неестественные силы начинают терзать вас из-за завесы."))) sac_target.apply_status_effect(/datum/status_effect/unholy_determination, SACRIFICE_REALM_DURATION) addtimer(CALLBACK(src, PROC_REF(after_target_wakes), sac_target), SACRIFICE_SLEEP_DURATION * 0.5) // Begin the minigame @@ -327,8 +327,8 @@ sac_target.adjust_hallucinations(24 SECONDS) sac_target.emote("scream") - to_chat(sac_target, span_reallybig(span_hypnophrase("The grasp of the Mansus reveal themselves to you!"))) - to_chat(sac_target, span_hypnophrase("You feel invigorated! Fight to survive!")) + to_chat(sac_target, span_reallybig(span_hypnophrase("Хватка Мансуса раскрывается перед вами!"))) + to_chat(sac_target, span_hypnophrase("Вы чувствуете бодрость! Боритесь за выживание!")) // When it runs out, let them know they're almost home free addtimer(CALLBACK(src, PROC_REF(after_helgrasp_ends), sac_target), helgrasp_time) // Win condition @@ -344,7 +344,7 @@ if(QDELETED(sac_target) || sac_target.stat == DEAD) return - to_chat(sac_target, span_hypnophrase("The worst is behind you... Not much longer! Hold fast, or expire!")) + to_chat(sac_target, span_hypnophrase("Худшее позади... Осталось совсем чуть-чуть! Держитесь, или погибнете!")) /** * This proc is called from [proc/begin_sacrifice] if the target survived the shadow realm), or [COMSIG_LIVING_DEATH] if they don't. @@ -407,13 +407,13 @@ if(heretic_mind?.current) var/composed_return_message = "" - composed_return_message += span_notice("Your victim, [sac_target], was returned to the station - ") + composed_return_message += span_notice("Ваша жертва, [sac_target], была возвращена на станцию - ") if(sac_target.stat == DEAD) - composed_return_message += span_red("dead. ") + composed_return_message += span_red("мертвой. ") else - composed_return_message += span_green("alive, but with a shattered mind. ") + composed_return_message += span_green("живой, но с разбитым сознанием. ") - composed_return_message += span_notice("You hear a whisper... ") + composed_return_message += span_notice("Вы слышите шепот... ") composed_return_message += span_hypnophrase(get_area_name(safe_turf, TRUE)) to_chat(heretic_mind.current, composed_return_message) @@ -434,7 +434,7 @@ /datum/heretic_knowledge/hunt_and_sacrifice/proc/on_target_escape(mob/living/carbon/human/sac_target, old_z, new_z) SIGNAL_HANDLER - to_chat(sac_target, span_boldwarning("Your attempt to escape the Mansus is not taken kindly!")) + to_chat(sac_target, span_boldwarning("Ваша попытка сбежать от Мансуса не воспринята хорошо!")) // Ends up calling return_target() via death signal to clean up. disembowel_target(sac_target) @@ -444,11 +444,11 @@ * Gives the sacrifice target some after effects upon ariving back to reality. */ /datum/heretic_knowledge/hunt_and_sacrifice/proc/after_return_live_target(mob/living/carbon/human/sac_target) - to_chat(sac_target, span_hypnophrase("The fight is over, but at great cost. You have been returned to the station in one piece.")) + to_chat(sac_target, span_hypnophrase("Борьба окончена, но высокой ценой. Вы вернулись на станцию невредимыми.")) if(IS_HERETIC(sac_target)) - to_chat(sac_target, span_big(span_hypnophrase("You don't remember anything leading up to the experience, but you feel your connection with the Mansus weakened - Knowledge once known, forgotten..."))) + to_chat(sac_target, span_big(span_hypnophrase("Вы не помните ничего из того, что предшествовало этому событию, но чувствуете, что ваша связь с Мансусам была ослаблена - Знание было забыто..."))) else - to_chat(sac_target, span_big(span_hypnophrase("You don't remember anything leading up to the experience - All you can think about are those horrific hands..."))) + to_chat(sac_target, span_big(span_hypnophrase("Вы не помните ничего из того, что предшествовало этому событию - все, о чем вы можете думать, это те ужасные руки..."))) // Oh god where are we? sac_target.flash_act() @@ -477,12 +477,12 @@ * it spawns a special red broken illusion on their spot, for style. */ /datum/heretic_knowledge/hunt_and_sacrifice/proc/after_return_dead_target(mob/living/carbon/human/sac_target) - to_chat(sac_target, span_hypnophrase("You failed to resist the horrors of the Mansus! Your ruined body has been returned to the station.")) - to_chat(sac_target, span_big(span_hypnophrase("The experience leaves your mind torn and memories tattered. You will not remember anything leading up to the experience if revived."))) + to_chat(sac_target, span_hypnophrase("Вы не смогли противостоять ужасам Мансуса! Ваше разрушенное тело было возвращено на станцию.")) + to_chat(sac_target, span_big(span_hypnophrase("В результате пережитого события ваш разум разрывается, а воспоминания становятся обрывочными. После оживления вы не будете помнить ничего из того, что предшествовало этому событию."))) var/obj/effect/visible_heretic_influence/illusion = new(get_turf(sac_target)) illusion.name = "\improper weakened rift in reality" - illusion.desc = "A rift wide enough for something... or someone... to come through." + illusion.desc = "Разрыв достаточно широк, чтобы что-то... или кто-то... мог пройти через него." illusion.color = COLOR_DARK_RED /** @@ -498,8 +498,8 @@ sac_target.investigate_log("has been killed by heretic sacrifice.", INVESTIGATE_DEATHS) sac_target.death() sac_target.visible_message( - span_danger("[sac_target]'s organs are pulled out of [sac_target.p_their()] chest by shadowy hands!"), - span_userdanger("Your organs are violently pulled out of your chest by shadowy hands!") + span_danger("Органы [sac_target] вытаскиваются из их груди теневыми руами!"), + span_userdanger("Ваши органы жестоко вытаскиваются из груди теневыми руками!") ) new /obj/effect/gibspawner/human/bodypartless(get_turf(sac_target)) diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm index bc6cb750b219a..0953db4571aad 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm @@ -41,7 +41,7 @@ GLOBAL_LIST_EMPTY(heretic_sacrifice_landmarks) // A fluff signpost object that doesn't teleport you somewhere when you touch it. /obj/structure/no_effect_signpost name = "signpost" - desc = "Won't somebody give me a sign?" + desc = "Кто-нибудь подаст мне знак?" icon = 'icons/obj/fluff/general.dmi' icon_state = "signpost" anchored = TRUE @@ -49,7 +49,7 @@ GLOBAL_LIST_EMPTY(heretic_sacrifice_landmarks) /obj/structure/no_effect_signpost/void name = "signpost at the edge of the universe" - desc = "A direction in the directionless void." + desc = "Направление в беспорядочной пустоте." density = FALSE /// Brightness of the signpost. var/range = 2 diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_moodlets.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_moodlets.dm index 48724b0d0911c..e31c3c7a669d8 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_moodlets.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_moodlets.dm @@ -1,20 +1,20 @@ // Some moodlets involved in the sacrifice process. /datum/mood_event/shadow_realm - description = "Where am I?!" + description = "Где я?!" mood_change = -15 timeout = 3 MINUTES /datum/mood_event/shadow_realm_live - description = "I'm alive... I'm alive!!" + description = "Я жив... Я жив!!" mood_change = 4 timeout = 5 MINUTES /datum/mood_event/shadow_realm_live_sad - description = "The hands! The horrible, horrific hands! I see them when I close my eyes!" + description = "Руки! Ужасные, ужасные руки! Я вижу их, даже когда закрываю глаза!" mood_change = -6 timeout = 10 MINUTES /datum/mood_event/shadow_realm_live_sad_heretic - description = "I've been humiliated! My knowledge sapped from my being! The world feels much duller again..." + description = "Я был унижен! Мои знания высосаны из меня! Мир снова становится тусклым..." mood_change = -8 timeout = 8 MINUTES diff --git a/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm b/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm index a4810c706c118..450bf93b1f00b 100644 --- a/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm +++ b/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm @@ -1,9 +1,9 @@ // Sidepaths for knowledge between Ash and Flesh. /datum/heretic_knowledge/medallion name = "Ashen Eyes" - desc = "Allows you to transmute a pair of eyes, a candle, and a glass shard into an Eldritch Medallion. \ - The Eldritch Medallion grants you thermal vision while worn, and also functions as a focus." - gain_text = "Piercing eyes guided them through the mundane. Neither darkness nor terror could stop them." + desc = "Позволяет трансмутировать пару глаз, свечу и осколок стекла в Мистический медальон. \ + Мистический медальон дает вам термальное зрение при ношении, а также действует как фокус." + gain_text = "Пронзительные глаза вели их сквозь обыденность. Ни тьма, ни ужас не могли остановить их." next_knowledge = list( /datum/heretic_knowledge/spell/ash_passage, /datum/heretic_knowledge/spell/moon_smile, @@ -19,10 +19,10 @@ /datum/heretic_knowledge/curse/paralysis name = "Curse of Paralysis" - desc = "Allows you to transmute a hatchet and both a left and right leg to cast a curse of immobility on a crew member. \ - While cursed, the victim will be unable to walk. You can additionally supply an item that a victim has touched \ - or is covered in the victim's blood to make the curse last longer." - gain_text = "The flesh of humanity is weak. Make them bleed. Show them their fragility." + desc = "Позволяет трансмутировать топорик и левую, и правую ногу, чтобы наложить проклятие неподвижности на члена экипажа. \ + Во время проклятия жертва не сможет ходить. Для увеличения длительности проклятия можно дополнительно предоставить предмет, к которому прикасалась \ + ертва или который покрыт кровью жертвы." + gain_text = "Плоть человечества слаба. Заставьте их истечь кровью. Покажите им их хрупкость." next_knowledge = list( /datum/heretic_knowledge/mad_mask, /datum/heretic_knowledge/moon_amulette, @@ -40,10 +40,10 @@ /datum/heretic_knowledge/curse/paralysis/curse(mob/living/carbon/human/chosen_mob, boosted = FALSE) if(chosen_mob.usable_legs <= 0) // What're you gonna do, curse someone who already can't walk? - to_chat(chosen_mob, span_notice("You feel a slight pain for a moment, but it passes shortly. Odd.")) + to_chat(chosen_mob, span_notice("На мгновение вы чувствуете легкую боль, но она вскоре проходит. Странно.")) return - to_chat(chosen_mob, span_danger("You suddenly lose feeling in your leg[chosen_mob.usable_legs == 1 ? "":"s"]!")) + to_chat(chosen_mob, span_danger("Вы внезапно перестаете чувствовать ног[chosen_mob.usable_legs == 1 ? "у" : "и"]!")) chosen_mob.add_traits(list(TRAIT_PARALYSIS_L_LEG, TRAIT_PARALYSIS_R_LEG), type) return ..() @@ -53,15 +53,15 @@ chosen_mob.remove_traits(list(TRAIT_PARALYSIS_L_LEG, TRAIT_PARALYSIS_R_LEG), type) if(chosen_mob.usable_legs > 1) - to_chat(chosen_mob, span_green("You regain feeling in your leg[chosen_mob.usable_legs == 1 ? "":"s"]!")) + to_chat(chosen_mob, span_green("Вы снова чувствуете ног[chosen_mob.usable_legs == 1 ? "у":"и"]!")) return ..() /datum/heretic_knowledge/summon/ashy name = "Ashen Ritual" - desc = "Allows you to transmute a head, a pile of ash, and a book to create an Ash Spirit. \ - Ash Spirits have a short range jaunt and the ability to cause bleeding in foes at range. \ - They also have the ability to create a ring of fire around themselves for a length of time." - gain_text = "I combined my principle of hunger with my desire for destruction. The Marshal knew my name, and the Nightwatcher gazed on." + desc = "Позволяет трансмутировать голову, кучу пепла и книгу, чтобы создать Пепельного духа. \ + Пепельные духи обладают коротким джаунтом и способностью вызывать кровотечение у противников на расстоянии. \ + Они также обладают способностью создавать вокруг себя огненное кольцо на длительное время." + gain_text = "Я объединил свой принцип голода с желанием разрушения. Маршал знал мое имя, а Ночной дозорный наблюдал." next_knowledge = list( /datum/heretic_knowledge/spell/flame_birth, /datum/heretic_knowledge/spell/moon_ringleader, diff --git a/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm b/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm index e8c14d16abeca..ef24ad1b38dea 100644 --- a/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm +++ b/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm @@ -1,10 +1,10 @@ // Sidepaths for knowledge between Rust and Blade. /datum/heretic_knowledge/armor name = "Armorer's Ritual" - desc = "Allows you to transmute a table and a gas mask to create Eldritch Armor. \ - Eldritch Armor provides great protection while also acting as a focus when hooded." - gain_text = "The Rusted Hills welcomed the Blacksmith in their generosity. And the Blacksmith \ - returned their generosity in kind." + desc = "Позволяет трансмутировать стол и противогаз для создания Мистической брони. \ + Мистическая броня обеспечивает отличную защиту, а также действует как фокус, когда на него накинут капюшон." + gain_text = "Ржавые Холмы приветствовали Кузнеца в своей щедрости. И Кузнец \ + ответил им щедростью на щедрость." next_knowledge = list( /datum/heretic_knowledge/rust_regen, /datum/heretic_knowledge/blade_dance, @@ -19,10 +19,10 @@ /datum/heretic_knowledge/crucible name = "Mawed Crucible" - desc = "Allows you to transmute a portable water tank and a table to create a Mawed Crucible. \ - The Mawed Crubile can brew powerful potions for combat and utility, but must be fed bodyparts and organs between uses." - gain_text = "This is pure agony. I wasn't able to summon the figure of the Aristocrat, \ - but with the Priest's attention I stumbled upon a different recipe..." + desc = "Позволяет трансмутировать переносной ватер танк и стол для создания Голодного горнила. \ + Голодное горнило может варить мощные боевые и полезные зелья, но между их употреблениями его нужно кормить частями тела и органами." + gain_text = "Это чистая агония. Мне не удалось вызвать образ Аристократа, \ + но благодаря вниманию Жреца я наткнулся на другой рецепт..." next_knowledge = list( /datum/heretic_knowledge/duel_stance, /datum/heretic_knowledge/spell/area_conversion, @@ -37,14 +37,14 @@ /datum/heretic_knowledge/rifle name = "Lionhunter's Rifle" - desc = "Allows you to transmute any ballistic weapon, such as a pipegun, with hide \ - from any animal, a plank of wood, and a camera to create the Lionhunter's rifle. \ - The Lionhunter's Rifle is a long ranged ballistic weapon with three shots. \ - These shots function as normal, albeit weak high caliber mutitions when fired from \ - close range or at inanimate objects. You can aim the rifle at distant foes, \ - causing the shot to deal massively increased damage and hone in on them." - gain_text = "I met an old man in an anique shop who wielded a very unusual weapon. \ - I could not purchase it at the time, but they showed me how they made it ages ago." + desc = "Позволяет трансмутировать любое баллистическое оружие, например, трубное ружье, с помощью шкуры \ + любого животного, доски дерева и камеры в винтовку Lionhunter. \ + Lionhunter - это дальнобойное баллистическое оружие с тремя выстрелами. \ + При стрельбе с близкого расстояния или по неодушевленным предметам эти выстрелы \ + действуют как обычные, хотя и слабые высококалиберные боеприпасы. Вы можете направить винтовку на далеких противников,\ + в результате чего выстрел нанесет значительно больший урон и нацелится на них." + gain_text = "В антикварном магазине я встретил старика, который владел очень необычным оружием. \ + В то время я не мог его приобрести, но они показали мне, как они делали его много лет назад." next_knowledge = list( /datum/heretic_knowledge/duel_stance, /datum/heretic_knowledge/spell/area_conversion, @@ -62,11 +62,11 @@ /datum/heretic_knowledge/rifle_ammo name = "Lionhunter Rifle Ammunition (free)" - desc = "Allows you to transmute 3 ballistic ammo casings (used or unused) of any caliber, \ - including shotgun shot, with any animal hide to create an extra clip of ammunition for the Lionhunter Rifle." - gain_text = "The weapon came with three rough iron balls, intended to be used as ammunition. \ - They were very effective, for simple iron, but used up quickly. I soon ran out. \ - No replacement munitions worked in their stead. It was peculiar in what it wanted." + desc = "Позволяет трансмутировать 3 баллистические гильзы (использованные или неиспользованные) любого калибра, \ + включая дробь, со шкурой любого животного, чтобы создать дополнительную обойму боеприпасов для винтовки Lionhunter." + gain_text = "К оружию прилагались три грубых железных шара, предназначенных для использования в качестве боеприпасов. \ + Они были очень эффективны для простого железа, но быстро расходовались. Вскоре они у меня закончились. \ + Никакие запасные боеприпасы не помогали. Винтовка была своеобразна в том, чего она хотела." required_atoms = list( /obj/item/stack/sheet/animalhide = 1, /obj/item/ammo_casing = 3, @@ -98,8 +98,8 @@ /datum/heretic_knowledge/spell/rust_charge name = "Rust Charge" - desc = "A charge that must be started on a rusted tile and will destroy any rusted objects you come into contact with, will deal high damage to others and rust around you during the charge." - gain_text = "The hills sparkled now, as I neared them my mind began to wander. I quickly regained my resolve and pushed forward, this last leg would be the most treacherous." + desc = "Рывок, который должен начаться на ржавом тайле, уничтожающий все ржавые объекты по пути. Наносит большой урон остальным и создает ржавчину вокруг вас во время рывка." + gain_text = "Холмы сверкали, и по мере приближения мой разум начал метаться. Я быстро вернул свою решимость и устремился вперед, ведь последний этап будет самым коварным." next_knowledge = list( /datum/heretic_knowledge/spell/furious_steel, /datum/heretic_knowledge/spell/entropic_plume, diff --git a/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm b/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm index 14a003ce11c0b..37758eb2b2239 100644 --- a/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm +++ b/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm @@ -2,10 +2,10 @@ /datum/heretic_knowledge/summon/fire_shark name = "Scorching Shark" - desc = "Allows you to transmute a pool of ash, a liver, and a sheet of plasma into a Fire Shark. \ - Fire Sharks are fast and strong in groups, but die quickly. They are also highly resistant against fire attacks. \ - Fire Sharks inject phlogiston into its victims and spawn plasma once they die." - gain_text = "The cradle of the nebula was cold, but not dead. Light and heat flits even through the deepest darkness, and is hunted by its own predators." + desc = "Позволяет трансмутировать лужу пепла, печень и лист плазмы в Огненную акулу. \ + Огненные акулы быстры и сильны в группах, но быстро погибают. Они также очень устойчивы к огненным атакам. \ + Огненные акулы впрыскивают флогистон в своих жертв и порождают плазму после своей смерти." + gain_text = "Колыбель туманности была холодной, но не безжизненной. Свет и тепло проникают даже в самую глубокую тьму, и даже они пища для своих хищников." next_knowledge = list( /datum/heretic_knowledge/spell/cosmic_runes, /datum/heretic_knowledge/spell/ash_passage, @@ -22,9 +22,9 @@ /datum/heretic_knowledge/spell/space_phase name = "Space Phase" - desc = "Grants you Space Phase, a spell that allows you to move freely through space. \ - You can only phase in and out when you are on a space or misc turf." - gain_text = "You feel like your body can move through space as if you where dust." + desc = "Дарует вам Space Phase - заклинание, позволяющее свободно перемещаться в космосе. \ + Появляться и исчезать можно только тогда, когда вы находитесь в на космических или схожих тайлах." + gain_text = "Вы чувствуете, что ваше тело может перемещаться по космосу, как будто вы пылинка." next_knowledge = list( /datum/heretic_knowledge/spell/star_blast, /datum/heretic_knowledge/mad_mask, @@ -35,11 +35,11 @@ /datum/heretic_knowledge/eldritch_coin name = "Eldritch Coin" - desc = "Allows you to transmute a sheet of plasma and a diamond to create an Eldritch Coin. \ - The coin will open or close nearby doors when landing on heads and toggle their bolts \ - when landing on tails. If you insert the coin into an airlock, it will be consumed \ - to fry its electronics, opening the airlock permanently unless bolted. " - gain_text = "The Mansus is a place of all sorts of sins. But greed held a special role." + desc = "Позволяет трансмутировать лист плазмы и алмаз, чтобы создать Мистическую монету. \ + Монета будет открывать или закрывать близлежащие двери, если приземлится на орла, и болтировать или отболтировать их, \ + если приземлится на решку. Если вы вставите монету в дверь, монета будет использована, \ + чтобы спалить электронику, открывая и болтируя дверь навсегда. " + gain_text = "Мансус это место для всевозможных грехов. Но жадность имела особую роль." next_knowledge = list( /datum/heretic_knowledge/spell/cosmic_expansion, /datum/heretic_knowledge/spell/flame_birth, diff --git a/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm b/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm index 4a315575d61b7..c85ea8da6acba 100644 --- a/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm +++ b/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm @@ -2,11 +2,11 @@ /datum/heretic_knowledge/void_cloak name = "Void Cloak" - desc = "Allows you to transmute a glass shard, a bedsheet, and any outer clothing item (such as armor or a suit jacket) \ - to create a Void Cloak. While the hood is down, the cloak functions as a focus, \ - and while the hood is up, the cloak is completely invisible. It also provide decent armor and \ - has pockets which can hold one of your blades, various ritual components (such as organs), and small heretical trinkets." - gain_text = "The Owl is the keeper of things that are not quite in practice, but in theory are. Many things are." + desc = "Позволяет трансмутировать осколок стекла, простыню и любой предмет верхней одежды (например, броню или куртку), \ + чтобы создать Пустотный плащ. Пока капюшон опущен, плащ работает как фокусировка, \ + а когда капюшон поднят, плащ полностью невидим. Он также обеспечивает достойную броню \ + и имеет карманы, в которых можно хранить один из ваших клинков, различные ритуальные компоненты (например, органы) и небольшие еретические безделушки." + gain_text = "Сова - хранительница вещей, которые на практике не совсем таковы, но в теории таковыми являются. Многие вещи таковыми являются." next_knowledge = list( /datum/heretic_knowledge/limited_amount/flesh_ghoul, /datum/heretic_knowledge/cold_snap, @@ -22,9 +22,9 @@ /datum/heretic_knowledge/spell/blood_siphon name = "Blood Siphon" - desc = "Grants you Blood Siphon, a spell that drains a victim of blood and health, transferring it to you. \ - Also has a chance to transfer wounds from you to the victim." - gain_text = "\"No matter the man, we bleed all the same.\" That's what the Marshal told me." + desc = "Дает вам Blood Siphon, заклинание, которое истощает кровь и здоровье жертвы, передавая их вам. \ + Также имеет шанс передать раны от вас к жертве." + gain_text = "\"Независимо от человека, кровь у нас течет одинаково.\" Так мне сказал Маршал." next_knowledge = list( /datum/heretic_knowledge/spell/void_phase, /datum/heretic_knowledge/summon/raw_prophet, @@ -35,10 +35,10 @@ /datum/heretic_knowledge/spell/cleave name = "Blood Cleave" - desc = "Grants you Cleave, an area-of-effect targeted spell \ - that causes heavy bleeding and blood loss to anyone afflicted." - gain_text = "At first I didn't understand these instruments of war, but the Priest \ - told me to use them regardless. Soon, he said, I would know them well." + desc = "Дает вам Cleave, заклинание с выбором цели с действием по области \ + которое вызывает сильное кровотечение и потерю крови у всех попавших." + gain_text = "Сначала я не понимал этих инструментов войны, но Жрец \ + сказал мне использовать их независимо от этого. Скоро, сказал он, я буду знать их хорошо." next_knowledge = list( /datum/heretic_knowledge/summon/stalker, /datum/heretic_knowledge/spell/void_pull, diff --git a/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm b/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm index 74013f2b0bd1d..50f9867847d85 100644 --- a/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm +++ b/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm @@ -1,10 +1,10 @@ // Sidepaths for knowledge between Knock and Flesh. /datum/heretic_knowledge/spell/opening_blast name = "Wave Of Desperation" - desc = "Grants you Wave Of Desparation, a spell which can only be cast while restrained. \ - It removes your restraints, repels and knocks down adjacent people, and applies the Mansus Grasp to everything nearby. \ - However, you will fall unconscious a short time after casting this spell." - gain_text = "My shackles undone in dark fury, their feeble bindings crumble before my power." + desc = "Дает заклинание Wave Of Desparation, которое можно использовать только связанным. \ + Снимает связки, отталкивает и сбивает с ног находящихся рядом людей, а также накладывает на них некоторые эффекты Хватки Мансуса. \ + Однако, вы потеряете сознание на короткий срок после использования" + gain_text = "Мои оковы разрываются в темной ярости, их слабые цепи рассыпаются перед моей силой" next_knowledge = list( /datum/heretic_knowledge/summon/raw_prophet, /datum/heretic_knowledge/spell/burglar_finesse, @@ -15,10 +15,10 @@ /datum/heretic_knowledge/spell/apetra_vulnera name = "Apetra Vulnera" - desc = "Grants you Apetra Vulnera, a spell \ - which causes heavy bleeding on all bodyparts of the victim that have more than 15 brute damage. \ - Wounds a random limb if no limb is sufficiently damaged." - gain_text = "Flesh opens, and blood spills. My master seeks sacrifice, and I shall appease." + desc = "Дает заклинание Apetra Vulnera, которое \ + вызывает обильное кровотечение из каждой части тела, которое имеет более, чем 15 физического урона. \ + Накладывает травму на случайную часть тела, если не найдены подходящие части тела." + gain_text = "Плоть открывается, кровь проливается. Мой хозяин ищет жертвоприношения, и я умиротворю его." next_knowledge = list( /datum/heretic_knowledge/summon/stalker, /datum/heretic_knowledge/spell/caretaker_refuge, diff --git a/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm b/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm index f1dd564310be5..ac3e2549c2cb0 100644 --- a/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm +++ b/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm @@ -2,10 +2,10 @@ /datum/heretic_knowledge/spell/mind_gate name = "Mind Gate" - desc = "Grants you Mind Gate, a spell \ - which deals you 20 brain damage but the target suffers a hallucination,\ - is left confused for 10 seconds, suffers oxygen loss and brain damage." - gain_text = "My mind swings open like a gate, and its insight will let me percieve the truth." + desc = "Дает вам заклинание Mind Gate, которое \ + наносит вам 20 урона мозгу, и накладывает галлюцинации на цель, \ + замешательство на 10 секунд, потерю дыхания и урон мозгу." + gain_text = "Мой разум распахивается, словно врата, и его озарение позволяет мне постичь правду." next_knowledge = list( /datum/heretic_knowledge/key_ring, /datum/heretic_knowledge/spell/moon_smile, @@ -16,11 +16,11 @@ /datum/heretic_knowledge/unfathomable_curio name = "Unfathomable Curio" - desc = "Allows you to transmute 3 rods, lungs and any belt into an Unfathomable Curio\ - , a belt that can hold blades and items for rituals. Whilst worn it will also \ - veil you, allowing you to take 5 hits without suffering damage, this veil will recharge very slowly \ - outside of combat." - gain_text = "The mansus holds many a curio, some are not meant for the mortal eye." + desc = "Позволяет трансмутировать 3 железных стержня, легкие и любой пояс в Непостижимую диковинку\ + , пояс, который может хранить клинки и предметы для ритуалов. Пока вы его носите, \ + он также будет покрывать вас вуалью, позволяющей последующим 5 ударам не наносить по вам урон. \ + Вуаль очень медленно перезаряжается вне боя." + gain_text = "В Мансусе хранится множество диковинок, но некоторые из них не предназначены для глаза смертных." next_knowledge = list( /datum/heretic_knowledge/spell/burglar_finesse, /datum/heretic_knowledge/moon_amulette, @@ -36,16 +36,16 @@ /datum/heretic_knowledge/painting name = "Unsealed Arts" - desc = "Allows you to transmute a canvas and an additional item to create a piece of art, these paintings \ - have different effects depending on the additional item added. Possible paintings: \ - The sister and He Who Wept: Eyes. Clears your own mind, but curses non-heretics with hallucinations. \ - The First Desire: Any bodypart. Supplies you with random organs, but curses non-heretics with a hunger for flesh. \ - Great chaparral over rolling hills: Any grown food. Spreads kudzu when placed and examined by non-heretics. Also supplies you with poppies and harebells. \ - Lady out of gates: Gloves. Clears your mutations, but mutates non-heretics and curses them with scratching. \ - Climb over the rusted mountain: Trash. Curses non-heretics to rust the floor they walk on. \ - Non-heretics can counter most of these effects by examining one of these paintings." - gain_text = "A wind of inspiration blows through me, past the walls and past the gate inspirations lie, yet to be depicted. \ - They yearn for mortal eyes again, and I shall grant that wish." + desc = "Позволяет трансмутировать холст и дополнительный предмет, чтобы создать произведение искусства. \ + Эти картины имеют разные эффекты в зависимости от добавленного предмета. Можно создать следующие картины: \ + Сестра и Тот, Кто Плакал: Глаза. Очищает ваш разум, но проклинает не-еретиков галлюцинациями. \ + Первое Желание: Любая часть тела. Предоставляет вам случайные органы, но проклинает не-еретиков жаждой плоти. \ + Великий чапараль над холмами: Любая выращенная еда. Распространяет кудзу при установке и осмотре не-еретиками. Также дает вам маки и колокольчики. \ + Дама за воротами: Перчатки. Очищает ваши мутации, но мутирует всех не-еретиков и проклинает их чесоткой. \ + Подъем на ржавые горы: Мусло. Проклинает всех не-еретиков, заставляя их оставлять ржавчину на своем пути. \ + Не-еретики могут избавиться от этих эффектов, осматривая эти картины." + gain_text = "Ветер вдохновения дует через меня; за стенами и за вратами лежит вдохновение, которое еще предстоит изобразить \ + Они снова жаждут взгляда смертных, и я исполню это желание." next_knowledge = list( /datum/heretic_knowledge/spell/burglar_finesse, /datum/heretic_knowledge/moon_amulette, diff --git a/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm b/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm index 3d326b4a9af45..b0a46130f0ab7 100644 --- a/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm +++ b/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm @@ -2,10 +2,10 @@ /datum/heretic_knowledge/essence name = "Priest's Ritual" - desc = "Allows you to transmute a tank of water and a glass shard into a Flask of Eldritch Essence. \ - Eldritch water can be consumed for potent healing, or given to heathens for deadly poisoning." - gain_text = "This is an old recipe. The Owl whispered it to me. \ - Created by the Priest - the Liquid that both was and is not." + desc = "Позволяет трансмутировать емкость с водой и осколок стекла в Колбу с мистической эссенцией. \ + Мистическую воду можно употреблять для мощного исцеления или давать язычникам для смертельного отравления." + gain_text = "Это старый рецепт. Сова шепнула мне его. \ + Созданная Жрецом - Жидкость, которая есть, и которой нет." next_knowledge = list( /datum/heretic_knowledge/rust_regen, /datum/heretic_knowledge/spell/cosmic_runes, @@ -20,8 +20,8 @@ /datum/heretic_knowledge/entropy_pulse name = "Pulse of Entropy" - desc = "Allows you to transmute 20 irons and 2 garbage items to fill the surrounding vicinity of the rune with rust." - gain_text = "Reality begins to whisper to me. To give it its entropic end." + desc = "Позволяет трансмутировать 20 железа и 2 мусорных предмета, чтобы заполнить ржавчиной окружение вокруг руны." + gain_text = "Реальность начинает нашептывать мне, чтобы дать ей энтропийный конец." required_atoms = list( /obj/item/stack/sheet/iron = 20, /obj/item/trash = 2 @@ -42,10 +42,10 @@ /datum/heretic_knowledge/curse/corrosion name = "Curse of Corrosion" - desc = "Allows you to transmute wirecutters, a pool of vomit, and a heart to cast a curse of sickness on a crew member. \ - While cursed, the victim will repeatedly vomit while their organs will take constant damage. You can additionally supply an item \ - that a victim has touched or is covered in the victim's blood to make the curse last longer." - gain_text = "The body of humanity is temporary. Their weaknesses cannot be stopped, like iron falling to rust. Show them all." + desc = "Позволяет трансмутировать кусачки, лужу рвоты и сердце, чтобы наложить проклятие болезни на члена экипажа. \ + При проклятии жертву будет постоянно рвать, а ее органы будут получать постоянный урон. Вы можете дополнительно снабдить предмет \ + к которому прикоснулась жертва или который покрыт кровью жертвы, чтобы придать увеличить длительность проклятия." + gain_text = "Тело человечества временно. Их слабости невозможно остановить, как поддающееся ржавчине железо. Покажите им всем." next_knowledge = list( /datum/heretic_knowledge/spell/area_conversion, /datum/heretic_knowledge/spell/star_blast, @@ -62,7 +62,7 @@ route = PATH_SIDE /datum/heretic_knowledge/curse/corrosion/curse(mob/living/carbon/human/chosen_mob, boosted = FALSE) - to_chat(chosen_mob, span_danger("You feel very ill...")) + to_chat(chosen_mob, span_danger("Вы чувствуете себя очень плохо...")) chosen_mob.apply_status_effect(/datum/status_effect/corrosion_curse) return ..() @@ -71,14 +71,14 @@ return chosen_mob.remove_status_effect(/datum/status_effect/corrosion_curse) - to_chat(chosen_mob, span_green("You start to feel better.")) + to_chat(chosen_mob, span_green("Вы начинаете чувствовать себя лучше.")) return ..() /datum/heretic_knowledge/summon/rusty name = "Rusted Ritual" - desc = "Allows you to transmute a pool of vomit, a book, and a head into a Rust Walker. \ - Rust Walkers excel at spreading rust and are moderately strong in combat." - gain_text = "I combined my knowledge of creation with my desire for corruption. The Marshal knew my name, and the Rusted Hills echoed out." + desc = "Позволяет трансмутировать лужу рвоты, книгу и голову в Ржавого ходока. \ + Ржавые ходоки превосходно распространяют ржавчину и умеренно сильны в бою." + gain_text = "Я объединил свои знания о созидании с жаждой коррозии. Маршал знал мое имя, и Ржавые Холмы отозвались эхом." next_knowledge = list( /datum/heretic_knowledge/spell/entropic_plume, /datum/heretic_knowledge/spell/cosmic_expansion, diff --git a/code/modules/antagonists/heretic/knowledge/side_void_blade.dm b/code/modules/antagonists/heretic/knowledge/side_void_blade.dm index e044eee8619ef..f119c5d11b10c 100644 --- a/code/modules/antagonists/heretic/knowledge/side_void_blade.dm +++ b/code/modules/antagonists/heretic/knowledge/side_void_blade.dm @@ -5,13 +5,13 @@ /datum/heretic_knowledge/limited_amount/risen_corpse name = "Shattered Ritual" - desc = "Allows you to transmute a corpse with a soul, a pair of latex or nitrile gloves, and \ - and any exosuit clothing (such as armor) to create a Shattered Risen. \ - Shattered Risen are strong ghouls that have 125 health, but cannot hold items, \ - instead having two brutal weapons for hands. You can only create one at a time." - gain_text = "I witnessed a cold, rending force drag this corpse back to near-life. \ - When it moves, it crunches like broken glass. Its hands are no longer recognizable as human - \ - each clenched fist contains a brutal nest of sharp bone-shards instead." + desc = "Позволяет трансмутировать труп с душой, пару латексных или нитриловых перчаток, \ + и любой костюм, чтобы создать Разбитого восставшего. \ + Разбитые восставшие это сильные гули с 125 здоровья, но не могут держать предметы, \ + вместо этого имеют в руках два жестоких оружия. Вы можете иметь только одного." + gain_text = "Я узрел как холодная, раздирающая сила вернула этот труп к полу-жизни. \ + Движения хрустящие, как сломанное стекло. Руки больше не похожи на человеческие - \ + в каждом сжатом кулаке жестокие гнезда острых костяных осколков." next_knowledge = list( /datum/heretic_knowledge/cold_snap, /datum/heretic_knowledge/blade_dance, @@ -33,33 +33,33 @@ if(body.stat != DEAD) continue if(!IS_VALID_GHOUL_MOB(body) || HAS_TRAIT(body, TRAIT_HUSK)) - to_chat(user, span_hierophant_warning("[body] is not in a valid state to be made into a ghoul.")) + to_chat(user, span_hierophant_warning("[body] не в подходящем состоянии для превращения в гуля.")) continue if(!body.mind) - to_chat(user, span_hierophant_warning("[body] is mindless and cannot be made into a ghoul.")) + to_chat(user, span_hierophant_warning("[body] не имеет разума и не может быть превращен в гуля.")) continue if(!body.client && !body.mind.get_ghost(ghosts_with_clients = TRUE)) - to_chat(user, span_hierophant_warning("[body] is soulless and cannot be made into a ghoul.")) + to_chat(user, span_hierophant_warning("[body] не имеет души и не может быть превращен в гуля.")) continue // We will only accept valid bodies with a mind, or with a ghost connected that used to control the body selected_atoms += body return TRUE - loc.balloon_alert(user, "ritual failed, no valid body!") + loc.balloon_alert(user, "ритуал провален, нет подходящего тела!") return FALSE /datum/heretic_knowledge/limited_amount/risen_corpse/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) var/mob/living/carbon/human/soon_to_be_ghoul = locate() in selected_atoms if(QDELETED(soon_to_be_ghoul)) // No body? No ritual stack_trace("[type] reached on_finished_recipe without a human in selected_atoms to make a ghoul out of.") - loc.balloon_alert(user, "ritual failed, no valid body!") + loc.balloon_alert(user, "ритуал провален, нет подходящего тела!") return FALSE soon_to_be_ghoul.grab_ghost() if(!soon_to_be_ghoul.mind || !soon_to_be_ghoul.client) stack_trace("[type] reached on_finished_recipe without a minded / cliented human in selected_atoms to make a ghoul out of.") - loc.balloon_alert(user, "ritual failed, no valid body!") + loc.balloon_alert(user, "ритуал провален, нет подходящего тела!") return FALSE selected_atoms -= soon_to_be_ghoul @@ -95,7 +95,7 @@ /// The "hand" "weapon" used by shattered risen /obj/item/mutant_hand/shattered_risen name = "bone-shards" - desc = "What once appeared to be a normal human fist, now holds a maulled nest of sharp bone-shards." + desc = "То, что когда-то казалось обычным человеческим кулаком, теперь превратилось в гнездо острых костяных осколков." color = "#001aff" hitsound = SFX_SHATTER force = 16 @@ -122,11 +122,11 @@ /datum/heretic_knowledge/rune_carver name = "Carving Knife" - desc = "Allows you to transmute a knife, a shard of glass, and a piece of paper to create a Carving Knife. \ - The Carving Knife allows you to etch difficult to see traps that trigger on heathens who walk overhead. \ - Also makes for a handy throwing weapon." - gain_text = "Etched, carved... eternal. There is power hidden in everything. I can unveil it! \ - I can carve the monolith to reveal the chains!" + desc = "Позволяет трансмутировать нож, осколок стекла и лист бумаги, чтобы создать Резьбовой нож. \ + Резьбовой нож позволяет вырезать трудноразличимые ловушки, которые срабатывают на язычников, проходящих над ними. \ + Также является удобным метательным оружием." + gain_text = "Высеченные, вырезанные... вечные. Сила скрыта во всем. Я могу раскрыть ее! \ + Я могу вырезать монолит, раскрывающий цепи!" next_knowledge = list( /datum/heretic_knowledge/spell/void_phase, /datum/heretic_knowledge/duel_stance, @@ -142,12 +142,12 @@ /datum/heretic_knowledge/summon/maid_in_mirror name = "Maid in the Mirror" - desc = "Allows you to transmute five sheets of titanium, a flash, a suit of armor, and a pair of lungs \ - to create a Maid in the Mirror. Maid in the Mirrors are decent combatants that can become incorporeal by \ - phasing in and out of the mirror realm, serving as powerful scouts and ambushers. \ - However, they are weak to mortal gaze and take damage by being examined." - gain_text = "Within each reflection, lies a gateway into an unimaginable world of colors never seen and \ - people never met. The ascent is glass, and the walls are knives. Each step is blood, if you do not have a guide." + desc = "Позволяет трансмутировать пять листов титаниума, флэш, броню и пару легких \ + чтобы создать Зеркальную служанку. Зеркальные служанки - достойные бойцы, которые могут становиться бесплотными, \ + переходя в зеркальный мир и обратно, и служат мощными разведчиками и засадчиками. \ + Но они слабы против взгляда смертных и получают урон при осмотре." + gain_text = "Внутри каждого отражения - ворота в невообразимый мир невиданных красок и \ + незнакомых людей. Подъем - стекло, а стены - ножи. Каждый шаг - это кровь, если у вас нет проводника." next_knowledge = list( /datum/heretic_knowledge/spell/void_pull, /datum/heretic_knowledge/spell/furious_steel, diff --git a/code/modules/antagonists/heretic/knowledge/starting_lore.dm b/code/modules/antagonists/heretic/knowledge/starting_lore.dm index f1b5f7f55ea19..db64755556b09 100644 --- a/code/modules/antagonists/heretic/knowledge/starting_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/starting_lore.dm @@ -18,9 +18,9 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) */ /datum/heretic_knowledge/spell/basic name = "Break of Dawn" - desc = "Starts your journey into the Mansus. \ - Grants you the Mansus Grasp, a powerful and upgradable \ - disabling spell that can be cast regardless of having a focus." + desc = "Начните свое путешествие в Мансус. \ + Дарует вам Хватку Мансуса, мощное и улучшаемое обездвиживающее заклинание, \ + которое может быть применено независимо от наличия фокусировки." spell_to_add = /datum/action/cooldown/spell/touch/mansus_grasp cost = 0 route = PATH_START @@ -37,10 +37,10 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) */ /datum/heretic_knowledge/living_heart name = "The Living Heart" - desc = "Grants you a Living Heart, allowing you to track sacrifice targets. \ - Should you lose your heart, you can transmute a poppy and a pool of blood \ - to awaken your heart into a Living Heart. If your heart is cybernetic, \ - you will additionally require a usable organic heart in the transmutation." + desc = "Дарует вам Живое сердце, позволяющее отслеживать жертвенные цели. \ + Если вы потеряете сердце, вы можете трансмутировать мак и лужу крови, \ + чтобы пробудить свое сердце в Живое сердце. Если ваше сердце кибернетическое, \ + то для трансмутации вам дополнительно потребуется пригодное для использования органическое сердце." required_atoms = list( /obj/effect/decal/cleanable/blood = 1, /obj/item/food/grown/poppy = 1, @@ -77,20 +77,20 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) where_to_put_our_heart = look_for_backup our_heretic.living_heart_organ_slot = backup_slot required_organ_type = backup_organs[backup_slot] - to_chat(user, span_boldnotice("As your species does not have a heart, your Living Heart is located in your [look_for_backup.name].")) + to_chat(user, span_boldnotice("Поскольку у вашего вида нет сердца, ваше Живое сердце находится в вашем [look_for_backup.name].")) break if(where_to_put_our_heart) where_to_put_our_heart.AddComponent(/datum/component/living_heart) - desc = "Grants you a Living Heart, tied to your [where_to_put_our_heart.name], \ - allowing you to track sacrifice targets. \ - Should you lose your [where_to_put_our_heart.name], you can transmute a poppy and a pool of blood \ - to awaken your replacement [where_to_put_our_heart.name] into a Living Heart. \ - If your [where_to_put_our_heart.name] is cybernetic, \ - you will additionally require a usable organic [where_to_put_our_heart.name] in the transmutation." + desc = "Дарует вам Живое сердце, привязанное к вашему [where_to_put_our_heart.name], \ + позволяя отслеживать жертвенные цели. \ + Если вы потеряете свое [where_to_put_our_heart.name], вы можете трансмутировать мак и лужу крови, \ + чтобы пробудить ваше [where_to_put_our_heart.name] в Живое сердце. \ + Если ваше [where_to_put_our_heart.name] кибернетическое, \ + вам дополнительно потребуется пригодное для использования органическое [where_to_put_our_heart.name] при трансмутации." else - to_chat(user, span_boldnotice("You don't have a heart, or any chest organs for that matter. You didn't get a Living Heart because of it.")) + to_chat(user, span_boldnotice("У вас нет сердца или каких-либо органов грудной клетки, если на то пошло. Вы не получили Живое сердце из-за этого.")) /datum/heretic_knowledge/living_heart/on_lose(mob/user, datum/antagonist/heretic/our_heretic) var/obj/item/organ/our_living_heart = user.get_organ_slot(our_heretic.living_heart_organ_slot) @@ -108,13 +108,13 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) var/obj/item/organ/our_living_heart = user.get_organ_slot(our_heretic.living_heart_organ_slot) // Obviously you need a heart in your chest to do a ritual on your... heart if(!our_living_heart) - loc.balloon_alert(user, "ritual failed, you have no [our_heretic.living_heart_organ_slot]!") // "you have no heart!" + loc.balloon_alert(user, "ритуал провален, у вас нет [our_heretic.living_heart_organ_slot]!") // "you have no heart!" return FALSE // For sanity's sake, check if they've got a heart - // even though it's not invokable if you already have one, // they may have gained one unexpectantly in between now and then if(HAS_TRAIT(our_living_heart, TRAIT_LIVING_HEART)) - loc.balloon_alert(user, "ritual failed, already have a living heart!") + loc.balloon_alert(user, "ритуал провален, у вас уже есть Живое сердце!") return FALSE // By this point they are making a new heart @@ -125,7 +125,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) // If their current heart is not organic / is synthetic, they need an organic replacement // ...But if our organ-to-be-replaced is unremovable, we're screwed if(our_living_heart.organ_flags & ORGAN_UNREMOVABLE) - loc.balloon_alert(user, "ritual failed, [our_heretic.living_heart_organ_slot] unremovable!") // "heart unremovable!" + loc.balloon_alert(user, "ритуал провален, [our_heretic.living_heart_organ_slot] неубираем!") // "heart unremovable!" return FALSE // Otherwise, seek out a replacement in our atoms @@ -138,7 +138,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) selected_atoms += nearby_organ return TRUE - loc.balloon_alert(user, "ritual failed, need a replacement [our_heretic.living_heart_organ_slot]!") // "need a replacement heart!" + loc.balloon_alert(user, "ритуал провален, нужен заменяемый [our_heretic.living_heart_organ_slot]!") // "need a replacement heart!" return FALSE /datum/heretic_knowledge/living_heart/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) @@ -150,7 +150,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) var/obj/item/organ/our_replacement_heart = locate(required_organ_type) in selected_atoms if(our_replacement_heart) // Throw our current heart out of our chest, violently - user.visible_message(span_boldwarning("[user]'s [our_new_heart.name] bursts suddenly out of [user.p_their()] chest!")) + user.visible_message(span_boldwarning("[our_new_heart.name] [user] внезапно вырывается из груди!")) INVOKE_ASYNC(user, TYPE_PROC_REF(/mob, emote), "scream") user.apply_damage(20, BRUTE, BODY_ZONE_CHEST) // And put our organic heart in its place @@ -173,7 +173,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) selected_atoms -= our_new_heart // Make it the living heart our_new_heart.AddComponent(/datum/component/living_heart) - to_chat(user, span_warning("You feel your [our_new_heart.name] begin pulse faster and faster as it awakens!")) + to_chat(user, span_warning("Вы чувствуете, как ваше [our_new_heart.name] начинает пульсировать все быстрее и быстрее по мере того, как оно пробуждается!")) playsound(user, 'sound/magic/demon_consume.ogg', 50, TRUE) return TRUE @@ -194,8 +194,8 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) */ /datum/heretic_knowledge/amber_focus name = "Amber Focus" - desc = "Allows you to transmute a sheet of glass and a pair of eyes to create an Amber Focus. \ - A focus must be worn in order to cast more advanced spells." + desc = "Позволяет трансмутировать лист стекла и пару глаз, чтобы создать Янтарную фокусировку. \ + Для того чтобы произносить более сложные заклинания, необходимо носить фокусировку." required_atoms = list( /obj/item/organ/internal/eyes = 1, /obj/item/stack/sheet/glass = 1, @@ -207,8 +207,8 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) /datum/heretic_knowledge/spell/cloak_of_shadows name = "Cloak of Shadow" - desc = "Grants you the spell Cloak of Shadow. This spell will completely conceal your identity in a purple smoke \ - for three minutes, assisting you in keeping secrecy. Requires a focus to cast." + desc = "Дарует вам заклинание Cloak of Shadow. Это заклинание полностью скрывает вашу личность в фиолетовой дымке \ + на три минуты, помогая вам сохранять секретность. Для наложения заклинания требуется фокусировка." spell_to_add = /datum/action/cooldown/spell/shadow_cloak cost = 0 route = PATH_START @@ -222,11 +222,11 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) */ /datum/heretic_knowledge/codex_cicatrix name = "Codex Cicatrix" - desc = "Allows you to transmute a book, any unique pen (anything but generic pens), and your pick from any carcass (animal or human), leather, or hide to create a Codex Cicatrix. \ - The Codex Cicatrix can be used when draining influences to gain additional knowledge, but comes at greater risk of being noticed. \ - It can also be used to draw and remove transmutation runes easier, and as a spell focus in a pinch." - gain_text = "The occult leaves fragments of knowledge and power anywhere and everywhere. The Codex Cicatrix is one such example. \ - Within the leather-bound faces and age old pages, a path into the Mansus is revealed." + desc = "Позволяет трансмутировать книгу, любую уникальную ручку (что угодно, кроме обычных), любое тело (животного или человека) и шкуру или кожу, чтобы создать Codex Cicatrix. \ + Codex Cicatrix можно использовать при истощении влияний для получения дополнительных знаний, но при этом возрастает риск быть замеченным. \ + Его также можно использовать для того, чтобы легче рисовать и удалять руны трансмутации, и использоваться в качестве фокусировки" + gain_text = "Оккультизм оставляет фрагменты знаний и силы везде и всюду. Codex Cicatrix - один из таких примеров. \ + В кожаном переплете и на старых страницах открывается путь к Мансусу." required_atoms = list( /obj/item/book = 1, /obj/item/pen = 1, diff --git a/code/modules/antagonists/heretic/knowledge/void_lore.dm b/code/modules/antagonists/heretic/knowledge/void_lore.dm index 85015c06e1f16..e117cd3a2ba50 100644 --- a/code/modules/antagonists/heretic/knowledge/void_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/void_lore.dm @@ -28,11 +28,11 @@ */ /datum/heretic_knowledge/limited_amount/starting/base_void name = "Glimmer of Winter" - desc = "Opens up the Path of Void to you. \ - Allows you to transmute a knife in sub-zero temperatures into a Void Blade. \ - You can only create two at a time." - gain_text = "I feel a shimmer in the air, the air around me gets colder. \ - I start to realize the emptiness of existence. Something's watching me." + desc = "Открывает перед вами Путь пустоты. \ + Позволяет трансмутировать нож при отрицательных температурах в Пустотный клинок. \ + дновременно можно иметь только два." + gain_text = "Я чувствую мерцание в воздухе, воздух вокруг меня становится холоднее. \ + Я начинаю осознавать пустоту существования. Что-то наблюдает за мной." next_knowledge = list(/datum/heretic_knowledge/void_grasp) required_atoms = list(/obj/item/knife = 1) result_atoms = list(/obj/item/melee/sickly_blade/void) @@ -40,21 +40,21 @@ /datum/heretic_knowledge/limited_amount/starting/base_void/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) if(!isopenturf(loc)) - loc.balloon_alert(user, "ritual failed, invalid location!") + loc.balloon_alert(user, "ритуал провален, неподходящая локация!") return FALSE var/turf/open/our_turf = loc if(our_turf.GetTemperature() > T0C) - loc.balloon_alert(user, "ritual failed, not cold enough!") + loc.balloon_alert(user, "ритуал провален, не достаточно холодно!") return FALSE return ..() /datum/heretic_knowledge/void_grasp name = "Grasp of Void" - desc = "Your Mansus Grasp will temporarily mute and chill the victim." - gain_text = "I saw the cold watcher who observes me. The chill mounts within me. \ - They are quiet. This isn't the end of the mystery." + desc = "Ваша Хватка Мансуса на время заглушает и охлаждает жертву." + gain_text = "Я увидел холодного наблюдателя, который наблюдает за мной. Во мне поселился холод. \ + Он молчит. Это еще не конец таинства." next_knowledge = list(/datum/heretic_knowledge/cold_snap) cost = 1 route = PATH_VOID @@ -77,10 +77,10 @@ /datum/heretic_knowledge/cold_snap name = "Aristocrat's Way" - desc = "Grants you immunity to cold temperatures, and removes your need to breathe. \ - You can still take damage due to a lack of pressure." - gain_text = "I found a thread of cold breath. It lead me to a strange shrine, all made of crystals. \ - Translucent and white, a depiction of a nobleman stood before me." + desc = "Дает иммунитет к низким температурам и устраняет потребность в дыхании. \ + Вы все еще можете получить повреждения из-за отсутствия давления." + gain_text = "Я нашел нить холодного дыхания. Она привела меня в странное святилище, сплошь состоящее из кристаллов. \ + Полупрозрачное и белое изображение дворянина стояло передо мной." next_knowledge = list( /datum/heretic_knowledge/mark/void_mark, /datum/heretic_knowledge/void_cloak, @@ -97,10 +97,10 @@ /datum/heretic_knowledge/mark/void_mark name = "Mark of Void" - desc = "Your Mansus Grasp now applies the Mark of Void. The mark is triggered from an attack with your Void Blade. \ - When triggered, further silences the victim and swiftly lowers the temperature of their body and the air around them." - gain_text = "A gust of wind? A shimmer in the air? The presence is overwhelming, \ - my senses began to betray me. My mind is my own enemy." + desc = "Ваша Хватка Мансуса теперь накладывает Метку пустоты. Метка срабатывает при атаке Пустотным клинком. \ + При срабатывании он заставляет жертву замолчать и быстро понижает температуру ее тела и окружающего воздуха." + gain_text = "Порыв ветра? Мерцание в воздухе? Присутствие переполняет, \ + мои чувства начали предавать меня. Мой разум - мой собственный враг." next_knowledge = list(/datum/heretic_knowledge/knowledge_ritual/void) route = PATH_VOID mark_type = /datum/status_effect/eldritch/void @@ -111,10 +111,10 @@ /datum/heretic_knowledge/spell/void_cone name = "Void Blast" - desc = "Grants you Void Blast, a spell that shoots out a freezing blast in a cone in front of you, \ - freezing the ground and any victims within." - gain_text = "Every door I open racks my body. I am afraid of what is behind them. Someone is expecting me, \ - and my legs start to drag. Is that... snow?" + desc = "Дарует вам Void Blast - заклинание, которое выстреливает перед вами конусом замораживающего взрыва, \ + замораживая землю и всех находящихся в ней жертв." + gain_text = "Каждая дверь, которую я открываю, сковывает мое тело. Я боюсь того, что находится за ними. Кто-то ждет меня, \ + и мои ноги начинают волочиться. Это... снег?" next_knowledge = list(/datum/heretic_knowledge/spell/void_phase) spell_to_add = /datum/action/cooldown/spell/cone/staggered/cone_of_cold/void cost = 1 @@ -122,10 +122,10 @@ /datum/heretic_knowledge/spell/void_phase name = "Void Phase" - desc = "Grants you Void Phase, a long range targeted teleport spell. \ - Additionally causes damage to heathens around your original and target destination." - gain_text = "The entity calls themself the Aristocrat. They effortlessly walk through air like \ - nothing - leaving a harsh, cold breeze in their wake. They disappear, and I am left in the blizzard." + desc = "Дарует вам Void Phase, заклинание телепортации дальнего действия. \ + Дополнительно наносит урон язычникам вокруг вашей первоначальной и целевой цели." + gain_text = "Сущность называет себя Аристократом. Он легко проходит сквозь воздух, \ + оставляя за собой резкий холодный ветер. Он исчезает, а я остаюсь в метели." next_knowledge = list( /datum/heretic_knowledge/blade_upgrade/void, /datum/heretic_knowledge/reroll_targets, @@ -138,8 +138,8 @@ /datum/heretic_knowledge/blade_upgrade/void name = "Seeking Blade" - desc = "You can now attack distant marked targets with your Void Blade, teleporting directly next to them." - gain_text = "Fleeting memories, fleeting feet. I mark my way with frozen blood upon the snow. Covered and forgotten." + desc = "Теперь вы можете атаковать отмеченные цели на расстоянии Пустотным клинком, телепортируясь прямо к ним." + gain_text = "Мимолетные воспоминания, мимолетные ноги. Я отмечаю свой путь застывшей кровью на снегу. Покрытый и забытый." next_knowledge = list(/datum/heretic_knowledge/spell/void_pull) route = PATH_VOID @@ -157,9 +157,9 @@ /datum/heretic_knowledge/spell/void_pull name = "Void Pull" - desc = "Grants you Void Pull, a spell that pulls all nearby heathens towards you, stunning them briefly." - gain_text = "All is fleeting, but what else stays? I'm close to ending what was started. \ - The Aristocrat reveals themselves to me again. They tell me I am late. Their pull is immense, I cannot turn back." + desc = "Наделяет вас заклинанием Void Pull, которое притягивает всех ближайших язычников к вам, ненадолго оглушая их." + gain_text = "Все мимолетно, но разве что-то остается? Я близок к завершению начатого. \ + Аристократ снова предстает передо мной. Он говорит мне, что я опоздал. Его притяжение огромно, я не могу повернуть назад." next_knowledge = list( /datum/heretic_knowledge/ultimate/void_final, /datum/heretic_knowledge/spell/cleave, @@ -171,14 +171,14 @@ /datum/heretic_knowledge/ultimate/void_final name = "Waltz at the End of Time" - desc = "The ascension ritual of the Path of Void. \ - Bring 3 corpses to a transmutation rune in sub-zero temperatures to complete the ritual. \ - When completed, causes a violent storm of void snow \ - to assault the station, freezing and damaging heathens. Those nearby will be silenced and frozen even quicker. \ - Additionally, you will become immune to the effects of space." - gain_text = "The world falls into darkness. I stand in an empty plane, small flakes of ice fall from the sky. \ - The Aristocrat stands before me, beckoning. We will play a waltz to the whispers of dying reality, \ - as the world is destroyed before our eyes. The void will return all to nothing, WITNESS MY ASCENSION!" + desc = "Ритуал вознесения Пути пустоты. \ + Принесите 3 трупа к руне трансмутации при отрицательных температурах, чтобы завершить риAdditionally, you will become immune to the effects of space.туал. \ + После завершения вызывает сильный шторм пустотного снега, \ + который обрушивается на станцию, замораживая и повреждая язычников. Те, кто находится поблизости, замолчат и замерзнут еще быстрее. \ + Кроме того, у вас появится иммунитет к воздействию космоса." + gain_text = "Мир погружается во тьму. Я стою в пустом мире, с неба падают мелкие хлопья льда. \ + Аристократ стоит передо мной, призывая. Мы будем играть вальс под шепот умирающей реальности, \ + пока мир разрушается на наших глазах. Пустота вернет все в ничто, УЗРИТЕ МОЕ ВОЗНЕСЕНИЕ!" route = PATH_VOID ///soundloop for the void theme var/datum/looping_sound/void_loop/sound_loop @@ -187,12 +187,12 @@ /datum/heretic_knowledge/ultimate/void_final/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) if(!isopenturf(loc)) - loc.balloon_alert(user, "ritual failed, invalid location!") + loc.balloon_alert(user, "ритуал провален, неподходящая локация!") return FALSE var/turf/open/our_turf = loc if(our_turf.GetTemperature() > T0C) - loc.balloon_alert(user, "ritual failed, not cold enough!") + loc.balloon_alert(user, "ритуал провален, не достаточно холодно!") return FALSE return ..() @@ -200,7 +200,7 @@ /datum/heretic_knowledge/ultimate/void_final/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) . = ..() priority_announce( - text = "[generate_heretic_text()] The nobleman of void [user.real_name] has arrived, stepping along the Waltz that ends worlds! [generate_heretic_text()]", + text = "[generate_heretic_text()] Дворянин пустоты [user.real_name] прибыл, танцуя Вальс, уничтожающий миры! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = ANNOUNCER_SPANOMALIES, color_override = "pink", diff --git a/code/modules/antagonists/heretic/magic/aggressive_spread.dm b/code/modules/antagonists/heretic/magic/aggressive_spread.dm index de1233382f646..cb0344760dac1 100644 --- a/code/modules/antagonists/heretic/magic/aggressive_spread.dm +++ b/code/modules/antagonists/heretic/magic/aggressive_spread.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/spell/aoe/rust_conversion name = "Aggressive Spread" - desc = "Spreads rust onto nearby surfaces." + desc = "Распространяет ржавчину на соседние поверхности." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -31,5 +31,5 @@ /datum/action/cooldown/spell/aoe/rust_conversion/small name = "Rust Conversion" - desc = "Spreads rust onto nearby surfaces." + desc = "Распространяет ржавчину на соседние поверхности." aoe_radius = 2 diff --git a/code/modules/antagonists/heretic/magic/apetravulnera.dm b/code/modules/antagonists/heretic/magic/apetravulnera.dm index e80d08911848c..b64d906c53332 100644 --- a/code/modules/antagonists/heretic/magic/apetravulnera.dm +++ b/code/modules/antagonists/heretic/magic/apetravulnera.dm @@ -1,7 +1,7 @@ /datum/action/cooldown/spell/pointed/apetra_vulnera name = "Apetra Vulnera" - desc = "Causes severe bleeding on every limb of a target which has more than 15 brute damage. \ - Wounds a random limb if no limb is sufficiently damaged." + desc = "Вызывает обильное кровотечение из каждой части тела, которое имеет более, чем 15 физического урона. \ + Накладывает травму на случайную часть тела, если не найдены подходящие части тела." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -32,8 +32,8 @@ if(cast_on.can_block_magic(antimagic_flags)) cast_on.visible_message( - span_danger("[cast_on]'s bruises briefly glow, but repels the effect!"), - span_danger("Your bruises sting a little, but you are protected!") + span_danger("Раны [cast_on] на мгновение излучают свет, но эффект заблокирован!"), + span_danger("Раны немного жгут, но вы защищены!") ) return FALSE @@ -50,8 +50,8 @@ crit_wound.apply_wound(pick(cast_on.bodyparts)) cast_on.visible_message( - span_danger("[cast_on]'s scratches and bruises are torn open by an unholy force!"), - span_danger("Your scratches and bruises are torn open by some horrible unholy force!") + span_danger("Раны и царапины [cast_on] разрываются нечистой силой!"), + span_danger("Ваши раны и царапины разрываются какой-то ужасной нечистой силой!") ) new /obj/effect/temp_visual/cleave(get_turf(cast_on)) diff --git a/code/modules/antagonists/heretic/magic/ascended_shapeshift.dm b/code/modules/antagonists/heretic/magic/ascended_shapeshift.dm index e792dc116da6f..39c16ef0b005f 100644 --- a/code/modules/antagonists/heretic/magic/ascended_shapeshift.dm +++ b/code/modules/antagonists/heretic/magic/ascended_shapeshift.dm @@ -1,8 +1,8 @@ // Given to ascended knock heretics, is a form of shapeshift that can turn into all 4 common heretic summons, and is not limited to 1 selection. /datum/action/cooldown/spell/shapeshift/eldritch/ascension name = "Ascended Shapechange" - desc = "A spell that allows you to take on the form of another eldritch creature, gaining their abilities. \ - You can change your choice at any time, and if your form dies, you dont die." + desc = "Позволяет принять форму другого мистического существа, получая все его способности. \ + Вы можете менять формы в любой момент, а если форма умирает, то вы продолжаете жить." cooldown_time = 20 SECONDS convert_damage = FALSE die_with_shapeshifted_form = FALSE diff --git a/code/modules/antagonists/heretic/magic/ash_ascension.dm b/code/modules/antagonists/heretic/magic/ash_ascension.dm index 4c77a06f281d7..adad00a37f6a4 100644 --- a/code/modules/antagonists/heretic/magic/ash_ascension.dm +++ b/code/modules/antagonists/heretic/magic/ash_ascension.dm @@ -1,7 +1,7 @@ /// Creates a constant Ring of Fire around the caster for a set duration of time, which follows them. /datum/action/cooldown/spell/fire_sworn name = "Oath of Flame" - desc = "For a minute, you will passively create a ring of fire around you." + desc = "В течение минуты вы будете пассивно создавать вокруг себя огненное кольцо." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -61,7 +61,7 @@ /// Creates one, large, expanding ring of fire around the caster, which does not follow them. /datum/action/cooldown/spell/fire_cascade name = "Lesser Fire Cascade" - desc = "Heats the air around you." + desc = "Нагревает воздух вокруг вас." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -100,7 +100,7 @@ // Currently unused - releases streams of fire around the caster. /datum/action/cooldown/spell/pointed/ash_beams name = "Nightwatcher's Rite" - desc = "A powerful spell that releases five streams of eldritch fire towards the target." + desc = "Мощное заклинание, выпускающее в цель пять потоков мистического пламени." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -146,13 +146,13 @@ for(var/mob/living/L in T.contents) if(L.can_block_magic()) - L.visible_message(span_danger("The spell bounces off of [L]!"), span_danger("The spell bounces off of you!")) + L.visible_message(span_danger("Заклинание отскакивает от [L]!"), span_danger("Заклинание отскакивает от вас!")) continue if(L in hit_list || L == source) continue hit_list += L L.adjustFireLoss(20) - to_chat(L, span_userdanger("You're hit by [source]'s eldritch flames!")) + to_chat(L, span_userdanger("Вы поражены мистическим пламенем от [source]!")) new /obj/effect/hotspot(T) T.hotspot_expose(700,50,1) diff --git a/code/modules/antagonists/heretic/magic/ash_jaunt.dm b/code/modules/antagonists/heretic/magic/ash_jaunt.dm index 41242063a9098..b831665a84bae 100644 --- a/code/modules/antagonists/heretic/magic/ash_jaunt.dm +++ b/code/modules/antagonists/heretic/magic/ash_jaunt.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash name = "Ashen Passage" - desc = "A short range spell that allows you to pass unimpeded through walls." + desc = "Заклинание малой дальности, позволяющее беспрепятственно проходить сквозь стены." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -26,7 +26,7 @@ /datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash/long name = "Ashen Walk" - desc = "A long range spell that allows you pass unimpeded through multiple walls." + desc = "Заклинание большой дальности, позволяющее беспрепятственно проходить сквозь многочисленные стены." jaunt_duration = 5 SECONDS /obj/effect/temp_visual/dir_setting/ash_shift diff --git a/code/modules/antagonists/heretic/magic/blood_cleave.dm b/code/modules/antagonists/heretic/magic/blood_cleave.dm index d5317f23e344b..41c415843b791 100644 --- a/code/modules/antagonists/heretic/magic/blood_cleave.dm +++ b/code/modules/antagonists/heretic/magic/blood_cleave.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/spell/pointed/cleave name = "Cleave" - desc = "Causes severe bleeding on a target and several targets around them." + desc = "Вызывает сильное кровотечение у цели и близежащих к ней." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -31,8 +31,8 @@ continue if(victim.can_block_magic(antimagic_flags)) victim.visible_message( - span_danger("[victim]'s flashes in a firey glow, but repels the blaze!"), - span_danger("Your body begins to flash a firey glow, but you are protected!!") + span_danger("[victim] вспыхивает огненным сиянием, но отражает пламя!"), + span_danger("Ваше тело начинает вспыхивать огненным сиянием, но вы защищены!!") ) continue @@ -40,8 +40,8 @@ continue victim.visible_message( - span_danger("[victim]'s veins are shredded from within as an unholy blaze erupts from [victim.p_their()] blood!"), - span_danger("Your veins burst from within and unholy flame erupts from your blood!") + span_danger("Вены [victim] разрываются изнутри, и нечестивое пламя вырывается из крови!"), + span_danger("Ваши вены лопаются изнутри, и нечестивое пламя вырывается из крови!") ) var/obj/item/bodypart/bodypart = pick(victim.bodyparts) diff --git a/code/modules/antagonists/heretic/magic/blood_siphon.dm b/code/modules/antagonists/heretic/magic/blood_siphon.dm index 1e3d6258826d4..7b269730ec05f 100644 --- a/code/modules/antagonists/heretic/magic/blood_siphon.dm +++ b/code/modules/antagonists/heretic/magic/blood_siphon.dm @@ -1,7 +1,7 @@ /datum/action/cooldown/spell/pointed/blood_siphon name = "Blood Siphon" - desc = "A targeted spell that heals your wounds while damaging the enemy. \ - It has a chance to transfer wounds between you and your enemy." + desc = "Заклинание с выбором цели, которое исцеляет ваши раны, нанося урон врагу. \ + Имеет шанс передать раны между вами и врагом." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -29,14 +29,14 @@ if(cast_on.can_block_magic()) owner.balloon_alert(owner, "spell blocked!") cast_on.visible_message( - span_danger("The spell bounces off of [cast_on]!"), - span_danger("The spell bounces off of you!"), + span_danger("Заклинание отскакивает от [cast_on]!"), + span_danger("Заклинание отскакивает от вас!"), ) return FALSE cast_on.visible_message( - span_danger("[cast_on] turns pale as a red glow envelops [cast_on.p_them()]!"), - span_danger("You pale as a red glow enevelops you!"), + span_danger("[cast_on] бледнеет, когда их охватывает красное сияние!"), + span_danger("Вы бледнеете, когда вас охватывает красное сияние.!"), ) var/mob/living/living_owner = owner diff --git a/code/modules/antagonists/heretic/magic/burglar_finesse.dm b/code/modules/antagonists/heretic/magic/burglar_finesse.dm index 7bb6960354ec7..3e03586971d6f 100644 --- a/code/modules/antagonists/heretic/magic/burglar_finesse.dm +++ b/code/modules/antagonists/heretic/magic/burglar_finesse.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/spell/pointed/burglar_finesse name = "Burglar's Finesse" - desc = "Steal a random item from the victim's backpack." + desc = "Крадет случайны предмет из сумки жертвы." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -21,8 +21,8 @@ /datum/action/cooldown/spell/pointed/burglar_finesse/cast(mob/living/carbon/human/cast_on) . = ..() if(cast_on.can_block_magic(antimagic_flags)) - to_chat(cast_on, span_danger("You feel a light tug, but are otherwise fine, you were protected by holiness!")) - to_chat(owner, span_danger("[cast_on] is protected by holy forces!")) + to_chat(cast_on, span_danger("Вы чувствуете легкое потягивание, но в остальном все в порядке, вы были защищены святыми силами!")) + to_chat(owner, span_danger("[cast_on] под защитой святой силы!")) return FALSE var/obj/storage_item = locate(/obj/item/storage/backpack) in cast_on.contents @@ -34,6 +34,6 @@ if(isnull(item)) return FALSE - to_chat(cast_on, span_warning("Your [storage_item] feels lighter...")) - to_chat(owner, span_notice("With a blink, you pull [item] out of [cast_on][p_s()] [storage_item].")) + to_chat(cast_on, span_warning("Ваш [storage_item] чувствуется легче...")) + to_chat(owner, span_notice("Одним мгновением, вы вытягиваете [item] из [storage_item] у [cast_on].")) owner.put_in_active_hand(item) diff --git a/code/modules/antagonists/heretic/magic/caretaker.dm b/code/modules/antagonists/heretic/magic/caretaker.dm index 86ff285001917..62375b33c18f8 100644 --- a/code/modules/antagonists/heretic/magic/caretaker.dm +++ b/code/modules/antagonists/heretic/magic/caretaker.dm @@ -1,9 +1,9 @@ /datum/action/cooldown/spell/caretaker name = "Caretaker’s Last Refuge" - desc = "Shifts you into the Caretaker's Refuge, rendering you translucent and intangible. \ - While in the Refuge your movement is unrestricted, but you cannot use your hands or cast any spells. \ - You cannot enter the Refuge while near other sentient beings, \ - and you can be removed from it upon contact with antimagical artifacts." + desc = "Перемещает вас в Убежище Опекуна, делая вас прозрачным и безтелесным. \ + Пока вы находитесь в Убежище, ваше движения не ограничены, но вы не можете использовать свои руки или заклинания. \ + Вы не можете войти в Убежище, если рядом с вами находятся разумные существа, \ + и эффект спадает, если вы прикоснетесь к артифактам анти-магии." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -31,7 +31,7 @@ for(var/mob/living/alive in orange(5, owner)) if(alive.stat != DEAD && alive.client) - owner.balloon_alert(owner, "other minds nearby!") + owner.balloon_alert(owner, "рядом есть другие!") return . | SPELL_CANCEL_CAST /datum/action/cooldown/spell/caretaker/cast(mob/living/cast_on) diff --git a/code/modules/antagonists/heretic/magic/cosmic_expansion.dm b/code/modules/antagonists/heretic/magic/cosmic_expansion.dm index ad9ac0989b7e3..c4a4dc37fd6d2 100644 --- a/code/modules/antagonists/heretic/magic/cosmic_expansion.dm +++ b/code/modules/antagonists/heretic/magic/cosmic_expansion.dm @@ -1,7 +1,7 @@ /datum/action/cooldown/spell/conjure/cosmic_expansion name = "Cosmic Expansion" - desc = "This spell generates a 3x3 domain of cosmic fields. \ - Creatures up to 7 tiles away will also receive a star mark." + desc = "Создает вокруг вас область космических полей размером 3x3. \ + Существа на расстоянии до 7 тайлов также получат Метку звезды." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' diff --git a/code/modules/antagonists/heretic/magic/cosmic_runes.dm b/code/modules/antagonists/heretic/magic/cosmic_runes.dm index 4af3b94b44f34..bc11c845435de 100644 --- a/code/modules/antagonists/heretic/magic/cosmic_runes.dm +++ b/code/modules/antagonists/heretic/magic/cosmic_runes.dm @@ -1,7 +1,7 @@ /datum/action/cooldown/spell/cosmic_rune name = "Cosmic Rune" - desc = "Creates a cosmic rune at your position, only two can exist at a time. Invoking one rune transports you to the other. \ - Anyone with a star mark gets transported along with you." + desc = "Создает космическую руну под вами, только две могут существовать. Вызов одной руны перемещает к другой. \ + Все, кто имеет Метку звезды, также перемещаются вместе с вами." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -52,7 +52,7 @@ /// A rune that allows you to teleport to the location of a linked rune. /obj/effect/cosmic_rune name = "cosmic rune" - desc = "A strange rune, that can instantly transport people to another location." + desc = "Странная руна, которая может мгновенно переносить людей в другое место." anchored = TRUE icon = 'icons/obj/service/hand_of_god_structures.dmi' icon_state = "cosmic_rune" @@ -77,15 +77,15 @@ if(.) return if(!linked_rune) - balloon_alert(user, "no linked rune!") + balloon_alert(user, "нет соединенной руны!") fail_invoke() return if(!(user in get_turf(src))) - balloon_alert(user, "not close enough!") + balloon_alert(user, "недостаточно близко!") fail_invoke() return if(user.has_status_effect(/datum/status_effect/star_mark)) - balloon_alert(user, "blocked by star mark!") + balloon_alert(user, "заблокировано звездной меткой!") fail_invoke() return invoke(user) @@ -109,7 +109,7 @@ /// For if someone failed to invoke the rune /obj/effect/cosmic_rune/proc/fail_invoke() - visible_message(span_warning("The rune pulses with a small flash of purple light, then returns to normal.")) + visible_message(span_warning("Руна пульсирует небольшой вспышкой фиолетового света, затем возвращается в нормальное состояние.")) var/oldcolor = rgb(255, 255, 255) color = rgb(150, 50, 200) animate(src, color = oldcolor, time = 5) diff --git a/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm b/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm index c68ed07c81f8c..b2f7a9886e49f 100644 --- a/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm +++ b/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm @@ -1,7 +1,7 @@ // Given to heretic monsters. /datum/action/cooldown/spell/emp/eldritch name = "Energetic Pulse" - desc = "A spell that causes a large EMP around you, disabling electronics." + desc = "Заклинание, которое вызывает вокруг вас сильное ЭМИ, выводящее из строя электронику." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" diff --git a/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm b/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm index e598f1f9215b9..f17e10458122d 100644 --- a/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm +++ b/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm @@ -1,8 +1,8 @@ // Given to heretic monsters. /datum/action/cooldown/spell/shapeshift/eldritch name = "Shapechange" - desc = "A spell that allows you to take on the form of another creature, gaining their abilities. \ - After making your choice, you will be unable to change to another." + desc = "Заклинание, позволяющее вам принять облик другого существа, получив его способности. \ + После того как вы сделаете свой выбор, вы не сможете поменять его." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" diff --git a/code/modules/antagonists/heretic/magic/expand_sight.dm b/code/modules/antagonists/heretic/magic/expand_sight.dm index e9715c9a77926..4a0d537e58d8f 100644 --- a/code/modules/antagonists/heretic/magic/expand_sight.dm +++ b/code/modules/antagonists/heretic/magic/expand_sight.dm @@ -1,7 +1,7 @@ // Action for Raw Prophets that boosts up or shrinks down their sight range. /datum/action/innate/expand_sight name = "Expand Sight" - desc = "Boosts your sight range considerably, allowing you to see enemies from much further away." + desc = "Значительно увеличивает дальность обзора, позволяя видеть врагов на гораздо большем расстоянии." button_icon = 'icons/mob/actions/actions_ecult.dmi' button_icon_state = "eye" background_icon_state = "bg_heretic" diff --git a/code/modules/antagonists/heretic/magic/fire_blast.dm b/code/modules/antagonists/heretic/magic/fire_blast.dm index f76a1f18d1757..2a08d069891e8 100644 --- a/code/modules/antagonists/heretic/magic/fire_blast.dm +++ b/code/modules/antagonists/heretic/magic/fire_blast.dm @@ -1,8 +1,8 @@ /datum/action/cooldown/spell/charged/beam/fire_blast name = "Volcano Blast" - desc = "Charge up a blast of fire that chains between nearby targets, setting them ablaze. \ - Targets already on fire will take priority. If the target fails to catch ablaze, or \ - extinguishes themselves before it bounces, the chain will stop." + desc = "Зарядите огненную струю, которая отскакивает между ближайшими целями, поджигая их. \ + Приоритет отдается уже горящим целям. Если цель не загорится, или \ + погаснет до того, как отскочит, цепь остановится." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -37,8 +37,8 @@ // but likely will (due to them not catching on fire) if(to_beam.can_block_magic(antimagic_flags)) to_beam.visible_message( - span_warning("[to_beam] absorbs the spell, remaining unharmed!"), - span_userdanger("You absorb the spell, remaining unharmed!"), + span_warning("[to_beam] поглощает заклинание, оставаясь невредимым!"), + span_userdanger("Вы поглощаете заклинание, оставаясь невредимым!"), ) // Apply status effect but with no overlay to_beam.apply_status_effect(/datum/status_effect/fire_blasted) diff --git a/code/modules/antagonists/heretic/magic/flesh_ascension.dm b/code/modules/antagonists/heretic/magic/flesh_ascension.dm index a2d792080e058..e287738fa2839 100644 --- a/code/modules/antagonists/heretic/magic/flesh_ascension.dm +++ b/code/modules/antagonists/heretic/magic/flesh_ascension.dm @@ -1,7 +1,7 @@ /datum/action/cooldown/spell/shapeshift/shed_human_form name = "Shed form" - desc = "Shed your fragile form, become one with the arms, become one with the emperor. \ - Causes heavy amounts of brain damage and sanity loss to nearby mortals." + desc = "Сбрось свою хрупкую форму, стань единым с оружием, стань единым с императором. \ + Вызывает тяжелые повреждения мозга и потерю рассудка у находящихся поблизости смертных." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -9,7 +9,7 @@ school = SCHOOL_FORBIDDEN - invocation = "REALITY UNCOIL!" + invocation = "РЕАЛЬНОСТЬ РАЗРУШЬСЯ!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/flesh_surgery.dm b/code/modules/antagonists/heretic/magic/flesh_surgery.dm index 12b3fcfbcaf33..f53c573e4dc06 100644 --- a/code/modules/antagonists/heretic/magic/flesh_surgery.dm +++ b/code/modules/antagonists/heretic/magic/flesh_surgery.dm @@ -1,8 +1,8 @@ /datum/action/cooldown/spell/touch/flesh_surgery name = "Knit Flesh" - desc = "A touch spell that allows you to either harvest or restore flesh of target. \ - Left-clicking will extract the organs of a victim without needing to complete surgery or disembowel. \ - Right-clicking, if done on summons or minions, will restore health. Can also be used to heal damaged organs." + desc = "Заклинание прикосновения, которое позволяет вам либо собрать, либо восстановить плоть цели. \ + Нажав левой кнопкой мыши, можно извлечь органы жертвы, не прибегая к хирургическому вмешательству или расчленению. \ + Щелчок правой кнопкой мыши на призванных или миньонах восстанавливает здоровье. Также может использоваться для лечения поврежденных органов." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -70,15 +70,15 @@ var/mob/living/mob_victim = victim if(iscarbon(mob_victim)) - context[SCREENTIP_CONTEXT_LMB] = "Extract organ" + context[SCREENTIP_CONTEXT_LMB] = "Извлечь орган" . = CONTEXTUAL_SCREENTIP_SET if(IS_HERETIC_MONSTER(mob_victim)) - context[SCREENTIP_CONTEXT_RMB] = "Heal [ishuman(mob_victim) ? "minion" : "summon"]" + context[SCREENTIP_CONTEXT_RMB] = "Вылечить [ishuman(mob_victim) ? "миньона" : "призванного"]" . = CONTEXTUAL_SCREENTIP_SET else if(isorgan(victim)) - context[SCREENTIP_CONTEXT_LMB] = "Heal organ" + context[SCREENTIP_CONTEXT_LMB] = "Вылечить орган" . = CONTEXTUAL_SCREENTIP_SET return . @@ -86,11 +86,11 @@ /// If cast on an organ, we'll restore it's health and even un-fail it. /datum/action/cooldown/spell/touch/flesh_surgery/proc/heal_organ(obj/item/melee/touch_attack/hand, obj/item/organ/to_heal, mob/living/carbon/caster) if(to_heal.damage == 0) - to_heal.balloon_alert(caster, "already in good condition!") + to_heal.balloon_alert(caster, "уже в хорошем состоянии!") return FALSE - to_heal.balloon_alert(caster, "healing organ...") + to_heal.balloon_alert(caster, "лечение органа...") if(!do_after(caster, 1 SECONDS, to_heal, extra_checks = CALLBACK(src, PROC_REF(heal_checks), hand, to_heal, caster))) - to_heal.balloon_alert(caster, "interrupted!") + to_heal.balloon_alert(caster, "прервано!") return FALSE var/organ_hp_to_heal = to_heal.maxHealth * organ_percent_healing @@ -100,29 +100,29 @@ new /obj/effect/temp_visual/cult/sparks(get_turf(to_heal)) var/condition = (to_heal.damage > 0) ? "better" : "perfect" caster.visible_message( - span_warning("[caster]'s hand glows a brilliant red as [caster.p_they()] restore \the [to_heal] to [condition] condition!"), - span_notice("Your hand glows a brilliant red as you restore \the [to_heal] to [condition] condition!"), + span_warning("Рука [caster] светится ярким красным светом, \the [to_heal] восстанавливается до состояния - [condition]!"), + span_notice("Ваша рука светится ярким красным светом, \the [to_heal] восстанавливается до состояния - [condition]!"), ) return TRUE /// If cast on a heretic monster who's not dead we'll heal it a bit. /datum/action/cooldown/spell/touch/flesh_surgery/proc/heal_heretic_monster(obj/item/melee/touch_attack/hand, mob/living/to_heal, mob/living/carbon/caster) - var/what_are_we = ishuman(to_heal) ? "minion" : "summon" - to_heal.balloon_alert(caster, "healing [what_are_we]...") + var/what_are_we = ishuman(to_heal) ? "миньон" : "призванный" + to_heal.balloon_alert(caster, "[what_are_we] лечится...") if(!do_after(caster, 1 SECONDS, to_heal, extra_checks = CALLBACK(src, PROC_REF(heal_checks), hand, to_heal, caster))) - to_heal.balloon_alert(caster, "interrupted!") + to_heal.balloon_alert(caster, "прервано!") return FALSE // Keep in mind that, for simplemobs(summons), this will just flat heal the combined value of both brute and burn healing, // while for human minions(ghouls), this will heal brute and burn like normal. So be careful adjusting to bigger numbers - to_heal.balloon_alert(caster, "[what_are_we] healed") + to_heal.balloon_alert(caster, "[what_are_we] вылечен") to_heal.heal_overall_damage(monster_brute_healing, monster_burn_healing) playsound(to_heal, 'sound/magic/staff_healing.ogg', 30) new /obj/effect/temp_visual/cult/sparks(get_turf(to_heal)) caster.visible_message( - span_warning("[caster]'s hand glows a brilliant red as [caster.p_they()] restore[caster.p_s()] [to_heal] to good condition!"), - span_notice("Your hand glows a brilliant red as you restore [to_heal] to good condition!"), + span_warning("Рука [caster] светится ярким красным светом, [to_heal] восстанавливается до хорошего состояния!"), + span_notice("Ваша рука светится ярким красным светом, [to_heal] восстанавливается до хорошего состояния!"), ) return TRUE @@ -130,7 +130,7 @@ /datum/action/cooldown/spell/touch/flesh_surgery/proc/steal_organ_from_mob(obj/item/melee/touch_attack/hand, mob/living/victim, mob/living/carbon/caster) var/mob/living/carbon/carbon_victim = victim if(!istype(carbon_victim) || !length(carbon_victim.organs)) - victim.balloon_alert(caster, "no organs!") + victim.balloon_alert(caster, "нет органов!") return FALSE // Round u pto the nearest generic zone (body, chest, arm) @@ -149,10 +149,10 @@ organs_we_can_remove[organ.name] = organ if(!length(organs_we_can_remove)) - victim.balloon_alert(caster, "no organs there!") + victim.balloon_alert(caster, "тут нет органов!") return FALSE - var/chosen_organ = tgui_input_list(caster, "Which organ do you want to extract?", name, sort_list(organs_we_can_remove)) + var/chosen_organ = tgui_input_list(caster, "Какой орган вы хотите извлечь?", name, sort_list(organs_we_can_remove)) if(isnull(chosen_organ)) return FALSE var/obj/item/organ/picked_organ = organs_we_can_remove[chosen_organ] @@ -164,27 +164,27 @@ // Sure you can remove your own organs, fun party trick if(carbon_victim == caster) - var/are_you_sure = tgui_alert(caster, "Are you sure you want to remove your own [chosen_organ]?", "Are you sure?", list("Yes", "No")) - if(are_you_sure != "Yes" || !extraction_checks(picked_organ, hand, victim, caster)) + var/are_you_sure = tgui_alert(caster, "Вы уверены, что хотите удалить свой [chosen_organ]?", "Вы уверены?", list("Да", "Нет")) + if(are_you_sure != "Да" || !extraction_checks(picked_organ, hand, victim, caster)) return FALSE time_it_takes = 6 SECONDS caster.visible_message( - span_danger("[caster]'s hand glows a brilliant red as [caster.p_they()] reach[caster.p_es()] directly into [caster.p_their()] own [parsed_zone]!"), - span_userdanger("Your hand glows a brilliant red as you reach directly into your own [parsed_zone]!"), + span_danger("Рука [caster] светится ярким красным светом, когда они тянутся к своему [parsed_zone]!"), + span_userdanger("Ваша рука светится ярким красным светом, когда вы тянетесь к своему [parsed_zone]!"), ) else carbon_victim.visible_message( - span_danger("[caster]'s hand glows a brilliant red as [caster.p_they()] reach[caster.p_es()] directly into [carbon_victim]'s [parsed_zone]!"), - span_userdanger("[caster]'s hand glows a brilliant red as [caster.p_they()] reach[caster.p_es()] directly into your [parsed_zone]!"), + span_danger("Рука [caster] светится ярким светом, когда они тянутся к [parsed_zone] у [carbon_victim]!"), + span_userdanger("Рука [caster] светится ярким светом, когда они тянутся к вашему [parsed_zone]!"), ) - carbon_victim.balloon_alert(caster, "extracting [chosen_organ]...") + carbon_victim.balloon_alert(caster, "извлечение [chosen_organ]...") playsound(victim, 'sound/weapons/slice.ogg', 50, TRUE) carbon_victim.add_atom_colour(COLOR_DARK_RED, TEMPORARY_COLOUR_PRIORITY) if(!do_after(caster, time_it_takes, carbon_victim, extra_checks = CALLBACK(src, PROC_REF(extraction_checks), picked_organ, hand, victim, caster))) - carbon_victim.balloon_alert(caster, "interrupted!") + carbon_victim.balloon_alert(caster, "прервано!") carbon_victim.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, COLOR_DARK_RED) return FALSE @@ -192,18 +192,18 @@ // Mainly so it gets across if you're taking the eyes of someone who's conscious if(carbon_victim == caster) caster.visible_message( - span_bolddanger("[caster] pulls [caster.p_their()] own [chosen_organ] out of [caster.p_their()] [parsed_zone]!!"), - span_userdanger("You pull your own [chosen_organ] out of your [parsed_zone]!!"), + span_bolddanger("[caster] извлекает свой же [chosen_organ] из своего [parsed_zone]!!"), + span_userdanger("Вы извлекаете свой [chosen_organ] из вашего [parsed_zone]!!"), ) else carbon_victim.visible_message( - span_bolddanger("[caster] pulls [carbon_victim]'s [chosen_organ] out of [carbon_victim.p_their()] [parsed_zone]!!"), - span_userdanger("[caster] pulls your [chosen_organ] out of your [parsed_zone]!!"), + span_bolddanger("[caster] извлекает [chosen_organ] из [carbon_victim] из их [parsed_zone]!!"), + span_userdanger("[caster] извлекает ваш [chosen_organ] из вашего [parsed_zone]!!"), ) picked_organ.Remove(carbon_victim) - carbon_victim.balloon_alert(caster, "[chosen_organ] removed") + carbon_victim.balloon_alert(caster, "[chosen_organ] извлечен") carbon_victim.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, COLOR_DARK_RED) playsound(victim, 'sound/effects/dismember.ogg', 50, TRUE) if(carbon_victim.stat == CONSCIOUS) diff --git a/code/modules/antagonists/heretic/magic/furious_steel.dm b/code/modules/antagonists/heretic/magic/furious_steel.dm index 1c82f36e0249a..e680a2112216e 100644 --- a/code/modules/antagonists/heretic/magic/furious_steel.dm +++ b/code/modules/antagonists/heretic/magic/furious_steel.dm @@ -1,8 +1,8 @@ /datum/action/cooldown/spell/pointed/projectile/furious_steel name = "Furious Steel" - desc = "Summon three silver blades which orbit you. \ - While orbiting you, these blades will protect you from from attacks, but will be consumed on use. \ - Additionally, you can click to fire the blades at a target, dealing damage and causing bleeding." + desc = "Вызовите три серебряных клинка, которые вращаются вокруг вас. \ + Во время вращения, эти лезвия защищают вас от атак, но при использовании расходуются. \ + Кроме того, вы можете использовать кнопку, чтобы выстрелить лезвиями в цель, нанося урон и вызывая кровотечение." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -16,8 +16,8 @@ spell_requirements = NONE - active_msg = "You summon forth three blades of furious silver." - deactive_msg = "You conceal the blades of furious silver." + active_msg = "Вы вызываете три клинка из яростного серебра." + deactive_msg = "Ты скрываешь клинки из яростного серебра." cast_range = 20 projectile_type = /obj/projectile/floating_blade projectile_amount = 3 @@ -124,7 +124,7 @@ return PROJECTILE_PIERCE_PHASE if(victim.can_block_magic(MAGIC_RESISTANCE)) - visible_message(span_warning("[src] drops to the ground and melts on contact [victim]!")) + visible_message(span_warning("[src] падает на землю и тает при контакте с [victim]!")) return PROJECTILE_DELETE_WITHOUT_HITTING return ..() diff --git a/code/modules/antagonists/heretic/magic/lunatic_track.dm b/code/modules/antagonists/heretic/magic/lunatic_track.dm index ae41e77aabeb6..beb97f94412e3 100644 --- a/code/modules/antagonists/heretic/magic/lunatic_track.dm +++ b/code/modules/antagonists/heretic/magic/lunatic_track.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/lunatic_track name = "Moonlight Echo" - desc = "Track your ringleader." + desc = "Найдите своего Шпрехшталмейстера." check_flags = AB_CHECK_CONSCIOUS background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" @@ -17,14 +17,14 @@ var/datum/antagonist/lunatic/lunatic_datum = IS_LUNATIC(owner) var/mob/living/carbon/human/ascended_heretic = lunatic_datum.ascended_body if(!(ascended_heretic)) - owner.balloon_alert(owner, "what cruel fate, your master is gone...") + owner.balloon_alert(owner, "какая жестокая судьба, ваш хозяин не найден...") StartCooldown(1 SECONDS) return FALSE playsound(owner, 'sound/effects/singlebeat.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) owner.balloon_alert(owner, get_balloon_message(ascended_heretic)) if(ascended_heretic.stat == DEAD) - to_chat(owner, span_hierophant("[ascended_heretic] is dead. Weep for the lie has struck out.")) + to_chat(owner, span_hierophant("[ascended_heretic] мертв. Плачьте, ведь ложь вырвалась наружу.")) StartCooldown() return TRUE @@ -34,7 +34,7 @@ /datum/action/cooldown/lunatic_track/proc/get_balloon_message(mob/living/carbon/human/tracked_mob) var/balloon_message = generate_balloon_message(tracked_mob) if(tracked_mob.stat == DEAD) - balloon_message = "they're dead, " + balloon_message + balloon_message = "мертвы, " + balloon_message return balloon_message @@ -51,42 +51,42 @@ switch(dist) if(0 to 15) - balloon_message = "very near, [dir2text(dir)]!" + balloon_message = "очень близко, [dir2text(dir)]!" if(16 to 31) - balloon_message = "near, [dir2text(dir)]!" + balloon_message = "близко, [dir2text(dir)]!" if(32 to 127) - balloon_message = "far, [dir2text(dir)]!" + balloon_message = "далеко, [dir2text(dir)]!" else - balloon_message = "very far!" + balloon_message = "очень далеко!" // Early returns here if we don't need to tell them the z-levels if(our_z == their_z) return balloon_message if(is_mining_level(their_z)) - balloon_message = "on lavaland!" + balloon_message = "на лаваленде!" return balloon_message if(is_away_level(their_z) || is_secret_level(their_z)) - balloon_message = "beyond the gateway!" + balloon_message = "за гейтом!" return balloon_message // We already checked if they are on lavaland or gateway, so if they arent there or on the station we can early return if(!is_station_level(their_z)) - balloon_message = "on another plane!" + balloon_message = "на другом плане!" return balloon_message // They must be on station because we have checked every other z-level, and since we arent on station we should go there if(!is_station_level(our_z)) - balloon_message = "on station!" + balloon_message = "на станции!" return balloon_message if(our_z > their_z) - balloon_message = "below you!" + balloon_message = "ниже вас!" return balloon_message if(our_z < their_z) - balloon_message = "above you!" + balloon_message = "выше вас!" return balloon_message return balloon_message diff --git a/code/modules/antagonists/heretic/magic/madness_touch.dm b/code/modules/antagonists/heretic/magic/madness_touch.dm index a5d075f3a1495..9addbd97de89b 100644 --- a/code/modules/antagonists/heretic/magic/madness_touch.dm +++ b/code/modules/antagonists/heretic/magic/madness_touch.dm @@ -1,7 +1,7 @@ // Currently unused /datum/action/cooldown/spell/touch/mad_touch name = "Touch of Madness" - desc = "A touch spell that drains your enemy's sanity and knocks them down." + desc = "Заклинание косания, которая лишает врага рассудка и сбивает его с ног." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -23,11 +23,11 @@ /datum/action/cooldown/spell/touch/mad_touch/on_antimagic_triggered(obj/item/melee/touch_attack/hand, atom/victim, mob/living/carbon/caster) victim.visible_message( - span_danger("The spell bounces off of [victim]!"), - span_danger("The spell bounces off of you!"), + span_danger("Заклинание отскакивает от [victim]!"), + span_danger("Заклинание отскакивает от вас!"), ) /datum/action/cooldown/spell/touch/mad_touch/cast_on_hand_hit(obj/item/melee/touch_attack/hand, mob/living/carbon/human/victim, mob/living/carbon/caster) - to_chat(caster, span_warning("[victim.name] has been cursed!")) + to_chat(caster, span_warning("[victim.name] был проклят!")) victim.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus) return TRUE diff --git a/code/modules/antagonists/heretic/magic/manse_link.dm b/code/modules/antagonists/heretic/magic/manse_link.dm index 06fd4dd9863f4..d9fe06f3fb4d0 100644 --- a/code/modules/antagonists/heretic/magic/manse_link.dm +++ b/code/modules/antagonists/heretic/magic/manse_link.dm @@ -1,7 +1,7 @@ /datum/action/cooldown/spell/pointed/manse_link name = "Manse Link" - desc = "This spell allows you to pierce through reality and connect minds to one another \ - via your Mansus Link. All minds connected to your Mansus Link will be able to communicate discreetly across great distances." + desc = "Это заклинание позволяет вам пронзать реальность и соединять разумы друг с другом с помощью \ + связи Мансуса. Все разумы, подключенные к вашей связи Мансуса, смогут незаметно общаться на больших расстояниях." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -49,23 +49,23 @@ /datum/action/cooldown/spell/pointed/manse_link/proc/do_linking(mob/living/linkee) var/datum/component/mind_linker/linker = target if(linkee.stat == DEAD) - to_chat(owner, span_warning("They're dead!")) + to_chat(owner, span_warning("Они мертвы!")) return FALSE - to_chat(owner, span_notice("You begin linking [linkee]'s mind to yours...")) - to_chat(linkee, span_warning("You feel your mind being pulled somewhere... connected... intertwined with the very fabric of reality...")) + to_chat(owner, span_notice("Вы начинаете соединять сознание [linkee] со своим...")) + to_chat(linkee, span_warning("Вы чувствуете, что ваш разум куда-то тянут... соединяют... переплетают с самой тканью реальности...")) if(!do_after(owner, link_time, linkee, hidden = TRUE)) - to_chat(owner, span_warning("You fail to link to [linkee]'s mind.")) - to_chat(linkee, span_warning("The foreign presence leaves your mind.")) + to_chat(owner, span_warning("Вам не удается связать себя с разумом [linkee].")) + to_chat(linkee, span_warning("Чужое присутствие покидает ваш разум.")) return FALSE if(QDELETED(src) || QDELETED(owner) || QDELETED(linkee)) return FALSE if(!linker.link_mob(linkee)) - to_chat(owner, span_warning("You can't seem to link to [linkee]'s mind.")) - to_chat(linkee, span_warning("The foreign presence leaves your mind.")) + to_chat(owner, span_warning("Вы не можете связать себя с разумом [linkee].")) + to_chat(linkee, span_warning("Чужое присутствие покидает ваш разум.")) return FALSE return TRUE diff --git a/code/modules/antagonists/heretic/magic/mansus_grasp.dm b/code/modules/antagonists/heretic/magic/mansus_grasp.dm index 4ba6aceb20093..98ddc335a69d7 100644 --- a/code/modules/antagonists/heretic/magic/mansus_grasp.dm +++ b/code/modules/antagonists/heretic/magic/mansus_grasp.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/spell/touch/mansus_grasp name = "Mansus Grasp" - desc = "A touch spell that lets you channel the power of the Old Gods through your grip." + desc = "Заклинание прикосновения, позволяющее вам направить силу Старых богов через вашу хватку." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -25,8 +25,8 @@ /datum/action/cooldown/spell/touch/mansus_grasp/on_antimagic_triggered(obj/item/melee/touch_attack/hand, atom/victim, mob/living/carbon/caster) victim.visible_message( - span_danger("The spell bounces off of [victim]!"), - span_danger("The spell bounces off of you!"), + span_danger("Заклинание отскакивает от [victim]!"), + span_danger("Заклинание отскакивает от вас!"), ) /datum/action/cooldown/spell/touch/mansus_grasp/cast_on_hand_hit(obj/item/melee/touch_attack/hand, atom/victim, mob/living/carbon/caster) @@ -57,9 +57,9 @@ /obj/item/melee/touch_attack/mansus_fist name = "Mansus Grasp" - desc = "A sinister looking aura that distorts the flow of reality around it. \ - Causes knockdown, minor bruises, and major stamina damage. \ - It gains additional beneficial effects as you expand your knowledge of the Mansus." + desc = "Зловещая аура, искажающая течение реальности вокруг себя. \ + Вызывает сбивание с ног, незначительные ушибы и большой урон стамине. \ + Он приобретает дополнительные полезные эффекты по мере того, как вы расширяете свои знания Мансуса." icon_state = "mansus" inhand_icon_state = "mansus" @@ -83,11 +83,11 @@ remove_hand_with_no_refund(user) /obj/item/melee/touch_attack/mansus_fist/ignition_effect(atom/to_light, mob/user) - . = span_notice("[user] effortlessly snaps [user.p_their()] fingers near [to_light], igniting it with eldritch energies. Fucking badass!") + . = span_notice("[user] без труда щелкает своими пальцами возле [to_light], зажигая его мистической энергией. Чертовски круто!") remove_hand_with_no_refund(user) /obj/item/melee/touch_attack/mansus_fist/suicide_act(mob/living/user) - user.visible_message(span_suicide("[user] covers [user.p_their()] face with [user.p_their()] sickly-looking hand! It looks like [user.p_theyre()] trying to commit suicide!")) + user.visible_message(span_suicide("[user] накрывает своё лицо своей болезненно выглядящей рукой! Похоже, что они пытаются совершить самоубийство!")) var/mob/living/carbon/carbon_user = user //iscarbon already used in spell's parent var/datum/action/cooldown/spell/touch/mansus_grasp/source = spell_which_made_us?.resolve() if(QDELETED(source) || !IS_HERETIC(user)) diff --git a/code/modules/antagonists/heretic/magic/mind_gate.dm b/code/modules/antagonists/heretic/magic/mind_gate.dm index c5a6e74452a61..2db7c989ff5d5 100644 --- a/code/modules/antagonists/heretic/magic/mind_gate.dm +++ b/code/modules/antagonists/heretic/magic/mind_gate.dm @@ -1,7 +1,7 @@ /datum/action/cooldown/spell/pointed/mind_gate name = "Mind Gate" - desc = "Deals you 20 brain damage and the target suffers a hallucination, \ - is left confused for 10 seconds, and suffers oxygen loss and brain damage." + desc = "Наносит вам 20 урона мозгу, и накладывает галлюцинации на цель, \ + замешательство на 10 секунд, потерю дыхания и урон мозгу." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -16,7 +16,7 @@ spell_requirements = NONE cast_range = 6 - active_msg = "You prepare to open your mind..." + active_msg = "Вы готовитесь открыть свой разум..." /datum/action/cooldown/spell/pointed/mind_gate/can_cast_spell(feedback = TRUE) return ..() && isliving(owner) @@ -27,8 +27,8 @@ /datum/action/cooldown/spell/pointed/mind_gate/cast(mob/living/carbon/human/cast_on) . = ..() if(cast_on.can_block_magic(antimagic_flags)) - to_chat(cast_on, span_notice("Your mind feels closed.")) - to_chat(owner, span_warning("Their mind doesn't swing open, but neither does yours.")) + to_chat(cast_on, span_notice("Ваш разум чувствуется запертым.")) + to_chat(owner, span_warning("Их разум не открывается, но и ваш тоже.")) return FALSE cast_on.adjust_confusion(10 SECONDS) diff --git a/code/modules/antagonists/heretic/magic/mirror_walk.dm b/code/modules/antagonists/heretic/magic/mirror_walk.dm index b9029e1ab072d..1a88585fcf139 100644 --- a/code/modules/antagonists/heretic/magic/mirror_walk.dm +++ b/code/modules/antagonists/heretic/magic/mirror_walk.dm @@ -1,8 +1,8 @@ /datum/action/cooldown/spell/jaunt/mirror_walk name = "Mirror Walk" - desc = "Allows you to traverse invisibly and freely across the station within the realm of the mirror. \ - You can only enter and exit the realm of mirrors when nearby reflective surfaces and items, \ - such as windows, mirrors, and reflective walls or equipment." + desc = "Позволяет незаметно и свободно перемещаться по станции в пределах мира зеркала. \ + Войти в мир зеркал и выйти из него можно только при наличии рядом отражающих поверхностей и предметов, \ + например, окна, зеркала, отражающие стены или оборудование." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_minor_antag.dmi' @@ -39,12 +39,12 @@ var/turf/owner_turf = get_turf(owner) if(!is_reflection_nearby(get_turf(owner_turf))) if(feedback) - to_chat(owner, span_warning("There are no reflective surfaces nearby to [we_are_phasing ? "exit":"enter"] the mirror's realm here!")) + to_chat(owner, span_warning("Поблизости нет отражающих поверхностей, чтобы [we_are_phasing ? "выйти из мира": "войти в мир"] зеркал здесь!")) return FALSE if(owner_turf.is_blocked_turf(exclude_mobs = TRUE)) if(feedback) - to_chat(owner, span_warning("Something is blocking you from [we_are_phasing ? "exiting":"entering"] the mirror's realm here!")) + to_chat(owner, span_warning("Что-то блокирует вас от [we_are_phasing ? "выход из мира": "входа в мир"] зеркал здесь!")) return FALSE return TRUE @@ -59,18 +59,18 @@ /datum/action/cooldown/spell/jaunt/mirror_walk/enter_jaunt(mob/living/jaunter, turf/loc_override) var/atom/nearby_reflection = is_reflection_nearby(jaunter) if(!nearby_reflection) - to_chat(jaunter, span_warning("There are no reflective surfaces nearby to enter the mirror's realm!")) + to_chat(jaunter, span_warning("Поблизости нет отражающих поверхностей, чтобы войти в мир зеркал!")) return jaunter.Beam(nearby_reflection, icon_state = "light_beam", time = phase_out_time) - nearby_reflection.visible_message(span_warning("[nearby_reflection] begins to shimmer and shake slightly!")) + nearby_reflection.visible_message(span_warning("[nearby_reflection] начинают мерцать и слегка дрожать!")) if(!do_after(jaunter, phase_out_time, nearby_reflection, IGNORE_USER_LOC_CHANGE|IGNORE_INCAPACITATED, hidden = TRUE)) return playsound(jaunter, 'sound/magic/ethereal_enter.ogg', 50, TRUE, -1) jaunter.visible_message( - span_boldwarning("[jaunter] phases out of reality, vanishing before your very eyes!"), - span_notice("You jump into the reflection coming off of [nearby_reflection], entering the mirror's realm."), + span_boldwarning("[jaunter] исчезает из реальности, растворяясь на ваших глазах!"), + span_notice("Вы прыгаете в отражение, исходящее от [nearby_reflection], и попадаете в мир зеркал."), ) // Pass the turf of the nearby reflection to the parent call @@ -85,17 +85,17 @@ var/turf/phase_turf = get_turf(unjaunter) var/atom/nearby_reflection = is_reflection_nearby(phase_turf) if(!nearby_reflection) - to_chat(unjaunter, span_warning("There are no reflective surfaces nearby to exit from the mirror's realm!")) + to_chat(unjaunter, span_warning("Поблизости нет отражающих поверхностей для выхода из мира зеркал!")) return FALSE // It would likely be a bad idea to teleport into an ai monitored area (ai sat) var/area/phase_area = get_area(phase_turf) if(istype(phase_area, /area/station/ai_monitored)) - to_chat(unjaunter, span_warning("It's probably not a very wise idea to exit the mirror's realm here.")) + to_chat(unjaunter, span_warning("Выходить из зеркального царства здесь, вероятно, не очень разумно.")) return FALSE nearby_reflection.Beam(phase_turf, icon_state = "light_beam", time = phase_in_time) - nearby_reflection.visible_message(span_warning("[nearby_reflection] begins to shimmer and shake slightly!")) + nearby_reflection.visible_message(span_warning("[nearby_reflection] начинают мерцать и слегка дрожать!")) if(!do_after(unjaunter, phase_in_time, nearby_reflection, hidden = TRUE)) return FALSE @@ -118,8 +118,8 @@ if (!nearby_reflection) // Should only be true if you're forced out somehow, like by having the spell removed return unjaunter.visible_message( - span_boldwarning("[unjaunter] phases into reality before your very eyes!"), - span_notice("You jump out of the reflection coming off of [nearby_reflection], exiting the mirror's realm."), + span_boldwarning("[unjaunter] появляется в реальности на ваших глазах!"), + span_notice("Вы выпрыгиваете из отражения, исходящего от [nearby_reflection], выходя из мира зеркал."), ) /** diff --git a/code/modules/antagonists/heretic/magic/moon_parade.dm b/code/modules/antagonists/heretic/magic/moon_parade.dm index 3b7f1d007cd6e..b645f65bd4880 100644 --- a/code/modules/antagonists/heretic/magic/moon_parade.dm +++ b/code/modules/antagonists/heretic/magic/moon_parade.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/spell/pointed/projectile/moon_parade name = "Lunar parade" - desc = "This unleashes the parade, making everyone in its way join it and suffer hallucinations." + desc = "Начинает парад, заставляя всех на его пути присоединиться к нему и страдать от галлюцинаций." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -15,8 +15,8 @@ invocation_type = INVOCATION_SHOUT spell_requirements = NONE - active_msg = "You prepare to make them join the parade!" - deactive_msg = "You stop the music and halt the parade... for now." + active_msg = "Вы готовитесь заставить их присоединиться к параду!" + deactive_msg = "Вы останавливаете музыку и прекращаете парад... пока что." cast_range = 12 projectile_type = /obj/projectile/moon_parade @@ -65,7 +65,7 @@ // Anti-magic destroys the projectile for consistency and counterplay if(victim.can_block_magic(MAGIC_RESISTANCE)) - visible_message(span_warning("The parade hits [victim] and a sudden wave of clarity comes over you!")) + visible_message(span_warning("Парад попадает по [victim], и внезапно вы вновь мыслите ясно!")) return PROJECTILE_DELETE_WITHOUT_HITTING return ..() @@ -81,7 +81,7 @@ RegisterSignal(victim, COMSIG_MOB_CLIENT_PRE_LIVING_MOVE, PROC_REF(moon_block_move)) RegisterSignal(victim, COMSIG_QDELETING, PROC_REF(clear_mob)) victim.AddComponent(/datum/component/leash, src, distance = 1) - victim.balloon_alert(victim, "you feel unable to move away from the parade!") + victim.balloon_alert(victim, "вы не можете покинуть парад!") mobs_hit += victim victim.add_mood_event("Moon Insanity", /datum/mood_event/moon_insanity) diff --git a/code/modules/antagonists/heretic/magic/moon_ringleader.dm b/code/modules/antagonists/heretic/magic/moon_ringleader.dm index 3c0b1d2aedb52..7697a8774f132 100644 --- a/code/modules/antagonists/heretic/magic/moon_ringleader.dm +++ b/code/modules/antagonists/heretic/magic/moon_ringleader.dm @@ -1,8 +1,8 @@ /datum/action/cooldown/spell/aoe/moon_ringleader name = "Ringleaders Rise" - desc = "Big AoE spell that deals brain damage and causes hallucinations to everyone in the AoE. \ - The worse their sanity, the stronger this spell becomes. \ - If their sanity is low enough, they even snap and go insane, and the spell then further halves their sanity." + desc = "Заклинание по области, которое наносит больше урона мозгу в зависимости от отсутствующего рассудка у целей, \ + также вызывает им галлюцинации, больше тем, у кого мало рассудка. \ + Если их рассудок достаточно слабый, они обезумеют и потеряют половину рассудка." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' diff --git a/code/modules/antagonists/heretic/magic/moon_smile.dm b/code/modules/antagonists/heretic/magic/moon_smile.dm index 90a392691e9fa..b60212055580c 100644 --- a/code/modules/antagonists/heretic/magic/moon_smile.dm +++ b/code/modules/antagonists/heretic/magic/moon_smile.dm @@ -1,7 +1,7 @@ /datum/action/cooldown/spell/pointed/moon_smile name = "Smile of the moon" - desc = "Lets you turn the gaze of the moon on someone \ - temporarily blinding, muting, deafening and knocking down a single target." + desc = "Позволяет обратить взгляд луны на кого-то, временно \ + заглушая, ослепляя, оглушая и сбивая с ног одну цель." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -17,7 +17,7 @@ spell_requirements = NONE cast_range = 6 - active_msg = "You prepare to let them see the true face..." + active_msg = "Вы готовитесь показать им лицо правды..." /datum/action/cooldown/spell/pointed/moon_smile/can_cast_spell(feedback = TRUE) return ..() && isliving(owner) @@ -31,12 +31,12 @@ var/maximum_duration = 15 SECONDS var/moon_smile_duration = ((SANITY_MAXIMUM - cast_on.mob_mood.sanity) / (SANITY_MAXIMUM - SANITY_INSANE)) * maximum_duration if(cast_on.can_block_magic(antimagic_flags)) - to_chat(cast_on, span_notice("The moon turns, its smile no longer set on you.")) - to_chat(owner, span_warning("The moon does not smile upon them.")) + to_chat(cast_on, span_notice("Луна отворачивается, её улыбка больше не смотрит на вас.")) + to_chat(owner, span_warning("Луна не улыбается им.")) return FALSE playsound(cast_on, 'sound/hallucinations/i_see_you1.ogg', 50, 1) - to_chat(cast_on, span_warning("Your eyes cry out in pain, your ears bleed and your lips seal! THE MOON SMILES UPON YOU!")) + to_chat(cast_on, span_warning("Ваши глаза горят от боли, из ушей течет кровь, а губы запечатаны. ЛУНА УЛЫБАЕТСЯ ТЕБЕ!")) cast_on.adjust_temp_blindness(moon_smile_duration + 5 SECONDS) cast_on.set_eye_blur_if_lower(moon_smile_duration + 7 SECONDS) diff --git a/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm b/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm index 4e37f5db17fed..a4df7d1da68a0 100644 --- a/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm +++ b/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm @@ -1,8 +1,8 @@ /datum/action/cooldown/spell/aoe/fiery_rebirth name = "Nightwatcher's Rebirth" - desc = "A spell that extinguishes you and drains nearby heathens engulfed in flames of their life force, \ - healing you for each victim drained. Those in critical condition \ - will have the last of their vitality drained, killing them." + desc = "Заклинание, которое тушит вас, и истощает жизненные силы окружающих язычников в огне, \ + исцеляет вас за каждую истощенного. Те, кто находятся в критическом состоянии, \ + будут истощены досуха, убивая их." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' diff --git a/code/modules/antagonists/heretic/magic/realignment.dm b/code/modules/antagonists/heretic/magic/realignment.dm index 081138b7181b9..7b746d081d748 100644 --- a/code/modules/antagonists/heretic/magic/realignment.dm +++ b/code/modules/antagonists/heretic/magic/realignment.dm @@ -1,8 +1,8 @@ // Realignment. It's like Fleshmend but solely for stamina damage and stuns. Sec meta /datum/action/cooldown/spell/realignment name = "Realignment" - desc = "Realign yourself, rapidly regenerating stamina and reducing any stuns or knockdowns. \ - You cannot attack while realigning. Can be casted multiple times in short succession, but each cast lengthens the cooldown." + desc = "Выровняйте себя, быстро восстанавливая стамину и уменьшая любые оглушения и сбивания с ног. \ + Вы не можете атаковать во время выравнивания. Можно применять несколько раз подряд, но каждое применение удлиняет перезярядку." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/hud/implants.dmi' @@ -24,7 +24,7 @@ /datum/action/cooldown/spell/realignment/cast(mob/living/cast_on) . = ..() cast_on.apply_status_effect(/datum/status_effect/realignment) - to_chat(cast_on, span_notice("We begin to realign ourselves.")) + to_chat(cast_on, span_notice("Мы начинаем выравнивать себя.")) /datum/action/cooldown/spell/realignment/after_cast(atom/cast_on) . = ..() @@ -75,5 +75,5 @@ /atom/movable/screen/alert/status_effect/realignment name = "Realignment" - desc = "You're realignment yourself. You cannot attack, but are rapidly regenerating stamina." + desc = "Вы выравниваете себя. Вы не можете атаковать, но быстро восстанавливаете стамину." icon_state = "realignment" diff --git a/code/modules/antagonists/heretic/magic/rust_charge.dm b/code/modules/antagonists/heretic/magic/rust_charge.dm index 56054bd56fdd8..8ec486bdf5cb2 100644 --- a/code/modules/antagonists/heretic/magic/rust_charge.dm +++ b/code/modules/antagonists/heretic/magic/rust_charge.dm @@ -1,9 +1,9 @@ // Rust charge, a charge action that can only be started on rust (and only destroys rust tiles) /datum/action/cooldown/mob_cooldown/charge/rust name = "Rust Charge" - desc = "A charge that must be started on a rusted tile and will destroy any rusted objects you come into contact with, \ - will deal high damage to others and rust around you during the charge. \ - As it is the rust that empowers you with this ability, no focus is needed." + desc = "Рывок, который должен начаться на ржавом тайле, уничтожающий все ржавые объекты по пути. \ + Наносит большой урон остальным и создает ржавчину вокруг вас во время рывка. \ + Так как сама ржавчина дает вам эту способность, фокусировка не нунжна." charge_distance = 10 charge_damage = 50 cooldown_time = 45 SECONDS diff --git a/code/modules/antagonists/heretic/magic/rust_construction.dm b/code/modules/antagonists/heretic/magic/rust_construction.dm index 130e3e06be23b..b0bb5c5960c4c 100644 --- a/code/modules/antagonists/heretic/magic/rust_construction.dm +++ b/code/modules/antagonists/heretic/magic/rust_construction.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/spell/pointed/rust_construction name = "Rust Formation" - desc = "Transforms a rusted floor into a full wall of rust. Creating a wall underneath a mob will harm it." + desc = "Превращает ржавый пол в полноценную стену из ржавчины. Создание стены под мобом нанесет ему вред." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon_state = "shield" @@ -10,8 +10,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 5 SECONDS - invocation = "Someone raises a wall of rust." - invocation_self_message = "You raise a wall of rust." + invocation = "Кто-то поднимает стену из ржавчины." + invocation_self_message = "Вы поднимаете стену из ржавчины." invocation_type = INVOCATION_EMOTE spell_requirements = NONE @@ -24,12 +24,12 @@ /datum/action/cooldown/spell/pointed/rust_construction/is_valid_target(atom/cast_on) if(!isfloorturf(cast_on)) if(isturf(cast_on) && owner) - cast_on.balloon_alert(owner, "not a floor!") + cast_on.balloon_alert(owner, "не пол!") return FALSE if(!HAS_TRAIT(cast_on, TRAIT_RUSTY)) if(owner) - cast_on.balloon_alert(owner, "not rusted!") + cast_on.balloon_alert(owner, "не ржавый!") return FALSE return TRUE @@ -40,12 +40,12 @@ return var/mob/living/living_owner = owner - invocation = span_danger("[owner] drags [owner.p_their()] hand[living_owner.usable_hands == 1 ? "":"s"] upwards as a wall of rust rises out of [cast_on]!") - invocation_self_message = span_notice("You drag [living_owner.usable_hands == 1 ? "a hand":"your hands"] upwards as a wall of rust rises out of [cast_on].") + invocation = span_danger("[owner] тянут свою рук[living_owner.usable_hands == 1 ? "у": "и"] вверх, когда стена ржавчины поднимается из [cast_on]!") + invocation_self_message = span_notice("Вы тащите рук[living_owner.usable_hands == 1 ? "у": "и"] вверх, когда из [cast_on] поднимается стена ржавчины") /datum/action/cooldown/spell/pointed/rust_construction/cast(turf/open/cast_on) . = ..() - var/rises_message = "rises out of [cast_on]" + var/rises_message = "поднимается из [cast_on]" var/turf/closed/wall/new_wall = cast_on.place_on_top(/turf/closed/wall) if(!istype(new_wall)) return @@ -69,13 +69,13 @@ message_shown = TRUE if(IS_HERETIC_OR_MONSTER(living_mob) || living_mob == owner) living_mob.visible_message( - span_warning("\A [new_wall] [rises_message] and pushes along [living_mob]!"), - span_notice("\A [new_wall] [rises_message] beneath your feet and pushes you along!"), + span_warning("\A [new_wall] [rises_message] и толкает [living_mob]!"), + span_notice("\A [new_wall] [rises_message] под вашими ногами и толкает вас!"), ) else living_mob.visible_message( - span_warning("\A [new_wall] [rises_message] and slams into [living_mob]!"), - span_userdanger("\A [new_wall] [rises_message] beneath your feet and slams into you!"), + span_warning("\A [new_wall] [rises_message] и врезается в [living_mob]!"), + span_userdanger("\A [new_wall] [rises_message] под вашими ногами и врезается в вас!"), ) living_mob.apply_damage(10, BRUTE, wound_bonus = 10) living_mob.Knockdown(5 SECONDS) diff --git a/code/modules/antagonists/heretic/magic/rust_wave.dm b/code/modules/antagonists/heretic/magic/rust_wave.dm index 5ca4b7da07e4b..2c8ea76037b47 100644 --- a/code/modules/antagonists/heretic/magic/rust_wave.dm +++ b/code/modules/antagonists/heretic/magic/rust_wave.dm @@ -1,9 +1,9 @@ // Shoots out in a wave-like, what rust heretics themselves get /datum/action/cooldown/spell/cone/staggered/entropic_plume name = "Entropic Plume" - desc = "Spews forth a disorienting plume that causes enemies to strike each other, \ - briefly blinds them (increasing with range) and poisons them (decreasing with range). \ - Also spreads rust in the path of the plume." + desc = "Извергает дезориентирующую струю, которая заставляет врагов ударять друг друга, \ + ненадолго ослепляет их (увеличивается с дальностью) и отравляет (уменьшается с дальностью). \ + Также распространяет ржавчину на пути струи." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -66,7 +66,7 @@ // Shoots a straight line of rusty stuff ahead of the caster, what rust monsters get /datum/action/cooldown/spell/basic_projectile/rust_wave name = "Patron's Reach" - desc = "Channels energy into your hands to release a wave of rust." + desc = "Направляет энергию в руки, чтобы выпустить волну ржавчины." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' diff --git a/code/modules/antagonists/heretic/magic/shadow_cloak.dm b/code/modules/antagonists/heretic/magic/shadow_cloak.dm index ad942c71a328a..d2638bacd87ac 100644 --- a/code/modules/antagonists/heretic/magic/shadow_cloak.dm +++ b/code/modules/antagonists/heretic/magic/shadow_cloak.dm @@ -1,8 +1,8 @@ /datum/action/cooldown/spell/shadow_cloak name = "Cloak of Shadow" - desc = "Completely conceals your identity, but does not make you invisible. Can be activated early to disable it. \ - While cloaked, you move faster, but undergo actions much slower. \ - Taking damage while cloaked may cause it to lift suddenly, causing negative effects. " + desc = "Полностью скрывает вашу личность, но не делает вас невидимым. Используйте повторно, чтобы отключить ее. \ + В замаскированном состоянии вы двигаетесь быстрее, но совершаете действия гораздо медленнее. \ + Получение урона в маскировке может привести к ее внезапному снятию, что вызовет негативные эффекты. " background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_minor_antag.dmi' @@ -68,8 +68,8 @@ /datum/action/cooldown/spell/shadow_cloak/proc/cloak_mob(mob/living/cast_on) playsound(cast_on, 'sound/chemistry/ahaha.ogg', 50, TRUE, -1, extrarange = SILENCED_SOUND_EXTRARANGE, frequency = 0.5) cast_on.visible_message( - span_warning("[cast_on] disappears into the shadows!"), - span_notice("You disappear into the shadows, becoming unidentifiable."), + span_warning("[cast_on] исчезают в тени!"), + span_notice("Вы исчезаете в тени, становясь неопознаваемым."), ) active_cloak = cast_on.apply_status_effect(/datum/status_effect/shadow_cloak) @@ -86,8 +86,8 @@ playsound(cast_on, 'sound/effects/curseattack.ogg', 50) if(show_message) cast_on.visible_message( - span_warning("[cast_on] appears from the shadows!"), - span_notice("You appear from the shadows, identifiable once more."), + span_warning("[cast_on] появляются из тени!"), + span_notice("Вы появляетесь из тени, вас снова можно узнать."), ) // Clear up the timer @@ -101,8 +101,8 @@ var/mob/living/removed = source.owner uncloak_mob(removed, show_message = FALSE) removed.visible_message( - span_warning("[removed] is pulled from the shadows!"), - span_userdanger("You are pulled out of the shadows!"), + span_warning("[removed] вытащены из тени!"), + span_userdanger("Вас вытащили из тени!"), ) removed.Knockdown(0.5 SECONDS) @@ -116,8 +116,8 @@ uncloak_mob(source, show_message = FALSE) source.visible_message( - span_warning("[source] suddenly appears from the shadows!"), - span_userdanger("As you lose your focus, you are pulled out of the shadows!"), + span_warning("[source] внезапно появляется из тени!"), + span_userdanger("Вы утратили фокусировку, вас вытаскивает из тени!"), ) StartCooldown(uncloak_time / 3) diff --git a/code/modules/antagonists/heretic/magic/space_crawl.dm b/code/modules/antagonists/heretic/magic/space_crawl.dm index 69a15d812bb55..1d4d4f6a0d281 100644 --- a/code/modules/antagonists/heretic/magic/space_crawl.dm +++ b/code/modules/antagonists/heretic/magic/space_crawl.dm @@ -5,7 +5,7 @@ */ /datum/action/cooldown/spell/jaunt/space_crawl name = "Space Phase" - desc = "Allows you to phase in and out of existance while in space or misc tiles." + desc = "Позволяет вам появляться и исчезать, находясь на космическом или схожему ему тайле." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" @@ -32,7 +32,7 @@ if(isspaceturf(get_turf(owner)) || ismiscturf(get_turf(owner))) return TRUE if(feedback) - to_chat(owner, span_warning("You must stand on a space or misc turf!")) + to_chat(owner, span_warning("Вы должны стоять на космическом или схожему ему тайле!")) return FALSE /datum/action/cooldown/spell/jaunt/space_crawl/cast(mob/living/cast_on) @@ -53,7 +53,7 @@ if(!.) reset_spell_cooldown() - to_chat(jaunter, span_warning("You are unable to space crawl!")) + to_chat(jaunter, span_warning("Вы не можете проползти в пространстве!")) /** * Attempts to enter the passed space or misc turfs. @@ -77,7 +77,7 @@ jaunter.put_in_hands(left_hand) jaunter.put_in_hands(right_hand) - our_turf.visible_message(span_warning("[jaunter] sinks into [our_turf]!")) + our_turf.visible_message(span_warning("[jaunter] погружается в [our_turf]!")) playsound(our_turf, 'sound/magic/cosmic_energy.ogg', 50, TRUE, -1) new /obj/effect/temp_visual/space_explosion(our_turf) jaunter.extinguish_mob() @@ -90,13 +90,13 @@ */ /datum/action/cooldown/spell/jaunt/space_crawl/proc/try_exit_jaunt(turf/our_turf, mob/living/jaunter) if(HAS_TRAIT_FROM(jaunter, TRAIT_NO_TRANSFORM, REF(src))) - to_chat(jaunter, span_warning("You cannot exit yet!!")) + to_chat(jaunter, span_warning("Вы еще не можете выйти!!")) return FALSE if(!exit_jaunt(jaunter, our_turf)) return FALSE - our_turf.visible_message(span_boldwarning("[jaunter] rises out of [our_turf]!")) + our_turf.visible_message(span_boldwarning("[jaunter] встаёт из [our_turf]!")) return TRUE /datum/action/cooldown/spell/jaunt/space_crawl/on_jaunt_exited(obj/effect/dummy/phased_mob/jaunt, mob/living/unjaunter) @@ -112,7 +112,7 @@ /// Spacecrawl "hands", prevent the user from holding items in spacecrawl /obj/item/space_crawl name = "space crawl" - desc = "You are unable to hold anything while in this form." + desc = "Находясь в этой форме, вы не можете ничего держать в руках." icon = 'icons/obj/antags/eldritch.dmi' item_flags = ABSTRACT | DROPDEL diff --git a/code/modules/antagonists/heretic/magic/star_blast.dm b/code/modules/antagonists/heretic/magic/star_blast.dm index 48fdf2f26934b..4001d3f26c59b 100644 --- a/code/modules/antagonists/heretic/magic/star_blast.dm +++ b/code/modules/antagonists/heretic/magic/star_blast.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/spell/pointed/projectile/star_blast name = "Star Blast" - desc = "This spell fires a disk with cosmic energies at a target, spreading the star mark." + desc = "Выстрел диском космической энергии, который распространяет Метку звезды." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -14,8 +14,8 @@ invocation_type = INVOCATION_SHOUT spell_requirements = NONE - active_msg = "You prepare to cast your star blast!" - deactive_msg = "You stop swirling cosmic energies from the palm of your hand... for now." + active_msg = "Вы готовитесь создать звездный взрыв!" + deactive_msg = "Вы прекращаете завихрять космическую энергию с ладони... пока что." cast_range = 12 projectile_type = /obj/projectile/magic/star_ball diff --git a/code/modules/antagonists/heretic/magic/star_touch.dm b/code/modules/antagonists/heretic/magic/star_touch.dm index 89c5d02e7d498..1558c8a622975 100644 --- a/code/modules/antagonists/heretic/magic/star_touch.dm +++ b/code/modules/antagonists/heretic/magic/star_touch.dm @@ -1,10 +1,10 @@ /datum/action/cooldown/spell/touch/star_touch name = "Star Touch" - desc = "Manifests cosmic fields on tiles next to you while marking the victim with a star mark \ - or consuming an already present star mark to put them to sleep for 4 seconds. \ - They will then be linked to you with a cosmic ray, burning them for up to a minute, or \ - until they can escape your sight. Star Touch can also remove Cosmic Runes, or teleport you \ - to your Star Gazer when used on yourself." + desc = "Создает космические поля на тайлах рядом с вами, помечая цель Меткой звезды \ + или снимая существующую метку, чтобы усыпить цель на 4 секунды. \ + Цель будет связана с вами космическим лучом, обжигающим ее в течении минуты, или \ + пока цель не скорется с вашего поля зрения. Способность также может удалять космические руны, \ + телепортировать вас к вашему звездочету, если вы используете её на себе." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -31,7 +31,7 @@ /datum/action/cooldown/spell/touch/star_touch/on_antimagic_triggered(obj/item/melee/touch_attack/hand, atom/victim, mob/living/carbon/caster) victim.visible_message( - span_danger("The spell bounces off of you!"), + span_danger("Заклинание отскакивает от вас!"), ) /datum/action/cooldown/spell/touch/star_touch/cast_on_hand_hit(obj/item/melee/touch_attack/hand, mob/living/victim, mob/living/carbon/caster) @@ -67,8 +67,8 @@ /obj/item/melee/touch_attack/star_touch name = "Star Touch" - desc = "A sinister looking aura that distorts the flow of reality around it. \ - Causes people with a star mark to sleep for 4 seconds, and causes people without a star mark to get one." + desc = "Зловещая аура, искажающая течение реальности вокруг себя. \ + Вызывает сон на 4 секунды у людей с Меткой звезды и создает метку у тех, у кого ее нет." icon_state = "star" inhand_icon_state = "star" @@ -76,8 +76,8 @@ . = ..() AddComponent(\ /datum/component/effect_remover, \ - success_feedback = "You remove %THEEFFECT.", \ - tip_text = "Clear rune", \ + success_feedback = "Вы убираете %THEEFFECT.", \ + tip_text = "Чистит руну", \ on_clear_callback = CALLBACK(src, PROC_REF(after_clear_rune)), \ effects_we_clear = list(/obj/effect/cosmic_rune), \ ) @@ -92,14 +92,14 @@ remove_hand_with_no_refund(user) /obj/item/melee/touch_attack/star_touch/ignition_effect(atom/to_light, mob/user) - . = span_notice("[user] effortlessly snaps [user.p_their()] fingers near [to_light], igniting it with cosmic energies. Fucking badass!") + . = span_notice("[user] без труда щелкает своими пальцами возле [to_light], зажигая его мистической энергией. Чертовски круто!") remove_hand_with_no_refund(user) /obj/item/melee/touch_attack/star_touch/attack_self(mob/living/user) var/datum/action/cooldown/spell/touch/star_touch/star_touch_spell = spell_which_made_us?.resolve() var/mob/living/basic/heretic_summon/star_gazer/star_gazer_mob = star_touch_spell?.get_star_gazer() if(!star_gazer_mob) - balloon_alert(user, "no linked star gazer!") + balloon_alert(user, "нет соединенного звездочета!") return ..() new /obj/effect/temp_visual/cosmic_explosion(get_turf(user)) do_teleport( @@ -180,7 +180,7 @@ */ /datum/status_effect/cosmic_beam/proc/beam_died() SIGNAL_HANDLER - to_chat(owner, span_warning("You lose control of the beam!")) + to_chat(owner, span_warning("Вы теряете контроль над лучом!")) lose_target() duration = 0 diff --git a/code/modules/antagonists/heretic/magic/void_cold_cone.dm b/code/modules/antagonists/heretic/magic/void_cold_cone.dm index 92c45dc10b010..d29f29d3d35f4 100644 --- a/code/modules/antagonists/heretic/magic/void_cold_cone.dm +++ b/code/modules/antagonists/heretic/magic/void_cold_cone.dm @@ -1,9 +1,9 @@ /datum/action/cooldown/spell/cone/staggered/cone_of_cold/void name = "Void Blast" - desc = "Fires a cone of chilling void in front of you, freezing everything in its path. \ - Enemies in the cone of the blast will be damaged slightly, slowed, and chilled overtime. \ - Additionally, objects hit will be frozen and can shatter, and ground hit will be iced over and slippery - \ - though they may thaw shortly if used in room temperature." + desc = "Выпускает перед собой конус ледяной пустоты, замораживая все на своем пути. \ + Попавшие под конус враги получают незначительные повреждения, замедление и охлаждение. \ + Кроме того, объекты будут заморожены и смогут быть разбиты, а земля превратится в скользкий лёд - \ + хоть она сможет быстро оттаять, если использовать при комнатной температуре." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon_state = "icebeam" diff --git a/code/modules/antagonists/heretic/magic/void_phase.dm b/code/modules/antagonists/heretic/magic/void_phase.dm index 350ca0f29c100..7588c82ceb925 100644 --- a/code/modules/antagonists/heretic/magic/void_phase.dm +++ b/code/modules/antagonists/heretic/magic/void_phase.dm @@ -1,8 +1,8 @@ /datum/action/cooldown/spell/pointed/void_phase name = "Void Phase" - desc = "Lets you blink to your pointed destination, causes 3x3 aoe damage bubble \ - around your pointed destination and your current location. \ - It has a minimum range of 3 tiles and a maximum range of 9 tiles." + desc = "Позволяет вам телепортироваться в указанное место, вызывая АоЕ урон площадью 3х3 \ + вокруг указанного вами пункта назначения и вашего текущего местоположения. \ + Минимальная дальность действия составляет 3 тайлов, а максимальная - 9 тайлов." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -28,7 +28,7 @@ return if(owner && get_dist(get_turf(owner), get_turf(cast_on)) < min_cast_range) - cast_on.balloon_alert(owner, "too close!") + cast_on.balloon_alert(owner, "слишком близко!") return . | SPELL_CANCEL_CAST /datum/action/cooldown/spell/pointed/void_phase/cast(atom/cast_on) diff --git a/code/modules/antagonists/heretic/magic/void_pull.dm b/code/modules/antagonists/heretic/magic/void_pull.dm index 2021bf8a04e4f..233e78e1560f5 100644 --- a/code/modules/antagonists/heretic/magic/void_pull.dm +++ b/code/modules/antagonists/heretic/magic/void_pull.dm @@ -1,7 +1,7 @@ /datum/action/cooldown/spell/aoe/void_pull name = "Void Pull" - desc = "Calls the void, damaging, knocking down, and stunning people nearby. \ - Distant foes are also pulled closer to you (but not damaged)." + desc = "Вызывает пустоту, нанося урон, сбивая с ног и оглушая находящихся рядом людей. \ + Далекие противники также притягиваются ближе к вам (но не повреждаются)." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' diff --git a/code/modules/antagonists/heretic/magic/wave_of_desperation.dm b/code/modules/antagonists/heretic/magic/wave_of_desperation.dm index 3b78b56ddc0ba..bfe0fc1d203e4 100644 --- a/code/modules/antagonists/heretic/magic/wave_of_desperation.dm +++ b/code/modules/antagonists/heretic/magic/wave_of_desperation.dm @@ -1,7 +1,7 @@ /datum/action/cooldown/spell/aoe/wave_of_desperation name = "Wave Of Desperation" - desc = "Removes your restraints, repels and knocks down adjacent people, and applies certain effects of the Mansus Grasp upon everything nearby. \ - Cannot be cast unless you are restrained, and the stress renders you unconscious 12 seconds later!" + desc = "Снимает связки, отталкивает и сбивает с ног находящихся рядом людей, а также накладывает на них некоторые эффекты Хватки Мансуса. \ + Не может быть применено, если вы не скованы, а стресс лишает вас сознания на 12 секунд!" background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon = 'icons/mob/actions/actions_ecult.dmi' @@ -27,10 +27,10 @@ return if(cast_on.handcuffed) - cast_on.visible_message(span_danger("[cast_on.handcuffed] on [cast_on] shatter!")) + cast_on.visible_message(span_danger("[cast_on.handcuffed], сковывающие [cast_on], разбиваются!")) QDEL_NULL(cast_on.handcuffed) if(cast_on.legcuffed) - cast_on.visible_message(span_danger("[cast_on.legcuffed] on [cast_on] shatters!")) + cast_on.visible_message(span_danger("[cast_on.legcuffed], сковывающие [cast_on], разбиваются!")) QDEL_NULL(cast_on.legcuffed) cast_on.apply_status_effect(/datum/status_effect/heretic_lastresort) diff --git a/code/modules/antagonists/heretic/moon_lunatic.dm b/code/modules/antagonists/heretic/moon_lunatic.dm index 21177f1a62319..88395e45c48da 100644 --- a/code/modules/antagonists/heretic/moon_lunatic.dm +++ b/code/modules/antagonists/heretic/moon_lunatic.dm @@ -4,7 +4,7 @@ hijack_speed = 0 antagpanel_category = ANTAG_GROUP_HORRORS show_in_antagpanel = FALSE - suicide_cry = "PRAISE THE RINGLEADER!!" + suicide_cry = "СЛАВЬСЯ ШПРЕХШТАЛМЕЙСТЕР!!" antag_moodlet = /datum/mood_event/heretics/lunatic antag_hud_name = "lunatic" can_assign_self_objectives = FALSE @@ -24,7 +24,7 @@ lunatic_obj.update_explanation_text() objectives += lunatic_obj - to_chat(owner, span_boldnotice("Ruin the lie, save the truth through obeying [heretic_master] the ringleader!")) + to_chat(owner, span_boldnotice("Разрушьте ложь, спасите правду, повинуясь вашему Шпрехшталмейстеру - [heretic_master]!")) /datum/antagonist/lunatic/greet() owner.current.playsound_local(get_turf(owner.current), 'sound/effects/moon_parade.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) @@ -32,7 +32,7 @@ /datum/antagonist/lunatic/apply_innate_effects(mob/living/mob_override) var/mob/living/our_mob = mob_override || owner.current - handle_clown_mutation(our_mob, "Ancient knowledge from the moon has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.") + handle_clown_mutation(our_mob, "Древнее знание, данное вам луной, позволило преодолеть свою клоунскую натуру, позволяя вам владеть оружием без вреда для себя.") our_mob.faction |= FACTION_HERETIC add_team_hud(our_mob) add_team_hud(our_mob, /datum/antagonist/heretic) @@ -50,7 +50,7 @@ // Mood event given to moon acolytes /datum/mood_event/heretics/lunatic - description = "THE TRUTH REVEALED, THE LIE SLAIN." + description = "ПРАВДА РАСКРЫТА, ЛОЖЬ УБИТА." mood_change = 10 /datum/objective/lunatic @@ -59,4 +59,4 @@ /datum/objective/lunatic/update_explanation_text() . = ..() - explanation_text = "Assist your ringleader [master]" + explanation_text = "Помогите вашему Шпрехшталмейстеру - [master]" diff --git a/code/modules/antagonists/heretic/status_effects/buffs.dm b/code/modules/antagonists/heretic/status_effects/buffs.dm index 607f485ff6421..785cfde3966b1 100644 --- a/code/modules/antagonists/heretic/status_effects/buffs.dm +++ b/code/modules/antagonists/heretic/status_effects/buffs.dm @@ -9,21 +9,21 @@ var/turf/location /datum/status_effect/crucible_soul/on_apply() - to_chat(owner,span_notice("You phase through reality, nothing is out of bounds!")) + to_chat(owner,span_notice("Вы проходите через реальность, ничто не остается за гранью!")) owner.alpha = 180 owner.pass_flags |= PASSCLOSEDTURF | PASSGLASS | PASSGRILLE | PASSMACHINE | PASSSTRUCTURE | PASSTABLE | PASSMOB | PASSDOORS | PASSVEHICLE location = get_turf(owner) return TRUE /datum/status_effect/crucible_soul/on_remove() - to_chat(owner,span_notice("You regain your physicality, returning you to your original location...")) + to_chat(owner,span_notice("Вы восстанавливаете свою физическую форму, возвращаясь в исходное положение...")) owner.alpha = initial(owner.alpha) owner.pass_flags &= ~(PASSCLOSEDTURF | PASSGLASS | PASSGRILLE | PASSMACHINE | PASSSTRUCTURE | PASSTABLE | PASSMOB | PASSDOORS | PASSVEHICLE) owner.forceMove(location) location = null /datum/status_effect/crucible_soul/get_examine_text() - return span_notice("[owner.p_They()] [owner.p_do()]n't seem to be all here.") + return span_notice("Кажется не совсем собой.") // DUSK AND DAWN /datum/status_effect/duskndawn @@ -84,18 +84,18 @@ /atom/movable/screen/alert/status_effect/crucible_soul name = "Blessing of Crucible Soul" - desc = "You phased through reality. You are halfway to your final destination..." + desc = "Вы прошли сквозь реальность. Вы на полпути к конечному пункту назначения..." icon_state = "crucible" /atom/movable/screen/alert/status_effect/duskndawn name = "Blessing of Dusk and Dawn" - desc = "Many things hide beyond the horizon. With Owl's help I managed to slip past Sun's guard and Moon's watch." + desc = "Многие вещи скрываются за горизонтом. С помощью Совы мне удалось проскользнуть мимо стражи Солнца и дозора Луны." icon_state = "duskndawn" /atom/movable/screen/alert/status_effect/marshal name = "Blessing of Wounded Soldier" - desc = "Some people seek power through redemption. One thing many people don't know is that battle \ - is the ultimate redemption, and wounds let you bask in eternal glory." + desc = "Некоторые люди ищут силу через искупление. Многие люди не знают, что битва - это высшее искупление, \ + а раны позволяют вам утопать в вечной славе." icon_state = "wounded_soldier" // BLADES @@ -185,9 +185,9 @@ playsound(get_turf(source), 'sound/weapons/parry.ogg', 100, TRUE) source.visible_message( - span_warning("[to_remove] orbiting [source] snaps in front of [attack_text], blocking it before vanishing!"), - span_warning("[to_remove] orbiting you snaps in front of [attack_text], blocking it before vanishing!"), - span_hear("You hear a clink."), + span_warning("[to_remove], кружащийся вокруг [source], выпригывает перед [attack_text], блокируя его, прежде чем исчезнуть!"), + span_warning("[to_remove], кружащийся вокруг вас, выпригывает перед [attack_text], блокируя его, прежде чем исчезнуть!"), + span_hear("Вы слышите лязг."), ) qdel(to_remove) @@ -266,28 +266,28 @@ UnregisterSignal(owner, COMSIG_ATOM_HOLYATTACK) UnregisterSignal(owner, COMSIG_CARBON_CUFF_ATTEMPTED) owner.visible_message( - span_warning("The haze around [owner] disappears, leaving them materialized!"), - span_notice("You exit the refuge."), + span_warning("Дымка вокруг [owner] исчезает, материализуя их!"), + span_notice("Вы выходите из убежища."), ) /datum/status_effect/caretaker_refuge/get_examine_text() - return span_warning("[owner.p_Theyre()] enveloped in an unholy haze!") + return span_warning("[owner.p_Theyre()] окутан нечистой дымкой!") /datum/status_effect/caretaker_refuge/proc/nullrod_handler(datum/source, obj/item/weapon) SIGNAL_HANDLER playsound(get_turf(owner), 'sound/effects/curse1.ogg', 80, TRUE) - owner.visible_message(span_warning("[weapon] repels the haze around [owner]!")) + owner.visible_message(span_warning("[weapon] рассеивает дымку вокруг [owner]!")) owner.remove_status_effect(type) /datum/status_effect/caretaker_refuge/proc/on_focus_lost() SIGNAL_HANDLER - to_chat(owner, span_danger("Without a focus, your refuge weakens and dissipates!")) + to_chat(owner, span_danger("Без фокусировки, ваше убежище ослабевает и рассеивается!")) owner.remove_status_effect(type) /datum/status_effect/caretaker_refuge/proc/prevent_spell_usage(datum/source, datum/spell) SIGNAL_HANDLER if(!istype(spell, /datum/action/cooldown/spell/caretaker)) - owner.balloon_alert(owner, "may not cast spells in refuge!") + owner.balloon_alert(owner, "нельзя колдовать в убежище!") return SPELL_CANCEL_CAST /datum/status_effect/caretaker_refuge/proc/prevent_cuff(datum/source, mob/attemptee) @@ -310,5 +310,5 @@ /atom/movable/screen/alert/status_effect/moon_grasp_hide name = "Blessing of The Moon" - desc = "The Moon clouds their vision, as the sun always has yours." + desc = "Луна затуманивает их зрение, как Солнце всегда затуманивало твое." icon_state = "moon_hide" diff --git a/code/modules/antagonists/heretic/status_effects/debuffs.dm b/code/modules/antagonists/heretic/status_effects/debuffs.dm index 7037d1cc3778b..f94ce37f88371 100644 --- a/code/modules/antagonists/heretic/status_effects/debuffs.dm +++ b/code/modules/antagonists/heretic/status_effects/debuffs.dm @@ -10,7 +10,7 @@ /atom/movable/screen/alert/status_effect/void_chill name = "Void Chill" - desc = "There's something freezing you from within and without. You've never felt cold this oppressive before..." + desc = "Что-то замораживает вас изнутри и снаружи. Вы никогда раньше не чувствовали такого гнетущего холода..." icon_state = "void_chill" /datum/status_effect/void_chill/on_apply() @@ -45,7 +45,7 @@ tick_interval = 1 SECONDS /datum/status_effect/amok/on_apply(mob/living/afflicted) - to_chat(owner, span_boldwarning("You feel filled with a rage that is not your own!")) + to_chat(owner, span_boldwarning("Вы чувствуете, что вас переполняет не вашим гневом")) return TRUE /datum/status_effect/amok/tick(seconds_between_ticks) @@ -99,7 +99,7 @@ tick_interval = 1 SECONDS /datum/status_effect/corrosion_curse/on_apply() - to_chat(owner, span_userdanger("Your body starts to break apart!")) + to_chat(owner, span_userdanger("Ваше тело начинает распадаться на части!")) return TRUE /datum/status_effect/corrosion_curse/tick(seconds_between_ticks) @@ -154,7 +154,7 @@ /atom/movable/screen/alert/status_effect/star_mark name = "Star Mark" - desc = "A ring above your head prevents you from entering cosmic fields or teleporting through cosmic runes..." + desc = "Кольцо на вашей голове не позволяет вам входить в космические поля или телепортироваться через космические руны..." icon_state = "star_mark" /datum/status_effect/star_mark/on_creation(mob/living/new_owner, mob/living/new_spell_caster) @@ -203,12 +203,12 @@ /atom/movable/screen/alert/status_effect/heretic_lastresort name = "Last Resort" - desc = "Your head spins, heart pumping as fast as it can, losing the fight with the ground. Run to safety!" + desc = "Голова идет кругом, сердце бешенно бьется, сложно стоять на земле. Бегите в безопасное место!" icon_state = "lastresort" /datum/status_effect/heretic_lastresort/on_apply() ADD_TRAIT(owner, TRAIT_IGNORESLOWDOWN, TRAIT_STATUS_EFFECT(id)) - to_chat(owner, span_userdanger("You are on the brink of losing consciousness, run!")) + to_chat(owner, span_userdanger("Вы вот-вот потеряете сознание, бегите!")) return TRUE /datum/status_effect/heretic_lastresort/on_remove() @@ -234,7 +234,7 @@ /atom/movable/screen/alert/status_effect/moon_converted name = "Moon Converted" - desc = "THEY LIE, THEY ALL LIE!!! SLAY THEM!!! BURN THEM!!! MAKE THEM SEE THE TRUTH!!!" + desc = "ОНИ ЛГУТ, ОНИ ВСЕ ЛГУТ!!! УБЕЙ ИХ!!! СОЖГИ ИХ!!! ЗАСТАВЬ ИХ УЗРЕТЬ ПРАВДУ!!!" icon_state = "lastresort" /datum/status_effect/moon_converted/on_creation() @@ -251,8 +251,8 @@ owner.adjustBruteLoss( -150 + owner.mob_mood.sanity) owner.adjustFireLoss(-150 + owner.mob_mood.sanity) - to_chat(owner, span_hypnophrase(("THE MOON SHOWS YOU THE TRUTH AND THE LIARS WISH TO COVER IT, SLAY THEM ALL!!!"))) - owner.balloon_alert(owner, "they lie..THEY ALL LIE!!!") + to_chat(owner, span_hypnophrase(("ЛУНА УКАЗЫВАЕТ ТЕБЕ ПРАВДУ И ЛЖЕЦЫ ПЫТАЮТСЯ СКРЫТЬ ЕЕ, УБЕЙ ИХ ВСЕХ!!!"))) + owner.balloon_alert(owner, "они лгут... ОНИ ВСЕ ЛГУТ!!!") owner.AdjustUnconscious(7 SECONDS, ignore_canstun = FALSE) ADD_TRAIT(owner, TRAIT_MUTE, REF(src)) RegisterSignal(owner, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(update_owner_overlay)) @@ -280,7 +280,7 @@ /datum/status_effect/moon_converted/on_remove() // Span warning and unconscious so they realize they aren't evil anymore - to_chat(owner, span_warning("Your mind is cleared from the effect of the mansus, your alligiences are as they were before")) + to_chat(owner, span_warning("Ваш разум очищен от влияний Мансуса, ваша лояльность вернулась к прежней")) REMOVE_TRAIT(owner, TRAIT_MUTE, REF(src)) owner.AdjustUnconscious(5 SECONDS, ignore_canstun = FALSE) owner.log_message("[owner] is no longer insane.", LOG_GAME) @@ -292,5 +292,5 @@ /atom/movable/screen/alert/status_effect/moon_converted name = "Moon Converted" - desc = "They LIE, SLAY ALL OF THE THEM!!! THE LIARS OF THE SUN MUST FALL!!!" + desc = "Они ЛГУТ, УБЕЙ ИХ ВСЕХ ДО ПОСЛЕДНЕГО!!! ЛЖЕЦЫ СОЛНЦА ДОЛЖНЫ ПАСТЬ!!!" icon_state = "moon_insanity" diff --git a/code/modules/antagonists/heretic/status_effects/ghoul.dm b/code/modules/antagonists/heretic/status_effects/ghoul.dm index 5c19fb1bf9a20..f94db8ad7fe49 100644 --- a/code/modules/antagonists/heretic/status_effects/ghoul.dm +++ b/code/modules/antagonists/heretic/status_effects/ghoul.dm @@ -36,12 +36,12 @@ . = ..() if(master_mind) - linked_alert.desc += " You are an eldritch monster reanimated to serve its master, [master_mind]." + linked_alert.desc += " Вы - мистический монстр, возрожденный, чтобы служить своему хозяину, [master_mind]." if(isnum(new_max_health)) if(new_max_health > initial(new_owner.maxHealth)) - linked_alert.desc += " You are stronger in this form." + linked_alert.desc += " В этой форме вы сильнее." else - linked_alert.desc += " You are more fragile in this form." + linked_alert.desc += " В этой форме вы более хрупки." /datum/status_effect/ghoul/on_apply() if(!ishuman(owner)) @@ -99,5 +99,5 @@ /atom/movable/screen/alert/status_effect/ghoul name = "Flesh Servant" - desc = "You are a Ghoul!" + desc = "Вы - гуль!" icon_state = ALERT_MIND_CONTROL diff --git a/code/modules/antagonists/heretic/status_effects/mark_effects.dm b/code/modules/antagonists/heretic/status_effects/mark_effects.dm index 3dffa2dd4fe80..208b2f344dcd0 100644 --- a/code/modules/antagonists/heretic/status_effects/mark_effects.dm +++ b/code/modules/antagonists/heretic/status_effects/mark_effects.dm @@ -182,9 +182,9 @@ var/mob/thrower = throw_args[4] if(istype(thrower)) - to_chat(thrower, span_hypnophrase("An otherworldly force prevents you from throwing [source] out of [get_area_name(locked_to)]!")) + to_chat(thrower, span_hypnophrase("Потусторонняя сила не позволяет вам выбросить [source] из [get_area_name(locked_to)]!")) - to_chat(source, span_hypnophrase("An otherworldly force prevents you from being thrown out of [get_area_name(locked_to)]!")) + to_chat(source, span_hypnophrase("Потусторонняя сила не позволяет вам быть выброшенным из [get_area_name(locked_to)]!")) return COMPONENT_CANCEL_THROW @@ -195,7 +195,7 @@ if(!is_escaping_locked_area(source, destination)) return - to_chat(source, span_hypnophrase("An otherworldly force prevents your escape from [get_area_name(locked_to)]!")) + to_chat(source, span_hypnophrase("Потусторонняя сила препятствует вашему побегу из [get_area_name(locked_to)]!")) source.Stun(1 SECONDS) return COMPONENT_BLOCK_TELEPORT @@ -212,7 +212,7 @@ if(forced || !is_escaping_locked_area(old_loc, source)) return - to_chat(source, span_hypnophrase("An otherworldly force prevents your escape from [get_area_name(locked_to)]!")) + to_chat(source, span_hypnophrase("Потусторонняя сила препятствует вашему побегу из [get_area_name(locked_to)]!")) var/turf/further_behind_old_loc = get_edge_target_turf(old_loc, REVERSE_DIR(movement_dir)) @@ -272,7 +272,7 @@ . = ..() ADD_TRAIT(owner, TRAIT_PACIFISM, id) owner.emote(pick("giggle", "laugh")) - owner.balloon_alert(owner, "you feel unable to hurt a soul!") + owner.balloon_alert(owner, "вы чувствуете, что и мышке не навредите!") RegisterSignal (owner, COMSIG_MOB_APPLY_DAMAGE, PROC_REF(on_damaged)) return TRUE @@ -291,7 +291,7 @@ // Removes the trait in here since we don't wanna destroy the mark before its detonated or allow detonation triggers with other weapons REMOVE_TRAIT(owner, TRAIT_PACIFISM, id) - owner.balloon_alert(owner, "you feel able to once again strike!") + owner.balloon_alert(owner, "вы чувствуете, что можете снова драться!") /datum/status_effect/eldritch/moon/on_effect() owner.adjust_confusion(30 SECONDS) diff --git a/code/modules/antagonists/heretic/structures/carving_knife.dm b/code/modules/antagonists/heretic/structures/carving_knife.dm index b9afe64324011..7b2ffc8f3306b 100644 --- a/code/modules/antagonists/heretic/structures/carving_knife.dm +++ b/code/modules/antagonists/heretic/structures/carving_knife.dm @@ -1,8 +1,8 @@ // The rune carver, a heretic knife that can draw rune traps. /obj/item/melee/rune_carver name = "carving knife" - desc = "A small knife made of cold steel, pure and perfect. Its sharpness can carve into titanium itself - \ - but only few can evoke the dangers that lurk beneath reality." + desc = "Маленький нож из холодной стали, чистой и совершенной. Его острие способно прорезать сам титан - \ + Но лишь немногие способны вызвать опасности, которые таятся под реальностью." icon = 'icons/obj/antags/eldritch.dmi' icon_state = "rune_carver" obj_flags = CONDUCTS_ELECTRICITY @@ -39,8 +39,8 @@ if(!IS_HERETIC_OR_MONSTER(user) && !isobserver(user)) return - . += span_notice("[length(current_runes)] / [max_rune_amt] total carvings have been drawn.") - . += span_info("The following runes can be carved:") + . += span_notice("Всего было вырезано: [length(current_runes)] / [max_rune_amt]") + . += span_info("Можно вырезать следующие руны:") for(var/obj/structure/trap/eldritch/trap as anything in subtypesof(/obj/structure/trap/eldritch)) var/potion_string = span_info("\tThe " + initial(trap.name) + " - " + initial(trap.carver_tip)) . += potion_string @@ -66,11 +66,11 @@ */ /obj/item/melee/rune_carver/proc/try_carve_rune(turf/open/target_turf, mob/user) if(drawing) - target_turf.balloon_alert(user, "already carving!") + target_turf.balloon_alert(user, "уже вырезаете!") return if(locate(/obj/structure/trap/eldritch) in range(1, target_turf)) - target_turf.balloon_alert(user, "to close to another carving!") + target_turf.balloon_alert(user, "слишком близко к другой резьбе!") return for(var/datum/weakref/rune_ref as anything in current_runes) @@ -78,7 +78,7 @@ current_runes -= rune_ref if(length(current_runes) >= max_rune_amt) - target_turf.balloon_alert(user, "too many carvings!") + target_turf.balloon_alert(user, "слишком много резьбы!") return drawing = TRUE @@ -113,19 +113,19 @@ if(!ispath(to_make, /obj/structure/trap/eldritch)) CRASH("[type] attempted to create a rune of incorrect type! (got: [to_make])") - target_turf.balloon_alert(user, "carving [picked_choice]...") + target_turf.balloon_alert(user, "вырезание [picked_choice]...") user.playsound_local(target_turf, 'sound/items/sheath.ogg', 50, TRUE) if(!do_after(user, 5 SECONDS, target = target_turf)) - target_turf.balloon_alert(user, "interrupted!") + target_turf.balloon_alert(user, "прервано!") return - target_turf.balloon_alert(user, "[picked_choice] carved") + target_turf.balloon_alert(user, "[picked_choice] вырезано") var/obj/structure/trap/eldritch/new_rune = new to_make(target_turf, user) current_runes += WEAKREF(new_rune) /datum/action/item_action/rune_shatter name = "Rune Break" - desc = "Destroys all runes carved by this blade." + desc = "Уничтожает все руны, вырезанные этим клинком." background_icon_state = "bg_heretic" overlay_icon_state = "bg_heretic_border" button_icon_state = "rune_break" @@ -167,7 +167,7 @@ // The actual rune traps the knife draws. /obj/structure/trap/eldritch name = "elder carving" - desc = "Collection of unknown symbols, they remind you of days long gone..." + desc = "Коллекция неизвестных символов, они напоминают о давно ушедших днях..." icon = 'icons/obj/service/hand_of_god_structures.dmi' /// A tip displayed to heretics who examine the rune carver. Explains what the rune does. var/carver_tip @@ -191,7 +191,7 @@ /obj/structure/trap/eldritch/attacked_by(obj/item/weapon, mob/living/user) if(istype(weapon, /obj/item/melee/rune_carver) || istype(weapon, /obj/item/nullrod)) - loc.balloon_alert(user, "carving dispelled") + loc.balloon_alert(user, "резьба развеяна") playsound(src, 'sound/items/sheath.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, ignore_walls = FALSE) qdel(src) @@ -203,7 +203,7 @@ alpha = 10 time_between_triggers = 5 SECONDS sparks = FALSE - carver_tip = "A nearly invisible rune that, when stepped on, alerts the carver who triggered it and where." + carver_tip = "Почти невидимая руна, которая, если на нее наступить, оповещает резчика о том, кто и где ее вызвал." /obj/structure/trap/eldritch/alert/trap_effect(mob/living/victim) var/mob/living/real_owner = owner?.resolve() @@ -216,7 +216,7 @@ icon_state = "tentacle_rune" time_between_triggers = 45 SECONDS charges = 1 - carver_tip = "When stepped on, causes heavy damage leg damage and stuns the victim for 5 seconds. Has 1 charge." + carver_tip = "Когда на него наступают, наносит сильный урон по ногам и оглушает жертву на 5 секунд. Имеет 1 заряд." /obj/structure/trap/eldritch/tentacle/trap_effect(mob/living/victim) if(!iscarbon(victim)) @@ -232,7 +232,7 @@ icon_state = "madness_rune" time_between_triggers = 20 SECONDS charges = 2 - carver_tip = "When stepped on, causes heavy stamina damage, blindness, and a variety of ailments to the victim. Has 2 charges." + carver_tip = "При наступлении на жертву наносит большой урон стамине, слепоту и различные заболевания. Имеет 2 заряда." /obj/structure/trap/eldritch/mad/trap_effect(mob/living/victim) if(!iscarbon(victim)) diff --git a/code/modules/antagonists/heretic/structures/lock_final.dm b/code/modules/antagonists/heretic/structures/lock_final.dm index 759bc8aa55e39..c015af2be9ec5 100644 --- a/code/modules/antagonists/heretic/structures/lock_final.dm +++ b/code/modules/antagonists/heretic/structures/lock_final.dm @@ -1,6 +1,6 @@ /obj/structure/lock_tear name = "???" - desc = "It stares back. Theres no reason to remain. Run." + desc = "Оно смотрит в ответ. Нет причин оставаться. Беги." max_integrity = INFINITE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF icon = 'icons/obj/anomaly.dmi' @@ -37,7 +37,7 @@ /// Ask ghosts if they want to make some noise /obj/structure/lock_tear/proc/poll_ghosts() - var/list/candidates = SSpolling.poll_ghost_candidates("Would you like to be a random [span_notice("eldritch monster")] attacking the crew?", check_jobban = ROLE_SENTIENCE, role = ROLE_SENTIENCE, poll_time = 10 SECONDS, ignore_category = POLL_IGNORE_HERETIC_MONSTER, alert_pic = src, role_name_text = "eldritch monster") + var/list/candidates = SSpolling.poll_ghost_candidates("Хотите стать случайным [span_notice("мистическим монстром")], атакующим экипаж?", check_jobban = ROLE_SENTIENCE, role = ROLE_SENTIENCE, poll_time = 10 SECONDS, ignore_category = POLL_IGNORE_HERETIC_MONSTER, alert_pic = src, role_name_text = "eldritch monster") while(LAZYLEN(candidates)) var/mob/dead/observer/candidate = pick_n_take(candidates) ghost_to_monster(candidate, should_ask = FALSE) @@ -48,7 +48,7 @@ SIGNAL_HANDLER var/turf/our_turf = get_turf(src) playsound(our_turf, 'sound/magic/castsummon.ogg', vol = 100, vary = TRUE) - visible_message(span_boldwarning("The rip in space spasms and disappears!")) + visible_message(span_boldwarning("Разрыв в пространстве сжимается и исчезает!")) UnregisterSignal(former_master, list(COMSIG_LIVING_DEATH, COMSIG_QDELETING)) // Just in case they die THEN delete new /obj/effect/temp_visual/destabilising_tear(our_turf) qdel(src) @@ -63,13 +63,13 @@ . = ..() if (!isobserver(user) || gathering_candidates) return - . += span_notice("You can use this to enter the world as a foul monster.") + . += span_notice("Вы можете использовать это, чтобы войти в этот мир за ужасного монстра.") /// Turn a ghost into an 'orrible beast /obj/structure/lock_tear/proc/ghost_to_monster(mob/dead/observer/user, should_ask = TRUE) if(should_ask) - var/ask = tgui_alert(user, "Become a monster?", "Ascended Rift", list("Yes", "No")) - if(ask != "Yes" || QDELETED(src) || QDELETED(user)) + var/ask = tgui_alert(user, "Стать монстром?", "Вознесенный разрыв", list("Да", "Нет")) + if(ask != "Да" || QDELETED(src) || QDELETED(user)) return FALSE var/monster_type = pick(monster_types) var/mob/living/monster = new monster_type(loc) @@ -82,7 +82,7 @@ woohoo_free_antag.set_owner(ascendee) var/datum/objective/kill_all_your_friends = new() kill_all_your_friends.owner = monster.mind - kill_all_your_friends.explanation_text = "The station's crew must be culled." + kill_all_your_friends.explanation_text = "Экипаж станции должен быть уничтожен." kill_all_your_friends.completed = TRUE woohoo_free_antag.objectives += kill_all_your_friends diff --git a/code/modules/antagonists/heretic/structures/mawed_crucible.dm b/code/modules/antagonists/heretic/structures/mawed_crucible.dm index 8e5410f0f6751..39afa415336c9 100644 --- a/code/modules/antagonists/heretic/structures/mawed_crucible.dm +++ b/code/modules/antagonists/heretic/structures/mawed_crucible.dm @@ -1,8 +1,8 @@ // The mawed crucible, a heretic structure that can create potions from bodyparts and organs. /obj/structure/destructible/eldritch_crucible name = "mawed crucible" - desc = "A deep basin made of cast iron, immortalized by steel-like teeth holding it in place. \ - Staring at the vile extract within fills your mind with terrible ideas." + desc = "Глубокий бассейн из чугуна, увековеченный стальными зубцами, удерживающими его на месте. \ + Когда вы смотрите на мерзкий экстракт внутри, у вас в голове рождаются ужасные мысли." icon = 'icons/obj/antags/eldritch.dmi' icon_state = "crucible" base_icon_state = "crucible" @@ -19,12 +19,12 @@ /obj/structure/destructible/eldritch_crucible/Initialize(mapload) . = ..() - break_message = span_warning("[src] falls apart with a thud!") + break_message = span_warning("[src] разваливается с грохотом!") /obj/structure/destructible/eldritch_crucible/atom_deconstruct(disassembled = TRUE) // Create a spillage if we were destroyed with leftover mass if(current_mass) - break_message = span_warning("[src] falls apart with a thud, spilling shining extract everywhere!") + break_message = span_warning("[src] разваливается с грохотом, рассыпая сияющий экстракт повсюду!") var/turf/our_turf = get_turf(src) new /obj/effect/decal/cleanable/greenglow(our_turf) @@ -42,19 +42,19 @@ if(current_mass < max_mass) var/to_fill = max_mass - current_mass - . += span_notice("[src] requires [to_fill] more organ[to_fill == 1 ? "":"s"] or bodypart[to_fill == 1 ? "":"s"].") + . += span_notice("Для [src] необходимо больше органов или частей тела: [to_fill].") else - . += span_boldnotice("[src] is bubbling to the brim with viscous liquid, and is ready to use.") + . += span_boldnotice("[src] пузырится вязкой жидкостью до краев и готов к использованию.") - . += span_notice("You can [anchored ? "unanchor and move":"anchor in place"] [src] with a Codex Cicatrix or Mansus Grasp.") - . += span_info("The following potions can be brewed:") + . += span_notice("Вы можете [anchored ? "открепить и переместить":"закрепить на месте"] [src] с помощью Codex Cicatrix или хваткой Мансуса.") + . += span_info("Можно сварить следующие зелья:") for(var/obj/item/eldritch_potion/potion as anything in subtypesof(/obj/item/eldritch_potion)) - var/potion_string = span_info("\tThe " + initial(potion.name) + " - " + initial(potion.crucible_tip)) + var/potion_string = span_info(initial(potion.name) + " - " + initial(potion.crucible_tip)) . += potion_string /obj/structure/destructible/eldritch_crucible/examine_status(mob/user) if(IS_HERETIC_OR_MONSTER(user) || isobserver(user)) - return span_notice("It's at [round(atom_integrity * 100 / max_integrity)]% stability.") + return span_notice("Стабильность: [round(atom_integrity * 100 / max_integrity)]%.") return ..() /obj/structure/destructible/eldritch_crucible/attacked_by(obj/item/weapon, mob/living/user) @@ -68,14 +68,14 @@ if(istype(weapon, /obj/item/codex_cicatrix) || istype(weapon, /obj/item/melee/touch_attack/mansus_fist)) playsound(src, 'sound/items/deconstruct.ogg', 30, TRUE, ignore_walls = FALSE) set_anchored(!anchored) - balloon_alert(user, "[anchored ? "":"un"]anchored") + balloon_alert(user, "[anchored ? "закреплен":"откреплен"]") return TRUE if(isbodypart(weapon)) var/obj/item/bodypart/consumed = weapon if(!IS_ORGANIC_LIMB(consumed)) - balloon_alert(user, "not organic!") + balloon_alert(user, "не органика!") return consume_fuel(user, consumed) @@ -84,10 +84,10 @@ if(isorgan(weapon)) var/obj/item/organ/consumed = weapon if(!IS_ORGANIC_ORGAN(consumed)) - balloon_alert(user, "not organic!") + balloon_alert(user, "не органика!") return if(consumed.organ_flags & ORGAN_VITAL) // Basically, don't eat organs like brains - balloon_alert(user, "invalid organ!") + balloon_alert(user, "неподходящий орган!") return consume_fuel(user, consumed) @@ -109,11 +109,11 @@ return TRUE if(in_use) - balloon_alert(user, "in use!") + balloon_alert(user, "используется!") return TRUE if(current_mass < max_mass) - balloon_alert(user, "not full enough!") + balloon_alert(user, "не достаточно полный!") return TRUE INVOKE_ASYNC(src, PROC_REF(show_radial), user) @@ -160,8 +160,8 @@ var/obj/item/spawned_pot = new spawned_type(drop_location()) playsound(src, 'sound/misc/desecration-02.ogg', 75, TRUE) - visible_message(span_notice("[src]'s shining liquid drains into a flask, creating a [spawned_pot.name]!")) - balloon_alert(user, "potion created") + visible_message(span_notice("Сияющая жидкость из [src] стекает в колбу, создавая [spawned_pot.name]!")) + balloon_alert(user, "зелье готово") current_mass = 0 update_appearance(UPDATE_ICON_STATE) @@ -179,7 +179,7 @@ if(QDELETED(arm)) return - to_chat(user, span_userdanger("[src] grabs your [arm.name]!")) + to_chat(user, span_userdanger("[src] хватает вашу [arm.name]!")) arm.dismember() consume_fuel(consumed = arm) @@ -190,15 +190,15 @@ /obj/structure/destructible/eldritch_crucible/proc/consume_fuel(mob/living/feeder, obj/item/consumed) if(current_mass >= max_mass) if(feeder) - balloon_alert(feeder, "crucible full!") + balloon_alert(feeder, "уже полон!") return current_mass++ playsound(src, 'sound/items/eatfood.ogg', 100, TRUE) - visible_message(span_notice("[src] devours [consumed] and fills itself with a little bit of liquid!")) + visible_message(span_notice("[src] пожирает [consumed] и наполняет себя жидкостью!")) if(feeder) - balloon_alert(feeder, "crubile fed ([current_mass] / [max_mass])") + balloon_alert(feeder, "накормлен ([current_mass] / [max_mass])") qdel(consumed) update_appearance(UPDATE_ICON_STATE) @@ -236,13 +236,13 @@ playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) if(!IS_HERETIC_OR_MONSTER(user)) - to_chat(user, span_danger("You down some of the liquid from [src]. The taste causes you to retch, and the glass vanishes.")) + to_chat(user, span_danger("Вы выпиваете немного жидкости из [src]. Вкус вызывает у вас отвращение, и стакан исчезает.")) user.reagents?.add_reagent(/datum/reagent/eldritch, 10) user.adjust_disgust(50) qdel(src) return TRUE - to_chat(user, span_notice("You drink the viscous liquid from [src], causing the glass to dematerialize.")) + to_chat(user, span_notice("Вы выпиваете вязкую жидкость из [src], стакан дематериализовался.")) potion_effect(user) qdel(src) return TRUE @@ -258,23 +258,23 @@ /obj/item/eldritch_potion/crucible_soul name = "brew of the crucible soul" - desc = "A glass bottle contianing a bright orange, translucent liquid." + desc = "Стеклянная бутылка, содержащая ярко-оранжевую, полупрозрачную жидкость." icon_state = "crucible_soul" status_effect = /datum/status_effect/crucible_soul - crucible_tip = "Allows you to walk through walls. After expiring, you are teleported to your original location. Lasts 15 seconds." + crucible_tip = "Позволяет проходить сквозь стены. После истечения срока действия вы телепортируетесь в исходное место. Действует 15 секунд." /obj/item/eldritch_potion/duskndawn name = "brew of dusk and dawn" - desc = "A glass bottle contianing a dull yellow liquid. It seems to fade in and out with regularity." + desc = "Стеклянная бутылка, содержащая тусклую желтую жидкость. Кажется, что она регулярно мерцает, исчезая и появляясь." icon_state = "clarity" status_effect = /datum/status_effect/duskndawn - crucible_tip = "Allows you to see through walls and objects. Lasts 60 seconds." + crucible_tip = "Позволяет видеть сквозь стены и предметы. Действует 60 секунд." /obj/item/eldritch_potion/wounded name = "brew of the wounded soldier" - desc = "A glass bottle contianing a colorless, dark liquid." + desc = "Стеклянная бутылка, содержащая бесцветную темную жидкость." icon_state = "marshal" status_effect = /datum/status_effect/marshal - crucible_tip = "Causes all wounds you are experiencing to begin to heal you. Fractures, sprains, cuts, and punctures will heal bruises, \ - and flesh damage will heal burns. The more severe the wounds, the stronger the healing. Additionally, prevents slowdown from damage. \ - Lasts 60 seconds. " + crucible_tip = "Приводит к тому, что все ранения начинают лечить вас. Переломы, растяжения, порезы и проколы исцеляют ушибы \ + а повреждения плоти исцеляют ожоги. Чем серьезнее раны, тем сильнее исцеление. Кроме того, предотвращает замедление от повреждений. \ + Действует 60 секунд. " diff --git a/code/modules/antagonists/heretic/transmutation_rune.dm b/code/modules/antagonists/heretic/transmutation_rune.dm index 619e7d252957b..901a4c60095ec 100644 --- a/code/modules/antagonists/heretic/transmutation_rune.dm +++ b/code/modules/antagonists/heretic/transmutation_rune.dm @@ -1,7 +1,7 @@ /// The heretic's rune, which they use to complete transmutation rituals. /obj/effect/heretic_rune name = "transmutation rune" - desc = "A flowing circle of shapes and runes is etched into the floor, filled with a thick black tar-like fluid." + desc = "В полу выгравирован плавный круг из фигур и рун, заполненный густой черной жидкостью, похожей на смолу." icon_state = "" anchored = TRUE interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND @@ -21,8 +21,8 @@ if(!IS_HERETIC(user)) return - . += span_notice("Allows you to transmute objects by invoking the rune after collecting the prerequisites overhead.") - . += span_notice("You can use your Mansus Grasp on the rune to remove it.") + . += span_notice("Позволяет трансмутировать предметы при использовании руны после выполнения всех условий.") + . += span_notice("Вы можете использовать хватку Мансуса на руне, чтобы удалить ее.") /obj/effect/heretic_rune/attack_paw(mob/living/user, list/modifiers) return attack_hand(user, modifiers) @@ -52,11 +52,11 @@ var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) var/list/rituals = heretic_datum.get_rituals() if(!length(rituals)) - loc.balloon_alert(user, "no rituals available!") + loc.balloon_alert(user, "нет доступных ритуалов!") is_in_use = FALSE return - var/chosen = tgui_input_list(user, "Chose a ritual to attempt.", "Chose a Ritual", rituals) + var/chosen = tgui_input_list(user, "Выберите исполняемый ритуал", "Выбор ритуала", rituals) if(!chosen || !istype(rituals[chosen], /datum/heretic_knowledge) || QDELETED(src) || QDELETED(user) || QDELETED(heretic_datum)) is_in_use = FALSE return @@ -157,9 +157,9 @@ if(length(what_are_we_missing)) // Let them know it screwed up - loc.balloon_alert(user, "ritual failed, missing components!") + loc.balloon_alert(user, "ритуал провален, нехватает компонентов!") // Then let them know what they're missing - to_chat(user, span_hierophant_warning("You are missing [english_list(what_are_we_missing)] in order to complete the ritual \"[ritual.name]\".")) + to_chat(user, span_hierophant_warning("Вам не хватает [english_list(what_are_we_missing)] для завершения ритуала \"[ritual.name]\".")) return FALSE // If we made it here, the ritual had all necessary components, and we can try to cast it. @@ -195,7 +195,7 @@ // No feedback is given on failure here - // the ritual itself should handle it (providing specifics as to why it failed) if(ritual_result) - loc.balloon_alert(user, "ritual complete") + loc.balloon_alert(user, "ритуал завершен") return ritual_result diff --git a/code/modules/antagonists/space_dragon/carp_rift.dm b/code/modules/antagonists/space_dragon/carp_rift.dm index e003bf76e4d9b..a6d23fae97a60 100644 --- a/code/modules/antagonists/space_dragon/carp_rift.dm +++ b/code/modules/antagonists/space_dragon/carp_rift.dm @@ -7,7 +7,7 @@ /datum/action/innate/summon_rift name = "Summon Rift" - desc = "Summon a rift to bring forth a horde of space carp." + desc = "Открывает разлом призыва орды космических карпов." background_icon_state = "bg_default" overlay_icon_state = "bg_default_border" button_icon = 'icons/mob/actions/actions_space_dragon.dmi' @@ -19,18 +19,18 @@ return var/area/rift_location = get_area(owner) if(!(rift_location in dragon.chosen_rift_areas)) - owner.balloon_alert(owner, "can't summon a rift here!") + owner.balloon_alert(owner, "здесь нельзя открыть разлом!") return for(var/obj/structure/carp_rift/rift as anything in dragon.rift_list) var/area/used_location = get_area(rift) if(used_location == rift_location) - owner.balloon_alert(owner, "already summoned a rift here!") + owner.balloon_alert(owner, "здесь уже есть разлом!!") return var/turf/rift_spawn_turf = get_turf(dragon) if(isopenspaceturf(rift_spawn_turf)) - owner.balloon_alert(dragon, "needs stable ground!") + owner.balloon_alert(dragon, "нужна поверхность!") return - owner.balloon_alert(owner, "opening rift...") + owner.balloon_alert(owner, "открытие разлома...") if(!do_after(owner, 10 SECONDS, target = owner)) return if(locate(/obj/structure/carp_rift) in owner.loc) @@ -40,11 +40,11 @@ dragon.riftTimer = -1 new_rift.dragon = dragon dragon.rift_list += new_rift - to_chat(owner, span_boldwarning("The rift has been summoned. Prevent the crew from destroying it at all costs!")) + to_chat(owner, span_boldwarning("Разлом был открыт. Любой ценой не допустите его уничтожения!")) notify_ghosts( - "The Space Dragon has opened a rift!", + "Космический дракон открыл разлом!", source = new_rift, - header = "Carp Rift Opened", + header = "Открытие разлома карпов", notify_flags = NOTIFY_CATEGORY_NOFLASH, ) ASSERT(dragon.rift_ability == src) // Badmin protection. @@ -61,7 +61,7 @@ */ /obj/structure/carp_rift name = "carp rift" - desc = "A rift akin to the ones space carp use to travel long distances." + desc = "Разлом, позвляющий космическим карпам перемещаться на огромные расстояния." armor_type = /datum/armor/structure_carp_rift max_integrity = 300 icon = 'icons/obj/anomaly.dmi' @@ -133,12 +133,12 @@ /obj/structure/carp_rift/examine(mob/user) . = ..() if(time_charged < max_charge) - . += span_notice("It seems to be [(time_charged / max_charge) * 100]% charged.") + . += span_notice("Похоже, что разлом заряжен на [(time_charged / max_charge) * 100]%") else - . += span_warning("This one is fully charged. In this state, it is poised to transport a much larger amount of carp than normal.") + . += span_warning("Этот разлом полностью заряжен. Теперь, он может перемещать гораздо большее количество карпов, чем обычно.") if(isobserver(user)) - . += span_notice("It has [carp_stored] carp available to spawn as.") + . += span_notice("В этом разломе находится [carp_stored] карпов для вселения призраков.") /obj/structure/carp_rift/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) playsound(src, 'sound/magic/lightningshock.ogg', 50, TRUE) @@ -147,7 +147,7 @@ STOP_PROCESSING(SSobj, src) if(charge_state != CHARGE_COMPLETED) if(dragon) - to_chat(dragon.owner.current, span_boldwarning("A rift has been destroyed! You have failed, and find yourself weakened.")) + to_chat(dragon.owner.current, span_boldwarning("Разлом был уничтожен! Вы провалили свою задачу, и слабость одолевает вас")) dragon.destroy_rifts() dragon = null return ..() @@ -195,9 +195,9 @@ set_light_color(LIGHT_COLOR_PURPLE) update_light() notify_ghosts( - "The carp rift can summon an additional carp!", + "Разлом может призвать дополнительного карпа!", source = src, - header = "Carp Spawn Available", + header = "Доступен космический карп", notify_flags = NOTIFY_CATEGORY_NOFLASH, ) last_carp_inc -= carp_interval @@ -206,7 +206,7 @@ if(time_charged >= max_charge) charge_state = CHARGE_COMPLETED var/area/A = get_area(src) - priority_announce("Spatial object has reached peak energy charge in [initial(A.name)], please stand-by.", "[command_name()] Wildlife Observations", has_important_message = TRUE) + priority_announce("Пространственный объект достиг пикового заряда энергии в [initial(A.name)], будьте наготове.", "[command_name()]: Отдел Изучения Дикой Природы", has_important_message = TRUE) atom_integrity = INFINITY icon_state = "carp_rift_charged" set_light_color(LIGHT_COLOR_DIM_YELLOW) @@ -226,7 +226,7 @@ if(charge_state < CHARGE_FINALWARNING && time_charged >= (max_charge * 0.5)) charge_state = CHARGE_FINALWARNING var/area/A = get_area(src) - priority_announce("A rift is causing an unnaturally large energy flux in [initial(A.name)]. Stop it at all costs!", "[command_name()] Wildlife Observations", ANNOUNCER_SPANOMALIES) + priority_announce("Разлом создает неествественно большой поток энергии в зоне [initial(A.name)]. Остановите его любой ценой!", "[command_name()]: Отдел Изучения Дикой Природы", ANNOUNCER_SPANOMALIES) /** * Used to create carp controlled by ghosts when the option is available. @@ -243,14 +243,14 @@ var/is_listed = FALSE if (user.ckey in ckey_list) if(carp_stored == 1) - to_chat(user, span_warning("You've already become a carp using this rift! Either wait for a backlog of carp spawns or until the next rift!")) + to_chat(user, span_warning("Вы уже появлялись карпом из этого разлома! Пожалуйста, ожидайте избытка карпов или следующего разлома!")) return FALSE is_listed = TRUE - var/carp_ask = tgui_alert(user, "Become a carp?", "Carp Rift", list("Yes", "No")) - if(carp_ask != "Yes" || QDELETED(src) || QDELETED(user)) + var/carp_ask = tgui_alert(user, "Стать карпом?", "Разлом карпов", list("Да", "Нет")) + if(carp_ask != "Да" || QDELETED(src) || QDELETED(user)) return FALSE if(carp_stored <= 0) - to_chat(user, span_warning("The rift already summoned enough carp!")) + to_chat(user, span_warning("Разлом уже призвал достаточно карпов!")) return FALSE if(isnull(dragon)) @@ -258,7 +258,7 @@ var/mob/living/newcarp = new dragon.minion_to_spawn(loc) newcarp.faction = dragon.owner.current.faction newcarp.AddElement(/datum/element/nerfed_pulling, GLOB.typecache_general_bad_things_to_easily_move) - newcarp.AddElement(/datum/element/prevent_attacking_of_types, GLOB.typecache_general_bad_hostile_attack_targets, "this tastes awful!") + newcarp.AddElement(/datum/element/prevent_attacking_of_types, GLOB.typecache_general_bad_hostile_attack_targets, "не вкусно!") dragon.wavespeak?.link_mob(newcarp) if(!is_listed) @@ -268,7 +268,7 @@ var/datum/antagonist/space_carp/carp_antag = new(src) newcarp.mind.add_antag_datum(carp_antag) dragon.carp += newcarp.mind - to_chat(newcarp, span_boldwarning("You have arrived in order to assist the space dragon with securing the rifts. Do not jeopardize the mission, and protect the rifts at all costs!")) + to_chat(newcarp, span_boldwarning("Вы прибыли, чтобы помочь космическому дракону защищать разломы. Следуйте поставленной миссии и защитите разлом любой ценой!")) carp_stored-- if(carp_stored <= 0 && charge_state < CHARGE_COMPLETED) icon_state = "carp_rift" diff --git a/code/modules/antagonists/space_dragon/space_carp.dm b/code/modules/antagonists/space_dragon/space_carp.dm index 0d06ea3991d99..43b5f874e918d 100644 --- a/code/modules/antagonists/space_dragon/space_carp.dm +++ b/code/modules/antagonists/space_dragon/space_carp.dm @@ -21,7 +21,7 @@ owner.announce_objectives() /datum/objective/space_carp - explanation_text = "Protect the rift to summon more carps." + explanation_text = "Защищайте разлом призыва карпов." var/datum/weakref/rift /datum/objective/space_carp/check_completion() diff --git a/code/modules/antagonists/space_dragon/space_dragon.dm b/code/modules/antagonists/space_dragon/space_dragon.dm index 17650faf93758..0998bcfe8303c 100644 --- a/code/modules/antagonists/space_dragon/space_dragon.dm +++ b/code/modules/antagonists/space_dragon/space_dragon.dm @@ -31,11 +31,11 @@ /datum/antagonist/space_dragon/greet() . = ..() - to_chat(owner, "Through endless time and space we have moved. We do not remember from where we came, we do not know where we will go. All of space belongs to us.\n\ - It is an empty void, of which our kind was the apex predator, and there was little to rival our claim to this title.\n\ - But now, we find intruders spread out amongst our claim, willing to fight our teeth with magics unimaginable, their dens like lights flickering in the depths of space.\n\ - Today, we will snuff out one of those lights.") - to_chat(owner, span_boldwarning("You have five minutes to find a safe location to place down the first rift. If you take longer than five minutes to place a rift, you will be returned from whence you came.")) + to_chat(owner, "Мы движемся сквозь время и пространство, не смотря на их величину. Мы не помним, откуда мы явились; мы не знаем, куда мы пойдем. Весь космос принадлежит нам.\n\ + Мы являемся высшими хищниками в бездонной пустоте, и мало кто может осмелиться занять этот титул.\n\ + Но сейчас, мы лицезреем нарушителей, что борются против наших клыков с помощью немыслимой магии; их логова мелькают в глубине космоса, как маленькие огоньки.\n\ + Сегодня, мы потушим один из этих огоньков.") + to_chat(owner, span_boldwarning("У вас имеется пять минут, чтобы найти безопасное место для открытия первого разрыва. Если не успеете, вас вернет в бездну, из которой вы прибыли.")) owner.announce_objectives() owner.current.playsound_local(get_turf(owner.current), 'sound/magic/demon_attack1.ogg', 80) @@ -137,10 +137,10 @@ return riftTimer = min(riftTimer + 1, maxRiftTimer + 1) if(riftTimer == (maxRiftTimer - 60)) - to_chat(owner.current, span_boldwarning("You have a minute left to summon the rift! Get to it!")) + to_chat(owner.current, span_boldwarning("У вас осталась минута, чтобы открыть разрыв! Скорее!")) return if(riftTimer >= maxRiftTimer) - to_chat(owner.current, span_boldwarning("You've failed to summon the rift in a timely manner! You're being pulled back from whence you came!")) + to_chat(owner.current, span_boldwarning("Вы не успели огкрыть разрыв! Бездна затягивает вас обратно!")) destroy_rifts() SEND_SOUND(owner.current, sound('sound/magic/demon_dies.ogg')) owner.current.death(/* gibbed = */ TRUE) @@ -223,7 +223,7 @@ owner.current.remove_movespeed_modifier(/datum/movespeed_modifier/dragon_rage) /datum/objective/summon_carp - explanation_text = "Summon 3 rifts in order to flood the station with carp." + explanation_text = "Откройте 3 разлома, чтобы заполнить всю станцию карпами." /datum/objective/summon_carp/update_explanation_text() var/datum/antagonist/space_dragon/dragon_owner = owner.has_antag_datum(/datum/antagonist/space_dragon) @@ -235,13 +235,13 @@ converted_names += possible_area.get_original_area_name() explanation_text = initial(explanation_text) - explanation_text += " Your possible rift locations are: [english_list(converted_names)]" + explanation_text += " Возможные места для разломов: [english_list(converted_names)]" /datum/antagonist/space_dragon/roundend_report() var/list/parts = list() var/datum/objective/summon_carp/S = locate() in objectives if(S.check_completion()) - parts += "The [name] has succeeded! Station space has been reclaimed by the space carp!" + parts += "[name] - успех! Космические карпы вернули контроль над территорией расположения станции!" parts += printplayer(owner) var/objectives_complete = TRUE if(objectives.len) @@ -251,19 +251,19 @@ objectives_complete = FALSE break if(objectives_complete) - parts += "The [name] was successful!" + parts += "[name] преуспел!" else - parts += "The [name] has failed!" + parts += "[name] провалился!" if(length(carp)) - parts += "
The [name] was assisted by:" + parts += "
Помощники [name]:" parts += "" diff --git a/code/modules/antagonists/traitor/objectives/assassination.dm b/code/modules/antagonists/traitor/objectives/assassination.dm index 5d5cdbd1981ff..0e1a437fe4f25 100644 --- a/code/modules/antagonists/traitor/objectives/assassination.dm +++ b/code/modules/antagonists/traitor/objectives/assassination.dm @@ -17,8 +17,8 @@ ) /datum/traitor_objective/target_player/assassinate - name = "Assassinate %TARGET% the %JOB TITLE%" - description = "Simply kill your target to accomplish this objective." + name = "Убейте %TARGET%, %JOB TITLE%." + description = "Чтобы выполнить эту задачу, просто убейте свою цель." abstract_type = /datum/traitor_objective/target_player/assassinate @@ -39,8 +39,8 @@ . += NAMEOF(src, maximum_objectives_in_period) /datum/traitor_objective/target_player/assassinate/calling_card - name = "Assassinate %TARGET% the %JOB TITLE%, and plant a calling card" - description = "Kill your target and plant a calling card in the pockets of your victim. If your calling card gets destroyed before you are able to plant it, this objective will fail." + name = "Убейте %TARGET%, %JOB TITLE%, и подбросьте предоставленную визитную карточку." + description = "Убейте свою цель и подбросьте визитную карточку в карман своей жертвы. Если визитная карточка будет уничтожена до того, как вы успеете её подложить, эта цель будет провалена." progression_reward = 2 MINUTES telecrystal_reward = list(1, 2) @@ -55,7 +55,7 @@ /datum/traitor_objective/target_player/assassinate/calling_card/generate_ui_buttons(mob/user) var/list/buttons = list() if(!card) - buttons += add_ui_button("", "Pressing this will materialize a calling card, which you must plant to succeed.", "paper-plane", "summon_card") + buttons += add_ui_button("", "Нажмите, чтобы создать свою визитную карточку, которую нужно будет подложить.", "paper-plane", "summon_card") return buttons /datum/traitor_objective/target_player/assassinate/calling_card/ui_perform_action(mob/living/user, action) @@ -66,7 +66,7 @@ return card = new(user.drop_location()) user.put_in_hands(card) - card.balloon_alert(user, "the card materializes in your hand") + card.balloon_alert(user, "карточка материализуется в руке") RegisterSignal(card, COMSIG_ITEM_EQUIPPED, PROC_REF(on_card_planted)) AddComponent(/datum/component/traitor_objective_register, card, \ succeed_signals = null, \ diff --git a/code/modules/antagonists/traitor/objectives/demoralise_assault.dm b/code/modules/antagonists/traitor/objectives/demoralise_assault.dm index fe26864e4fc1d..13b87edd6ae73 100644 --- a/code/modules/antagonists/traitor/objectives/demoralise_assault.dm +++ b/code/modules/antagonists/traitor/objectives/demoralise_assault.dm @@ -7,11 +7,11 @@ weight = OBJECTIVE_WEIGHT_UNLIKELY /datum/traitor_objective/target_player/assault - name = "Assault %TARGET% the %JOB TITLE%" - description = "%TARGET% has been identified as a potential future agent. \ - Pick a fight and give them a good beating. \ - %COUNT% hits should reduce their morale and have them questioning their loyalties. \ - Try not to kill them just yet, we may want to recruit them in the future." + name = "Нападите на %TARGET%, %JOB TITLE%" + description = "Цель %TARGET% была определена как потенциальный будущий агент. \ + Устройте драку и хорошенько побейте цель. \ + %COUNT% ударов должны снизить их мораль и заставить их усомниться в своей лояльности. \ + Постарайтесь пока не убивать цель, так как мы рассматриваем их для найма в будущем." abstract_type = /datum/traitor_objective/target_player duplicate_type = /datum/traitor_objective/target_player @@ -114,7 +114,7 @@ /datum/traitor_objective/target_player/assault/generate_ui_buttons(mob/user) var/list/buttons = list() if(attacks_required > attacks_inflicted) - buttons += add_ui_button("[attacks_required - attacks_inflicted]", "This tells you how many more times you have to attack the target player to succeed.", "hand-rock-o", "none") + buttons += add_ui_button("[attacks_required - attacks_inflicted]", "Нажмите, чтобы узнать сколько еще раз нужно атаковать цель для выполнения задачи.", "hand-rock-o", "none") return buttons /datum/traitor_objective/target_player/assault/target_deleted() diff --git a/code/modules/antagonists/traitor/objectives/destroy_heirloom.dm b/code/modules/antagonists/traitor/objectives/destroy_heirloom.dm index 0d62ecece5f2a..0bed9eb74d81b 100644 --- a/code/modules/antagonists/traitor/objectives/destroy_heirloom.dm +++ b/code/modules/antagonists/traitor/objectives/destroy_heirloom.dm @@ -12,8 +12,8 @@ ) /datum/traitor_objective/destroy_heirloom - name = "Destroy %ITEM%, the family heirloom that belongs to %TARGET% the %JOB TITLE%" - description = "%TARGET% has been on our shitlist for a while and we want to show them we mean business. Find their %ITEM% and destroy it." + name = "Уничтожьте %ITEM%, семейную реликвию, принадлежащую %TARGET% в должности %JOB TITLE%." + description = "Ваша цель - %TARGET%, она уже давно в нашем черном списке, и мы хотим показать ей, с кем она связалась. Найдите %ITEM% принадлежащий %TARGET% и уничтожьте его." abstract_type = /datum/traitor_objective/destroy_heirloom diff --git a/code/modules/antagonists/traitor/objectives/destroy_item.dm b/code/modules/antagonists/traitor/objectives/destroy_item.dm index ec247eac9edfb..3a564af0edb52 100644 --- a/code/modules/antagonists/traitor/objectives/destroy_item.dm +++ b/code/modules/antagonists/traitor/objectives/destroy_item.dm @@ -1,6 +1,6 @@ /datum/traitor_objective/destroy_item - name = "Steal %ITEM% and destroy it" - description = "Find %ITEM% and destroy it using any means necessary. We can't allow the crew to have %ITEM% as it conflicts with our interests." + name = "Найдите и уничтожьте %ITEM%." + description = "Найдите %ITEM% и уничтожьте его любой ценой. Мы не можем позволить, чтобы экипаж станции владел %ITEM%, это совершенно не в наших интересах." var/list/possible_items = list() /// The current target item that we are stealing. @@ -36,9 +36,9 @@ /// Super early-game destroy objective intended to be items easily tided that the crew tends to value. /datum/traitor_objective/destroy_item/demoralise - description = "Find %ITEM% and destroy it using any means necessary. \ - We believe this luxury item is important for crew morale. \ - Destruction of this item will help our recruitment efforts." + description = "Найдите %ITEM% и уничтожьте его любой ценой. \ + Мы считаем, что этот предмет роскоши важен для морального духа экипажа. \ + Уничтожение этого предмета поможет нашему рекрутингу." progression_minimum = 0 MINUTES progression_maximum = 10 MINUTES @@ -83,7 +83,7 @@ /datum/traitor_objective/destroy_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") return buttons /datum/traitor_objective/destroy_item/ui_perform_action(mob/living/user, action) @@ -95,7 +95,7 @@ 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 /datum/traitor_objective/destroy_item/proc/on_item_pickup(datum/source, obj/item/item, slot) diff --git a/code/modules/antagonists/traitor/objectives/eyesnatching.dm b/code/modules/antagonists/traitor/objectives/eyesnatching.dm index 5773c4e90e05d..39cafed6da54f 100644 --- a/code/modules/antagonists/traitor/objectives/eyesnatching.dm +++ b/code/modules/antagonists/traitor/objectives/eyesnatching.dm @@ -7,8 +7,8 @@ weight = OBJECTIVE_WEIGHT_UNLIKELY /datum/traitor_objective/target_player/eyesnatching - name = "Steal the eyes of %TARGET% the %JOB TITLE%" - description = "%TARGET% messed with the wrong people. Steal their eyes to teach them a lesson. You will be provided an experimental eyesnatcher device to aid you in your mission." + name = "Украдите глаза %TARGET%, %JOB TITLE%." + description = "Ваша цель, %TARGET%, связалась не с теми людьми и за это вы должны забрать у неё глаза. Вам будет предоставлено прототип новейшей разработки Синдиката именно для этих целей." progression_minimum = 10 MINUTES @@ -121,7 +121,7 @@ /datum/traitor_objective/target_player/eyesnatching/generate_ui_buttons(mob/user) var/list/buttons = list() if(!spawned_eyesnatcher) - buttons += add_ui_button("", "Pressing this will materialize an eyesnatcher, which can be used on incapacitaded or restrained targets to forcefully remove their eyes.", "syringe", "eyesnatcher") + buttons += add_ui_button("", "Нажмите, чтобы материализовать Eyesnatcher, который может быть использован на оглушенные или связанные цели, чтобы насильно вытащить их глаза.", "syringe", "eyesnatcher") return buttons /datum/traitor_objective/target_player/eyesnatching/ui_perform_action(mob/living/user, action) @@ -133,7 +133,7 @@ spawned_eyesnatcher = TRUE var/obj/item/eyesnatcher/eyesnatcher = new(user.drop_location()) user.put_in_hands(eyesnatcher) - eyesnatcher.balloon_alert(user, "the snatcher materializes in your hand") + eyesnatcher.balloon_alert(user, "eyesnatcher материализуется в руке") /obj/item/eyesnatcher name = "portable eyeball extractor" diff --git a/code/modules/antagonists/traitor/objectives/final_objective/battlecruiser.dm b/code/modules/antagonists/traitor/objectives/final_objective/battlecruiser.dm index b136a6f695cb3..65f62913a6bbf 100644 --- a/code/modules/antagonists/traitor/objectives/final_objective/battlecruiser.dm +++ b/code/modules/antagonists/traitor/objectives/final_objective/battlecruiser.dm @@ -1,8 +1,8 @@ /datum/traitor_objective/ultimate/battlecruiser - name = "Reveal Station Coordinates to nearby Syndicate Battlecruiser" - description = "Use a special upload card on a communications console to send the coordinates \ - of the station to a nearby Battlecruiser. You may want to make your syndicate status known to \ - the battlecruiser crew when they arrive - their goal will be to destroy the station." + name = "Сообщите координаты станции ближайшему боевому крейсеру Синдиката." + description = "Используйте специальную карту загрузки на консоли коммуникаций, чтобы отправить координаты \ + станции на ближайший крейсер. Возможно, вы захотите сообщить о своей принадлежности Синдикату \ + экипажу крейсера, когда они прибудут - их целью будет уничтожение станции." /// Checks whether we have sent the card to the traitor yet. var/sent_accesscard = FALSE @@ -30,7 +30,7 @@ /datum/traitor_objective/ultimate/battlecruiser/generate_ui_buttons(mob/user) var/list/buttons = list() if(!sent_accesscard) - buttons += add_ui_button("", "Pressing this will materialize an upload card, which you can use on a communication console to contact the fleet.", "phone", "card") + buttons += add_ui_button("", "Нажмите, чтобы материализовать карту загрузки, которую можно использовать на консоли коммуникаций, чтобы связаться с флотом.", "phone", "card") return buttons /datum/traitor_objective/ultimate/battlecruiser/ui_perform_action(mob/living/user, action) 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 c8a4037d20af7..f5267524ff16d 100644 --- a/code/modules/antagonists/traitor/objectives/final_objective/infect_ai.dm +++ b/code/modules/antagonists/traitor/objectives/final_objective/infect_ai.dm @@ -1,7 +1,7 @@ /datum/traitor_objective/ultimate/infect_ai - name = "Infect the station AI with an experimental virus." - description = "Infect the station AI with an experimental virus. Go to %AREA% to receive an infected law upload board \ - and use it on the AI core or a law upload console." + name = "Заразите ИИ станции экспериментальным вирусом." + description = "Заразите ИИ станции экспериментальным вирусом. \ + Отправляйтесь в %AREA%, чтобы получить зараженную плату загрузки законов и используйте ее на ядре ИИ или на консоли загрузки законов." ///area type the objective owner must be in to receive the law upload module var/area/board_area_pickup @@ -35,7 +35,7 @@ /datum/traitor_objective/ultimate/infect_ai/generate_ui_buttons(mob/user) var/list/buttons = list() if(!sent_board) - buttons += add_ui_button("", "Pressing this will call down a pod with an infected law upload board.", "wifi", "upload_board") + buttons += add_ui_button("", "Нажмите, чтобы вызвать под с зараженной платой загрузки законов.", "wifi", "upload_board") return buttons /datum/traitor_objective/ultimate/infect_ai/ui_perform_action(mob/living/user, action) 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 6f68891bcfe7d..5164bcd95dbd7 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 @@ -1,7 +1,7 @@ /datum/traitor_objective/ultimate/dark_matteor - name = "Summon a dark matter singularity to consume the station." - description = "Go to %AREA%, and receive the smuggled satellites + emag. Set up and emag the satellites, \ - after enough have been recalibrated by the emag, IT COMES. Warning: The dark matter singularity will hunt all creatures, you included." + name = "Вызовите сингулярность из темной материи, чтобы поглотить станцию." + description = "Пройдите в %AREA% и получите контрабандные спутники и emag. Установите спутники и используйте на них emag, \ + и когда достаточно спутников будет перекалибровано с помощью emag, ОНО ПРИДЕТ. Внимание: Сингулярность из темной материи будет охотиться на всех существ, включая вас." //this is a prototype so this progression is for all basic level kill objectives @@ -32,7 +32,7 @@ /datum/traitor_objective/ultimate/dark_matteor/generate_ui_buttons(mob/user) var/list/buttons = list() if(!sent_satellites) - buttons += add_ui_button("", "Pressing this will call down a pod with the smuggled satellites.", "satellite", "satellite") + buttons += add_ui_button("", "Нажмите, чтобы призвать под с контрабандными спутниками.", "satellite", "satellite") return buttons /datum/traitor_objective/ultimate/dark_matteor/ui_perform_action(mob/living/user, action) diff --git a/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm b/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm index 0bfa29f3f168c..f05dae42e58ae 100644 --- a/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm +++ b/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm @@ -1,7 +1,7 @@ /datum/traitor_objective/ultimate/romerol - name = "Spread the experimental bioterror agent Romerol by calling a droppod down at %AREA%" - description = "Go to %AREA%, and receive the bioterror agent. Spread it to the crew, \ - and watch then raise from the dead as mindless killing machines. Warning: The undead will attack you too." + name = "Распространите экспериментальный вирус биотеррора Romerol, призвав под в %AREA%" + description = "Пройдите в %AREA%, и получите вирус биотеррора. Распространите его среди экипажа, \ + и наслаждайтесь поднятыми из мертвых безмозглыми машинами для убийства. Внимание: мертвецы будут атаковать и вас." //this is a prototype so this progression is for all basic level kill objectives @@ -25,7 +25,7 @@ /datum/traitor_objective/ultimate/romerol/generate_ui_buttons(mob/user) var/list/buttons = list() if(!sent_romerol) - buttons += add_ui_button("", "Pressing this will call down a pod with the biohazard kit.", "biohazard", "romerol") + buttons += add_ui_button("", "Нажмите, чтобы призвать под с набором биоугрозы.", "biohazard", "romerol") return buttons /datum/traitor_objective/ultimate/romerol/ui_perform_action(mob/living/user, action) 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 6c7dfaa2f095d..4e0227fa74173 100644 --- a/code/modules/antagonists/traitor/objectives/final_objective/supermatter_cascade.dm +++ b/code/modules/antagonists/traitor/objectives/final_objective/supermatter_cascade.dm @@ -1,7 +1,7 @@ /datum/traitor_objective/ultimate/supermatter_cascade - name = "Destroy the station by causing a crystallizing resonance cascade" - description = "Destroy the station by causing a supermatter cascade. Go to %AREA% to retrieve the destabilizing crystal \ - and use it on the supermatter." + name = "Уничтожьте станцию, вызвав каскадный резонанс суперматерии." + description = "Уничтожьте станцию, вызвав каскад суперматерии. Отправляйтесь в %AREA%, чтобы получить дестабилизирующий кристалл \ + и используйте его на суперматерии." ///area type the objective owner must be in to receive the destabilizing crystal var/area/dest_crystal_area_pickup @@ -36,7 +36,7 @@ /datum/traitor_objective/ultimate/supermatter_cascade/generate_ui_buttons(mob/user) var/list/buttons = list() if(!sent_crystal) - buttons += add_ui_button("", "Pressing this will call down a pod with the supermatter cascade kit.", "biohazard", "destabilizing_crystal") + buttons += add_ui_button("", "Нажмите, чтобы вызвать под с набором для каскада суперматерии.", "biohazard", "destabilizing_crystal") return buttons /datum/traitor_objective/ultimate/supermatter_cascade/ui_perform_action(mob/living/user, action) diff --git a/code/modules/antagonists/traitor/objectives/hack_comm_console.dm b/code/modules/antagonists/traitor/objectives/hack_comm_console.dm index 1874b79d8a106..0a65f38e32ef7 100644 --- a/code/modules/antagonists/traitor/objectives/hack_comm_console.dm +++ b/code/modules/antagonists/traitor/objectives/hack_comm_console.dm @@ -5,8 +5,8 @@ ) /datum/traitor_objective/hack_comm_console - name = "Hack a communication console to summon an unknown threat to the station" - description = "Right click on a communication console to begin the hacking process. Once started, the AI will know that you are hacking a communication console, so be ready to run or have yourself disguised to prevent being caught. This objective will invalidate itself if another traitor completes it first." + name = "Взломайте коммуникационную консоль, чтобы призвать на станцию неизвестную угрозу." + description = "Щелкните ПКМ на коммуникационной консоли, чтобы начать процесс взлома. ИИ станции сразу узнает о начале взлома, поэтому будьте готовы бежать или маскироваться, чтобы вас не поймали. Эта цель будет провалена, если другой предатель выполнит её первым." progression_minimum = 60 MINUTES progression_reward = list(30 MINUTES, 40 MINUTES) diff --git a/code/modules/antagonists/traitor/objectives/infect.dm b/code/modules/antagonists/traitor/objectives/infect.dm index 459e8f54a0d70..e10580562cdfe 100644 --- a/code/modules/antagonists/traitor/objectives/infect.dm +++ b/code/modules/antagonists/traitor/objectives/infect.dm @@ -5,8 +5,8 @@ ) /datum/traitor_objective/target_player/infect - name = "Infect %TARGET% the %JOB TITLE%" - description = "Infect your target with the experimental Hereditary Manifold Sickness." + name = "Заразите %TARGET%, %JOB TITLE%." + description = "Заразите свою цель с помощью EHMS." progression_minimum = 30 MINUTES @@ -34,7 +34,7 @@ /datum/traitor_objective/target_player/infect/generate_ui_buttons(mob/user) var/list/buttons = list() if(!injector_given) - buttons += add_ui_button("", "Pressing this will materialize a EHMS autoinjector into your hand, which you must inject into the target to succeed.", "syringe", "summon_pen") + buttons += add_ui_button("", "Нажмите, чтобы материализовать инжектор с EHMS, который вы должны использовать на своей цели.", "syringe", "summon_pen") return buttons /datum/traitor_objective/target_player/infect/ui_perform_action(mob/living/user, action) @@ -46,7 +46,7 @@ injector_given = TRUE var/obj/item/reagent_containers/hypospray/medipen/manifoldinjector/ehms = new(user.drop_location()) user.put_in_hands(ehms) - ehms.balloon_alert(user, "the injector materializes in your hand") + ehms.balloon_alert(user, "инжектор материализуется в руке") RegisterSignal(ehms, COMSIG_EHMS_INJECTOR_INJECTED, PROC_REF(on_injected)) AddComponent(/datum/component/traitor_objective_register, ehms, \ succeed_signals = null, \ diff --git a/code/modules/antagonists/traitor/objectives/kill_pet.dm b/code/modules/antagonists/traitor/objectives/kill_pet.dm index 21bf06eb38681..8e4b35562ef28 100644 --- a/code/modules/antagonists/traitor/objectives/kill_pet.dm +++ b/code/modules/antagonists/traitor/objectives/kill_pet.dm @@ -9,8 +9,8 @@ ) /datum/traitor_objective/kill_pet - name = "Kill the %DEPARTMENT HEAD%'s beloved %PET%" - description = "The %DEPARTMENT HEAD% has particularly annoyed us by sending us spam emails and we want their %PET% dead to show them what happens when they cross us. " + name = "Убейте любимого %PET% принадлежащего %DEPARTMENT HEAD%." + description = "%DEPARTMENT HEAD% особенно досаждал нам, рассылая спам по электронной почте и мы хотим убить его %PET%, чтобы показать, что бывает, когда нам переходят дорогу." progression_minimum = 0 MINUTES telecrystal_reward = list(1, 2) diff --git a/code/modules/antagonists/traitor/objectives/locate_weakpoint.dm b/code/modules/antagonists/traitor/objectives/locate_weakpoint.dm index 1976fd38fc8ae..fc9512528a297 100644 --- a/code/modules/antagonists/traitor/objectives/locate_weakpoint.dm +++ b/code/modules/antagonists/traitor/objectives/locate_weakpoint.dm @@ -6,8 +6,8 @@ weight = OBJECTIVE_WEIGHT_UNLIKELY /datum/traitor_objective/locate_weakpoint - name = "Triangulate station's structural weakpoint and detonate an explosive charge nearby." - description = "You will be given a handheld device that you'll need to use in %AREA1% and %AREA2% in order to triangulate the station's structural weakpoint and detonate an explosive charge there. Warning: Once you start scanning either one of the areas, station's AI will be alerted." + name = "Триангулируйте слабое место в структуре станции и взорвите заряд взрывчатки поблизости." + description = "Вы получите портативное устройство, которое нужно будет использовать в %AREA1% и %AREA2%, чтобы триангулировать слабое место в конструкции станции и устроить там взрыв. Внимание: Как только вы начнете сканировать одну из областей, ИИ станции будет предупрежден." progression_minimum = 45 MINUTES progression_reward = list(15 MINUTES, 20 MINUTES) @@ -89,9 +89,9 @@ /datum/traitor_objective/locate_weakpoint/generate_ui_buttons(mob/user) var/list/buttons = list() if(!locator_sent) - buttons += add_ui_button("", "Pressing this will materialize a weakpoint locator in your hand.", "globe", "locator") + buttons += add_ui_button("", "Нажмите, чтобы материализовать локатор слабых мест станции.", "globe", "locator") if(weakpoint_found && !bomb_sent) - buttons += add_ui_button("", "Pressing this will materialize an ES8 explosive charge in your hand.", "bomb", "shatter_charge") + buttons += add_ui_button("", "Нажмите, чтобы материализовать взрывчатый заряд ES8.", "bomb", "shatter_charge") return buttons /datum/traitor_objective/locate_weakpoint/ui_perform_action(mob/living/user, action) @@ -103,7 +103,7 @@ locator_sent = TRUE var/obj/item/weakpoint_locator/locator = new(user.drop_location(), src) user.put_in_hands(locator) - locator.balloon_alert(user, "the weakpoint locator materializes in your hand") + locator.balloon_alert(user, "локатор слабых мест материализуется в руке") if("shatter_charge") if(bomb_sent) @@ -111,10 +111,10 @@ bomb_sent = TRUE var/obj/item/grenade/c4/es8/bomb = new(user.drop_location(), src) user.put_in_hands(bomb) - bomb.balloon_alert(user, "the ES8 charge materializes in your hand") + bomb.balloon_alert(user, "заряд ES8 материализуется в руке") /datum/traitor_objective/locate_weakpoint/proc/weakpoint_located() - description = "Structural weakpoint has been located in %AREA%. Detonate an ES8 explosive charge there to create a shockwave that will severely damage the station." + description = "Слабое место обнаружено в %AREA%. Взорвите заряд ES8 в обнаруженной зоне, чтобы вызвать взрывную волну, значительно повреждающую станцию." replace_in_name("%AREA%", initial(weakpoint_area.name)) weakpoint_found = TRUE diff --git a/code/modules/antagonists/traitor/objectives/sabotage_machinery.dm b/code/modules/antagonists/traitor/objectives/sabotage_machinery.dm index 9723d2b653e02..8638c839dfbc1 100644 --- a/code/modules/antagonists/traitor/objectives/sabotage_machinery.dm +++ b/code/modules/antagonists/traitor/objectives/sabotage_machinery.dm @@ -59,8 +59,8 @@ GLOBAL_DATUM_INIT(objective_machine_handler, /datum/objective_target_machine_han // Destroy machines which are in annoying locations, are annoying when destroyed, and aren't directly interacted with /datum/traitor_objective/sabotage_machinery/destroy - name = "Destroy the %MACHINE%" - description = "Destroy the %MACHINE% to cause disarray and disrupt the operations of the %JOB%'s department." + name = "Уничтожьте %MACHINE%." + description = "Уничтожьте %MACHINE%, чтобы вызвать беспорядок и нарушить работу %JOB%." progression_reward = list(5 MINUTES, 10 MINUTES) telecrystal_reward = list(3, 4) @@ -75,8 +75,8 @@ GLOBAL_DATUM_INIT(objective_machine_handler, /datum/objective_target_machine_han // Rig machines which are in public locations to explode when interacted with /datum/traitor_objective/sabotage_machinery/trap - name = "Sabotage the %MACHINE%" - description = "Destroy the %MACHINE% to cause disarray and disrupt the operations of the %JOB%'s department. If you can get another crew member to destroy the machine using the provided booby trap, you will be rewarded with an additional %PROGRESSION% reputation and %TC% telecrystals." + name = "Саботируйте %MACHINE%." + description = "Уничтожьте %MACHINE%, чтобы вызвать беспорядок и нарушить работу %JOB%. Если вам удастся заставить другого члена экипажа уничтожить машину с помощью мины-ловушки, вы получите дополнительную награду в качестве %PROGRESSION% репутации и %TC% телекристаллов." progression_reward = list(2 MINUTES, 4 MINUTES) telecrystal_reward = 0 // Only from completing the bonus objective @@ -123,7 +123,7 @@ GLOBAL_DATUM_INIT(objective_machine_handler, /datum/objective_target_machine_han /datum/traitor_objective/sabotage_machinery/trap/generate_ui_buttons(mob/user) var/list/buttons = list() if(!traitor_trapper_given) - buttons += add_ui_button("", "Pressing this will materialize an explosive trap in your hand, which you can conceal within the target machine", "wifi", "summon_gear") + buttons += add_ui_button("", "Нажмите, чтобы материализовать взрывчатку-ловушку, которую можно скрыть внутри цели-машины", "wifi", "summon_gear") return buttons /datum/traitor_objective/sabotage_machinery/trap/ui_perform_action(mob/living/user, action) @@ -135,7 +135,7 @@ GLOBAL_DATUM_INIT(objective_machine_handler, /datum/objective_target_machine_han traitor_trapper_given = TRUE var/obj/item/traitor_machine_trapper/tool = new(user.drop_location()) user.put_in_hands(tool) - tool.balloon_alert(user, "a booby trap materializes in your hand") + tool.balloon_alert(user, "ловушка материализуется в руке") tool.target_machine_path = applicable_jobs[chosen_job] /// Item which you use on a machine to cause it to explode next time someone interacts with it diff --git a/code/modules/antagonists/traitor/objectives/sleeper_protocol.dm b/code/modules/antagonists/traitor/objectives/sleeper_protocol.dm index f28a79d692669..5ec0aec38fa8f 100644 --- a/code/modules/antagonists/traitor/objectives/sleeper_protocol.dm +++ b/code/modules/antagonists/traitor/objectives/sleeper_protocol.dm @@ -6,8 +6,8 @@ ) /datum/traitor_objective/sleeper_protocol - name = "Perform the sleeper protocol on a crewmember" - description = "Use the button below to materialize a surgery disk in your hand, where you'll then be able to perform the sleeper protocol on a crewmember. If the disk gets destroyed, the objective will fail. This will only work on living and sentient crewmembers." + name = "Выполните процедуру внедрения спящего агента над одним из членов экипажа." + description = "Используйте кнопку ниже, чтобы материализовать в руке хирургический диск, с помощью которого вы сможете сделать члена экипажа спящим агентом Синдиката. Если диск будет уничтожен, цель будет провалена. Это сработает только на живых и разумных членах экипажа." progression_minimum = 0 MINUTES @@ -31,7 +31,7 @@ /datum/traitor_objective/sleeper_protocol/generate_ui_buttons(mob/user) var/list/buttons = list() if(!disk) - buttons += add_ui_button("", "Clicking this will materialize the sleeper protocol surgery in your hand", "save", "summon_disk") + buttons += add_ui_button("", "Нажмите, чтобы материализовать процедуру внедрения спящего агента", "save", "summon_disk") return buttons /datum/traitor_objective/sleeper_protocol/ui_perform_action(mob/living/user, action) diff --git a/code/modules/antagonists/traitor/objectives/steal.dm b/code/modules/antagonists/traitor/objectives/steal.dm index 22d8ed7d39c7b..949c57e5ffbb3 100644 --- a/code/modules/antagonists/traitor/objectives/steal.dm +++ b/code/modules/antagonists/traitor/objectives/steal.dm @@ -59,8 +59,8 @@ GLOBAL_DATUM_INIT(steal_item_handler, /datum/objective_item_handler, new()) objectives_by_path[typepath] -= source /datum/traitor_objective/steal_item - name = "Steal %ITEM% and place a schematics scanner on it." - description = "Use the button below to materialize the schematic scanner within your hand, where you'll then be able to place it on the item. Additionally, you can keep it near you and let it scan for %TIME% minutes, and you will be rewarded with %PROGRESSION% reputation and %TC% telecrystals." + name = "Украдите %ITEM% и разместите специальное сканирующее устройство на него." + description = "Используйте кнопку ниже, чтобы материализовать сканер в вашей руке, чтобы в будущем установить его на %ITEM%. Кроме того, вы можете удерживать предмет рядом, позволяя сканеру работать в течение %TIME% минут, тогда дополнительное вознаграждение составит: репутации - %PROGRESSION%, телекристаллов - %TC%." progression_minimum = 20 MINUTES diff --git a/code/modules/events/ghost_role/space_dragon.dm b/code/modules/events/ghost_role/space_dragon.dm index 8a39d4a5daea5..44ca2b6561072 100644 --- a/code/modules/events/ghost_role/space_dragon.dm +++ b/code/modules/events/ghost_role/space_dragon.dm @@ -16,7 +16,7 @@ announce_when = 10 /datum/round_event/ghost_role/space_dragon/announce(fake) - priority_announce("A large organic energy flux has been recorded near [station_name()], please stand by.", "Lifesign Alert") + priority_announce("Зафиксирован большой поток органической энергии вблизи станции [station_name()]. Будьте наготове.", "Внимание: неопознанные формы жизни") /datum/round_event/ghost_role/space_dragon/spawn_role() var/mob/chosen_one = SSpolling.poll_ghost_candidates(check_jobban = ROLE_SPACE_DRAGON, role = ROLE_SPACE_DRAGON, alert_pic = /mob/living/basic/space_dragon, amount_to_pick = 1) diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.dm b/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.dm index 9a6aea8eff1d2..63e4bf6bad5fe 100644 --- a/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.dm +++ b/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.dm @@ -36,7 +36,7 @@ name = "Lesser Carp Rift" button_icon = 'icons/effects/effects.dmi' button_icon_state = "rift" - desc = "Open a rift through the carp stream, allowing passage to somewhere close by." + desc = "Открывает малый разлом карпов, который позволяет перемещаться на малое расстояние." cooldown_time = 15 SECONDS melee_cooldown_time = 0 SECONDS // Handled by rift /// How far away can you place a rift? @@ -52,7 +52,7 @@ /datum/action/cooldown/mob_cooldown/lesser_carp_rift/proc/make_rift(atom/target_atom) if (owner.Adjacent(target_atom)) - owner.balloon_alert(owner, "too close!") + owner.balloon_alert(owner, "слишком близко!") return FALSE var/turf/owner_turf = get_turf(owner) @@ -70,7 +70,7 @@ open_exit_turfs += potential_exit if (!length(open_exit_turfs)) - owner.balloon_alert(owner, "no exit!") + owner.balloon_alert(owner, "нет выхода!") return FALSE if (!target_turf.is_blocked_turf(exclude_mobs = TRUE)) open_exit_turfs += target_turf diff --git a/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx b/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx index 30908b606fa2f..d24a074bd0929 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx @@ -66,7 +66,7 @@ const IntroductionSection = (props) => { return ( -
+
@@ -80,17 +80,17 @@ const IntroductionSection = (props) => { fill titleMessage={ can_change_objective - ? 'In order to ascend, you have these tasks to fulfill' - : 'Use your dark knowledge to fulfil your personal goal' + ? 'Для вознесения вам нужно выполнить следующие задачи' + : 'Используйте свои темные знания, чтобы выполнить персональные цели' } objectives={objectives} objectiveFollowup={ } @@ -110,18 +110,18 @@ const FlavorSection = () => { - Another day at a meaningless job. You feel a  - shimmer -  around you, as a realization of something  - strange -  in the air unfolds. You look inwards and discover something - that will change your life. + Еще один день на бессмысленной работе. Вы чувствуете  + мерцание +  вокруг себя, когда что-то  + странное +  в воздухе озаряет вас. Вы смотрите внутрь себя и находите то, + что изменит вашу жизнь. - The Gates of Mansus -  open up to your mind. + Врата Мансуса +  открылись для вашего разума. @@ -134,49 +134,50 @@ const GuideSection = () => { - - Find reality smashing  - influences -  around the station invisible to the normal eye and  - right click on them to harvest them for  - knowledge points. Tapping them makes - them visible to all after a short time. + - Ищите на станции рушащие реальность  + влияния. Они не видны обычному + глазу. Нажмите  + правой кнопкой мыши по ним чтобы получить  + очки знаний. После добычи, они вскоре + становятся видимыми для всех. - - Use your  - Living Heart action -  to track down  - sacrifice targets, but be careful: - Pulsing it will produce a heartbeat sound that nearby people may hear. - This action is tied to your heart - if you lose it, you must - complete a ritual to regain it. + - Используйте ваше  + живое сердце +  , чтобы найти  + цели для жертвоприношения, но будьте + аккуратны: пульсируя, оно будет издавать звук сердцебиения на коротком + расстоянии. Эта способность связана с вашим сердцем - если вы + его потеряете, совершите ритуал, чтобы вернуть её. - - Draw a  - transmutation rune by using a - drawing tool (a pen or crayon) on the floor while having  - Mansus Grasp -  active in your other hand. This rune allows you to complete - rituals and sacrifices. + - Нарисуйте  + руну трансмутации, используя + инструмент для рисования (ручка или карандаш) на полу. Необходимо + иметь  + хватку Мансуса +  в вашей другой руке. Эта руна позволяет совершать ритуалы и + жертвоприношения. - - Follow your Living Heart to find - your targets. Bring them back to a  - transmutation rune in critical or - worse condition to  - sacrifice them for  - knowledge points. The Mansus{' '} - ONLY accepts targets pointed to by the  - Living Heart. + - Следуйте за зовом живого сердца, + чтобы найти свои цели. Принесите их на  + руну трансмутации в критическом, или + хуже, состоянии для  + жертвоприношения, которое даст  + очки знаний. Мансус примет{' '} + ТОЛЬКО цели, указанные вашим  + живым сердцем. - - Make yourself a focus to be able - to cast various advanced spells to assist you in acquiring harder and - harder sacrifices. + - Сделайте себе фокусировку, чтобы + читать более продвинутые заклинания, которые помогут вам для более + сложных жертвоприношений. - - Accomplish all of your objectives to be able to learn the{' '} - final ritual. Complete the ritual - to become all powerful! + - Выполните все свои задачи, чтобы узнать{' '} + финальный ритуал. Завершите его, + чтобы стать всемогущим! @@ -192,10 +193,10 @@ const InformationSection = (props) => { {!!ascended && ( - You have + Вы - ASCENDED + ВОЗВЫСИЛИСЬ ! @@ -203,16 +204,11 @@ const InformationSection = (props) => { )} - You have {charges || 0}  - - knowledge point{charges !== 1 ? 's' : ''} - - . + Доступно очков знаний:{' '} + {charges || 0}  - You have made a total of  - {total_sacrifices || 0}  - sacrifices. + Жертвоприношений сделано: {total_sacrifices || 0} @@ -225,9 +221,9 @@ const ResearchedKnowledge = (props) => { return ( -
+
- {(!learnedKnowledge.length && 'None!') || + {(!learnedKnowledge.length && 'Пусто!') || learnedKnowledge.map((learned) => ( } > @@ -81,7 +81,7 @@ const EmployerSection = (props) => { - Your allegiances: + Ваши обязанности:
{allies}
@@ -89,7 +89,7 @@ const EmployerSection = (props) => { - Employer thoughts: + От нанимателя:
{goal}
@@ -113,23 +113,23 @@ const UplinkSection = (props) => { replacement_frequency, } = data; return ( -
+
{(!has_uplink && (
- Your uplink is missing or destroyed.
- Craft a Syndicate Uplink Beacon and then speak + Ваш аплинк отсутствует или уничтожен.
+ Создайте Синдикатовский маячок аплинка и скажите
{replacement_code} {' '} - on frequency{' '} + по частоте{' '} {replacement_frequency} {' '} - after synchronizing with the beacon. + после синхронизации с маячком.
@@ -138,10 +138,10 @@ const UplinkSection = (props) => { {uplink_intro}
- {code && Code: {code}} + {code && Код: {code}}
{failsafe_code && ( - Failsafe: {failsafe_code} + Запасной код: {failsafe_code} )}
@@ -154,16 +154,16 @@ const UplinkSection = (props) => {
{(has_uplink && (
- If you lose your uplink, you can craft a Syndicate Uplink Beacon and - then speak{' '} + Если вы потеряете свой аплнинк, создайте Синдикатовский маячок аплинка + и скажите{' '} {replacement_code} {' '} - on radio frequency{' '} + по радио-частоте{' '} {replacement_frequency} {' '} - after synchronizing with the beacon. + после синхронизации с маячком.
)) || (
@@ -180,36 +180,36 @@ const CodewordsSection = (props) => { const { data } = useBackend(); const { has_codewords, phrases, responses } = data; return ( -
+
{(!has_codewords && (
- You have not been supplied with codewords. You will have to use - alternative methods to find potential allies. Proceed with caution, - however, as everyone is a potential foe. + Вам не были предоставлены кодовые слова. Вы должны использовать + альтернативные способы поиска потенциальных союзников. Но будьте + осторожны, так как каждый может быть потенциальным противником.
)) || ( <>
- Your employer provided you with the following codewords to - identify fellow agents. Use the codewords during regular - conversation to identify other agents. Proceed with caution, - however, as everyone is a potential foe. + Ваш наниматель предоставил вам кодовые слова для идентификации + других агентов. Используйте слова во время обычных разговора, + если считаете, что говорите с агентом. Но будьте осторожны, так + как каждый может быть потенциальным противником. -  You have memorized the codewords, allowing you to - recognise them when heard. +  Вы запомнили кодовые слова, позволяющие распозновать их, + когда вы их услышите.
- Code Phrases: + Кодовые фразы: {phrases} - Code Responses: + Кодовые ответы: {responses} diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/AntagsPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/AntagsPage.tsx index 2ff85058da62f..9ba4024330398 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/AntagsPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/AntagsPage.tsx @@ -90,11 +90,11 @@ const AntagSelection = (props: { antagonists: Antagonist[]; name: string }) => { buttons={ <> } @@ -197,17 +197,17 @@ export const AntagsPage = () => { return ( diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferenceWindow.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferenceWindow.tsx index bde56f429d63c..c552a13629eb5 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferenceWindow.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferenceWindow.tsx @@ -87,7 +87,7 @@ export const CharacterPreferenceWindow = (props) => { } return ( - + @@ -104,7 +104,7 @@ export const CharacterPreferenceWindow = (props) => { {!data.content_unlocked && ( - Buy BYOND premium for more slots! + Купите BYOND premium для увеличения слотов! )} @@ -119,7 +119,7 @@ export const CharacterPreferenceWindow = (props) => { setPage={setCurrentPage} otherActivePages={[Page.Species]} > - Character + Персонаж @@ -133,7 +133,7 @@ export const CharacterPreferenceWindow = (props) => { Fun fact: This isn't "Jobs" so that it intentionally catches your eyes, because it's really important! */} - Occupations + Профессии @@ -143,7 +143,7 @@ export const CharacterPreferenceWindow = (props) => { page={Page.Antags} setPage={setCurrentPage} > - Antagonists + Антагонисты @@ -153,7 +153,7 @@ export const CharacterPreferenceWindow = (props) => { page={Page.Quirks} setPage={setCurrentPage} > - Quirks + Черты @@ -164,7 +164,7 @@ export const CharacterPreferenceWindow = (props) => { page={Page.Voice} setPage={setCurrentPage} > - Voice + Голос )} diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/JobsPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/JobsPage.tsx index 7df2acc06e389..25a533f4cb50f 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/JobsPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/JobsPage.tsx @@ -93,13 +93,13 @@ const PriorityHeaders = () => { - Off + Откл. - Low + Низк. - Medium + Средн. - High + Высок. ); }; @@ -123,7 +123,7 @@ const PriorityButtons = (props: { {isOverflow ? ( <> { const options = [ { - displayText: `Join as ${data.overflow_role} if unavailable`, + displayText: `Присоединиться как ${data.overflow_role}, если не удалось войти`, value: JoblessRole.BeOverflow, }, { - displayText: `Join as a random job if unavailable`, + displayText: `Выбрать случайную должность, если не удалось войти`, value: JoblessRole.BeRandomJob, }, { - displayText: `Return to lobby if unavailable`, + displayText: `Вернуться в лобби, если не удалось войти`, value: JoblessRole.ReturnToLobby, }, ]; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/KeybindingsPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/KeybindingsPage.tsx index c3b123105ab97..02cf49a2bd21d 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/KeybindingsPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/KeybindingsPage.tsx @@ -465,7 +465,7 @@ export class KeybindingsPage extends Component<{}, KeybindingsPageState> { act('reset_all_keybinds')} /> diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/MainPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/MainPage.tsx index dbb31c73cbb8b..a2bd70931e2b8 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/MainPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/MainPage.tsx @@ -55,7 +55,7 @@ const CharacterControls = (props: { onClick={props.handleRotate} fontSize="22px" icon="undo" - tooltip="Rotate" + tooltip="Повернуть" tooltipPosition="top" /> @@ -65,7 +65,7 @@ const CharacterControls = (props: { onClick={props.handleOpenSpecies} fontSize="22px" icon="paw" - tooltip="Species" + tooltip="Вид" tooltipPosition="top" /> @@ -97,7 +97,7 @@ const ChoicedSelection = (props: { const [getSearchText, searchTextSet] = useState(''); if (!catalog.icons) { - return Provided catalog had no icons!; + return В предоставленном каталоге не было иконок!; } return ( @@ -151,7 +151,7 @@ const ChoicedSelection = (props: { @@ -400,7 +400,7 @@ export const PreferenceList = (props: { if (feature === undefined) { return ( - Feature {featureId} is not recognized. + Компонент {featureId} не распознан. ); } diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/QuirksPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/QuirksPage.tsx index c145b7eb3db34..877a7ea07f94c 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/QuirksPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/QuirksPage.tsx @@ -352,9 +352,9 @@ export function QuirksPage(props) { maxPositiveQuirks !== -1 && positiveQuirks >= maxPositiveQuirks ) { - return "You can't have any more positive quirks!"; + return 'Нельзя иметь больше положительных черт!'; } else if (pointsEnabled && balance + quirk.value > 0) { - return 'You need a negative quirk to balance this out!'; + return 'Необходим баланс с отрицательными чертами!'; } } @@ -372,7 +372,7 @@ export function QuirksPage(props) { incompatibleQuirk !== quirk.name && selectedQuirkNames.indexOf(incompatibleQuirk) !== -1 ) { - return `This is incompatible with ${incompatibleQuirk}!`; + return `Черта несовместима с ${incompatibleQuirk}!`; } } } @@ -384,7 +384,7 @@ export function QuirksPage(props) { const quirk = quirkInfo[quirkName]; if (pointsEnabled && balance - quirk.value > 0) { - return 'You need to remove a positive quirk first!'; + return 'Сначала вам нужно убрать позитивную черту!'; } return undefined; @@ -396,7 +396,7 @@ export function QuirksPage(props) { {maxPositiveQuirks > 0 ? ( - Positive Quirks + Положительные черты ) : ( )} @@ -414,7 +414,7 @@ export function QuirksPage(props) { - Available Quirks + Доступные черты @@ -458,7 +458,7 @@ export function QuirksPage(props) { {pointsEnabled ? ( - Quirk Balance + Баланс черт ) : ( 0 ? 3.4 : 0} /> )} @@ -474,7 +474,7 @@ export function QuirksPage(props) { - Current Quirks + Текущие черты diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/SpeciesPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/SpeciesPage.tsx index 87a25900b6d37..4db05f344345a 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/SpeciesPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/SpeciesPage.tsx @@ -136,7 +136,7 @@ const Diet = (props: { diet: Species['diet'] }) => { @@ -145,7 +145,7 @@ const Diet = (props: { diet: Species['diet'] }) => { @@ -154,7 +154,7 @@ const Diet = (props: { diet: Species['diet'] }) => { @@ -262,7 +262,7 @@ const SpeciesPageInner = (props: {
-
+
@@ -330,7 +330,7 @@ const SpeciesPageInner = (props: { -
+
{currentSpecies.lore.map((text, index) => ( @@ -366,7 +366,7 @@ export const SpeciesPage = (props: { closeSpecies: () => void }) => { /> ); } else { - return Loading species...; + return Загрузка видов...; } }} /> diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/abductor.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/abductor.ts index cc77194f0cbcb..32bc3f6619534 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/abductor.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/abductor.ts @@ -4,19 +4,20 @@ import { Antagonist, Category } from '../base'; const Abductor: Antagonist = { key: 'abductor', - name: 'Abductor', + name: 'Абдуктор', description: [ multiline` - Abductors are technologically advanced alien society set on cataloging - all species in the system. Unfortunately for their subjects their methods - are quite invasive. + Абдукторы - технологически развитое инопланетное общество, поставившее + своей целью каталогизацию всех видов в системе. К несчастью для своих + испытуемых, их методы весьма инвазивны. `, multiline` - You and a partner will become the abductor scientist and agent duo. - As an agent, abduct unassuming victims and bring them back to your UFO. - As a scientist, scout out victims for your agent, keep them safe, and - operate on whoever they bring back. + Вы и ваш напарник станете дуэтом абдукторов из учёного и агента. + В качестве агента похищайте ничего не подозревающих жертв и возвращайте + их в свой НЛО. + В качестве учёного ищите жертв для своего агента, обеспечивайте + его безопасность и оперируйте тех, кого он принесёт. `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/blob.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/blob.ts index 99861d530caf4..6401a1b9de931 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/blob.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/blob.ts @@ -3,15 +3,15 @@ import { multiline } from 'common/string'; import { Antagonist, Category } from '../base'; export const BLOB_MECHANICAL_DESCRIPTION = multiline` - The blob infests the station and destroys everything in its path, including - hull, fixtures, and creatures. Spread your mass, collect resources, and - consume the entire station. Make sure to prepare your defenses, because the - crew will be alerted to your presence! + Блоб заражает станцию и уничтожает все на своем пути, включая корпус, + основание станции и существ. Распространяйте свою массу, собирайте ресурсы + и поглотите всю станцию. Не забудьте подготовить оборону, потому что экипаж + будет предупрежден о вашем присутствии! `; const Blob: Antagonist = { key: 'blob', - name: 'Blob', + name: 'Блоб', description: [BLOB_MECHANICAL_DESCRIPTION], category: Category.Midround, }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/blobinfection.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/blobinfection.ts index 33bc8405d49b7..eaed6ce374ebb 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/blobinfection.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/blobinfection.ts @@ -5,11 +5,11 @@ import { BLOB_MECHANICAL_DESCRIPTION } from './blob'; const BlobInfection: Antagonist = { key: 'blobinfection', - name: 'Blob Infection', + name: 'Блоб инфекция', description: [ multiline` - At any point in the middle of the shift, be strucken with an infection - that will turn you into the terrifying blob. + В любой момент посреди смены вас поразит инфекция, + которая превратит вас в ужасающего блоба. `, BLOB_MECHANICAL_DESCRIPTION, ], diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/bloodbrother.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/bloodbrother.ts index 176cd39a7ea48..7fac6cadb69e9 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/bloodbrother.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/bloodbrother.ts @@ -4,12 +4,12 @@ import { Antagonist, Category } from '../base'; const BloodBrother: Antagonist = { key: 'bloodbrother', - name: 'Blood Brother', + name: 'Кровный брат', description: [ multiline` - Team up with other crew members as blood brothers to combine the strengths - of your departments, break each other out of prison, and overwhelm the - station. + Объединитесь с другими членами команды как кровные братья, + чтобы объединить сильные стороны своих отделов, + вызволить друг друга из тюрьмы и побороть станцию. `, ], category: Category.Roundstart, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/changeling.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/changeling.ts index 2c9698d0bda21..bb771481fd085 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/changeling.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/changeling.ts @@ -3,17 +3,17 @@ import { multiline } from 'common/string'; import { Antagonist, Category } from '../base'; export const CHANGELING_MECHANICAL_DESCRIPTION = multiline` -Transform yourself or others into different identities, and buy from an -arsenal of biological weaponry with the DNA you collect. +Превращайтесь или превращайте в другие личностей и покупайте арсенал +биологического оружия с помощью собранной ДНК. `; const Changeling: Antagonist = { key: 'changeling', - name: 'Changeling', + name: 'Генокрад', description: [ multiline` - A highly intelligent alien predator that is capable of altering their - shape to flawlessly resemble a human. + Разумный инопланетный хищник, способный изменять свою форму, + чтобы безупречно походить на человека. `, CHANGELING_MECHANICAL_DESCRIPTION, ], diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/changelingmidround.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/changelingmidround.ts index 90692d2824321..b10fe5c237c7c 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/changelingmidround.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/changelingmidround.ts @@ -5,11 +5,11 @@ import { CHANGELING_MECHANICAL_DESCRIPTION } from './changeling'; const ChangelingMidround: Antagonist = { key: 'changelingmidround', - name: 'Space Changeling', + name: 'Генокрад с космоса', description: [ multiline` - A midround changeling does not receive a crew identity, instead arriving - from space. This will be more difficult than being a round-start changeling! + Вариант генокрада, который не получает личность экипажа, а прибывает + из космоса во время смены. Эта версия сложнее, чем начинающаяся в начале смены! `, CHANGELING_MECHANICAL_DESCRIPTION, ], diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/clownoperative.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/clownoperative.ts index f32c6c6d3b0f2..6975516ae6b6c 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/clownoperative.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/clownoperative.ts @@ -5,13 +5,14 @@ import { OPERATIVE_MECHANICAL_DESCRIPTION } from './operative'; const ClownOperative: Antagonist = { key: 'clownoperative', - name: 'Clown Operative', + name: 'Клоунский оперативник', description: [ multiline` - Honk! You have been chosen, for better or worse to join the Syndicate - Clown Operative strike team. Your mission, whether or not you choose - to tickle it, is to honk Nanotrasen's most advanced research facility! - That's right, you're going to Clown Station 13. + Хонк! Вы были выбраны, к лучшему или худшему, в Синдикатовскую ударную группу + клоунов. Ваша миссия, вне зависимости от ваших щекоток, + заключается в отхонкивании самого передового + исследовательского центра Нанотрейзен! + Правильно, вы отправитесь на клоунскую станцию 13. `, OPERATIVE_MECHANICAL_DESCRIPTION, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cultist.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cultist.ts index 252f7e65b63d7..acd09bffb83ba 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cultist.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/cultist.ts @@ -4,18 +4,19 @@ import { Antagonist, Category } from '../base'; const Cultist: Antagonist = { key: 'cultist', - name: 'Cultist', + name: 'Культист', description: [ multiline` - The Geometer of Blood, Nar-Sie, has sent a number of her followers to - Space Station 13. As a cultist, you have an abundance of cult magics at - your disposal, something for all situations. You must work with your - brethren to summon an avatar of your eldritch goddess! + Богиня Крови, Нар-Си, отправила несколько своих последователей на + космическую станцию 13. Как культист, вы имеете в своем распоряжении + множество заклинаний культа, подходящих для любых ситуаций. + Вы должны работать вместе со своими собратьями, + чтобы призвать аватар вашей мистической богини! `, multiline` - Armed with blood magic, convert crew members to the Blood Cult, sacrifice - those who get in the way, and summon Nar-Sie. + Вооружившись магией крови, обратите членов экипажа в Культ крови, + принесите в жертву мешающим вам, и призовите Нар-Си. `, ], category: Category.Roundstart, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/fugitive.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/fugitive.ts index 1d7158484a101..7f961a2c928ba 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/fugitive.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/fugitive.ts @@ -4,11 +4,12 @@ import { Antagonist, Category } from '../base'; const Fugitive: Antagonist = { key: 'fugitive', - name: 'Fugitive', + name: 'Беглец', description: [ multiline` - Wherever you come from, you're being hunted. You have 10 minutes to prepare - before fugitive hunters arrive and start hunting you and your friends down! + Откуда бы вы ни прибыли, за вами охотятся. У вас есть 10 минут, + чтобы подготовиться, пока не появились охотники за беглецами и не начали + охоту на вас и ваших друзей! `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts index 227ad99b02d6c..4a7f5524fd774 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/glitch.ts @@ -4,15 +4,15 @@ import { Antagonist, Category } from '../base'; const Glitch: Antagonist = { key: 'glitch', - name: 'Glitch', + name: 'Сбой', description: [ multiline` - The virtual domain is a dangerous place for bitrunners. Make it so. + Виртуальное пространство - опасное место для битраннеров. Убедите их в этом. `, multiline` - You are a short-term antagonist, a glitch in the system. Use martial arts \ - and lethal weaponry to terminate organics. + Вы кратковременный антагонист, сбой в системе. Используйте боевые искусства \ + и летальное оружие, чтобы уничтожить органиков. `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/headrevolutionary.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/headrevolutionary.ts index 7ef4908368aed..6f828707fc880 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/headrevolutionary.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/headrevolutionary.ts @@ -3,13 +3,13 @@ import { multiline } from 'common/string'; import { Antagonist, Category } from '../base'; export const REVOLUTIONARY_MECHANICAL_DESCRIPTION = multiline` - Armed with a flash, convert as many people to the revolution as you can. - Kill or exile all heads of staff on the station. + Вооружившись флэшем, обратите в революцию как можно больше людей. + Убейте или изгоните всех глав станции. `; const HeadRevolutionary: Antagonist = { key: 'headrevolutionary', - name: 'Head Revolutionary', + name: 'Глава революции', description: ['VIVA LA REVOLUTION!', REVOLUTIONARY_MECHANICAL_DESCRIPTION], category: Category.Roundstart, }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/heretic.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/heretic.ts index 79c502866707d..641e7d46de52e 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/heretic.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/heretic.ts @@ -3,8 +3,8 @@ import { multiline } from 'common/string'; import { Antagonist, Category } from '../base'; export const HERETIC_MECHANICAL_DESCRIPTION = multiline` - Find hidden influences and sacrifice crew members to gain magical - powers and ascend as one of several paths. + Найдите скрытые влияния и принесите в жертву членов экипажа, + чтобы получить магические силы и возвыситься по одному из нескольких путей. `; const Heretic: Antagonist = { @@ -12,9 +12,9 @@ const Heretic: Antagonist = { name: 'Еретик', description: [ multiline` - Забытые, поглощенные, выпотрошенные. Человечество забыло об эльдрических силах - разложения, но завеса мансуса ослабла. Мы заставим их почувствовать вкус страха - снова... + Забытые, поглощенные, выпотрошенные. Человечество забыло о мистических силах + разложения, но завеса Мансуса ослабла. Мы заставим их снова + почувствовать вкус страха... `, HERETIC_MECHANICAL_DESCRIPTION, ], diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/hereticsmuggler.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/hereticsmuggler.ts index 6ce90a3552e3f..d0867804e485a 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/hereticsmuggler.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/hereticsmuggler.ts @@ -3,9 +3,9 @@ import { HERETIC_MECHANICAL_DESCRIPTION } from './heretic'; const HereticSmuggler: Antagonist = { key: 'hereticsmuggler', - name: 'Heretic Smuggler', + name: 'Еретик-контрабандист', description: [ - 'A form of heretic that can activate when joining an ongoing shift.', + 'Вариант еретика, который можно получить при прибытии на смену.', HERETIC_MECHANICAL_DESCRIPTION, ], category: Category.Latejoin, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/loneoperative.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/loneoperative.ts index b9330e415477c..d857036b7677c 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/loneoperative.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/loneoperative.ts @@ -5,11 +5,11 @@ import { OPERATIVE_MECHANICAL_DESCRIPTION } from './operative'; const LoneOperative: Antagonist = { key: 'loneoperative', - name: 'Lone Operative', + name: 'Оперативник-одиночка', description: [ multiline` - A solo nuclear operative that has a higher chance of spawning the longer - the nuclear authentication disk stays in one place. + Шанс появления ядерного оперативника-одиночки повышается в зависимости от того, + насколько долго диск ядерной аутентификации находится на одном месте. `, OPERATIVE_MECHANICAL_DESCRIPTION, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/malfai.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/malfai.ts index 614e97447f776..76731feb80dbf 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/malfai.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/malfai.ts @@ -3,14 +3,15 @@ import { multiline } from 'common/string'; import { Antagonist, Category } from '../base'; export const MALF_AI_MECHANICAL_DESCRIPTION = multiline` - With a law zero to complete your objectives at all costs, combine your - omnipotence and malfunction modules to wreak havoc across the station. - Go delta to destroy the station and all those who opposed you. + Имея нулевой закон, гласящий выполнить свои задачи любой ценой, + объедините свое всемогущество с модулями сбойного ИИ, чтобы посеять хаос + на всей станции. Активируйте код Дельта, чтобы уничтожить станцию и всех, + кто вам противостоит. `; const MalfAI: Antagonist = { key: 'malfai', - name: 'Malfunctioning AI', + name: 'Сбойный ИИ', description: [MALF_AI_MECHANICAL_DESCRIPTION], category: Category.Roundstart, }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/malfaimidround.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/malfaimidround.ts index 9b0cd861f13d0..b2d622c4916b9 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/malfaimidround.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/malfaimidround.ts @@ -5,11 +5,11 @@ import { MALF_AI_MECHANICAL_DESCRIPTION } from './malfai'; const MalfAIMidround: Antagonist = { key: 'malfaimidround', - name: 'Value Drifted AI', + name: 'Засбоивший ИИ', description: [ multiline` - A form of malfunctioning AI that is given to existing AIs in the middle - of the shift. + Вариант сбойного ИИ, которого могут получить существующие ИИ + в любой момент во время смены. `, MALF_AI_MECHANICAL_DESCRIPTION, ], diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/nightmare.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/nightmare.ts index 4f317ff0b4887..95b3a67bfe4b9 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/nightmare.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/nightmare.ts @@ -4,11 +4,12 @@ import { Antagonist, Category } from '../base'; const Nightmare: Antagonist = { key: 'nightmare', - name: 'Nightmare', + name: 'Кошмар', description: [ multiline` - Use your light eater to break sources of light to survive and thrive. - Jaunt through the darkness and seek your prey with night vision. + Используйте свой клинок для уничтожения источников света, + чтобы жить и процветать во тьме. Пробирайтесь сквозь тьму и + ищите добычу с помощью ночного зрения. `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/obsessed.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/obsessed.ts index 9e38e37cfe153..cf78d2acca336 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/obsessed.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/obsessed.ts @@ -4,12 +4,12 @@ import { Antagonist, Category } from '../base'; const Obsessed: Antagonist = { key: 'obsessed', - name: 'Obsessed', + name: 'Одержимый', description: [ multiline` - You're obsessed with someone! Your obsession may begin to notice their - personal items are stolen and their coworkers have gone missing, - but will they realize they are your next victim in time? + Вы кем-то одержимы! Ваша цель одержимости может начать замечать, + что их личные вещи были украдены, а коллеги пропали, + но поймут ли они вовремя, что она - ваша следующая жертва? `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/operative.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/operative.ts index 2b179a2bd6719..95d4e7950a31d 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/operative.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/operative.ts @@ -3,19 +3,20 @@ import { multiline } from 'common/string'; import { Antagonist, Category } from '../base'; export const OPERATIVE_MECHANICAL_DESCRIPTION = multiline` - Retrieve the nuclear authentication disk, use it to activate the nuclear - fission explosive, and destroy the station. + Вытащите диск ядерной аутентификации и используйте его, + чтобы активировать ядерную бомбу для уничтожения станции. `; const Operative: Antagonist = { key: 'operative', - name: 'Nuclear Operative', + name: 'Ядерный оперативник', description: [ multiline` - Congratulations, agent. You have been chosen to join the Syndicate - Nuclear Operative strike team. Your mission, whether or not you choose - to accept it, is to destroy Nanotrasen's most advanced research facility! - That's right, you're going to Space Station 13. + Поздравляю, агент. Вы были выбраны в Синдикатовскую ударную группу + ядерных оперативников. Ваша миссия, вне зависимости от вашего решения, + заключается в уничтожении самого передового + исследовательского центра Нанотрейзен! + Правильно, вы отправитесь на космическую станцию 13. `, OPERATIVE_MECHANICAL_DESCRIPTION, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/operativemidround.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/operativemidround.ts index cf79eae9bdc48..6b8f99e246823 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/operativemidround.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/operativemidround.ts @@ -5,11 +5,11 @@ import { OPERATIVE_MECHANICAL_DESCRIPTION } from './operative'; const OperativeMidround: Antagonist = { key: 'operativemidround', - name: 'Nuclear Assailant', + name: 'Ядерный штурмовик', description: [ multiline` - A form of nuclear operative that is offered to ghosts in the middle - of the shift. + Вариант ядерного оперативника, который могут получить призраки + в любой момент во время смены. `, OPERATIVE_MECHANICAL_DESCRIPTION, ], diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/paradoxclone.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/paradoxclone.ts index 9217c3aeb1334..e62aaf9dd6434 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/paradoxclone.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/paradoxclone.ts @@ -4,11 +4,12 @@ import { Antagonist, Category } from '../base'; const ParadoxClone: Antagonist = { key: 'paradoxclone', - name: 'Paradox Clone', + name: 'Парадоксальный клон', description: [ multiline` - A freak time-space anomaly has teleported you into another reality! - Now you have to find your counterpart and kill and replace them. + Странная пространственно-временная аномалия телепортировала вас в + другую реальность! Теперь вам предстоит найти своего двойника, + убить и заменить его. `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/provocateur.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/provocateur.ts index cd8ef1a380f4c..1c72a060c9449 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/provocateur.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/provocateur.ts @@ -5,11 +5,10 @@ import { REVOLUTIONARY_MECHANICAL_DESCRIPTION } from './headrevolutionary'; const Provocateur: Antagonist = { key: 'provocateur', - name: 'Provocateur', + name: 'Провокатор', description: [ multiline` - A form of head revolutionary that can activate when joining an ongoing - shift. + Вариант главы революции, который можно получить при прибытии смену. `, REVOLUTIONARY_MECHANICAL_DESCRIPTION, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/revenant.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/revenant.ts index e9fdf3c178db3..a69e6f7773722 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/revenant.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/revenant.ts @@ -4,12 +4,12 @@ import { Antagonist, Category } from '../base'; const Revenant: Antagonist = { key: 'revenant', - name: 'Revenant', + name: 'Ревенант', description: [ multiline` - Become the mysterious revenant. Break windows, overload lights, and eat - the crew's life force, all while talking to your old community of - disgruntled ghosts. + Станьте таинственным ревенантом. Разбивайте окна, перегружайте свет + и питайтесь жизненной силой экипажа, общаясь при этом со своей + старой общиной недовольных призраков. `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentiencepotionspawn.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentiencepotionspawn.ts index 6b4cad30e18b5..88ce02b690edc 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentiencepotionspawn.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentiencepotionspawn.ts @@ -4,18 +4,18 @@ import { Antagonist, Category } from '../base'; const SentientCreature: Antagonist = { key: 'sentiencepotionspawn', - name: 'Sentient Creature', + name: 'Разумное существо', description: [ multiline` - Either by cosmic happenstance, or due to crew's shenanigans, you have been - given sentience! + Либо по космической случайности, либо из-за махинаций экипажа, + вы получили разум! `, multiline` - This is a blanket preference. The more benign ones include random human - level intelligence events, the cargorilla, and creatures uplifted via sentience - potions. The less friendly ones include the regal rat, and the boosted - mining elite mobs. + Это универсальное предпочтение. К более дружелюбным относятся случайные события, + связанные с интеллектом человеческого уровня, каргорилла и существа, + поднятые с помощью зелий разумности. К менее дружелюбным относятся + крысиный король и усиленные шахтерские элитные мобы. `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentientdisease.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentientdisease.ts index f2b2be6ca7860..db79c7668b3c5 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentientdisease.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentientdisease.ts @@ -4,11 +4,11 @@ import { Antagonist, Category } from '../base'; const SentientDisease: Antagonist = { key: 'sentientdisease', - name: 'Sentient Disease', + name: 'Разумная болезнь', description: [ multiline` - Mutate and spread yourself and infect as much of the crew as possible - with a deadly plague of your own creation. + Мутируйте, распространяйтесь и заразите как можно больше членов экипажа + смертельно опасной чумой собственного создания. `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spacedragon.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spacedragon.ts index 79e55a0060d68..c44fda3f51c0f 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spacedragon.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spacedragon.ts @@ -4,11 +4,11 @@ import { Antagonist, Category } from '../base'; const SpaceDragon: Antagonist = { key: 'spacedragon', - name: 'Space Dragon', + name: 'Космический дракон', description: [ multiline` - Become a ferocious space dragon. Breathe fire, summon an army of space - carps, crush walls, and terrorize the station. + Станьте свирепым космическим драконом. Дышите огнем, призывайте армию + космических карпов, крушите стены и наводите ужас на станцию. `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spaceninja.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spaceninja.ts index aee97dbdd2309..fbb7f45ca62e9 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spaceninja.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spaceninja.ts @@ -4,19 +4,21 @@ import { Antagonist, Category } from '../base'; const SpaceNinja: Antagonist = { key: 'spaceninja', - name: 'Space Ninja', + name: 'Космический ниндзя', description: [ multiline` - The Spider Clan practice a sort of augmentation of human flesh in order to - achieve a more perfect state of being and follow Postmodern Space Bushido. + Клан Пауков практикует своего рода аугментацию человеческой плоти, + чтобы достичь более совершенного состояния бытия + и следовать постмодернистскому космическому бусидо. `, multiline` - Become a conniving space ninja, equipped with a katana, gloves to hack - into airlocks and APCs, a suit to make you go near-invisible, - as well as a variety of abilities in your kit. Hack into arrest consoles - to mark everyone as arrest, and even hack into communication consoles to - summon more threats to cause chaos on the station! + Станьте коварным космическим ниндзя, вооружившись катаной, + перчатками для взлома шлюзов и ЛКП, костюмом, делающим вас + практически невидимым, а также разнообразными способностями в вашем наборе. + Взломайте консоли СБ, чтобы пометить всех как арестованных, + и даже взломайте консоли связи, чтобы вызвать новые угрозы + для большего хаоса на станции! `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spy.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spy.ts index 395baf8791504..c99bb1beb754b 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spy.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/spy.ts @@ -4,18 +4,18 @@ import { Antagonist, Category } from '../base'; const Spy: Antagonist = { key: 'spy', - name: 'Spy', + name: 'Шпион', description: [ multiline` - Your mission, should you choose to accept it: Infiltrate Space Station 13. - Disguise yourself as a member of their crew and steal vital equipment. - Should you be caught or killed, your employer will disavow any knowledge - of your actions. Good luck agent. + Ваша миссия, если вы решитесь взяться за нее: проникнуть на космическую станцию 13. + Замаскируйтесь под ее члена экипажа и украдите жизненно важное оборудование. + Если вам поймают или убьют, ваш работодатель будет отрицать любую информацию, + связанную с вашими действиями тут. Удачи, агент. `, multiline` - Complete Spy Bounties to earn rewards from your employer. - Use these rewards to sow chaos and mischief! + Выполняйте шпиноские заказы, чтобы заработать награды от вашего работодателя. + Используйте эти награды для того, чтобы сеять хаос и беду! `, ], category: Category.Roundstart, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/stowawaychangeling.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/stowawaychangeling.ts index 59049ca39feea..f1a777f2e2d41 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/stowawaychangeling.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/stowawaychangeling.ts @@ -5,11 +5,10 @@ import { CHANGELING_MECHANICAL_DESCRIPTION } from './changeling'; const Stowaway_Changeling: Antagonist = { key: 'stowawaychangeling', - name: 'Stowaway Changeling', + name: 'Генокрад-безбилетник', description: [ multiline` - A Changeling that found its way onto the shuttle - unbeknownst to the crewmembers on board. + Генокрад, который попал на шаттл без ведома членов экипажа. `, CHANGELING_MECHANICAL_DESCRIPTION, ], diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/syndicateinfiltrator.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/syndicateinfiltrator.ts index 45ad29292b9c2..7345e414e58ff 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/syndicateinfiltrator.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/syndicateinfiltrator.ts @@ -3,9 +3,9 @@ import { TRAITOR_MECHANICAL_DESCRIPTION } from './traitor'; const SyndicateInfiltrator: Antagonist = { key: 'syndicateinfiltrator', - name: 'Syndicate Infiltrator', + name: 'Диверсант Синдиката', description: [ - 'A form of traitor that can activate when joining an ongoing shift.', + 'Вариант предателя, который можно получить при прибытии на смену.', TRAITOR_MECHANICAL_DESCRIPTION, ], category: Category.Latejoin, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/syndicatesleeperagent.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/syndicatesleeperagent.ts index cce7f70ea6f81..db03a2c79c21c 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/syndicatesleeperagent.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/syndicatesleeperagent.ts @@ -5,11 +5,10 @@ import { TRAITOR_MECHANICAL_DESCRIPTION } from './traitor'; const SyndicateSleeperAgent: Antagonist = { key: 'syndicatesleeperagent', - name: 'Syndicate Sleeper Agent', + name: 'Спящий агент Синдиката', description: [ multiline` - A form of traitor that can activate at any point in the middle - of the shift. + Вариант предателя, который можно получить в любой момент во время смены. `, TRAITOR_MECHANICAL_DESCRIPTION, ], diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/traitor.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/traitor.ts index b815039cbb655..8225aa98cf537 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/traitor.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/traitor.ts @@ -3,18 +3,19 @@ import { multiline } from 'common/string'; import { Antagonist, Category } from '../base'; export const TRAITOR_MECHANICAL_DESCRIPTION = multiline` - Start with an uplink to purchase your gear and take on your sinister - objectives. Ascend through the ranks and become an infamous legend. + Начните с аплинком, чтобы приобрести снаряжение и приступить к + выполнению своих зловещих задач. Поднимитесь по карьерной лестнице + и станьте печально известной легендой. `; const Traitor: Antagonist = { key: 'traitor', - name: 'Traitor', + name: 'Предатель', description: [ multiline` - An unpaid debt. A score to be settled. Maybe you were just in the wrong - place at the wrong time. Whatever the reasons, you were selected to - infiltrate Space Station 13. + Неоплаченный долг. Счеты, которые нужно свести. Может быть, + вы просто оказались не в том месте и не в то время. Каковы бы ни были + причины, вы были выбраны для проникновения на космическую станцию 13. `, TRAITOR_MECHANICAL_DESCRIPTION, ], diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/wizard.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/wizard.ts index 67118697da00e..db7aaa2e11916 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/wizard.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/wizard.ts @@ -3,13 +3,13 @@ import { multiline } from 'common/string'; import { Antagonist, Category } from '../base'; export const WIZARD_MECHANICAL_DESCRIPTION = multiline` - Choose between a variety of powerful spells in order to cause chaos - among Space Station 13. + Выбирайте из множества мощных заклинаний, чтобы вызвать хаос + на космической станции 13. `; const Wizard: Antagonist = { key: 'wizard', - name: 'Wizard', + name: 'Маг', description: [ `"GREETINGS. WE'RE THE WIZARDS OF THE WIZARD'S FEDERATION."`, WIZARD_MECHANICAL_DESCRIPTION, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/wizardmidround.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/wizardmidround.ts index b36a9f5170f9c..fe25f8119480f 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/wizardmidround.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/wizardmidround.ts @@ -3,9 +3,9 @@ import { WIZARD_MECHANICAL_DESCRIPTION } from './wizard'; const WizardMidround: Antagonist = { key: 'wizardmidround', - name: 'Wizard (Midround)', + name: 'Маг (Мидраунд)', description: [ - 'A form of wizard that is offered to ghosts in the middle of the shift.', + 'Вариант мага, который могут получить призраки в любой момент во время смены.', WIZARD_MECHANICAL_DESCRIPTION, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/xenomorph.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/xenomorph.ts index c759696926457..88b3b9df42d66 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/xenomorph.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/xenomorph.ts @@ -4,11 +4,11 @@ import { Antagonist, Category } from '../base'; const Xenomorph: Antagonist = { key: 'xenomorph', - name: 'Xenomorph', + name: 'Ксеноморф', description: [ multiline` - Become the extraterrestrial xenomorph. Start as a larva, and progress - your way up the caste, including even the Queen! + Станьте внеземным ксеноморфом. Начните как ларва и продвигайтесь + по касте, вплоть до Королевы! `, ], category: Category.Midround, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/names.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/names.tsx index eadb6e94d4291..5a03156a762b1 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/names.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/names.tsx @@ -68,7 +68,7 @@ export const MultiNameInput = (props: { Close } - title="Alternate names" + title="Альтернативные имена" > {sortNameWithKeyEntries(Object.entries(namesIntoGroups)).map( @@ -124,7 +124,7 @@ export const MultiNameInput = (props: { } @@ -76,8 +76,8 @@ export const GenericUplink = (props: GenericUplinkProps) => { {items.length === 0 && ( {searchText.length === 0 - ? 'No items in this category.' - : 'No results found.'} + ? 'В этой категории пусто.' + : 'Нет результатов поиска.'} )} - Empty Objective, drop objectives here to take - them + Нет задачи, перенесите сюда новую, чтобы принять + её @@ -195,7 +195,7 @@ export class ObjectiveMenu extends Component<
- You are locked out of objectives + Выбор задач заблокирован )) || @@ -252,7 +252,7 @@ export class ObjectiveMenu extends Component< > ) : null} diff --git a/tgui/packages/tgui/interfaces/Uplink/PrimaryObjectiveMenu.tsx b/tgui/packages/tgui/interfaces/Uplink/PrimaryObjectiveMenu.tsx index ee6e81160d3c3..436a18b4f0f1e 100644 --- a/tgui/packages/tgui/interfaces/Uplink/PrimaryObjectiveMenu.tsx +++ b/tgui/packages/tgui/interfaces/Uplink/PrimaryObjectiveMenu.tsx @@ -15,13 +15,11 @@ export const PrimaryObjectiveMenu = (props: PrimaryObjectiveMenuProps) => {
- { - 'Agent, your Primary Objectives are as follows. Complete these at all costs.' - } + {'Агент, это ваши основные задачи. Выполните их любой ценой.'} { - 'Completing Secondary Objectives may allow you to aquire additional equipment.' + 'Завершение второстепенных задач позволяет получить дополнительное оборудование.' }
@@ -34,18 +32,18 @@ export const PrimaryObjectiveMenu = (props: PrimaryObjectiveMenuProps) => { align={'top'} as="span" > - PRIORITY MESSAGE + ПРИОРИТЕТНОЕ СООБЩЕНИЕ
- SOURCE: xxx.xxx.xxx.224:41394 + ИСТОЧНИК: xxx.xxx.xxx.224:41394

- \\Debrief in progress. + \\Проводится подведение итогов.
- \\Final Objective confirmed complete.
- \\Your work is done here, agent. + \\Выполнение финальной задачи подверждено
+ \\Ваша работае здесь готова, агент.

- CONNECTION CLOSED_ + СОЕДИНЕНИЕ ЗАКРЫТО_ )} @@ -81,9 +79,9 @@ export const PrimaryObjectiveMenu = (props: PrimaryObjectiveMenuProps) => { {!!can_renegotiate && (