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§
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, )
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".