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

qol: vampire mode translation #6311

Merged
merged 27 commits into from
Jan 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions code/modules/antagonists/vampire/vampire_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@
/datum/antagonist/vampire/greet()
var/list/messages = list()
SEND_SOUND(owner.current, sound('sound/ambience/antag/vampalert.ogg'))
messages.Add("<span class='danger'>Вы — вампир!</span><br>")
messages.Add("Чтобы укусить кого-то, нацельтесь в голову, выберите намерение вреда (4) и ударьте пустой рукой. Пейте кровь, чтобы получать новые силы. \
Вы уязвимы перед святостью, огнем и звёздным светом. Не выходите в космос, избегайте священника, церкви и, особенно, святой воды.")
messages.Add(span_danger("Вы — вампир!<br>"))
messages.Add("Чтобы укусить кого-то, нацельтесь на голову, выберите намерение <b>вреда (4)</b> и ударьте пустой рукой. Пейте кровь, чтобы получать новые силы. \
Вы уязвимы перед святостью, огнём и звёздным светом. Не выходите в космос, избегайте священника, церкви и, особенно, святой воды.")
return messages


Expand Down Expand Up @@ -295,11 +295,11 @@
cur.adjustBrainLoss(-1)
for(var/obj/item/organ/external/bodypart as anything in cur.bodyparts)
if(bodypart.has_fracture() && prob(5))
to_chat(cur, span_notice("You feel a burning sensation in your [bodypart.name] as it straightens involuntarily!"))
to_chat(cur, span_notice("Вы чувствуете жжение, когда [bodypart.name] непроизвольно выпрямляется!"))
bodypart.mend_fracture()

if(bodypart.has_internal_bleeding() && prob(5))
to_chat(cur, span_notice("You feel a burning sensation in your [bodypart.name] as your veins begin to recover!"))
to_chat(cur, span_notice("Вы чувствуете жжение в [bodypart.name], когда ваши вены начинают восстанавливаться!"))
bodypart.stop_internal_bleeding()

if(bloodtotal >= REQ_BLOOD_FOR_SUBCLASS_ACT)
Expand Down
333 changes: 183 additions & 150 deletions code/modules/antagonists/vampire/vampire_powers/bestia_powers.dm

Large diffs are not rendered by default.

82 changes: 41 additions & 41 deletions code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/datum/vampire_passive/increment_thrall_cap/on_apply(datum/antagonist/vampire/V)
V.subclass.thrall_cap++
gain_desc = "You can now thrall one more person, up to a maximum of [V.subclass.thrall_cap]"
gain_desc = "Теперь вы можете подчинить себе еще одного гуманоида, вплоть до <b>[V.subclass.thrall_cap]</b> ."


/datum/vampire_passive/increment_thrall_cap/two
Expand All @@ -10,9 +10,9 @@


/obj/effect/proc_holder/spell/vampire/enthrall
name = "Enthrall"
desc = "You use a large portion of your power to sway those loyal to none to be loyal to you only."
gain_desc = "You have gained the ability to thrall people to your will."
name = "Порабощение"
desc = "Вы используете значительную часть своей силы, чтобы поработить разум другого гуманоида."
gain_desc = "Вы обрели способность подчинять людей своей воле."
action_icon_state = "vampire_enthrall"
need_active_overlay = TRUE
required_blood = 150
Expand All @@ -29,9 +29,9 @@
/obj/effect/proc_holder/spell/vampire/enthrall/cast(list/targets, mob/user = usr)
var/datum/antagonist/vampire/vampire = user.mind.has_antag_datum(/datum/antagonist/vampire)
var/mob/living/target = targets[1]
user.visible_message(span_warning("[user] bites [target]'s neck!"), \
span_warning("You bite [target]'s neck and begin the flow of power."))
to_chat(target, span_warning("You feel the tendrils of evil invade your mind."))
user.visible_message(span_warning("[user] куса[pluralize_ru(user.gender, "ет", "ют")] [target] за шею!"), \
span_warning("Вы кусаете [target] за шею и впускаете поток силы."))
to_chat(target, span_warning("Вы чувствуете, как в ваш разум проникают потоки нечистой силы."))
if(do_after(user, 15 SECONDS, target, NONE))
if(can_enthrall(user, target))
handle_enthrall(user, target)
Expand All @@ -40,7 +40,7 @@
vampire.bloodusable -= blood_cost //we take the blood after enthralling, not before
else
revert_cast(user)
to_chat(user, span_warning("You or your target moved."))
to_chat(user, span_warning("Вы или ваша цель сдвинулись с места."))


/obj/effect/proc_holder/spell/vampire/enthrall/proc/can_enthrall(mob/living/user, mob/living/carbon/C)
Expand All @@ -52,26 +52,26 @@
CRASH("Dantalion Thrall datum ended up null.")

if(!ishuman(C))
to_chat(user, span_warning("You can only enthrall sentient humanoids!"))
to_chat(user, span_warning("Вы можете поработить только разумных гуманоидов!"))
return

if(!C.mind)
to_chat(user, span_warning("[C.name]'s mind is not there for you to enthrall."))
to_chat(user, span_warning("Разум [C.name] не предназначен для порабощения."))
return

var/datum/antagonist/vampire/V = user.mind.has_antag_datum(/datum/antagonist/vampire)
if(V.subclass.thrall_cap <= length(user.mind.som.serv))
to_chat(user, span_warning("You don't have enough power to enthrall any more people!"))
to_chat(user, span_warning("У вас не хватит сил, чтобы поработить ещё больше гуманоидов!"))
return

if(ismindshielded(C) || isvampire(C) || isvampirethrall(C) || C.mind.has_antag_datum(/datum/antagonist/mindslave))
C.visible_message(span_warning("[C] seems to resist the takeover!"), \
span_notice("You feel a familiar sensation in your skull that quickly dissipates."))
C.visible_message(span_warning("Похоже, [C] сопротивля[pluralize_ru(user.gender, "ет", "ют")]ся захвату!"), \
span_notice("Вы чувствуете знакомое ощущение в черепе, которое быстро проходит."))
return

if(C.mind.isholy)
C.visible_message(span_warning("[C] seems to resist the takeover!"), \
span_notice("Your faith in [SSticker.Bible_deity_name] has kept your mind clear of all evil."))
C.visible_message(span_warning("Похоже, [C] сопротивля[pluralize_ru(user.gender, "ет", "ют")]ся захвату!"), \
span_notice("Ваша вера в [SSticker.Bible_deity_name] сохранила ваш разум чистым от всякого зла."))
return

return TRUE
Expand All @@ -90,9 +90,9 @@


/obj/effect/proc_holder/spell/vampire/thrall_commune
name = "Commune"
desc = "Talk to your thralls telepathically."
gain_desc = "You have gained the ability to commune with your thralls."
name = "Телепатическая связь"
desc = "Общайтесь со своими рабами с помощью блюспейс-телепатии."
gain_desc = "Вы обрели способность общаться со своими рабами на расстоянии."
action_icon_state = "vamp_communication"
create_attack_logs = FALSE
base_cooldown = 2 SECONDS
Expand Down Expand Up @@ -132,30 +132,30 @@


/obj/effect/proc_holder/spell/vampire/thrall_commune/cast(list/targets, mob/user)
var/input = tgui_input_text(user, "Enter a message to relay to the other thralls", "Thrall Commune")
var/input = tgui_input_text(user, "Введите сообщение для передачи другим рабам", "Сообщение рабам")
if(! input)
revert_cast(user)
return

// if admins give this to a non vampire/thrall it is not my problem
var/is_thrall = isvampirethrall(user)
var/title = is_thrall ? "(Vampire Thrall) [user.real_name]" : "<span class='dantalion'><font size='3'>(Vampire Master) [user.real_name]</font></span>"
var/title = is_thrall ? "(Раб Вампира) [user.real_name]" : "<span class='dantalion'><font size='3'>(Мастер Вампир) [user.real_name]</font></span>"
var/message = is_thrall ? "<span class='dantalion'>[input]</span>" : "<span class='dantalion'><font size='3'><b>[input]</b></font></span>"

for(var/mob/player in targets)
to_chat(player, "<i><span class='game say'>Thrall Commune, <span class='name'>[title]</span> telepathizes, [message]</span><i>")
to_chat(player, "<i><span class='game say'>Рабская телепатия, <span class='name'>[title]</span> телепатезирует, [message]</span><i>")

for(var/mob/ghost in GLOB.dead_mob_list)
to_chat(ghost, "<i><span class='game say'>Thrall Commune, <span class='name'>[title]</span> ([ghost_follow_link(user, ghost)]) telepathizes, [message]</span><i>")
to_chat(ghost, "<i><span class='game say'>Рабская телепатия, <span class='name'>[title]</span> ([ghost_follow_link(user, ghost)]) телепатезирует, [message]</span><i>")

log_say("(DANTALION) [input]", user)
user.create_log(SAY_LOG, "(DANTALION) [input]")


/obj/effect/proc_holder/spell/vampire/pacify
name = "Pacify"
desc = "Pacify a target temporarily, making them unable to cause harm."
gain_desc = "You have gained the ability to pacify someone's harmful tendencies, preventing them from doing any physical harm to anyone."
name = "Умиротворение"
desc = "Временно умиротворяет цель, делая её неспособной причинить вред."
gain_desc = "Вы обрели способность умиротворять агрессивные порывы гуманоида, не позволяя ему причинить кому-либо физический вред."
action_icon_state = "pacify"
base_cooldown = 10 SECONDS
required_blood = 10
Expand All @@ -172,15 +172,15 @@

/obj/effect/proc_holder/spell/vampire/pacify/cast(list/targets, mob/user)
for(var/mob/living/carbon/human/H as anything in targets)
to_chat(H, span_notice("You suddenly feel very calm..."))
to_chat(H, span_notice("Вы вдруг почувствовали себя очень спокойно..."))
SEND_SOUND(H, 'sound/hallucinations/i_see_you1.ogg')
H.apply_status_effect(STATUS_EFFECT_PACIFIED)


/obj/effect/proc_holder/spell/vampire/switch_places
name = "Subspace Swap"
desc = "Switch positions with a target. Also slows down the victim and make them hallucinate."
gain_desc = "You have gained the ability to switch positions with a targeted mob."
name = "Подпространственный обмен"
desc = "Поменяйтесь местами с целью. Также замедляет жертву и вызывает у нее галлюцинации."
gain_desc = "Вы получили возможность меняться местами с выбранным существом."
centcom_cancast = FALSE
action_icon_state = "subspace_swap"
base_cooldown = 5 SECONDS
Expand Down Expand Up @@ -212,9 +212,9 @@


/obj/effect/proc_holder/spell/vampire/self/decoy
name = "Deploy Decoy"
desc = "Briefly turn invisible and deploy a decoy illusion to fool your prey."
gain_desc = "You have gained the ability to turn invisible and create decoy illusions."
name = "Приманка"
desc = "На короткое время станьте невидимым и создайте иллюзию для обмана, чтобы провести свою жертву."
gain_desc = "Вы получили способность становиться невидимым и создавать обманные иллюзии."
action_icon_state = "decoy"
required_blood = 30
base_cooldown = 20 SECONDS
Expand All @@ -233,9 +233,9 @@


/obj/effect/proc_holder/spell/vampire/rally_thralls
name = "Rally Thralls"
desc = "Removes all incapacitating effects from your nearby thralls."
gain_desc = "You have gained the ability to remove all incapacitating effects from nearby thralls."
name = "Сплотить рабов"
desc = "Снимает все обездвиживающие эффекты с находящихся рядом с вами рабов."
gain_desc = "Вы получили способность снимать все обездвиживающие эффекты с ближайших рабов."
action_icon_state = "thralls_up"
required_blood = 40
base_cooldown = 30 SECONDS
Expand Down Expand Up @@ -264,9 +264,9 @@


/obj/effect/proc_holder/spell/vampire/self/share_damage
name = "Blood Bond"
desc = "Creates a net between you and your nearby thralls that evenly shares all damage received."
gain_desc = "You have gained the ability to share damage between you and your thralls."
name = "Кровавые узы"
desc = "Создает сеть между вами и ближайшими рабами, которая равномерно распределяет весь получаемый урон."
gain_desc = "Вы получили способность распределять урон между вами и вашими рабами."
action_icon_state = "blood_bond"
required_blood = 5

Expand All @@ -280,9 +280,9 @@


/obj/effect/proc_holder/spell/vampire/hysteria
name = "Mass Hysteria"
desc = "Casts a powerful illusion to make everyone nearby perceive others to looks like random animals after briefly blinding them. Also slows affected victims."
gain_desc = "You have gained the ability to make everyone nearby perceive others to looks like random animals after briefly blinding them."
name = "Массовая истерия"
desc = "Накладывает мощную иллюзию, заставляющую всех, кто находится поблизости, воспринимать окружающих как случайных животных после кратковременного ослепления. Также замедляет пострадавших."
gain_desc = "Вы получили способность заставлять всех, кто находится рядом, воспринимать окружающих как случайных животных после кратковременного ослепления."
action_icon_state = "hysteria"
required_blood = 40
base_cooldown = 60 SECONDS
Expand Down
Loading
Loading