package com.hearthsim.card.classic.minion.rare;
import com.hearthsim.card.Card;
import com.hearthsim.card.minion.Minion;
import com.hearthsim.event.effect.EffectCharacter;
import com.hearthsim.event.effect.EffectOnResolveRandomCharacter;
import com.hearthsim.event.filter.FilterCharacter;
import com.hearthsim.model.BoardModel;
import com.hearthsim.model.PlayerSide;
public class MindControlTech extends Minion implements EffectOnResolveRandomCharacter {
private static final EffectCharacter effect = EffectCharacter.MIND_CONTROL;
private static final FilterCharacter filter = new FilterCharacter() {
@Override
protected boolean includeEnemyMinions() {
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(targetSide).getNumMinions() >= 4;
}
};
@Override
public EffectCharacter getRandomTargetEffect() {
return MindControlTech.effect;
}
@Override
public FilterCharacter getRandomTargetFilter() {
return MindControlTech.filter;
}
}