manabrew_engine/ability/effects/
planeswalk_effect.rs1use super::EffectContext;
6use crate::event::RunParams;
7use crate::replacement::replacement_handler::{apply_replacements, ReplacementEvent};
8use crate::replacement::ReplacementResult;
9use crate::trigger::TriggerType;
10
11#[manabrew_engine_macros::spell_effect(PlaneswalkEffect)]
15fn resolve(ctx: &mut EffectContext, sa: &crate::spellability::SpellAbility) {
16 let mut event = ReplacementEvent::Planeswalk {
18 player: sa.activating_player,
19 };
20 let result = apply_replacements(ctx.game, &mut event);
21 if result == ReplacementResult::Skipped || result == ReplacementResult::Replaced {
22 return;
23 }
24
25 ctx.trigger_handler.run_trigger(
27 TriggerType::Planeswalk,
28 RunParams {
29 player: Some(sa.activating_player),
30 ..Default::default()
31 },
32 false,
33 );
34}