package com.hearthsim.card.basic.spell; import com.hearthsim.card.basic.minion.MirrorImageMinion; import com.hearthsim.card.spellcard.SpellTargetableCard; import com.hearthsim.event.effect.EffectCharacter; import com.hearthsim.event.effect.EffectCharacterSummonNew; import com.hearthsim.event.filter.FilterCharacter; import com.hearthsim.event.filter.FilterCharacterTargetedSpell; public class MirrorImage extends SpellTargetableCard { private static final EffectCharacter effect = new EffectCharacterSummonNew<>(MirrorImageMinion.class, 2, true); /** * Constructor * * @param hasBeenUsed Whether the card has already been used or not */ @Deprecated public MirrorImage(boolean hasBeenUsed) { this(); this.hasBeenUsed = hasBeenUsed; } /** * Constructor * * Defaults to hasBeenUsed = false */ public MirrorImage() { super(); } @Override public FilterCharacter getTargetableFilter() { return FilterCharacterTargetedSpell.SELF; } /** * * Use the card on the given target * * Summons 2 mirror images * * * * @param side * @param boardState The BoardState before this card has performed its action. It will be manipulated and returned. * * @return The boardState is manipulated and returned */ @Override public EffectCharacter getTargetableEffect() { return MirrorImage.effect; } }