package com.hearthsim.event.effect;
import com.hearthsim.card.Card;
import com.hearthsim.model.PlayerSide;
import com.hearthsim.util.tree.HearthTreeNode;
public class EffectHeroBuff<T extends Card> implements EffectHero<T> {
private final byte attackDelta;
private final byte armorDelta;
public EffectHeroBuff(int attackDelta, int armorDelta) {
this.attackDelta = (byte) attackDelta;
this.armorDelta = (byte) armorDelta;
}
public HearthTreeNode applyEffect(PlayerSide targetSide, HearthTreeNode boardState) {
if (this.attackDelta > 0) {
boardState.data_.modelForSide(targetSide).getHero().addExtraAttackUntilTurnEnd(this.attackDelta);
}
if (this.armorDelta > 0) {
boardState.data_.modelForSide(targetSide).getHero().addArmor(this.armorDelta);
}
return boardState;
}
}