Re: Card Creation Request Thread
It seems that I can't code the haunt ability on a spell: my calls to EffectDC():Protect_CardPtr(2) don't work. I give up and leave my code to anyone who understands how to fix it.
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2>
<FILENAME text="BENEDICTION_OF_MOONS_96951" />
<CARDNAME text="BENEDICTION_OF_MOONS" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Benediction of Moons]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Oraison des lunes]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Bendición de las lunas]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Segen der Monde]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Benedizione delle Lune]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[月の祈祷]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Benediction of Moons]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Благословение лун]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Bênção das Luas]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="96951" />
<ARTID value="A96951" />
<ARTIST name="Matt Cavotta" />
<CASTING_COST cost="{W}" />
<TYPE metaname="Sorcery" />
<EXPANSION value="GPT" />
<RARITY metaname="C" />
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[You gain 1 life for each player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vous gagnez 1 point de vie pour chaque joueur.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ganas 1 vida por cada jugador.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Du erhältst für jeden Spieler 1 Lebenspunkt dazu.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Guadagni 1 punto vita per ogni giocatore.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたはプレイヤー1人につき1点のライフを得る。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[You gain 1 life for each player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вы получаете 1 жизнь за каждого игрока.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Você ganha 1 ponto de vida para cada jogador.]]></LOCALISED_TEXT>
<RESOLUTION_TIME_ACTION>
local player = EffectController()
if player ~= nil then
player:GainLife( MTG():GetNumberOfPlayers() )
end
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Haunt]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Hantise]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Acechar]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Spuk]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tormentare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[憑依]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Haunt]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Преследование]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Assombrar]]></LOCALISED_TEXT>
<RESOLUTION_TIME_ACTION>
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_CardPtr( 2, EffectSource() )
MTG():CreateDelayedTrigger(1, delayDC)
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
<TRIGGERED_ABILITY resource_id="1" auto_skip="1">
<CLEANUP fire_once="1" />
<TRIGGER value="ZONECHANGE_BEGIN" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_STACK">
if TriggerObject() ~= nil and TriggerObject() == EffectDC():Get_CardPtr(2) then
EffectDC():Protect_CardPtr(2)
return true
end
return false
</TRIGGER>
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetZone( ZONE_IN_PLAY )
filter:SetHint( HINT_NEUTRAL, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_TO_HAUNT", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
local source = EffectDC():Get_CardPtr(2)
if source ~= nil and target ~= nil then
EffectDC():Protect_CardPtr(2)
source:RemoveFromGame()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
local source = EffectDC():Get_CardPtr(2)
if target ~= nil and source ~= nil then
source:NailOnto(target)
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_CardPtr(1, target)
delayDC:Set_CardPtr(2, source)
MTG():CreateDelayedTrigger(2, delayDC)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<SPELL_ABILITY internal="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When the creature Benediction of Moons haunts dies, you gain 1 life for each player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Quand la créature hantée par l’Oraison des lunes est mise dans un cimetière, vous gagnez 1 point de vie pour chaque joueur.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando la criatura a la que acecha Bendición de las lunas vaya a un cementerio, ganas 1 vida por cada jugador.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn die Kreatur, bei der der Segen der Monde spukt, auf einen Friedhof gelegt wird, erhältst du für jeden Spieler 1 Lebenspunkt dazu.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando la creatura tormentata dalla Benedizione delle Lune viene messa in un cimitero, tu guadagni 1 punto vita per ogni giocatore.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[月の祈祷が憑依しているクリーチャーがいずれかの墓地に置かれたとき、あなたはプレイヤー1人につき1点のライフを得る。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[When the creature Benediction of Moons haunts dies, you gain 1 life for each player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда существо, преследуемое Благословением лун, попадает на кладбище, вы получаете 1 жизнь за каждого игрока.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando a criatura que Bênção das Luas assombra é colocada num cemitério, você ganha 1 ponto de vida para cada jogador.]]></LOCALISED_TEXT>
</SPELL_ABILITY>
<TRIGGERED_ABILITY resource_id="2" auto_skip="1">
<CLEANUP fire_once="1" />
<TRIGGER value="ZONECHANGE_BEGIN" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_IN_PLAY">
local target = EffectDC():Get_CardPtr(1)
local source = EffectDC():Get_CardPtr(2)
if target ~= nil and source ~= nil and TriggerObject() == target then
return true
end
return false
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local player = EffectController()
if player ~= nil then
player:GainLife( MTG():GetNumberOfPlayers() )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
</CARD_V2>