Help with "Jund Charm"

Trying to make this pesky little multichoice instant, which seemed rather fun, but I'm having trouble with the chosen effect resolution.
I tried several strategies and ended up with this :
SPELL_RESOLVED is still an existing trigger as far as I know, and ObjectDC():Set/Get_Int should be a safe way to store the chosen effect, but nothing works...
Any clue ?
I tried several strategies and ended up with this :
- Code: Select all
<?xml version='1.0'?>
<CARD_V2>
<FILENAME text="JUND_CHARM_137900" />
<CARDNAME text="JUND_CHARM" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Jund Charm]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Monile di Jund]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Amulett aus Jund]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Charme de Jund]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Amuleto jundiano]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ジャンドの魔除け]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Jund Charm]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Талисман Джанда]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Medalhão de Jund]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="137900" />
<ARTID value="888137900" />
<ARTIST name="Brandon Kitkouski" />
<CASTING_COST cost="{B}{R}{G}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Jund pulses with raw energy, waiting for shamans to shape it into useful form.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Jund pulsa di energia grezza, in attesa che gli sciamani la modellino in una forma utile.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Jund pulsiert vor roher Energie, die nur darauf wartet, von Schamanen in nützliche Form gebracht zu werden.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Jund vibre d'énergie brute qui attend que les shamanes lui donnent une forme utilisable.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Jund late con energía vital, esperando que los chamanes le den una forma útil.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ジャンドの素の魔力の波動は、シャーマンに有効な形に作られることを待ち望んでいる。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Jund pulses with raw energy, waiting for shamans to shape it into useful form.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Джанд пульсирует сырой энергией в ожидании, что шаманы облекут ее в полезную форму.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Jund pulsa com energia crua, aguardando que os xamãs a moldem em formas úteis.]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Instant" />
<EXPANSION value="DPG" />
<RARITY metaname="U" />
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Choose one — Exile all cards from target player's graveyard; or Jund Charm deals 2 damage to each creature; or put two +1/+1 counters on target creature.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Scegli uno — Rimuovi dal gioco il cimitero di un giocatore bersaglio; oppure il Monile di Jund infligge 2 danni a ogni creatura; oppure metti due segnalini +1/+1 su una creatura bersaglio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bestimme eines — Entferne den Friedhof eines Spielers deiner Wahl ganz aus dem Spiel; oder das Amulett aus Jund fügt jeder Kreatur 2 Schadenspunkte zu; oder lege zwei +1/+1-Marken auf eine Kreatur deiner Wahl.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Choisissez l'un — Retirez de la partie le cimetière du joueur ciblé ; ou le Charme de Jund inflige 2 blessures à chaque créature ; ou mettez deux marqueurs +1/+1 sur la créature ciblée.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Elige uno: Remueve del juego el cementerio del jugador objetivo; o el Amuleto jundiano le hace 2 puntos de daño a cada criatura; o pon dos contadores +1/+1 sobre la criatura objetivo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[以下の3つから1つを選ぶ。「プレイヤー1人を対象とし、そのプレイヤーの墓地をゲームから取り除く。」「ジャンドの魔除けは各クリーチャーに、それぞれ2点のダメージを与える。」「クリーチャー1体を対象とし、それの上に+1/+1カウンターを2個置く。」]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Choose one — Exile all cards from target player's graveyard; or Jund Charm deals 2 damage to each creature; or put two +1/+1 counters on target creature.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Выберите одно — удалите кладбище целевого игрока из игры; или Талисман Джанда наносит 2 повреждения каждому существу; или положите два жетона +1/+1 на целевое существо.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Escolha um — Remova do jogo o cemitério do jogador alvo; ou Medalhão de Jund causa 2 pontos de dano a cada criatura; ou coloque dois marcadores +1/+1 na criatura alvo.]]></LOCALISED_TEXT>
<PLAY_TIME_ACTION>
local player = EffectController()
if player ~= nil then
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_EXILE_ALL_CARDS_FROM_TARGET_PLAYER_GRAVEYARD" )
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_JUND_CHARM_DEALS_2_DAMAGE_TO_EACH_CREATURE" )
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_PUT_TWO_1_1_COUNTERS_ON_TARGET_CREATURE" )
player:AskMultipleChoiceQuestion( "CARD_QUERY_MC_CHOOSE_ONE" )
end
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local decision = Object():GetMultipleChoiceResult()
ObjectDC():Set_Int( 0, decision + 1 )
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
<TRIGGERED_ABILITY layer="0" auto_skip="1" zone="any" >
<TRIGGER value="SPELL_RESOLVED">
return ObjectDC():Get_Int(0) == 1
</TRIGGER>
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
filter:SetHint( HINT_ENEMY_ONLY, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_PLAYER_TO_EXILE_GRAVEYARD", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if target_player ~= nil then
local filter = Object():GetFilter()
filter:Clear()
filter:SetPlayer( target_player )
filter:SetZone( ZONE_GRAVEYARD )
local count = filter:EvaluateObjects()
if (count > 0) then
for j=0,count-1 do
local card = filter:GetNthEvaluatedObject( j )
if (card ~= nil) then
card:RemoveFromGame()
end
end
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY layer="0" auto_skip="1" zone="any" >
<TRIGGER value="SPELL_RESOLVED">
return ObjectDC():Get_Int(0) == 2
</TRIGGER>
<FILTER>
return (FilteredCard() ~= nil and
FilteredCard():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0 and
FilteredCard():GetZone() == (ZONE_IN_PLAY))
</FILTER>
<RESOLUTION_TIME_ACTION>
local source = EffectSource()
if source == nil then
source = Object()
end
if (FilteredCard() ~= nil) then
FilteredCard():DealDamage( 2 , source )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY layer="0" auto_skip="1" zone="any" >
<TRIGGER value="SPELL_RESOLVED">
return ObjectDC():Get_Int(0) == 3
</TRIGGER>
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetZone( ZONE_IN_PLAY )
filter:SetHint( HINT_ENEMY_ONLY, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_2_MINUS_1_1_COUNTERS", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
target:AddCounters( MTG():MinusOneMinusOneCounters(), 2 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
</CARD_V2>
SPELL_RESOLVED is still an existing trigger as far as I know, and ObjectDC():Set/Get_Int should be a safe way to store the chosen effect, but nothing works...
Any clue ?