@Override
                public void resolve() {
                    if (player.isHuman()) {
                        Input target = new Input() {
                            private static final long serialVersionUID = 2698036349873486664L;

                            @Override
                            public void showMessage() {
                                String toDisplay = cardName + " - Select any number of creatures to sacrifice.  ";
                                toDisplay += "Currently, (" + toSac.size() + ") selected with a total power of: " + getTotalPower();
                                toDisplay += "  Click OK when Done.";
                                AllZone.getDisplay().showMessage(toDisplay);
                                ButtonUtil.enableAll();
                            }

                            @Override
                            public void selectButtonOK() {
                                done();
                            }

                            @Override
                            public void selectButtonCancel() {
                                toSac.clear();
                                AllZone.getGameAction().sacrifice(card);
                                stop();
                            }

                            @Override
                            public void selectCard(Card c, PlayerZone zone) {
                                if (c.isCreature() && zone.is(Constant.Zone.Battlefield, AllZone.getHumanPlayer())
                                        && !toSac.contains(c)) {
                                    toSac.add(c);
                                }
                                showMessage();
                            }//selectCard()

                            private void done() {
                                if (getTotalPower() >= 12) {
                                    for (Card sac : toSac) AllZone.getGameAction().sacrifice(sac);
                                } else {
                                    AllZone.getGameAction().sacrifice(card);
                                }
                                toSac.clear();
                                stop();
                            }
                        };//Input
                        AllZone.getInputControl().setInput(target);
                    }
                }