package com.hearthsim.card.classic.minion.common;
import com.hearthsim.card.minion.Minion;
import com.hearthsim.card.minion.MinionBattlecryInterface;
import com.hearthsim.event.effect.EffectCharacter;
import com.hearthsim.event.filter.FilterCharacter;
import com.hearthsim.event.filter.FilterCharacterTargetedBattlecry;
import com.hearthsim.model.PlayerSide;
import com.hearthsim.util.tree.HearthTreeNode;
public class CruelTaskmaster extends Minion implements MinionBattlecryInterface {
/**
* Battlecry: Deal 1 damage to a minion and give it +2 Attack
*/
private final static FilterCharacterTargetedBattlecry filter = new FilterCharacterTargetedBattlecry() {
protected boolean includeEnemyMinions() {
return true;
}
protected boolean includeOwnMinions() {
return true;
}
};
private final static EffectCharacter battlecryAction = (targetSide, targetCharacterIndex, boardState) -> {
Minion targetMinion = boardState.data_.modelForSide(targetSide).getCharacter(targetCharacterIndex);
HearthTreeNode toRet = boardState;
targetMinion.addAttack(2);
toRet = targetMinion.takeDamageAndNotify((byte) 1, PlayerSide.CURRENT_PLAYER, targetSide, toRet, false, true);
return toRet;
};
public CruelTaskmaster() {
super();
}
@Override
public FilterCharacter getBattlecryFilter() {
return CruelTaskmaster.filter;
}
@Override
public EffectCharacter getBattlecryEffect() {
return CruelTaskmaster.battlecryAction;
}
}