package com.hearthsim.card.classic.minion.legendary; import com.hearthsim.card.CharacterIndex; import com.hearthsim.card.minion.Minion; import com.hearthsim.card.minion.MinionBattlecryInterface; import com.hearthsim.card.weapon.WeaponCard; import com.hearthsim.event.effect.EffectCharacter; import com.hearthsim.event.effect.EffectHeroDraw; import com.hearthsim.event.effect.EffectHeroWeaponDestroy; import com.hearthsim.model.PlayerSide; import com.hearthsim.util.tree.HearthTreeNode; public class HarrisonJones extends Minion implements MinionBattlecryInterface { public HarrisonJones() { super(); } /** * Battlecry: Destroy your opponent's weapon */ @Override public EffectCharacter<Minion> getBattlecryEffect() { return (PlayerSide targetSide, CharacterIndex minionPlacementIndex, HearthTreeNode boardState) -> { WeaponCard weapon = boardState.data_.modelForSide(PlayerSide.WAITING_PLAYER).getHero().getWeapon(); if (weapon != null) { EffectHeroDraw<Minion> draw = new EffectHeroDraw<>(weapon.getWeaponCharge()); boardState = EffectHeroWeaponDestroy.DESTROY.applyEffect(PlayerSide.WAITING_PLAYER, boardState); boardState = draw.applyEffect(PlayerSide.CURRENT_PLAYER, boardState); } return boardState; }; } }