Skip to content

Smash Up: fusion playAs + Tricksters POD (Pixie) + atlas fixes#2

Merged
deathcats4 merged 36 commits into
mainfrom
smashup-faction-fixes-v2
Mar 18, 2026
Merged

Smash Up: fusion playAs + Tricksters POD (Pixie) + atlas fixes#2
deathcats4 merged 36 commits into
mainfrom
smashup-faction-fixes-v2

Conversation

@deathcats4

Copy link
Copy Markdown
Owner

Summary

  • Add fusion card play-as selector (minion vs action) and wire into existing play commands.
  • Implement Tricksters POD set, including Pixie fusion and Hideout POD talent swap + optional destroy.
  • Update POD zh-CN card text to use 战斗力 for power.
  • Fix POD/TTS atlas rendering fallback and map Pixie art to tts_atlas_6 (indices 8/9).

Test plan

  • npm test -- smashup

Track scored bases in a base discard pile and rebuild the base deck from it when empty, ensuring long games can always replace scored bases deterministically.

Made-with: Cursor
Tighten CARDS_DISCARDED to only discard from hand and add CARDS_MILLED for moving cards from deck to discard. Update zombie abilities and action log to use the new semantics.

Made-with: Cursor
Introduce a TriggerInstance queue and reaction ordering interaction to align with Wiki simultaneous trigger rules. Enqueue onMinionMoved triggers with witness gating and resolve via a global reaction chooser.

Made-with: Cursor
Route onMinionAffected through the global reaction queue and apply base-scoped witness gating, aligning affected reactions with the new simultaneous trigger ordering model.

Made-with: Cursor
Split onMinionDestroyed into replacement vs reaction phases. Keep prevention (Drone/Nine Lives) immediate, queue confirmed-destroy reactions via triggerQueue with minimal LKI, and auto-resolve single queued triggers.

Made-with: Cursor
Annotate replacement-style onMinionDestroyed triggers (Buccaneer, Escape Hatch) and implement Frankenstein Grave Situation as a true replacement return-to-hand so destroy reactions only fire on confirmed destroys.

Made-with: Cursor
When onMinionDestroyed replacement effects redirect a minion to deck top/bottom (e.g. Tar Pits), suppress the original MINION_DESTROYED and keep only the redirect event, preventing double-zone outcomes.

Made-with: Cursor
Add ENGINE_GUIDE.md documenting destroy replacement vs reaction pipeline, reaction queue ordering, witness/LKI, and event semantics. Link it from wiki-rules-coverage.md for future faction expansions/AI workflows.

Made-with: Cursor
Stop auto-mulliganing opening hands with no minions. Instead queue a one-time keep/mulligan interaction per eligible player and resolve it via HAND_SHUFFLED_INTO_DECK + CARDS_DRAWN, recording STARTING_HAND_MULLIGAN_USED.

Made-with: Cursor
Collect onMinionPlayed ongoing triggers into the global reaction queue for Wiki-style simultaneous ordering. Add a unit test ensuring multiple mandatory onMinionPlayed triggers open an ordering interaction.

Made-with: Cursor
Queue ongoing beforeScoring/afterScoring triggers via triggerQueue for Wiki simultaneous ordering. Persist rankings on TriggerInstance for afterScoring triggers and resolve queued reactions inside scoreOneBase so scoring can halt on created interactions.

Made-with: Cursor
Queue ongoing onTurnStart and onTurnEnd triggers via triggerQueue so simultaneous triggers follow Wiki ordering. Resolve queued turn triggers immediately so flow can halt on created interactions. Add a unit test covering onTurnStart ordering.

Made-with: Cursor
Queue onMinionDiscardedFromBase triggers via triggerQueue so simultaneous discard reactions follow Wiki ordering, and resolve queued triggers immediately so scoring can halt on created interactions. Add a unit test covering ordering prompt.

Made-with: Cursor
Adds fusion card play-as selection, completes Tricksters POD (incl. Pixie fusion + Hideout talent), updates POD zh-CN power wording to 战斗力, and fixes POD/TTS atlas rendering and Pixie card art mapping.

Made-with: Cursor
Align Giant Ants (POD) ids, stats, ability tags, and en/zh-CN texts with the provided card list. Standardize zh-CN Special wording to '特殊' and add regression tests.

Made-with: Cursor
Align Miskatonic University (POD) card ids/atlas keys and en/zh-CN texts with the provided card list. Implement POD-only behaviors (Those Meddling Kids OR mode, Field Trip draw+1, Psychologist choice, Librarian talent) while preserving base faction behavior.

Made-with: Cursor
- Apply Elder Thing errata: add Ongoing wording/tags and register full protection (destroy/move/affect).

- Fix Unfathomable Goals destroy execution source to match rules/FAQ.

- Add engine-level removed-from-game zone/event; make Insanity POD remove itself after resolving; add tests.

Made-with: Cursor
Power of Madness (POD) now names an action from a full action list (including Madness) before revealing the target hand, then discards named copies and reshuffles discard into deck.

Made-with: Cursor
Limit Power of Madness (POD) naming choices to actions from factions present in the current match (plus Madness), sorted by localized name for easier selection.

Made-with: Cursor
Replace vampires_pod card pool, add Wolf Pact fusion and Stakeout, update EN/ZH i18n, and add a focused POD test. Includes a small engine event/reducer path to persist Stakeout's temporary base play restriction.

Made-with: Cursor
Gbnssucharitha and others added 6 commits March 17, 2026 23:03
Implement base-level buried cards, start-turn uncover flow, and base-cleared discard behavior. Refine Vampires POD: make Fledgling bury use CARD_BURIED and add played-from tracking for its +1 counter trigger; align Buffet/Mad Monster Party data to after-destroy special behavior.

Made-with: Cursor
- Blitzed: allow removing 0 counters and still destroy eligible minions

- Uberserum: start-turn counters follow action controller

- Grave Situation (POD): update EN/ZH text to errata wording

- Add regression tests

Made-with: Cursor
- Fix onPlay chain for fromBuried/fromDiscard by reducing MINION_PLAYED before triggers

- Pass destroyerId through reaction queue for 'after you destroy' checks

- Allow Mi-go POD counter to target any minion

- Treat _pod cthulhu factions as cthulhu expansion for madness deck init

Made-with: Cursor
- Remove Shoggoth POD play constraint

- Clear leaked afterScoringInitialPowers at startTurn to prevent unintended base clear/replace

Made-with: Cursor
Update atlasId/index for multiple Smash Up cards (Dinosaurs POD, Killer Plants, Ghosts, Bear Cavalry, Cthulhu, Elder Things, Vampires POD, Ninjas, Werewolves, Frankenstein).

Made-with: Cursor
@deathcats4 deathcats4 merged commit 84e758e into main Mar 18, 2026
1 check passed
deathcats4 added a commit that referenced this pull request Apr 11, 2026
Smash Up: fusion playAs + Tricksters POD (Pixie) + atlas fixes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants