Board index Programs with AI or Rules Enforcement Magic: The Gathering - Duels of the Planeswalkers Programming Talk
General DotP 2014 Coding Questions
Moderator: CCGHQ Admins
Re: General DotP 2014 Coding Questions
by GrovyleXShinyCelebi » 02 Nov 2013, 19:01
Hey mates, is SetAttackController() and SetBlockController() defective in Duels 2014? I just made Odric, Master Tactician and it appears SetBlockController() won't allow me to select blocking creatures:
- Code: Select all
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Odric, Master Tactician and at least three other creatures attack, you choose which creatures block this combat and how those creatures block.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois qu’Odric, maître tacticien et au moins trois autres créatures attaquent, vous choisissez quelles créatures bloquent ce combat et comment elles bloquent.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que Odric, maestro estratega y al menos otras tres criaturas ataquen, tú eliges qué criaturas bloquean este combate y cómo bloquean esas criaturas.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn Odric der Meistertaktiker und mindestens drei andere Kreaturen angreifen, bestimmst du, welche Kreaturen in diesem Kampf blocken und wie sie blocken.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta Odric, Grande Stratega e almeno altre tre creature attaccano, scegli quali creature bloccano in questo combattimento e come bloccano.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[熟練の戦術家、オドリックと少なくとも3体の他のクリーチャーが攻撃するたび、あなたは、この戦闘でどのクリーチャーがどのようにブロックするかを選ぶ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[전술의 대가 오드릭과 세 개 이상의 다른 생물이 공격할 때마다, 어느 생물들이 이 전투에 방어할지와 그 생물들이 어떻게 방어할지를 당신이 결정한다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда Одрик, Искусный Тактик и не менее трех других существ атакуют, вы выбираете, какие существа блокируют в этом бою и как они блокируют.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que Odric, Estrategista Mestre, e pelo menos três outras criaturas atacam, você escolhe quais criaturas bloqueiam neste combate e como elas bloqueiam.]]></LOCALISED_TEXT>
<TRIGGER value="ATTACKING" simple_qualifier="self" />
<INTERVENING_IF>
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_IS_ATTACKING, true )
filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
local number = filter:CountStopAt(3)
if number == 3 then
return true
end
return false
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
local player = EffectController()
if player ~= nil then
player:DisplayMessage("CARD_MESSAGE_ODRIC")
end
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION>
local num_players = MTG():GetNumberOfPlayers()
for i=0,num_players-1 do
local player = MTG():GetNthPlayer(i)
if player ~= nil then
player:GetCurrentCharacteristics():SetBlockController(EffectController())
end
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
<AUTO_SKIP always="1" />
</TRIGGERED_ABILITY>
(in Duels 2014)
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
-
GrovyleXShinyCelebi - Posts: 294
- Joined: 12 Jun 2013, 18:23
- Has thanked: 14 times
- Been thanked: 37 times
Re: General DotP 2014 Coding Questions
by thefiremind » 02 Nov 2013, 20:19
Unfortunately yes, I discovered it not long ago with my Leyline of Deity: SetAttackController works, but SetBlockController doesn't. The only thing you can do with SetBlockController is to declare no blockers.GrovyleXShinyCelebi wrote:Hey mates, is SetAttackController() and SetBlockController() defective in Duels 2014? I just made Odric, Master Tactician and it appears SetBlockController() won't allow me to select blocking creatures:
< 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: 721 times
Re: General DotP 2014 Coding Questions
by GrovyleXShinyCelebi » 03 Nov 2013, 00:29
*sigh* So there are no workarounds nor approximations?
And is it true that DUEL_CHARACTERISTIC_MAX_ONE_ATTACKER is bugged as well?
And is it true that DUEL_CHARACTERISTIC_MAX_ONE_ATTACKER is bugged as well?
(in Duels 2014)
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
-
GrovyleXShinyCelebi - Posts: 294
- Joined: 12 Jun 2013, 18:23
- Has thanked: 14 times
- Been thanked: 37 times
Re: General DotP 2014 Coding Questions
by thefiremind » 03 Nov 2013, 00:33
If "creature A blocks creature B this turn if able" were possible, maybe... but since it's not, I don't think there's a chance.GrovyleXShinyCelebi wrote:*sigh* So there are no workarounds nor approximations?
I have never tried... try and see.GrovyleXShinyCelebi wrote:And is it true that DUEL_CHARACTERISTIC_MAX_ONE_ATTACKER is bugged as well?
< 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: 721 times
Re: General DotP 2014 Coding Questions
by GrovyleXShinyCelebi » 03 Nov 2013, 19:11
Another thing, I have a question about Capricious Efreet.
I'm trying to make his ability:
I'm trying to make his ability:
- Code: Select all
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of your upkeep, choose target nonland permanent you control and up to two target nonland permanents you don’t control. Destroy one of them at random.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Au début de votre entretien, choisissez un permanent non-terrain ciblé que vous contrôlez et jusqu’à deux permanents non-terrain ciblés que vous ne contrôlez pas. Détruisez l’un d’eux au hasard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Al comienzo de tu mantenimiento, elige el permanente objetivo que no sea tierra que controles y hasta dos permanentes objetivos que no sean tierras que no controles. Destruye uno de ellos al azar.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bestimme zu Beginn deines Versorgungssegments eine bleibende Karte deiner Wahl, die du kontrollierst, und bis zu zwei bleibende Karten deiner Wahl, die du nicht kontrollierst. Keine dieser bleibenden Karten darf ein Land sein. Bestimme eine davon zufällig und zerstöre sie.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All’inizio del tuo mantenimento, scegli un permanente non terra bersaglio che controlli e fino a due permanenti non terra bersaglio che non controlli. Distruggi uno di essi a caso.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたのアップキープの開始時に、あなたがコントロールする土地でないパーマネント1つを対象とし、あなたがコントロールしていない土地でないパーマネントを最大2つまで対象とする。それらのうち無作為に選んだ1つを破壊する。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of your upkeep, choose target nonland permanent you control and up to two target nonland permanents you don’t control. Destroy one of them at random.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[At the beginning of your upkeep, choose target nonland permanent you control and up to two target nonland permanents you don’t control. Destroy one of them at random.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[At the beginning of your upkeep, choose target nonland permanent you control and up to two target nonland permanents you don’t control. Destroy one of them at random.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
return MTG():GetStep() == STEP_UPKEEP
</TRIGGER>
<SFX text="TARGET_BLADE_PLAY" />
<TARGET tag="CARD_QUERY_CHOOSE_NONLAND_PERMANENT_TO_DESTROY" definition="0" compartment="1" count="2" up_to="1"/>
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:Add( FE_IS_PERMANENT, true )
filter:Add( FE_TYPE, OP_NOT, CARD_TYPE_LAND )
filter:Add( FE_CONTROLLER, OP_NOT, EffectController() )
</TARGET_DEFINITION>
<TARGET tag="CARD_QUERY_CHOOSE_NONLAND_PERMANENT_TO_DESTROY" definition="1" compartment="0" count="1"/>
<TARGET_DEFINITION id="1">
local filter = ClearFilter()
filter:Add( FE_IS_PERMANENT, true )
filter:Add( FE_TYPE, OP_NOT, CARD_TYPE_LAND )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
target:Destroy()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target_one = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
local target_two = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
local target_three = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(1)
local count = 0
if target_one ~= nil then
count = count + 1
end
if target_two ~= nil then
count = count + 1
end
if target_three ~= nil then
count = count + 1
end
if count > 0 then
local random = MTG():RandomNumberBetween(1,count)
if target_one ~= nil then
random = random - 1
if random == 0 then
target_one:Destroy()
return
end
end
if target_two ~= nil then
random = random - 1
if random == 0 then
target_two:Destroy()
return
end
end
if target_three ~= nil then
random = random - 1
if random == 0 then
target_three:Destroy()
return
end
end
end
</RESOLUTION_TIME_ACTION>
<SFX text="TARGET_FLAME_PLAY" />
</TRIGGERED_ABILITY>
- Code: Select all
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of your upkeep, choose target nonland permanent you control and up to two target nonland permanents you don’t control. Destroy one of them at random.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Au début de votre entretien, choisissez un permanent non-terrain ciblé que vous contrôlez et jusqu’à deux permanents non-terrain ciblés que vous ne contrôlez pas. Détruisez l’un d’eux au hasard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Al comienzo de tu mantenimiento, elige el permanente objetivo que no sea tierra que controles y hasta dos permanentes objetivos que no sean tierras que no controles. Destruye uno de ellos al azar.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bestimme zu Beginn deines Versorgungssegments eine bleibende Karte deiner Wahl, die du kontrollierst, und bis zu zwei bleibende Karten deiner Wahl, die du nicht kontrollierst. Keine dieser bleibenden Karten darf ein Land sein. Bestimme eine davon zufällig und zerstöre sie.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All’inizio del tuo mantenimento, scegli un permanente non terra bersaglio che controlli e fino a due permanenti non terra bersaglio che non controlli. Distruggi uno di essi a caso.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたのアップキープの開始時に、あなたがコントロールする土地でないパーマネント1つを対象とし、あなたがコントロールしていない土地でないパーマネントを最大2つまで対象とする。それらのうち無作為に選んだ1つを破壊する。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of your upkeep, choose target nonland permanent you control and up to two target nonland permanents you don’t control. Destroy one of them at random.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[At the beginning of your upkeep, choose target nonland permanent you control and up to two target nonland permanents you don’t control. Destroy one of them at random.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[At the beginning of your upkeep, choose target nonland permanent you control and up to two target nonland permanents you don’t control. Destroy one of them at random.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
return MTG():GetStep() == STEP_UPKEEP
</TRIGGER>
<SFX text="TARGET_BLADE_PLAY" />
<TARGET tag="CARD_QUERY_CHOOSE_NONLAND_PERMANENT_TO_DESTROY" definition="0" compartment="1" count="2" up_to="1"/>
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:Add( FE_IS_PERMANENT, true )
filter:Add( FE_TYPE, OP_NOT, CARD_TYPE_LAND )
filter:Add( FE_CONTROLLER, OP_NOT, EffectController() )
</TARGET_DEFINITION>
<TARGET tag="CARD_QUERY_CHOOSE_NONLAND_PERMANENT_TO_DESTROY" definition="1" compartment="0" count="1"/>
<TARGET_DEFINITION id="1">
local filter = ClearFilter()
filter:Add( FE_IS_PERMANENT, true )
filter:Add( FE_TYPE, OP_NOT, CARD_TYPE_LAND )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
target:Destroy()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target_one = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
local target_two = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
local target_three = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(1)
local count = 0
if target_one ~= nil then
count = count + 1
end
if target_two ~= nil then
count = count + 1
end
if target_three ~= nil then
count = count + 1
end
if count > 0 then
local random = MTG():RandomNumberBetween(1,count)
if target_one ~= nil then
if random == 1 then
target_one:Destroy()
return
end
end
if target_two ~= nil then
if random == 2 then
target_two:Destroy()
return
end
end
if target_three ~= nil then
if random == 3 then
target_three:Destroy()
return
end
end
end
</RESOLUTION_TIME_ACTION>
<SFX text="TARGET_FLAME_PLAY" />
</TRIGGERED_ABILITY>
(in Duels 2014)
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
-
GrovyleXShinyCelebi - Posts: 294
- Joined: 12 Jun 2013, 18:23
- Has thanked: 14 times
- Been thanked: 37 times
Re: General DotP 2014 Coding Questions
by MC Brodie » 03 Nov 2013, 19:18
You have a Resolution Time Action block directly after the Target ID #1 block that destroys the target in compartment 0.
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
Song of the Day: 46 and 2 (cover)
Re: General DotP 2014 Coding Questions
by GrovyleXShinyCelebi » 03 Nov 2013, 19:22
Aah! Stupid mistake #9001 Many apologies, I'm trying to get 21 decks done as fast as possible
But in all seriousness, what's the difference between the two methods of choosing a target randomly (reducing "random" variable to 0 and just outright choosing "if random is 1 destroy X")? Why does the first seem to work but the second doesn't?
But in all seriousness, what's the difference between the two methods of choosing a target randomly (reducing "random" variable to 0 and just outright choosing "if random is 1 destroy X")? Why does the first seem to work but the second doesn't?
(in Duels 2014)
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
-
GrovyleXShinyCelebi - Posts: 294
- Joined: 12 Jun 2013, 18:23
- Has thanked: 14 times
- Been thanked: 37 times
Re: General DotP 2014 Coding Questions
by thefiremind » 03 Nov 2013, 20:39
To be honest I'm not sure about it, but I see that Bloodbraid Elf uses Remove_RandomCardPtr in order to get a random pointer from a chest, so the following code should work and be a sure hit:GrovyleXShinyCelebi wrote:what's the difference between the two methods of choosing a target randomly (reducing "random" variable to 0 and just outright choosing "if random is 1 destroy X")? Why does the first seem to work but the second doesn't?
- Code: Select all
<RESOLUTION_TIME_ACTION>
local target_one = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
local target_two = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
local target_three = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(1)
local count = 0
local chest = EffectDC():Make_Chest(2)
if target_one ~= nil then
chest:Set_CardPtr(count, target_one)
count = count + 1
end
if target_two ~= nil then
chest:Set_CardPtr(count, target_two)
count = count + 1
end
if target_three ~= nil then
chest:Set_CardPtr(count, target_three)
count = count + 1
end
if count > 0 then
local random = chest:Remove_RandomCardPtr()
if random ~= nil then
random:Destroy()
end
end
</RESOLUTION_TIME_ACTION>
< 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: 721 times
Re: General DotP 2014 Coding Questions
by GrovyleXShinyCelebi » 06 Nov 2013, 01:03
Hey mate, another quick debug question since I'm a little short on time today (apologies for bothering you on what might be another stupid mistake)
Know what might be wrong with Deus of Calamity here?
Know what might be wrong with Deus of Calamity here?
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="DEUS_OF_CALAMITY_99373363" />
<CARDNAME text="DEUS_OF_CALAMITY" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Deus of Calamity]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Deus of Calamity]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Deus of Calamity]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Deus of Calamity]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Deus of Calamity]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[災難の大神]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Deus of Calamity]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Deus of Calamity]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Deus of Calamity]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="99373363" />
<ARTID value="111663" />
<ARTIST name="Todd Lockwood" />
<CASTING_COST cost="{R/G}{R/G}{R/G}{R/G}{R/G}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“He bears the marks of ages upon his skin, memories of dreams long dead and best left buried.”
—The Seer’s Parables]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[“He bears the marks of ages upon his skin, memories of dreams long dead and best left buried.”
—The Seer’s Parables]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“He bears the marks of ages upon his skin, memories of dreams long dead and best left buried.”
—The Seer’s Parables]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[“He bears the marks of ages upon his skin, memories of dreams long dead and best left buried.”
—The Seer’s Parables]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“He bears the marks of ages upon his skin, memories of dreams long dead and best left buried.”
—The Seer’s Parables]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「彼は肌に、死して永く忘れ去った方が望ましい歳月の印を帯びている。」
――「予見者の寓話」]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“He bears the marks of ages upon his skin, memories of dreams long dead and best left buried.”
—The Seer’s Parables]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[“He bears the marks of ages upon his skin, memories of dreams long dead and best left buried.”
—The Seer’s Parables]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“He bears the marks of ages upon his skin, memories of dreams long dead and best left buried.”
—The Seer’s Parables]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Spirit" />
<SUB_TYPE metaname="Avatar" />
<EXPANSION value="DDL" />
<RARITY metaname="R" />
<POWER value="6" />
<TOUGHNESS value="6" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Trample]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Piétinement]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Arrolla.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Verursacht Trampelschaden]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Travolgere]]></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[Atropelar]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_TRAMPLE" />
</STATIC_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Deus of Calamity deals 6 or more damage to an opponent, destroy target land that player controls.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Whenever Deus of Calamity deals 6 or more damage to an opponent, destroy target land that player controls.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever Deus of Calamity deals 6 or more damage to an opponent, destroy target land that player controls.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever Deus of Calamity deals 6 or more damage to an opponent, destroy target land that player controls.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta il Dio delle Calamità infligge 6 o più danni a un avversario, distruggi una terra bersaglio controllata da quel giocatore.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever Deus of Calamity deals 6 or more damage to an opponent, destroy target land that player controls.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever Deus of Calamity deals 6 or more damage to an opponent, destroy target land that player controls.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever Deus of Calamity deals 6 or more damage to an opponent, destroy target land that player controls.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever Deus of Calamity deals 6 or more damage to an opponent, destroy target land that player controls.]]></LOCALISED_TEXT>
<SFX text="TARGET_BLUNT_PLAY" />
<TRIGGER value="SOURCE_DEALS_DAMAGE_TO_PLAYER" simple_qualifier="self" damage_type="all" >
return (Damage():GetAmount() > 5) and (SecondaryPlayer():GetTeam() == EffectController():GetTeam())
</TRIGGER>
<TARGET tag="CARD_QUERY_CHOOSE_LAND_TO_DESTROY" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
if SecondaryPlayer() ~= nil then
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
filter:Add( FE_CONTROLLER, OP_IS, SecondaryPlayer() )
end
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
target:Destroy()
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<HELP title="MORE_INFO_BADGE_TITLE_1" body="MORE_INFO_BADGE_BODY_1" zone="ZONE_ANY" />
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
(in Duels 2014)
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
-
GrovyleXShinyCelebi - Posts: 294
- Joined: 12 Jun 2013, 18:23
- Has thanked: 14 times
- Been thanked: 37 times
Re: General DotP 2014 Coding Questions
by RiiakShiNal » 06 Nov 2013, 01:16
You are triggering only when it deals damage to a player on the same team as EffectController() (which in general this card should not be able to do). It should check to see that the SecondaryPlayer():GetTeam() ~= EffectController():GetTeam().
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2185
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: General DotP 2014 Coding Questions
by GrovyleXShinyCelebi » 07 Nov 2013, 00:39
Alright, I got another card I need help debugging, Vengeful Rebirth.
Apologies for all this, I'm making quite a few cards at once.
Apologies for all this, I'm making quite a few cards at once.
- Code: Select all
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, Vengeful Rebirth deals damage equal to that card’s converted mana cost to target creature or player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Renvoyez une carte ciblée depuis votre cimetière dans votre main. Si vous renvoyez une carte non-terrain dans votre main de cette manière, la Renaissance vengeresse inflige à une cible, créature ou joueur, un nombre de blessures égal au coût converti de mana de cette carte.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Regresa la carta objetivo de tu cementerio a tu mano. Si regresas una carta que no sea tierra a tu mano de esta manera, el Renacimiento vengativo hace daño a la criatura o jugador objetivo igual al coste de maná convertido de esa carta. ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bringe eine Karte deiner Wahl aus deinem Friedhof auf deine Hand zurück. Falls du auf diese Weise eine Karte auf deine Hand zurückbringst, die kein Land ist, fügt Rachsüchtige Wiedergeburt einer Kreatur oder einem Spieler deiner Wahl Schadenspunkte in Höhe der umgewandelten Manakosten dieser Karte zu.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Riprendi in mano una carta bersaglio dal tuo cimitero. Se riprendi in mano una carta non terra in questo modo, la Rinascita Vendicativa infligge danno pari al costo di mana convertito di quella carta a una creatura o a un giocatore bersaglio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたの墓地にあるカード1枚を対象とし、クリーチャー1体かプレイヤー1人を対象とする。その前者をあなたの手札に戻す。 これにより土地でないカードをあなたの手札に戻した場合、復讐に燃えた再誕はそのクリーチャーやプレイヤーに、そのカードの点数で見たマナ・コストに等しい点数のダメージを与える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, Vengeful Rebirth deals damage equal to that card’s converted mana cost to target creature or player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, Vengeful Rebirth deals damage equal to that card’s converted mana cost to target creature or player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, Vengeful Rebirth deals damage equal to that card’s converted mana cost to target creature or player.]]></LOCALISED_TEXT>
<SFX text="TARGET_PESTS_PLAY" />
<TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_RETURN" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetZone( ZONE_GRAVEYARD, EffectController() )
</TARGET_DEFINITION>
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_DAMAGE" definition="1" compartment="1">
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
if target:GetCardType():Test( CARD_TYPE_LAND ) == false then
MTG():SetTargetCount(1)
return
end
end
MTG():SetTargetCount(0)
</TARGET>
<TARGET_DEFINITION id="1">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_CARDS + FILTER_TYPE_PLAYERS )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local tarjeta = EffectDC():Get_Targets(0):Get_CardPtr(0)
if tarjeta ~= nil then
local target = EffectDC():Get_Targets(1):Get_CardPtr(0)
local player = EffectDC():Get_Targets(1):Get_PlayerPtr(0)
local cmc = tarjeta:GetConvertedManaCost()
if target ~= nil then
EffectSourceLKI():DealDamageTo( cmc, target )
elseif player ~= nil then
EffectSourceLKI():DealDamageTo( cmc, player )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
target:PutInHand()
end
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
(in Duels 2014)
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
-
GrovyleXShinyCelebi - Posts: 294
- Joined: 12 Jun 2013, 18:23
- Has thanked: 14 times
- Been thanked: 37 times
Re: General DotP 2014 Coding Questions
by thefiremind » 07 Nov 2013, 00:45
The first two questions are from my PM inbox, but I like answers to be public when other people can get a benefit from them.
Here is a good article to read.
I'll recicle an old answer:GrovyleXShinyCelebi wrote:-What does the "replacement_effect" and "pre_trigger" tags do, exactly? I noticed I need the former for damage redirection/manipulation effects and effects that take place in ZONE_TRANSITION, and I'm curious about in what other situations should I use them.
I was sure I already had explained pre_trigger, too, but I can't find where, so: pre_trigger makes the trigger start before the event actually happens. This is useful everytime you need to change something about the event: for example, if you waited for damage to be actually dealt, you couldn't prevent it, that's why pre_trigger is needed.thefiremind wrote:This is the "official" explanation of what a replacement effect is in Magic, but using replacement_effect="1" has a wider purpose: it makes the triggered ability totally transparent to the players. The card doesn't glow not even for a moment, players can't respond to it, and triggers (some of them or all of them, I'm not totally sure) can't be triggered inside it. So it's useful not only for replacement effects, but also for any ability that we need to hide from the players (like wiping a register at the end of each turn).MC Brodie wrote:replacement_effect="1" means whenever a certain effect occurs, there is an effect or action that replaces the first effect.
Don't forget that there's also replacement_query="1" that is basically the same, but allows to ask for queries inside the ability (with replacement_effect="1" the queries don't work properly).
It's not cumbersome, it's fundamental: layers exist in the official Magic rules and they define the order in which the effects are applied. Why do you get a 4/4 even if you play Giant Growth before Turn to Frog on a creature? Because P/T modifiers are applied after P/T setters. How can the game know that? By checking the layers: Giant Growth acts on 7C, Turn to Frog on 7B (for the P/T part). Continuous actions are re-evaluated continuously all together, so they are the only ones that need ordering... resolution time actions act one-shot and one by one so an order wouldn't make any sense. The only differences between DotP and real Magic are layer 7D and 8: 7D should be used for P/T changing through counters, but DotP manages that automatically so layer 7D isn't needed. Layer 8 doesn't exist in real Magic, but it's handy in DotP when adding characteristics that don't follow the layer system. (There's also layer 3 that we can't use in DotP because it's for text changing effects, but since we are totally missing the chance to manage those effects, I'm just forgetting about it.)GrovyleXShinyCelebi wrote:-What abilities are affected by layers, anyways, if any? Just wondering because it seems cumbersome to put layers on every CONTINUOUS_ACTION. And why is it that only CONTINUOUS_ACTION blocks seem to have layers?
Here is a good article to read.
Just forget about the SetTargetCount thing: you need to choose all the targets for the spell anyway, then you'll deal damage to the second target if the first target was a nonland card, but that should be checked on resolution. And yes there's a scenario where it counts: even with only lands in your graveyard, you can use Vengeful Rebirth to kill a Phantasmal Image.GrovyleXShinyCelebi wrote:Alright, I got another card I need help debugging, Vengeful Rebirth.
< 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: 721 times
Re: General DotP 2014 Coding Questions
by MC Brodie » 07 Nov 2013, 03:29
Your original pre_trigger explanation for Sigarda, Host of Herons in the FRT found here (well I think it's the original you are referring to)
thefiremind wrote:When a TRIGGERED_ABILITY has replacement_effect="1" (or internal="1" in the previous DotP games) and pre_trigger="1" and no resolution, its trigger implicitly overrides the event that caused the trigger. This particular trigger, for example, overrides the sacrifice.MC Brodie wrote:I understand how the 2nd - 5th triggers work with the first one, but what I don't understand is how the first trigger does anything without a Resolution TIme Action block?
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
Song of the Day: 46 and 2 (cover)
Re: General DotP 2014 Coding Questions
by thefiremind » 07 Nov 2013, 09:40
No, it wasn't this one, but thanks anyway for searching. This was the explanation of a particular scenario involving pre_trigger (replacement + pre_trigger + no resolution = automatic override of the event).MC Brodie wrote:Your original pre_trigger explanation for Sigarda, Host of Herons in the FRT found here (well I think it's the original you are referring to)
-----------------------------------------------------------------------
Another PM question:
With interrogations you can usually do what you can come up with by combining the INTERROGATE constants that you can find here. There's a chance that what you'd like to do is impossible, though, because not every combination asks for a result that the game actually counts. For example I tried to count the elapsed turns by interrogating the amount of elapsed end phases with INTERROGATE_COUNT_PHASES and INTERROGATE_THIS_GAME, but the result was always 0, because the game probably doesn't keep count of the elapsed phases for the whole duel. In short, look at the existing cards, see how they count something, try to modify the constants and the objects involved until you manage to ask for the result you need, then test it in game. If it works, you're set; if not, you'll have to keep count of that result some other way.GrovyleXShinyCelebi wrote:Also, can you give me a brief explanation of how interrogations work? I've been trying to make cards like Maelstrom Nexus, Tainted Sigil that require me to "interrogate" for stuff like life lost per turn, first spell played, etc, (according to official cards) and I want to learn what other stuff can I use interrogations to, well, interrogate, and how should I use them so I can use them myself.
< 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: 721 times
Re: General DotP 2014 Coding Questions
by GrovyleXShinyCelebi » 04 Dec 2013, 22:37
Hey mate, I have a question.
Is there anything wrong with the Lys Alana Huntmaster shown below:
Is there anything wrong with the Lys Alana Huntmaster shown below:
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="LYS_ALANA_HUNTMASTER_99158125" />
<CARDNAME text="LYS_ALANA_HUNTMASTER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Lys Alana Huntmaster]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Lys Alana Huntmaster]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Lys Alana Huntmaster]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lys Alana Huntmaster]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Lys Alana Huntmaster]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Lys Alana Huntmaster]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Lys Alana Huntmaster]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Lys Alana Huntmaster]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Lys Alana Huntmaster]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="158125" />
<ARTID value="105324" />
<ARTIST name="Pete Venters" />
<CASTING_COST cost="{2}{G}{G}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[From the highest tiers of Dawn’s Light Palace to the deepest shade of Wren’s Run, the silver notes of the horn shimmer through the air, and all who hear it feel its pull.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[From the highest tiers of Dawn’s Light Palace to the deepest shade of Wren’s Run, the silver notes of the horn shimmer through the air, and all who hear it feel its pull.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[From the highest tiers of Dawn’s Light Palace to the deepest shade of Wren’s Run, the silver notes of the horn shimmer through the air, and all who hear it feel its pull.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[From the highest tiers of Dawn’s Light Palace to the deepest shade of Wren’s Run, the silver notes of the horn shimmer through the air, and all who hear it feel its pull.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[From the highest tiers of Dawn’s Light Palace to the deepest shade of Wren’s Run, the silver notes of the horn shimmer through the air, and all who hear it feel its pull.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[From the highest tiers of Dawn’s Light Palace to the deepest shade of Wren’s Run, the silver notes of the horn shimmer through the air, and all who hear it feel its pull.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[From the highest tiers of Dawn’s Light Palace to the deepest shade of Wren’s Run, the silver notes of the horn shimmer through the air, and all who hear it feel its pull.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[From the highest tiers of Dawn’s Light Palace to the deepest shade of Wren’s Run, the silver notes of the horn shimmer through the air, and all who hear it feel its pull.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[From the highest tiers of Dawn’s Light Palace to the deepest shade of Wren’s Run, the silver notes of the horn shimmer through the air, and all who hear it feel its pull.]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Elf" />
<SUB_TYPE metaname="Warrior" />
<EXPANSION value="EVG" />
<RARITY metaname="C" />
<POWER value="3" />
<TOUGHNESS value="3" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you cast an Elf spell, you may put a 1/1 green Elf Warrior creature token onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Whenever you cast an Elf spell, you may put a 1/1 green Elf Warrior creature token onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever you cast an Elf spell, you may put a 1/1 green Elf Warrior creature token onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever you cast an Elf spell, you may put a 1/1 green Elf Warrior creature token onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta lanci una magia Elfo, puoi mettere sul campo di battaglia una pedina creatura Guerriero Elfo 1/1 verde.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever you cast an Elf spell, you may put a 1/1 green Elf Warrior creature token onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you cast an Elf spell, you may put a 1/1 green Elf Warrior creature token onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever you cast an Elf spell, you may put a 1/1 green Elf Warrior creature token onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever you cast an Elf spell, you may put a 1/1 green Elf Warrior creature token onto the battlefield.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
return TriggerObject():GetSubType():Test( CREATURE_TYPE_ELF )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
MTG():PutTokensOntoBattlefield( "TOKEN_ELF_WARRIOR_1_1_G_350753", 1, EffectController() )
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="TOKEN_ELF_WARRIOR_1_1_G_350753" />
<SFX text="COMBAT_CHOP_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_CHOP_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
<AI_BASE_SCORE score="1050" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
(in Duels 2014)
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
-
GrovyleXShinyCelebi - Posts: 294
- Joined: 12 Jun 2013, 18:23
- Has thanked: 14 times
- Been thanked: 37 times
Who is online
Users browsing this forum: No registered users and 43 guests