package com.hearthsim.card.goblinsvsgnomes.minion.rare; import com.hearthsim.card.Card; import com.hearthsim.card.CharacterIndex; import com.hearthsim.card.minion.Minion; import com.hearthsim.card.minion.MinionBattlecryInterface; import com.hearthsim.event.effect.EffectCharacter; import com.hearthsim.event.effect.EffectCharacterDamage; import com.hearthsim.event.filter.FilterCharacter; import com.hearthsim.model.BoardModel; import com.hearthsim.model.PlayerSide; import com.hearthsim.util.tree.HearthTreeNode; public class ScarletPurifier extends Minion implements MinionBattlecryInterface { private static final EffectCharacter<Card> effect = new EffectCharacterDamage<>(2); private static final FilterCharacter filter = new FilterCharacter() { @Override protected boolean includeEnemyMinions() { return true; } @Override protected boolean includeOwnMinions() { return true; } @Override public boolean targetMatches(PlayerSide originSide, Card origin, PlayerSide targetSide, Minion targetCharacter, BoardModel board) { if (!super.targetMatches(originSide, origin, targetSide, targetCharacter, board)) { return false; } if (!targetCharacter.hasDeathrattle()) { return false; } return true; } }; public ScarletPurifier() { super(); } /** * Battlecry: Heals friendly characters for 2 */ @Override public EffectCharacter<Minion> getBattlecryEffect() { return (PlayerSide targetSide, CharacterIndex minionPlacementIndex, HearthTreeNode boardState) -> this.effectAllUsingFilter(ScarletPurifier.effect, ScarletPurifier.filter, boardState); } }