package com.hearthsim.card.classic.minion.legendary; import com.hearthsim.card.Card; import com.hearthsim.card.CardPlayBeginInterface; import com.hearthsim.card.basic.spell.Fireball; import com.hearthsim.card.minion.Minion; import com.hearthsim.card.spellcard.SpellCard; import com.hearthsim.model.PlayerSide; import com.hearthsim.util.tree.HearthTreeNode; public class ArchmageAntonidas extends Minion implements CardPlayBeginInterface { public ArchmageAntonidas() { super(); } /** * * Called whenever another card is used * * When you cast a spell, put a Fireball spell into your hand * @param thisCardPlayerSide The player index of the card receiving the event * @param cardUserPlayerSide * @param usedCard The card that was used * @param boardState The BoardState before this card has performed its action. It will be manipulated and returned. * @param deckPlayer0 The deck of player0 * @param deckPlayer1 The deck of player1 * @return The boardState is manipulated and returned */ @Override public HearthTreeNode onCardPlayBegin( PlayerSide thisCardPlayerSide, PlayerSide cardUserPlayerSide, Card usedCard, HearthTreeNode boardState) { if (thisCardPlayerSide != PlayerSide.CURRENT_PLAYER) return boardState; if (inHand) return boardState; if (usedCard instanceof SpellCard && boardState.data_.getCurrentPlayer().getHand().size() < 10) { boardState.data_.getCurrentPlayer().placeCardHand(new Fireball()); } return boardState; } }