Duels of the Planeswalkers 2013
New decks and cards for Stainless Games' release
Moderator: CCGHQ Admins
Re: Duels of the Planeswalkers 2013
by RiiakShiNal » 25 Jun 2012, 04:58
Additionally it seems that the game will recognize WADs with names other than "DECK_####_??" as I was able to get it to read and recognize mine using "DATA_DLC_8192" which is what I used in DotP 2010. I have not tried other name formats, but I expect that others may work as well.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2189
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Duels of the Planeswalkers 2013
by Rick » 25 Jun 2012, 05:18
Pretty sure it's always loaded any WAD available, even 2010 and 2012.
gibbed
Re: Duels of the Planeswalkers 2013
by kevlahnota » 25 Jun 2012, 09:30
I just checked in dotp 2013, we can now have three multiple choices supported unlike in dotp 2012 its only two.
cards like Noble Hierarch can be done without work around I think.
inside gfx_mbconfig_mc_text.xml, mb_choice_3 exists
cards like Noble Hierarch can be done without work around I think.
inside gfx_mbconfig_mc_text.xml, mb_choice_3 exists
-

kevlahnota - Programmer
- Posts: 825
- Joined: 19 Jul 2010, 17:45
- Location: Philippines
- Has thanked: 14 times
- Been thanked: 264 times
Re: Duels of the Planeswalkers 2013
by sadlyblue » 25 Jun 2012, 11:34
What do you all think about creating another repository for the existing cards. It takes a lot of time to unpack everything, put in one folder for the Deck Editor.
And we could then use it to "exchange" cards we code. No need for anyone to code the same card.
And we could then use it to "exchange" cards we code. No need for anyone to code the same card.
Re: Duels of the Planeswalkers 2013
by Rick » 25 Jun 2012, 12:36
Someone should code a deck editor that can read from WADs then?sadlyblue wrote:What do you all think about creating another repository for the existing cards. It takes a lot of time to unpack everything, put in one folder for the Deck Editor.
And we could then use it to "exchange" cards we code. No need for anyone to code the same card.
gibbed
Re: Duels of the Planeswalkers 2013
by sadlyblue » 25 Jun 2012, 13:08
I think would take longer to load.
I already have everything in one folder (cards, decks, personalities,... a folder for each).
The main goal would be sharing cards and improving others.
I already have everything in one folder (cards, decks, personalities,... a folder for each).
The main goal would be sharing cards and improving others.
Re: Duels of the Planeswalkers 2013
by kevlahnota » 25 Jun 2012, 13:24
That would be great.
a repository that contains a bunch of cards (main custom WAD when compiled), and a seperate deck packs(like 4 or more decks inside a seperate wad, like preconstructed decks with unlocks.)
a repository that contains a bunch of cards (main custom WAD when compiled), and a seperate deck packs(like 4 or more decks inside a seperate wad, like preconstructed decks with unlocks.)
sadlyblue wrote:What do you all think about creating another repository for the existing cards. It takes a lot of time to unpack everything, put in one folder for the Deck Editor.
And we could then use it to "exchange" cards we code. No need for anyone to code the same card.
-

kevlahnota - Programmer
- Posts: 825
- Joined: 19 Jul 2010, 17:45
- Location: Philippines
- Has thanked: 14 times
- Been thanked: 264 times
Re: Duels of the Planeswalkers 2013
by thefiremind » 25 Jun 2012, 13:45
I have good news! I tried to make a test creature with the following ability:
We probably won't be able to associate new characteristics to new badges, though... unless someone discovers how to do it...
Oh another thing: they forgot to properly code the CREATURE_TYPE_GERM. So if you want to use some living weapons in your custom decks, I suggest to fix it like this:

EDIT:


- Code: Select all
<STATIC_ABILITY>
<CONTINUOUS_ACTION>
local characteristics = Object():GetCurrentCharacteristics()
for i=53,100 do
characteristics:Characteristic_Set( i, 1 )
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
We probably won't be able to associate new characteristics to new badges, though... unless someone discovers how to do it...
Oh another thing: they forgot to properly code the CREATURE_TYPE_GERM. So if you want to use some living weapons in your custom decks, I suggest to fix it like this:
- Copy the SPECS folder from the Data_Core to your custom WAD (always in DATA_ALL_PLATFORMS).
- Delete all files in your copy of the SPECS folder, except for CREATURE_TYPES.TXT (not necessary, but the other ones don't need overriding for now).
- Edit your copy of CREATURE_TYPES.TXT by adding GERM as last line.
- If you didn't do it yet, make a FUNCTIONS directory inside your custom WAD (always in DATA_ALL_PLATFORMS) and make a new LOL file inside the new directory. Call it whatever you want (mine is PERSONAL_CONSTANTS.LOL).
- Inside the LOL file, add a line that says: CREATURE_TYPE_GERM = 1221

EDIT:
Here's the code for Ninjutsu (the mana cost is for Ninja of the Deep Hours). I want a cookie.Pesi wrote:With all the new things this can do, I am convinced that we could make Ninjutsu work. A cookie for the first one to do it.
- Code: Select all
<ACTIVATED_ABILITY active_zone="ZONE_HAND">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Ninjutsu {1}{U}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ninjutsu {1}{U}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ninjutsu {1}{U}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Ninjutsu {1}{U}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ninjutsu {1}{U}.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[忍術 {1}{U}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Ninjutsu {1}{U}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Ninjutsu {1}{U}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Ninjutsu {1}{U}]]></LOCALISED_TEXT>
<AVAILABILITY>
return MTG():GetPhase() == PHASE_COMBAT and MTG():GetStep() > STEP_DECLARE_ATTACKERS
</AVAILABILITY>
<COST type="Mana" cost="{1}{U}" />
<COST type="generic">
<TARGET_DEFINITION id="6">
MTG():ClearFilterMarkedObjectsInZone( ZONE_IN_PLAY )
local filter = Object():GetFilter()
filter:Clear()
filter:NotTargetted()
filter:SetController( EffectController() )
filter:SetZone( ZONE_IN_PLAY )
filter:AddCardType( CARD_TYPE_CREATURE )
filter:AddExtra( FILTER_EXTRA_CREATURE_ATTACKING )
local filter_count = filter:EvaluateObjects()
for i=0,filter_count-1 do
local candidate = filter:GetNthEvaluatedObject(i)
if candidate:IsBlocked() == 0 then
candidate:MarkForFilter()
end
end
filter:SetMarkedObjectsOnly()
filter:SetHint( HINT_ENEMY, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(6)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION>
EffectController():ChooseTarget( 6, "CARD_QUERY_CHOOSE_CREATURE_TO_PUT_INTO_HAND", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
EffectDC():Set_PlayerPtr(1, target:GetPlayerAttacked())
target:PutInHand()
end
</RESOLUTION_TIME_ACTION>
</COST>
<PLAY_TIME_ACTION>
local card = EffectSource()
if card ~= nil then
card:GuidedReveal( ZONE_HAND, ZONE_HAND )
end
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local defendingPlayer = EffectDC():Get_PlayerPtr(1)
if defendingPlayer ~= nil then
EffectSource():PutIntoPlayTappedAndAttacking(EffectController(), defendingPlayer)
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY step="declare_blockers" turn="my_turn" />
</ACTIVATED_ABILITY>
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-

thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Duels of the Planeswalkers 2013
by pcastellazzi » 25 Jun 2012, 19:24
I did not look at the code yet, but there is probably a relatioon between the badge constant number and the image name. If not someone would wrote a very long if statement for each badge which would be very very sad.thefiremind wrote:I have good news! I tried to make a test creature with the following ability:And no badge popped out on it! That means that characteristics aren't circular as the badges in DotP2012, so we won't have limits on inventing new characteristics!
- Code: Select all
<STATIC_ABILITY>
<CONTINUOUS_ACTION>
local characteristics = Object():GetCurrentCharacteristics()
for i=53,100 do
characteristics:Characteristic_Set( i, 1 )
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
We probably won't be able to associate new characteristics to new badges, though... unless someone discovers how to do it...
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.
— Ben Kuchera, Mordern Warfare 3 review.
-

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
by DaLosar » 25 Jun 2012, 22:35
Has anyone created a custom deck and played with it?
I'm using the Steam version (without the SKIDROW crack) and everytime I create a custom deck I can't play with it (it's always locked as if I needed to beat someone to unlock it) even though I have set "always_avaliable="true"", "never_avaliable="false"" and other things like this...
Does anyone has any ideas?
By the way, I'm testing against the AI and they can play the deck just fine.
I'm using the Steam version (without the SKIDROW crack) and everytime I create a custom deck I can't play with it (it's always locked as if I needed to beat someone to unlock it) even though I have set "always_avaliable="true"", "never_avaliable="false"" and other things like this...
Does anyone has any ideas?
By the way, I'm testing against the AI and they can play the deck just fine.
Re: Duels of the Planeswalkers 2013
by alexandreonly » 25 Jun 2012, 22:58
I just used the deck editor on dotp 2012, and without that tool, i don't know how to add new decks. I just know how to add new cards on current decks, but i want to know the steps to create a new one, with box art, or i'll need to wait until the release of deck editor 2013.
- alexandreonly
- Posts: 145
- Joined: 04 Jul 2011, 17:27
- Has thanked: 0 time
- Been thanked: 8 times
Re: Duels of the Planeswalkers 2013
by thefiremind » 25 Jun 2012, 23:41
Unpack an existing deck, change its name in all the directories and header files, give it a new ID inside the XML with the list of cards, then edit it as it was new, and repack it when you are done. I'm probably forgetting something, anyway this is basically what you have to do. Once you become familiar with the new directory structure, you'll be able to make changes without any editor.alexandreonly wrote:I just used the deck editor on dotp 2012, and without that tool, i don't know how to add new decks. I just know how to add new cards on current decks, but i want to know the steps to create a new one, with box art, or i'll need to wait until the release of deck editor 2013.
------------
If someone is interested in a simple but clarifying example, I coded River of Tears successfully, by using GrantAbility and CreateDelayedTrigger. Here's how I made it:
- Code: Select all
<STATIC_ABILITY filter_zone="ZONE_IN_PLAY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {U} to your mana pool. If you played a land this turn, add {B} to your mana pool instead.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {U} alla tua riserva di mana. Se hai giocato una terra in questo turno, aggiungi invece {B} alla tua riserva di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {U}. Hast du in diesem Zug bereits ein Land gespielt, erhöhe deinen Manavorrat stattdessen um {B}.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {U} à votre réserve. Si vous avez joué un terrain ce tour-ci, ajoutez {B} à votre réserve à la place.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {U} a tu reserva de maná. Si jugaste una tierra este turno, en vez de eso, agrega {B} a tu reserva de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{U}を加える。 あなたがこのターンに土地をプレイしている場合、代わりにあなたのマナ・プールに{B}を加える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Add {U} to your mana pool. If you played a land this turn, add {B} to your mana pool instead.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Добавьте {U} в ваше хранилище маны. Если вы разыграли землю в этом ходу, добавьте {B} в ваше хранилище маны вместо этого.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {U} à sua reserva de mana. Se você jogou um terreno neste turno, em vez disso, adicione {B} à sua reserva de mana.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
local characteristics = Object():GetCurrentCharacteristics()
characteristics:GrantAbility(ObjectDC():Get_Int(1)+1)
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY internal="1" filter_zone="ZONE_IN_PLAY">
<TRIGGER value="LAND_PLAYED">
return TriggerObject():GetPlayer() == Object():GetPlayer() and TriggerObject() ~= Object()
</TRIGGER>
<RESOLUTION_TIME_ACTION>
ObjectDC():Set_Int(1, 1)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY internal="1" filter_zone="ZONE_IN_PLAY" active_zone="ZONE_ANY">
<TRIGGER value="LAND_PLAYED">
return TriggerObject() == Object()
</TRIGGER>
<RESOLUTION_TIME_ACTION>
MTG():CreateDelayedTrigger(3, nil)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY internal="1" filter_zone="ZONE_IN_PLAY">
<TRIGGER value="BEGINNING_OF_STEP" simple_qualifier="controller">
return ( MTG():GetStep() == STEP_CLEANUP )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
ObjectDC():Set_Int(1, 0)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<MANA_ABILITY resource_id="1" filter_zone="ZONE_IN_PLAY">
<COST type="TapSelf" />
<PRODUCES amount="{U}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="2" filter_zone="ZONE_IN_PLAY">
<COST type="TapSelf" />
<PRODUCES amount="{B}" />
</MANA_ABILITY>
<TRIGGERED_ABILITY resource_id="3" internal="1" filter_zone="ZONE_IN_PLAY">
<CLEANUP fire_once="1" />
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_IN_PLAY" />
<RESOLUTION_TIME_ACTION>
ObjectDC():Set_Int(1, 1)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
If you want to test it, add (different) localised text to both mana abilities, so you can see which one is enabled.
There's actually another problem, but it's just cosmetic: it seems that the FRAMECOLOUR block is ignored in DotP2013. I was happy that the cards decided their frame automatically, but I would have liked the chance to override the decision... River of Tears with the C_LAND frame isn't really nice to see.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-

thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Duels of the Planeswalkers 2013
by MisterBenn » 26 Jun 2012, 02:16
That frame colour thing is definitely a shame, what is it with nonbasic lands in DotP? What happens if you put a static ability with Colour_Get():Add() against it like Rise from the Grave uses? Can it at least get the modern blue/black land border?
Edit: I just found the card textures, I can't see anything along the lines of the dual colour land cards like Drowned Catacomb. If we can't override them it looks like we're screwed...
Edit: I just found the card textures, I can't see anything along the lines of the dual colour land cards like Drowned Catacomb. If we can't override them it looks like we're screwed...
- MisterBenn
- Posts: 97
- Joined: 19 Mar 2011, 16:19
- Has thanked: 24 times
- Been thanked: 11 times
Re: Duels of the Planeswalkers 2013
by pcastellazzi » 26 Jun 2012, 02:40
It may work, but if there is something like destroy all blue or black permanents, the land will become a valid target and it should not.MisterBenn wrote:That frame colour thing is definitely a shame, what is it with nonbasic lands in DotP? What happens if you put a static ability with Colour_Get():Add() against it like Rise from the Grave uses? Can it at least get the modern blue/black land border?
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.
— Ben Kuchera, Mordern Warfare 3 review.
-

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
by kevlahnota » 26 Jun 2012, 02:49
I think the deck manager has a bug/unfinished when you have multi color deck. I just tried reusing the old deck box(modified) texture for bolas revenge deck(no deck box). here some screens:




-

kevlahnota - Programmer
- Posts: 825
- Joined: 19 Jul 2010, 17:45
- Location: Philippines
- Has thanked: 14 times
- Been thanked: 264 times
Return to Magic: The Gathering - Duels of the Planeswalkers
Who is online
Users browsing this forum: No registered users and 23 guests