package com.hearthsim.card.goblinsvsgnomes.minion.rare; 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.filter.FilterCharacter; import com.hearthsim.model.PlayerSide; import com.hearthsim.util.tree.HearthTreeNode; public class KingOfBeasts extends Minion implements MinionBattlecryInterface { private static final FilterCharacter filter = new FilterCharacter() { @Override protected boolean includeOwnMinions() { return true; } @Override protected boolean excludeSource() { return true; } @Override protected MinionTribe tribeFilter() { return MinionTribe.BEAST; } }; public KingOfBeasts() { super(); } /** * Battlecry: gain +1/+0 for each friendly beast on the battlefield */ @Override public EffectCharacter<Minion> getBattlecryEffect() { return (PlayerSide targetSide, CharacterIndex minionPlacementIndex, HearthTreeNode boardState) -> { int numBuffs = KingOfBeasts.filter.countMatchesForBoard(PlayerSide.CURRENT_PLAYER, this, boardState.data_); this.addAttack(numBuffs); return boardState; }; } }