5.3 KiB
5.3 KiB
Правила работы
Это общие правила для ассистента и будущих сессий.
Общение
- Ответы короткие. Не повторять уже сохранённое в документации, не пересказывать код и не добавлять длинные вступления. Экономить токены.
- Любое сомнение или вопрос — диалог. Если есть выбор, неоднозначность или риск, сначала показать 2–4 варианта с краткой рекомендацией, дать пользователю выбрать или ответить самому. Не угадывать и не принимать решение за него.
Контекст
- При работе с этим проектом всегда загружать скилл
vanguard-remaster(.opencode/skills/vanguard-remaster/SKILL.md) до начала анализа или правок. - Перед началом работы читать
docs/SESSION-STATE.md, затемdocs/HANDOFF.mdиdocs/client-visual-direction.md. - Главное состояние и следующие шаги хранить в
docs/SESSION-STATE.md, подробную историю — вdocs/HANDOFF.md. - После блока: тесты,
validate,translations check, коммит и push.
UI и взаимодействие
- Выбор делаем интерактивом по объектам: клик/драг по карте, кругу, зоне или полю. Не заменяем выбор карты, круга или цели списком кнопок в интерфейсе.
- Кнопки допустимы только для глобальных действий и подтверждений: завершить ход, сдаться, отмена, принять/пропустить опциональную способность. Если выбирается конкретная карта/круг/зона — это делается кликом по объекту.
- Информационные оверлеи (
ActionPrompt, подсказки) не должны перехватывать клики и не дублируют выбор кнопками.
Способности
- Каждая текстовая способность карты должна иметь ровно одну реализацию:
CardScript(Abilities/Continuous/Activated), общий движок (Sentinel, Heal/Trigger, Tejas) или флаг данных. Текст без реализации — баг. - AUTO:
AbilityDefinitionсTrigger,Condition,Optional,CanPay/PayиResolve. Проверяй зону/источник черезIsVanguardOf/IsRearGuardOf/IsInHand;OnPlaceне должен срабатывать от VC, если текст требует RC. - ACT:
ActivatedAbility; флагиRestsSelf,RetiresSelf,RequiresDiscard,FromHand,FromDropZone.CanActivate— только проверка условий; оплата и эффект — вResolve(илиPayдля AUTO). - CONT:
ContinuousAbilityдля силы/критики; исключения вроде «нельзя поддерживать» — черезCardScript.CanBeBoosted, ограничения передвижения/атаки — черезRestrictionType. - Sentinel:
IsSentinelв данных, общий механизм Guard + сброс карты того же клана; отдельный скрипт не нужен. - Trigger/Heal: данные
trigger; общий движок проверок и лечения. - Ключевые механики: Tejas —
CanSnipeBackRow; Restraint — флаг; Boost/Intercept —HasBoost/HasInterceptи общий движок. - Выбор и цели: только
AskUnitChoice,AskUnitMultiChoice,AskHandCardChoice,AskEmptyRearGuardChoice; клиент не выбирает карты кнопками вместо объектов. - Клиент: AUTO-подтверждение — оверлей; ACT — меню/оверлей карты; стоимость способности (сброс/урон/поле) выбирается по объектам и подтверждается кнопкой панели «Действия».
- После правок способностей проверять весь реестр
CardScripts.Default, тесты правил,validateиtranslations check. - Полный аудит 66 карт и правила для новых карт —
docs/ability-implementation.md.
Технические ограничения
- Не запускать
dotnetи Docker на рабочем ПК; сервер проверять наssh home. - Не открывать второй экземпляр Unity с тем же проектом; для batch-проверок
делать копию проекта без
Library. Vanguard.Rulesостаётся чистой библиотекой; сервер зависит от неё, а не наоборот.