package com.hearthsim.card.classic.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.model.PlayerModel; import com.hearthsim.model.PlayerSide; import com.hearthsim.util.tree.HearthTreeNode; public class VoidTerror extends Minion implements MinionBattlecryInterface { public VoidTerror() { super(); } /** * Battlecry: Destroy the minions on either side of this minion and gain their Attack and Health. */ @Override public EffectCharacter getBattlecryEffect() { return new EffectCharacter<Minion>() { @Override public HearthTreeNode applyEffect(PlayerSide targetSide, CharacterIndex targetCharacterIndex, HearthTreeNode boardState) { PlayerModel currentPlayer = boardState.data_.modelForSide(PlayerSide.CURRENT_PLAYER); CharacterIndex thisMinionIndex = currentPlayer.getIndexForCharacter(VoidTerror.this); for (Minion minion : currentPlayer.getMinionsAdjacentToCharacter(thisMinionIndex)) { VoidTerror.this.addAttack(minion.getTotalAttack(boardState, targetSide)); VoidTerror.this.addHealth(minion.getTotalHealth()); VoidTerror.this.addMaxHealth(minion.getTotalHealth()); minion.setHealth((byte) -99); } return boardState; } }; } }