Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

второй перевод мафии... #306

Merged
merged 16 commits into from
Jul 8, 2024
8 changes: 4 additions & 4 deletions code/modules/mafia/abilities/investigative/thoughtfeed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
* 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)
. = ..()
if(!.)
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
2 changes: 1 addition & 1 deletion code/modules/mafia/abilities/killing/alert.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*/
/datum/mafia_ability/attack_visitors
name = "Предупреждение"
ability_action = "Сегодня вечером отправьте всех посетителей домой картечью."
ability_action = "сегодня вечером отправить всех посетителей домой картечью."
Kar4es marked this conversation as resolved.
Show resolved Hide resolved
use_flags = CAN_USE_ON_SELF

/datum/mafia_ability/attack_visitors/set_target(datum/mafia_controller/game, datum/mafia_role/new_target)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mafia/abilities/killing/flicker_rampage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*/
/datum/mafia_ability/flicker_rampage
name = "Мерцание/Буйство"
ability_action = "попытка нападения или омрачения"
ability_action = "попытаться напасть или омрачить"
Kar4es marked this conversation as resolved.
Show resolved Hide resolved
action_priority = COMSIG_MAFIA_NIGHT_KILL_PHASE

///List of all players in the dark, which we can rampage.
Expand All @@ -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
Expand Down
6 changes: 3 additions & 3 deletions code/modules/mafia/abilities/killing/kill.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*/
/datum/mafia_ability/attack_player
name = "Нападение"
ability_action = "попытка нападения"
ability_action = "попытаться напасть"
Kar4es marked this conversation as resolved.
Show resolved Hide resolved
action_priority = COMSIG_MAFIA_NIGHT_KILL_PHASE
///The message told to the player when they are killed.
var/attack_action = "убит"
Expand All @@ -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))
Expand All @@ -35,5 +35,5 @@
/datum/mafia_ability/attack_player/execution
name = "Казнь"
ability_action = "попытка казни"
Kar4es marked this conversation as resolved.
Show resolved Hide resolved
attack_action = "казнён"
attack_action = "казнен"
honorable = TRUE
4 changes: 2 additions & 2 deletions code/modules/mafia/abilities/protective/heal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*/
/datum/mafia_ability/heal
name = "Исцеление"
ability_action = "Исцеление"
ability_action = "исцеление"
Kar4es marked this conversation as resolved.
Show resolved Hide resolved
action_priority = COMSIG_MAFIA_NIGHT_ACTION_PHASE
use_flags = CAN_USE_ON_OTHERS | CAN_USE_ON_SELF

Expand Down Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mafia/abilities/protective/vest.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*/
/datum/mafia_ability/vest
name = "Жилет"
ability_action = "Защитите себя жилетом"
ability_action = "Защитить себя жилетом"
Kar4es marked this conversation as resolved.
Show resolved Hide resolved
use_flags = CAN_USE_ON_SELF
///Amount of vests that can be used until the power deletes itself.
var/charges = STARTING_VEST_AMOUNT
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mafia/abilities/support/self_reveal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mafia/abilities/voting/changeling_kill.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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 = "попытаться поглотить"
Kar4es marked this conversation as resolved.
Show resolved Hide resolved
action_priority = COMSIG_MAFIA_NIGHT_KILL_PHASE
///Boolean on whether a Changeling has been sent to attack someone yet.
var/static/ling_sent = FALSE
Expand Down
54 changes: 27 additions & 27 deletions code/modules/mafia/controller.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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("<b>The selected map is [current_map.name]!</b></br> [current_map.description]"))
send_message("<b>Day [turn] started! There is no voting on the first day. Say hello to everybody!</b>")
send_message(span_notice("<b>Текущая карта [current_map.name]!</b></br> [current_map.description]"))
send_message("<b>[turn] день начался! В первый день голосование не проводится. Скажите всем привет!</b>")
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
Expand Down Expand Up @@ -219,7 +219,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment())
send_message("<span class='bold notice'>With only [living_roles.len] living players left, the game timers have been sped up.</span>")

if(can_vote)
send_message("<b>Day [turn] started! Voting will start in 1 minute.</b>")
send_message("<b>[turn] день начался! Голосование начнется через 1 минуту.</b>")
next_phase_timer = addtimer(CALLBACK(src, PROC_REF(start_voting_phase)), (DAY_PERIOD_LENGTH / time_speedup), TIMER_STOPPABLE)

/**
Expand All @@ -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("<b>Voting started! Vote for who you want to see on trial today.</b>")
send_message("<b>Голосование началось! Проголосуйте за того, кого вы хотите видеть на суде сегодня.</b>")

/**
* Players have voted someone up, and now the person must defend themselves while the town votes innocent or guilty.
Expand All @@ -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
Expand All @@ -269,7 +269,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment())
else
lockdown()
if(verbose)
send_message("<b>Not enough people have voted to put someone on trial, nobody will be lynched today.</b>")
send_message("<b>Недостаточно людей проголосовало, чтобы отдать кого-то под суд. Никто не будет линчеван сегодня.</b>")

/**
* Players have voted innocent or guilty on the person on trial, and that person is now killed or returned home.
Expand All @@ -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("<b>Guilty wins majority, [on_trial.body.real_name] has been lynched.</b>"))
send_message(span_red("<b>Голосовавшие за виновность победили, [on_trial.body.real_name] будет линчеван.</b>"))
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("<b>Innocent wins majority, [on_trial.body.real_name] has been spared.</b>"))
send_message(span_green("<b>Голосовавшие за невиновность победили, [on_trial.body.real_name] пощажен.</b>"))
on_trial.body.forceMove(get_turf(on_trial.assigned_landmark))
on_trial = null
if(!check_victory())
Expand Down Expand Up @@ -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!</span>" //this is in-case no neutrals won, but there's no town/mafia left.
victory_message = "Ничья!</span>" //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!</span>"
victory_message = "[uppertext(solo.name)] ПОБЕДИЛ!</span>"
if(!early_start)
award_role(solo.winner_award, solo)

else if(!living_mafia.len && !neutral_killers.len)
victory_message = "TOWN VICTORY!</span>"
victory_message = "ПОБЕДА ГОРОДА!</span>"
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!</span>"
victory_message = "ПОБЕДА МАФИИ!</span>"
if(!early_start)
for(var/datum/mafia_role/changeling as anything in living_mafia)
award_role(changeling.winner_award, changeling)
Expand Down Expand Up @@ -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("<b>Night [turn] started! Lockdown will end in 40 seconds.</b>")
send_message("<b>[turn] ночь началась! Блокировка закончится через 40 секунд.</b>")
SEND_SIGNAL(src, COMSIG_MAFIA_SUNDOWN)
next_phase_timer = addtimer(CALLBACK(src, PROC_REF(resolve_night)), (NIGHT_PERIOD_LENGTH / time_speedup), TIMER_STOPPABLE)

Expand Down Expand Up @@ -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 = "<span class='maptext' style='text-align: center; vertical-align: top'>[target.body.real_name]</span>"
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
Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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.
Expand Down
Loading
Loading