@Override
            public void selectCard(Card card, PlayerZone zone) {
                if (targeted && !canTarget(spell, card)) {
                    AllZone.getDisplay().showMessage("Cannot target this card (Shroud? Protection?).");
                } else if (choices.contains(card)) {
                    spell.setTargetCard(card);
                    if (spell.getManaCost().equals("0") || free) {
                        this.setFree(false);
                        AllZone.getStack().add(spell);
                        stop();
                    } else stopSetNext(new Input_PayManaCost(spell));

                    paid.execute();
                }
            }