Thumb Of God lands: the 6th edition is 100% implemented
Eric chose the "divine meteor" redesign for the one card that cannot be digitized faithfully (the physical version has you flick the die at the board from six inches). Digital form: aim at a square in sight; the die drifts 0-2 squares in a random direction, then every token in and around the landing square — ground objects, treasures, creatures, and wizards alike — is flung to a random nearby square. Walls mean nothing to falling cardboard; tokens knocked off the board settle at the nearest edge, per the original card; there is no counteraction. With this, all 128 unique cards of the 6th edition game (69 basic + 59 Expansion Set #1) are implemented, tested, and playable online. The "unimplemented card" guard test now points at an Expansion #2 shelf card, which is the only kind left. 119 tests passing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
21dcd532a3
commit
c9524a37db
@@ -226,3 +226,23 @@ describe("swap home bases", () => {
|
||||
expect(cellKey(state.players.find((p) => p.id === other.id)!.home)).toBe(cellKey(myHome));
|
||||
});
|
||||
});
|
||||
|
||||
describe("thumb of god (divine meteor)", () => {
|
||||
it("scatters every token near where the die lands", () => {
|
||||
let { state } = newGame();
|
||||
state = toRound2(state);
|
||||
const me = activePlayer(state);
|
||||
// Sprinkle the blast zone: a ground object and the enemy nearby.
|
||||
const enemy = state.players.find((p) => p.id !== me.id)!;
|
||||
enemy.position = { ...me.position };
|
||||
state.groundObjects[cellKey(me.position)] = [{ instanceId: "dagger#G", cardId: "dagger" }];
|
||||
const tog = giveCard(state, me.id, "thumb-of-god");
|
||||
state = must(state, me.id, {
|
||||
type: "cast", instanceId: tog.instanceId, target: { kind: "cell", cell: me.position },
|
||||
});
|
||||
expect(state.turn.attackUsed).toBe(true);
|
||||
// The dagger moved somewhere on the board.
|
||||
const allObjects = Object.values(state.groundObjects).flat();
|
||||
expect(allObjects.some((c) => c.cardId === "dagger")).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user