pub struct ActivatedAbility {Show 27 fields
pub ability_index: usize,
pub cost: Cost,
pub ability_text: String,
pub is_mana_ability: bool,
pub ability_kind: String,
pub ability_api: Option<ApiType>,
pub activation_zone: Option<ZoneType>,
pub produced_ir: Option<ProducedMana>,
pub restrict_valid: Option<String>,
pub amount: Option<String>,
pub spell_description: Option<String>,
pub precost_desc: Option<String>,
pub description: Option<String>,
pub adds_no_counter: bool,
pub adds_keywords: Option<String>,
pub adds_keywords_valid: Option<String>,
pub adds_counters: Option<String>,
pub adds_counters_valid: Option<String>,
pub triggers_when_spent: Option<String>,
pub sub_ability: Option<String>,
pub spell_description_lower: String,
pub game_activation_limit: Option<u32>,
pub power_up: bool,
pub sorcery_speed: bool,
pub is_unlock_door: bool,
pub is_mana_reflected: bool,
pub params: Params,
}Expand description
A parsed activated ability from a card’s A: line. Mirrors Java’s SpellAbility with AB$ prefix.
Fields§
§ability_index: usizeIndex of this ability in the card’s abilities list.
cost: CostThe parsed cost to activate.
ability_text: StringThe full raw ability text (for effect resolution reuse).
is_mana_ability: boolWhether this is a mana ability (resolves without using the stack).
ability_kind: StringParsed AB$ API name.
ability_api: Option<ApiType>Parsed AB$ API type when recognized by the engine.
activation_zone: Option<ZoneType>Parsed ActivationZone$ override. Activated abilities default to battlefield.
produced_ir: Option<ProducedMana>Lowered Produced$ mana expression.
restrict_valid: Option<String>Parsed RestrictValid$ value for mana abilities.
amount: Option<String>Parsed Amount$ value for mana abilities.
spell_description: Option<String>Parsed SpellDescription$ value for UI prompts.
precost_desc: Option<String>Parsed PrecostDesc$ value for UI prompts.
description: Option<String>Parsed Description$ value for UI prompts.
adds_no_counter: boolParsed AddNoCounter$ flag for produced mana metadata.
adds_keywords: Option<String>Parsed AddsKeywords$ value for produced mana metadata.
adds_keywords_valid: Option<String>Parsed AddsKeywordsValid$ value for produced mana metadata.
adds_counters: Option<String>Parsed AddsCounters$ value for produced mana metadata.
adds_counters_valid: Option<String>Parsed AddsCountersValid$ value for produced mana metadata.
triggers_when_spent: Option<String>Parsed TriggersWhenSpent$ value for produced mana metadata.
sub_ability: Option<String>Parsed SubAbility$ SVar name.
spell_description_lower: StringLowercased SpellDescription$ for activation keyword routing.
game_activation_limit: Option<u32>Parsed GameActivationLimit$ for cheap action-space gating.
power_up: boolWhether this ability has PowerUp$ True.
sorcery_speed: boolWhether this ability has SorcerySpeed$ True.
is_unlock_door: boolWhether this is the synthetic Room UnlockDoor ability.
is_mana_reflected: boolWhether this is a ManaReflected ability.
params: ParamsParsed pipe-delimited parameters.
Implementations§
Source§impl ActivatedAbility
impl ActivatedAbility
pub fn display_description(&self, card_name: &str) -> String
pub fn cost_string(&self) -> Option<String>
pub fn produced_color_symbols(&self) -> Vec<String>
Trait Implementations§
Source§impl Clone for ActivatedAbility
impl Clone for ActivatedAbility
Source§fn clone(&self) -> ActivatedAbility
fn clone(&self) -> ActivatedAbility
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more