I remember someone talking about adding the missing planes, for example those from the original Planechase expansion. I can't say I'm 100% sure, but I think it can be done. We would just have to make a WAD file that contains a deck called D13_PLANE_DECK.XML, with uid="77" (maybe this isn't important but it should override the existing one), that contains the existing planes plus the ones we are going to add. Moreover, if you look at the illustrations in DECK_0077_PC, you see that they are not like the Archenemy cards: there's just the illustration, and the border is added by the game. This makes things a lot easier.
With the
list of the existing planes and a good
collection of images from the original Planechase expansion, we should be good to go. And I'll have a try soon.
EDIT: I coded
Academy at Tolaria West, a very easy plane. The planar deck overriding worked just fine, but there's a visual bug when a custom plane is used: do you remember the rectangle that stays behind your avatar when you play a Planechase match, and displays a progressively fading image of the plane you are playing on? Well, that rectangle is all white for my custom plane. It would be natural to think that the image in that rectangle is automatically generated from the plane illustration, but this bug seems to tell otherwise, and I can't find any file in the core ART_ASSETS that could be connected to this.
EDIT 2: I still can't understand what's wrong, but it's something totally related to the illustration, because if I use an existing art ID for a custom plane, the rectangle is visible. There's no difference in dimensions, file size, nor in the header between my custom image and an official one... so what could I do?
EDIT 3: I found the reason!

But it's something I wouldn't believe if I didn't test it myself... the reason for the visual bug isn't connected to the illustration itself, but to its art ID! The art IDs of the planes have to be totally numeric and they can't start with 0. Changing A198073.TDX to 1999198073.TDX (and of course its reference in the XML file) fixed the bug. Now the rectangle is visible for my custom plane with custom illustration.
It will take some time to code the planes because I can't use my tool to download localised text: magiccards.info doesn't have text for the plane cards. And I'm sorry for the Korean, Russian and Portuguese friends out there, but their languages don't exist in the original Planechase expansion. They'll have to bear with English text.

EDIT 4: Did someone understand without any doubt what's the meaning of the AI_PLANAR_DIE_BEHAVIOUR? AlwaysRoll is obvious, but the other 2 aren't: what's considered as a winning roll? Getting chaos, or getting nothing?
EDIT 5: You can already download 10 new planes here:
viewtopic.php?f=64&t=7498EDIT 6: I just had a Planechase match with the new planes. Sole survivors: me with my Morbid deck at 34 life thanks to a chaos roll on
Fields of Summer, and Ajani at 14 life.
Goldmeadow stayed in play a lot, so we both had a bunch of Goat tokens... I thought that the match would have lasted longer, but then I rolled planeswalk, and where did I get to?
Bant! All those Goat tokens suddenly were exalted, and my attacking
Moldgraf Monstrosity became a trampling 26/26 (imagine some goats cheering up a giant caterpillar, it's quite hilarious

). Ajani blocked it with only 1 Goat, I don't know why... anyway even if he managed to survive by blocking with all his Goats, I would have won the next turn for sure.

EDIT 7 (this post is becoming enormous

): In case someone is interested: the simplest solutions are really the best sometimes. We can use ObjectDC to store custom characteristics and set them in static abilities as they were real, for example:
- Code: Select all
<STATIC_ABILITY>
<CONTINUOUS_ACTION>
ObjectDC():Set_Int( CHARACTERISTIC_MODULAR, 1 )
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
(of course you have to define that variable)
If I give this ability to all creatures with modular,
Arcbound Overseer will easily work with this code:
- Code: Select all
<TRIGGERED_ABILITY filter_zone="ZONE_IN_PLAY">
<TRIGGER value="BEGINNING_OF_STEP" simple_qualifier="controller">
return ( EffectController():MyTurn() ~= 0 ) and ( MTG():GetStep() == STEP_UPKEEP )
</TRIGGER>
<FILTER>
return FilteredCard() ~= nil and
FilteredCard():GetZone() == ZONE_IN_PLAY and
FilteredCard():GetPlayer() == Object():GetPlayer() and
FilteredCard():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0 and
(FilteredCard():GetDataChest() ~= nil and FilteredCard():GetDataChest():Get_Int(CHARACTERISTIC_MODULAR) == 1)
</FILTER>
<RESOLUTION_TIME_ACTION>
if FilteredCard() ~= nil then
FilteredCard():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
(localised text omitted)
I tried to add badge="BADGE_MODULAR" to the static ability, but then, no matter which constants I defined and which TDX, MDL, MTL files I copied and edited, the creature was getting badge #0 (first strike). So adding badges is still impossible.