Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels)
2014




Formal Request Thread
Moderator: CCGHQ Admins
Re: Formal Request Thread
by NeoAnderson » 22 Dec 2013, 23:42
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.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.
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 > 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 > 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 259 times
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by thefiremind » 22 Dec 2013, 23:56
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.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?
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by NeoAnderson » 23 Dec 2013, 08:39
Ok thank my friend, so the code should be ok as it is.thefiremind wrote: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.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?
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

- 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 > 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 > 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 > 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 < 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 > 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
by thefiremind » 23 Dec 2013, 09:47
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.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.

This should answer your question:NeoAnderson wrote:I also have a question, why have you set the trigger as replacement_effect?
viewtopic.php?f=63&t=11418&start=30#p137105
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).NeoAnderson wrote:Anyway here you can find the code for Oubliette please take a look and let me know what you think.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by NeoAnderson » 23 Dec 2013, 10:38
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 thingthefiremind 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.

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.thefiremind wrote:This should answer your question:
viewtopic.php?f=63&t=11418&start=30#p137105

I always forget something, and in this case the situation is worst also because i made the question beforethefiremind 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).

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 > 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 > 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 > 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 < 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 > 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
by sumomole » 23 Dec 2013, 10:44
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Formal Request Thread
by NeoAnderson » 23 Dec 2013, 10:48
ahahahah are you joking with me master sumomole?

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
by thefiremind » 23 Dec 2013, 11:04
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.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?
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.

< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by NeoAnderson » 23 Dec 2013, 11:25
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.thefiremind wrote: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.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?
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 > 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 > 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 > 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 > 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 < 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 > 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>
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.

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

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
by sumomole » 23 Dec 2013, 11:59
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.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?

-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Formal Request Thread
by NeoAnderson » 23 Dec 2013, 12:08
If the first targetting is stored also if the aura immediately try to change zone from battlefield to graveyard.sumomole wrote: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.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?
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
by 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)
Pact of the Titan (Hive Mind)
Pyromancer's Swath (Pyromancer Ascension)
Ideas Unbound (Pyromancer Ascension)
-
Deadpoolmtg - Posts: 12
- Joined: 02 Jul 2013, 17:25
- Has thanked: 28 times
- Been thanked: 0 time
Re: Formal Request Thread
by 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.
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() > characteristics_s:Power_Get() or characteristics_t:Toughness_Get() > 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() > characteristics_s:Power_Get() or characteristics_t:Toughness_Get() > characteristics_s:Toughness_Get() then
return false
end
end
return true
</AUTO_SKIP>
</TRIGGERED_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Addto your mana pool for each +1/+1 counter on Gyre Sage.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutezà votre réserve pour chaque marqueur +1/+1 sur la Sage de la spirale.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agregaa 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.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungialla tua riserva di mana per ogni segnalino +1/+1 sulla Saggia del Cerchio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: Addto your mana pool for each +1/+1 counter on Gyre Sage.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: 나선의 현자가 가진 +1/+1 카운터 한 개당를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьтев ваше хранилище маны за каждый жетон +1/+1 на Мудреце Круговорота.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Addto 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 > 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
by NeoAnderson » 25 Dec 2013, 10:33
Here you can find the first card requested (including a 4/4 red giant token and a card_ui.XMl for queries text)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)
- 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
by Deadpoolmtg » 25 Dec 2013, 12:28
Thanks again NeoAnderson!NeoAnderson wrote:Here you can find the first card requested (including a 4/4 red giant token and a card_ui.XMl for queries text)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)
- 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

I have a question:
CARD_UI_TEXT4 goes on "DATA_DLC_DECK_BUILDER_CUSTOM\DATA_ALL_PLATFORMS\CARDS"?
-
Deadpoolmtg - Posts: 12
- Joined: 02 Jul 2013, 17:25
- Has thanked: 28 times
- Been thanked: 0 time
Who is online
Users browsing this forum: No registered users and 5 guests