Class SwapCardsSpell
java.lang.Object
net.demilich.metastone.game.spells.Spell
net.demilich.metastone.game.spells.SwapCardsSpell
- All Implemented Interfaces:
Serializable,HasDesc<SpellDesc>
- Direct Known Subclasses:
SwapCardsInHandAndDeckSpell
Swaps the card pointed to by
SpellArg.SECONDARY_TARGET with the
target Card.
For example, put this text on a card to swap it with one in your deck while the card is in your hand:
"passiveTrigger": {
"eventTrigger": {
"class": "TurnEndTrigger",
"targetPlayer": "SELF"
},
"spell": {
"class": "SwapCardsSpell",
"secondaryTarget": "SELF",
"target": "FRIENDLY_DECK",
"randomTarget": "true"
}
}
passiveTrigger indicates a Enchantment that is active
while the host entity (in this case, a card) is in the player's hand.- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidImplementations ofonCastare the meat-and-bones of a spell's effects.static voidswap(GameContext context, Card card1, Card card2) Swaps two cards.Methods inherited from class net.demilich.metastone.game.spells.Spell
cast, castForPlayer, checkArguments, getDesc, isNativeStateful, setDesc, toString
-
Constructor Details
-
SwapCardsSpell
public SwapCardsSpell()
-
-
Method Details
-
onCast
protected void onCast(GameContext context, Player player, SpellDesc desc, Entity spellSource, Entity spellTarget) Description copied from class:SpellImplementations ofonCastare the meat-and-bones of a spell's effects. This should actually call a variety of methods inGameLogic, generate cards usingSpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc), interpretSpellArgkeys in thedesc, etc.Observe that subclasses of
Spellmostly just need to implement this function. Also, observe that instances ofSpellare stateless: all the state is provided as arguments to this function.- Specified by:
onCastin classSpell- Parameters:
context- The game contextplayer- The casting playerdesc- The collection ofSpellArgkeys and values that are interpreted by the implementation of this function to actually cause effects in a gamespellSource- The entity from which this effect is happening (typically a card or a minion if it's a battlecry).spellTarget- The particular target of this invocation of the spell. When a spell hits multiple targets, like an AoE damage effect, this method is called once for each target in the list of targets.- See Also:
-
swap
Swaps two cards.- Parameters:
context-card1-card2-
-