package com.hearthsim.card.classic.minion.rare;
import com.hearthsim.card.minion.Minion;
import com.hearthsim.card.minion.MinionDamagedInterface;
import com.hearthsim.event.effect.EffectHero;
import com.hearthsim.event.effect.EffectHeroBuff;
import com.hearthsim.model.PlayerSide;
import com.hearthsim.util.tree.HearthTreeNode;
public class Armorsmith extends Minion implements MinionDamagedInterface {
private static final EffectHero<Minion> effect = new EffectHeroBuff<>(0, 1);
public Armorsmith() {
super();
}
/**
*
* Whenever a friendly minion takes damage, gain 1 Armor
*
*
* @param thisMinionPlayerSide
* @param damagedPlayerSide
* @param damagedMinion The damaged minion
* @param boardState The BoardState before this card has performed its action. It will be manipulated and returned.
* */
@Override
public HearthTreeNode minionDamagedEvent(PlayerSide thisMinionPlayerSide, PlayerSide damagedPlayerSide, Minion damagedMinion, HearthTreeNode boardState) {
HearthTreeNode toRet = boardState;
if (thisMinionPlayerSide == damagedPlayerSide) {
toRet = Armorsmith.effect.applyEffect(thisMinionPlayerSide, toRet);
}
return toRet;
}
}