pub enum EffectTemplate {
Show 83 variants
Draw {
count: u8,
},
DealDamage {
amount: u8,
cancelable: bool,
},
AddPower {
amount: i32,
duration_turn: bool,
},
AddPowerIfTargetLevelAtLeast {
amount: i32,
min_level: u8,
duration_turn: bool,
},
AddPowerByLevel {
multiplier: i32,
duration_turn: bool,
},
AddPowerIfBattleOpponentLevelAtLeast {
amount: i32,
min_level: u8,
duration_turn: bool,
},
AddSoulIfBattleOpponentLevelAtLeast {
amount: i32,
min_level: u8,
duration_turn: bool,
},
AddPowerIfBattleOpponentLevelExact {
amount: i32,
level: u8,
duration_turn: bool,
},
AddPowerIfOtherAttackerMatches {
amount: i32,
duration_turn: bool,
attacker_card_ids: Vec<CardId>,
},
AddSoul {
amount: i32,
duration_turn: bool,
},
AddSoulIfMiddleCenter {
amount: i32,
},
AddLevel {
amount: i32,
duration_turn: bool,
},
FacingOpponentAddSoul {
amount: i32,
},
CannotFrontalAttack {
duration_turn: bool,
},
CannotBecomeReverse {
duration_turn: bool,
},
CannotBeChosenByOpponentEffects {
duration_turn: bool,
},
CannotMoveStagePosition {
duration_turn: bool,
},
CannotPlayEventsFromHand {
duration_turn: bool,
},
CannotPlayBackupFromHand {
duration_turn: bool,
},
CannotStandDuringStandPhase {
duration_turn: bool,
},
BattleOpponentMoveToMemoryOnReverse {
duration_turn: bool,
},
EncoreStockCost {
cost: u8,
duration_turn: bool,
},
GrantAbilityDef {
ability: Box<AbilityDef>,
duration: GrantDuration,
},
FacingOpponentCannotMoveStagePosition,
SelfCannotBecomeReverseIfFacingOpponent {
max_level: Option<u8>,
max_cost: Option<u8>,
level_gt_source_level: bool,
},
SelfCannotFrontalAttackIfFacingOpponentHigherLevel,
ConditionalAddPower {
amount: i32,
turn: Option<ConditionTurn>,
zone_count: Option<ZoneCountCondition>,
require_source_marker: bool,
per_source_marker: bool,
per_zone_count: bool,
exclude_source: bool,
target_ids: Vec<CardId>,
},
ConditionalAddLevel {
amount: i32,
turn: Option<ConditionTurn>,
zone_count: Option<ZoneCountCondition>,
require_source_marker: bool,
per_source_marker: bool,
per_zone_count: bool,
exclude_source: bool,
target_ids: Vec<CardId>,
},
TimedConditionalAddPower {
amount: i32,
duration_turn: bool,
turn: Option<ConditionTurn>,
zone_count: Option<ZoneCountCondition>,
require_source_marker: bool,
per_source_marker: bool,
per_zone_count: bool,
exclude_source: bool,
target_ids: Vec<CardId>,
},
ConditionalCannotSideAttack {
turn: Option<ConditionTurn>,
zone_count: Option<ZoneCountCondition>,
require_source_marker: bool,
exclude_source: bool,
},
CannotSideAttack {
duration_turn: bool,
},
MoveToMarker {
target_ids: Vec<CardId>,
},
MoveTopDeckToMarker,
MoveToHand,
MoveToWaitingRoom,
MoveToStock,
MoveToClock,
MoveToMemory,
MoveToDeckBottom,
MoveWaitingRoomCardToSourceSlot {
target_ids: Vec<CardId>,
},
RecycleWaitingRoomToDeckShuffle,
ResetStockFromDeckTop {
target: TargetSide,
},
Heal,
HealIfSourcePlayedFromHandThisTurn,
RestTarget,
StandTarget,
StockCharge {
count: u8,
},
MillTop {
target: TargetSide,
count: u8,
},
MoveStageSlot {
slot: u8,
},
MoveThisToOpenCenter {
require_facing: bool,
},
MoveThisToOpenBack,
SwapStageSlots,
RandomDiscardFromHand {
target: TargetSide,
count: u8,
},
RandomMill {
target: TargetSide,
count: u8,
},
RevealZoneTop {
target: TargetSide,
zone: TargetZone,
count: u8,
audience: RevealAudience,
},
RevealTopIfLevelAtLeastMoveThisToHand {
min_level: u8,
},
RevealTopIfLevelAtLeastRestThis {
min_level: u8,
},
RevealTopIfLevelAtLeastMoveTopToStock {
min_level: u8,
},
LookTopDeckReorder {
count: u8,
},
LookTopCardTopOrWaitingRoom,
LookTopCardTopOrBottom,
SearchTopDeckToHandLevelAtLeastMillRest {
look_count: u8,
choose_count: u8,
min_level: u8,
},
RevealTopAndSalvageByRevealedLevel {
count: u8,
climax_level: u8,
},
ChangeController,
CounterBackup {
power: i32,
},
CounterDamageReduce {
amount: u8,
},
CounterDamageCancel,
TriggerIcon {
icon: TriggerIcon,
},
BattleOpponentReverseIf {
max_level: Option<u8>,
max_cost: Option<u8>,
level_gt_opponent_level: bool,
},
BattleOpponentMoveToDeckBottomIf {
max_level: Option<u8>,
max_cost: Option<u8>,
level_gt_opponent_level: bool,
},
BattleOpponentMoveToStockThenBottomStockToWaitingRoomIf {
max_level: Option<u8>,
max_cost: Option<u8>,
level_gt_opponent_level: bool,
},
BattleOpponentMoveToClockAfterClockTopToWaitingRoomIf {
max_level: Option<u8>,
max_cost: Option<u8>,
level_gt_opponent_level: bool,
},
BattleOpponentMoveToMemoryIf {
max_level: Option<u8>,
max_cost: Option<u8>,
level_gt_opponent_level: bool,
},
BattleOpponentMoveToClockIf {
max_level: Option<u8>,
max_cost: Option<u8>,
level_gt_opponent_level: bool,
},
BattleOpponentMoveIf {
destination: BattleOpponentMoveDestination,
prelude: Option<BattleOpponentMovePreludeAction>,
max_level: Option<u8>,
max_cost: Option<u8>,
level_gt_opponent_level: bool,
},
BattleOpponentTopDeckToStockIf {
min_level: u8,
},
Brainstorm {
reveal_count: u8,
per_climax: u8,
mode: BrainstormMode,
},
SetTriggerCheckCount {
count: u8,
},
RestThisIfNoOtherRestCenter,
CannotUseAutoEncoreForPlayer {
target: TargetSide,
},
ConditionalAddSoul {
amount: i32,
turn: Option<ConditionTurn>,
zone_count: Option<ZoneCountCondition>,
require_source_marker: bool,
per_source_marker: bool,
per_zone_count: bool,
exclude_source: bool,
target_ids: Vec<CardId>,
},
SetTerminalOutcome {
outcome: TerminalOutcomeSpec,
},
ApplyRuleOverride {
kind: RuleOverrideKind,
},
}Expand description
Effect template used by ability definitions.
Variants§
Draw
Draw cards.
DealDamage
Deal damage (optionally cancelable).
Fields
AddPower
Add power for a duration.
Fields
AddPowerIfTargetLevelAtLeast
Add power when the target’s level is at least a threshold.
Fields
AddPowerByLevel
Add power scaled by the target’s level for a duration.
Fields
AddPowerIfBattleOpponentLevelAtLeast
Add power to the source card if its battle opponent’s level is at least a threshold.
Fields
AddSoulIfBattleOpponentLevelAtLeast
Add soul to the source card if its battle opponent’s level is at least a threshold.
Fields
AddPowerIfBattleOpponentLevelExact
Add power to the source card if its battle opponent’s level matches exactly.
Fields
AddPowerIfOtherAttackerMatches
Add power when another attacking character matches one of the provided card ids.
Fields
AddSoul
Add soul for a duration.
Fields
AddSoulIfMiddleCenter
Add soul while this card occupies the middle center-stage position.
AddLevel
Add level for a duration.
Fields
FacingOpponentAddSoul
Continuous-style soul modifier applied to the character facing the source card.
CannotFrontalAttack
Disallow frontal attacks for a duration.
CannotBecomeReverse
Prevent becoming REVERSE in battle for a duration.
CannotBeChosenByOpponentEffects
Prevent being chosen by opponent effects for a duration.
CannotMoveStagePosition
Prevent moving to another stage position for a duration.
CannotPlayEventsFromHand
Prevent playing events from hand for a duration.
CannotPlayBackupFromHand
Prevent playing backups from hand for a duration.
CannotStandDuringStandPhase
Prevent standing during stand phase for a duration.
BattleOpponentMoveToMemoryOnReverse
Move this card’s battle opponent to memory when it becomes REVERSE in battle.
EncoreStockCost
Set encore stock cost for target character.
Fields
GrantAbilityDef
Grant an ability definition to the target for a limited duration.
Fields
ability: Box<AbilityDef>Ability definition to grant.
duration: GrantDurationDuration for which the ability is granted.
FacingOpponentCannotMoveStagePosition
Continuous-style movement lock applied to the character facing the source card.
SelfCannotBecomeReverseIfFacingOpponent
Continuous-style self protection from becoming REVERSE while facing a matching opponent.
Fields
SelfCannotFrontalAttackIfFacingOpponentHigherLevel
Continuous-style self restriction while facing a higher-level opponent.
ConditionalAddPower
Conditional continuous-style power modifier.
Fields
turn: Option<ConditionTurn>Optional turn condition.
zone_count: Option<ZoneCountCondition>Optional zone-count condition.
ConditionalAddLevel
Conditional continuous-style level modifier.
Fields
turn: Option<ConditionTurn>Optional turn condition.
zone_count: Option<ZoneCountCondition>Optional zone-count condition.
TimedConditionalAddPower
Conditional power modifier with explicit duration (usable by non-continuous abilities).
Fields
turn: Option<ConditionTurn>Optional turn condition.
zone_count: Option<ZoneCountCondition>Optional zone-count condition.
ConditionalCannotSideAttack
Conditional continuous-style cannot-side-attack modifier.
Fields
turn: Option<ConditionTurn>Optional turn condition.
zone_count: Option<ZoneCountCondition>Optional zone-count condition.
CannotSideAttack
Disallow side attacks for a duration.
MoveToMarker
Move target card under the source card as a marker.
MoveTopDeckToMarker
Move the top card of your deck under this card as a marker.
MoveToHand
Move target to hand.
MoveToWaitingRoom
Move target to waiting room.
MoveToStock
Move target to stock.
MoveToClock
Move target to clock.
MoveToMemory
Move target to memory.
MoveToDeckBottom
Move target to the bottom of deck.
MoveWaitingRoomCardToSourceSlot
Move a waiting-room card to the source card’s stage slot.
RecycleWaitingRoomToDeckShuffle
Return all cards from waiting room to deck, then shuffle.
ResetStockFromDeckTop
Move all stock to waiting room, then refill stock from deck top by the same count.
Fields
target: TargetSideSide whose stock is reset.
Heal
Heal (move top clock to waiting room).
HealIfSourcePlayedFromHandThisTurn
Heal only if the source card was played from hand this turn and remains on stage.
RestTarget
Rest the target.
StandTarget
Stand the target.
StockCharge
Stock charge by count.
MillTop
Mill top cards from deck.
MoveStageSlot
Move target to a specific stage slot.
MoveThisToOpenCenter
Move the source card to the first open center-stage slot.
MoveThisToOpenBack
Move the source card to the first open back-stage slot.
SwapStageSlots
Swap two stage slots.
RandomDiscardFromHand
Random discard from hand.
RandomMill
Random mill from deck.
RevealZoneTop
Reveal the top of a zone.
Fields
target: TargetSideSide whose zone is revealed.
zone: TargetZoneZone to reveal cards from.
audience: RevealAudienceReveal visibility audience.
RevealTopIfLevelAtLeastMoveThisToHand
Reveal the top card of your deck; if its level is at least min_level,
move this card to hand. (Climax is treated as level 0.)
RevealTopIfLevelAtLeastRestThis
Reveal the top card of your deck; if its level is at least min_level,
rest this card. (Climax is treated as level 0.)
RevealTopIfLevelAtLeastMoveTopToStock
Reveal the top card of your deck; if its level is at least min_level,
move that revealed card to stock. (Climax is treated as level 0.)
LookTopDeckReorder
Look at the top count cards of your deck and reorder them on top.
LookTopCardTopOrWaitingRoom
Look at the top card and either leave it on top or move it to waiting room.
LookTopCardTopOrBottom
Look at the top card and either leave it on top or move it to deck bottom.
SearchTopDeckToHandLevelAtLeastMillRest
Look at top cards, move up to choose_count cards with level at least min_level to hand, and send the rest to waiting room.
Fields
RevealTopAndSalvageByRevealedLevel
Reveal top deck card, then salvage up to count waiting-room characters with level at most the revealed card’s level.
Fields
ChangeController
Change controller of a card.
CounterBackup
Counter backup (power).
CounterDamageReduce
Counter damage reduction.
CounterDamageCancel
Counter damage cancel.
TriggerIcon
Resolve a trigger icon effect directly.
Fields
icon: TriggerIconTrigger icon to resolve.
BattleOpponentReverseIf
Reverse this card’s current battle opponent when a condition is met.
Fields
BattleOpponentMoveToDeckBottomIf
Move this card’s current battle opponent to the bottom of deck when a condition is met.
Fields
BattleOpponentMoveToStockThenBottomStockToWaitingRoomIf
Move this card’s current battle opponent to stock, then move the bottom stock card to waiting room.
Fields
BattleOpponentMoveToClockAfterClockTopToWaitingRoomIf
Move top opponent clock to waiting room, then move this card’s current battle opponent to clock.
Fields
BattleOpponentMoveToMemoryIf
Move this card’s current battle opponent to memory when a condition is met.
Fields
BattleOpponentMoveToClockIf
Move this card’s current battle opponent to clock when a condition is met.
Fields
BattleOpponentMoveIf
Generalized battle-opponent movement effect.
Fields
destination: BattleOpponentMoveDestinationDestination zone for the battle opponent.
prelude: Option<BattleOpponentMovePreludeAction>Optional prelude action applied before the destination move.
BattleOpponentTopDeckToStockIf
Put the top card of your deck into your stock if this card’s battle opponent meets level threshold.
Brainstorm
Brainstorm resolver (reveal/mill then payoff per climax).
Fields
mode: BrainstormModeBrainstorm payoff mode.
SetTriggerCheckCount
Set the total trigger checks to perform this attack’s trigger step.
RestThisIfNoOtherRestCenter
Rest the source card if no other rested center-stage character is present.
CannotUseAutoEncoreForPlayer
Prevent a player from using AUTO Encore for the rest of the turn.
Fields
target: TargetSideSide to apply the restriction to.
ConditionalAddSoul
Conditional continuous-style soul modifier.
Appended to preserve postcard discriminants for existing WSDB payloads.
Fields
turn: Option<ConditionTurn>Optional turn condition.
zone_count: Option<ZoneCountCondition>Optional zone-count condition.
SetTerminalOutcome
Set terminal game outcome immediately.
Appended to preserve postcard discriminants for existing WSDB payloads.
Fields
outcome: TerminalOutcomeSpecTerminal outcome to set.
ApplyRuleOverride
Apply a turn-scoped rule-action override.
Appended to preserve postcard discriminants for existing WSDB payloads.
Fields
kind: RuleOverrideKindRule override kind to apply.
Trait Implementations§
Source§impl Clone for EffectTemplate
impl Clone for EffectTemplate
Source§fn clone(&self) -> EffectTemplate
fn clone(&self) -> EffectTemplate
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EffectTemplate
impl Debug for EffectTemplate
Source§impl<'de> Deserialize<'de> for EffectTemplate
impl<'de> Deserialize<'de> for EffectTemplate
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>,
Source§impl Hash for EffectTemplate
impl Hash for EffectTemplate
Source§impl PartialEq for EffectTemplate
impl PartialEq for EffectTemplate
Source§impl Serialize for EffectTemplate
impl Serialize for EffectTemplate
impl Eq for EffectTemplate
impl StructuralPartialEq for EffectTemplate
Auto Trait Implementations§
impl Freeze for EffectTemplate
impl RefUnwindSafe for EffectTemplate
impl Send for EffectTemplate
impl Sync for EffectTemplate
impl Unpin for EffectTemplate
impl UnwindSafe for EffectTemplate
Blanket Implementations§
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more