Skip to content

Commit

Permalink
Transfer translations from our skyrat work (#49)
Browse files Browse the repository at this point in the history
## About The Pull Request
Перевод:
Преференсы
Еретик и Космический дракон
Задачи трейтора
  • Loading branch information
larentoun authored Apr 11, 2024
1 parent 21b9e8e commit de669d7
Show file tree
Hide file tree
Showing 174 changed files with 1,641 additions and 1,643 deletions.
1 change: 1 addition & 0 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
branches:
- master
- 'project/**'
- translate # BANDASTATION EDIT ADDITION - check translate branch
merge_group:
branches:
- master
Expand Down
20 changes: 10 additions & 10 deletions code/__DEFINES/antagonists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions code/datums/actions/mobs/open_mob_commands.dm
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
56 changes: 28 additions & 28 deletions code/modules/antagonists/heretic/heretic_antag.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand Down Expand Up @@ -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 ..()
Expand Down Expand Up @@ -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()
Expand All @@ -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))
Expand Down Expand Up @@ -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

/*
Expand Down Expand Up @@ -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)
Expand All @@ -343,22 +343,22 @@
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)
else
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

Expand Down Expand Up @@ -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()
Expand All @@ -468,26 +468,26 @@
var/succeeded = TRUE

parts += printplayer(owner)
parts += "<b>Sacrifices Made:</b> [total_sacrifices]"
parts += "The heretic's sacrifice targets were: [english_list(all_sac_targets, nothing_text = "No one")]."
parts += "<b>Жертвоприношений сделано:</b> [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 += "<b>Objective #[count]</b>: [objective.explanation_text] [objective.get_roundend_success_suffix()]"
parts += "<b>Задача #[count]</b>: [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 += "<b>Knowledge Researched:</b> "
parts += "<b>Исследованные знания:</b> "

var/list/string_of_knowledge = list()

Expand Down Expand Up @@ -608,13 +608,13 @@
else
string_of_knowledge += knowledge.name

return "<br><b>Research Done:</b><br>[english_list(string_of_knowledge, and_text = ", and ")]<br>"
return "<br><b>Исследованые знания:</b><br>[english_list(string_of_knowledge, and_text = ", and ")]<br>"

/datum/antagonist/heretic/antag_panel_objectives()
. = ..()

. += "<br>"
. += "<i><b>Current Targets:</b></i><br>"
. += "<i><b>Текущие цели:</b></i><br>"
if(LAZYLEN(sac_targets))
for(var/mob/living/carbon/human/target as anything in sac_targets)
. += " - <b>[target.real_name]</b>, the [target.mind?.assigned_role?.title || "human"].<br>"
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down Expand Up @@ -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)
Expand All @@ -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

Expand Down
2 changes: 1 addition & 1 deletion code/modules/antagonists/heretic/heretic_focus.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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].
Expand Down
36 changes: 18 additions & 18 deletions code/modules/antagonists/heretic/heretic_knowledge.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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

Expand Down
Loading

0 comments on commit de669d7

Please sign in to comment.