It is currently 19 Jul 2025, 19:24
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins

Re: Formal Request Thread

Postby NeoAnderson » 22 Dec 2013, 23:42

thefiremind wrote:Exiling and returning Auras is something that Flickerform does as well. I can't find Flickerform on my DotP2014 mods folder, but it would be strange that nobody coded it yet.
According with your suggestion i started from Flickerform i found your post about a 2013 version, unfortunatelly i haven't find any version of Flickerform for Dotp 2014 anyway i used it as an exercise and i made it.

I also made a test with Guardian Beast effect (to do it i have changed Flickerform's target to Artifact just for test):
1. I have Attached some Auras and Flickerform(modded to target Artifact) to an artifact under my control.
2. I have use Flickerform(modded to target Artifact) ability and it has exiled the artifact and all the Auras.
3. I have putontobattlefield Guardian Beast (Untapped)
4. At end of turn Flickerform's delayed trigger call back the artifact onto battlefield, this artifact gain indestructible and cannot be target by auras.
4B. Flickerform's delayed trigger try to call back other Auras but the Guardian Beast's effect override it.

So I can definitely say it works :-)
Here you can find my version of Flickerform 2014


Flickerform | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="FLICKERFORM_376337" />
  <CARDNAME text="FLICKERFORM" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flickerform]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Danseforme]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Forma fluctuante]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Flackernde Form]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Guizzoforma]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ちらつく形態]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Flickerform]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Мерцающая форма]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Forma Intermitente]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="376337" />
  <ARTID value="376337" />
  <ARTIST name="Ron Spears" />
  <CASTING_COST cost="{1}{W}" />
  <TYPE metaname="Enchantment" />
  <SUB_TYPE metaname="Aura" />
  <EXPANSION value="C13" />
  <RARITY metaname="R" />

<SPELL_ABILITY attach_definition="0">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanter : créature]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Encantar criatura.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Verzaubert eine Kreatur]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Incanta creatura]]></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[Encantar criatura]]></LOCALISED_TEXT>
      <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_ENCHANT" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
    </TARGET_DEFINITION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil and EffectSource() ~= nil then
       EffectSource():Attach(target)
    end
    </RESOLUTION_TIME_ACTION>
      <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ALLIED" />
</SPELL_ABILITY>

  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{2}{W}{W}: Exile enchanted creature and all Auras attached to it. At the beginning of the next end step, return that card to the battlefield under its owner's control. If you do, return the other cards exiled this way to the battlefield under their owners' control attached to that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{2}{W}{W} : Exilez la créature enchantée et toutes les auras qui lui sont attachées. Au début de la prochaine étape de fin, renvoyez cette carte sur le champ de bataille sous le contrôle de son propriétaire. Si vous faites ainsi, renvoyez les autres cartes exilées de cette manière sur le champ de bataille sous le contrôle de leurs propriétaires et attachées à cette créature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{2}{W}{W}: Exilia la criatura encantada y todas las auras anexadas a ella. Al comienzo de tu próximo paso final, regresa esa carta al campo de batalla bajo el control de su propietario. Si lo haces, regresa las otras cartas exiliadas de esta manera al campo de batalla bajo el control de sus propietarios anexadas a esa criatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{2}{W}{W}: Schicke die verzauberte Kreatur und alle an sie angelegten Auren ins Exil. Bringe diese Karte zu Beginn des nächsten Endsegments unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du dies tust, bringe die anderen Karten, die auf diese Weise ins Exil geschickt wurden, unter der Kontrolle ihrer Besitzer an diese Kreatur angelegt ins Spiel zurück.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{2}{W}{W}: Esilia la creatura incantata e tutte le Aure ad essa assegnate. All’inizio della prossima sottofase finale, rimetti sul campo di battaglia quella carta sotto il controllo del suo proprietario. Se lo fai, rimetti le altre carte esiliate in questo modo sul campo di battaglia sotto il controllo dei rispettivi proprietari assegnate a quella creatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{2}{W}{W}: エンチャントされているクリーチャーと、それにつけられているすべてのオーラを追放する。次の終了ステップの開始時に、そのカードをオーナーのコントロール下で戦場に戻す。そうしたなら、これにより追放された他のカードをそれぞれのオーナーのコントロール下で、そのクリーチャーにエンチャントされている状態で戦場に戻す。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{2}{W}{W}: Exile enchanted creature and all Auras attached to it. At the beginning of the next end step, return that card to the battlefield under its owner’s control. If you do, return the other cards exiled this way to the battlefield under their owners’ control attached to that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{2}{W}{W}: Выведите из игры зачарованное существо и все наложенные на него Ауры. В конце хода верните эту карту в игру под контролем владельца. Если вы сделаете это, верните выведенные с этим существом Ауры в игру наложенными на это существо под контролем их владельцев.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{2}{W}{W}: Remova do jogo a criatura encantada e todas as Auras anexadas a ela. No final do turno, devolva aquele card ao jogo sob o controle de seu dono. Se o fizer, devolva aquelas Auras ao jogo sob o controle de seus donos, encantando aquela criatura.]]></LOCALISED_TEXT>
    <COST type="Mana" mana_cost="{2}{W}{W}" />
 <RESOLUTION_TIME_ACTION>
    local parent = Object():GetParent()
    if parent ~= nil then
       local filter = ClearFilter()
       filter:SetZone( ZONE_BATTLEFIELD )
       filter:Add( FE_SUBTYPE, OP_IS, ENCHANTMENT_TYPE_AURA )
       filter:Add( FE_PARENT_CARD, OP_IS, parent )
       local filter_count = filter:EvaluateObjects()
       local delayDC = EffectDC():Make_Chest(1)
       delayDC:Set_Int(0, filter_count)
       delayDC:Set_CardPtr(filter_count+1, parent)
       delayDC:Protect_CardPtr(filter_count+1)
       if filter_count &gt; 0 then
          for i=1,filter_count do
             local card = filter:GetNthEvaluatedObject(i-1)
             delayDC:Set_CardPtr(i, card)
             delayDC:Protect_CardPtr(i)
             card:Exile()
          end
       end
       parent:Exile()
    end
    </RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
       local delayDC = EffectDC():Get_Chest(1)
       MTG():CreateDelayedTrigger(2, delayDC)
    </RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>


<TRIGGERED_ABILITY resource_id="2">
<TRIGGER value="BEGINNING_OF_STEP">
    return MTG():GetStep() == STEP_END_OF_TURN
    </TRIGGER>
    <CLEANUP fire_once="1" />
    <RESOLUTION_TIME_ACTION>
    local aura_count = EffectDC():Get_Int(0)
    local parent = EffectDC():Get_CardPtr(aura_count+1)
    if parent ~= nil then
       EffectDC():Protect_CardPtr(aura_count+1)
       parent:PutOntoBattlefield( parent:GetOwner() )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local aura_count = EffectDC():Get_Int(0)
    if aura_count &gt; 0 then
       local parent = EffectDC():Get_CardPtr(aura_count+1)
       if parent ~= nil and parent:GetZone() == ZONE_BATTLEFIELD then
          for i=1,aura_count do
             local card = EffectDC():Get_CardPtr(i)
             if card ~= nil and card:CanAttachTo(parent) then
                card:PutOntoBattlefieldAttachedTo( card:GetOwner(), parent )
             end
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
</CARD_V2>
FLICKERFORM_376337.zip
Card XML + TDX
(587.85 KiB) Downloaded 260 times
I just have a question i have read the rules for this card, should it be exiled togheter with the other Auras and it should be put back onto battlefield?
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby thefiremind » 22 Dec 2013, 23:56

NeoAnderson wrote:I just have a question i have read the rules for this card, should it be exiled togheter with the other Auras and it should be put back onto battlefield?
Yes, it says "all Auras", not "all other Auras", so it's included. Unless of course it ends up somewhere else before its ability resolves.
< 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: Formal Request Thread

Postby NeoAnderson » 23 Dec 2013, 08:39

thefiremind wrote:
NeoAnderson wrote:I just have a question i have read the rules for this card, should it be exiled togheter with the other Auras and it should be put back onto battlefield?
Yes, it says "all Auras", not "all other Auras", so it's included. Unless of course it ends up somewhere else before its ability resolves.
Ok thank my friend, so the code should be ok as it is.
Anyway thanks to your precious support i have coded Oubliette.
Your solution with Gilder Bairn helped me a lot to understand how i could store the counters in play.
If i could give you a suggestion to improve this feature, you could add a check to retrieve the number of instances of the cards with the same name. It doesn't change the computing, but you avoid to make useless calculations, you can store a value into duel data chest to check if it is already computed, so only the first istance will trigger.
I also have a question, why have you set the trigger as replacement_effect?

Anyway here you can find the code for Oubliette please take a look and let me know what you think.
My first version was using a delayed trigger but honestly i thought it was better to use LinkedDC, so i have replace it, also because with delayedDC the second trigger was a resource and the text was no displayed :lol: (It was no so nice to put a fake static ability only to have the text on the card)
Oubliette | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="OUBLIETTE_159135" />
  <CARDNAME text="OUBLIETTE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Oubliette]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="159135" />
  <ARTID value="159135" />
  <ARTIST name="Douglas Shuler" />
  <CASTING_COST cost="{1}{B}{B}" />
  <TYPE metaname="Enchantment" />
  <EXPANSION value="MED" />
  <RARITY metaname="C" />
  <TRIGGERED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Oubliette enters the battlefield, exile target creature and all Auras attached to it. Note the number and kind of counters that were on that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Lorsque Oubliette entre sur le champ de bataille, exilez la créature ciblée et toutes les auras qui lui sont attachés. Notez le numéro et le type de compteurs qui étaient sur ​​cette créature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando Oubliette entra al campo de batalla, el exilio a la criatura objetivo y todas las auras se le atribuye. Anote el número y tipo de contadores que estaban en esa criatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn Oubliette tritt auf dem Schlachtfeld, die Verbannung der Ziel Kreatur und alle Auren attached to it. Notieren Sie sich die Anzahl und Art der Leistungsindikatoren, die auf diese Kreatur waren..]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando l’Oubliette entra nel campo di battaglia, esilia una creatura bersaglio e tutte le Aura ad essa assegnate. Annota il numero e il tipo di segnalini che erano su quella creatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[土牢戦場、亡命対象のクリーチャーと、それに接続されているすべてのオーラに入ると。そのクリーチャーの上にいたカウンターの数や種類に注意してください。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비밀 토옥 전장, 추방 대상 생물와 연결된 모든 기운에 들어갈 때. 그 생물에 있던 카운터의 수와 종류를 확인합니다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Oubliette входит на поле боя, ссылки на целевое существо и все ауры, прикрепленных к нему. Обратите внимание на количество и вид счетчиков, которые были на этом существе.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando Oubliette entra no campo de batalha, exile a criatura alvo e todas as auras ligadas a ele. Anote o número e tipo de contadores que estavam sobre aquela criatura.]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_EXILE" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
    </TARGET_DEFINITION>

<RESOLUTION_TIME_ACTION>
    local source = EffectSource()
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local chest = MTG():DuelDataChest():Get_Chest(888)
   local i = 0
        local j = 1
       if chest ~= nil then
          local index = chest:Get_Int(i)
          while index ~= 0 do
             local amount = target:CountCounters(index)
             if amount &gt; 0 then
            LinkedDC():Set_Int(j, index)
             LinkedDC():Set_Int(j+1, amount)
                                j = j+2                               
             end
             i = i+1
             index = chest:Get_Int(i)
          end
       end
       LinkedDC():Set_Int(0, j-1)
       local filter = ClearFilter()
       filter:SetZone( ZONE_BATTLEFIELD )
       filter:Add( FE_SUBTYPE, OP_IS, ENCHANTMENT_TYPE_AURA )
       filter:Add( FE_PARENT_CARD, OP_IS, target )
       local filter_count = filter:EvaluateObjects()
       local shifter = j+1
       LinkedDC():Set_Int(shifter, filter_count)
       if filter_count &gt; 0 then
          for i=1,filter_count do
             local card = filter:GetNthEvaluatedObject(i-1)
             LinkedDC():Set_CardPtr(shifter+i, card)
             LinkedDC():Protect_CardPtr(shifter+i)
             card:Exile()
          end
       end
       LinkedDC():Set_CardPtr(j, target)
       LinkedDC():Protect_CardPtr(j)
       target:Exile()
    end
    </RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
           local source = EffectSource()
           local index_count = LinkedDC():Get_Int(0)
           local card = LinkedDC():Get_CardPtr(index_count+1)
           if card ~= nil then
              card:NailOnto(source)
           end
           local shifter = index_count+2
           local aura_count = LinkedDC():Get_Int(shifter)
           for i=1,aura_count do
               local card = LinkedDC():Get_CardPtr(shifter+i)
               if card ~= nil then
                  card:NailOnto(source)
               end
           end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Oubliette leaves the battlefield, return that exiled card to the battlefield under its owner’s control tapped with the noted number and kind of counters on it. If you do, return the other exiled cards to the battlefield under their owner’s control attached to that permanent.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Lorsque Oubliette quitte le champ de bataille, renvoyez cette carte exilée sur le champ de bataille sous le contrôle de son propriétaire engagée, avec le numéro noté et le type de compteurs, sur elle. Si vous faites ainsi, renvoyez les autres cartes exilées au champ de bataille sous le contrôle de leur propriétaire attachée à ce permanent.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando Oubliette deje el juego, regresa esa carta exiliada al campo de batalla bajo el control de su propietario aprovechado, con el número observado y el tipo de contadores, en él. Si lo haces, regresa el resto de cartas exiliadas al campo de batalla bajo el control de su propietario adjunto a ese permanente.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn Oubliette das Spiel verlässt, bringe diese Karte ins Exil geschickt, um das Schlachtfeld unter der Kontrolle ihres Besitzers geklopft, mit der festgestellt Anzahl und der Art der Zähler, auf sie. Wenn Sie das tun, kehren die anderen Karten im Exil auf dem Schlachtfeld unter Kontrolle ihrer Besitzer dieser Betrieb angebracht.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando l’Oubliette lascia il campo di battaglia, rimetti sul campo di battaglia sotto il controllo del suo proprietario quella carta esiliata, TAPpata e con il numero e il tipo di segnalini annotati. Se lo fai, rimetti nel campo di battaglia sotto il controllo del loro proprietario le altre carte esiliate assegnate a quel permanente.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[土牢が戦場を離れたとき、その上に、メモした番号とカウンタの種類によって、タップをオーナーのコントロール下で戦場にその追放されたカードを返す。そうした場合、そのパーマネントに付着し、そのオーナーのコントロール下で戦場に他の追放されたカードを返す。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비밀 토옥 전장을 떠날 때, 그것에, 지적 번호와 카운터의 종류, 도청 소유자의 통제하에 전장에 그 추방 카드를 반환합니다. 당신이 할 경우, 해당 영구적으로 부착 된 그들의 소유자의 통제하에 전장에 다른 망명 카드를 반환합니다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Oubliette покидает поле битвы, верните ту изгнании карту на поле битвы под контролем его владельца постучал, с отмеченным числа и вида счетчиков, на нем. Если вы это делаете, верните другие изгнании карты на поле боя под контролем их владельца прикрепленной к этому постоянный характер.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando Oubliette deixar o jogo, devolva aquele card exilado ao campo de batalha sob o controle de seu dono bateu, com o número observado eo tipo de contadores, sobre ele. Se o fizer, devolva os outros cartões de exilados para o jogo sob o controle de seu dono ligado a esse permanente.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_BATTLEFIELD" />
    <CLEANUP fire_once="1" />
    <RESOLUTION_TIME_ACTION>
    local index_count = LinkedDC():Get_Int(0)
    local card = LinkedDC():Get_CardPtr(index_count+1)
    if card ~= nil then
       LinkedDC():Protect_CardPtr(index_count+1)
       card:PutOntoBattlefieldTapped( card:GetOwner() )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local index_count = LinkedDC():Get_Int(0)
    if index_count &gt; 0 then
       local card = LinkedDC():Get_CardPtr(index_count+1)
       if card ~= nil and card:GetZone() == ZONE_BATTLEFIELD then
          local index = 0
          local amount = 0
          local i = 1
          while i &lt; index_count do
             index = LinkedDC():Get_Int(i)
             amount = LinkedDC():Get_Int(i+1)
             card:AddCounters(index, amount)
             i=i+2 
          end
       end
    end
    </RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
    local index_count = LinkedDC():Get_Int(0)
    local shifter = index_count+2
    local aura_count = LinkedDC():Get_Int(shifter)
    if aura_count &gt; 0 then
       local parent = LinkedDC():Get_CardPtr(index_count+1)
       if parent ~= nil and parent:GetZone() == ZONE_BATTLEFIELD then
          for i=1,aura_count do
             local card = LinkedDC():Get_CardPtr(shifter+i)
             if card ~= nil and card:CanAttachTo(parent) then
                card:PutOntoBattlefieldAttachedTo( card:GetOwner(), parent )
             end
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="COUNTERS_CHANGED" />
    <RESOLUTION_TIME_ACTION>
    local current_index = CounterTypeIndex()
    local i = 0
    local chest = MTG():DuelDataChest():Get_Chest(888)
   if chest == nil then
      chest = MTG():DuelDataChest():Make_Chest(888)
        else
       local index = chest:Get_Int(0)
       while index ~= 0 do
          if index == current_index then
             return
          end
          i = i+1
          index = chest:Get_Int(i)
       end
    end
    chest:Set_Int(i, current_index)
    </RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
</CARD_V2>
Last edited by NeoAnderson on 23 Dec 2013, 11:27, edited 1 time in total.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby thefiremind » 23 Dec 2013, 09:47

NeoAnderson wrote:If i could give you a suggestion to improve this feature, you could add a check to retrieve the number of instances of the cards with the same name. It doesn't change the computing, but you avoid to make useless calculations, you can store a value into duel data chest to check if it is already computed, so only the first istance will trigger.
I'm not sure if I understood... do you mean making only 1 card with this kind of ability trigger for each counter? I usually do that when multiple triggers interfere with each other, this isn't the case, so I prefer to make things easier for me than for the CPU. :lol:

NeoAnderson wrote:I also have a question, why have you set the trigger as replacement_effect?
This should answer your question:
viewtopic.php?f=63&t=11418&start=30#p137105

NeoAnderson wrote:Anyway here you can find the code for Oubliette please take a look and let me know what you think.
At first glance it seems OK to me. You just forgot to take into account what you said earlier: storing information when Oubliette leaves the battlefield before resolving is useless. I won't try to edit your code myself because it may need a reordering before doing that, but you should enclose any part dealing with information storage on LinkedDC between "if source ~= nil ... end" (leaving out the Exile functions).
< 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: Formal Request Thread

Postby NeoAnderson » 23 Dec 2013, 10:38

thefiremind wrote:I'm not sure if I understood... do you mean making only 1 card with this kind of ability trigger for each counter? I usually do that when multiple triggers interfere with each other, this isn't the case, so I prefer to make things easier for me than for the CPU. :lol:
sorry for bad explanation, i was just saying if i have 4 cards Gilder Bairn into the deck each of this card will trigger when the counters in play change, anyway is not an important thing :lol:
thefiremind wrote:This should answer your question:
viewtopic.php?f=63&t=11418&start=30#p137105
Thanks a lot this link is really useful for me, not only for replacement_effect explanation, i was already imaging something like this, but expecially because i have found your link about layers explanation, i was looking for it. :D About the replacement_effect so you are using it not for the official purpose, but just to make the trigger transparent to the players.
thefiremind wrote:At first glance it seems OK to me. You just forgot to take into account what you said earlier: storing information when Oubliette leaves the battlefield before resolving is useless. I won't try to edit your code myself because it may need a reordering before doing that, but you should enclose any part dealing with information storage on LinkedDC between "if source ~= nil ... end" (leaving out the Exile functions).
I always forget something, and in this case the situation is worst also because i made the question before :oops:.
Anyway i added the if condition into the first trigger just leaving out the target exile action. Ok i have resolved. Just last question if Oubliette is destroyed while the first action is still resolving, the target is exiled and the auras go to the graveyard. Is this ok?
Oubliette revised | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="OUBLIETTE_159135" />
  <CARDNAME text="OUBLIETTE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Oubliette]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="159135" />
  <ARTID value="159135" />
  <ARTIST name="Douglas Shuler" />
  <CASTING_COST cost="{1}{B}{B}" />
  <TYPE metaname="Enchantment" />
  <EXPANSION value="AN" />
  <RARITY metaname="C" />
  <TRIGGERED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Oubliette enters the battlefield, exile target creature and all Auras attached to it. Note the number and kind of counters that were on that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Lorsque Oubliette entre sur le champ de bataille, exilez la créature ciblée et toutes les auras qui lui sont attachés. Notez le numéro et le type de compteurs qui étaient sur ​​cette créature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando Oubliette entra al campo de batalla, el exilio a la criatura objetivo y todas las auras se le atribuye. Anote el número y tipo de contadores que estaban en esa criatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn Oubliette tritt auf dem Schlachtfeld, die Verbannung der Ziel Kreatur und alle Auren attached to it. Notieren Sie sich die Anzahl und Art der Leistungsindikatoren, die auf diese Kreatur waren..]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando l’Oubliette entra nel campo di battaglia, esilia una creatura bersaglio e tutte le Aura ad essa assegnate. Annota il numero e il tipo di segnalini che erano su quella creatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[土牢戦場、亡命対象のクリーチャーと、それに接続されているすべてのオーラに入ると。そのクリーチャーの上にいたカウンターの数や種類に注意してください。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비밀 토옥 전장, 추방 대상 생물와 연결된 모든 기운에 들어갈 때. 그 생물에 있던 카운터의 수와 종류를 확인합니다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Oubliette входит на поле боя, ссылки на целевое существо и все ауры, прикрепленных к нему. Обратите внимание на количество и вид счетчиков, которые были на этом существе.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando Oubliette entra no campo de batalha, exile a criatura alvo e todas as auras ligadas a ele. Anote o número e tipo de contadores que estavam sobre aquela criatura.]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_EXILE" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
    </TARGET_DEFINITION>

<RESOLUTION_TIME_ACTION>
 local source = EffectSource()
 local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
 if target ~= nil then
    if EffectSource() ~= nil then
        local chest = MTG():DuelDataChest():Get_Chest(888)
   local i = 0
        local j = 1
       if chest ~= nil then
          local index = chest:Get_Int(i)
          while index ~= 0 do
             local amount = target:CountCounters(index)
             if amount &gt; 0 then
            LinkedDC():Set_Int(j, index)
             LinkedDC():Set_Int(j+1, amount)
                                j = j+2                               
             end
             i = i+1
             index = chest:Get_Int(i)
          end
       end
       LinkedDC():Set_Int(0, j-1)
       local filter = ClearFilter()
       filter:SetZone( ZONE_BATTLEFIELD )
       filter:Add( FE_SUBTYPE, OP_IS, ENCHANTMENT_TYPE_AURA )
       filter:Add( FE_PARENT_CARD, OP_IS, target )
       local filter_count = filter:EvaluateObjects()
       local shifter = j+1
       LinkedDC():Set_Int(shifter, filter_count)
       if filter_count &gt; 0 then
          for i=1,filter_count do
             local card = filter:GetNthEvaluatedObject(i-1)
             LinkedDC():Set_CardPtr(shifter+i, card)
             LinkedDC():Protect_CardPtr(shifter+i)
             card:Exile()
          end
       end
       LinkedDC():Set_CardPtr(j, target)
       LinkedDC():Protect_CardPtr(j)
   end
       target:Exile()
 end

</RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
       if EffectSource() ~= nil then
           local source = EffectSource()
           local index_count = LinkedDC():Get_Int(0)
           local card = LinkedDC():Get_CardPtr(index_count+1)
           if card ~= nil then
              card:NailOnto(source)
           end
           local shifter = index_count+2
           local aura_count = LinkedDC():Get_Int(shifter)
           for i=1,aura_count do
               local card = LinkedDC():Get_CardPtr(shifter+i)
               if card ~= nil then
                  card:NailOnto(source)
               end
           end
        end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Oubliette leaves the battlefield, return that exiled card to the battlefield under its owner’s control tapped with the noted number and kind of counters on it. If you do, return the other exiled cards to the battlefield under their owner’s control attached to that permanent.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Lorsque Oubliette quitte le champ de bataille, renvoyez cette carte exilée sur le champ de bataille sous le contrôle de son propriétaire engagée, avec le numéro noté et le type de compteurs, sur elle. Si vous faites ainsi, renvoyez les autres cartes exilées au champ de bataille sous le contrôle de leur propriétaire attachée à ce permanent.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando Oubliette deje el juego, regresa esa carta exiliada al campo de batalla bajo el control de su propietario aprovechado, con el número observado y el tipo de contadores, en él. Si lo haces, regresa el resto de cartas exiliadas al campo de batalla bajo el control de su propietario adjunto a ese permanente.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn Oubliette das Spiel verlässt, bringe diese Karte ins Exil geschickt, um das Schlachtfeld unter der Kontrolle ihres Besitzers geklopft, mit der festgestellt Anzahl und der Art der Zähler, auf sie. Wenn Sie das tun, kehren die anderen Karten im Exil auf dem Schlachtfeld unter Kontrolle ihrer Besitzer dieser Betrieb angebracht.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando l’Oubliette lascia il campo di battaglia, rimetti sul campo di battaglia sotto il controllo del suo proprietario quella carta esiliata, TAPpata e con il numero e il tipo di segnalini annotati. Se lo fai, rimetti nel campo di battaglia sotto il controllo del loro proprietario le altre carte esiliate assegnate a quel permanente.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[土牢が戦場を離れたとき、その上に、メモした番号とカウンタの種類によって、タップをオーナーのコントロール下で戦場にその追放されたカードを返す。そうした場合、そのパーマネントに付着し、そのオーナーのコントロール下で戦場に他の追放されたカードを返す。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비밀 토옥 전장을 떠날 때, 그것에, 지적 번호와 카운터의 종류, 도청 소유자의 통제하에 전장에 그 추방 카드를 반환합니다. 당신이 할 경우, 해당 영구적으로 부착 된 그들의 소유자의 통제하에 전장에 다른 망명 카드를 반환합니다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Oubliette покидает поле битвы, верните ту изгнании карту на поле битвы под контролем его владельца постучал, с отмеченным числа и вида счетчиков, на нем. Если вы это делаете, верните другие изгнании карты на поле боя под контролем их владельца прикрепленной к этому постоянный характер.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando Oubliette deixar o jogo, devolva aquele card exilado ao campo de batalha sob o controle de seu dono bateu, com o número observado eo tipo de contadores, sobre ele. Se o fizer, devolva os outros cartões de exilados para o jogo sob o controle de seu dono ligado a esse permanente.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_BATTLEFIELD" />
    <CLEANUP fire_once="1" />
    <RESOLUTION_TIME_ACTION>
    local index_count = LinkedDC():Get_Int(0)
    local card = LinkedDC():Get_CardPtr(index_count+1)
    if card ~= nil then
       LinkedDC():Protect_CardPtr(index_count+1)
       card:PutOntoBattlefieldTapped( card:GetOwner() )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local index_count = LinkedDC():Get_Int(0)
    if index_count &gt; 0 then
       local card = LinkedDC():Get_CardPtr(index_count+1)
       if card ~= nil and card:GetZone() == ZONE_BATTLEFIELD then
          local index = 0
          local amount = 0
          local i = 1
          while i &lt; index_count do
             index = LinkedDC():Get_Int(i)
             amount = LinkedDC():Get_Int(i+1)
             card:AddCounters(index, amount)
             i=i+2 
          end
       end
    end
    </RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
    local index_count = LinkedDC():Get_Int(0)
    local shifter = index_count+2
    local aura_count = LinkedDC():Get_Int(shifter)
    if aura_count &gt; 0 then
       local parent = LinkedDC():Get_CardPtr(index_count+1)
       if parent ~= nil and parent:GetZone() == ZONE_BATTLEFIELD then
          for i=1,aura_count do
             local card = LinkedDC():Get_CardPtr(shifter+i)
             if card ~= nil and card:CanAttachTo(parent) then
                card:PutOntoBattlefieldAttachedTo( card:GetOwner(), parent )
             end
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="COUNTERS_CHANGED" />
    <RESOLUTION_TIME_ACTION>
    local current_index = CounterTypeIndex()
    local i = 0
    local chest = MTG():DuelDataChest():Get_Chest(888)
   if chest == nil then
      chest = MTG():DuelDataChest():Make_Chest(888)
        else
       local index = chest:Get_Int(0)
       while index ~= 0 do
          if index == current_index then
             return
          end
          i = i+1
          index = chest:Get_Int(i)
       end
    end
    chest:Set_Int(i, current_index)
    </RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
</CARD_V2>
Last edited by NeoAnderson on 23 Dec 2013, 10:46, edited 1 time in total.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby sumomole » 23 Dec 2013, 10:44

Require Animate Dead & Dance of the Dead, thanks in advance. :mrgreen:
User avatar
sumomole
Programmer
 
Posts: 611
Joined: 07 Jun 2011, 08:34
Has thanked: 51 times
Been thanked: 234 times

Re: Formal Request Thread

Postby NeoAnderson » 23 Dec 2013, 10:48

sumomole wrote:Require Animate Dead & Dance of the Dead, thanks in advance. :mrgreen:
ahahahah are you joking with me master sumomole? :lol:
I think i need an interpreter just to understand what this card does!
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby thefiremind » 23 Dec 2013, 11:04

NeoAnderson wrote:Just last question if Oubliette is destroyed while the first action is still resolving, the target is exiled and the auras go to the graveyard. Is this ok?
No, you should exile both target and Auras anyway. The fact that the second ability resolves before the first (doing nothing) doesn't change how the first should work.

sumomole wrote:Require Animate Dead & Dance of the Dead, thanks in advance. :mrgreen:
Since you are better than me at finding scenarios where an apparently good code gives unwanted results, I'm sure you already tried any solution I could ever think about, so I won't even attempt. :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: Formal Request Thread

Postby NeoAnderson » 23 Dec 2013, 11:25

thefiremind wrote:
NeoAnderson wrote:Just last question if Oubliette is destroyed while the first action is still resolving, the target is exiled and the auras go to the graveyard. Is this ok?
No, you should exile both target and Auras anyway. The fact that the second ability resolves before the first (doing nothing) doesn't change how the first should work.
Ok thanks so i have revised the card again just little bit of code repeating, i have used an else to exile the auras without storing the pointers.
So the final card should be :
Oubliette | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="OUBLIETTE_159135" />
  <CARDNAME text="OUBLIETTE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Oubliette]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Oubliette]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="159135" />
  <ARTID value="159135" />
  <ARTIST name="Douglas Shuler" />
  <CASTING_COST cost="{1}{B}{B}" />
  <TYPE metaname="Enchantment" />
  <EXPANSION value="AN" />
  <RARITY metaname="C" />
  <TRIGGERED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Oubliette enters the battlefield, exile target creature and all Auras attached to it. Note the number and kind of counters that were on that creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Lorsque Oubliette entre sur le champ de bataille, exilez la créature ciblée et toutes les auras qui lui sont attachés. Notez le numéro et le type de compteurs qui étaient sur ​​cette créature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando Oubliette entra al campo de batalla, el exilio a la criatura objetivo y todas las auras se le atribuye. Anote el número y tipo de contadores que estaban en esa criatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn Oubliette tritt auf dem Schlachtfeld, die Verbannung der Ziel Kreatur und alle Auren attached to it. Notieren Sie sich die Anzahl und Art der Leistungsindikatoren, die auf diese Kreatur waren..]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando l’Oubliette entra nel campo di battaglia, esilia una creatura bersaglio e tutte le Aura ad essa assegnate. Annota il numero e il tipo di segnalini che erano su quella creatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[土牢戦場、亡命対象のクリーチャーと、それに接続されているすべてのオーラに入ると。そのクリーチャーの上にいたカウンターの数や種類に注意してください。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비밀 토옥 전장, 추방 대상 생물와 연결된 모든 기운에 들어갈 때. 그 생물에 있던 카운터의 수와 종류를 확인합니다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Oubliette входит на поле боя, ссылки на целевое существо и все ауры, прикрепленных к нему. Обратите внимание на количество и вид счетчиков, которые были на этом существе.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando Oubliette entra no campo de batalha, exile a criatura alvo e todas as auras ligadas a ele. Anote o número e tipo de contadores que estavam sobre aquela criatura.]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_EXILE" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
    </TARGET_DEFINITION>

<RESOLUTION_TIME_ACTION>
 local source = EffectSource()
 local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
 if target ~= nil then
    if EffectSource() ~= nil then
        local chest = MTG():DuelDataChest():Get_Chest(888)
   local i = 0
        local j = 1
       if chest ~= nil then
          local index = chest:Get_Int(i)
          while index ~= 0 do
             local amount = target:CountCounters(index)
             if amount &gt; 0 then
            LinkedDC():Set_Int(j, index)
             LinkedDC():Set_Int(j+1, amount)
                                j = j+2                               
             end
             i = i+1
             index = chest:Get_Int(i)
          end
       end
       LinkedDC():Set_Int(0, j-1)
       local filter = ClearFilter()
       filter:SetZone( ZONE_BATTLEFIELD )
       filter:Add( FE_SUBTYPE, OP_IS, ENCHANTMENT_TYPE_AURA )
       filter:Add( FE_PARENT_CARD, OP_IS, target )
       local filter_count = filter:EvaluateObjects()
       local shifter = j+1
       LinkedDC():Set_Int(shifter, filter_count)
       if filter_count &gt; 0 then
          for i=1,filter_count do
             local card = filter:GetNthEvaluatedObject(i-1)
             LinkedDC():Set_CardPtr(shifter+i, card)
             LinkedDC():Protect_CardPtr(shifter+i)
             card:Exile()
          end
       end
       LinkedDC():Set_CardPtr(j, target)
       LinkedDC():Protect_CardPtr(j)
   else
       local filter = ClearFilter()
       filter:SetZone( ZONE_BATTLEFIELD )
       filter:Add( FE_SUBTYPE, OP_IS, ENCHANTMENT_TYPE_AURA )
       filter:Add( FE_PARENT_CARD, OP_IS, target )
       local filter_count = filter:EvaluateObjects()
       if filter_count &gt; 0 then
          for i=1,filter_count do
             local card = filter:GetNthEvaluatedObject(i-1)
             card:Exile()
          end
       end
  end
       target:Exile()
 end

</RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
       if EffectSource() ~= nil then
           local source = EffectSource()
           local index_count = LinkedDC():Get_Int(0)
           local card = LinkedDC():Get_CardPtr(index_count+1)
           if card ~= nil then
              card:NailOnto(source)
           end
           local shifter = index_count+2
           local aura_count = LinkedDC():Get_Int(shifter)
           for i=1,aura_count do
               local card = LinkedDC():Get_CardPtr(shifter+i)
               if card ~= nil then
                  card:NailOnto(source)
               end
           end
        end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Oubliette leaves the battlefield, return that exiled card to the battlefield under its owner’s control tapped with the noted number and kind of counters on it. If you do, return the other exiled cards to the battlefield under their owner’s control attached to that permanent.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Lorsque Oubliette quitte le champ de bataille, renvoyez cette carte exilée sur le champ de bataille sous le contrôle de son propriétaire engagée, avec le numéro noté et le type de compteurs, sur elle. Si vous faites ainsi, renvoyez les autres cartes exilées au champ de bataille sous le contrôle de leur propriétaire attachée à ce permanent.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando Oubliette deje el juego, regresa esa carta exiliada al campo de batalla bajo el control de su propietario aprovechado, con el número observado y el tipo de contadores, en él. Si lo haces, regresa el resto de cartas exiliadas al campo de batalla bajo el control de su propietario adjunto a ese permanente.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn Oubliette das Spiel verlässt, bringe diese Karte ins Exil geschickt, um das Schlachtfeld unter der Kontrolle ihres Besitzers geklopft, mit der festgestellt Anzahl und der Art der Zähler, auf sie. Wenn Sie das tun, kehren die anderen Karten im Exil auf dem Schlachtfeld unter Kontrolle ihrer Besitzer dieser Betrieb angebracht.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando l’Oubliette lascia il campo di battaglia, rimetti sul campo di battaglia sotto il controllo del suo proprietario quella carta esiliata, TAPpata e con il numero e il tipo di segnalini annotati. Se lo fai, rimetti nel campo di battaglia sotto il controllo del loro proprietario le altre carte esiliate assegnate a quel permanente.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[土牢が戦場を離れたとき、その上に、メモした番号とカウンタの種類によって、タップをオーナーのコントロール下で戦場にその追放されたカードを返す。そうした場合、そのパーマネントに付着し、そのオーナーのコントロール下で戦場に他の追放されたカードを返す。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비밀 토옥 전장을 떠날 때, 그것에, 지적 번호와 카운터의 종류, 도청 소유자의 통제하에 전장에 그 추방 카드를 반환합니다. 당신이 할 경우, 해당 영구적으로 부착 된 그들의 소유자의 통제하에 전장에 다른 망명 카드를 반환합니다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Oubliette покидает поле битвы, верните ту изгнании карту на поле битвы под контролем его владельца постучал, с отмеченным числа и вида счетчиков, на нем. Если вы это делаете, верните другие изгнании карты на поле боя под контролем их владельца прикрепленной к этому постоянный характер.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando Oubliette deixar o jogo, devolva aquele card exilado ao campo de batalha sob o controle de seu dono bateu, com o número observado eo tipo de contadores, sobre ele. Se o fizer, devolva os outros cartões de exilados para o jogo sob o controle de seu dono ligado a esse permanente.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_BATTLEFIELD" />
    <CLEANUP fire_once="1" />
    <RESOLUTION_TIME_ACTION>
    local index_count = LinkedDC():Get_Int(0)
    local card = LinkedDC():Get_CardPtr(index_count+1)
    if card ~= nil then
       LinkedDC():Protect_CardPtr(index_count+1)
       card:PutOntoBattlefieldTapped( card:GetOwner() )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local index_count = LinkedDC():Get_Int(0)
    if index_count &gt; 0 then
       local card = LinkedDC():Get_CardPtr(index_count+1)
       if card ~= nil and card:GetZone() == ZONE_BATTLEFIELD then
          local index = 0
          local amount = 0
          local i = 1
          while i &lt; index_count do
             index = LinkedDC():Get_Int(i)
             amount = LinkedDC():Get_Int(i+1)
             card:AddCounters(index, amount)
             i=i+2 
          end
       end
    end
    </RESOLUTION_TIME_ACTION>

    <RESOLUTION_TIME_ACTION>
    local index_count = LinkedDC():Get_Int(0)
    local shifter = index_count+2
    local aura_count = LinkedDC():Get_Int(shifter)
    if aura_count &gt; 0 then
       local parent = LinkedDC():Get_CardPtr(index_count+1)
       if parent ~= nil and parent:GetZone() == ZONE_BATTLEFIELD then
          for i=1,aura_count do
             local card = LinkedDC():Get_CardPtr(shifter+i)
             if card ~= nil and card:CanAttachTo(parent) then
                card:PutOntoBattlefieldAttachedTo( card:GetOwner(), parent )
             end
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="COUNTERS_CHANGED" />
    <RESOLUTION_TIME_ACTION>
    local current_index = CounterTypeIndex()
    local i = 0
    local chest = MTG():DuelDataChest():Get_Chest(888)
   if chest == nil then
      chest = MTG():DuelDataChest():Make_Chest(888)
        else
       local index = chest:Get_Int(0)
       while index ~= 0 do
          if index == current_index then
             return
          end
          i = i+1
          index = chest:Get_Int(i)
       end
    end
    chest:Set_Int(i, current_index)
    </RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
</CARD_V2>
sumomole wrote:Require Animate Dead & Dance of the Dead, thanks in advance. :mrgreen:
Since you are better than me at finding scenarios where an apparently good code gives unwanted results, I'm sure you already tried any solution I could ever think about, so I won't even attempt. :lol:[/quote]
At first look i was not recognizing Animate Dead, because i remeber that card as normal Enchantment, now i saw th gather page, and i see it is turned to Enchantment Aura.
Sumomole surely is hiding to us something :lol:
Until now i have made few Aura card so i still don't know the mechanics, the first idea is to use a static ability to grant different Attach condition, but honestly seems to easy and i think it will not work!
Just to be informed a <SPELL_ABILITY attach_definition="0"> could be a resource to use with grantability, or can we use active_zone="ZONE_XXX" to have different possibilities?
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby sumomole » 23 Dec 2013, 11:59

NeoAnderson wrote:Until now i have made few Aura card so i still don't know the mechanics, the first idea is to use a static ability to grant different Attach condition, but honestly seems to easy and i think it will not work!
Just to be informed a <SPELL_ABILITY attach_definition="0"> could be a resource to use with grantability, or can we use active_zone="ZONE_XXX" to have different possibilities?
I've tried that Aura can't attached to a graveyard card, it will be immediately put into graveyard when it enters the battlefield, so I don't know how to code the second triggered ability, I'm not even sure whether the second triggered ability be put on stack. :(
User avatar
sumomole
Programmer
 
Posts: 611
Joined: 07 Jun 2011, 08:34
Has thanked: 51 times
Been thanked: 234 times

Re: Formal Request Thread

Postby NeoAnderson » 23 Dec 2013, 12:08

sumomole wrote:
NeoAnderson wrote:Until now i have made few Aura card so i still don't know the mechanics, the first idea is to use a static ability to grant different Attach condition, but honestly seems to easy and i think it will not work!
Just to be informed a <SPELL_ABILITY attach_definition="0"> could be a resource to use with grantability, or can we use active_zone="ZONE_XXX" to have different possibilities?
I've tried that Aura can't attached to a graveyard card, it will be immediately put into graveyard when it enters the battlefield, so I don't know how to code the second triggered ability, I'm not even sure whether the second triggered ability be put on stack. :(
If the first targetting is stored also if the aura immediately try to change zone from battlefield to graveyard.
You could use ZONECHANGE_CONSIDERED from battlefield to graveyard as replacement effect, then retrieve the first target, putontobattlefield it and attach the aura to it with PutOntoBattlefieldAttachedTo.
Anyway if you a partial code you can post it so i can make some tests, i would not recode the whole card!
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby Deadpoolmtg » 24 Dec 2013, 14:42

Hi guys, need the following cards to enhance the Pyromancer Ascencion(Spellweaver Helix) deck and other to make a Hive Mind deck.

Pact of the Titan (Hive Mind)

Pyromancer's Swath (Pyromancer Ascension)

Ideas Unbound (Pyromancer Ascension)
User avatar
Deadpoolmtg
 
Posts: 12
Joined: 02 Jul 2013, 17:25
Has thanked: 28 times
Been thanked: 0 time

Re: Formal Request Thread

Postby silver1114 » 25 Dec 2013, 04:43

I need a gyre sage that can handel any amount of counters on it and it should proly use manual mana so the mana has a mana pool
the gyre sage i have only can saport 19 +1/+1 counter then when you tap it no mater the number of countere you only get 19 green mana.
Gyre_Sage | Open
<?xml version="1.0"?>
<CARD_V2 ExportVersion="3">
<FILENAME text="GYRE_SAGE_627063" />
<CARDNAME text="GYRE_SAGE" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Gyre Sage]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sage de la spirale]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sabia del espiral]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Weise des Wirbels]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Saggia del Cerchio]]></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[Sábio da Espiral]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[回旋智者]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[迴旋智者]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="627063" />
<ARTID value="627063" />
<ARTIST name="Tyler Jacobson" />
<CASTING_COST cost="{1}{G}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Elf" />
<SUB_TYPE metaname="Druid" />
<EXPANSION value="DPI" />
<RARITY metaname="R" />
<POWER value="1" />
<TOUGHNESS value="2" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Evolve |(Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than this creature, put a +1/+1 counter on this creature.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Évolution |(À chaque fois qu’une créature arrive sur le champ de bataille sous votre contrôle, si sa force ou son endurance est supérieure à celle de cette créature, mettez un marqueur +1/+1 sur cette créature.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Evolucionar. |(Siempre que una criatura entre al campo de batalla bajo tu control, si la fuerza o la resistencia de esa criatura es mayor que la de esta criatura, pon un contador +1/+1 sobre esta criatura.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Weiterentwicklung |(Lege eine +1/+1-Marke auf diese Kreatur, immer wenn eine andere Kreatur unter deiner Kontrolle ins Spiel kommt, falls Stärke oder Widerstandskraft der anderen Kreatur höher ist.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Evoluzione |(Ogniqualvolta una creatura entra nel campo di battaglia sotto il tuo controllo, se quella creatura ha forza o costituzione maggiore di questa creatura, metti un segnalino +1/+1 su questa creatura.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[進化(クリーチャーが1体あなたのコントロール下で戦場に出るたび、そのクリーチャーのパワーかタフネスがこのクリーチャーよりも大きい場合、このクリーチャーの上に+1/+1カウンターを1個置く。)]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[진화 (당신이 조종하는 생물이 전장에 들어올 때마다, 그 생물의 공격력이 이 생물의 공격력보다 높거나 방어력이 이 생물의 방어력보다 높다면, 이 생물에 +1/+1 카운터 한 개를 올려놓는다.)]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Эволюция |(Каждый раз, когда существо выходит на поле битвы под вашим контролем, если сила или выносливость того существа больше, чем у этого существа, положите один жетон +1/+1 на это существо.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Evoluir |(Toda vez que uma criatura entrar no campo de batalha sob o seu controle, se ela tiver poder ou resistência maior que a desta criatura, coloque um marcador +1/+1 nesta criatura.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[进化(每当一个生物在你的操控下进战场时,若该生物的力量或防御力大于此生物,则在后者上放置一个+1/+1指示物。) ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[進化(每當一個生物在你的操控下進戰場時,若該生物的力量或防禦力大於此生物,則在後者上放置一個+1/+1指示物。) ]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" simple_qualifier="objectyoucontrol" to_zone="ZONE_BATTLEFIELD">
return TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE )
</TRIGGER>
<INTERVENING_IF>
if EffectSource() ~= nil and TriggerObjectLKI() ~= nil then
local characteristics_s = EffectSource():GetCurrentCharacteristics()
local characteristics_t = TriggerObjectLKI():GetCurrentCharacteristics()
if characteristics_t:Power_Get() &gt; characteristics_s:Power_Get() or characteristics_t:Toughness_Get() &gt; characteristics_s:Toughness_Get() then
return true
end
end
return false
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1)
end
</RESOLUTION_TIME_ACTION>
<AUTO_SKIP>
if EffectSource() ~= nil and TriggerObjectLKI() ~= nil then
local characteristics_s = EffectSource():GetCurrentCharacteristics()
local characteristics_t = TriggerObjectLKI():GetCurrentCharacteristics()
if characteristics_t:Power_Get() &gt; characteristics_s:Power_Get() or characteristics_t:Toughness_Get() &gt; characteristics_s:Toughness_Get() then
return false
end
end
return true
</AUTO_SKIP>
</TRIGGERED_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {G} to your mana pool for each +1/+1 counter on Gyre Sage.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {G} à votre réserve pour chaque marqueur +1/+1 sur la Sage de la spirale.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {G} a tu reserva de maná por cada contador +1/+1 sobre la Sabia del espiral.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat für jede +1/+1-Marke auf der Weisen des Wirbels um {G}.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {G} alla tua riserva di mana per ogni segnalino +1/+1 sulla Saggia del Cerchio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: Add {G} to your mana pool for each +1/+1 counter on Gyre Sage.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: 나선의 현자가 가진 +1/+1 카운터 한 개당 {G}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {G} в ваше хранилище маны за каждый жетон +1/+1 на Мудреце Круговорота.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Add {G} to your mana pool for each +1/+1 counter on Gyre Sage.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:回旋智者上每有一个+1/+1指示物,便加{G}到你的法术力池中。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:迴旋智者上每有一個+1/+1指示物,便加{G}到你的魔法力池中。]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="6">
if EffectSource() ~= nil then
local characteristics = EffectSource():GetCurrentCharacteristics()
local numCounters = EffectSourceLKI():CountCounters(MTG():PlusOnePlusOneCounters())
if numCounters &gt; 19 then
numCounters = 19
end
characteristics:GrantAbility(numCounters)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<MANA_ABILITY resource_id="0">
<PRODUCES amount="{0}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="1">
<PRODUCES amount="{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="2">
<PRODUCES amount="{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="3">
<PRODUCES amount="{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="4">
<PRODUCES amount="{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="5">
<PRODUCES amount="{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="6">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="7">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="8">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="9">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="10">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="11">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="12">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="13">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="14">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="15">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="16">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="17">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="18">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="19">
<PRODUCES amount="{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}{G}" />
</MANA_ABILITY>
<HELP title="MORE_INFO_TITLE_EVOLVE" body="MORE_INFO_BODY_EVOLVE" zone="ZONE_ANY" />
<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="300" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
silver1114
 
Posts: 6
Joined: 24 Dec 2013, 23:54
Has thanked: 0 time
Been thanked: 0 time

Re: Formal Request Thread

Postby NeoAnderson » 25 Dec 2013, 10:33

Deadpoolmtg wrote:Hi guys, need the following cards to enhance the Pyromancer Ascencion(Spellweaver Helix) deck and other to make a Hive Mind deck.

Pact of the Titan (Hive Mind)

Pyromancer's Swath (Pyromancer Ascension)

Ideas Unbound (Pyromancer Ascension)
Here you can find the first card requested (including a 4/4 red giant token and a card_ui.XMl for queries text)
Pact of the Titan | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PACT_OF_THE_TITAN_130638" />
  <CARDNAME text="PACT_OF_THE_TITAN" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pact of the Titan]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Pacte du titan]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pacto del titán]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Pakt mit dem Titanen]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Patto del Titano]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[タイタンの契約]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pact of the Titan]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Договор Титана]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Pacto do Titã]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="130638" />
  <ARTID value="130638" />
  <ARTIST name="Raymond Swanland" />
  <CASTING_COST cost="{0}" />
  <COLOUR value="R" />
  <TYPE metaname="Instant" />
  <EXPANSION value="FUT" />
  <RARITY metaname="R" />

  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pact of the Titan is red.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Pacte du titan est rouge.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pacto del titán es rojo.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Pakt mit dem Titanen ist rot.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Patto del Titano è rosso.]]></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[Pacto do Titã é o vermelho.]]></LOCALISED_TEXT>
  </STATIC_ABILITY>
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Put a 4/4 red Giant creature token onto the battlefield.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Le Pacte du titan est rouge.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[El Pacto del titán es rojo.
Pon en juego una ficha de criatura Gigante roja 4/4.
Al comienzo de tu próximo mantenimiento, paga {4}{R}. Si no lo haces, pierdes el juego.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Der Pakt mit dem Titanen ist rot. ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Metti sul campo di battaglia una pedina creatura Gigante 4/4 rossa.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[タイタンの契約は赤である。 ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Put a 4/4 red Giant creature token onto the battlefield.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Договор Титана красный.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Pacto do Titã é vermelho. ]]></LOCALISED_TEXT>
    <RESOLUTION_TIME_ACTION>
    MTG():PutTokensOntoBattlefield( "TOKEN_GIANT_4_4_R_66699901", 1, EffectController() )
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
  <TOKEN_REGISTRATION reservation="1" type="TOKEN_GIANT_4_4_R_66699901" />

  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of your next upkeep, pay {4}{R}. If you don’t, you lose the game.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Mettez en jeu un jeton de créature 4/4 rouge Géant.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[At the beginning of your next upkeep, pay {4}{R}. If you don’t, you lose the game.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[ Bringe einen 4/4 roten Riesenspielstein ins Spiel. ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All’inizio del tuo prossimo mantenimento, paga {4}{R}. Se non lo fai, perdi la partita.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ 赤の4/4の巨人・クリーチャー・トークンを1体場に出す。 ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of your next upkeep, pay {4}{R}. If you don’t, you lose the game.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Положите в игру одну фишку существа 4/4 красный Гигант.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[ Coloque em jogo uma ficha de criatura vermelha 4/4 do tipo Gigante. ]]></LOCALISED_TEXT>
    <RESOLUTION_TIME_ACTION>
    local delayDC = EffectDC():Make_Chest(1)
    MTG():CreateDelayedTrigger(1, delayDC)
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>

  <TRIGGERED_ABILITY resource_id="1">
    <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_UPKEEP
    </TRIGGER>
<CLEANUP fire_once="1" />
    <RESOLUTION_TIME_ACTION>
    if EffectController():CanPayManaCost("{4}{R}") then
       EffectController():BeginNewMultipleChoice()   
       EffectController():AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_PAY_PACT_OF_TITAN" )   
       EffectController():AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_LOSEGAME_PACT_OF_TITAN" )
       EffectController():AskMultipleChoiceQuestion( "CARD_QUERY_ACTION_PACT_OF_TITAN", EffectSource() )
    end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    if EffectController():CanPayManaCost("{4}{R}") then
       local result = EffectController():GetMultipleChoiceResult()
       if result == 0 then
          EffectController():PayManaCost("{4}{R}")
       else
             EffectController():LoseGame()
        end
    else
        EffectController():LoseGame()
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
</CARD_V2>
PACT_OF_THE_TITAN_130638.zip
Card XML + TDX + TOKEN + CARDUI
(1.01 MiB) Downloaded 203 times
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby Deadpoolmtg » 25 Dec 2013, 12:28

NeoAnderson wrote:
Deadpoolmtg wrote:Hi guys, need the following cards to enhance the Pyromancer Ascencion(Spellweaver Helix) deck and other to make a Hive Mind deck.

Pact of the Titan (Hive Mind)

Pyromancer's Swath (Pyromancer Ascension)

Ideas Unbound (Pyromancer Ascension)
Here you can find the first card requested (including a 4/4 red giant token and a card_ui.XMl for queries text)
Pact of the Titan | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PACT_OF_THE_TITAN_130638" />
  <CARDNAME text="PACT_OF_THE_TITAN" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pact of the Titan]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Pacte du titan]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pacto del titán]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Pakt mit dem Titanen]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Patto del Titano]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[タイタンの契約]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pact of the Titan]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Договор Титана]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Pacto do Titã]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="130638" />
  <ARTID value="130638" />
  <ARTIST name="Raymond Swanland" />
  <CASTING_COST cost="{0}" />
  <COLOUR value="R" />
  <TYPE metaname="Instant" />
  <EXPANSION value="FUT" />
  <RARITY metaname="R" />

  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pact of the Titan is red.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Pacte du titan est rouge.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pacto del titán es rojo.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Pakt mit dem Titanen ist rot.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Patto del Titano è rosso.]]></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[Pacto do Titã é o vermelho.]]></LOCALISED_TEXT>
  </STATIC_ABILITY>
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Put a 4/4 red Giant creature token onto the battlefield.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Le Pacte du titan est rouge.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[El Pacto del titán es rojo.
Pon en juego una ficha de criatura Gigante roja 4/4.
Al comienzo de tu próximo mantenimiento, paga {4}{R}. Si no lo haces, pierdes el juego.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Der Pakt mit dem Titanen ist rot. ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Metti sul campo di battaglia una pedina creatura Gigante 4/4 rossa.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[タイタンの契約は赤である。 ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Put a 4/4 red Giant creature token onto the battlefield.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Договор Титана красный.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Pacto do Titã é vermelho. ]]></LOCALISED_TEXT>
    <RESOLUTION_TIME_ACTION>
    MTG():PutTokensOntoBattlefield( "TOKEN_GIANT_4_4_R_66699901", 1, EffectController() )
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
  <TOKEN_REGISTRATION reservation="1" type="TOKEN_GIANT_4_4_R_66699901" />

  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of your next upkeep, pay {4}{R}. If you don’t, you lose the game.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Mettez en jeu un jeton de créature 4/4 rouge Géant.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[At the beginning of your next upkeep, pay {4}{R}. If you don’t, you lose the game.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[ Bringe einen 4/4 roten Riesenspielstein ins Spiel. ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All’inizio del tuo prossimo mantenimento, paga {4}{R}. Se non lo fai, perdi la partita.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ 赤の4/4の巨人・クリーチャー・トークンを1体場に出す。 ]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of your next upkeep, pay {4}{R}. If you don’t, you lose the game.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Положите в игру одну фишку существа 4/4 красный Гигант.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[ Coloque em jogo uma ficha de criatura vermelha 4/4 do tipo Gigante. ]]></LOCALISED_TEXT>
    <RESOLUTION_TIME_ACTION>
    local delayDC = EffectDC():Make_Chest(1)
    MTG():CreateDelayedTrigger(1, delayDC)
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>

  <TRIGGERED_ABILITY resource_id="1">
    <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_UPKEEP
    </TRIGGER>
<CLEANUP fire_once="1" />
    <RESOLUTION_TIME_ACTION>
    if EffectController():CanPayManaCost("{4}{R}") then
       EffectController():BeginNewMultipleChoice()   
       EffectController():AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_PAY_PACT_OF_TITAN" )   
       EffectController():AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_LOSEGAME_PACT_OF_TITAN" )
       EffectController():AskMultipleChoiceQuestion( "CARD_QUERY_ACTION_PACT_OF_TITAN", EffectSource() )
    end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    if EffectController():CanPayManaCost("{4}{R}") then
       local result = EffectController():GetMultipleChoiceResult()
       if result == 0 then
          EffectController():PayManaCost("{4}{R}")
       else
             EffectController():LoseGame()
        end
    else
        EffectController():LoseGame()
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
</CARD_V2>
PACT_OF_THE_TITAN_130638.zip
Thanks again NeoAnderson! :D

I have a question:
CARD_UI_TEXT4 goes on "DATA_DLC_DECK_BUILDER_CUSTOM\DATA_ALL_PLATFORMS\CARDS"?
User avatar
Deadpoolmtg
 
Posts: 12
Joined: 02 Jul 2013, 17:25
Has thanked: 28 times
Been thanked: 0 time

PreviousNext

Return to 2014

Who is online

Users browsing this forum: Google [Bot] and 5 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 6 users online :: 1 registered, 0 hidden and 5 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: Google [Bot] and 5 guests

Login Form