pub struct DelayedTrigger {Show 15 fields
pub mode: TriggerType,
pub trigger_mode: Box<dyn TriggerBehavior>,
pub params: Params,
pub execute_svar: String,
pub controller: PlayerId,
pub source_card: CardId,
pub created_turn: u32,
pub created_phase: PhaseType,
pub target_card: Option<CardId>,
pub remembered_amount: i32,
pub remembered_cards: Vec<CardId>,
pub remembered_players: Vec<PlayerId>,
pub remembered_lki_cards: Vec<CardId>,
pub sort_after_active: bool,
pub trigger_order: Option<u32>,
}Expand description
A one-shot delayed trigger.
Fields§
§mode: TriggerType§trigger_mode: Box<dyn TriggerBehavior>§params: Params§execute_svar: String§controller: PlayerId§source_card: CardId§created_turn: u32Turn number when this delayed trigger was registered.
created_phase: PhaseTypePhase during which this delayed trigger was registered.
target_card: Option<CardId>Optional target card for the delayed trigger (e.g. the creature to bounce for Dash or sacrifice for Blitz at end of turn).
remembered_amount: i32Sum of integer values remembered by the delayed trigger at creation.
remembered_cards: Vec<CardId>Cards remembered by the delayed trigger (e.g. RememberObjects$ Remembered
copies the source card’s remembered_cards snapshot at registration time).
Exposed to the executed ability via SpellAbility::trigger_remembered.
remembered_players: Vec<PlayerId>Players remembered by the delayed trigger (e.g.
RememberObjects$ RememberedController snapshots the controllers of
the source’s remembered cards at registration time, used by Arcane
Denial’s “may draw up to two cards” trigger to remember the controller
of the countered spell). Exposed via SpellAbility::trigger_remembered
as AbilityValue::Player(_) entries.
remembered_lki_cards: Vec<CardId>Snapshot of remembered cards for delayed-trigger RememberedLKI lookups.
sort_after_active: boolWhen true, this delayed trigger should sort AFTER same-event active triggers (resolve FIRST on the LIFO stack). Used to mirror Java’s trigger-ID-based ordering for granted-evoke sacrifice triggers, whose trigger ID is assigned after the card’s intrinsic T: triggers and thus lands on top of the stack.
trigger_order: Option<u32>Java delayed triggers are real Trigger instances and receive a trigger id when parsed. Assign the equivalent order at registration so simultaneous delayed triggers do not tie on host timestamp.
Implementations§
Source§impl DelayedTrigger
impl DelayedTrigger
Sourcepub fn as_trigger(&self, _game: &GameState) -> Trigger
pub fn as_trigger(&self, _game: &GameState) -> Trigger
Build a temporary Trigger wrapper for calling TriggerBehavior trait methods
that require a &Trigger reference (Java’s this).
Trait Implementations§
Source§impl Clone for DelayedTrigger
impl Clone for DelayedTrigger
Source§fn clone(&self) -> DelayedTrigger
fn clone(&self) -> DelayedTrigger
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more