pub enum StaticMode {
Show 85 variants
Continuous,
CantAttack,
CantBlock,
ETBTapped,
CantBeCast,
CantBeActivated,
CantPlayLand,
ReduceCost,
RaiseCost,
SetCost,
CantTarget,
CantAttach,
MustAttack,
MustBlock,
Panharmonicon,
CantGainLosePayLife,
CantDraw,
CantExile,
CantSacrifice,
CantRegenerate,
DisableTriggers,
CantPutCounter,
CastWithFlash,
BlockRestrict,
AttackRestrict,
CanAttackDefender,
IgnoreHexproof,
IgnoreShroud,
IgnoreLegendRule,
MustTarget,
AssignCombatDamageAsUnblocked,
AssignNoCombatDamage,
CombatDamageToughness,
NoCleanupDamage,
InfectDamage,
WitherDamage,
ColorlessDamageSource,
CountersRemain,
MaxCounter,
CantAttackUnless,
OptionalAttackCost,
OptionalCost,
AttackRequirement,
PlayerMustAttack,
CantBlockUnless,
CantBlockBy,
ManaConvert,
UnspentMana,
ManaBurn,
ActivateAbilityAsIfHaste,
CanAdapt,
AlternativeCost,
CantBeCopied,
CantBeSuspected,
CantBecomeMonarch,
CantChangeDayTime,
CantCrew,
CantDiscard,
CantPhaseIn,
CantPhaseOut,
CantTransform,
CantVenture,
Devotion,
CanExhaust,
FlipCoinMod,
GainLifeRadiation,
IgnoreLandwalk,
NumLoyaltyAct,
PlotZone,
SurveilNum,
TapPowerValue,
TurnReversed,
PhaseReversed,
UntapOtherPlayer,
CanBlockIfReach,
BlockTapped,
CanAttackIfHaste,
MinMaxBlocker,
AttackVigilance,
CantPreventDamage,
CantGainLife,
CantLoseLife,
CantPayLife,
CantChangeLife,
Other(String),
}Expand description
The mode of a static ability.
Mirrors Java StaticAbilityMode enum. Each variant corresponds to a
Mode$ <Value> entry in the card script.
Variants§
Continuous
Mode$ Continuous — layer-based continuous effects (anthems, keyword
grants, P/T setting). The most common category; handled by the layer
system in layer.rs.
CantAttack
Mode$ CantAttack — affected creatures cannot attack.
CantBlock
Mode$ CantBlock — affected creatures cannot block.
ETBTapped
Mode$ ETBTapped — this permanent (or matching permanents) enters the
battlefield tapped. Applied once at ETB time, not continuously.
CantBeCast
Mode$ CantBeCast — matching spells cannot be cast.
CantBeActivated
Mode$ CantBeActivated — matching abilities cannot be activated.
CantPlayLand
Mode$ CantPlayLand — matching lands cannot be played.
ReduceCost
Mode$ ReduceCost — reduce the mana cost of matching spells.
RaiseCost
Mode$ RaiseCost — increase the mana cost of matching spells.
SetCost
Mode$ SetCost — raise cost to a minimum (Trinisphere). Used with RaiseTo$.
CantTarget
CantAttach
MustAttack
MustBlock
Panharmonicon
CantGainLosePayLife
CantDraw
CantExile
CantSacrifice
CantRegenerate
DisableTriggers
CantPutCounter
CastWithFlash
BlockRestrict
AttackRestrict
CanAttackDefender
IgnoreHexproof
IgnoreShroud
IgnoreLegendRule
MustTarget
AssignCombatDamageAsUnblocked
AssignNoCombatDamage
CombatDamageToughness
NoCleanupDamage
InfectDamage
WitherDamage
ColorlessDamageSource
CountersRemain
MaxCounter
CantAttackUnless
Mode$ CantAttackUnless — attacker must pay a cost to attack (Propaganda, Ghostly Prison).
OptionalAttackCost
Mode$ OptionalAttackCost — optional attack payment like Exert/Enlist.
OptionalCost
Mode$ OptionalCost — generic optional cost on a spell/ability (GameActionUtil).
AttackRequirement
Mode$ AttackRequirement — adds an attack requirement (StaticAbilityAttackRequirement).
PlayerMustAttack
Mode$ PlayerMustAttack — controller of affected creatures must attack.
CantBlockUnless
Mode$ CantBlockUnless — blocker must pay a cost to block (War Cadence).
CantBlockBy
Mode$ CantBlockBy — restricts which blockers can block an attacker
(Flying, Fear, Intimidate, Skulk, or card-specific restrictions).
ManaConvert
Mode$ ManaConvert — spend mana as though it were mana of any color/type.
UnspentMana
Mode$ UnspentMana — mana of specified type doesn’t empty from pool.
ManaBurn
Mode$ ManaBurn — losing unspent mana causes life loss (Yurlok of Scorch Thrash).
ActivateAbilityAsIfHaste
CanAdapt
AlternativeCost
CantBeCopied
CantBeSuspected
CantBecomeMonarch
CantChangeDayTime
CantCrew
CantDiscard
CantPhaseIn
CantPhaseOut
CantTransform
CantVenture
Devotion
CanExhaust
FlipCoinMod
GainLifeRadiation
IgnoreLandwalk
NumLoyaltyAct
PlotZone
SurveilNum
TapPowerValue
TurnReversed
PhaseReversed
UntapOtherPlayer
CanBlockIfReach
BlockTapped
CanAttackIfHaste
MinMaxBlocker
AttackVigilance
CantPreventDamage
CantGainLife
CantLoseLife
CantPayLife
CantChangeLife
Other(String)
Any mode not yet recognised — stored but not applied.
Trait Implementations§
Source§impl Clone for StaticMode
impl Clone for StaticMode
Source§fn clone(&self) -> StaticMode
fn clone(&self) -> StaticMode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StaticMode
impl Debug for StaticMode
Source§impl<'de> Deserialize<'de> for StaticMode
impl<'de> Deserialize<'de> for StaticMode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for StaticMode
Source§impl From<&str> for StaticMode
impl From<&str> for StaticMode
Source§fn from(s: &str) -> StaticMode
fn from(s: &str) -> StaticMode
Source§impl FromStr for StaticMode
impl FromStr for StaticMode
Source§impl Hash for StaticMode
impl Hash for StaticMode
Source§impl Ord for StaticMode
impl Ord for StaticMode
Source§fn cmp(&self, other: &StaticMode) -> Ordering
fn cmp(&self, other: &StaticMode) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for StaticMode
impl PartialEq for StaticMode
Source§fn eq(&self, other: &StaticMode) -> bool
fn eq(&self, other: &StaticMode) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialOrd for StaticMode
impl PartialOrd for StaticMode
Source§impl Serialize for StaticMode
impl Serialize for StaticMode
impl StructuralPartialEq for StaticMode
Auto Trait Implementations§
impl Freeze for StaticMode
impl RefUnwindSafe for StaticMode
impl Send for StaticMode
impl Sync for StaticMode
impl Unpin for StaticMode
impl UnsafeUnpin for StaticMode
impl UnwindSafe for StaticMode
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CallHasher for T
impl<T> CallHasher for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.