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 hinesassociates » 21 Oct 2014, 23:31
Cool. Thanks. Sorry for the off topic.
- hinesassociates
- Posts: 18
- Joined: 07 Oct 2014, 23:59
- Has thanked: 8 times
- Been thanked: 0 time
Re: Formal Request Thread
by hinesassociates » 22 Oct 2014, 19:01
So I had figured it would be impossible to code the Frenetic Sliver because of the coin toss until I that there was a coin flip already in game. I used a combination of Scoria Wurm and Aetherling to try and make the template for the Frenetic Sliver. I hit a couple issues.
Right now if the flip goes to the squigly line (not sure if this is win or lose lol) it will exile the card and puts it back at the beginning of the next end step. That works great except that I think that is actually a losing toss. If the coin lands with the other side up it does nothing. Anyway here is the code. Any help would be much appreciated.
Right now if the flip goes to the squigly line (not sure if this is win or lose lol) it will exile the card and puts it back at the beginning of the next end step. That works great except that I think that is actually a losing toss. If the coin lands with the other side up it does nothing. Anyway here is the code. Any help would be much appreciated.
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="FRENETIC_SLIVER_111126011" />
<CARDNAME text="FRENETIC_SLIVER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slivoïde frénétique]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fragmentado frenético]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Frenetischer Remasuri]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tramutante Frenetico]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[熱狂スリヴァー]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Неистовая Щепка]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fractius Frenético]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="111126011" />
<ARTID value="111126011" />
<ARTIST name="Luca Zontini" />
<CASTING_COST cost="{U}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Sliver" />
<EXPANSION value="PLC" />
<RARITY metaname="U" />
<POWER value="2" />
<TOUGHNESS value="2" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tous les slivoïdes ont « {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Todos los fragmentados tienen “{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Alle Remasuris haben „{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutti i Tramutanti hanno “{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[すべてのスリヴァーは「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Все Щепки имеют способность «{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Todos os Fractius têm “{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<CONTINUOUS_ACTION layer="8" filter_id="0">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:GrantAbility(1)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<RESOLUTION_TIME_ACTION>
EffectController():FlipCoin()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil and EffectController():GetFlipResult() ~= COIN_FLIP_WIN then
local source = EffectSource()
if source ~= nil then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
end
elseif EffectSource() ~= nil and EffectController():GetFlipResult() ~= COIN_FLIP_LOSE then
local source = EffectSource()
if source ~= nil then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
Source:Sacrifice(Source)
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_CardPtr(0, source)
MTG():CreateDelayedTrigger(2, delayDC)
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" response_source="1" />
</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 card = EffectDC():Get_CardPtr(0)
if card ~= nil then
card:PutOntoBattlefield( card:GetOwner() )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<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>
- Code: Select all
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:17: attempt to index global 'Source' (a nil value)
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:17: attempt to index global 'Source' (a nil value)
- hinesassociates
- Posts: 18
- Joined: 07 Oct 2014, 23:59
- Has thanked: 8 times
- Been thanked: 0 time
Re: Formal Request Thread
by Xander9009 » 22 Oct 2014, 20:16
~ means not, so ~= means not equal, and finally, GetFlipResult() ~= COIN_FLIP_WIN means 'flip result is not win' so you're correct that they should be reversed. Replace ~= with ==.hinesassociates wrote:So I had figured it would be impossible to code the Frenetic Sliver because of the coin toss until I that there was a coin flip already in game. I used a combination of Scoria Wurm and Aetherling to try and make the template for the Frenetic Sliver. I hit a couple issues.
Right now if the flip goes to the squigly line (not sure if this is win or lose lol) it will exile the card and puts it back at the beginning of the next end step. That works great except that I think that is actually a losing toss. If the coin lands with the other side up it does nothing. Anyway here is the code. Any help would be much appreciated.Also I am getting a lua error on exit. Here is the error.
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="FRENETIC_SLIVER_111126011" />
<CARDNAME text="FRENETIC_SLIVER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slivoïde frénétique]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fragmentado frenético]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Frenetischer Remasuri]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tramutante Frenetico]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[熱狂スリヴァー]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Неистовая Щепка]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fractius Frenético]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="111126011" />
<ARTID value="111126011" />
<ARTIST name="Luca Zontini" />
<CASTING_COST cost="{U}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Sliver" />
<EXPANSION value="PLC" />
<RARITY metaname="U" />
<POWER value="2" />
<TOUGHNESS value="2" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tous les slivoïdes ont « {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Todos los fragmentados tienen “{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Alle Remasuris haben „{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutti i Tramutanti hanno “{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[すべてのスリヴァーは「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Все Щепки имеют способность «{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Todos os Fractius têm “{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<CONTINUOUS_ACTION layer="8" filter_id="0">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:GrantAbility(1)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<RESOLUTION_TIME_ACTION>
EffectController():FlipCoin()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil and EffectController():GetFlipResult() ~= COIN_FLIP_WIN then
local source = EffectSource()
if source ~= nil then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
end
elseif EffectSource() ~= nil and EffectController():GetFlipResult() ~= COIN_FLIP_LOSE then
local source = EffectSource()
if source ~= nil then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
Source:Sacrifice(Source)
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_CardPtr(0, source)
MTG():CreateDelayedTrigger(2, delayDC)
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" response_source="1" />
</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 card = EffectDC():Get_CardPtr(0)
if card ~= nil then
card:PutOntoBattlefield( card:GetOwner() )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<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>
- Code: Select all
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:17: attempt to index global 'Source' (a nil value)
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:17: attempt to index global 'Source' (a nil value)
Your errors are because LUA is a language in which capitalization matters. You create a variable called "source" and then use a variable called "Source". They have the same letters but because one is capitalized and the other isn't, they're two different variables.
This is the same code, just a little cleaned up (removed a bit of redundancy). Try it if you want (otherwise, just fixing the source/Source and ~=/== should make it work as expected).
- | Open
- Code: Select all
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
if EffectController():GetFlipResult() == COIN_FLIP_WIN then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
else
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Sacrifice(source)
end
end
</RESOLUTION_TIME_ACTION>
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-
Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Formal Request Thread
by hinesassociates » 22 Oct 2014, 22:21
Thanks. That fixed the flip being correct. Now the only problem is that if you lose the flip it does nothing...Xander9009 wrote:~ means not, so ~= means not equal, and finally, GetFlipResult() ~= COIN_FLIP_WIN means 'flip result is not win' so you're correct that they should be reversed. Replace ~= with ==.hinesassociates wrote:So I had figured it would be impossible to code the Frenetic Sliver because of the coin toss until I that there was a coin flip already in game. I used a combination of Scoria Wurm and Aetherling to try and make the template for the Frenetic Sliver. I hit a couple issues.
Right now if the flip goes to the squigly line (not sure if this is win or lose lol) it will exile the card and puts it back at the beginning of the next end step. That works great except that I think that is actually a losing toss. If the coin lands with the other side up it does nothing. Anyway here is the code. Any help would be much appreciated.Also I am getting a lua error on exit. Here is the error.
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="FRENETIC_SLIVER_111126011" />
<CARDNAME text="FRENETIC_SLIVER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slivoïde frénétique]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fragmentado frenético]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Frenetischer Remasuri]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tramutante Frenetico]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[熱狂スリヴァー]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Неистовая Щепка]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fractius Frenético]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="111126011" />
<ARTID value="111126011" />
<ARTIST name="Luca Zontini" />
<CASTING_COST cost="{U}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Sliver" />
<EXPANSION value="PLC" />
<RARITY metaname="U" />
<POWER value="2" />
<TOUGHNESS value="2" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tous les slivoïdes ont « {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Todos los fragmentados tienen “{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Alle Remasuris haben „{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutti i Tramutanti hanno “{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[すべてのスリヴァーは「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Все Щепки имеют способность «{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Todos os Fractius têm “{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<CONTINUOUS_ACTION layer="8" filter_id="0">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:GrantAbility(1)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<RESOLUTION_TIME_ACTION>
EffectController():FlipCoin()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil and EffectController():GetFlipResult() ~= COIN_FLIP_WIN then
local source = EffectSource()
if source ~= nil then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
end
elseif EffectSource() ~= nil and EffectController():GetFlipResult() ~= COIN_FLIP_LOSE then
local source = EffectSource()
if source ~= nil then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
Source:Sacrifice(Source)
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_CardPtr(0, source)
MTG():CreateDelayedTrigger(2, delayDC)
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" response_source="1" />
</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 card = EffectDC():Get_CardPtr(0)
if card ~= nil then
card:PutOntoBattlefield( card:GetOwner() )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<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>
- Code: Select all
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:17: attempt to index global 'Source' (a nil value)
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:17: attempt to index global 'Source' (a nil value)
Your errors are because LUA is a language in which capitalization matters. You create a variable called "source" and then use a variable called "Source". They have the same letters but because one is capitalized and the other isn't, they're two different variables.
This is the same code, just a little cleaned up (removed a bit of redundancy). Try it if you want (otherwise, just fixing the source/Source and ~=/== should make it work as expected).
- | Open
- Code: Select all
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
if EffectController():GetFlipResult() == COIN_FLIP_WIN then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
else
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Sacrifice(source)
end
end
</RESOLUTION_TIME_ACTION>
Also I am getting this error on exit.
- Code: Select all
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:13: attempt to call method 'Sacrifice' (a nil value)
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:13: attempt to call method 'Sacrifice' (a nil value)
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:13: attempt to call method 'Sacrifice' (a nil value)
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="FRENETIC_SLIVER_111126011" />
<CARDNAME text="FRENETIC_SLIVER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slivoïde frénétique]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fragmentado frenético]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Frenetischer Remasuri]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tramutante Frenetico]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[熱狂スリヴァー]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Неистовая Щепка]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fractius Frenético]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="111126011" />
<ARTID value="111126011" />
<ARTIST name="Luca Zontini" />
<CASTING_COST cost="{U}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Sliver" />
<EXPANSION value="PLC" />
<RARITY metaname="U" />
<POWER value="2" />
<TOUGHNESS value="2" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tous les slivoïdes ont « {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Todos los fragmentados tienen “{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Alle Remasuris haben „{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutti i Tramutanti hanno “{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[すべてのスリヴァーは「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Все Щепки имеют способность «{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Todos os Fractius têm “{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<CONTINUOUS_ACTION layer="8" filter_id="0">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:GrantAbility(1)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<RESOLUTION_TIME_ACTION>
EffectController():FlipCoin()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
if EffectController():GetFlipResult() == COIN_FLIP_WIN then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
else
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Sacrifice(source)
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_CardPtr(0, source)
MTG():CreateDelayedTrigger(2, delayDC)
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" response_source="1" />
</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 card = EffectDC():Get_CardPtr(0)
if card ~= nil then
card:PutOntoBattlefield( card:GetOwner() )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<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>
- hinesassociates
- Posts: 18
- Joined: 07 Oct 2014, 23:59
- Has thanked: 8 times
- Been thanked: 0 time
Re: Formal Request Thread
by Xander9009 » 22 Oct 2014, 22:44
Sorry, I didn't catch it. Sacrifice is called on a player with a card as a parameter. Player:Sacrifice(Card). So, the sacrifice line should be "EffectController():Sacrifice(source)"hinesassociates wrote:Thanks. That fixed the flip being correct. Now the only problem is that if you lose the flip it does nothing...
Also I am getting this error on exit.Here is the code for the card now...
- Code: Select all
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:13: attempt to call method 'Sacrifice' (a nil value)
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:13: attempt to call method 'Sacrifice' (a nil value)
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:13: attempt to call method 'Sacrifice' (a nil value)
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="FRENETIC_SLIVER_111126011" />
<CARDNAME text="FRENETIC_SLIVER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slivoïde frénétique]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fragmentado frenético]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Frenetischer Remasuri]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tramutante Frenetico]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[熱狂スリヴァー]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Неистовая Щепка]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fractius Frenético]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="111126011" />
<ARTID value="111126011" />
<ARTIST name="Luca Zontini" />
<CASTING_COST cost="{U}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Sliver" />
<EXPANSION value="PLC" />
<RARITY metaname="U" />
<POWER value="2" />
<TOUGHNESS value="2" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tous les slivoïdes ont « {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Todos los fragmentados tienen “{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Alle Remasuris haben „{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutti i Tramutanti hanno “{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[すべてのスリヴァーは「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Все Щепки имеют способность «{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Todos os Fractius têm “{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<CONTINUOUS_ACTION layer="8" filter_id="0">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:GrantAbility(1)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<RESOLUTION_TIME_ACTION>
EffectController():FlipCoin()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
if EffectController():GetFlipResult() == COIN_FLIP_WIN then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
else
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Sacrifice(source)
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_CardPtr(0, source)
MTG():CreateDelayedTrigger(2, delayDC)
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" response_source="1" />
</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 card = EffectDC():Get_CardPtr(0)
if card ~= nil then
card:PutOntoBattlefield( card:GetOwner() )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<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>
EDIT: Oh, also, it won't cause problems being there, but the card protection in the sacrifice section isn't needed. You can remove that to clean up the code. The pointer only needs protected if the card needs to be returned or otherwise used after changing zones.
- This should work | Open
- Code: Select all
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
if EffectController():GetFlipResult() == COIN_FLIP_WIN then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
else
EffectController():Sacrifice(source)
end
end
</RESOLUTION_TIME_ACTION>
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-
Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Formal Request Thread
by hinesassociates » 22 Oct 2014, 23:23
Ah! Ok. Much Better. Works great now. Thanks!Xander9009 wrote:Sorry, I didn't catch it. Sacrifice is called on a player with a card as a parameter. Player:Sacrifice(Card). So, the sacrifice line should be "EffectController():Sacrifice(source)"hinesassociates wrote:Thanks. That fixed the flip being correct. Now the only problem is that if you lose the flip it does nothing...
Also I am getting this error on exit.Here is the code for the card now...
- Code: Select all
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:13: attempt to call method 'Sacrifice' (a nil value)
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:13: attempt to call method 'Sacrifice' (a nil value)
[lua] [string "FRENETIC_SLIVER_111126011_TITLE (RESOLUTION_TIME_ACTION)~0x000002cd"]:13: attempt to call method 'Sacrifice' (a nil value)
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="FRENETIC_SLIVER_111126011" />
<CARDNAME text="FRENETIC_SLIVER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slivoïde frénétique]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Fragmentado frenético]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Frenetischer Remasuri]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tramutante Frenetico]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[熱狂スリヴァー]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Frenetic Sliver]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Неистовая Щепка]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fractius Frenético]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="111126011" />
<ARTID value="111126011" />
<ARTIST name="Luca Zontini" />
<CASTING_COST cost="{U}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Sliver" />
<EXPANSION value="PLC" />
<RARITY metaname="U" />
<POWER value="2" />
<TOUGHNESS value="2" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tous les slivoïdes ont « {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Todos los fragmentados tienen “{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Alle Remasuris haben „{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tutti i Tramutanti hanno “{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[すべてのスリヴァーは「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[All Slivers have “{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Все Щепки имеют способность «{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Todos os Fractius têm “{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<CONTINUOUS_ACTION layer="8" filter_id="0">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:GrantAbility(1)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« {0} : Si cette créature est en jeu, jouez à pile ou face. Si vous gagnez, retirez cette créature de la partie et renvoyez-la en jeu sous le contrôle de son propriétaire à la fin du tour. Si vous perdez, sacrifiez-la. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“{0}: Si esta criatura está en juego, lanza una moneda. Si ganas el lanzamiento, remueve del juego a esta criatura y regrésala al juego bajo el control de su propietario al final del turno. Si pierdes el lanzamiento, sacrifícala”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„{0}: Ist diese Kreatur im Spiel, wirf eine Münze. Falls du den Münzwurf gewinnst, entferne diese Kreatur ganz aus dem Spiel und bringe sie am Ende des Zuges unter der Kontrolle ihres Besitzers ins Spiel zurück. Falls du den Münzwurf verlierst, opfere sie.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“{0}: Se questo permanente è nel campo di battaglia, lancia una moneta. Se vinci il lancio, esilia questo permanente e rimettilo nel campo di battaglia sotto il controllo del suo proprietario all’inizio della prossima sottofase finale. Se perdi il lancio, sacrificalo.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「{0}:このクリーチャーが場にいる場合、コイン投げをする。 あなたがコイン投げに勝った場合、このクリーチャーをゲームから取り除き、ターン終了時にそれのオーナーのコントロール下で場に戻す。 あなたがコイン投げに負けた場合、それを生け贄に捧げる。」の能力を持つ。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner’s control at the beginning of the next end step. If you lose the flip, sacrifice it.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«{0}: Если это существо в игре, бросьте монетку. Если вы выиграли бросок, удалите это существо из игры и верните его в игру под контролем владельца в конце хода. Если вы проиграли бросок, пожертвуйте его».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“{0}: Se esta criatura estiver em jogo, jogue uma moeda. Se você vencer, remova esta criatura do jogo e, no final do turno, devolva-a ao jogo sob o controle de seu dono. Se você perder, sacrifique-a.”]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SLIVER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</FILTER>
<RESOLUTION_TIME_ACTION>
EffectController():FlipCoin()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
if EffectController():GetFlipResult() == COIN_FLIP_WIN then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
else
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Sacrifice(source)
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_CardPtr(0, source)
MTG():CreateDelayedTrigger(2, delayDC)
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" response_source="1" />
</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 card = EffectDC():Get_CardPtr(0)
if card ~= nil then
card:PutOntoBattlefield( card:GetOwner() )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<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>
EDIT: Oh, also, it won't cause problems being there, but the card protection in the sacrifice section isn't needed. You can remove that to clean up the code. The pointer only needs protected if the card needs to be returned or otherwise used after changing zones.
- This should work | Open
- Code: Select all
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source ~= nil then
if EffectController():GetFlipResult() == COIN_FLIP_WIN then
if source:IsToken() == false then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
end
source:Exile()
else
EffectController():Sacrifice(source)
end
end
</RESOLUTION_TIME_ACTION>
- hinesassociates
- Posts: 18
- Joined: 07 Oct 2014, 23:59
- Has thanked: 8 times
- Been thanked: 0 time
Re: Formal Request Thread
by thefiremind » 28 Oct 2014, 23:56
About Oath of Druids, which has been requested by many, the following code should work:
EDIT: Modified so that it reveals the cards.
EDIT 2: Fixed so that it asks the right player whether to use the effect or not.
EDIT 3: Fixed so that it works when the deck contains no creatures.
- Oath of Druids' ability (untested) | Open
- Code: Select all
<TRIGGERED_ABILITY>
-- Localised text omitted
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP">
return MTG():GetStep() == STEP_UPKEEP
</TRIGGER>
<TARGET tag="CARD_QUERY_CHOOSE_OPPONENT" definition="0" compartment="0" count="1">
MTG():SetTargetAnswerer( TriggerPlayer() )
</TARGET>
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType(FILTER_TYPE_PLAYERS)
filter:Add( FE_TEAM, OP_NOT, TriggerPlayer():GetTeam() )
filter:Add( FE_LUA_CONDITION, 1, TriggerPlayer(), EffectDC() )
</TARGET_DEFINITION>
<FILTER_CONDITION id="1">
local opponent = FilteredPlayer()
if opponent ~= nil then
local player = TriggerPlayer()
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_CONTROLLER, OP_IS, player)
local players_creatures = filter:Count()
filter:Clear()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_CONTROLLER, OP_IS, opponent)
local opponents_creatures = filter:Count()
return opponents_creatures > players_creatures
end
</FILTER_CONDITION>
<RESOLUTION_TIME_ACTION>
local player = TriggerPlayer()
local opponent = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil and opponent ~= nil then
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer("UI_CONDITIONAL_QUESTION_YES")
player:AddMultipleChoiceAnswer("UI_CONDITIONAL_QUESTION_NO")
player:AskMultipleChoiceQuestion( "OPTIONAL_ABILITY_QUESTION", Object() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = TriggerPlayer()
local opponent = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil and opponent ~= nil then
EffectDC():Set_Int( 1, 1-player:GetMultipleChoiceResult() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = TriggerPlayer()
local opponent = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil and opponent ~= nil and EffectDC():Get_Int(1) == 1 then
local index = -1
local library_count = player:Library_Count()
for i=0,library_count-1 do
local card = player:Library_GetNth(i)
if card ~= nil then
card:Reveal()
if card:GetCardType():Test(CARD_TYPE_CREATURE) then
index = i
break
end
end
end
EffectDC():Set_Int(2, index)
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = TriggerPlayer()
local opponent = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil and opponent ~= nil and EffectDC():Get_Int(1) == 1 then
local index = EffectDC():Get_Int(2)
if index > -1 then
player:Library_GetNth(index):PutOntoBattlefield(player)
for i=0,index-1 do
local card = player:Library_GetNth(0)
if card ~= nil then
card:PutInGraveyard()
end
end
else
player:MoveLocalZone(ZONE_LIBRARY, ZONE_GRAVEYARD)
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
- Code: Select all
filter:Add( FE_LUA_CONDITION, 1, TriggerPlayer(), EffectDC() )
- Code: Select all
filter:Add( FE_LUA_CONDITION, 1, EffectController(), EffectDC() )
EDIT: Modified so that it reveals the cards.
EDIT 2: Fixed so that it asks the right player whether to use the effect or not.
EDIT 3: Fixed so that it works when the deck contains no creatures.
Last edited by thefiremind on 04 Nov 2014, 19:08, edited 4 times in total.
< 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 » 29 Oct 2014, 00:06
Would be better also to add a Guided Reveal action? Just to let the other players to see what you are moving to the graveyard?
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by thefiremind » 29 Oct 2014, 09:20
GuidedReveal feels annoying for some players when you reveal a lot of cards and they clutter the screen for a long time, so I prefer to use Reveal when possible. Anyway it's a good point, I edited the code so that it uses Reveal for each card before moving them.NeoAnderson wrote:Would be better also to add a Guided Reveal action? Just to let the other players to see what you are moving to the graveyard?
< 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 mamoul » 29 Oct 2014, 18:47
I tested it and it works correctly.thefiremind wrote:About Oath of Druids, which has been requested by many, the following code should work:Note: I don't know if the 3rd argument for the Lua condition filter needs to always be EffectController no matter what, or should be TriggerPlayer this time. I opted for the second. For any kind of problem in choosing the target, first thing to try is to substitute
- Oath of Druids' ability (untested) | Open
- Code: Select all
<TRIGGERED_ABILITY>
-- Localised text omitted
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP">
return MTG():GetStep() == STEP_UPKEEP
</TRIGGER>
<TARGET tag="CARD_QUERY_CHOOSE_OPPONENT" definition="0" compartment="0" count="1">
MTG():SetTargetAnswerer( TriggerPlayer() )
</TARGET>
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType(FILTER_TYPE_PLAYERS)
filter:Add( FE_TEAM, OP_NOT, TriggerPlayer():GetTeam() )
filter:Add( FE_LUA_CONDITION, 1, TriggerPlayer(), EffectDC() )
</TARGET_DEFINITION>
<FILTER_CONDITION id="1">
local opponent = FilteredPlayer()
if opponent ~= nil then
local player = TriggerPlayer()
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_CONTROLLER, OP_IS, player)
local players_creatures = filter:Count()
filter:Clear()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_CONTROLLER, OP_IS, opponent)
local opponents_creatures = filter:Count()
return opponents_creatures > players_creatures
end
</FILTER_CONDITION>
<RESOLUTION_TIME_ACTION>
local player = TriggerPlayer()
local opponent = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil and opponent ~= nil then
local library_count = player:Library_Count()
for i=0,library_count-1 do
local card = player:Library_GetNth(i)
if card ~= nil then
card:Reveal()
if card:GetCardType():Test(CARD_TYPE_CREATURE) then
EffectDC():Set_Int(1, i)
break
end
end
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = TriggerPlayer()
local opponent = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil and opponent ~= nil then
local creature_index = EffectDC():Get_Int(1)
player:Library_GetNth(creature_index):PutOntoBattlefield(player)
for i=0,creature_index-1 do
local card = player:Library_GetNth(0)
if card ~= nil then
card:PutInGraveyard()
end
end
end
</RESOLUTION_TIME_ACTION>
<MAY />
</TRIGGERED_ABILITY>with
- Code: Select all
filter:Add( FE_LUA_CONDITION, 1, TriggerPlayer(), EffectDC() )
and hope for the best.
- Code: Select all
filter:Add( FE_LUA_CONDITION, 1, EffectController(), EffectDC() )
EDIT: Modified so that it reveals the cards.
Thanks of lot for sharing this code

- mamoul
- Posts: 16
- Joined: 27 Oct 2014, 17:20
- Location: France
- Has thanked: 0 time
- Been thanked: 0 time
Re: Formal Request Thread
by fallenangle » 29 Oct 2014, 21:34
I've been trying to code Gemstone Caverns, and it isn't working at all. This is the code I've been using, but I can't seem to get the mana abilities to appear on the card or work properly. Additionally, I get a script error stating that in one of my CONTINUOUS_ACTION blocks, "then" is expected near "=". I'm at a loss for how to fix this. Can any kind soul take a look at my code and set me straight? I would be extremely grateful for any help you could give me.
Here's the code:
Here's the code:
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="GEMSTONE_CAVERNS_122094" />
<CARDNAME text="GEMSTONE_CAVERNS" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Gemstone Caverns]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Cavernes aux gemmes]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cavernas de gemas]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Edelsteinhöhlen]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Caverne di Gemme]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[宝石の洞窟]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Gemstone Caverns]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Самоцветные Пещеры]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Carvernas de Pedras Preciosas]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="122094" />
<ARTID value="122094" />
<ARTIST name="Martina Pilcerova" />
<CASTING_COST cost="" />
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Land" />
<EXPANSION value="TSP" />
<RARITY metaname="R" />
<TRIGGERED_ABILITY active_zone="ZONE_HAND">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If Gemstone Caverns is in your opening hand and you’re not playing first, you may begin the game with Gemstone Caverns on the battlefield with a luck counter on it. If you do, exile a card from your hand.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si les Cavernes aux gemmes sont dans votre main de départ et que vous ne jouez pas en premier, vous pouvez commencer la partie avec les Cavernes aux gemmes en jeu avec, sur elles, un marqueur « chance ». Si vous faites ainsi, retirez de la partie une carte de votre main.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Si las Cavernas de gemas están en tu mano inicial y no juegas primero, puedes comenzar el juego con las Cavernas de gemas en juego con un contador de suerte sobre ellas. Si lo haces, remueve del juego una carta de tu mano.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Falls die Edelsteinhöhlen auf deiner Anfangshand sind und du nicht als Erster an der Reihe bist, kannst du sie vor Spielbeginn mit einer Glücksmarke ins Spiel bringen. Falls du das tust, entferne eine Karte aus deiner Hand ganz aus dem Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se le Caverne di Gemme sono nella tua mano iniziale e non stai giocando per primo, puoi iniziare la partita mettendo nel campo di battaglia le Caverne di Gemme con un segnalino fortuna su di esse. Se lo fai, esilia una carta dalla tua mano.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[宝石の洞窟があなたのゲーム開始時の手札にあり、かつあなたが先攻でない場合、あなたはそれが運勢カウンターを1個置いて場に出ている状態でゲームを開始してもよい。 そうした場合、あなたの手札にあるカードを1枚ゲームから取り除く。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If Gemstone Caverns is in your opening hand and you’re not playing first, you may begin the game with Gemstone Caverns on the battlefield with a luck counter on it. If you do, exile a card from your hand.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Если Самоцветные Пещеры пришли к вам в начальную руку и вы не ходите первым, вы можете начать игру с Самоцветными Пещерами в игре с одним жетоном удачи на них. Если вы это сделали, уберите одну карту в вашей руке из игры.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Se Carvernas de Pedras Preciosas estiver em sua mão de abertura e você não for o primeiro a jogar, você pode começar o jogo com Carvernas de Pedras Preciosas em jogo com um marcador de sorte sobre ela. Se fizer isso, remova do jogo um card de sua mão.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_STEP">
return TriggerPlayer():GetTeam() ~= EffectController():GetTeam() and EffectController():MyTurn() and MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():PutOntoBattlefield( EffectController() )
end
</RESOLUTION_TIME_ACTION>
<MAY />
<AUTO_SKIP always="1" />
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
return TriggerPlayer():GetTeam() ~= EffectController():GetTeam() and EffectController():MyTurn() and MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGERED_ABILITY>
<COUNTER_REGISTRATION name="Luck" proliferate="11" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():GetCountersType("Luck"), 1)
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:SetZone( ZONE_HAND, EffectController() )
EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CARD_TO_EXILE", EffectDC():Make_Targets(0) )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
EffectDC():Get_Targets(0):Protect_CardPtr(0)
target:Exile()
end
</RESOLUTION_TIME_ACTION>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="8">
local source = EffectSource()
if source ~= nil and source:CountCounters( MTG():GetCountersType("Luck") ) = 1 then
source:GetCurrentCharacteristics()
characteristics:GrantAbility(9)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="8">
local source = EffectSource()
if source ~= nil and source:CountCounters( MTG():GetCountersType("Luck") ) = 0 then
source:GetCurrentCharacteristics()
characteristics:GrantAbility(10)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY forced_skip="1," resource_id="10">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {1} to your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Ajoutez {1} à votre réserve.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {1} a tu reserva de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {1}.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {1} alla tua riserva di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{1}を加える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {1}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {1} в ваше хранилище маны.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {1} à sua reserva de mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加{1}到你的法术力池中。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加{1}到你的魔法力池中。]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_Produce( "{1}", 1 )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_EliminateExtraManaTokens()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
S_DisplayManaPool(EffectController())
RSN_MarkManaAbilityEnd()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="upkeep" type="window" />
<AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<AI_AVAILABILITY type="in_response" response_target="1" />
</ACTIVATED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="0">
RSN_ClearCanProduceMana()
RSN_MarkCanProduceMana( "{1}" )
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="8">
local oCard = EffectSource()
if (RSN_CheckSwitchToFallback( oCard )) then
local oCharacteristics = oCard:GetCurrentCharacteristics()
oCharacteristics:GrantAbility( 9 )
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY forced_skip="1," resource_id="9">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add one mana of any color to your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Ajoutez un mana de la couleur de votre choix à votre réserve.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega un maná de cualquier color a tu reserva de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um ein Mana einer beliebigen Farbe.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi un mana di un qualsiasi colore alla tua riserva di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに、好きな色1色のマナ1点を加える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: 당신의 마나풀에 원하는 색의 마나 한 개를 담는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте одну ману любого цвета в ваше хранилище маны.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione um mana de qualquer cor à sua reserva de mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加一点任意颜色的法术力到你的法术力池中。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加一點任意顏色的魔法力到你的魔法力池中。]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
local oPlayer = EffectController()
local oCard = EffectSource()
if (oPlayer ~= nil) then
oPlayer:BeginNewMultipleChoice()
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_W" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_U" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_B" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_R" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_G" )
oPlayer:AskMultipleChoiceQuestion( "MODE_CHOOSE_ONE", oCard )
end
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local nColour = EffectController():GetMultipleChoiceResult() + 1
if (nColour == COLOUR_BLACK) then
RSN_Produce( "{B}", 1 )
elseif (nColour == COLOUR_BLUE) then
RSN_Produce( "{U}", 1 )
elseif (nColour == COLOUR_GREEN) then
RSN_Produce( "{G}", 1 )
elseif (nColour == COLOUR_RED) then
RSN_Produce( "{R}", 1 )
elseif (nColour == COLOUR_WHITE) then
RSN_Produce( "{W}", 1 )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_EliminateExtraManaTokens()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
S_DisplayManaPool(EffectController())
RSN_MarkManaAbilityEnd()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="upkeep" type="window" />
<AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<AI_AVAILABILITY type="in_response" response_target="1" />
</ACTIVATED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="0">
RSN_ClearCanProduceMana()
RSN_MarkCanProduceMana( "{B}{G}{R}{U}{W}" )
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="8">
local nDefaultColour = COLOUR_GREEN
local oCard = EffectSource()
if (RSN_CheckSwitchToFallback( oCard )) then
local nColour = RSN_GetLastProducedColour()
local oCharacteristics = oCard:GetCurrentCharacteristics()
if (nColour ~= COLOUR_COLOURLESS) then
oCharacteristics:GrantAbility( nColour )
else
oCharacteristics:GrantAbility( nDefaultColour )
end
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY forced_skip="1" replacement_effect="1">
<TRIGGER value="BEGINNING_OF_STEP" pre_trigger="1" />
<RESOLUTION_TIME_ACTION>
RSN_ClearProducedMana()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<MANA_ABILITY resource_id="1">
<COST type="TapSelf" />
<PRODUCES amount="{W}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="2">
<COST type="TapSelf" />
<PRODUCES amount="{U}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="3">
<COST type="TapSelf" />
<PRODUCES amount="{B}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="4">
<COST type="TapSelf" />
<PRODUCES amount="{R}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="5">
<COST type="TapSelf" />
<PRODUCES amount="{G}" />
</MANA_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_G" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_R" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_U" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_W" />
</CARD_V2>
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Formal Request Thread
by Xander9009 » 29 Oct 2014, 21:49
First thing I see is that you check that it's an opponent's turn with "TriggerPlayer():GetTeam() ~= EffectController():GetTeam()" and you make sure it's your turn with "EffectController():MyTurn()". This will probably never trigger like you want it to. Shouold probably be "EffectController():MyTurn() == false".fallenangle wrote:I've been trying to code Gemstone Caverns, and it isn't working at all. This is the code I've been using, but I can't seem to get the mana abilities to appear on the card or work properly. Additionally, I get a script error stating that in one of my CONTINUOUS_ACTION blocks, "then" is expected near "=". I'm at a loss for how to fix this. Can any kind soul take a look at my code and set me straight? I would be extremely grateful for any help you could give me.
Here's the code: ...snip...
Continuous action issue is this line: "if source ~= nil and source:CountCounters( MTG():GetCountersType("Luck") ) = 0 then". Should have double equal sign.
Directly above that, you've also got the same issue with "if source ~= nil and source:CountCounters( MTG():GetCountersType("Luck") ) = 1 then". However, this one should not be double equal signs. If the counter is proliferated or double with Doubling Season (not that it really can be affected with DS), checking that it's exactly 1 will break it. Use ">=" without quotes, instead so it looks like "if source ~= nil and source:CountCounters( MTG():GetCountersType("Luck") ) >= 1 then".
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-
Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Formal Request Thread
by fallenangle » 30 Oct 2014, 03:36
I've been working at it some more, but I'm still stuck. Right now it won't add a luck counter, crashes the game on exit, and (potentially) allows multiple copies of the legendary land to be on the battlefield at the same time. Can any of the coding gods take a look at my latest effort at Gemstone Caverns and show me where I have gone awry and suggest how I might fix it? Any and all suggestions would be greatly appreciated. Thanks in advance for all of your help!
Here's my latest code:
Here's my latest code:
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="GEMSTONE_CAVERNS_122094" />
<CARDNAME text="GEMSTONE_CAVERNS" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Gemstone Caverns]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Cavernes aux gemmes]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cavernas de gemas]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Edelsteinhöhlen]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Caverne di Gemme]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[宝石の洞窟]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Gemstone Caverns]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Самоцветные Пещеры]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Carvernas de Pedras Preciosas]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="122094" />
<ARTID value="122094" />
<ARTIST name="Martina Pilcerova" />
<CASTING_COST cost="" />
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Land" />
<EXPANSION value="TSP" />
<RARITY metaname="R" />
<TRIGGERED_ABILITY active_zone="ZONE_HAND">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If Gemstone Caverns is in your opening hand and you’re not playing first, you may begin the game with Gemstone Caverns on the battlefield with a luck counter on it. If you do, exile a card from your hand.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si les Cavernes aux gemmes sont dans votre main de départ et que vous ne jouez pas en premier, vous pouvez commencer la partie avec les Cavernes aux gemmes en jeu avec, sur elles, un marqueur « chance ». Si vous faites ainsi, retirez de la partie une carte de votre main.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Si las Cavernas de gemas están en tu mano inicial y no juegas primero, puedes comenzar el juego con las Cavernas de gemas en juego con un contador de suerte sobre ellas. Si lo haces, remueve del juego una carta de tu mano.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Falls die Edelsteinhöhlen auf deiner Anfangshand sind und du nicht als Erster an der Reihe bist, kannst du sie vor Spielbeginn mit einer Glücksmarke ins Spiel bringen. Falls du das tust, entferne eine Karte aus deiner Hand ganz aus dem Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se le Caverne di Gemme sono nella tua mano iniziale e non stai giocando per primo, puoi iniziare la partita mettendo nel campo di battaglia le Caverne di Gemme con un segnalino fortuna su di esse. Se lo fai, esilia una carta dalla tua mano.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[宝石の洞窟があなたのゲーム開始時の手札にあり、かつあなたが先攻でない場合、あなたはそれが運勢カウンターを1個置いて場に出ている状態でゲームを開始してもよい。 そうした場合、あなたの手札にあるカードを1枚ゲームから取り除く。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If Gemstone Caverns is in your opening hand and you’re not playing first, you may begin the game with Gemstone Caverns on the battlefield with a luck counter on it. If you do, exile a card from your hand.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Если Самоцветные Пещеры пришли к вам в начальную руку и вы не ходите первым, вы можете начать игру с Самоцветными Пещерами в игре с одним жетоном удачи на них. Если вы это сделали, уберите одну карту в вашей руке из игры.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Se Carvernas de Pedras Preciosas estiver em sua mão de abertura e você não for o primeiro a jogar, você pode começar o jogo com Carvernas de Pedras Preciosas em jogo com um marcador de sorte sobre ela. Se fizer isso, remova do jogo um card de sua mão.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_STEP">
return EffectController():MyTurn() == false and MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():PutOntoBattlefield( EffectController() )
end
</RESOLUTION_TIME_ACTION>
<MAY />
<AUTO_SKIP always="1" />
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:SetZone( ZONE_HAND, EffectController() )
EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CARD_TO_EXILE", EffectDC():Make_Targets(38) )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(38):Get_CardPtr(0)
if target ~= nil then
EffectDC():Get_Targets(38):Protect_CardPtr(0)
target:Exile()
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY>
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
return EffectController():MyTurn() == false and MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
<COUNTER_REGISTRATION name="Luck" proliferate="11" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():GetCountersType("Luck"), 1)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<INTERVENING_IF ignore_resolution_check="1">
if EffectSource() ~= nil and EffectSource():CountCounters(MTG():GetCountersType("Luck")) >= 1 then
return true
else
return false
end
</INTERVENING_IF>
<ACTIVATED_ABILITY forced_skip="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {1} to your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Ajoutez {1} à votre réserve.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {1} a tu reserva de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {1}.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {1} alla tua riserva di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{1}を加える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {1}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {1} в ваше хранилище маны.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {1} à sua reserva de mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加{1}到你的法术力池中。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加{1}到你的魔法力池中。]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_Produce( "{1}", 1 )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_EliminateExtraManaTokens()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
S_DisplayManaPool(EffectController())
RSN_MarkManaAbilityEnd()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="upkeep" type="window" />
<AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<AI_AVAILABILITY type="in_response" response_target="1" />
</ACTIVATED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="0">
RSN_ClearCanProduceMana()
RSN_MarkCanProduceMana( "{1}" )
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="8">
local oCard = EffectSource()
if (RSN_CheckSwitchToFallback( oCard )) then
local oCharacteristics = oCard:GetCurrentCharacteristics()
oCharacteristics:GrantAbility( 9 )
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY forced_skip= "1," resource_id ="22">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add one mana of any color to your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Ajoutez un mana de la couleur de votre choix à votre réserve.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega un maná de cualquier color a tu reserva de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um ein Mana einer beliebigen Farbe.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi un mana di un qualsiasi colore alla tua riserva di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに、好きな色1色のマナ1点を加える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: 당신의 마나풀에 원하는 색의 마나 한 개를 담는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте одну ману любого цвета в ваше хранилище маны.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione um mana de qualquer cor à sua reserva de mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加一点任意颜色的法术力到你的法术力池中。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加一點任意顏色的魔法力到你的魔法力池中。]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
local oPlayer = EffectController()
local oCard = EffectSource()
if (oPlayer ~= nil) then
oPlayer:BeginNewMultipleChoice()
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_W" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_U" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_B" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_R" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_G" )
oPlayer:AskMultipleChoiceQuestion( "MODE_CHOOSE_ONE", oCard )
end
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local nColour = EffectController():GetMultipleChoiceResult() + 1
if (nColour == COLOUR_BLACK) then
RSN_Produce( "{B}", 1 )
elseif (nColour == COLOUR_BLUE) then
RSN_Produce( "{U}", 1 )
elseif (nColour == COLOUR_GREEN) then
RSN_Produce( "{G}", 1 )
elseif (nColour == COLOUR_RED) then
RSN_Produce( "{R}", 1 )
elseif (nColour == COLOUR_WHITE) then
RSN_Produce( "{W}", 1 )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_EliminateExtraManaTokens()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
S_DisplayManaPool(EffectController())
RSN_MarkManaAbilityEnd()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="upkeep" type="window" />
<AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<AI_AVAILABILITY type="in_response" response_target="1" />
</ACTIVATED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="0">
RSN_ClearCanProduceMana()
RSN_MarkCanProduceMana( "{B}{G}{R}{U}{W}" )
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="8">
local nDefaultColour = COLOUR_GREEN
local oCard = EffectSource()
if (RSN_CheckSwitchToFallback( oCard )) then
local nColour = RSN_GetLastProducedColour()
local oCharacteristics = oCard:GetCurrentCharacteristics()
if (nColour ~= COLOUR_COLOURLESS) then
oCharacteristics:GrantAbility( nColour )
else
oCharacteristics:GrantAbility( nDefaultColour )
end
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY forced_skip="1" replacement_effect="1">
<TRIGGER value="BEGINNING_OF_STEP" pre_trigger="1" />
<RESOLUTION_TIME_ACTION>
RSN_ClearProducedMana()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<MANA_ABILITY resource_id="1">
<COST type="TapSelf" />
<PRODUCES amount="{W}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="2">
<COST type="TapSelf" />
<PRODUCES amount="{U}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="3">
<COST type="TapSelf" />
<PRODUCES amount="{B}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="4">
<COST type="TapSelf" />
<PRODUCES amount="{R}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="5">
<COST type="TapSelf" />
<PRODUCES amount="{G}" />
</MANA_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_G" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_R" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_U" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_W" />
</CARD_V2>
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Formal Request Thread
by Xander9009 » 30 Oct 2014, 03:54
1: You've got an INTERVENING_IF block outside of any ability blocks. Intervening if blocks must be inside an ability block, otherwise they do nothing.fallenangle wrote:I've been working at it some more, but I'm still stuck. Right now it won't add a luck counter, crashes the game on exit, and (potentially) allows multiple copies of the legendary land to be on the battlefield at the same time. Can any of the coding gods take a look at my latest effort at Gemstone Caverns and show me where I have gone awry and suggest how I might fix it? Any and all suggestions would be greatly appreciated. Thanks in advance for all of your help!
2: If it's not adding the luck counter, then it's producing colorless mana, but you haven't registered the colorless mana token RSN_TOKEN_MANA_C.
3: It's not adding a luck counter because the trigger is messed up.
- Code: Select all
<TRIGGERED_ABILITY>
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
return EffectController():MyTurn() == false and MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
<COUNTER_REGISTRATION name="Luck" proliferate="11" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():GetCountersType("Luck"), 1)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
- Code: Select all
<TRIGGERED_ABILITY>
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY">
return EffectController():MyTurn() == false and MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<COUNTER_REGISTRATION name="Luck" proliferate="11" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():GetCountersType("Luck"), 1)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-
Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Formal Request Thread
by fallenangle » 30 Oct 2014, 14:08
Thanks for all the help, Xander. Now it does everything except add the luck counter. Can anyone help me fix this. Here's my current Gemstone Caverns code. Any help spotting and correcting errors would be greatly appreciated:
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="GEMSTONE_CAVERNS_122094" />
<CARDNAME text="GEMSTONE_CAVERNS" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Gemstone Caverns]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Cavernes aux gemmes]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cavernas de gemas]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Edelsteinhöhlen]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Caverne di Gemme]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[宝石の洞窟]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Gemstone Caverns]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Самоцветные Пещеры]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Carvernas de Pedras Preciosas]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="122094" />
<ARTID value="122094" />
<ARTIST name="Martina Pilcerova" />
<CASTING_COST cost="" />
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Land" />
<EXPANSION value="TSP" />
<RARITY metaname="R" />
<TRIGGERED_ABILITY active_zone="ZONE_HAND">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If Gemstone Caverns is in your opening hand and you’re not playing first, you may begin the game with Gemstone Caverns on the battlefield with a luck counter on it. If you do, exile a card from your hand.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si les Cavernes aux gemmes sont dans votre main de départ et que vous ne jouez pas en premier, vous pouvez commencer la partie avec les Cavernes aux gemmes en jeu avec, sur elles, un marqueur « chance ». Si vous faites ainsi, retirez de la partie une carte de votre main.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Si las Cavernas de gemas están en tu mano inicial y no juegas primero, puedes comenzar el juego con las Cavernas de gemas en juego con un contador de suerte sobre ellas. Si lo haces, remueve del juego una carta de tu mano.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Falls die Edelsteinhöhlen auf deiner Anfangshand sind und du nicht als Erster an der Reihe bist, kannst du sie vor Spielbeginn mit einer Glücksmarke ins Spiel bringen. Falls du das tust, entferne eine Karte aus deiner Hand ganz aus dem Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se le Caverne di Gemme sono nella tua mano iniziale e non stai giocando per primo, puoi iniziare la partita mettendo nel campo di battaglia le Caverne di Gemme con un segnalino fortuna su di esse. Se lo fai, esilia una carta dalla tua mano.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[宝石の洞窟があなたのゲーム開始時の手札にあり、かつあなたが先攻でない場合、あなたはそれが運勢カウンターを1個置いて場に出ている状態でゲームを開始してもよい。 そうした場合、あなたの手札にあるカードを1枚ゲームから取り除く。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If Gemstone Caverns is in your opening hand and you’re not playing first, you may begin the game with Gemstone Caverns on the battlefield with a luck counter on it. If you do, exile a card from your hand.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Если Самоцветные Пещеры пришли к вам в начальную руку и вы не ходите первым, вы можете начать игру с Самоцветными Пещерами в игре с одним жетоном удачи на них. Если вы это сделали, уберите одну карту в вашей руке из игры.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Se Carvernas de Pedras Preciosas estiver em sua mão de abertura e você não for o primeiro a jogar, você pode começar o jogo com Carvernas de Pedras Preciosas em jogo com um marcador de sorte sobre ela. Se fizer isso, remova do jogo um card de sua mão.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_STEP">
return EffectController():MyTurn() == false and MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():PutOntoBattlefield( EffectController() )
end
</RESOLUTION_TIME_ACTION>
<MAY />
<AUTO_SKIP always="1" />
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:SetZone( ZONE_HAND, EffectController() )
EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CARD_TO_EXILE", EffectDC():Make_Targets(38) )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(38):Get_CardPtr(0)
if target ~= nil then
EffectDC():Get_Targets(38):Protect_CardPtr(0)
target:Exile()
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY>
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_HAND">
return EffectController():MyTurn() == false and MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<COUNTER_REGISTRATION name="Luck" proliferate="11" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():GetCountersType("Luck"), 1)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<ACTIVATED_ABILITY forced_skip="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {1} to your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Ajoutez {1} à votre réserve.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {1} a tu reserva de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {1}.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {1} alla tua riserva di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{1}を加える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: {1}를 당신의 마나풀에 담는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте {1} в ваше хранилище маны.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione {1} à sua reserva de mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加{1}到你的法术力池中。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加{1}到你的魔法力池中。]]></LOCALISED_TEXT>
<INTERVENING_IF ignore_resolution_check="1">
if EffectSource() ~= nil and EffectSource():CountCounters(MTG():GetCountersType("Luck")) >= 1 then
return true
else
return false
end
</INTERVENING_IF>
<COST type="TapSelf" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_Produce( "{1}", 1 )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_EliminateExtraManaTokens()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
S_DisplayManaPool(EffectController())
RSN_MarkManaAbilityEnd()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="upkeep" type="window" />
<AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<AI_AVAILABILITY type="in_response" response_target="1" />
</ACTIVATED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="0">
RSN_ClearCanProduceMana()
RSN_MarkCanProduceMana( "{1}" )
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="8">
local oCard = EffectSource()
if (RSN_CheckSwitchToFallback( oCard )) then
local oCharacteristics = oCard:GetCurrentCharacteristics()
oCharacteristics:GrantAbility( 9 )
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY forced_skip= "1," resource_id ="22">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add one mana of any color to your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Ajoutez un mana de la couleur de votre choix à votre réserve.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega un maná de cualquier color a tu reserva de maná.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um ein Mana einer beliebigen Farbe.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi un mana di un qualsiasi colore alla tua riserva di mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに、好きな色1色のマナ1点を加える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: 당신의 마나풀에 원하는 색의 마나 한 개를 담는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: добавьте одну ману любого цвета в ваше хранилище маны.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adicione um mana de qualquer cor à sua reserva de mana.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加一点任意颜色的法术力到你的法术力池中。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}:加一點任意顏色的魔法力到你的魔法力池中。]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
local oPlayer = EffectController()
local oCard = EffectSource()
if (oPlayer ~= nil) then
oPlayer:BeginNewMultipleChoice()
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_W" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_U" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_B" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_R" )
oPlayer:AddMultipleChoiceAnswer( "RSN_MODE_PRODUCE_G" )
oPlayer:AskMultipleChoiceQuestion( "MODE_CHOOSE_ONE", oCard )
end
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local nColour = EffectController():GetMultipleChoiceResult() + 1
if (nColour == COLOUR_BLACK) then
RSN_Produce( "{B}", 1 )
elseif (nColour == COLOUR_BLUE) then
RSN_Produce( "{U}", 1 )
elseif (nColour == COLOUR_GREEN) then
RSN_Produce( "{G}", 1 )
elseif (nColour == COLOUR_RED) then
RSN_Produce( "{R}", 1 )
elseif (nColour == COLOUR_WHITE) then
RSN_Produce( "{W}", 1 )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_EliminateExtraManaTokens()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
S_DisplayManaPool(EffectController())
RSN_MarkManaAbilityEnd()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="upkeep" type="window" />
<AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<AI_AVAILABILITY type="in_response" response_target="1" />
</ACTIVATED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="0">
RSN_ClearCanProduceMana()
RSN_MarkCanProduceMana( "{B}{G}{R}{U}{W}" )
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="8">
local nDefaultColour = COLOUR_GREEN
local oCard = EffectSource()
if (RSN_CheckSwitchToFallback( oCard )) then
local nColour = RSN_GetLastProducedColour()
local oCharacteristics = oCard:GetCurrentCharacteristics()
if (nColour ~= COLOUR_COLOURLESS) then
oCharacteristics:GrantAbility( nColour )
else
oCharacteristics:GrantAbility( nDefaultColour )
end
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY forced_skip="1" replacement_effect="1">
<TRIGGER value="BEGINNING_OF_STEP" pre_trigger="1" />
<RESOLUTION_TIME_ACTION>
RSN_ClearProducedMana()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<MANA_ABILITY resource_id="1">
<COST type="TapSelf" />
<PRODUCES amount="{W}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="2">
<COST type="TapSelf" />
<PRODUCES amount="{U}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="3">
<COST type="TapSelf" />
<PRODUCES amount="{B}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="4">
<COST type="TapSelf" />
<PRODUCES amount="{R}" />
</MANA_ABILITY>
<MANA_ABILITY resource_id="5">
<COST type="TapSelf" />
<PRODUCES amount="{G}" />
</MANA_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_G" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_R" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_U" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_W" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_C" />
</CARD_V2>
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Who is online
Users browsing this forum: No registered users and 21 guests