pub struct ChooseSourceEffect;Trait Implementations§
Source§impl SpellAbilityEffect for ChooseSourceEffect
impl SpellAbilityEffect for ChooseSourceEffect
Source§fn resolve(ctx: &mut EffectContext<'_>, sa: &SpellAbility)
fn resolve(ctx: &mut EffectContext<'_>, sa: &SpellAbility)
SP$ ChooseSource — the activating player chooses a source (permanent/spell).
Stores the result for subsequent effects.
Mirrors Java’s ChooseSourceEffect.java.
Choices$— filter for valid sources (default: Permanent on battlefield).
§Card script examples
A:SP$ ChooseSource | Choices$ PermanentStruct form of this effect so it can participate in the
SpellAbilityEffect trait hierarchy — mirrors Java’s
ChooseSourceEffect class extending SpellAbilityEffect.
Source§fn get_stack_description(sa: &SpellAbility) -> String
fn get_stack_description(sa: &SpellAbility) -> String
Return the stack description for this effect.
Defaults to the spell ability’s own description.
Source§fn build_spell_ability(_sa: &mut SpellAbility)
fn build_spell_ability(_sa: &mut SpellAbility)
Build/configure the spell ability after construction.
Default is a no-op; some effects override this to add parameters.
Source§fn tokenize_string(game: &GameState, sa: &SpellAbility, desc: &str) -> String
fn tokenize_string(game: &GameState, sa: &SpellAbility, desc: &str) -> String
Tokenize a description string, replacing CARDNAME with the card’s name.
Mirrors Java’s
SpellAbilityEffect.tokenizeString(SpellAbility, String).Source§fn add_forget_on_moved_trigger(
game: &mut GameState,
host_id: CardId,
remembered_card_id: CardId,
)
fn add_forget_on_moved_trigger( game: &mut GameState, host_id: CardId, remembered_card_id: CardId, )
Add a “forget on moved” trigger for remembered cards.
Mirrors Java’s
SpellAbilityEffect.addForgetOnMovedTrigger(SpellAbility, Card, String).Source§fn create_effect(
game: &mut GameState,
sa: &SpellAbility,
name: &str,
image: &str,
) -> CardId
fn create_effect( game: &mut GameState, sa: &SpellAbility, name: &str, image: &str, ) -> CardId
Create a temporary effect card in the command zone.
Mirrors Java’s
SpellAbilityEffect.createEffect(SpellAbility, Player, String, String).Source§fn run(ctx: &mut EffectContext<'_>, sa: &SpellAbility)
fn run(ctx: &mut EffectContext<'_>, sa: &SpellAbility)
Run the effect (resolve entry point).
Mirrors Java’s
SpellAbilityEffect.run(SpellAbility).Source§fn handle_exiled_with(
game: &mut GameState,
sa: &SpellAbility,
exiled_card_id: CardId,
)
fn handle_exiled_with( game: &mut GameState, sa: &SpellAbility, exiled_card_id: CardId, )
Track which card exiled another card, for “exile until” effects.
Mirrors Java’s
SpellAbilityEffect.handleExiledWith(SpellAbility, Card).Source§fn exile_effect_command(
game: &mut GameState,
trigger_handler: &mut TriggerHandler,
sa: &SpellAbility,
card_id: CardId,
)
fn exile_effect_command( game: &mut GameState, trigger_handler: &mut TriggerHandler, sa: &SpellAbility, card_id: CardId, )
Execute the exile-with command.
Mirrors Java’s
SpellAbilityEffect.exileEffectCommand(Game, SpellAbility, Card).Source§fn get_stack_description_with_subs(
game: &GameState,
sa: &SpellAbility,
) -> String
fn get_stack_description_with_subs( game: &GameState, sa: &SpellAbility, ) -> String
Full stack-description with sub-ability concatenation.
Mirrors Java
SpellAbilityEffect.getStackDescriptionWithSubs(Map, SpellAbility).Source§fn get_new_chooser(
game: &GameState,
agents: &mut [Box<dyn PlayerAgent>],
sa: &SpellAbility,
loser: PlayerId,
) -> Option<PlayerId>
fn get_new_chooser( game: &GameState, agents: &mut [Box<dyn PlayerAgent>], sa: &SpellAbility, loser: PlayerId, ) -> Option<PlayerId>
Resolve a replacement chooser when the original lost the game (CR 800.4g).
Mirrors Java
SpellAbilityEffect.getNewChooser(SpellAbility, Player).Auto Trait Implementations§
impl Freeze for ChooseSourceEffect
impl RefUnwindSafe for ChooseSourceEffect
impl Send for ChooseSourceEffect
impl Sync for ChooseSourceEffect
impl Unpin for ChooseSourceEffect
impl UnsafeUnpin for ChooseSourceEffect
impl UnwindSafe for ChooseSourceEffect
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.