diff --git a/code/modules/mafia/abilities/investigative/thoughtfeed.dm b/code/modules/mafia/abilities/investigative/thoughtfeed.dm index 745e52d31ea06..7c8464eec156c 100644 --- a/code/modules/mafia/abilities/investigative/thoughtfeed.dm +++ b/code/modules/mafia/abilities/investigative/thoughtfeed.dm @@ -4,8 +4,8 @@ * During the night, thoughtfeeding will reveal the person's exact role. */ /datum/mafia_ability/thoughtfeeder - name = "Мысленная пища" - ability_action = "наслаждайтесь воспоминаниями" + name = "Поглотить мысли" + ability_action = "насладиться воспоминаниями" /datum/mafia_ability/thoughtfeeder/perform_action_target(datum/mafia_controller/game, datum/mafia_role/day_target) . = ..() @@ -13,7 +13,7 @@ return FALSE if((target_role.role_flags & ROLE_UNDETECTABLE)) - host_role.send_message_to_player(span_warning("[target_role.body.real_name], его воспоминания показывают, что он [pick(game.all_roles - target_role)].")) + host_role.send_message_to_player(span_warning("Воспоминания [target_role.body.real_name] показывают, что он [pick(game.all_roles - target_role)].")) else - host_role.send_message_to_player(span_warning("[target_role.body.real_name], его Воспоминания показывают, что он [target_role.name].")) + host_role.send_message_to_player(span_warning("Воспоминания [target_role.body.real_name] показывают, что он [target_role.name].")) return TRUE diff --git a/code/modules/mafia/abilities/killing/alert.dm b/code/modules/mafia/abilities/killing/alert.dm index a3d8cf2e3d6b0..58cfca2916d1c 100644 --- a/code/modules/mafia/abilities/killing/alert.dm +++ b/code/modules/mafia/abilities/killing/alert.dm @@ -5,7 +5,7 @@ */ /datum/mafia_ability/attack_visitors name = "Предупреждение" - ability_action = "Сегодня вечером отправьте всех посетителей домой картечью." + ability_action = "сегодня вечером накормить всех посетителей картечью" use_flags = CAN_USE_ON_SELF /datum/mafia_ability/attack_visitors/set_target(datum/mafia_controller/game, datum/mafia_role/new_target) diff --git a/code/modules/mafia/abilities/killing/flicker_rampage.dm b/code/modules/mafia/abilities/killing/flicker_rampage.dm index 10bf2e89c0cae..f2cd2f9ad8e08 100644 --- a/code/modules/mafia/abilities/killing/flicker_rampage.dm +++ b/code/modules/mafia/abilities/killing/flicker_rampage.dm @@ -6,7 +6,7 @@ */ /datum/mafia_ability/flicker_rampage name = "Мерцание/Буйство" - ability_action = "попытка нападения или омрачения" + ability_action = "попробовать напасть или омрачить" action_priority = COMSIG_MAFIA_NIGHT_KILL_PHASE ///List of all players in the dark, which we can rampage. @@ -26,7 +26,7 @@ darkened_players += target_role else for(var/datum/mafia_role/dead_players as anything in darkened_players) - dead_players.send_message_to_player(span_userdanger("Из темноты появляется тень.!")) + dead_players.send_message_to_player(span_userdanger("Из темноты появляется тень!")) dead_players.kill(game, host_role, FALSE) darkened_players -= dead_players return TRUE diff --git a/code/modules/mafia/abilities/killing/kill.dm b/code/modules/mafia/abilities/killing/kill.dm index 71370bc472b54..58fba78908954 100644 --- a/code/modules/mafia/abilities/killing/kill.dm +++ b/code/modules/mafia/abilities/killing/kill.dm @@ -5,7 +5,7 @@ */ /datum/mafia_ability/attack_player name = "Нападение" - ability_action = "попытка нападения" + ability_action = "попробовать напасть" action_priority = COMSIG_MAFIA_NIGHT_KILL_PHASE ///The message told to the player when they are killed. var/attack_action = "убит" @@ -20,7 +20,7 @@ if(!target_role.kill(game, host_role, FALSE)) host_role.send_message_to_player(span_danger("Твоя попытка убить [target_role.body.real_name] был предотвращёна!")) else - target_role.send_message_to_player(span_userdanger("Вы были [attack_action] \a [host_role.name]!")) + target_role.send_message_to_player(span_userdanger("Вы были [attack_action]ы [host_role.name]!")) if(honorable && (target_role.team != MAFIA_TEAM_TOWN)) host_role.send_message_to_player(span_userdanger("Вы убили невинного члена экипажа. Вы умрете завтра ночью.")) RegisterSignal(game, COMSIG_MAFIA_SUNDOWN, PROC_REF(internal_affairs)) @@ -34,6 +34,6 @@ /datum/mafia_ability/attack_player/execution name = "Казнь" - ability_action = "попытка казни" - attack_action = "казнён" + ability_action = "попробовать казнить" + attack_action = "казнен" honorable = TRUE diff --git a/code/modules/mafia/abilities/protective/heal.dm b/code/modules/mafia/abilities/protective/heal.dm index 84730efe9595c..fffe1536f3a56 100644 --- a/code/modules/mafia/abilities/protective/heal.dm +++ b/code/modules/mafia/abilities/protective/heal.dm @@ -6,7 +6,7 @@ */ /datum/mafia_ability/heal name = "Исцеление" - ability_action = "Исцеление" + ability_action = "исцелить" action_priority = COMSIG_MAFIA_NIGHT_ACTION_PHASE use_flags = CAN_USE_ON_OTHERS | CAN_USE_ON_SELF @@ -51,7 +51,7 @@ */ /datum/mafia_ability/heal/defend name = "Защита" - ability_action = "защита" + ability_action = "защитить" saving_message = "охрана отбила нападавшего" /datum/mafia_ability/heal/defend/prevent_kill(datum/source, datum/mafia_controller/game, datum/mafia_role/attacker, lynch) diff --git a/code/modules/mafia/abilities/protective/vest.dm b/code/modules/mafia/abilities/protective/vest.dm index 3d28b64c2d26c..383a7ccaddcd6 100644 --- a/code/modules/mafia/abilities/protective/vest.dm +++ b/code/modules/mafia/abilities/protective/vest.dm @@ -8,7 +8,7 @@ */ /datum/mafia_ability/vest name = "Жилет" - ability_action = "Защитите себя жилетом" + ability_action = "защитить себя жилетом" use_flags = CAN_USE_ON_SELF ///Amount of vests that can be used until the power deletes itself. var/charges = STARTING_VEST_AMOUNT diff --git a/code/modules/mafia/abilities/support/self_reveal.dm b/code/modules/mafia/abilities/support/self_reveal.dm index 6d60f851160be..4701351c90d2b 100644 --- a/code/modules/mafia/abilities/support/self_reveal.dm +++ b/code/modules/mafia/abilities/support/self_reveal.dm @@ -6,7 +6,7 @@ */ /datum/mafia_ability/self_reveal name = "Откровение" - ability_action = "раскройте свою роль" + ability_action = "раскрыть свою роль" action_priority = null valid_use_period = MAFIA_PHASE_DAY use_flags = CAN_USE_ON_SELF diff --git a/code/modules/mafia/abilities/voting/changeling_kill.dm b/code/modules/mafia/abilities/voting/changeling_kill.dm index f9f4db578f4cd..fda775efb0466 100644 --- a/code/modules/mafia/abilities/voting/changeling_kill.dm +++ b/code/modules/mafia/abilities/voting/changeling_kill.dm @@ -5,8 +5,8 @@ * The attacker will always be the first person in the list, killing them will go to the next. */ /datum/mafia_ability/changeling_kill - name = "Голос на убийство" - ability_action = "попытка поглощения" + name = "Голос за убийство" + ability_action = "попробовать поглотить" action_priority = COMSIG_MAFIA_NIGHT_KILL_PHASE ///Boolean on whether a Changeling has been sent to attack someone yet. var/static/ling_sent = FALSE diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm index f6b46c3430dc9..d76440ee1f340 100644 --- a/code/modules/mafia/controller.dm +++ b/code/modules/mafia/controller.dm @@ -190,8 +190,8 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) create_bodies() SEND_GLOBAL_SIGNAL(COMSIG_MAFIA_GAME_START, src) start_day(can_vote = FALSE) - send_message(span_notice("The selected map is [current_map.name]!
[current_map.description]")) - send_message("Day [turn] started! There is no voting on the first day. Say hello to everybody!") + send_message(span_notice("Текущая карта [current_map.name]!
[current_map.description]")) + send_message("[turn] день начался! В первый день голосование не проводится. Скажите всем привет!") next_phase_timer = addtimer(CALLBACK(src, PROC_REF(check_trial), FALSE), (FIRST_DAY_PERIOD_LENGTH / time_speedup), TIMER_STOPPABLE) //no voting period = no votes = instant night for(var/datum/mafia_role/roles as anything in all_roles) var/obj/item/modular_computer/modpc = roles.player_pda @@ -219,7 +219,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) send_message("With only [living_roles.len] living players left, the game timers have been sped up.") if(can_vote) - send_message("Day [turn] started! Voting will start in 1 minute.") + send_message("[turn] день начался! Голосование начнется через 1 минуту.") next_phase_timer = addtimer(CALLBACK(src, PROC_REF(start_voting_phase)), (DAY_PERIOD_LENGTH / time_speedup), TIMER_STOPPABLE) /** @@ -232,7 +232,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) /datum/mafia_controller/proc/start_voting_phase() phase = MAFIA_PHASE_VOTING next_phase_timer = addtimer(CALLBACK(src, PROC_REF(check_trial), TRUE), (VOTING_PERIOD_LENGTH / time_speedup), TIMER_STOPPABLE) //be verbose! - send_message("Voting started! Vote for who you want to see on trial today.") + send_message("Голосование началось! Проголосуйте за того, кого вы хотите видеть на суде сегодня.") /** * Players have voted someone up, and now the person must defend themselves while the town votes innocent or guilty. @@ -258,7 +258,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) for(var/datum/mafia_role/voters as anything in living_roles) if(voters == loser) continue - voters.mafia_alert.update_text("[loser.body.real_name] wins the day vote, Listen to their defense and vote INNOCENT or GUILTY!") + voters.mafia_alert.update_text("[loser.body.real_name] был выбран голосованием, выслушайте его защиту и проголосуйте за НЕВИНОВЕН или ВИНОВЕН!") judgement_abstain_votes += voters on_trial = loser @@ -269,7 +269,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) else lockdown() if(verbose) - send_message("Not enough people have voted to put someone on trial, nobody will be lynched today.") + send_message("Недостаточно людей проголосовало, чтобы отдать кого-то под суд. Никто не будет линчеван сегодня.") /** * Players have voted innocent or guilty on the person on trial, and that person is now killed or returned home. @@ -280,24 +280,24 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) */ /datum/mafia_controller/proc/lynch() for(var/datum/mafia_role/role as anything in judgement_abstain_votes) - send_message(span_comradio("[role.body.real_name] abstained.")) + send_message(span_comradio("[role.body.real_name] воздержался.")) var/total_innocent_votes for(var/datum/mafia_role/role as anything in judgement_innocent_votes) - send_message(span_green("[role.body.real_name] voted innocent.")) + send_message(span_green("[role.body.real_name] проголосовал за невиновность.")) total_innocent_votes += role.vote_power var/total_guilty_votes for(var/datum/mafia_role/role as anything in judgement_guilty_votes) - send_message(span_red("[role.body.real_name] voted guilty.")) + send_message(span_red("[role.body.real_name] проголосовал за виновность.")) total_guilty_votes += role.vote_power if(total_guilty_votes > total_innocent_votes) //strictly need majority guilty to lynch - send_message(span_red("Guilty wins majority, [on_trial.body.real_name] has been lynched.")) + send_message(span_red("Голосовавшие за виновность победили, [on_trial.body.real_name] будет линчеван.")) on_trial.kill(src, lynch = TRUE) next_phase_timer = addtimer(CALLBACK(src, PROC_REF(send_home), on_trial), (LYNCH_PERIOD_LENGTH / time_speedup), TIMER_STOPPABLE) else - send_message(span_green("Innocent wins majority, [on_trial.body.real_name] has been spared.")) + send_message(span_green("Голосовавшие за невиновность победили, [on_trial.body.real_name] пощажен.")) on_trial.body.forceMove(get_turf(on_trial.assigned_landmark)) on_trial = null if(!check_victory()) @@ -357,20 +357,20 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) var/victory_message if(living_mafia.len + living_town.len <= 0) - victory_message = "Draw!" //this is in-case no neutrals won, but there's no town/mafia left. + victory_message = "Ничья!" //this is in-case no neutrals won, but there's no town/mafia left. for(var/datum/mafia_role/solo as anything in neutral_killers) - victory_message = "[uppertext(solo.name)] VICTORY!" + victory_message = "[uppertext(solo.name)] ПОБЕДИЛ!" if(!early_start) award_role(solo.winner_award, solo) else if(!living_mafia.len && !neutral_killers.len) - victory_message = "TOWN VICTORY!" + victory_message = "ПОБЕДА ГОРОДА!" if(!early_start) for(var/datum/mafia_role/townie as anything in living_town) award_role(townie.winner_award, townie) else if((living_mafia.len >= anti_mafia_power) && !town_can_kill && !neutral_killers.len) - victory_message = "MAFIA VICTORY!" + victory_message = "ПОБЕДА МАФИИ!" if(!early_start) for(var/datum/mafia_role/changeling as anything in living_mafia) award_role(changeling.winner_award, changeling) @@ -456,7 +456,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) */ /datum/mafia_controller/proc/start_night() phase = MAFIA_PHASE_NIGHT - send_message("Night [turn] started! Lockdown will end in 40 seconds.") + send_message("[turn] ночь началась! Блокировка закончится через 40 секунд.") SEND_SIGNAL(src, COMSIG_MAFIA_SUNDOWN) next_phase_timer = addtimer(CALLBACK(src, PROC_REF(resolve_night)), (NIGHT_PERIOD_LENGTH / time_speedup), TIMER_STOPPABLE) @@ -502,13 +502,13 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) voter.body.maptext_x = initial(voter.body.maptext_x) voter.body.maptext_width = initial(voter.body.maptext_width) voter.body.maptext = null - send_message(span_notice("[voter.body.real_name] retracts their vote for [target.body.real_name]!"), team = teams) + send_message(span_notice("[voter.body.real_name] отказывается от своего голоса за [target.body.real_name]!"), team = teams) else voter.body.maptext_y = 12 voter.body.maptext_x = -16 voter.body.maptext_width = 64 voter.body.maptext = "[target.body.real_name]" - send_message(span_notice("[voter.body.real_name] voted for [target.body.real_name]!"), team = teams) + send_message(span_notice("[voter.body.real_name] проголосовал за [target.body.real_name]!"), team = teams) if(!teams) target.body.update_appearance() //Update the vote display if it's a public vote var/datum/mafia_role/old = old_vote @@ -637,25 +637,25 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) */ /datum/mafia_controller/proc/signup_mafia(mob/user, client/ghost_client, obj/item/modular_computer/modpc) if(!SSticker.HasRoundStarted()) - to_chat(user, span_warning("Wait for the round to start.")) + to_chat(user, span_warning("Дождитесь начала раунда.")) return FALSE if(isnull(modpc)) if(GLOB.mafia_signup[ghost_client.ckey]) GLOB.mafia_signup -= ghost_client.ckey GLOB.mafia_early_votes -= ghost_client.ckey //Remove their early start vote as well - to_chat(user, span_notice("You unregister from Mafia.")) + to_chat(user, span_notice("Вы вышли из мафии.")) else GLOB.mafia_signup[ghost_client.ckey] = TRUE - to_chat(user, span_notice("You sign up for Mafia.")) + to_chat(user, span_notice("Вы вошли в мафию.")) else if(GLOB.pda_mafia_signup[modpc]) GLOB.pda_mafia_signup -= modpc GLOB.mafia_early_votes -= modpc //Remove their early start vote as well - to_chat(user, span_notice("You unregister from Mafia.")) + to_chat(user, span_notice("Вы вышли из мафии.")) return TRUE else GLOB.pda_mafia_signup[modpc] = TRUE - to_chat(user, span_notice("You sign up for Mafia.")) + to_chat(user, span_notice("Вы вошли в мафию.")) if(phase == MAFIA_PHASE_SETUP) check_signups() try_autostart() @@ -797,8 +797,8 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) if(!(unpicked in GLOB.mafia_signup)) continue var/client/unpicked_client = GLOB.directory[unpicked] - to_chat(unpicked_client, span_danger("Sorry, the starting mafia game has too many players and you were not picked.")) - to_chat(unpicked_client, span_warning("You're still signed up, getting messages from the current round, and have another chance to join when the one starting now finishes.")) + to_chat(unpicked_client, span_danger("Извините, в начинающейся игре слишком много игроков, и вы не были включены в игру.")) + to_chat(unpicked_client, span_warning("Вы все еще остаетесь зарегистрированным, получаете сообщения от текущего раунда и имеете шанс присоединиться, когда закончится рунд который начался сейчас.")) return filtered_keys_and_pdas @@ -836,8 +836,8 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment()) #endif /datum/action/innate/mafia_panel - name = "Mafia Panel" - desc = "Use this to play." + name = "Панель мафии" + desc = "Используйте, чтобы играть." button_icon = 'icons/obj/mafia.dmi' button_icon_state = "board" ///The mafia controller that the button will use the UI of. diff --git a/code/modules/mafia/map_pieces.dm b/code/modules/mafia/map_pieces.dm index 2d62126466aff..92e303b74f615 100644 --- a/code/modules/mafia/map_pieces.dm +++ b/code/modules/mafia/map_pieces.dm @@ -50,42 +50,42 @@ /datum/map_template/mafia/summerball name = "Summerball 2020" - description = "The original, the OG. The 2020 Summer ball was where mafia came from, with this map." + description = "Оригинал, OG. Summer ball 2020 - это место, где появилась мафия с этой картой." map_suffix = "mafia_ball.dmm" /datum/map_template/mafia/ufo - name = "Alien Mothership" - description = "The haunted ghost UFO tour has gone south and now it's up to our fine townies and scare seekers to kill the actual real alien changelings..." + name = "Корабль пришельцев" + description = "Тур с призраками и НЛО сорвался, теперь нашим прекрасным горожанам и любителям страшилок предстоит убить настоящих инопланетных генокрадов..." map_suffix = "mafia_ayylmao.dmm" custom_outfit = /datum/outfit/mafia/abductee /datum/map_template/mafia/spider_clan - name = "Spider Clan Kidnapping" - description = "New and improved spider clan kidnappings are a lot less boring and have a lot more lynching. Damn westaboos!" + name = "Похищение клана Пауков" + description = "Новые и улучшенные похищения клана Паука менее скучны и содержат гораздо больше линчеваний." map_suffix = "mafia_spiderclan.dmm" custom_outfit = /datum/outfit/mafia/ninja /datum/map_template/mafia/gothic - name = "Vampire's Castle" - description = "Vampires and changelings clash to find out who's the superior bloodsucking monster in this creepy castle map." + name = "Замок вампиров" + description = "Вампиры и генокрады вступают в схватку, чтобы выяснить, кто из кровососущих монстров лучше на этой карте жуткого замка." map_suffix = "mafia_gothic.dmm" custom_outfit = /datum/outfit/mafia/gothic /datum/map_template/mafia/syndicate - name = "Syndicate Megastation" - description = "Yes, it's a very confusing day at the Megastation. Will the syndicate conflict resolution operatives succeed?" + name = "Мегастанция синдиката" + description = "Да, сегодня очень запутанный день на Мегастанции. Удастся ли оперативникам Синдиката разрешить конфликт?" map_suffix = "mafia_syndie.dmm" custom_outfit = /datum/outfit/mafia/syndie /datum/map_template/mafia/snowy name = "Snowdin" - description = "Based off of the icy moon map of the same name, the guy who reworked it did a good enough job to receive a derivative piece of work based on it. Cool!" + description = "Основанная на одноименной карте Ice Moon. Парень, который переделал её, очень постарался. Круто!" map_suffix = "mafia_snow.dmm" custom_outfit = /datum/outfit/mafia/snowy /datum/map_template/mafia/lavaland - name = "Lavaland Excursion" - description = "The station has no idea what's going down on lavaland right now, we got changelings... traitors, and worst of all... lawyers roleblocking you every night." + name = "Экскурсия по Лаваланду" + description = "Станция понятия не имеет, что сейчас происходит на Лаваланде. У нас есть генокрады... предатели, и хуже всего... адвокаты, которые мешают вам каждую ночь." map_suffix = "mafia_lavaland.dmm" custom_outfit = /datum/outfit/mafia/lavaland diff --git a/code/modules/mafia/roles/changelings/changeling.dm b/code/modules/mafia/roles/changelings/changeling.dm index 5e5ec71337483..2565c2598bc6d 100644 --- a/code/modules/mafia/roles/changelings/changeling.dm +++ b/code/modules/mafia/roles/changelings/changeling.dm @@ -10,7 +10,7 @@ revealed_outfit = /datum/outfit/mafia/changeling special_ui_theme = "syndicate" - win_condition = "становятся главными в городе, и никакая роль одиночного убийцы не может их остановить." + win_condition = "становятся главным в городе, и никакой одиночка не сможет его остановить." role_unique_actions = list(/datum/mafia_ability/changeling_kill) diff --git a/code/modules/mafia/roles/roles.dm b/code/modules/mafia/roles/roles.dm index f93ac9cabf71f..07ca685dcc58a 100644 --- a/code/modules/mafia/roles/roles.dm +++ b/code/modules/mafia/roles/roles.dm @@ -1,7 +1,7 @@ /datum/mafia_role - var/name = JOB_ASSISTANT - var/desc = "Вы - член экипажа без особых способностей.." - var/win_condition = "убить всех мафиози и одиночных убийц." + var/name = "Ассистент" + var/desc = "Вы - член экипажа без особых способностей." + var/win_condition = "убьет всех мафиози и одиночных убийц." var/team = MAFIA_TEAM_TOWN ///how the random setup chooses which roles get put in var/role_type = TOWN_OVERFLOW @@ -150,7 +150,7 @@ to_chat(body, span_danger("[desc]")) switch(team) if(MAFIA_TEAM_MAFIA) - to_chat(body,span_danger("Вы и ваши сообщники победите, если вас будет больше, чем членов экипажа..")) + to_chat(body,span_danger("Вы и ваши сообщники победите, если вас будет больше, чем членов экипажа.")) if(MAFIA_TEAM_TOWN) to_chat(body,span_danger("Вы - член экипажа. Выясните кто генокрад и линчуйте!")) if(MAFIA_TEAM_SOLO) @@ -176,19 +176,17 @@ var/list/result = list() var/team_desc = "" var/team_span = "" - var/the = TRUE switch(team) if(MAFIA_TEAM_TOWN) - team_desc = "Город" + team_desc = "Гражданином" team_span = "nicegreen" if(MAFIA_TEAM_MAFIA) - team_desc = "Мафия" + team_desc = "Мафиози" team_span = "red" if(MAFIA_TEAM_SOLO) - team_desc = "Никто" + team_desc = "Одиночкой" team_span = "comradio" - the = FALSE - result += span_notice("The [span_bold("[name]")] is aligned with [the ? "the " : ""][team_desc]") + result += span_notice("[span_bold("[name]")] является [team_desc]") result += "\"[desc]\"" result += span_notice("[name] выигрывает если [win_condition]") to_chat(clueless, result.Join("
"))