Commit Graph

4 Commits

Author SHA1 Message Date
MpakobecEx 830785a8d6 Perfect Guard: pay the cost to nullify the attack, otherwise zero shield
GuardCommand takes an optional discard. Sentinel cards have zero shield; paying with a card of the same clan sets Nullified on the battle so power no longer matters. Three tests: paid, unpaid, wrong clan.
2026-10-21 00:37:05 +05:00
MpakobecEx 66f2ecc3f5 Implement Boost as a separate ability that effects can grant or remove
Cards of grade 0 and 1 have boost by default (HasBoost); CardInstance.BoostOverride lets an effect grant or remove it at runtime. AttackCommand takes an optional BoosterSlot: the back-row unit in the same column adds its power for that battle only and becomes rested. Four new tests.
2026-10-21 00:34:58 +05:00
MpakobecEx a4457c6d21 Trigger targeting: +5000 and secondary effect are chosen by the player
Drive check now pauses on a trigger and waits for ResolveTriggerCommand(powerTarget, effectTarget). Power and crit modifiers moved from the battle to the unit and are cleared at the end of the battle. Stand stands the chosen rear-guard; Critical applies +1 crit to the chosen unit. Damage-check triggers still apply only the secondary effect.
2026-10-21 00:24:21 +05:00
MpakobecEx 1b317b6532 Game engine skeleton: phases, ride, call, battle, drive and damage
Pure rules library with no Orleans or database. Command in, events out. Deterministic RNG stored in GameState. Covers setup with starting vanguard and mulligan, six phases, ride, call, attack, guard, drive check, damage check with triggers, retirement and win at six damage. 8 engine tests, 30 total. Sentinel, boost and card abilities are the next step.
2026-10-21 00:20:10 +05:00