private static void upkeep_Mortal_Combat() {
        final Player player = AllZone.getPhase().getPlayerTurn();

        CardList list = AllZoneUtil.getPlayerCardsInPlay(player, "Mortal Combat");
        CardList grave = AllZoneUtil.getPlayerGraveyard(player);
        grave = grave.filter(AllZoneUtil.creatures);

        if (0 < list.size() && 20 <= grave.size()) {
            final Card source = list.get(0);
            Ability ability = new Ability(source, "0") {
                @Override
                public void resolve() {
                    CardList grave = AllZoneUtil.getPlayerGraveyard(player);
                    grave = grave.filter(AllZoneUtil.creatures);
                    if (grave.size() >= 20)
                        player.altWinConditionMet(source.getName());
                }
            };// Ability

            StringBuilder sb = new StringBuilder();
            sb.append("Mortal Combat - ").append(player).append(" wins the game");
            ability.setStackDescription(sb.toString());

            AllZone.getStack().addSimultaneousStackEntry(ability);

        }// if
    }