Commit Graph

12 Commits

Author SHA1 Message Date
MpakobecEx 7ca53975d7 Drive-check and guardian triggers, return-to-deck effects, 8 more cards
Asura Kaiser reacts to grade 3 Nova Grappler drive checks; Rock the Wall and Redshoe Milly move from the guardian circle to soul; Juggernaut and Brakki return to deck after battle; Lozenge and Battleraizer return at end of turn; Guiding Zombie puts itself into soul and mills three. Four tests; 102 total.
2026-10-21 13:47:00 +05:00
MpakobecEx 80095da51f Script 21 more BT01 cards
New scripts: Mocha, Randolf, Chigasumi, Queen of Heart, Jarran, Milk, Nightmare Baby, Hungry Dumpty, Clay Doll Mechanic, Blue Dust, Karma Queen, Hell Spider, Dragonic Overlord, Gancelot, Aleph, Apollon, Lohengrin, Vortex Dragon, Amaterasu, Mr. Invincible, Brutal Jack. Engine additions: OnBoosted trigger, reusable effect helpers (soul charge, retire all, flip damage, return hand card to deck, opponent discard), boost-trigger chaining so attack-declared waits for boost resolution. Four new tests; 98 total.
2026-10-21 13:44:39 +05:00
MpakobecEx a5fef89984 Top-deck look and search-to-call/ride
LookTopAndReorder asks top or bottom without revealing the deck. SearchDeckToCall and SearchDeckToRide wrap the search primitive; Alfred searches a Royal Paladin grade 2 or lower and calls it, Cocoa looks at the top card. Five tests.
2026-10-21 13:20:47 +05:00
MpakobecEx fa507576d9 Server-side deck search without exposing the deck
SearchDeck hides the deck and returns matches only: none -> SearchFailedEvent and shuffle, one -> straight to the effect, several -> PendingChoice. Different arts are separate results, labelled with the printing id. Wired into Conroe, which pays Counter Blast 1 and retires itself. Four tests.
2026-10-21 13:18:57 +05:00
MpakobecEx b7473f73d7 Ability bus, Check Timing and the first card scripts
CardScript model with Triggered and Continuous abilities. Check Timing collects triggered abilities, orders them (turn player first, player picks the order via SelectTriggerCommand), and pauses on optional abilities (ResolveAbilityCommand). Continuous effects are recomputed on demand in EffectivePower. Scripts: Barcgal (optional call from soul), Wingal (+4000 when boosting Blaster Blade), Alfred (+2000 per Royal Paladin rear-guard). Six tests.
2026-10-21 00:53:36 +05:00
MpakobecEx bf2ea337f8 Drive checks belong to the attacking card
Grade 0-2 vanguard performs one check, grade 3+ performs two, rear-guards perform none by default. CardInstance.DriveChecksOverride lets effects remove Twin Drive or grant checks to a rear-guard. Added DriveCheckedEvent for the log. Five tests.
2026-10-21 00:47:44 +05:00
MpakobecEx 71db856480 Move: rear-guard moves within its column and swaps with an occupied circle
MoveCommand(from, to) in the Main phase. Only 0-3 (left) and 2-4 (right) are valid pairs; the center back row has no partner. Rested state stays with the card. Five tests.
2026-10-21 00:45:15 +05:00
MpakobecEx fdc21c8a26 Intercept: grade 2 front-row rear-guard moves to the guardian circle
InterceptCommand during the guard step. The interceptor leaves its circle, becomes the power reference for the attack and goes to the drop zone at the end of the battle; the original target survives. Grade 1 cannot intercept, back row only with InterceptFromBackRow granted by an effect. Five tests.
2026-10-21 00:40:23 +05:00
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