It is currently 26 Apr 2024, 21:20
   
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 Aiodren » 08 Jul 2012, 10:12

@firemind: I find it fascinating what you did with the original transform code, there is so much i have yet to learn about proper coding xD But i don't understand how you make it transform back and forth... i tried to take away the restrictions on the transform trigger and add the trigger to the Abberation but as soon as it transforms back to delver the trigger won't go off again.
Aiodren
 
Posts: 45
Joined: 27 Jun 2012, 07:02
Has thanked: 5 times
Been thanked: 4 times

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 08 Jul 2012, 10:23

Aiodren wrote:But i don't understand how you make it transform back and forth... i tried to take away the restrictions on the transform trigger and add the trigger to the Abberation but as soon as it transforms back to delver the trigger won't go off again.
That's actually a thing I didn't try... :lol: if there are problems on that, I didn't know yet. I'm about to code Bloodline Keeper with my functions, and that's a great tester because Gatherer says: "Activating Bloodline Keeper's last ability multiple times will cause it to transform into Lord of Lineage, then back again, and so on". I'll let you know the results.
< 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: 721 times

Re: Duels of the Planeswalkers 2013

Postby Aiodren » 08 Jul 2012, 11:21

thefiremind wrote: I'm about to code Bloodline Keeper with my functions, and that's a great tester because Gatherer says: "Activating Bloodline Keeper's last ability multiple times will cause it to transform into Lord of Lineage, then back again, and so on". I'll let you know the results.
As i coded Bloodline Keeper i also stumbled across that ruling but i didn't think it's important enough to implement it, because why would you ever want to do that? :lol:
I'm highly interested in how you want to solve the problem though, because my next project would be the werewolfs.
Aiodren
 
Posts: 45
Joined: 27 Jun 2012, 07:02
Has thanked: 5 times
Been thanked: 4 times

Re: Duels of the Planeswalkers 2013

Postby RiiakShiNal » 08 Jul 2012, 11:29

More bad news on the custom characteristics front. When I was testing before I forgot to test the negative case (trying to detect the characteristic when I hadn't set it). When I went back and looked I got exactly the same results as I did the first time which means that when you try to detect it will always give you the same results whether you set the characteristic or not. As such it means we essentially have NO free characteristics to work with to create our own custom ones.
RiiakShiNal
Programmer
 
Posts: 2185
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 08 Jul 2012, 11:40

RiiakShiNal wrote:As such it means we essentially have NO free characteristics to work with to create our own custom ones.
That's bad news, but with filter marking we can invent a "sort of" characteristic by using a simple ObjectDC():Set_Int and then mark for filter only the objects with that value if we need to filter them.

About transform, I successfully coded Bloodline Keeper and I can make him "flash" in and out of his transformation any number of times by activating his ability each time in response to the previous time: it works as intended. I'll make Screeching Bat and Chosen of Markov, too, so the "transforming vampires family" will be complete. :D
Aiodren wrote:As i coded Bloodline Keeper i also stumbled across that ruling but i didn't think it's important enough to implement it, because why would you ever want to do that? :lol:
The point isn't the importance, but the fact that it's a good test: there should be no further effort required in order to make that rule work, if I made everything OK. And that's exactly what happened.
< 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: 721 times

Re: Duels of the Planeswalkers 2013

Postby Aiodren » 08 Jul 2012, 13:11

thefiremind wrote:About transform, I successfully coded Bloodline Keeper and I can make him "flash" in and out of his transformation any number of times by activating his ability each time in response to the previous time: it works as intended. I'll make Screeching Bat and Chosen of Markov, too, so the "transforming vampires family" will be complete. :D
If you can make Screeching Bat work you'll have solved my problem, because like i said, i can't get the card to trigger the transformation again after transforming back.
On another note, do you know a way to filter all cards, that are not marked for a filter? I implemented the soulbond mechanic, but i'm searching for a way to mark the already bonded creatures, so you can't target them for a new bond.
Aiodren
 
Posts: 45
Joined: 27 Jun 2012, 07:02
Has thanked: 5 times
Been thanked: 4 times

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 08 Jul 2012, 14:54

Aiodren wrote:On another note, do you know a way to filter all cards, that are not marked for a filter? I implemented the soulbond mechanic, but i'm searching for a way to mark the already bonded creatures, so you can't target them for a new bond.
Just mark the non-bound creatures, and filter as usual. :D
My primary concern with the soulbond mechanic is that we don't have any means of showing who's bound with who, so when the table starts to be filled with creatures, it could become hard to keep track of the associations. Other than that, it should definitely be doable in DotP2013.

Here's my latest transform update: the transforming vampires family is complete now! :lol:

Transform2013.zip
(Version 3)
(895.6 KiB) Downloaded 350 times

Note that I always check if the creature is not transformed for triggers and activations on non-trasformed versions, but it's just a measure of prevention because I don't want the AI to bother those abilities when the creature is transformed... they are probably invisible for the AI as they are for us, but I want to be sure. Don't make that kind of check on transformed versions because, besides being 100% useless, it would create problems with clones of transformed creatures.

I didn't test Chosen of Markov yet, but it's quite simple, so I'm pretty sure it's right. About Screeching Bat, the AI seems to understand how it should be used: when I had only a Stalking Vampire out, it didn't transform its own Screeching Bat so it could attack with no blockers. Then it used a Clone on my Stalking Vampire (I included Clone in all the tests) in order to be protected from my next attack. Quite satisfactory, isn't it? :D
< 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: 721 times

Re: Duels of the Planeswalkers 2013

Postby Aiodren » 08 Jul 2012, 17:43

Did you test the Screeching Bat? I have the same problem as earlier today... i can transform it into Stalking Vampire, then transform it back to Screeching Bat and afterwards the trigger on Screeching Bat doesn't trigger anymore, so i can't transform it anymore. :( Does it work in your game?
Aiodren
 
Posts: 45
Joined: 27 Jun 2012, 07:02
Has thanked: 5 times
Been thanked: 4 times

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 08 Jul 2012, 18:05

Aiodren wrote:Did you test the Screeching Bat? I have the same problem as earlier today... i can transform it into Stalking Vampire, then transform it back to Screeching Bat and afterwards the trigger on Screeching Bat doesn't trigger anymore, so i can't transform it anymore. :( Does it work in your game?
You are right, I didn't try the transformation that many times, but it seems that the trigger doesn't work anymore after coming back to the non-transformed state. At the moment I don't know why it happens, but I'll try to find out.

EDIT: It's really strange, it's almost as it forgot to have that triggered ability... so that's the reason why you made it granted on your Delver. I'd like to find another way because having the localised text inside the ability makes the text appear on the lower right while answering to the multiple choice, which is very nice. I guess that's only another possible way... return to the three-cards system. I'll have to tweak cards and functions, I only hope it will work after that.

EDIT2: It seems I can't adapt my functions to use 2 data chests for 2 tokens. I'm probably doing something wrong without realizing it, but I'm quite bored by the transform mechanic for now. Maybe I'll give it another try later.
< 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: 721 times

Re: Duels of the Planeswalkers 2013

Postby Aiodren » 08 Jul 2012, 20:34

thefiremind wrote:EDIT2: It seems I can't adapt my functions to use 2 data chests for 2 tokens. I'm probably doing something wrong without realizing it, but I'm quite bored by the transform mechanic for now. Maybe I'll give it another try later.
That's ok, i'll use the 3 card system from my Bloodline Keeper until you come up with a more polished version then :)
Aiodren
 
Posts: 45
Joined: 27 Jun 2012, 07:02
Has thanked: 5 times
Been thanked: 4 times

Re: Duels of the Planeswalkers 2013

Postby thefiremind » 08 Jul 2012, 23:38

I'll leave transform alone for a while (in DotP2012 I found the best idea after some time from the first attempt, maybe it will happen again :D), and I'll try to make a landfall deck. I already coded the first card, and if I remember well, it's a card that someone wanted to code in DotP2012 but couldn't be made correctly because we were missing the "Future Sight" characteristic... you may have guessed that it's Oracle of Mul Daya!
Code: Select all
<?xml version='1.0'?>
<CARD_V2>
  <FILENAME text="ORACLE_OF_MUL_DAYA_185737" />
  <CARDNAME text="ORACLE_OF_MUL_DAYA" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Oracle of Mul Daya]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Oracolo di Mul Daya]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Orakel von Mul Daya]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Oracle de Mul Daya]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Oráculo Mul Daya]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ムル・ダヤの巫女]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Oracle of Mul Daya]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Оракул Племени Мул Дайя]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Oráculo de Mul Daya]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="185737" />
  <ARTID value="A185737" />
  <ARTIST name="Vance Kovacs" />
  <CASTING_COST cost="{3}{G}" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Elf" order_de-DE="0" order_es-ES="1" order_fr-FR="0" order_it-IT="1" order_jp-JA="0" order_ko-KR="0" order_pt-BR="0" order_ru-RU="0" />
  <SUB_TYPE metaname="Shaman" order_de-DE="1" order_es-ES="0" order_fr-FR="1" order_it-IT="0" order_jp-JA="1" order_ko-KR="1" order_pt-BR="1" order_ru-RU="1" />
  <EXPANSION value="ZEN" />
  <RARITY metaname="R" />
  <POWER value="2" />
  <TOUGHNESS value="2" />
  <STATIC_ABILITY filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[You may play an additional land on each of your turns.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Puoi giocare una terra addizionale in ognuno dei tuoi turni.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Du darfst ein zusätzliches Land während jedes deiner Züge ausspielen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vous pouvez jouer un terrain supplémentaire pendant chacun de vos tours.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Puedes jugar una tierra adicional en cada uno de tus turnos.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたは自分の各ターンに、追加の土地を1つプレイしてもよい。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[You may play an additional land on each of your turns.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вы можете разыгрывать одну дополнительную землю в каждом из ваших ходов.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Você pode jogar um terreno adicional em cada um de seus turnos.]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION layer="8">
    local player = Object():GetController()
    if player ~= nil and player:MyTurn() ~= 0 then
       player:GetCurrentCharacteristics():Int_Increment( PLAYER_INTCHARACTERISTIC_EXTRA_LAND_DROPS )
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <STATIC_ABILITY filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Play with the top card of your library revealed.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Jouez avec la carte du dessus de votre bibliothèque révélée.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Juega mostrando la primera carta de tu biblioteca.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die oberste Karte deiner Bibliothek ist offen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Gioca con la prima carta del tuo grimorio rivelata.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたのライブラリーの一番上のカードを公開したままプレイする。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신의 서고 맨 위의 카드를 공개한 채로 게임을 진행한다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Играйте с открытой верхней картой вашей библиотеки.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Jogue com o card do topo de seu grimório revelado.]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION layer="8">
    local player = Object():GetController()
    if player ~= nil then
       player:GetCurrentCharacteristics():Bool_Set( PLAYER_CHARACTERISTIC_PLAY_WITH_TOP_CARD_OF_LIBRARY_REVEALED, 1 )
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <STATIC_ABILITY filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[You may play the top card of your library if it’s a land card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Puoi giocare la prima carta del tuo grimorio se è una carta terra.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Du kannst die oberste Karte deiner Bibliothek spielen, falls es ein Land ist.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vous pouvez jouer la carte du dessus de votre bibliothèque si c’est une carte de terrain.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Puedes jugar la primera carta de tu biblioteca si es una carta de tierra.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたのライブラリーの一番上のカードが土地カードである場合、あなたはそれをプレイしてもよい。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[You may play the top card of your library if it’s a land card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вы можете разыграть верхнюю карту вашей библиотеки, если это карта земли.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Você pode jogar o card do topo de seu grimório se ele for um card de terreno.]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION layer="8">
    local player = Object():GetController()
    if player ~= nil then
       local top = player:Library_GetNth(0)
       if top ~= nil and top:GetCardType():Test( CARD_TYPE_LAND ) ~= 0 then
          player:GetCurrentCharacteristics():Bool_Set( PLAYER_CHARACTERISTIC_CAN_PLAY_TOP_CARD_OF_LIBRARY, 1 )
       end
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <SFX text="COMBAT_GREEN_MAGIC_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_GREEN_MAGIC_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
  <AI_BASE_SCORE score="600" zone="ZONE_IN_PLAY" />
</CARD_V2>
The additional land play has been copied from Explore in DotP2012 and it still works. The rest is just Future Sight with a variant.
< 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: 721 times

Re: Duels of the Planeswalkers 2013

Postby Rick » 09 Jul 2012, 08:20

A bit unrelated to the current discussion, but here's a list of all current promotional unlock codes that are in the base game released:

FNMDGP
KWPMZW
MWTMJP
WMKFGC
NCTFJN
GDZDJC
HTRNPW
FXGJDW
PCNKGR
GPCRSX
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 » 09 Jul 2012, 08:38

I tried those codes and they unlock the cards that you can find in the ...PROMO_1.XML inside the UNLOCKS directory of each available deck. They will be foil and with the falling star expansion symbol and watermark (I think this depends on the "#" added after the card name in the XML file).

EDIT: Visual guide for entering those codes:
Image
Last edited by thefiremind on 28 Feb 2013, 20:53, edited 1 time in total.
< 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: 721 times

Re: Duels of the Planeswalkers 2013

Postby daenon611 » 09 Jul 2012, 18:53

Promotional Unlock

I needed a little moment to find the place for ... but then ...

On the Player Status screen, click "Magic the Gathering Promo Unlocks". Then click on 'Enter Code' and punch in the letters:

Many thank's ...
User avatar
daenon611
 
Posts: 68
Joined: 04 Sep 2011, 15:19
Location: Germany
Has thanked: 45 times
Been thanked: 4 times

Re: Duels of the Planeswalkers 2013

Postby sumomole » 11 Jul 2012, 02:46

How can I easily enter the following code?
Code: Select all
    <FILTER>
    return (FilteredCard() == EffectDC():Get_Targets(0):Get_CardPtr(0) or
    FilteredCard() == EffectDC():Get_Targets(0):Get_CardPtr(1) or
    FilteredCard() == EffectDC():Get_Targets(0):Get_CardPtr(2) or
                                  .
                                  .
                                  .
    FilteredCard() == EffectDC():Get_Targets(0):Get_CardPtr(1000))
    </FILTER>
User avatar
sumomole
Programmer
 
Posts: 611
Joined: 07 Jun 2011, 08:34
Has thanked: 51 times
Been thanked: 234 times

PreviousNext

Return to Magic: The Gathering - Duels of the Planeswalkers

Who is online

Users browsing this forum: No registered users and 32 guests


Who is online

In total there are 32 users online :: 0 registered, 0 hidden and 32 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 32 guests

Login Form