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>
34 lines
911 B
Rust
34 lines
911 B
Rust
// Module 4 Expansion Drop: Brann Bronzebeard. Matches expansion/README.md.
|
|
use engine::harness::*;
|
|
|
|
#[test]
|
|
fn test_04x_brann_doubles_battlecry() {
|
|
let mut g = new_game(GameOpts {
|
|
decks: Some([vec!["Test Filler".to_string(); 5], vec![]]),
|
|
});
|
|
let brann = g.summon("Brann Bronzebeard", 0);
|
|
let e = g.add_to_hand("Novice Engineer", 0);
|
|
g.clear_log();
|
|
|
|
g.play(e);
|
|
|
|
let hand = g.hand(0);
|
|
assert_eq!(hand.len(), 2);
|
|
let (c1, c2) = (hand[0], hand[1]);
|
|
let battlecry = GameEvent::Triggered {
|
|
source: e,
|
|
trigger: "battlecry".to_string(),
|
|
};
|
|
assert_eq!(
|
|
g.log(),
|
|
vec![
|
|
GameEvent::Summoned { id: e },
|
|
battlecry.clone(),
|
|
GameEvent::Drew { player: 0, id: c1 },
|
|
battlecry,
|
|
GameEvent::Drew { player: 0, id: c2 },
|
|
]
|
|
);
|
|
assert_eq!(g.board(0), vec![brann, e]);
|
|
}
|