It is currently 17 Sep 2025, 23:44
   
Text Size

Duels of the Planeswalkers 2013

New decks and cards for Stainless Games' release

Moderator: CCGHQ Admins

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 23 Jun 2012, 18:47

MisterBenn wrote:Has the constants file been accessed yet?
Sure, look here:
viewtopic.php?f=65&t=7337
and for the available functions, there is RiiakShiNal's topic:
viewtopic.php?f=65&t=7330
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Duels of the Planeswalkers 2013

Postby pcastellazzi » 23 Jun 2012, 20:17

sumomole wrote:
pcastellazzi wrote:
sumomole wrote:Could you release the download link of new pack/unpack tools?
I modified WadProgram to simple unpack de new format following the recommendations given by Gibbed.

This version can only unpack WAD files. To use it run from the command line

Code: Select all
java -jar wad-extractor <one or more wad files>
The command will extract the files in the current directory.
Thank you very much!
And then, could you tell me how to repackage it?
I did not do a packing tool, i dont have the time right now. Also Rick is working on it and most importantly he is trying to patch the exe to allow mods. This is only a temporary workaround to see our new toy internals.
The lights then came up and the crowd erupted in applause, because that's what the crowd does after it watches destruction on a large screen.
— Ben Kuchera, Mordern Warfare 3 review.
User avatar
pcastellazzi
 
Posts: 184
Joined: 25 Apr 2012, 00:40
Location: Montevideo, Uruguay
Has thanked: 11 times
Been thanked: 30 times

Re: Duels of the Planeswalkers 2013

Postby pcastellazzi » 23 Jun 2012, 20:22

thefiremind wrote:By the way, i had to write wad-extractor.jar, not only wad-extractor, in order to make it work.
I fixed the instructions. Thank you for noticing this.
The lights then came up and the crowd erupted in applause, because that's what the crowd does after it watches destruction on a large screen.
— Ben Kuchera, Mordern Warfare 3 review.
User avatar
pcastellazzi
 
Posts: 184
Joined: 25 Apr 2012, 00:40
Location: Montevideo, Uruguay
Has thanked: 11 times
Been thanked: 30 times

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 23 Jun 2012, 23:06

I just detected the bug on Curiosity:
<TRIGGER value="CREATURE_DEALS_COMBAT_DAMAGE_TO_PLAYER">
A funny fact: the Italian 8th Edition version of Curiosity has the same mistake on the text. :lol:
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Duels of the Planeswalkers 2013

Postby GamerXYZ0 » 23 Jun 2012, 23:13

Great to see there's an extractor already :D I don't mind it can't be packed yet: at least I can already prepare all the changes I like to make (fixes like changing Yeva from 4/5 to 4/4 and the Curiosity fix, and making each and every deck available for battle and for use, even the encounter decks for some original battles).

Talking about the Curiosity bug: what exactly needs to be changed? Just the combat and an underscore left out? I never coded cards, so I don't know exactly how things are coded.
GamerXYZ0
 
Posts: 102
Joined: 17 Jun 2011, 19:29
Has thanked: 10 times
Been thanked: 7 times

Re: Duels of the Planeswalkers 2013

Postby pcastellazzi » 24 Jun 2012, 00:28

GamerXYZ0 wrote:Talking about the Curiosity bug: what exactly needs to be changed? Just the combat and an underscore left out? I never coded cards, so I don't know exactly how things are coded.
The trigger is wrong. It should be something like:

Code: Select all
<TRIGGER value="PLAYER_TOOK_DAMAGE">
<![CDATA[
  return (
    Damage():GetSource() == Object():GetParent() and
    -- others conditions goes here
  )
]]>
</TRIGGER>
Take a look at the code of Chandra's Phoenix, Fire Servant, Furnace of Rath or Hostility for complete examples.
The lights then came up and the crowd erupted in applause, because that's what the crowd does after it watches destruction on a large screen.
— Ben Kuchera, Mordern Warfare 3 review.
User avatar
pcastellazzi
 
Posts: 184
Joined: 25 Apr 2012, 00:40
Location: Montevideo, Uruguay
Has thanked: 11 times
Been thanked: 30 times

Re: Duels of the Planeswalkers 2013

Postby Rick » 24 Jun 2012, 03:46

Tools up (and WAD signature check disabler), see new thread.
gibbed
Rick
Programmer
 
Posts: 40
Joined: 18 Jun 2011, 03:39
Has thanked: 0 time
Been thanked: 56 times

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 24 Jun 2012, 09:02

I just noticed that now MOTHER.TXT is called SCRIPT_LOG.TXT... and mine is already full of errors about Bloodhunter Bat and Grand Ossuary!

Code: Select all
[lua] [string "BLOODHUNTER_BAT_301073_TITLE (RESOLUTION_TIME_ACTION) [1878]"]:2: attempt to index a nil value
[lua] [string "GRAND_OSSUARY_281296_TITLE (PLAY_TIME_ACTION) [2955]"]:23: attempt to index local 'player' (a nil value)
It seems that the developers never do much testing... :lol: but they are great at hiding the bugs: the text file doesn't show up automatically this time. :roll:

EDIT: Now I'm looking at the code of those 2 cards. Grand Ossuary has a lot of code but it seems they just forgot to check player ~= nil after reading it from pointer #5. I'm not understanding what's wrong on Bloodhunter Bat: in DotP2012 they always checked the target chests before getting a pointer from them, so I would fix it this way... but the other cards in DotP2013 aren't checking the target chests either, so I don't know... :?

EDIT 2: I tried to unlock one of the guild decks I found in the Xbox version, by changing game_content="1" to "0". All went well, but the problem is that it lacks of TEXT_PERMANENT. Anyway, the cards can still be useful in order to see how they work. I'm wondering if it's still possible to make a single WAD for our mods... or even better, a WAD with all the cards and separate WADs for the decks, so everyone can choose the decks to use but still has the full card pool to make their own.
From now on, I'm officially starting to mod DotP2013, and I'd like to use a new approach. Unless I find a particular deck that I'm very eager to make, I'll try to make decks as close as possible to the intro/preconstructed decks of the various expansions, of course adding unlocks that make them more powerful and customizable. I still have to get used to the new terminology, so it will take some time.

EDIT 3: About mana generation:
:D Creatures with mana abilities take summoning sickness into account, with no further coding required.
:( TapSelf is still the only recognized cost when producing mana.
:( Playing a card that produces hybrid mana makes the game crash. I tried only with a creature, but I'm afraid it will be the same with lands.
[-X With more mana abilities all active on the same card, bugs happen: I had one of the possible mana combinations that highlighted only 1 land for paying 2 mana, and when used, it didn't tap anything (not even that land).

EDIT 4: Infect works perfectly! You see the poison counters near the player's life, indicated by the sign of the green Phyrexian mana. So, for your joy, I'll start making the "Phyrexian Poison" preconstructed deck!

EDIT 5: First problem with poison deck: I don't know how to make Ichor Rats. It seems there's no way to increment poison counters without using infect damage. Yes, I could make Ichor Rats deal 1 damage to each player... but this would trigger unneeded things, as you may imagine.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Duels of the Planeswalkers 2013

Postby pcastellazzi » 24 Jun 2012, 16:39

thefiremind wrote:EDIT 3: About mana generation:
:D Creatures with mana abilities take summoning sickness into account, with no further coding required.
:( TapSelf is still the only recognized cost when producing mana.
:( Playing a card that produces hybrid mana makes the game crash. I tried only with a creature, but I'm afraid it will be the same with lands.
[-X With more mana abilities all active on the same card, bugs happen: I had one of the possible mana combinations that highlighted only 1 land for paying 2 mana, and when used, it didn't tap anything (not even that land).
What you mean whith "hybrid mana", produce mana of different colors at the same time like Gruul Signet, or something like Drowned Catacomb?

Also did you try something like Birds of Paradaise? I been thinking about it since i looked at Cloudpost. Probably an ACTIVATED_ABILITY without cost with a color selection dialog to enable/disable the right MANA_ABILITY block should work. I am not sure if the current color selection will do, it should be a way to disable mana generation. Do you think the AI will play a card like this?
The lights then came up and the crowd erupted in applause, because that's what the crowd does after it watches destruction on a large screen.
— Ben Kuchera, Mordern Warfare 3 review.
User avatar
pcastellazzi
 
Posts: 184
Joined: 25 Apr 2012, 00:40
Location: Montevideo, Uruguay
Has thanked: 11 times
Been thanked: 30 times

Re: Duels of the Planeswalkers 2013

Postby GamerXYZ0 » 24 Jun 2012, 17:37

Firemind, do you also know how to make unplayable decks (Nicol Bolas and Revenge decks) available? I removed "never_available="true"" but it's still hidden. I also tried "always_available="true"", without results. I also gave the deck statistics, just to be certain.

Oh, and do you also know how to get rid of all those movies at the beginning?
GamerXYZ0
 
Posts: 102
Joined: 17 Jun 2011, 19:29
Has thanked: 10 times
Been thanked: 7 times

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 24 Jun 2012, 17:58

GamerXYZ0 wrote:Firemind, do you also know how to make unplayable decks (Nicol Bolas and Revenge decks) available? I removed "never_available="true"" but it's still hidden. I also tried "always_available="true"", without results. I also gave the deck statistics, just to be certain.
I successfully enabled one of those guild decks I found (but then disabled it again because I'm missing the TEXT_PERMANENT for them) just by adding "always_available="true"", so I would have done the same... I really don't know what to suggest you.

pcastellazzi wrote:What you mean whith "hybrid mana", produce mana of different colors at the same time like Gruul Signet, or something like Drowned Catacomb?
I suggested to try coding permanents like Drowned Catacomb with <PRODUCES amount="{U/B}" />, so I tried to give this ability to a creature, but the game crashed when I played it.

pcastellazzi wrote:Also did you try something like Birds of Paradaise? I been thinking about it since i looked at Cloudpost. Probably an ACTIVATED_ABILITY without cost with a color selection dialog to enable/disable the right MANA_ABILITY block should work. I am not sure if the current color selection will do, it should be a way to disable mana generation. Do you think the AI will play a card like this?
I thought about that, but I don't like to add a "fake" ACTIVATED_ABILITY because of the possible consequences (interactions with things that shut down activated abilities, or with Burning-Tree Shaman for example). I still hope that we find better options while we experiment with the new functions.

GamerXYZ0 wrote:Oh, and do you also know how to get rid of all those movies at the beginning?
I'd say, go to the Movies directory, find the movies you want to disable, and rename them (add an underscore to the name or something like that).
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 24 Jun 2012, 19:52

I still don't know how to add poison to players without damaging them with infect, but at least I invented a trick that allows me to read how many poison counters are on each player:
Code: Select all
  <TRIGGERED_ABILITY internal="1" active_zone="ZONE_ANY">
    <TRIGGER value="PLAYER_POISON_CHANGED">
    return TriggerPlayer() ~= nil
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    TriggerPlayer():PlayerDataChest():Int_Set(999, GetAmount())
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
This should update register #999 (you can use whatever number you like, of course) with the poison counters on TriggerPlayer, so you can read them from that register when you need them. Multiple instances of this trigger don't give false results because GetAmount() in this trigger gives the total counters. With this trick I should be able to code Phyrexian Swarmlord and similar cards.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Duels of the Planeswalkers 2013

Postby MisterBenn » 24 Jun 2012, 22:11

thefiremind wrote:From now on, I'm officially starting to mod DotP2013, and I'd like to use a new approach.
That's great news of course, I loved your 2012 pack. Looking at the individual wad file layout of 2013, it make me think that maybe keeping things modular might by good for 2013. Perhaps we could build up a "core" wad file that contains everyone's collective cards that have a definitive implementation (i.e. correctly defined, the best artwork available, good AI tags etc). Deck files and those cards that are approximations or that contain deck-specific rules or AI could be in seperate files that would plug into and reference the standard set of cards. Just a suggestion of course, it would allow the lesser contributers such as myself to submit plenty of straightforward cards at the very least. In 2012 I made plenty but I held back my decks because of individual card issues and because I referenced multiple other custom DLCs; I would have had to go through with a fine toothed comb to make them compatible with anything else out there. In light of that mess and the great packs already out there, I ended up actually posting nothing.
MisterBenn
 
Posts: 97
Joined: 19 Mar 2011, 16:19
Has thanked: 24 times
Been thanked: 11 times

Re: Duels of the Planeswalkers 2013

Postby alexandreonly » 24 Jun 2012, 23:47

thefiremind wrote:I just noticed that now MOTHER.TXT is called SCRIPT_LOG.TXT... and mine is already full of errors about Bloodhunter Bat and Grand Ossuary!

Code: Select all
[lua] [string "BLOODHUNTER_BAT_301073_TITLE (RESOLUTION_TIME_ACTION) [1878]"]:2: attempt to index a nil value
[lua] [string "GRAND_OSSUARY_281296_TITLE (PLAY_TIME_ACTION) [2955]"]:23: attempt to index local 'player' (a nil value)
It seems that the developers never do much testing... :lol: but they are great at hiding the bugs: the text file doesn't show up automatically this time. :roll:

EDIT: Now I'm looking at the code of those 2 cards. Grand Ossuary has a lot of code but it seems they just forgot to check player ~= nil after reading it from pointer #5. I'm not understanding what's wrong on Bloodhunter Bat: in DotP2012 they always checked the target chests before getting a pointer from them, so I would fix it this way... but the other cards in DotP2013 aren't checking the target chests either, so I don't know... :?

EDIT 2: I tried to unlock one of the guild decks I found in the Xbox version, by changing game_content="1" to "0". All went well, but the problem is that it lacks of TEXT_PERMANENT. Anyway, the cards can still be useful in order to see how they work. I'm wondering if it's still possible to make a single WAD for our mods... or even better, a WAD with all the cards and separate WADs for the decks, so everyone can choose the decks to use but still has the full card pool to make their own.
From now on, I'm officially starting to mod DotP2013, and I'd like to use a new approach. Unless I find a particular deck that I'm very eager to make, I'll try to make decks as close as possible to the intro/preconstructed decks of the various expansions, of course adding unlocks that make them more powerful and customizable. I still have to get used to the new terminology, so it will take some time.

EDIT 3: About mana generation:
:D Creatures with mana abilities take summoning sickness into account, with no further coding required.
:( TapSelf is still the only recognized cost when producing mana.
:( Playing a card that produces hybrid mana makes the game crash. I tried only with a creature, but I'm afraid it will be the same with lands.
[-X With more mana abilities all active on the same card, bugs happen: I had one of the possible mana combinations that highlighted only 1 land for paying 2 mana, and when used, it didn't tap anything (not even that land).

EDIT 4: Infect works perfectly! You see the poison counters near the player's life, indicated by the sign of the green Phyrexian mana. So, for your joy, I'll start making the "Phyrexian Poison" preconstructed deck!

EDIT 5: First problem with poison deck: I don't know how to make Ichor Rats. It seems there's no way to increment poison counters without using infect damage. Yes, I could make Ichor Rats deal 1 damage to each player... but this would trigger unneeded things, as you may imagine.
Can you upload your custom made cards? I tried to add infect to a creature, but didn't work. Maybe if i use your cards as a example i can do something.
alexandreonly
 
Posts: 145
Joined: 04 Jul 2011, 17:27
Has thanked: 0 time
Been thanked: 8 times

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 24 Jun 2012, 23:54

alexandreonly wrote:Can you upload your custom made cards? I tried to add infect to a creature, but didn't work. Maybe if i use your cards as a example i can do something.
I'll upload the whole deck when I'm done with it. In the meanwhile, look at my Cystbearer:
Code: Select all
<?xml version='1.0'?>
<CARD_V2>
  <FILENAME text="CYSTBEARER_232904" />
  <CARDNAME text="CYSTBEARER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Cystbearer]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Portacisti]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Zystenträger]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Porteur de kystes]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Portaquistes]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[嚢胞抱え]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Cystbearer]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Кистоносец]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Porta-Quisto]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="232904" />
  <ARTID value="A232904" />
  <ARTIST name="Kev Walker" />
  <CASTING_COST cost="{2}{G}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Phyrexia strives to simulate natural life, but it can’t resist improving on the design.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Phyrexia si sforza di imitare la vita naturale, ma non può resistere a migliorarne la concezione.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Phyrexia versucht, das natürliche Leben zu simulieren, kann aber nicht widerstehen, es weiterzuentwickeln.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Phyrexia s’acharne à imiter la vie naturelle, mais ne peut résister au désir d’en améliorer la conception.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pirexia se esfuerza por simular la vida natural, pero no puede resistirse a mejorar el diseño.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ファイレクシアは自然の生命を模倣しようと努めてはいるが、そこについ改良を加えてしまう。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Phyrexia strives to simulate natural life, but it can’t resist improving on the design.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Фирексия пытается копировать живое, но не может удержаться от усовершенствования прототипов.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Phyrexia empenha-se em simular a vida natural, mas não consegue resistir a aprimorar seu design.]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Beast" />
  <EXPANSION value="SOM" />
  <RARITY metaname="C" />
  <POWER value="2" />
  <TOUGHNESS value="3" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Infect]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Infettare]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Infizieren]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Infection]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Infectar.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[感染]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Infect]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Инфекция]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Infectar]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION>
    local characteristics = Object():GetCurrentCharacteristics()
    characteristics:Characteristic_Set( CHARACTERISTIC_INFECT, 1 )
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <HELP title="MORE_INFO_BADGE_TITLE_31" body="MORE_INFO_BADGE_BODY_31" zone="ZONE_ANY" />
  <SFX text="COMBAT_BITE_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BITE_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
As you can see, there's nothing particular to do.

Some recent findings:
:D The WADs "see each other" exactly as in DotP2012, so there's no need to replicate existing cards or illustrations or whatever.
:D The TEXT_PERMANENT directory can be added to custom WADs without changing anything inside the other XML files: it will be read straight away.
:( There's a problem with mana-producing creatures. I don't know if it's because the produced mana was colorless (I made only Plague Myr for now), but no matter what combination I choose with CTRL, the creature will always be included when available. Spells are often played after combat, so it's not a big problem, anyway it's sad to see that our freedom is always limited.
:? The unlocks have a glitch, I don't know if it depends on the version of the game, anyway my first custom deck has 4 unlockables (for now) but inside the deck manager it says 0 unlocked and 0 locked. Luckily, I tried to win a match and the first unlockable got unlocked successfully, so it's only a visual glitch. If someone discovers how to fix it, please tell me.
:( Again I don't know if it depends on the version of the game, but I always have to delete my saved profile if I want to update a custom deck, otherwise I see it as it was before the update.

I'm trying to respect modularity as I said, so I made a WAD called Deck_1999_ST which actually doesn't contain any deck, but it contains all the cards I made that work perfectly, and another WAD called Deck_199901_ST which contains my first custom deck and things related to that deck only. I'll go on with 199902, 199903 and so on when I make new decks, but the cards will go to 1999 when I'm sure (enough :P) that they work.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

PreviousNext

Return to Magic: The Gathering - Duels of the Planeswalkers

Who is online

Users browsing this forum: No registered users and 17 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 17 users online :: 0 registered, 0 hidden and 17 guests (based on users active over the past 10 minutes)
Most users ever online was 7967 on 09 Sep 2025, 23:08

Users browsing this forum: No registered users and 17 guests

Login Form