public Generate2ColorDeck(String Clr1, String Clr2) {
        r = MyRandom.random;

        CardCounts = new HashMap<String, Integer>();

        ClrMap = new HashMap<String, String>();
        ClrMap.put("white", "W");
        ClrMap.put("blue", "U");
        ClrMap.put("black", "B");
        ClrMap.put("red", "R");
        ClrMap.put("green", "G");

        notColors = new ArrayList<String>();
        notColors.add("white");
        notColors.add("blue");
        notColors.add("black");
        notColors.add("red");
        notColors.add("green");

        DualLands = new ArrayList<DLnd>();
        DualLands.add(new DLnd("Tundra", "WU"));
        DualLands.add(new DLnd("Hallowed Fountain", "WU"));
        DualLands.add(new DLnd("Underground Sea", "UB"));
        DualLands.add(new DLnd("Watery Grave", "UB"));
        DualLands.add(new DLnd("Badlands", "BR"));
        DualLands.add(new DLnd("Blood Crypt", "BR"));
        DualLands.add(new DLnd("Taiga", "RG"));
        DualLands.add(new DLnd("Stomping Ground", "RG"));
        DualLands.add(new DLnd("Savannah", "GW"));
        DualLands.add(new DLnd("Temple Garden", "GW"));
        DualLands.add(new DLnd("Scrubland", "WB"));
        DualLands.add(new DLnd("Godless Shrine", "WB"));
        DualLands.add(new DLnd("Volcanic Island", "UR"));
        DualLands.add(new DLnd("Steam Vents", "UR"));
        DualLands.add(new DLnd("Bayou", "BG"));
        DualLands.add(new DLnd("Overgrown Tomb", "BG"));
        DualLands.add(new DLnd("Plateau", "RW"));
        DualLands.add(new DLnd("Sacred Foundry", "RW"));
        DualLands.add(new DLnd("Tropical Island", "GU"));
        DualLands.add(new DLnd("Breeding Pool", "GU"));

        if (Clr1.equals("AI")) {
            // choose first color
            color1 = notColors.get(r.nextInt(5));

            // choose second color
            String c2 = notColors.get(r.nextInt(5));
            while (c2.equals(color1))
                c2 = notColors.get(r.nextInt(5));
            color2 = c2;
        } else {
            color1 = Clr1;
            color2 = Clr2;
        }

        notColors.remove(color1);
        notColors.remove(color2);

        DL = new ArrayList<String>();
        for (int i = 0; i < DualLands.size(); i++) {
            DLnd d = DualLands.get(i);
            if (d.Mana.contains(ClrMap.get(color1)) && d.Mana.contains(ClrMap.get(color2))) {
                DL.add(d.Name);
                CardCounts.put(d.Name, 0);
            }
        }

    }