package com.hearthsim.card.classic.spell.common; import com.hearthsim.card.Card; import com.hearthsim.card.minion.Minion; import com.hearthsim.card.spellcard.SpellTargetableCard; import com.hearthsim.event.effect.EffectCharacter; import com.hearthsim.event.effect.EffectCharacterBuffDelta; import com.hearthsim.event.filter.FilterCharacter; import com.hearthsim.event.filter.FilterCharacterTargetedSpell; import com.hearthsim.model.BoardModel; import com.hearthsim.model.PlayerSide; public class Rampage extends SpellTargetableCard { private final static EffectCharacter effect = new EffectCharacterBuffDelta(3, 3); private final static FilterCharacter filter = new FilterCharacterTargetedSpell() { protected boolean includeEnemyMinions() { return true; } 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.getHealth() == targetCharacter.getMaxHealth()) { return false; } return true; } }; public Rampage() { super(); } @Override public FilterCharacter getTargetableFilter() { return Rampage.filter; } @Override public EffectCharacter getTargetableEffect() { return Rampage.effect; } }