Propagate customer translation canon to all card texts

Applied the style from the customer's edits: unit -> 'karta', place on -> 'pomeshchaetsya v', ride -> 'smena', boost -> 'podderzhivat', attack hits -> 'prokhodit', drive check -> 'proverka', Restraint -> 'Sderzhivanie', {heal} reminder simplified, long clauses split, pronouns instead of repeated 'eta karta'. Added a forbidden-terms check to translations check. Removed the one-off seed script: ru.yaml is now the source of truth.
This commit is contained in:
MpakobecEx 2026-10-21 00:04:06 +05:00
parent 7b7737a83e
commit 921a6dc081
5 changed files with 220 additions and 446 deletions

View File

@ -13,51 +13,51 @@ cards:
nameEn: "Assault Dragon, Blightops"
template: |-
{auto}:{cb:1} When this unit is put into the drop zone from {rc}, you may pay the cost. If you do, search your deck for up to one card named "Ironclad Dragon, Shieldon", reveal it to your opponent, put it into your hand, and shuffle your deck.
textRu: "{auto}:{cb:1} Когда этот юнит помещается в зону сброса из {rc}, вы можете оплатить стоимость. Если вы это сделали, найдите в колоде до одной карты с именем \"Ironclad Dragon, Shieldon\", покажите её противнику, добавьте её в руку и перемешайте колоду."
textRu: "{auto}:{cb:1} Когда эта карта помещается в зону сброса из {rc}, вы можете оплатить стоимость. Если вы это сделали, найдите в колоде до одной карты с именем \"Ironclad Dragon, Shieldon\", покажите её противнику, добавьте её в руку и перемешайте колоду."
- nameId: asura-kaiser
nameEn: "Asura Kaiser"
template: |-
{cont}{vcrc}:If you do not have another {clan:nova-grappler} vanguard or rear-guard, this unit gets {power} -2000.
{auto}{vc}:When this unit's drive check reveals a grade 3 {clan:nova-grappler}, choose one of your rear-guards, and {stand} it.
textRu: "{cont}{vcrc}:Если у вас нет другого Авангарда или Арьергарда {clan:nova-grappler}, этот юнит получает {power} -2000.\n{auto}{vc}:Когда в драйвеке оказывается {clan:nova-grappler} 3-го ранга, выберите одного из ваших Арьергардов и {stand} его."
textRu: "{cont}{vcrc}:Если у вас нет другого Авангарда или Арьергарда {clan:nova-grappler}, эта карта получает {power} -2000.\n{auto}{vc}:Когда в проверке оказывается {clan:nova-grappler} 3-го ранга, выберите одного из ваших Арьергардов и {stand} его."
- nameId: barcgal
nameEn: "Barcgal"
template: |-
{auto}:When another {clan:royal-paladin} rides this unit, you may call this card to {rc}.
{act}{rc}:{rest} Search your deck for up to one card named "Future Knight, Llew" or "Flogal", call it to {rc}, and shuffle your deck.
textRu: "{auto}:Когда другой {clan:royal-paladin} совершает райд на этом юните, вы можете призвать эту карту в {rc}.\n{act}{rc}:{rest} Найдите в колоде до одной карты с именем \"Future Knight, Llew\" или \"Flogal\", призовите её в {rc} и перемешайте колоду."
textRu: "{auto}:Когда другой {clan:royal-paladin} сменяет эту карту, вы можете призвать её в {rc}.\n{act}{rc}:{rest} Найдите в колоде до одной карты с именем \"Future Knight, Llew\" или \"Flogal\", призовите её в {rc} и перемешайте колоду."
- nameId: battle-sister-chocolat
nameEn: "Battle Sister, Chocolat"
template: |-
{cont}:{sentinel} (You may only have up to four cards with "{cont}:{sentinel}" in a deck.){auto}:[Choose a {clan:oracle-think-tank} from your hand, and discard it] When this unit is placed on {gc}, you may pay the cost. If you do, choose one of your {clan:oracle-think-tank} that is being attacked, and that unit cannot be hit until end of that battle.
textRu: "{cont}:{sentinel} (В колоде может быть не более четырёх карт с «{cont}:{sentinel}».){auto}:[Выберите {clan:oracle-think-tank} из руки и сбросьте её] Когда этот юнит размещается на {gc}, вы можете оплатить стоимость. Если вы это сделали, выберите одного из ваших {clan:oracle-think-tank}, который подвергается атаке, и этот юнит не может быть поражён до конца этого боя."
textRu: "{cont}:{sentinel} (В колоде может быть не более четырёх карт с «{cont}:{sentinel}».){auto}:[Выберите {clan:oracle-think-tank} из руки и сбросьте её] Когда эта карта помещается в {gc}, вы можете оплатить стоимость. Если вы это сделали, выберите одного из ваших {clan:oracle-think-tank}, который подвергается атаке. Он не может быть поражен до конца этого боя."
- nameId: battle-sister-cocoa
nameEn: "Battle Sister, Cocoa"
template: |-
{auto}:When this unit is placed on {vc} or {rc}, if you have an {clan:oracle-think-tank} vanguard, look at the top card of your deck, and put that card on the top or the bottom of your deck.
textRu: "{auto}:Когда этот юнит размещается на {vc} или {rc}, если у вас есть Авангард {clan:oracle-think-tank}, посмотрите верхнюю карту колоды и положите её на верх или в низ колоды."
textRu: "{auto}:Когда эта карта помещается в {vc} или {rc}, если у вас есть Авангард {clan:oracle-think-tank}, посмотрите верхнюю карту колоды и положите её на верх или в низ колоды."
- nameId: battle-sister-mocha
nameEn: "Battle Sister, Mocha"
template: |-
{auto}{vcrc}:When this unit attacks, if the number of cards in your hand is four or greater, this unit gets {power} +3000 until end of that battle.
textRu: "{auto}{vcrc}:Когда этот юнит атакует, если в вашей руке четыре или больше карт, этот юнит получает {power} +3000 до конца этого боя."
textRu: "{auto}{vcrc}:Когда эта карта атакует, если в вашей руке четыре или больше карт, эта карта получает {power} +3000 до конца этого боя."
- nameId: battleraizer
nameEn: "Battleraizer"
template: |-
{auto}:When another {clan:nova-grappler} rides this unit, you may call this card to {rc}.
{auto}{rc}:When this unit boosts, the boosted unit gets {power} +3000 until end of that battle, and at the begininng of the end phase of that turn, return this unit to your deck, and shuffle your deck.
textRu: "{auto}:Когда другой {clan:nova-grappler} совершает райд на этом юните, вы можете призвать эту карту в {rc}.\n{auto}{rc}:Когда этот юнит усиливает, усиленный юнит получает {power} +3000 до конца этого боя, и в начале конечной фазы этого хода верните этот юнит в колоду и перемешайте колоду."
textRu: "{auto}:Когда другой {clan:nova-grappler} сменяет эту карту, вы можете призвать её в {rc}.\n{auto}{rc}:Когда эта карта поддерживает, атакующий получает {power} +3000 до конца этого боя, и в начале конечной фазы этого хода верните эту карту в колоду и перемешайте её."
- nameId: berserk-dragon
nameEn: "Berserk Dragon"
template: |-
{auto}:{cb:2} When this unit is placed on {vc} or {rc}, if you have a {clan:kagero} vanguard, you may pay the cost. If you do, choose an opponent's grade 2 or less rear-guard, and retire it.
textRu: "{auto}:{cb:2} Когда этот юнит размещается на {vc} или {rc}, если у вас есть Авангард {clan:kagero}, вы можете оплатить стоимость. Если вы это сделали, выберите Арьергард противника 2-го ранга или ниже и уничтожьте его."
textRu: "{auto}:{cb:2} Когда эта карта помещается в {vc} или {rc}, если у вас есть Авангард {clan:kagero}, вы можете оплатить стоимость. Если вы это сделали, выберите Арьергард противника 2-го ранга или ниже и уничтожьте его."
- nameId: blaster-blade
nameEn: "Blaster Blade"
template: |-
{auto}:{cb:2} When this unit is placed on {vc}, you may pay the cost. If you do, choose an opponent's rear-guard, and retire it.
{auto}:{cb:2} When this unit is placed on {rc}, if you have a {clan:royal-paladin} vanguard, you may pay the cost. If you do, choose an opponent's grade 2 or greater rear-guard, and retire it.
textRu: "{auto}:{cb:2} Когда этот юнит размещается на {vc}, вы можете оплатить стоимость. Если вы это сделали, выберите Арьергард противника и уничтожьте его.\n{auto}:{cb:2} Когда этот юнит размещается на {rc}, если у вас есть Авангард {clan:royal-paladin}, вы можете оплатить стоимость. Если вы это сделали, выберите Арьергард противника 2-го ранга или выше и уничтожьте его."
textRu: "{auto}:{cb:2} Когда эта карта помещается в {vc}, вы можете оплатить стоимость. Если вы это сделали, выберите Арьергард противника и уничтожьте его.\n{auto}:{cb:2} Когда эта карта помещается в {rc}, если у вас есть Авангард {clan:royal-paladin}, вы можете оплатить стоимость. Если вы это сделали, выберите Арьергард противника 2-го ранга или выше и уничтожьте его."
- nameId: bloody-hercules
nameEn: "Bloody Hercules"
template: ""
@ -66,7 +66,7 @@ cards:
nameEn: "Blue Dust"
template: |-
{auto}{vcrc}:When this unit's attack hits, if you have a {clan:dark-irregulars} vanguard, you may {sc:1}.
textRu: "{auto}{vcrc}:Когда атака этого юнита попадает, если у вас есть Авангард {clan:dark-irregulars}, вы можете {sc:1}."
textRu: "{auto}{vcrc}:Когда атака этой карты проходит, если у вас есть Авангард {clan:dark-irregulars}, вы можете {sc:1}."
- nameId: bringer-of-good-luck-epona
nameEn: "Bringer of Good Luck, Epona"
template: ""
@ -76,19 +76,19 @@ cards:
template: |-
{cont}{vcrc}:Restraint (This unit cannnot attack.){act}{vcrc}:{cb:1} Until end of turn, this unit loses "Restraint".
{auto}{vc}:When this unit is boosted by a {clan:nova-grappler}, this unit gets {power} +5000 until end of that battle.
textRu: "{cont}{vcrc}:Restraint (Этот юнит не может атаковать.){act}{vcrc}:{cb:1} До конца хода этот юнит теряет \"Restraint\".\n{auto}{vc}:Когда этот юнит усилен {clan:nova-grappler}, он получает {power} +5000 до конца этого боя."
textRu: "{cont}{vcrc}:Сдерживание (Эта карта не может атаковать.){act}{vcrc}:{cb:1} До конца хода эта карта теряет \"Сдерживание\".\n{auto}{vc}:Когда эту карту поддерживает {clan:nova-grappler}, она получает {power} +5000 до конца этого боя."
- nameId: ceo-amaterasu
nameEn: "CEO Amaterasu"
template: |-
{cont}{vc}:During your turn, if the number of cards in your hand is four or greater, this unit gets {power} +4000.
{auto}{vc}:At the beginning of your main phase, {sc:1}, look at the top card of your deck, and put that card on the top or the bottom of your deck.
{auto}{vcrc}:{sb:8} & {cb:5} When this unit's attack hits, you may pay the cost. If you do, draw up to five cards.
textRu: "{cont}{vc}:В свой ход, если в вашей руке четыре или больше карт, этот юнит получает {power} +4000.\n{auto}{vc}:В начале вашей главной фазы {sc:1}, посмотрите верхнюю карту колоды и положите её на верх или в низ колоды.\n{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этого юнита попадает, вы можете оплатить стоимость. Если вы это сделали, возьмите до пяти карт."
textRu: "{cont}{vc}:В свой ход, если в вашей руке четыре или больше карт, эта карта получает {power} +4000.\n{auto}{vc}:В начале вашей главной фазы {sc:1}, посмотрите верхнюю карту колоды и положите её на верх или в низ колоды.\n{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этой карты проходит, вы можете оплатить стоимость. Если вы это сделали, возьмите до пяти карт."
- nameId: clay-doll-mechanic
nameEn: "Clay-doll Mechanic"
template: |-
{auto}:When this unit is placed on {rc}, if you have a {clan:nova-grappler} vanguard, choose a card from your damage zone, and turn it face up.
textRu: "{auto}:Когда этот юнит размещается на {rc}, если у вас есть Авангард {clan:nova-grappler}, выберите карту из зоны урона и переверните её лицом вверх."
textRu: "{auto}:Когда эта карта помещается в {rc}, если у вас есть Авангард {clan:nova-grappler}, выберите карту из зоны урона и переверните её лицом вверх."
- nameId: commodore-blueblood
nameEn: "Commodore Blueblood"
template: ""
@ -97,12 +97,12 @@ cards:
nameEn: "Covenant Knight, Randolf"
template: |-
{auto}{vcrc}:When this unit attacks, if the number of cards in your hand is greater than your opponent's, this unit gets {power} +3000 until end of that battle.
textRu: "{auto}{vcrc}:Когда этот юнит атакует, если в вашей руке больше карт, чем у противника, этот юнит получает {power} +3000 до конца этого боя."
textRu: "{auto}{vcrc}:Когда эта карта атакует, если в вашей руке больше карт, чем у противника, эта карта получает {power} +3000 до конца этого боя."
- nameId: crimson-butterfly-brigitte
nameEn: "Crimson Butterfly, Brigitte"
template: |-
{auto}{vc}:When this unit's drive check reveals a grade 3 {clan:royal-paladin}, this unit gets {power} +5000 until end of that battle.
textRu: "{auto}{vc}:Когда в драйвеке оказывается {clan:royal-paladin} 3-го ранга, этот юнит получает {power} +5000 до конца этого боя."
textRu: "{auto}{vc}:Когда в проверке оказывается {clan:royal-paladin} 3-го ранга, эта карта получает {power} +5000 до конца этого боя."
- nameId: dandy-guy-romario
nameEn: "Dandy Guy, Romario"
template: ""
@ -112,28 +112,28 @@ cards:
template: |-
{auto}{vc}:At the beginning of your main phase, {sc:1}, and this unit gets {power} +2000 until end of turn.
{auto}{vcrc}:{sb:8} & {cb:5} When this unit's attack hits, you may pay the cost. If you do, retire all of your opponent's rear-guards.
textRu: "{auto}{vc}:В начале вашей главной фазы {sc:1}, и этот юнит получает {power} +2000 до конца хода.\n{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этого юнита попадает, вы можете оплатить стоимость. Если вы это сделали, уничтожьте все Арьергарды противника."
textRu: "{auto}{vc}:В начале вашей главной фазы {sc:1}, и эта карта получает {power} +2000 до конца хода.\n{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этой карты проходит, вы можете оплатить стоимость. Если вы это сделали, уничтожьте все Арьергарды противника."
- nameId: demon-slaying-knight-lohengrin
nameEn: "Demon Slaying Knight, Lohengrin"
template: |-
{auto}{vc}:At the beginning of your main phase, {sc:1}, and this unit gets {power} +2000 until end of turn.
{auto}{vcrc}:{sb:8} & {cb:5} When this unit's attack hits, you may pay the cost. If you do, retire all of your opponent's rear-guards.
textRu: "{auto}{vc}:В начале вашей главной фазы {sc:1}, и этот юнит получает {power} +2000 до конца хода.\n{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этого юнита попадает, вы можете оплатить стоимость. Если вы это сделали, уничтожьте все Арьергарды противника."
textRu: "{auto}{vc}:В начале вашей главной фазы {sc:1}, и эта карта получает {power} +2000 до конца хода.\n{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этой карты проходит, вы можете оплатить стоимость. Если вы это сделали, уничтожьте все Арьергарды противника."
- nameId: demonic-dragon-berserker-yaksha
nameEn: "Demonic Dragon Berserker, Yaksha"
template: |-
{auto}{hand}:During your main phase, when an opponent's rear-guard is put into the drop zone, if you have a grade 2 vanguard, you may reveal this card. If you do, ride this card.
textRu: "{auto}{hand}:В вашу главную фазу, когда Арьергард противника помещается в зону сброса, если у вас Авангард 2-го ранга, вы можете показать эту карту. Если вы это сделали, совершите райд этой картой."
textRu: "{auto}{hand}:В вашу главную фазу, когда Арьергард противника помещается в зону сброса, если у вас Авангард 2-го ранга, вы можете показать эту карту. Если вы это сделали, совершите смену на эту карту."
- nameId: demonic-dragon-madonna-joka
nameEn: "Demonic Dragon Madonna, Joka"
template: |-
{auto}{rc}:During your main phase, when an opponent's rear-guard is put into the drop zone, this unit gets {power} +3000 until end of turn.
textRu: "{auto}{rc}:В вашу главную фазу, когда Арьергард противника помещается в зону сброса, этот юнит получает {power} +3000 до конца хода."
textRu: "{auto}{rc}:В вашу главную фазу, когда Арьергард противника помещается в зону сброса, эта карта получает {power} +3000 до конца хода."
- nameId: demonic-dragon-mage-rakshasa
nameEn: "Demonic Dragon Mage, Rakshasa"
template: |-
{auto}{rc}:During your main phase, when an opponent's rear-guard is put into the drop zone, this unit gets {power} +3000 until end of turn.
textRu: "{auto}{rc}:В вашу главную фазу, когда Арьергард противника помещается в зону сброса, этот юнит получает {power} +3000 до конца хода."
textRu: "{auto}{rc}:В вашу главную фазу, когда Арьергард противника помещается в зону сброса, эта карта получает {power} +3000 до конца хода."
- nameId: dragon-dancer-monica
nameEn: "Dragon Dancer, Monica"
template: ""
@ -142,7 +142,7 @@ cards:
nameEn: "Dragon Knight, Aleph"
template: |-
{act}{vc}:[{cb:1} & Choose a unit named "Embodiment of Armor, Bahr" and a unit named "Embodiment of Spear, Tahr" from your {rc}, and put them into your soul] Search your deck for up to one card named "Embodiment of Victory, Aleph", ride it, and shuffle your deck.
textRu: "{act}{vc}:[{cb:1} & Выберите юнита с именем \"Embodiment of Armor, Bahr\" и юнита с именем \"Embodiment of Spear, Tahr\" из вашего {rc} и поместите их в душу] Найдите в колоде до одной карты с именем \"Embodiment of Victory, Aleph\", совершите райд ею и перемешайте колоду."
textRu: "{act}{vc}:[{cb:1} & Выберите карту с именем \"Embodiment of Armor, Bahr\" и карту с именем \"Embodiment of Spear, Tahr\" из вашего {rc} и поместите их в душу] Найдите в колоде до одной карты с именем \"Embodiment of Victory, Aleph\", совершите на неё смену и перемешайте колоду."
- nameId: dragon-knight-nehalem
nameEn: "Dragon Knight, Nehalem"
template: ""
@ -151,7 +151,7 @@ cards:
nameEn: "Dragon Monk, Genjo"
template: |-
(You may only have up to four cards with "{heal} HEAL" in a deck.)
textRu: "(В колоде может быть не более четырёх карт с «{heal} HEAL».)"
textRu: "(В колоде может быть не более четырёх карт с {heal}.)"
- nameId: dragon-monk-gojo
nameEn: "Dragon Monk, Gojo"
template: |-
@ -161,13 +161,13 @@ cards:
nameEn: "Dragon Monk, Goku"
template: |-
{auto}{vc}:When this unit's drive check reveals a grade 3 {clan:kagero}, choose an opponent's grade 1 or less rear-guard, and retire it.
textRu: "{auto}{vc}:Когда в драйвеке оказывается {clan:kagero} 3-го ранга, выберите Арьергард противника 1-го ранга или ниже и уничтожьте его."
textRu: "{auto}{vc}:Когда в проверке оказывается {clan:kagero} 3-го ранга, выберите Арьергард противника 1-го ранга или ниже и уничтожьте его."
- nameId: dragonic-overlord
nameEn: "Dragonic Overlord"
template: |-
{cont}{vcrc}:If you do not have another {clan:kagero} vanguard or rear-guard, this unit gets {power} -2000.
{act}{vcrc}:{cb:3} Until end of turn, this unit gets {power} +5000, gets "{auto}{vcrc}:When this unit's attack hits an opponent's rear-guard, {stand} this unit," and loses "{twin-drive}".
textRu: "{cont}{vcrc}:Если у вас нет другого Авангарда или Арьергарда {clan:kagero}, этот юнит получает {power} -2000.\n{act}{vcrc}:{cb:3} До конца хода этот юнит получает {power} +5000, получает \"{auto}{vcrc}:Когда атака этого юнита попадает по Арьергарду противника, {stand} этот юнит,\" и теряет \"{twin-drive}\"."
textRu: "{cont}{vcrc}:Если у вас нет другого Авангарда или Арьергарда {clan:kagero}, эта карта получает {power} -2000.\n{act}{vcrc}:{cb:3} До конца хода эта карта получает {power} +5000, получает \"{auto}{vcrc}:Когда атака этой карты проходит по Арьергарду противника, {stand} эту карту,\" и теряет \"{twin-drive}\"."
- nameId: dream-eater
nameEn: "Dream Eater"
template: ""
@ -185,18 +185,18 @@ cards:
template: |-
{act}{vcrc}:{cb:4} This unit gets {power} +3000/{critical} +1 until end of turn.
{act}{vc}:[Choose a card named "Dragon Knight, Aleph", a card named "Embodiment of Armor, Bahr", and a card named "Embodiment of Spear, Tahr" from your soul, and put them into your drop zone] Turn all cards in your damage zone face up.
textRu: "{act}{vcrc}:{cb:4} Этот юнит получает {power} +3000/{critical} +1 до конца хода.\n{act}{vc}:[Выберите карту с именем \"Dragon Knight, Aleph\", карту с именем \"Embodiment of Armor, Bahr\" и карту с именем \"Embodiment of Spear, Tahr\" из вашей души и поместите их в зону сброса] Переверните все карты в вашей зоне урона лицом вверх."
textRu: "{act}{vcrc}:{cb:4} Эта карта получает {power} +3000/{critical} +1 до конца хода.\n{act}{vc}:[Выберите карту с именем \"Dragon Knight, Aleph\", карту с именем \"Embodiment of Armor, Bahr\" и карту с именем \"Embodiment of Spear, Tahr\" из вашей души и поместите их в зону сброса] Переверните все карты в вашей зоне урона лицом вверх."
- nameId: flame-of-hope-aermo
nameEn: "Flame of Hope, Aermo"
template: |-
{auto}{rc}:[Choose a card from your hand, and discard it] When an attack hits during the battle that this unit boosted, you may pay the cost. If you do, draw a card.
textRu: "{auto}{rc}:[Выберите карту из руки и сбросьте её] Когда атака попадает в бою, в котором этот юнит усиливал, вы можете оплатить стоимость. Если вы это сделали, возьмите карту."
textRu: "{auto}{rc}:[Выберите карту из руки и сбросьте её] Когда атака проходит в бою, в котором эта карта поддерживала, вы можете оплатить стоимость. Если вы это сделали, возьмите карту."
- nameId: flash-shield-iseult
nameEn: "Flash Shield, Iseult"
template: |-
{cont}:{sentinel} (You may only have up to four cards with "{cont}:{sentinel}" in a deck.)
{auto}:[Choose a {clan:royal-paladin} from your hand, and discard it] When this unit is placed on {gc}, you may pay the cost. If you do, choose one of your {clan:royal-paladin} that is being attacked, and that unit cannot be hit until end of that battle.
textRu: "{cont}:{sentinel} (В колоде может быть не более четырёх карт с «{cont}:{sentinel}».)\n{auto}:[Выберите {clan:royal-paladin} из руки и сбросьте её] Когда этот юнит размещается на {gc}, вы можете оплатить стоимость. Если вы это сделали, выберите одного из ваших {clan:royal-paladin}, который подвергается атаке, и этот юнит не может быть поражён до конца этого боя."
textRu: "{cont}:{sentinel} (В колоде может быть не более четырёх карт с «{cont}:{sentinel}».)\n{auto}:[Выберите {clan:royal-paladin} из руки и сбросьте её] Когда эта карта помещается в {gc}, вы можете оплатить стоимость. Если вы это сделали, выберите одного из ваших {clan:royal-paladin}, который подвергается атаке. Он не может быть поражен до конца этого боя."
- nameId: flogal
nameEn: "Flogal"
template: ""
@ -205,29 +205,35 @@ cards:
nameEn: "Future Knight, Llew"
template: |-
{act}{rc}:[{cb:1} & Choose a unit named "Future Knight, Llew", a unit named "Barcgal", and a unit named "Flogal" from your {rc}, and put them into your soul] If you have a grade 1 vanguard, search your deck for up to one card named "Blaster Blade", ride it, and shuffle your deck.
textRu: "{act}{rc}:[{cb:1} & Выберите юнита с именем \"Future Knight, Llew\", юнита с именем \"Barcgal\" и юнита с именем \"Flogal\" из вашего {rc} и поместите их в душу] Если у вас Авангард 1-го ранга, найдите в колоде до одной карты с именем \"Blaster Blade\", совершите райд ею и перемешайте колоду."
textRu: "{act}{rc}:[{cb:1} & Выберите карту с именем \"Future Knight, Llew\", карту с именем \"Barcgal\" и карту с именем \"Flogal\" из вашего {rc} и поместите их в душу] Если у вас Авангард 1-го ранга, найдите в колоде до одной карты с именем \"Blaster Blade\", совершите на неё смену и перемешайте колоду."
- nameId: guiding-zombie
nameEn: "Guiding Zombie"
template: |-
{auto}:When another {clan:granblue} rides this unit, you may call this card to {rc}.
{act}{rc}:[Put this unit into your soul] Put three cards from the top of your deck into your drop zone.
textRu: "{auto}:Когда другой {clan:granblue} совершает райд на этом юните, вы можете призвать эту карту в {rc}.\n{act}{rc}:[Поместите этот юнит в душу] Поместите три карты с верха колоды в зону сброса."
textRu: |-
{auto}:Когда другой {clan:granblue} сменяет эту карту, вы можете призвать её в {rc}.
{act}{rc}:[Поместите эту карту в душу] Поместите три карты с верха колоды в зону сброса.
- nameId: hell-spider
nameEn: "Hell Spider"
template: |-
{cont}{vc}:During your turn, if all of your opponent's vanguard and rear-guards are Rest , this unit gets {power} +3000.
{auto}:{cb:2} When this unit is placed on {vc} or {rc}, you may pay the cost. If you do, choose one of your opponent's rear-guards, and the chosen unit cannot {stand} during your opponent's next stand phase.
textRu: "{cont}{vc}:В свой ход, если все Авангарды и Арьергарды противника повёрнуты, этот юнит получает {power} +3000.\n{auto}:{cb:2} Когда этот юнит размещается на {vc} или {rc}, вы можете оплатить стоимость. Если вы это сделали, выберите один из Арьергардов противника, и выбранный юнит не может {stand} в следующую фазу стойки противника."
textRu: |-
{cont}{vc}:В свой ход, если все Авангарды и Арьергарды противника повёрнуты, эта карта получает {power} +3000.
{auto}:{cb:2} Когда эта карта помещается в {vc} или {rc}, вы можете оплатить стоимость. Если вы это сделали, выберите один из Арьергардов противника, и выбранная карта не может {stand} в следующую фазу стойки противника.
- nameId: highspeed-brakki
nameEn: "Highspeed, Brakki"
template: |-
{auto}{rc}:{sb:1} When this unit attacks, you may pay the cost. If you do, this unit gets {power} +5000 until end of that battle, and at the beginning of the close step of that battle, return this unit to your deck, and shuffle your deck.
textRu: "{auto}{rc}:{sb:1} Когда этот юнит атакует, вы можете оплатить стоимость. Если вы это сделали, этот юнит получает {power} +5000 до конца этого боя, и в начале шага завершения этого боя верните этот юнит в колоду и перемешайте колоду."
textRu: |-
{auto}{rc}:{sb:1} Когда эта карта атакует, вы можете оплатить стоимость. Если вы это сделали, эта карта получает {power} +5000 до конца этого боя, и в начале шага завершения этого боя верните эту карту в колоду и перемешайте колоду.
- nameId: hungry-dumpty
nameEn: "Hungry Dumpty"
template: |-
{auto}:When this unit is placed on {rc}, if you have a {clan:nova-grappler} vanguard, choose a card from your damage zone, and turn it face up.
textRu: "{auto}:Когда этот юнит размещается на {rc}, если у вас есть Авангард {clan:nova-grappler}, выберите карту из зоны урона и переверните её лицом вверх."
textRu: |-
{auto}:Когда эта карта помещается в {rc}, если у вас есть Авангард {clan:nova-grappler}, выберите карту из зоны урона и переверните её лицом вверх.
- nameId: ironclad-dragon-shieldon
nameEn: "Ironclad Dragon, Shieldon"
template: ""
@ -237,19 +243,25 @@ cards:
template: |-
{cont}{vcrc}:If you do not have another {clan:spike-brothers} vanguard or rear-guard, this unit gets {power} -2000.
{auto}{rc}:{sb:1} When this unit attacks, you may pay the cost. If you do, this unit gets {power} +5000 until end of that battle, and at the beginning of the close step of that battle, return this unit to your deck, and shuffle your deck.
textRu: "{cont}{vcrc}:Если у вас нет другого Авангарда или Арьергарда {clan:spike-brothers}, этот юнит получает {power} -2000.\n{auto}{rc}:{sb:1} Когда этот юнит атакует, вы можете оплатить стоимость. Если вы это сделали, этот юнит получает {power} +5000 до конца этого боя, и в начале шага завершения этого боя верните этот юнит в колоду и перемешайте колоду."
textRu: |-
{cont}{vcrc}:Если у вас нет другого Авангарда или Арьергарда {clan:spike-brothers}, эта карта получает {power} -2000.
{auto}{rc}:{sb:1} Когда эта карта атакует, вы можете оплатить стоимость. Если вы это сделали, эта карта получает {power} +5000 до конца этого боя, и в начале шага завершения этого боя верните эту карту в колоду и перемешайте колоду.
- nameId: karma-queen
nameEn: "Karma Queen"
template: |-
{auto}:{cb:2} When this unit is placed on {vc} or {rc}, you may pay the cost. If you do, choose one of your opponent's rear-guards, and the chosen unit cannot {stand} during your opponent's next stand phase.
textRu: "{auto}:{cb:2} Когда этот юнит размещается на {vc} или {rc}, вы можете оплатить стоимость. Если вы это сделали, выберите один из Арьергардов противника, и выбранный юнит не может {stand} в следующую фазу стойки противника."
textRu: |-
{auto}:{cb:2} Когда эта карта помещается в {vc} или {rc}, вы можете оплатить стоимость. Если вы это сделали, выберите один из Арьергардов противника, и выбранная карта не может {stand} в следующую фазу стойки противника.
- nameId: king-of-knights-alfred
nameEn: "King of Knights, Alfred"
template: |-
{cont}{vc}:Your units cannot boost this unit.
{cont}{vc}:During your turn, this unit gets {power} +2000 for each of your {clan:royal-paladin} rear-guards.
{act}{vcrc}:{cb:3} Search your deck for up to one grade 2 or less {clan:royal-paladin}, call it to {rc}, and shuffle your deck.
textRu: "{cont}{vc}:Ваши юниты не могут усиливать этот юнит.\n{cont}{vc}:В свой ход этот юнит получает {power} +2000 за каждый ваш Арьергард {clan:royal-paladin}.\n{act}{vcrc}:{cb:3} Найдите в колоде до одного {clan:royal-paladin} 2-го ранга или ниже, призовите его в {rc} и перемешайте колоду."
textRu: |-
{cont}{vc}:Ваши карты не могут поддерживать эту карту.
{cont}{vc}:В свой ход эта карта получает {power} +2000 за каждый ваш Арьергард {clan:royal-paladin}.
{act}{vcrc}:{cb:3} Найдите в колоде до одного {clan:royal-paladin} 2-го ранга или ниже, призовите его в {rc} и перемешайте колоду.
- nameId: king-of-sword
nameEn: "King of Sword"
template: ""
@ -258,12 +270,14 @@ cards:
nameEn: "Knight of Conviction, Bors"
template: |-
{auto}{vcrc}:{cb:1} When this unit attacks, you may pay the cost. If you do, this unit gets {power} +3000 until end of that battle.
textRu: "{auto}{vcrc}:{cb:1} Когда этот юнит атакует, вы можете оплатить стоимость. Если вы это сделали, этот юнит получает {power} +3000 до конца этого боя."
textRu: |-
{auto}{vcrc}:{cb:1} Когда эта карта атакует, вы можете оплатить стоимость. Если вы это сделали, эта карта получает {power} +3000 до конца этого боя.
- nameId: knight-of-rose-morgana
nameEn: "Knight of Rose, Morgana"
template: |-
{auto}{vcrc}:[Choose a card from your hand, and discard it] When this unit attacks, you may pay the cost. If you do, this unit gets {power} +4000 until end of turn.
textRu: "{auto}{vcrc}:[Выберите карту из руки и сбросьте её] Когда этот юнит атакует, вы можете оплатить стоимость. Если вы это сделали, этот юнит получает {power} +4000 до конца хода."
textRu: |-
{auto}{vcrc}:[Выберите карту из руки и сбросьте её] Когда эта карта атакует, вы можете оплатить стоимость. Если вы это сделали, эта карта получает {power} +4000 до конца хода.
- nameId: knight-of-silence-gallatin
nameEn: "Knight of Silence, Gallatin"
template: ""
@ -272,7 +286,8 @@ cards:
nameEn: "Knight of the Harp, Tristan"
template: |-
{auto}{vc}:When this unit's drive check reveals a grade 3 {clan:royal-paladin}, this unit gets {power} +5000 until end of that battle.
textRu: "{auto}{vc}:Когда в драйвеке оказывается {clan:royal-paladin} 3-го ранга, этот юнит получает {power} +5000 до конца этого боя."
textRu: |-
{auto}{vc}:Когда в проверке оказывается {clan:royal-paladin} 3-го ранга, эта карта получает {power} +5000 до конца этого боя.
- nameId: lake-maiden-lien
nameEn: "Lake Maiden, Lien"
template: |-
@ -291,7 +306,9 @@ cards:
template: |-
{auto}:When another {clan:kagero} rides this unit, you may call this card to a {rc}.
{act}{rc}:[{cb:1} & Retire this unit] Search your deck for up to one grade 1 or less {clan:kagero}, reveal it to your opponent, put it into your hand, and shuffle your deck.
textRu: "{auto}:Когда другой {clan:kagero} совершает райд на этом юните, вы можете призвать эту карту в {rc}.\n{act}{rc}:[{cb:1} & Уничтожьте этот юнит] Найдите в колоде до одного {clan:kagero} 1-го ранга или ниже, покажите его противнику, добавьте в руку и перемешайте колоду."
textRu: |-
{auto}:Когда другой {clan:kagero} сменяет эту карту, вы можете призвать её в {rc}.
{act}{rc}:[{cb:1} & Уничтожьте эту карту] Найдите в колоде до одного {clan:kagero} 1-го ранга или ниже, покажите его противнику, добавьте в руку и перемешайте колоду.
- nameId: lizard-soldier-ganlu
nameEn: "Lizard Soldier, Ganlu"
template: ""
@ -302,7 +319,10 @@ cards:
(You may only have up to four cards with "{heal} HEAL" in a deck.)
{auto}:When another {clan:oracle-think-tank} rides this unit, you may call this card to {rc}.
{auto}{rc}:When this unit boosts, the boosted unit gets {power} +3000 until end of that battle, and at the begininng of the end phase of that turn, return this unit to your deck, and shuffle your deck.
textRu: "(В колоде может быть не более четырёх карт с «{heal} HEAL».)\n{auto}:Когда другой {clan:oracle-think-tank} совершает райд на этом юните, вы можете призвать эту карту в {rc}.\n{auto}{rc}:Когда этот юнит усиливает, усиленный юнит получает {power} +3000 до конца этого боя, и в начале конечной фазы этого хода верните этот юнит в колоду и перемешайте колоду."
textRu: |-
(В колоде может быть не более четырёх карт с {heal}.)
{auto}:Когда другой {clan:oracle-think-tank} сменяет эту карту, вы можете призвать её в {rc}.
{auto}{rc}:Когда эта карта поддерживает, атакующий получает {power} +3000 до конца этого боя, и в начале конечной фазы этого хода верните эту карту в колоду и перемешайте её.
- nameId: lucky-girl
nameEn: "Lucky Girl"
template: ""
@ -315,7 +335,8 @@ cards:
nameEn: "Maiden of Libra"
template: |-
{auto}{vcrc}:{cb:2} When this unit's attack hits, if you have an {clan:oracle-think-tank} vanguard, you may pay the cost. If you do, draw a card.
textRu: "{auto}{vcrc}:{cb:2} Когда атака этого юнита попадает, если у вас есть Авангард {clan:oracle-think-tank}, вы можете оплатить стоимость. Если вы это сделали, возьмите карту."
textRu: |-
{auto}{vcrc}:{cb:2} Когда атака этой карты проходит, если у вас есть Авангард {clan:oracle-think-tank}, вы можете оплатить стоимость. Если вы это сделали, возьмите карту.
- nameId: miracle-kid
nameEn: "Miracle Kid"
template: ""
@ -324,24 +345,29 @@ cards:
nameEn: "Monster Frank"
template: |-
{act}{drop}:{cb:3} If you have a grade 2 vanguard, ride this card.
textRu: "{act}{drop}:{cb:3} Если у вас Авангард 2-го ранга, совершите райд этой картой."
textRu: "{act}{drop}:{cb:3} Если у вас Авангард 2-го ранга, совершите смену на эту карту."
- nameId: mr-invincible
nameEn: "Mr. Invincible"
template: |-
{auto}{vc}:At the beginning of your main phase, {sc:1}, choose a card from your damage zone, and turn it face up.
{auto}{vcrc}:{sb:8} & {cb:5} When this unit's attack hits, you may pay the cost. If you do, {stand} all of your units.
textRu: "{auto}{vc}:В начале вашей главной фазы {sc:1}, выберите карту из зоны урона и переверните её лицом вверх.\n{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этого юнита попадает, вы можете оплатить стоимость. Если вы это сделали, {stand} все ваши юниты."
textRu: |-
{auto}{vc}:В начале вашей главной фазы {sc:1}, выберите карту из зоны урона и переверните её лицом вверх.
{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этой карты проходит, вы можете оплатить стоимость. Если вы это сделали, {stand} все ваши карты.
- nameId: nightmare-baby
nameEn: "Nightmare Baby"
template: |-
{auto}{rc}:When this unit boosts a unit named "Blue Dust", the boosted unit gets {power} +4000 until end of that battle.
textRu: "{auto}{rc}:Когда этот юнит усиливает юнита с именем \"Blue Dust\", усиленный юнит получает {power} +4000 до конца этого боя."
textRu: |-
{auto}{rc}:Когда эта карта поддерживает карту с именем "Blue Dust", атакующий получает {power} +4000 до конца этого боя.
- nameId: oracle-guardian-apollon
nameEn: "Oracle Guardian, Apollon"
template: |-
{auto}{vc}:{cb:2} When this unit's attack hits, you may pay the cost. If you do, draw two cards, choose a card from your hand, return it to your deck, and shuffle your deck.
{auto}{rc}:{cb:2} When this unit's attack hits, you may pay the cost. If you do, draw a card.
textRu: "{auto}{vc}:{cb:2} Когда атака этого юнита попадает, вы можете оплатить стоимость. Если вы это сделали, возьмите две карты, выберите карту из руки, верните её в колоду и перемешайте колоду.\n{auto}{rc}:{cb:2} Когда атака этого юнита попадает, вы можете оплатить стоимость. Если вы это сделали, возьмите карту."
textRu: |-
{auto}{vc}:{cb:2} Когда атака этой карты проходит, вы можете оплатить стоимость. Если вы это сделали, возьмите две карты, выберите карту из руки, верните её в колоду и перемешайте колоду.
{auto}{rc}:{cb:2} Когда атака этой карты проходит, вы можете оплатить стоимость. Если вы это сделали, возьмите карту.
- nameId: oracle-guardian-gemini
nameEn: "Oracle Guardian, Gemini"
template: ""
@ -358,22 +384,26 @@ cards:
nameEn: "Queen of Heart"
template: |-
{auto}{rc}:When this unit boosts a unit named "King of Sword", the boosted unit gets {power} +4000 until end of that battle.
textRu: "{auto}{rc}:Когда этот юнит усиливает юнита с именем \"King of Sword\", усиленный юнит получает {power} +4000 до конца этого боя."
textRu: |-
{auto}{rc}:Когда эта карта поддерживает карту с именем "King of Sword", атакующий получает {power} +4000 до конца этого боя.
- nameId: redshoe-milly
nameEn: "Redshoe, Milly"
template: |-
{auto}:When this unit is put into the drop zone from {gc}, put this card into your soul.
textRu: "{auto}:Когда этот юнит помещается в зону сброса из {gc}, поместите эту карту в душу."
textRu: |-
{auto}:Когда эта карта помещается в зону сброса из {gc}, поместите эту карту в душу.
- nameId: ring-girl-clara
nameEn: "Ring Girl, Clara"
template: |-
(You may only have up to four cards with "{heal} HEAL" in a deck.)
textRu: "(В колоде может быть не более четырёх карт с «{heal} HEAL».)"
textRu: |-
(В колоде может быть не более четырёх карт с {heal}.)
- nameId: rock-the-wall
nameEn: "Rock the Wall"
template: |-
{auto}:When this unit is put into the drop zone from {gc}, put this card into your soul.
textRu: "{auto}:Когда этот юнит помещается в зону сброса из {gc}, поместите эту карту в душу."
textRu: |-
{auto}:Когда эта карта помещается в зону сброса из {gc}, поместите эту карту в душу.
- nameId: screamin-and-dancin-announcer-shout
nameEn: "Screamin' and Dancin' Announcer, Shout"
template: |-
@ -388,7 +418,9 @@ cards:
template: |-
{act}{vc}:{cb:2} If you have a card named "Blaster Blade" in your soul, this unit gets {power} +5000/{critical} +1 until end of turn.
{act}{hand}:[Reveal this card to your opponent, and put it on top of your deck] Search your deck for up to one card named "Blaster Blade", reveal it to your opponent, put it into your hand, and shuffle your deck.
textRu: "{act}{vc}:{cb:2} Если у вас в душе есть карта с именем \"Blaster Blade\", этот юнит получает {power} +5000/{critical} +1 до конца хода.\n{act}{hand}:[Покажите эту карту противнику и положите её на верх колоды] Найдите в колоде до одной карты с именем \"Blaster Blade\", покажите её противнику, добавьте в руку и перемешайте колоду."
textRu: |-
{act}{vc}:{cb:2} Если у вас в душе есть карта с именем "Blaster Blade", эта карта получает {power} +5000/{critical} +1 до конца хода.
{act}{hand}:[Покажите эту карту противнику и положите её на верх колоды] Найдите в колоде до одной карты с именем "Blaster Blade", покажите её противнику, добавьте в руку и перемешайте колоду.
- nameId: sonic-noa
nameEn: "Sonic Noa"
template: ""
@ -401,28 +433,34 @@ cards:
nameEn: "Starlight Unicorn"
template: |-
{auto}:When this unit is placed on {rc}, choose another of your {clan:royal-paladin}, and that unit gets {power} +2000 until end of turn.
textRu: "{auto}:Когда этот юнит размещается на {rc}, выберите другого вашего {clan:royal-paladin}, и этот юнит получает {power} +2000 до конца хода."
textRu: |-
{auto}:Когда эта карта помещается в {rc}, выберите другую вашу карту {clan:royal-paladin}, и она получает {power} +2000 до конца хода.
- nameId: stealth-beast-chigasumi
nameEn: "Stealth Beast, Chigasumi"
template: |-
{auto}{vcrc}:When this unit attacks, if the number of cards in your hand is greater than your opponent's, this unit gets {power} +3000 until end of that battle.
textRu: "{auto}{vcrc}:Когда этот юнит атакует, если в вашей руке больше карт, чем у противника, этот юнит получает {power} +3000 до конца этого боя."
textRu: |-
{auto}{vcrc}:Когда эта карта атакует, если в вашей руке больше карт, чем у противника, эта карта получает {power} +3000 до конца этого боя.
- nameId: stealth-beast-hagakure
nameEn: "Stealth Beast, Hagakure"
template: |-
{auto}:{cb:1} When this unit is placed on {gc}, if you have a {clan:nubatama} vanguard, and the number of cards in your hand is less than your opponent's, you may pay the cost. If you do, your opponent chooses a card from his or her hand, and discards it.
textRu: "{auto}:{cb:1} Когда этот юнит размещается на {gc}, если у вас есть Авангард {clan:nubatama} и в вашей руке меньше карт, чем у противника, вы можете оплатить стоимость. Если вы это сделали, противник выбирает карту из своей руки и сбрасывает её."
textRu: |-
{auto}:{cb:1} Когда эта карта помещается в {gc}, если у вас есть Авангард {clan:nubatama} и в вашей руке меньше карт, чем у противника, вы можете оплатить стоимость. Если вы это сделали, противник выбирает карту из своей руки и сбрасывает её.
- nameId: stealth-dragon-dreadmaster
nameEn: "Stealth Dragon, Dreadmaster"
template: |-
{auto}{rc}:{cb:1} When an attack hits during the battle that this unit boosted a {clan:nubatama}, if the number of cards in your hand is less than your opponent's, you may pay the cost. If you do, your opponent chooses a card from his or her hand, and discards it.
textRu: "{auto}{rc}:{cb:1} Когда атака попадает в бою, в котором этот юнит усиливал {clan:nubatama}, если в вашей руке меньше карт, чем у противника, вы можете оплатить стоимость. Если вы это сделали, противник выбирает карту из своей руки и сбрасывает её."
textRu: |-
{auto}{rc}:{cb:1} Когда атака проходит в бою, в котором эта карта поддерживала {clan:nubatama}, если в вашей руке меньше карт, чем у противника, вы можете оплатить стоимость. Если вы это сделали, противник выбирает карту из своей руки и сбрасывает её.
- nameId: stealth-dragon-voidmaster
nameEn: "Stealth Dragon, Voidmaster"
template: |-
{auto}{vc}:When this unit attacks, if the number of cards in your hand is greater than your opponent's, this unit gets {power} +3000 until end of that battle.
{auto}{vcrc}:{cb:1} When this unit's attack hits, if the number of cards in your hand is less than your opponent's, you may pay the cost. If you do, your opponent chooses a card from his or her hand, and discards it.
textRu: "{auto}{vc}:Когда этот юнит атакует, если в вашей руке больше карт, чем у противника, этот юнит получает {power} +3000 до конца этого боя.\n{auto}{vcrc}:{cb:1} Когда атака этого юнита попадает, если в вашей руке меньше карт, чем у противника, вы можете оплатить стоимость. Если вы это сделали, противник выбирает карту из своей руки и сбрасывает её."
textRu: |-
{auto}{vc}:Когда эта карта атакует, если в вашей руке больше карт, чем у противника, эта карта получает {power} +3000 до конца этого боя.
{auto}{vcrc}:{cb:1} Когда атака этой карты проходит, если в вашей руке меньше карт, чем у противника, вы можете оплатить стоимость. Если вы это сделали, противник выбирает карту из своей руки и сбрасывает её.
- nameId: tough-boy
nameEn: "Tough Boy"
template: ""
@ -432,13 +470,17 @@ cards:
template: |-
{auto}{vc}:When this unit attacks, this unit gets {power} +5000 until end of that battle.
{auto}{vc}:When this unit's attack hits, choose one of your rear-guards, and retire it.
textRu: "{auto}{vc}:Когда этот юнит атакует, этот юнит получает {power} +5000 до конца этого боя.\n{auto}{vc}:Когда атака этого юнита попадает, выберите один из ваших Арьергардов и уничтожьте его."
textRu: |-
{auto}{vc}:Когда эта карта атакует, эта карта получает {power} +5000 до конца этого боя.
{auto}{vc}:Когда атака этой карты проходит, выберите один из ваших Арьергардов и уничтожьте его.
- nameId: vortex-dragon
nameEn: "Vortex Dragon"
template: |-
{auto}{vc}:At the begininng of your main phase, {sc:1}, and this unit gets {power} +2000 until end of turn.
{act}{vcrc}:{sb:8} & {cb:5} Choose up to three of your opponent's rear-guards, and retire them.
textRu: "{auto}{vc}:В начале вашей главной фазы {sc:1}, и этот юнит получает {power} +2000 до конца хода.\n{act}{vcrc}:{sb:8} & {cb:5} Выберите до трёх Арьергардов противника и уничтожьте их."
textRu: |-
{auto}{vc}:В начале вашей главной фазы {sc:1}, и эта карта получает {power} +2000 до конца хода.
{act}{vcrc}:{sb:8} & {cb:5} Выберите до трёх Арьергардов противника и уничтожьте их.
- nameId: weapons-dealer-govannon
nameEn: "Weapons Dealer, Govannon"
template: ""
@ -447,12 +489,14 @@ cards:
nameEn: "Weather Girl, Milk"
template: |-
{auto}{rc}:When this unit boosts an {clan:oracle-think-tank} vanguard, if the number of cards in your hand is four or greater, the boosted unit gets {power} +4000 until end of that battle.
textRu: "{auto}{rc}:Когда этот юнит усиливает Авангард {clan:oracle-think-tank}, если в вашей руке четыре или больше карт, усиленный юнит получает {power} +4000 до конца этого боя."
textRu: |-
{auto}{rc}:Когда эта карта поддерживает Авангард {clan:oracle-think-tank}, если в вашей руке четыре или больше карт, атакующий получает {power} +4000 до конца этого боя.
- nameId: wingal
nameEn: "Wingal"
template: |-
{auto}{rc}:When this unit boosts a card named "Blaster Blade", the boosted unit gets {power} +4000 until end of that battle.
textRu: "{auto}{rc}:Когда этот юнит усиливает карту с именем \"Blaster Blade\", усиленный юнит получает {power} +4000 до конца этого боя."
textRu: |-
{auto}{rc}:Когда эта карта поддерживает карту с именем "Blaster Blade", атакующий получает {power} +4000 до конца этого боя.
- nameId: wonder-boy
nameEn: "Wonder Boy"
template: ""
@ -461,19 +505,24 @@ cards:
nameEn: "Wyvern Guard, Barri"
template: |-
{cont}:{sentinel} (You may only have up to four cards with "{cont}:{sentinel}" in a deck.){auto}:[Choose a {clan:kagero} from your hand, and discard it] When this unit is placed on {gc}, you may pay the cost. If you do, choose one of your {clan:kagero} that is being attacked, and that unit cannot be hit until end of that battle.
textRu: "{cont}:{sentinel} (В колоде может быть не более четырёх карт с «{cont}:{sentinel}».){auto}:[Выберите {clan:kagero} из руки и сбросьте её] Когда этот юнит размещается на {gc}, вы можете оплатить стоимость. Если вы это сделали, выберите одного из ваших {clan:kagero}, который подвергается атаке, и этот юнит не может быть поражён до конца этого боя."
textRu: |-
{cont}:{sentinel} (В колоде может быть не более четырёх карт с «{cont}:{sentinel}».)
{auto}:[Выберите {clan:kagero} из руки и сбросьте её] Когда эта карта помещается в {gc}, вы можете оплатить стоимость. Если вы это сделали, выберите одного из ваших {clan:kagero}, который подвергается атаке. Он не может быть поражен до конца этого боя.
- nameId: wyvern-strike-jarran
nameEn: "Wyvern Strike, Jarran"
template: |-
{auto}{rc}:When this unit boosts a card named "Wyvern Strike, Tejas", the boosted unit gets {power} +4000 until end of that battle.
textRu: "{auto}{rc}:Когда этот юнит усиливает карту с именем \"Wyvern Strike, Tejas\", усиленный юнит получает {power} +4000 до конца этого боя."
textRu: |-
{auto}{rc}:Когда эта карта поддерживает карту с именем "Wyvern Strike, Tejas", атакующий получает {power} +4000 до конца этого боя.
- nameId: wyvern-strike-tejas
nameEn: "Wyvern Strike, Tejas"
template: |-
{cont}{vcrc}:If this unit would attack, it may instead attack an opponent's unit in the back row of the same column as this unit.
textRu: "{cont}{vcrc}:Если этот юнит атакует, он может вместо этого атаковать юнита противника в заднем ряду той же колонны, что и этот юнит."
textRu: |-
{cont}{vcrc}:Если эта карта атакует, она может вместо этого атаковать карту противника в заднем ряду той же колонны, что и эта карта.
- nameId: yggdrasil-maiden-elaine
nameEn: "Yggdrasil Maiden, Elaine"
template: |-
(You may only have up to four cards with "{heal} HEAL" in a deck.)
textRu: "(В колоде может быть не более четырёх карт с «{heal} HEAL».)"
textRu: |-
(В колоде может быть не более четырёх карт с {heal}.)

View File

@ -1,6 +1,6 @@
# Правила перевода текстов карт
Версия 0.2 — учтены правки заказчика по двум картам.
Версия 0.3 — учтены две партии правок заказчика.
Правки в этом файле делаются только после подтверждения на реальных картах.
---
@ -22,16 +22,20 @@
3. **Количество строк совпадает с источником.** Одна способность — одна строка.
4. **Порядок способностей не меняется.**
5. **`&` в стоимости остаётся `&`.** Это разделитель, а не союз «и».
6. **`Restraint`, `Sentinel`, `Twin Drive!!`** — ключевые слова. `Sentinel` и
`Twin Drive!!` уже вынесены в токены, `Restraint` пока остаётся английским.
6. **Синонимы запрещены.** Если термин есть в таблице — используется только он.
«Юнит», «отряд», «существо», «рейргард», «оседлать» в текстах не встречаются.
## 3. Термины
| Английский | Русский | Примечание |
|---|---|---|
| unit | юнит | не «отряд», не «существо»; со строчной |
| vanguard | **Авангард** | с заглавной, в любом месте предложения |
| rear-guard | **Арьергард** | с заглавной, в любом месте предложения |
| this unit | **эта карта** | карта — женского рода: «она», «выбранная карта» |
| a unit named X | **карта с именем X** | |
| the chosen unit | **выбранная карта** | |
| all of your units | **все ваши карты** | |
| vanguard | **Авангард** | с заглавной в любом месте предложения |
| rear-guard | **Арьергард** | с заглавной в любом месте предложения |
| boosted unit | **атакующий** | тот, кого поддержали |
| deck | колода | |
| hand | рука | |
| soul | душа | «в душу», «из души» |
@ -39,14 +43,14 @@
| damage zone | зона урона | |
| guardian circle | круг Стража | токен `{gc}` |
| grade | **ранг** | «2-го ранга» |
| drive check | **драйвек** | «в драйвеке оказывается» |
| drive check | **проверка** | «в проверке оказывается» |
| power | сила | токен `{power}` |
| critical | критический | токен `{critical}` |
| clan | клан | |
| ride | совершить райд | «совершает райд на этом юните» |
| call | призвать | «призвать карту в круг рира» |
| ride | **смена** | см. шаблоны ниже |
| call | призвать | «призвать её», а не «призвать эту карту» |
| retire | уничтожить | |
| boost | усиливать | «когда этот юнит усиливает» |
| boost | **поддерживать** | «эта карта поддерживает» |
| stand | встать | токен `{stand}` |
| rest | повернуть | токен `{rest}` |
| draw | взять | «возьмите карту» |
@ -56,13 +60,14 @@
| shuffle | перемешать | |
| return to deck | вернуть в колоду | |
| put into | поместить в | |
| place on | разместить на | |
| attack hits | атака попадает | |
| place on (VC/RC/GC) | **помещается в** | предлог «в», не «на» |
| attack hits | **атака проходит** | |
| opponent | противник | «противника», «противнику» |
| choose | выбрать | |
| up to N | до N | «до одной карты» |
| or less / or greater | или ниже / или выше | про грейд |
| or less / or greater | или ниже / или выше | про ранг |
| if you do | если вы это сделали | |
| Restraint | **Сдерживание** | переведённый ключевой термин |
## 4. Синтаксические шаблоны
@ -70,8 +75,17 @@
|---|---|
| `When A, B` | `Когда A, B` |
| `If A, B` | `Если A, B` |
| `When this unit's drive check reveals X` | `Когда в драйвеке оказывается X` |
| `put into the drop zone from (RC)` | `помещается в зону сброса **из** {rc}` |
| `When this unit is placed on (RC)` | `Когда эта карта помещается в {rc}` |
| `When another <clan> rides this unit` | `Когда другой <клан> сменяет эту карту` |
| `ride this card` | `совершите смену на эту карту` |
| `ride it` | `совершите на неё смену` |
| `When this unit boosts` | `Когда эта карта поддерживает` |
| `When this unit is boosted by <clan>` | `Когда эту карту поддерживает <клан>` |
| `battle that this unit boosted` | `бою, в котором эта карта поддерживала` |
| `When this unit's attack hits` | `Когда атака этой карты проходит` |
| `When an attack hits` | `Когда атака проходит` |
| `When this unit's drive check reveals X` | `Когда в проверке оказывается X` |
| `put into the drop zone from (RC)` | `помещается в зону сброса из {rc}` |
| `you may pay the cost. If you do, X` | `вы можете оплатить стоимость. Если вы это сделали, X` |
| `At the beginning of your main phase` | `В начале вашей главной фазы` |
| `During your turn` | `В свой ход` |
@ -87,49 +101,52 @@
- «вы» — со строчной буквы, без заглавной.
- Точка в конце каждой способности.
- Запятая перед «и» по правилам русского языка, а не по английскому оригиналу.
- Тире и дефисы: `-2000` — минус без пробела, как в источнике.
- **Авангард** и **Арьергард** — всегда с заглавной, даже в середине предложения.
Остальные термины (юнит, колода, рука, душа, зона сброса) — со строчной.
- Предлог направления: **из** зоны, а не «с». «С верха колоды» — исключение,
там речь о положении, а не о выходе из зоны.
Остальные термины — со строчной.
- Предлог направления: **из** зоны, а не «с». «С верха колоды» — исключение.
- Длинный хвост через «, и …» разбивается на отдельное предложение:
`…который подвергается атаке. Он не может быть поражен до конца этого боя.`
- Повтор «эта карта» в соседних фразах заменяется местоимением:
«призвать **её**», «верните **её** в колоду».
## 6. Спорные места — нужно подтверждение
Это места, где я выбрал вариант, но он не единственный:
1. **`stand phase`** → «фаза стойки». Альтернатива: «фаза восстановления».
2. **`close step`** → «шаг завершения». Альтернатива: «шаг закрытия».
3. **`end phase`** → «конечная фаза». Альтернатива: «фаза завершения».
4. **`ride`** → «совершить райд». Альтернатива: «оседлать».
5. **`retire`** → «уничтожить». Альтернатива: «отправить в зону сброса».
6. **`call`** → «призвать». Альтернатива: «вызвать».
7. **`Restraint`** — оставить английским или перевести как «Ограничение».
8. **`HEAL`** в напоминании про лимит — оставить капсом или писать «лечение».
9. **Обращение к игроку** — «вы» или безличное «необходимо».
10. **Названия зон в подсказках** — «Круг Авангарда» / «Круг Арьергарда»
уже обновлены под новую терминологию; подтвердить, что так и надо.
4. **`retire`** → «уничтожить». Альтернатива: «отправить в зону сброса».
5. **`call`** → «призвать». Альтернатива: «вызвать».
6. **Буква «ё»**: вы пишете «поражен», но оставляете «четырёх». Зафиксировать
единый вариант или оставить как есть?
7. **`boosted unit`** → «атакующий». Альтернатива: «усиленная карта».
8. **Обращение к игроку** — «вы» или безличное «необходимо».
9. **Названия зон в подсказках** — «Круг Авангарда» / «Круг Арьергарда»;
подтвердить, что так и надо.
## 7. Как править
1. Правьте `textRu` в `content/translations/ru.yaml`.
2. Проверка: `dotnet run --project server/src/Vanguard.Cli -- translations check`.
3. Если изменили термин — обновите таблицу в этом файле.
4. Если термин стал токеном (например, `Restraint`) — добавьте его в
`content/keywords.yaml` и в правила токенизации, затем пересоберите шаблоны
командой `translations build` (существующие переводы сохранятся).
4. Если термин стал токеном — добавьте его в `content/keywords.yaml`
и в правила токенизации, затем пересоберите шаблоны командой
`translations build` (существующие переводы сохранятся).
## 8. Что будет дальше
После ваших правок:
1. Сравню свою версию с вашей и выпишу расхождения по категориям
(термины, порядок слов, пунктуация, идиомы).
2. Обновлю таблицы терминов и шаблонов.
3. Добавлю в проверку новые правила, которые можно автоматизировать
(например, запрет «Вы» с заглавной, обязательный «если вы это сделали»).
Проверка `translations check` уже ловит нарушения стиля: запрещённые термины
(`юнит`, `размещается на`, `райд`, `попадает`, `драйвек`, `усиливает`, `HEAL`,
`Restraint`, `рир-гард`, `вэнгард`, `грейд`) и расхождения по токенам.
Дальше по вашим правкам:
1. Сравниваю вашу версию с текущей и выписываю расхождения по категориям.
2. Обновляю таблицы терминов и шаблонов.
3. Добавляю в проверку новые автоматизируемые правила.
## 9. Журнал правок
| Версия | Что изменилось |
|---|---|
| 0.2 | По правкам заказчика: `vanguard` → **Авангард**, `rear-guard` → **Арьергард** (с заглавной), `grade` → **ранг**, `drive check reveals` → «в драйвеке оказывается», `from (RC/GC)` → «из», а не «с». Применено ко всем 66 текстам. |
| 0.3 | `unit` → **карта** (и «эта карта», «выбранная карта», «все ваши карты»); `place on` → «помещается **в**»; `ride` → **смена**; `boost` → **поддерживать**, `boosted unit` → «атакующий»; `attack hits` → «атака проходит»; `drive check` → «проверка»; `Restraint` → «Сдерживание»; `{heal} HEAL` → `{heal}`; длинные хвосты через «, и» разбиваются на предложения; «призвать эту карту» → «призвать её». Применено ко всем 66 текстам. |
| 0.2 | `vanguard` → Авангард, `rear-guard` → Арьергард (с заглавной), `grade` → ранг, `from (RC/GC)` → «из». |
| 0.1 | Первый проход по 66 текстам, терминология-черновик. |

View File

@ -103,6 +103,22 @@ public sealed record TranslationReport(
public static class TranslationService
{
/// <summary>Термины, которые не должны появляться в переведённом тексте.</summary>
private static readonly (string Term, string Hint)[] ForbiddenTerms =
{
("юнит", "используйте «карта»"),
("размещается на", "используйте «помещается в»"),
("райд", "используйте «смена»"),
("попадает", "используйте «проходит»"),
("драйвек", "используйте «проверка»"),
("усилива", "используйте «поддерживает»"),
("усилен", "используйте «поддерживает»"),
("рир-гард", "используйте «Арьергард»"),
("вэнгард", "используйте «Авангард»"),
("грейд", "используйте «ранг»"),
("HEAL", "используйте {heal}"),
("Restraint", "используйте «Сдерживание»"),
};
/// <summary>
/// Собирает шаблоны из каталога, сохраняя уже введённые переводы.
/// </summary>
@ -193,6 +209,20 @@ public static class TranslationService
}
}
}
if (!string.IsNullOrEmpty(card.TextRu))
{
foreach (var (term, hint) in ForbiddenTerms)
{
if (card.TextRu.Contains(term, StringComparison.Ordinal))
{
issues.Add(new TranslationIssue(
card.NameId,
"style.forbidden",
$"«{term}» — {hint}."));
}
}
}
}
return new TranslationReport(file.Cards.Count, translated, issues);

View File

@ -89,6 +89,28 @@ public class CardTextTests
Assert.Contains(report.Issues, i => i.Code == "token.mismatch");
}
[Fact]
public void Translation_Check_Flags_Forbidden_Terms()
{
var file = new TranslationFile
{
Cards =
{
new TranslationEntry
{
NameId = "test",
NameEn = "Test",
Template = "{auto}{vc}:Draw a card.",
TextRu = "{auto}{vc}:Этот юнит берёт карту.",
},
},
};
var report = TranslationService.Check(file);
Assert.Contains(report.Issues, i => i.Code == "style.forbidden");
}
[Fact]
public void Translation_Check_Passes_On_Complete_Entry()
{

View File

@ -1,344 +0,0 @@
"""Одноразовый сид русских текстов.
Заполняет только пустые textRu. Если текст уже есть — не трогает.
После правок вручную этот скрипт запускать не нужно.
"""
from pathlib import Path
import re
ROOT = Path(__file__).resolve().parent.parent
PATH = ROOT / "content" / "translations" / "ru.yaml"
T = {
"assault-dragon-blightops":
'{auto}:{cb:1} Когда этот юнит помещается в зону сброса из {rc}, вы можете оплатить стоимость. '
'Если вы это сделали, найдите в колоде до одной карты с именем "Ironclad Dragon, Shieldon", '
'покажите её противнику, добавьте её в руку и перемешайте колоду.',
"asura-kaiser":
'{cont}{vcrc}:Если у вас нет другого Авангарда или Арьергарда {clan:nova-grappler}, этот юнит получает {power} -2000.\n'
'{auto}{vc}:Когда в драйвеке оказывается {clan:nova-grappler} 3-го ранга, выберите один из ваших Арьергардов и {stand} его.',
"barcgal":
'{auto}:Когда другой {clan:royal-paladin} совершает райд на этом юните, вы можете призвать эту карту в {rc}.\n'
'{act}{rc}:{rest} Найдите в колоде до одной карты с именем "Future Knight, Llew" или "Flogal", призовите её в {rc} и перемешайте колоду.',
"battle-sister-chocolat":
'{cont}:{sentinel} (В колоде может быть не более четырёх карт с «{cont}:{sentinel}».)'
'{auto}:[Выберите {clan:oracle-think-tank} из руки и сбросьте её] Когда этот юнит размещается на {gc}, вы можете оплатить стоимость. '
'Если вы это сделали, выберите одного из ваших {clan:oracle-think-tank}, который подвергается атаке, и этот юнит не может быть поражён до конца этого боя.',
"battle-sister-cocoa":
'{auto}:Когда этот юнит размещается на {vc} или {rc}, если у вас есть Авангард {clan:oracle-think-tank}, '
'посмотрите верхнюю карту колоды и положите её на верх или в низ колоды.',
"battle-sister-mocha":
'{auto}{vcrc}:Когда этот юнит атакует, если в вашей руке четыре или больше карт, '
'этот юнит получает {power} +3000 до конца этого боя.',
"battleraizer":
'{auto}:Когда другой {clan:nova-grappler} совершает райд на этом юните, вы можете призвать эту карту в {rc}.\n'
'{auto}{rc}:Когда этот юнит усиливает, усиленный юнит получает {power} +3000 до конца этого боя, '
'и в начале конечной фазы этого хода верните этот юнит в колоду и перемешайте колоду.',
"berserk-dragon":
'{auto}:{cb:2} Когда этот юнит размещается на {vc} или {rc}, если у вас есть Авангард {clan:kagero}, '
'вы можете оплатить стоимость. Если вы это сделали, выберите Арьергард противника 2-го ранга или ниже и уничтожьте его.',
"blaster-blade":
'{auto}:{cb:2} Когда этот юнит размещается на {vc}, вы можете оплатить стоимость. '
'Если вы это сделали, выберите Арьергард противника и уничтожьте его.\n'
'{auto}:{cb:2} Когда этот юнит размещается на {rc}, если у вас есть Авангард {clan:royal-paladin}, '
'вы можете оплатить стоимость. Если вы это сделали, выберите Арьергард противника 2-го ранга или выше и уничтожьте его.',
"blue-dust":
'{auto}{vcrc}:Когда атака этого юнита попадает, если у вас есть Авангард {clan:dark-irregulars}, вы можете {sc:1}.',
"brutal-jack":
'{cont}{vcrc}:Restraint (Этот юнит не может атаковать.)'
'{act}{vcrc}:{cb:1} До конца хода этот юнит теряет "Restraint".\n'
'{auto}{vc}:Когда этот юнит усилен {clan:nova-grappler}, он получает {power} +5000 до конца этого боя.',
"ceo-amaterasu":
'{cont}{vc}:В свой ход, если в вашей руке четыре или больше карт, этот юнит получает {power} +4000.\n'
'{auto}{vc}:В начале вашей главной фазы {sc:1}, посмотрите верхнюю карту колоды и положите её на верх или в низ колоды.\n'
'{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этого юнита попадает, вы можете оплатить стоимость. Если вы это сделали, возьмите до пяти карт.',
"clay-doll-mechanic":
'{auto}:Когда этот юнит размещается на {rc}, если у вас есть Авангард {clan:nova-grappler}, '
'выберите карту из зоны урона и переверните её лицом вверх.',
"covenant-knight-randolf":
'{auto}{vcrc}:Когда этот юнит атакует, если в вашей руке больше карт, чем у противника, '
'этот юнит получает {power} +3000 до конца этого боя.',
"crimson-butterfly-brigitte":
'{auto}{vc}:Когда в драйвеке оказывается {clan:royal-paladin} 3-го ранга, '
'этот юнит получает {power} +5000 до конца этого боя.',
"demon-eater":
'{auto}{vc}:В начале вашей главной фазы {sc:1}, и этот юнит получает {power} +2000 до конца хода.\n'
'{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этого юнита попадает, вы можете оплатить стоимость. '
'Если вы это сделали, уничтожьте все Арьергарды противника.',
"demon-slaying-knight-lohengrin":
'{auto}{vc}:В начале вашей главной фазы {sc:1}, и этот юнит получает {power} +2000 до конца хода.\n'
'{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этого юнита попадает, вы можете оплатить стоимость. '
'Если вы это сделали, уничтожьте все Арьергарды противника.',
"demonic-dragon-berserker-yaksha":
'{auto}{hand}:В вашу главную фазу, когда Арьергард противника помещается в зону сброса, '
'если у вас Авангард 2-го ранга, вы можете показать эту карту. Если вы это сделали, совершите райд этой картой.',
"demonic-dragon-madonna-joka":
'{auto}{rc}:В вашу главную фазу, когда Арьергард противника помещается в зону сброса, '
'этот юнит получает {power} +3000 до конца хода.',
"demonic-dragon-mage-rakshasa":
'{auto}{rc}:В вашу главную фазу, когда Арьергард противника помещается в зону сброса, '
'этот юнит получает {power} +3000 до конца хода.',
"dragon-knight-aleph":
'{act}{vc}:[{cb:1} & Выберите юнита с именем "Embodiment of Armor, Bahr" и юнита с именем '
'"Embodiment of Spear, Tahr" из вашего {rc} и поместите их в душу] '
'Найдите в колоде до одной карты с именем "Embodiment of Victory, Aleph", совершите райд ею и перемешайте колоду.',
"dragon-monk-genjo":
'(В колоде может быть не более четырёх карт с «{heal} HEAL».)',
"dragon-monk-gojo":
'{act}{vcrc}:[{rest} & Выберите карту из руки и сбросьте её] Возьмите карту.',
"dragon-monk-goku":
'{auto}{vc}:Когда в драйвеке оказывается {clan:kagero} 3-го ранга, '
'выберите Арьергард противника 1-го ранга или ниже и уничтожьте его.',
"dragonic-overlord":
'{cont}{vcrc}:Если у вас нет другого Авангарда или Арьергарда {clan:kagero}, этот юнит получает {power} -2000.\n'
'{act}{vcrc}:{cb:3} До конца хода этот юнит получает {power} +5000, получает '
'"Own{vcrc}:Когда атака этого юнита попадает по Арьергарду противника, {stand} этот юнит," '
'и теряет "{twin-drive}".',
"embodiment-of-victory-aleph":
'{act}{vcrc}:{cb:4} Этот юнит получает {power} +3000/{critical} +1 до конца хода.\n'
'{act}{vc}:[Выберите карту с именем "Dragon Knight, Aleph", карту с именем "Embodiment of Armor, Bahr" '
'и карту с именем "Embodiment of Spear, Tahr" из вашей души и поместите их в зону сброса] '
'Переверните все карты в вашей зоне урона лицом вверх.',
"flame-of-hope-aermo":
'{auto}{rc}:[Выберите карту из руки и сбросьте её] Когда атака попадает в бою, в котором этот юнит усиливал, '
'вы можете оплатить стоимость. Если вы это сделали, возьмите карту.',
"flash-shield-iseult":
'{cont}:{sentinel} (В колоде может быть не более четырёх карт с «{cont}:{sentinel}».)\n'
'{auto}:[Выберите {clan:royal-paladin} из руки и сбросьте её] Когда этот юнит размещается на {gc}, '
'вы можете оплатить стоимость. Если вы это сделали, выберите одного из ваших {clan:royal-paladin}, '
'который подвергается атаке, и этот юнит не может быть поражён до конца этого боя.',
"future-knight-llew":
'{act}{rc}:[{cb:1} & Выберите юнита с именем "Future Knight, Llew", юнита с именем "Barcgal" '
'и юнита с именем "Flogal" из вашего {rc} и поместите их в душу] '
'Если у вас Авангард 1-го ранга, найдите в колоде до одной карты с именем "Blaster Blade", '
'совершите райд ею и перемешайте колоду.',
"guiding-zombie":
'{auto}:Когда другой {clan:granblue} совершает райд на этом юните, вы можете призвать эту карту в {rc}.\n'
'{act}{rc}:[Поместите этот юнит в душу] Поместите три карты с верха колоды в зону сброса.',
"hell-spider":
'{cont}{vc}:В свой ход, если все Авангарды и Арьергарды противника повёрнуты, этот юнит получает {power} +3000.\n'
'{auto}:{cb:2} Когда этот юнит размещается на {vc} или {rc}, вы можете оплатить стоимость. '
'Если вы это сделали, выберите один из Арьергардов противника, и выбранный юнит не может {stand} '
'в следующую фазу стойки противника.',
"highspeed-brakki":
'{auto}{rc}:{sb:1} Когда этот юнит атакует, вы можете оплатить стоимость. '
'Если вы это сделали, этот юнит получает {power} +5000 до конца этого боя, '
'и в начале шага завершения этого боя верните этот юнит в колоду и перемешайте колоду.',
"hungry-dumpty":
'{auto}:Когда этот юнит размещается на {rc}, если у вас есть Авангард {clan:nova-grappler}, '
'выберите карту из зоны урона и переверните её лицом вверх.',
"juggernaut-maximum":
'{cont}{vcrc}:Если у вас нет другого Авангарда или Арьергарда {clan:spike-brothers}, этот юнит получает {power} -2000.\n'
'{auto}{rc}:{sb:1} Когда этот юнит атакует, вы можете оплатить стоимость. '
'Если вы это сделали, этот юнит получает {power} +5000 до конца этого боя, '
'и в начале шага завершения этого боя верните этот юнит в колоду и перемешайте колоду.',
"karma-queen":
'{auto}:{cb:2} Когда этот юнит размещается на {vc} или {rc}, вы можете оплатить стоимость. '
'Если вы это сделали, выберите один из Арьергардов противника, и выбранный юнит не может {stand} '
'в следующую фазу стойки противника.',
"king-of-knights-alfred":
'{cont}{vc}:Ваши юниты не могут усиливать этот юнит.\n'
'{cont}{vc}:В свой ход этот юнит получает {power} +2000 за каждый ваш Арьергард {clan:royal-paladin}.\n'
'{act}{vcrc}:{cb:3} Найдите в колоде до одного {clan:royal-paladin} 2-го ранга или ниже, '
'призовите его в {rc} и перемешайте колоду.',
"knight-of-conviction-bors":
'{auto}{vcrc}:{cb:1} Когда этот юнит атакует, вы можете оплатить стоимость. '
'Если вы это сделали, этот юнит получает {power} +3000 до конца этого боя.',
"knight-of-rose-morgana":
'{auto}{vcrc}:[Выберите карту из руки и сбросьте её] Когда этот юнит атакует, вы можете оплатить стоимость. '
'Если вы это сделали, этот юнит получает {power} +4000 до конца хода.',
"knight-of-the-harp-tristan":
'{auto}{vc}:Когда в драйвеке оказывается {clan:royal-paladin} 3-го ранга, '
'этот юнит получает {power} +5000 до конца этого боя.',
"lake-maiden-lien":
'{act}{vcrc}:[{rest} & Выберите карту из руки и сбросьте её] Возьмите карту.',
"lizard-soldier-conroe":
'{auto}:Когда другой {clan:kagero} совершает райд на этом юните, вы можете призвать эту карту в {rc}.\n'
'{act}{rc}:[{cb:1} & Уничтожьте этот юнит] Найдите в колоде до одного {clan:kagero} 1-го ранга или ниже, '
'покажите его противнику, добавьте в руку и перемешайте колоду.',
"lozenge-magus":
'(В колоде может быть не более четырёх карт с «{heal} HEAL».)\n'
'{auto}:Когда другой {clan:oracle-think-tank} совершает райд на этом юните, вы можете призвать эту карту в {rc}.\n'
'{auto}{rc}:Когда этот юнит усиливает, усиленный юнит получает {power} +3000 до конца этого боя, '
'и в начале конечной фазы этого хода верните этот юнит в колоду и перемешайте колоду.',
"maiden-of-libra":
'{auto}{vcrc}:{cb:2} Когда атака этого юнита попадает, если у вас есть Авангард {clan:oracle-think-tank}, '
'вы можете оплатить стоимость. Если вы это сделали, возьмите карту.',
"monster-frank":
'{act}{drop}:{cb:3} Если у вас Авангард 2-го ранга, совершите райд этой картой.',
"mr-invincible":
'{auto}{vc}:В начале вашей главной фазы {sc:1}, выберите карту из зоны урона и переверните её лицом вверх.\n'
'{auto}{vcrc}:{sb:8} & {cb:5} Когда атака этого юнита попадает, вы можете оплатить стоимость. '
'Если вы это сделали, {stand} все ваши юниты.',
"nightmare-baby":
'{auto}{rc}:Когда этот юнит усиливает юнита с именем "Blue Dust", '
'усиленный юнит получает {power} +4000 до конца этого боя.',
"oracle-guardian-apollon":
'{auto}{vc}:{cb:2} Когда атака этого юнита попадает, вы можете оплатить стоимость. '
'Если вы это сделали, возьмите две карты, выберите карту из руки, верните её в колоду и перемешайте колоду.\n'
'{auto}{rc}:{cb:2} Когда атака этого юнита попадает, вы можете оплатить стоимость. '
'Если вы это сделали, возьмите карту.',
"queen-of-heart":
'{auto}{rc}:Когда этот юнит усиливает юнита с именем "King of Sword", '
'усиленный юнит получает {power} +4000 до конца этого боя.',
"redshoe-milly":
'{auto}:Когда этот юнит помещается в зону сброса из {gc}, поместите эту карту в душу.',
"ring-girl-clara":
'(В колоде может быть не более четырёх карт с «{heal} HEAL».)',
"rock-the-wall":
'{auto}:Когда этот юнит помещается в зону сброса из {gc}, поместите эту карту в душу.',
"screamin-and-dancin-announcer-shout":
'{act}{vcrc}:[{rest} & Выберите карту из руки и сбросьте её] Возьмите карту.',
"solitary-knight-gancelot":
'{act}{vc}:{cb:2} Если у вас в душе есть карта с именем "Blaster Blade", '
'этот юнит получает {power} +5000/{critical} +1 до конца хода.\n'
'{act}{hand}:[Покажите эту карту противнику и положите её на верх колоды] '
'Найдите в колоде до одной карты с именем "Blaster Blade", покажите её противнику, '
'добавьте в руку и перемешайте колоду.',
"starlight-unicorn":
'{auto}:Когда этот юнит размещается на {rc}, выберите другого вашего {clan:royal-paladin}, '
'и этот юнит получает {power} +2000 до конца хода.',
"stealth-beast-chigasumi":
'{auto}{vcrc}:Когда этот юнит атакует, если в вашей руке больше карт, чем у противника, '
'этот юнит получает {power} +3000 до конца этого боя.',
"stealth-beast-hagakure":
'{auto}:{cb:1} Когда этот юнит размещается на {gc}, если у вас есть Авангард {clan:nubatama} '
'и в вашей руке меньше карт, чем у противника, вы можете оплатить стоимость. '
'Если вы это сделали, противник выбирает карту из своей руки и сбрасывает её.',
"stealth-dragon-dreadmaster":
'{auto}{rc}:{cb:1} Когда атака попадает в бою, в котором этот юнит усиливал {clan:nubatama}, '
'если в вашей руке меньше карт, чем у противника, вы можете оплатить стоимость. '
'Если вы это сделали, противник выбирает карту из своей руки и сбрасывает её.',
"stealth-dragon-voidmaster":
'{auto}{vc}:Когда этот юнит атакует, если в вашей руке больше карт, чем у противника, '
'этот юнит получает {power} +3000 до конца этого боя.\n'
'{auto}{vcrc}:{cb:1} Когда атака этого юнита попадает, если в вашей руке меньше карт, чем у противника, '
'вы можете оплатить стоимость. Если вы это сделали, противник выбирает карту из своей руки и сбрасывает её.',
"tyrant-deathrex":
'{auto}{vc}:Когда этот юнит атакует, этот юнит получает {power} +5000 до конца этого боя.\n'
'{auto}{vc}:Когда атака этого юнита попадает, выберите один из ваших Арьергардов и уничтожьте его.',
"vortex-dragon":
'{auto}{vc}:В начале вашей главной фазы {sc:1}, и этот юнит получает {power} +2000 до конца хода.\n'
'{act}{vcrc}:{sb:8} & {cb:5} Выберите до трёх Арьергардов противника и уничтожьте их.',
"weather-girl-milk":
'{auto}{rc}:Когда этот юнит усиливает Авангард {clan:oracle-think-tank}, '
'если в вашей руке четыре или больше карт, усиленный юнит получает {power} +4000 до конца этого боя.',
"wingal":
'{auto}{rc}:Когда этот юнит усиливает карту с именем "Blaster Blade", '
'усиленный юнит получает {power} +4000 до конца этого боя.',
"wyvern-guard-barri":
'{cont}:{sentinel} (В колоде может быть не более четырёх карт с «{cont}:{sentinel}».)'
'{auto}:[Выберите {clan:kagero} из руки и сбросьте её] Когда этот юнит размещается на {gc}, '
'вы можете оплатить стоимость. Если вы это сделали, выберите одного из ваших {clan:kagero}, '
'который подвергается атаке, и этот юнит не может быть поражён до конца этого боя.',
"wyvern-strike-jarran":
'{auto}{rc}:Когда этот юнит усиливает карту с именем "Wyvern Strike, Tejas", '
'усиленный юнит получает {power} +4000 до конца этого боя.',
"wyvern-strike-tejas":
'{cont}{vcrc}:Если этот юнит атакует, он может вместо этого атаковать юнита противника '
'в заднем ряду той же колонны, что и этот юнит.',
"yggdrasil-maiden-elaine":
'(В колоде может быть не более четырёх карт с «{heal} HEAL».)',
}
def block(text: str) -> str:
lines = text.split("\n")
return " textRu: |-\n" + "".join(" " + line + "\n" for line in lines)
def main() -> None:
source = PATH.read_text(encoding="utf-8")
lines = source.split("\n")
out = []
current = None
filled = 0
skipped = 0
for line in lines:
m = re.match(r"^ - nameId: (.+)$", line)
if m:
current = m.group(1).strip()
if line == ' textRu: ""' and current in T:
out.append(block(T[current]).rstrip("\n"))
filled += 1
continue
if line.startswith(" textRu:"):
skipped += 1
out.append(line)
PATH.write_text("\n".join(out), encoding="utf-8")
print(f"filled={filled} skipped={skipped} translations={len(T)}")
if __name__ == "__main__":
main()