Trigger multipliers as aura data on cards, snapshotted by an Aura Update (Other) after each Death Creation Step and on summon, and applied by one generic routine (activations) when each queued trigger starts. Baron Rivendare is content only (stacking "max"); Brann Bronzebeard is the content-only Expansion Drop. Adds play (now required) and Battlecry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
801 B
TypeScript
25 lines
801 B
TypeScript
// Module 4 Expansion Drop: Brann Bronzebeard. Matches expansion/README.md.
|
|
import { expect, test } from "vitest";
|
|
import { newGame } from "../src/harness";
|
|
|
|
test("test_04x_brann_doubles_battlecry", () => {
|
|
const g = newGame({ decks: [Array(5).fill("Test Filler"), []] });
|
|
const brann = g.summon("Brann Bronzebeard", 0);
|
|
const e = g.addToHand("Novice Engineer", 0);
|
|
g.clearLog();
|
|
|
|
g.play(e);
|
|
|
|
const hand = g.hand(0);
|
|
expect(hand).toHaveLength(2);
|
|
const [c1, c2] = hand;
|
|
expect(g.log()).toEqual([
|
|
{ type: "Summoned", id: e },
|
|
{ type: "Triggered", source: e, trigger: "battlecry" },
|
|
{ type: "Drew", player: 0, id: c1 },
|
|
{ type: "Triggered", source: e, trigger: "battlecry" },
|
|
{ type: "Drew", player: 0, id: c2 },
|
|
]);
|
|
expect(g.board(0)).toEqual([brann, e]);
|
|
});
|