Skip to main content

TokenEffectBase

Trait TokenEffectBase 

Source
pub trait TokenEffectBase {
Show 19 methods // Provided methods fn token_scripts(&self, sa: &SpellAbility) -> Vec<String> { ... } fn get_token_template<'a>( &self, templates: &'a HashMap<String, Card>, script: &str, ) -> Option<&'a Card> { ... } fn require_token_template( &self, templates: &HashMap<String, Card>, script: &str, ) -> Card { ... } fn create_token_table( &self, ctx: &EffectContext<'_>, players: &[PlayerId], token_scripts: &[String], final_amount: usize, sa: &SpellAbility, ) -> TokenCreateTable { ... } fn make_token_table_internal_from_script( &self, ctx: &EffectContext<'_>, owner: PlayerId, script: &str, final_amount: usize, sa: &SpellAbility, ) -> TokenCreateTable { ... } fn make_token_table_internal( &self, owner: PlayerId, result: Card, final_amount: usize, ) -> TokenCreateTable { ... } fn has_inline_token_params(&self, sa: &SpellAbility) -> bool { ... } fn build_inline_token(&self, sa: &SpellAbility, owner: PlayerId) -> Card { ... } fn make_token_table_from_scripts( &self, ctx: &mut EffectContext<'_>, players: &[PlayerId], token_scripts: &[String], final_amount: usize, clone_origin: bool, trigger_list: &mut CardZoneTable, sa: &SpellAbility, ) -> TokenCreateResult { ... } fn make_token_table( &self, ctx: &mut EffectContext<'_>, token_table: TokenCreateTable, clone_origin: bool, trigger_list: &mut CardZoneTable, sa: &SpellAbility, ) -> TokenCreateResult { ... } fn create_single_token( &self, ctx: &mut EffectContext<'_>, sa: &SpellAbility, prototype: &Card, creator: PlayerId, controller: PlayerId, clone_origin: bool, pump_keywords: &[String], trigger_list: &mut CardZoneTable, original_tokens: &[Card], ) -> Option<CardId> { ... } fn after_token_created(&self, ctx: &mut EffectContext<'_>, token_id: CardId) { ... } fn attachment_target( &self, ctx: &mut EffectContext<'_>, sa: &SpellAbility, ) -> Option<TokenAttachmentTarget> { ... } fn attach_token_to( &self, ctx: &mut EffectContext<'_>, token_id: CardId, target: TokenAttachmentTarget, ) -> bool { ... } fn add_token_to_combat( &self, ctx: &mut EffectContext<'_>, sa: &SpellAbility, token_id: CardId, ) -> bool { ... } fn add_token_blocking( &self, ctx: &mut EffectContext<'_>, sa: &SpellAbility, token_id: CardId, ) -> bool { ... } fn pump_keywords(&self, sa: &SpellAbility) -> Vec<String> { ... } fn add_pump_until( &self, ctx: &mut EffectContext<'_>, sa: &SpellAbility, token_id: CardId, ) { ... } fn apply_create_token_replacements( &self, ctx: &mut EffectContext<'_>, token_table: &mut TokenCreateTable, ) { ... }
}

Provided Methods§

Source

fn token_scripts(&self, sa: &SpellAbility) -> Vec<String>

Source

fn get_token_template<'a>( &self, templates: &'a HashMap<String, Card>, script: &str, ) -> Option<&'a Card>

Source

fn require_token_template( &self, templates: &HashMap<String, Card>, script: &str, ) -> Card

Source

fn create_token_table( &self, ctx: &EffectContext<'_>, players: &[PlayerId], token_scripts: &[String], final_amount: usize, sa: &SpellAbility, ) -> TokenCreateTable

Source

fn make_token_table_internal_from_script( &self, ctx: &EffectContext<'_>, owner: PlayerId, script: &str, final_amount: usize, sa: &SpellAbility, ) -> TokenCreateTable

Source

fn make_token_table_internal( &self, owner: PlayerId, result: Card, final_amount: usize, ) -> TokenCreateTable

Source

fn has_inline_token_params(&self, sa: &SpellAbility) -> bool

Source

fn build_inline_token(&self, sa: &SpellAbility, owner: PlayerId) -> Card

Source

fn make_token_table_from_scripts( &self, ctx: &mut EffectContext<'_>, players: &[PlayerId], token_scripts: &[String], final_amount: usize, clone_origin: bool, trigger_list: &mut CardZoneTable, sa: &SpellAbility, ) -> TokenCreateResult

Source

fn make_token_table( &self, ctx: &mut EffectContext<'_>, token_table: TokenCreateTable, clone_origin: bool, trigger_list: &mut CardZoneTable, sa: &SpellAbility, ) -> TokenCreateResult

Source

fn create_single_token( &self, ctx: &mut EffectContext<'_>, sa: &SpellAbility, prototype: &Card, creator: PlayerId, controller: PlayerId, clone_origin: bool, pump_keywords: &[String], trigger_list: &mut CardZoneTable, original_tokens: &[Card], ) -> Option<CardId>

Source

fn after_token_created(&self, ctx: &mut EffectContext<'_>, token_id: CardId)

Source

fn attachment_target( &self, ctx: &mut EffectContext<'_>, sa: &SpellAbility, ) -> Option<TokenAttachmentTarget>

Source

fn attach_token_to( &self, ctx: &mut EffectContext<'_>, token_id: CardId, target: TokenAttachmentTarget, ) -> bool

Source

fn add_token_to_combat( &self, ctx: &mut EffectContext<'_>, sa: &SpellAbility, token_id: CardId, ) -> bool

Source

fn add_token_blocking( &self, ctx: &mut EffectContext<'_>, sa: &SpellAbility, token_id: CardId, ) -> bool

Source

fn pump_keywords(&self, sa: &SpellAbility) -> Vec<String>

Source

fn add_pump_until( &self, ctx: &mut EffectContext<'_>, sa: &SpellAbility, token_id: CardId, )

Source

fn apply_create_token_replacements( &self, ctx: &mut EffectContext<'_>, token_table: &mut TokenCreateTable, )

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§