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;
}
}