private static void upkeep_Shapeshifter() {
        final Player player = AllZone.getPhase().getPlayerTurn();
        CardList list = AllZoneUtil.getPlayerCardsInPlay(player, "Shapeshifter");
        list = list.filter(AllZoneUtil.nonToken);

        for (final Card c : list) {
            SpellAbility ability = new Ability(c, "0") {
                @Override
                public void resolve() {
                    int num = 0;
                    if (player.isHuman()) {
                        String[] choices = new String[7];
                        for (int j = 0; j < 7; j++) {
                            choices[j] = "" + j;
                        }
                        String answer = (String) (GuiUtils.getChoiceOptional(c.getName() + " - Choose a number", choices));
                        num = Integer.parseInt(answer);
                    } else {
                        num = 3;
                    }
                    c.setBaseAttack(num);
                    c.setBaseDefense(7 - num);
                }
            };
            ability.setStackDescription(c.getName() + " - choose a new number");

            AllZone.getStack().addSimultaneousStackEntry(ability);

        }//foreach(Card)
    }