manabrew_engine/ability/effects/
run_chaos_effect.rs1use super::EffectContext;
6use crate::event::RunParams;
7use crate::ids::CardId;
8use crate::trigger::TriggerType;
9
10#[manabrew_engine_macros::spell_effect(RunChaosEffect)]
14fn resolve(ctx: &mut EffectContext, sa: &crate::spellability::SpellAbility) {
15 let targets: Vec<CardId> = if let Some(target) = sa.target_chosen.target_card {
17 vec![target]
18 } else if let Some(source) = sa.source {
19 ctx.game.card(source).remembered_cards.clone()
20 } else {
21 return;
22 };
23
24 for card_id in targets {
25 ctx.trigger_handler.run_trigger(
26 TriggerType::ChaosEnsues,
27 RunParams {
28 card: Some(card_id),
29 player: Some(sa.activating_player),
30 ..Default::default()
31 },
32 false,
33 );
34 }
35}