package com.hearthsim.card.classic.minion.rare;
import com.hearthsim.card.Card;
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.event.filter.FilterCharacterTargetedBattlecry;
import com.hearthsim.model.BoardModel;
import com.hearthsim.model.PlayerSide;
public class Si7Agent extends Minion implements MinionBattlecryInterface {
private final static FilterCharacterTargetedBattlecry filter = new FilterCharacterTargetedBattlecry() {
protected boolean includeEnemyHero() {
return true;
}
protected boolean includeEnemyMinions() {
return true;
}
protected boolean includeOwnHero() {
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;
}
return board.modelForSide(originSide).isComboEnabled();
}
};
private final static EffectCharacter battlecryAction = new EffectCharacterDamage(2);
public Si7Agent() {
super();
}
@Override
public FilterCharacter getBattlecryFilter() {
return Si7Agent.filter;
}
@Override
public EffectCharacter getBattlecryEffect() {
return Si7Agent.battlecryAction;
}
}