manabrew_engine/ability/effects/
choose_direction_effect.rs1use super::EffectContext;
2use crate::agent::BinaryChoiceKind;
3
4#[manabrew_engine_macros::spell_effect(ChooseDirectionEffect)]
11fn resolve(ctx: &mut EffectContext, sa: &crate::spellability::SpellAbility) {
12 let controller = sa.activating_player;
13 let Some(source_id) = sa.source else { return };
14 let source_name = ctx.game.card(source_id).card_name.clone();
15 let choose_left = ctx.agents[controller.index()].choose_binary(
16 controller,
17 "Choose direction",
18 BinaryChoiceKind::LeftOrRight,
19 None,
20 Some(source_id),
21 sa.api,
22 );
23 ctx.game.card_mut(source_id).set_s_var(
24 "ChosenDirection",
25 if choose_left { "Left" } else { "Right" },
26 );
27}