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
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Implementations ofonCast
are the meat-and-bones of a spell's effects.static void
swap
(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:Spell
Implementations ofonCast
are 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)
, interpretSpellArg
keys in thedesc
, etc.Observe that subclasses of
Spell
mostly just need to implement this function. Also, observe that instances ofSpell
are stateless: all the state is provided as arguments to this function.- Specified by:
onCast
in classSpell
- Parameters:
context
- The game contextplayer
- The casting playerdesc
- The collection ofSpellArg
keys 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
-
-