package com.hearthsim.card.classic.spell.rare; import com.hearthsim.card.CharacterIndex; import com.hearthsim.card.minion.Minion; import com.hearthsim.card.spellcard.SpellDamage; import com.hearthsim.event.effect.EffectCharacter; import com.hearthsim.event.effect.EffectCharacterDamageSpell; import com.hearthsim.event.effect.EffectOnResolveAoe; import com.hearthsim.event.filter.FilterCharacter; import com.hearthsim.model.PlayerSide; import com.hearthsim.util.tree.HearthTreeNode; public class Blizzard extends SpellDamage implements EffectOnResolveAoe { /* * Deal $2 damage to all enemy minions and <b>Freeze</b> them. */ public Blizzard() { super(); } @Override public EffectCharacterDamageSpell<SpellDamage> getSpellDamageEffect() { if (this.effect == null) { this.effect = new EffectCharacterDamageSpell<SpellDamage>(damage_) { @Override public HearthTreeNode applyEffect(PlayerSide targetSide, CharacterIndex targetCharacterIndex, HearthTreeNode boardState) { Minion targetCharacter = boardState.data_.getCharacter(targetSide, targetCharacterIndex); targetCharacter.setFrozen(true); return super.applyEffect(targetSide, targetCharacterIndex, boardState); } }; } return this.effect; } @Override public EffectCharacter getAoeEffect() { return this.getSpellDamageEffect(); } @Override public FilterCharacter getAoeFilter() { return FilterCharacter.ENEMY_MINIONS; } }