package net.demilich.metastone.game.spells; import net.demilich.metastone.game.GameContext; import net.demilich.metastone.game.Player; import net.demilich.metastone.game.cards.MinionCard; import net.demilich.metastone.game.entities.Entity; import net.demilich.metastone.game.entities.heroes.Hero; import net.demilich.metastone.game.entities.minions.Minion; import net.demilich.metastone.game.spells.desc.SpellDesc; public class CloneMinionSpell extends Spell { @Override protected void onCast(GameContext context, Player player, SpellDesc desc, Entity source, Entity target) { if (target instanceof Hero) { target = ((MinionCard) context.getPendingCard()).summon(); } Minion template = (Minion) target; Minion clone = template.clone(); context.getLogic().summon(player.getId(), clone); } }