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.event.filter.FilterCharacter;
import com.hearthsim.event.filter.FilterCharacterTargetedBattlecry;
import com.hearthsim.model.PlayerSide;
import com.hearthsim.util.tree.HearthTreeNode;
public class HungryCrab extends Minion implements MinionBattlecryInterface {
/**
* Battlecry: Destroy a murloc and gain +2/+2
*/
private final static FilterCharacterTargetedBattlecry filter = new FilterCharacterTargetedBattlecry() {
protected boolean includeEnemyMinions() {
return true;
}
protected boolean includeOwnMinions() {
return true;
}
protected MinionTribe tribeFilter() {
return MinionTribe.MURLOC;
}
};
public HungryCrab() {
super();
}
@Override
public FilterCharacter getBattlecryFilter() {
return HungryCrab.filter;
}
@Override
public EffectCharacter getBattlecryEffect() {
return new EffectCharacter<Minion>() {
@Override
public HearthTreeNode applyEffect(PlayerSide targetSide, CharacterIndex targetCharacterIndex, HearthTreeNode boardState) {
Minion targetMinion = boardState.data_.modelForSide(targetSide).getCharacter(targetCharacterIndex);
targetMinion.setHealth((byte) -99);
HungryCrab.this.addAttack((byte) 2);
HungryCrab.this.addHealth((byte) 2);
HungryCrab.this.addMaxHealth((byte) 2);
return boardState;
}
}; }
}