Chakan wrote:I've been looking through this thread, and I'm confused. Can we import new cards and make a deck with them in Duels possible or not?
Yes. It's been possible for a very long time. And it's always been possible to play against decks you created by replacing cards in the XMLs of the
Decks folder (Campaign) and the
ExploreDecks folder (Encounter).

- Shadows Over Innistrad - ExploreDecks folder
Let's use the
Shadows Over Innistrad ExploreDecks folder as an example. Inside there are 4 folders labelled
Easy,
Hard,
Medium, and
SuperEasy. Each folder contains
1,680 XMLs except the
SuperEasy folder which contains
60 XMLs. This is a much more manageable number and the folder I use to be able to play against decks I created.
Origins and
BFZ are the only others that have a
SuperEasy folder in the
ExploreDecks folder so I've added decks to them as well to increase my chance of encountering a deck I created. You'll notice when you've encountered a deck you created because the AI will obviously be playing with cards you added. Although this is a random process, I like the fact that I can play against my own decks randomly. For more control over how often you will face decks you created you can put the name of the deck you edited throughout the entire
Ratings XML.

- SOI Decks Folder (Campaign)
However, if you want exact control over which added decks you'll encounter you can use the
Decks folder and change the cards the AI use against you in the
Campaigns.
But moving back to the SOI
ExploreDecks folder, there is also a
Ratings XML that determines which deck the AI will use based on the difficulty you choose. As you can see by looking at the
SOI Ratings XML screenshot directly below, there is a possible combination of
10,140 decks the AI can use in SOI. Far from the nearly limitless combination they spoke of and most are duplicates with a few cards replaced by others here and there. I remember Roil
Sprout being in over more than half of the decks before the
OGW/
SOI update.

- Shadows Over Innistrad - Ratings XML
Either way, let's get back on track. With the program I use I can sort by
Name,
Category, and
Rating. So I sorted by
Rating to give me the the highest rated deck the the AI has access to which was named
WHITE_CONTROL_BLACK_CONTROL_GREEN_COLOURLESS_HARD_CONTROL_0in the
Ratings XML but searching for that name in the
ExploreDecks folder didn't yield any results so I searched for it using it's
rating number 2584 and one XML appeared beside the
Rating XML itself. If I would have searched by
Category (which is
15) more results would have appeared (239 to be exact). It turns out that the actual name of the deck is
BLUE_MADNESS_UB_ZOMBIES_RED_WEREWOLVES_HARD_AGGRO_0.

- BLUE_MADNESS_UB_ZOMBIES_RED_WEREWOLVES_HARD_AGGRO_0 - 11 Attributes
Upon opening this XML you'll notice that this deck, like all the others, have
11 Attributes(Notice that the
rating number 2584 in the
Ratings XML is the same as the
UID.)
- Code: Select all
<DECK
is_explore_deck="true"
uid="2584"
seed1_id="253"
seed2_id="254"
seed3_id="257"
difficulty="0"
is_white="false"
is_blue="true"
is_black="true"
is_red="true"
is_green="false">
I've not yet tried to determine how each attribute that is not obvious function.

- BLUE_MADNESS_UB_ZOMBIES_RED_WEREWOLVES_HARD_AGGRO_0 - 50 Subtags
And
50 Subtags with the
Name of the card in the deck and the
Quantity which is used for the number of lands in the deck although this format can be used for the number of nonland cards as well. I'm not sure why they didn't use it for nonland cards.
- Code: Select all
<BASICLAND name="Forest" quantity="1" />
<BASICLAND name="Island" quantity="3" />
<BASICLAND name="Mountain" quantity="2" />
<BASICLAND name="Swamp" quantity="8" />
<CARD name="ASYLUM_VISITOR_388844" />
<CARD name="ASYLUM_VISITOR_388844" />
<CARD name="AVACYNS_JUDGMENT_388828" />
<CARD name="AVACYNS_JUDGMENT_388828" />
<CARD name="BREAKNECK_RIDER_392188" />
<CARD name="BROKEN_CONCENTRATION_388748" />
<CARD name="CONVICTED_KILLER_386594" />
<CARD name="CORPSE_HAULER_393498" />
<CARD name="CORPSE_HAULER_393498" />
<CARD name="CROW_OF_DARK_TIDINGS_399125" />
<CARD name="DIREGRAF_COLOSSUS_388726" />
<CARD name="DRAGONSKULL_SUMMIT_391683" />
<CARD name="DRAGONSKULL_SUMMIT_391683" />
<CARD name="DROWNED_CATACOMB_389972" />
<CARD name="DROWNED_CATACOMB_389972" />
<CARD name="ELUSIVE_TORMENTOR_388865" />
<CARD name="GHOULCALLERS_ACCOMPLICE_388882" />
<CARD name="GHOULCALLERS_ACCOMPLICE_388882" />
<CARD name="GHOULCALLERS_ACCOMPLICE_388882" />
<CARD name="GHOULCALLERS_ACCOMPLICE_388882" />
<CARD name="GISAS_BIDDING_388713" />
<CARD name="HARVEST_HAND_388814" />
<CARD name="HARVEST_HAND_388814" />
<CARD name="HARVEST_HAND_388814" />
<CARD name="HIGHLAND_LAKE_397622" />
<CARD name="HIGHLAND_LAKE_397622" />
<CARD name="HIGHLAND_LAKE_397622" />
<CARD name="HIGHLAND_LAKE_397622" />
<CARD name="JUST_THE_WIND_386512" />
<CARD name="MINDWRACK_DEMON_388809" />
<CARD name="MURDEROUS_COMPULSION_388803" />
<CARD name="MURDEROUS_COMPULSION_388803" />
<CARD name="MURDEROUS_COMPULSION_388803" />
<CARD name="NAGGING_THOUGHTS_386517" />
<CARD name="OLIVIA_MOBILIZED_FOR_WAR_388899" />
<CARD name="PRIZED_AMALGAM_392199" />
<CARD name="PRIZED_AMALGAM_392199" />
<CARD name="RANCID_RATS_386604" />
<CARD name="RATTLECHAINS_386613" />
<CARD name="RATTLECHAINS_386613" />
<CARD name="RECKLESS_SCHOLAR_386547" />
<CARD name="SULFUR_FALLS_391682" />
<CARD name="SULFUR_FALLS_391682" />
<CARD name="ULRICHS_KINDRED_388765" />
<CARD name="WELCOME_TO_THE_FOLD_388880" />
<CARD name="WELCOME_TO_THE_FOLD_388880" />
</DECK>
I've been using these methods to play against decks I created for quite a while. And I hope I was able to explain my approach well enough.