package com.hearthsim.card.spellcard; import com.hearthsim.card.Card; import com.hearthsim.card.minion.Minion; import com.hearthsim.model.BoardModel; import com.hearthsim.model.PlayerSide; import org.json.JSONObject; public abstract class SpellCard extends Card { public SpellCard() { super(); } @Deprecated public SpellCard(byte mana, boolean hasBeenUsed) { super(mana, hasBeenUsed, true); } @Override public JSONObject toJSON() { JSONObject json = super.toJSON(); json.put("type", "SpellCard"); return json; } @Override public boolean canBeUsedOn(PlayerSide playerSide, Minion minion, BoardModel boardModel) { if (!super.canBeUsedOn(playerSide, minion, boardModel)) return false; if (playerSide == PlayerSide.WAITING_PLAYER && minion.isStealthed()) { return false; } return true; } }