fertig-classic-games/tools
Brian Fertig 63bca959c3 feat(swdbg): overhaul card data from physical set transcription
Regenerate all galaxy cards from the owner's physical card CSV
(assets/info/sw-force-cards.csv) with verified stats, abilities, and
bounty rewards. Cross-check is enforced by tools/verifySWDBG.js.

New mechanics:
- oppChoice: opponent picks between discard / giveForce / attackBoost
  (Duros Spy, B-Wing)
- dealDamage: exile-self effect targeting base OR enemy capital (Y-Wing)
- buyGalaxyDiscard: exile a unit to purchase from the discard pile
  (Jawa Scavenger)
- topdeckNextPurchase: next buy goes on deck top (Twi'lek Smuggler)
- takeRowTemp: borrow a row card, exile it at turn end (Grand Moff Tarkin)
- lookTopSwap: peek deck top, swap with a row card while Force is yours
  (Moff Jerjerrod)
- lookOppHand: reveal opponent's hand, optionally topdeck a card
  (Jyn Erso)
- purchaseToHand: onPurchase adds card to hand instead of discard
  (Fang Fighter)

New ability gates: requiresOppCapital, requiresTraitInPlay,
requiresOtherHero, requiresForce (on multi effects).

New constant ops: typeBoost (Admiral Piett), selfBoostPerBaseLost
(Baze Malbus). New timing: onPurchase.

Updated 55+ cards with corrected costs, attacks, HP, counts, traits,
and abilities. Added 11 new frames to the art sheet (55–65); 4 frames
orphaned but preserved.

Adds ~20 scripted rule spot-checks covering all new mechanics.
2026-07-08 22:07:48 -06:00
..
buildCommonWords.js Major Port 2026-06-28 19:27:29 -06:00
genDotLink.js Major Port 2026-06-28 19:27:29 -06:00
genJumble.js feat: add Jumble word puzzle game with 58 curated levels 2026-06-30 19:42:57 -06:00
genKatamino.js Major Port 2026-06-28 19:27:29 -06:00
genMiniCrossword.js Major Port 2026-06-28 19:27:29 -06:00
genPuddingMonsters.js Major Port 2026-06-28 19:27:29 -06:00
genRushHour.js Major Port 2026-06-28 19:27:29 -06:00
genSpireClimbCreatures.js Major Port 2026-06-28 19:27:29 -06:00
genZuma.js Major Port 2026-06-28 19:27:29 -06:00
verifyBejeweled.js Major Port 2026-06-28 19:27:29 -06:00
verifyBlockFighter.js Major Port 2026-06-28 19:27:29 -06:00
verifyBookwork.js Major Port 2026-06-28 19:27:29 -06:00
verifyCanasta.js Major Port 2026-06-28 19:27:29 -06:00
verifyCribbage.js Major Port 2026-06-28 19:27:29 -06:00
verifyDotLink.js Major Port 2026-06-28 19:27:29 -06:00
verifyDungeonBoss.js feat(dungeonboss): mid-walk spell casting in adventure windows 2026-07-06 21:55:04 -06:00
verifyGinRummy.js Major Port 2026-06-28 19:27:29 -06:00
verifyJewelQuest.js Major Port 2026-06-28 19:27:29 -06:00
verifyJumble.js feat: add Jumble word puzzle game with 58 curated levels 2026-06-30 19:42:57 -06:00
verifyMahjong.js Major Port 2026-06-28 19:27:29 -06:00
verifyMahjongMatch.js Major Port 2026-06-28 19:27:29 -06:00
verifyMiniMotorways.js Major Port 2026-06-28 19:27:29 -06:00
verifyPaiGowPoker.js Major Port 2026-06-28 19:27:29 -06:00
verifyRisk.js Major Port 2026-06-28 19:27:29 -06:00
verifyRummikub.js Major Port 2026-06-28 19:27:29 -06:00
verifySWDBG.js feat(swdbg): overhaul card data from physical set transcription 2026-07-08 22:07:48 -06:00
verifySlots.js Major Port 2026-06-28 19:27:29 -06:00
verifySpireClimb.js Major Port 2026-06-28 19:27:29 -06:00
verifyZuma.js Major Port 2026-06-28 19:27:29 -06:00