VanguardReMaster/docs/ability-implementation.md

115 lines
6.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Реализация способностей карт
Актуально на **2026-10-24**. Источник правил — `content/sets/*.yaml`,
`textEn`; источник исполнения — `Vanguard.Rules`. Рабочие паттерны и чеклист
новой карты — Skill `vanguard-remaster/card-implementation.md`.
## Проверка реестра
Проверены все **66** карт с текстом способностей в BT01/TD01/TD02.
Для каждой есть одна реализация:
- `CardScript` — 59 карт в `CardScripts.Default`;
- `Generic: Sentinel` — 3 карты (`flash-shield-iseult`,
`wyvern-guard-barri`, `battle-sister-chocolat`): данные `sentinel` +
общий Guard/сброс;
- `Generic: Heal trigger` — 3 карты (`yggdrasil-maiden-elaine`,
`dragon-monk-genjo`, `ring-girl-clara`): данные `trigger: Heal`;
- `Data: CanSnipeBackRow` — `wyvern-strike-tejas`: флаг данных + общий
движок атаки заднего ряда.
## Полный список
| Карта | Клан | Ранг | Реализация |
|---|---|---:|---|
| `king-of-knights-alfred` | RoyalPaladin | 3 | CardScript |
| `blaster-blade` | RoyalPaladin | 2 | CardScript |
| `barcgal` | RoyalPaladin | 0 | CardScript |
| `dragonic-overlord` | Kagero | 3 | CardScript |
| `embodiment-of-victory-aleph` | Kagero | 3 | CardScript |
| `ceo-amaterasu` | OracleThinkTank | 3 | CardScript |
| `battle-sister-cocoa` | OracleThinkTank | 1 | CardScript |
| `asura-kaiser` | NovaGrappler | 3 | CardScript |
| `demon-slaying-knight-lohengrin` | RoyalPaladin | 3 | CardScript |
| `solitary-knight-gancelot` | RoyalPaladin | 3 | CardScript |
| `flash-shield-iseult` | RoyalPaladin | 1 | Generic: Sentinel |
| `future-knight-llew` | RoyalPaladin | 0 | CardScript |
| `vortex-dragon` | Kagero | 3 | CardScript |
| `dragon-knight-aleph` | Kagero | 2 | CardScript |
| `wyvern-guard-barri` | Kagero | 1 | Generic: Sentinel |
| `lizard-soldier-conroe` | Kagero | 0 | CardScript |
| `maiden-of-libra` | OracleThinkTank | 2 | CardScript |
| `battle-sister-mocha` | OracleThinkTank | 2 | CardScript |
| `battle-sister-chocolat` | OracleThinkTank | 1 | Generic: Sentinel |
| `juggernaut-maximum` | SpikeBrothers | 3 | CardScript |
| `wyvern-strike-tejas` | Kagero | 2 | Data: CanSnipeBackRow |
| `oracle-guardian-apollon` | OracleThinkTank | 3 | CardScript |
| `lozenge-magus` | OracleThinkTank | 0 | CardScript |
| `mr-invincible` | NovaGrappler | 3 | CardScript |
| `brutal-jack` | NovaGrappler | 2 | CardScript |
| `queen-of-heart` | NovaGrappler | 1 | CardScript |
| `battleraizer` | NovaGrappler | 0 | CardScript |
| `tyrant-deathrex` | Tachikaze | 3 | CardScript |
| `assault-dragon-blightops` | Tachikaze | 2 | CardScript |
| `stealth-dragon-voidmaster` | Nubatama | 3 | CardScript |
| `demon-eater` | DarkIrregulars | 3 | CardScript |
| `monster-frank` | Granblue | 3 | CardScript |
| `hell-spider` | Megacolony | 3 | CardScript |
| `covenant-knight-randolf` | RoyalPaladin | 2 | CardScript |
| `lake-maiden-lien` | RoyalPaladin | 1 | CardScript |
| `wingal` | RoyalPaladin | 1 | CardScript |
| `yggdrasil-maiden-elaine` | RoyalPaladin | 0 | Generic: Heal trigger |
| `dragon-monk-gojo` | Kagero | 1 | CardScript |
| `wyvern-strike-jarran` | Kagero | 1 | CardScript |
| `dragon-monk-genjo` | Kagero | 0 | Generic: Heal trigger |
| `weather-girl-milk` | OracleThinkTank | 1 | CardScript |
| `hungry-dumpty` | NovaGrappler | 2 | CardScript |
| `screamin-and-dancin-announcer-shout` | NovaGrappler | 1 | CardScript |
| `clay-doll-mechanic` | NovaGrappler | 1 | CardScript |
| `ring-girl-clara` | NovaGrappler | 0 | Generic: Heal trigger |
| `stealth-beast-chigasumi` | Nubatama | 2 | CardScript |
| `stealth-dragon-dreadmaster` | Nubatama | 1 | CardScript |
| `stealth-beast-hagakure` | Nubatama | 0 | CardScript |
| `blue-dust` | DarkIrregulars | 2 | CardScript |
| `nightmare-baby` | DarkIrregulars | 1 | CardScript |
| `rock-the-wall` | DarkIrregulars | 0 | CardScript |
| `highspeed-brakki` | SpikeBrothers | 2 | CardScript |
| `redshoe-milly` | SpikeBrothers | 0 | CardScript |
| `guiding-zombie` | Granblue | 0 | CardScript |
| `karma-queen` | Megacolony | 1 | CardScript |
| `crimson-butterfly-brigitte` | RoyalPaladin | 3 | CardScript |
| `knight-of-conviction-bors` | RoyalPaladin | 3 | CardScript |
| `knight-of-the-harp-tristan` | RoyalPaladin | 2 | CardScript |
| `starlight-unicorn` | RoyalPaladin | 1 | CardScript |
| `knight-of-rose-morgana` | RoyalPaladin | 1 | CardScript |
| `dragon-monk-goku` | Kagero | 3 | CardScript |
| `demonic-dragon-berserker-yaksha` | Kagero | 3 | CardScript |
| `berserk-dragon` | Kagero | 2 | CardScript |
| `flame-of-hope-aermo` | Kagero | 1 | CardScript |
| `demonic-dragon-madonna-joka` | Kagero | 1 | CardScript |
| `demonic-dragon-mage-rakshasa` | Kagero | 0 | CardScript |
## Исправлено при аудите 2026-10-24
- **Conroe**: добавлена недостающая `AUTO`: когда другой Kagero ride-over
эту карту, можно призвать Conroe из души в RC (`OnRideOver`).
- **Maiden of Libra**: добавлена проверка, что авангард — Oracle Think
Tank, как в тексте.
- **Starlight Unicorn**, **Hungry Dumpty**, **Clay Doll Mechanic**:
`OnPlace` теперь требует именно RC, а не срабатывает от VC.
- **Joka**, **Rakshasa**: бонус за retire соперника теперь требует
нахождения на RC, а не просто «не Vanguard» (включая руку).
- **Alfred**: добавлен CONT-запрет поддержки авангарда Alfred.
## Новые карты
Для новой карты с текстом:
1. Найти все `AUTO`/`ACT`/`CONT`/ключевые механики в `textEn`.
2. Реализовать `CardScript` или общий движок; не оставлять текст без
`AbilityDefinition`.
3. Проверить зону источника (`IsVanguardOf`, `IsRearGuardOf`,
`IsInHand`) и опциональность (`Optional`/`CanPay`/`Pay`).
4. Для выбора использовать только `Ask*Choice`, не кнопочные списки.
5. Добавить тест на каждый триггер/активацию и прогнать весь реестр.