Page 14 of 18

Re: Magic Duels tests and results

PostPosted: 04 Oct 2016, 10:25
by spirolone
Rholin wrote:Now is there anyway to exceed the limit of 1023 cards?? I just began modding on Magic duels yesterday and found that the card 1024 was not shown.
You can use more than 1024 cards but you have to use an external deck builder...
Actually, limit is 8192 for IDs of cards in decks, but game doesn't consider unlocked cards with ID over 1024. Curious thing is that if you edit a deck inside profile and add cards with IDs over 1024, you can open internal deck builder, see those cards and remove them or increase their number!! :)

Re: Magic Duels tests and results

PostPosted: 05 Oct 2016, 00:16
by Tejahn
Wow! Great find! Can you show a demonstration of how this is done? Also, I'm still unsure how to use the method thefiremind described to get around the 'Can't access store' screen. As of now, I'm still not able to do any mod testing.

Re: Magic Duels tests and results

PostPosted: 05 Oct 2016, 03:11
by spirolone
Tejahn wrote:Wow! Great find! Can you show a demonstration of how this is done? Also, I'm still unsure how to use the method thefiremind described to get around the 'Can't access store' screen. As of now, I'm still not able to do any mod testing.
If you have no profile which you completed Gideon campaign with, try this: rename "DATA_005.ZED" in "_DATA_005.ZED"; start game and unlock start box opening Battle screen; quit game, rename "_DATA_005.ZED" to original name and start again game. Now, you should be able to play but you will have no cards unlocked.
You can use my patch to unlock all the cards in your profile.

Regarding your first question, you need to add a card with an ID over 1024 (eg. 1050) to cardpool and manually edit a deck in your profile. As example, I uploaded a profile with a deck with 2 Bloodgift Demon that I added with ID 1050 in MyCardPool.lol inside DATA_005_Bis.ZED.

Re: Magic Duels tests and results

PostPosted: 05 Oct 2016, 09:03
by thefiremind
Tejahn wrote:Wow! Great find! Can you show a demonstration of how this is done? Also, I'm still unsure how to use the method thefiremind described to get around the 'Can't access store' screen. As of now, I'm still not able to do any mod testing.
My method involves having a profile where you completed Gideon's campaign online. Use that in the emulator and you're set. You can find the steps in the Steam emulator section of the first post (since it's directly connected to how that particular emulator is configured, I thought it was best to put the explanation there).
I also edited the first post again in order to sort the information in a more meaningful way.

Re: Magic Duels tests and results

PostPosted: 05 Oct 2016, 10:10
by Rholin
thefiremind wrote:
Rholin wrote:Now is there anyway to exceed the limit of 1023 cards??
Not at the moment. But in the next expansion the developers will be forced to exceed it themselves so a solution will most likely come up.
Thanks, hope that will not be a long time :mrgreen:

spirolone wrote:
Rholin wrote:Now is there anyway to exceed the limit of 1023 cards?? I just began modding on Magic duels yesterday and found that the card 1024 was not shown.
You can use more than 1024 cards but you have to use an external deck builder...
Actually, limit is 8192 for IDs of cards in decks, but game doesn't consider unlocked cards with ID over 1024. Curious thing is that if you edit a deck inside profile and add cards with IDs over 1024, you can open internal deck builder, see those cards and remove them or increase their number!! :)
That's great! I downloaded your profile tools and found that deck files contain information like this "FF 00 44 01 FF 00 C4 04 FF 00 42 04". I think this is about the cards and its number but don't know how it works :?

Re: Magic Duels tests and results

PostPosted: 05 Oct 2016, 14:15
by spirolone
Rholin wrote:That's great! I downloaded your profile tools and found that deck files contain information like this "FF 00 44 01 FF 00 C4 04 FF 00 42 04". I think this is about the cards and its number but don't know how it works :?
Yes: you have 4 bytes for any card. Look at last 2 bytes, as example 44 01, that is 0x144 (1 0100 0100); last 3 bits (100) denote how many instances of that card (4), while remaining bits (101000) denote ID number (40).

Re: Magic Duels tests and results

PostPosted: 08 Oct 2016, 15:52
by Tejahn


Okay, it seems that the 4 ability Planeswalkers are still not practical at this point. A quick test proved that only the MULTIVERSEID of Chandra, Torch of Defiance allow 4 abilities. In the image above, I recolored her card frame blue to fit Jace, the Mind Sculptor. All of his abilities worked fine but it was just strange viewing his card on a red frame initially. I wonder where the code that allow 4 abilities is located. Also, why is it MID-related.

Re: Magic Duels tests and results

PostPosted: 08 Oct 2016, 18:55
by thefiremind
Tejahn wrote:I wonder where the code that allow 4 abilities is located. Also, why is it MID-related.
Inside the executable, unfortunately. It's one of the design choices I'll never be able to explain: they hard-code Planeswalkers' layouts (which need to be added on each expansion), while they soft-code scry, for example (which is and will always be the same).
I understand that there are some unique layout properties for each Planeswalker (the part of the image that overlaps the upper part of the frame, and the height of each ability box), but I'm sure it would have been possible to make those auto-adapt, if only they wanted to.

Re: Magic Duels tests and results

PostPosted: 08 Oct 2016, 22:17
by Tejahn
I agree. I've been able to make images adapted to different frames. Oh well, I'll report more testing results as I experiment more.

Re: Magic Duels tests and results

PostPosted: 10 Oct 2016, 09:34
by thefiremind
There's something I was wondering. In the Constants.lol file you can find this brand new list of constants:
| Open
SYMBOL_COLOURLESS = 0
SYMBOL_WHITE = 1
SYMBOL_BLUE = 2
SYMBOL_BLACK = 3
SYMBOL_RED = 4
SYMBOL_GREEN = 5
SYMBOL_PHYREXIAN = 6
SYMBOL_CULTIVATOR_DRONE = 7
SYMBOL_DEVOID_SPELL_W = 8
SYMBOL_DEVOID_SPELL_U = 9
SYMBOL_DEVOID_SPELL_B = 10
SYMBOL_DEVOID_SPELL_R = 11
SYMBOL_DEVOID_SPELL_G = 12
SYMBOL_TAP_1 = 13
SYMBOL_TAP_2 = 14
SYMBOL_TAP_3 = 15
SYMBOL_TAP_4 = 16
SYMBOL_SAC_1 = 17
SYMBOL_SAC_2 = 18
SYMBOL_SAC_3 = 19
SYMBOL_SAC_4 = 20
SYMBOL_LIFE = 21
SYMBOL_ENERGY = 22
What are those for? Any idea I have would suit only a subset of those names. And why is Cultivator Drone in there? It's not in game, not even in a campaign or tutorial...

Re: Magic Duels tests and results

PostPosted: 10 Oct 2016, 09:41
by Xander9009
Best guess? Considering Cultivator Drone has something unique from the others, namely restricted mana, it might be meant for AI use. It might be for literal symbols, but it might also mean symbols in a more abstract sense. Something to help the AI in evaluating the ever more complicated costs? I don't think that's right, but it's my best guess without really digging into it.

Re: Magic Duels tests and results

PostPosted: 10 Oct 2016, 09:58
by thefiremind
Xander9009 wrote:Best guess? Considering Cultivator Drone has something unique from the others, namely restricted mana, it might be meant for AI use. It might be for literal symbols, but it might also mean symbols in a more abstract sense. Something to help the AI in evaluating the ever more complicated costs? I don't think that's right, but it's my best guess without really digging into it.
It seems reasonable. The strange thing is that I can't find those names inside the executable, so only their numeric value has a meaning (this should exclude the possibility of using them in XML attributes), and I can't find a function that could use them as argument. The only function with the word "symbol" is AddManaBySymbols, which uses mana cost strings in order to add mana to the pool (while AddMana uses COLOUR constants).

I would have thought that they might have started working on a Kaladesh card and then given up, as they did for Emrakul in SOI (leaving us with SetControllingPlayer which actually works), but I can't find a Kaladesh card that could use those constants, either.

Re: Magic Duels tests and results

PostPosted: 10 Oct 2016, 10:03
by Xander9009
Then it might have been a scrapped idea they were working on, or perhaps they know about something coming up that will eventually need those. Could be just the beginning of something they're still working on. Depending on how they commit their work, it might have simply ended up in an earlier release than it's actually needed for... At this point, I'm just wildly speculating of course.

Re: Magic Duels tests and results

PostPosted: 10 Oct 2016, 22:26
by Reaper
how now to edit the campaign decks, i tried to edit the decompiled lua files, but however some have decompiling errors, and i tried creating the simplified lua files. but getting an default empty deck with only plains in it..
for example i want to edit liliana's deck
| Open
module(..., package.seeall)

local tCards = {
{name = "SHAMBLING_GOBLIN_389906" deckOrderId = "0"},
{name = "SHAMBLING_GOBLIN_389906" deckOrderId = "1"},
{name = "MIKAEUS_THE_UNHALLOWED_CW_249896" deckOrderId = "2"},
{name = "ABATTOIR_GHOUL_337825" deckOrderId = "3"},
{name = "BONE_SPLINTERS_390388" deckOrderId = "4"},
{name = "BONE_SPLINTERS_390388" deckOrderId = "5"},
{name = "ABATTOIR_GHOUL_337825" deckOrderId = "6"},
{name = "SHAMBLING_GHOUL_385274" deckOrderId = "7"},
{name = "SHAMBLING_GHOUL_385274" deckOrderId = "8"},
{name = "STILLMOON_CAVALIER_CW_153037" deckOrderId = "9"},
{name = "BLACK_CAT_390009" deckOrderId = "10"},
{name = "BLACK_CAT_390009" deckOrderId = "11"},
{name = "ALTARS_REAP_390878" deckOrderId = "12"},
{name = "ALTARS_REAP_390878" deckOrderId = "13"},
{name = "STILLMOON_CAVALIER_CW_153037" deckOrderId = "14"},
{name = "STILLMOON_CAVALIER_CW_153037" deckOrderId = "15"},
{name = "DEATH_BARON_365865" deckOrderId = "16"},
{name = "NANTUKO_HUSK_391522" deckOrderId = "17"},
{name = "GRAVEDIGGER_390012" deckOrderId = "18"},
{name = "GRAVEDIGGER_390012" deckOrderId = "19"},
{name = "CORPSE_HARVESTER_CW_205419" deckOrderId = "20"},
{name = "UNDEAD_WARCHIEF_365918" deckOrderId = "21"},
{name = "RISE_FROM_THE_GRAVE_390421" deckOrderId = "22"},
{name = "RISE_FROM_THE_GRAVE_390421" deckOrderId = "23"},
{name = "CRUEL_REVIVAL_387020" deckOrderId = "24"},
{name = "CRUEL_REVIVAL_387020" deckOrderId = "25"},
{name = "BUTCHER_GHOUL_389877" deckOrderId = "26"},
{name = "BUTCHER_GHOUL_389877" deckOrderId = "27"},
{name = "CORRUPT_389988" deckOrderId = "28"},
{name = "CORRUPT_389988" deckOrderId = "29"},
{name = "DARK_GARRUKS_HORDE_001337948" deckOrderId = "30"},
{name = "SOULLESS_ONE_390024" deckOrderId = "31"},
{name = "SOULLESS_ONE_390024" deckOrderId = "32"},
{name = "LORD_OF_THE_UNDEAD_389872" deckOrderId = "33"},
{name = "LORD_OF_THE_UNDEAD_389872" deckOrderId = "34"},
{name = "DARK_ORACLE_OF_MUL_DAYA_001348407" deckOrderId = "35"},
{name = "GRAVE_BETRAYAL_CW_270960" deckOrderId = "36"},
{name = "HELLDOZER_CW_205360" deckOrderId = "37"},
{name = "UNDEAD_BIOMANCER_001199366352"},
{name = "SWAMP_387378" deckOrderId = "39"},
{name = "SWAMP_387378" deckOrderId = "40"},
{name = "SWAMP_387378" deckOrderId = "41"},
{name = "SWAMP_387378" deckOrderId = "42"},
{name = "SWAMP_387380" deckOrderId = "43"},
{name = "SWAMP_387380" deckOrderId = "44"},
{name = "SWAMP_387380" deckOrderId = "45"},
{name = "SWAMP_387380" deckOrderId = "46"},
{name = "SWAMP_387379" deckOrderId = "47"},
{name = "SWAMP_387379" deckOrderId = "48"},
{name = "SWAMP_387379" deckOrderId = "49"},
{name = "SWAMP_387379" deckOrderId = "50"},
{name = "SWAMP_387379" deckOrderId = "51"},
{name = "SWAMP_387381" deckOrderId = "52"},
{name = "SWAMP_387381" deckOrderId = "53"},
{name = "SWAMP_387381" deckOrderId = "54"},
{name = "SWAMP_387381" deckOrderId = "55"},
{name = "SWAMP_387381" deckOrderId = "56"},
{name = "SWAMP_387381" deckOrderId = "57"},
{name = "SWAMP_387381" deckOrderId = "58"},
{name = "SWAMP_387381" deckOrderId = "59"}
}

card_pool = {
id = "30",
content_id = "8",
plane_id = "30",
collection_logo_location = "Art_Assets\\Frontend\\Collection\\moon_filter_button",
cards = tCards


And also i tried to edit the decompiled LOL file, the demons deck,, however that one is too big to show

Re: Magic Duels tests and results

PostPosted: 11 Oct 2016, 08:03
by thefiremind
I see three problems:
  • If you didn't miss it only when copying and pasting here, then you are missing a closed bracket } at the end of the file.
  • You are missing the commas after all the card names: the tables should be initialized in the format { x="...", y="..." }
    (Undead Biomancer is also missing its deck ID completely)
  • You copied the last table from my decompiled card pool, but I decompiled a random campaign deck and it doesn't have a card_pool table, instead it has a deck table, with different properties inside. My example doesn't mean that all the LOL files have the same structure, you need to start from the structure of the one you intend to overwrite.