package com.hearthsim.card.classic.minion.epic; 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.PlayerSide; import com.hearthsim.util.tree.HearthTreeNode; public class BloodKnight extends Minion implements MinionBattlecryInterface { public BloodKnight() { super(); } /** * Battlecry: All minions lose Divine Shield. Gain +3/+3 for each Shield lost */ @Override public EffectCharacter getBattlecryEffect() { return new EffectCharacter<Minion>() { @Override public HearthTreeNode applyEffect(PlayerSide targetSide, CharacterIndex targetCharacterIndex, HearthTreeNode boardState) { for (Minion minion : boardState.data_.modelForSide(PlayerSide.CURRENT_PLAYER).getMinions()) { if (minion != BloodKnight.this && minion.getDivineShield()) { minion.setDivineShield(false); BloodKnight.this.addHealth(3); BloodKnight.this.addMaxHealth(3); BloodKnight.this.addAttack(3); } } for (Minion minion : boardState.data_.modelForSide(PlayerSide.WAITING_PLAYER).getMinions()) { if (minion != BloodKnight.this && minion.getDivineShield()) { minion.setDivineShield(false); BloodKnight.this.addHealth(3); BloodKnight.this.addMaxHealth(3); BloodKnight.this.addAttack(3); } } return boardState; } }; } }