package com.hearthsim.card.classic.weapon.epic;
import com.hearthsim.card.minion.Minion;
import com.hearthsim.card.weapon.WeaponCard;
import com.hearthsim.exception.HSException;
import com.hearthsim.model.BoardModel;
import com.hearthsim.model.PlayerModel;
import com.hearthsim.model.PlayerSide;
import com.hearthsim.util.tree.HearthTreeNode;
public class GladiatorsLongbow extends WeaponCard {
boolean previousImmuneState = false;
@Override
public void beforeAttack(PlayerSide targetMinionPlayerSide, Minion targetMinion, HearthTreeNode toRet) throws HSException {
super.beforeAttack(targetMinionPlayerSide, targetMinion, toRet);
BoardModel boardModel = toRet.data_;
PlayerModel currentPlayer = boardModel.getCurrentPlayer();
this.previousImmuneState = currentPlayer.getHero().getImmune();
currentPlayer.getHero().setImmune(true);
}
@Override
public void afterAttack(PlayerSide targetMinionPlayerSide, Minion targetMinion, HearthTreeNode toRet) throws HSException {
super.afterAttack(targetMinionPlayerSide, targetMinion, toRet);
BoardModel boardModel = toRet.data_;
PlayerModel currentPlayer = boardModel.getCurrentPlayer();
currentPlayer.getHero().setImmune(this.previousImmuneState);
}
}