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 Xander9009 » 20 Mar 2015, 20:39
nivmizzet1 wrote:In an effort to get my mods into the community wad I need to code some cards that weren't available already in the community wad, that I got from other mods whose modders are yet to give permission to add their mods to the community wad. I need the following cards to be coded:GelectrodeErratic Portal
Dispense Justice
Mitotic Slime
Edric, Spymaster of Trest
Momir Vig, Simic VisionaryFable of Wolf and Owl
GrindstoneBeacon of ImmortalityPillory of the Sleepless
Arc Trail
EDIT: I've now coded Fable of Wolf and Owl, Erratic Portal, Beacon of Immortality, Gelectrode, and Pillory of the Sleepless.
- Dispense Justice | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="DISPENSE_JUSTICE_909209015" />
<CARDNAME text="DISPENSE_JUSTICE" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Dispense Justice]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Prononcer la justice]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Dispensar justicia]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Recht sprechen]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Dispensare Giustizia]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[正義の施行]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Dispense Justice]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вершить Правосудие]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Fazer Justiça]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[执行正义]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[執行正義]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="909209015" />
<ARTID value="909209015" />
<ARTIST name="Austin Hsu" />
<CASTING_COST cost="{2}{W}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[The Accorders never strike first, but they always strike back.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Les Accordeurs ne frappent jamais les premiers, mais ils ripostent toujours.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Los acordantes nunca golpean primero, pero siempre devuelven el golpe.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die Harmonier schlagen nie zuerst zu, aber immer zurück.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[I Concordi non colpiscono mai per primi, ma restituiscono sempre il colpo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[調和者隊は先制攻撃に出ることは無いが、確実に反撃する。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[The Accorders never strike first, but they always strike back.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Согласители никогда не наносят первый удар, но всегда наносят ответный.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Os Concordantes nunca atacam primeiro, mas sempre revidam o ataque.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[轮驻军从不先出手,但一定会还击。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[輪駐軍從不先出手,但一定會還擊。]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Instant" />
<EXPANSION value="SOM" />
<RARITY metaname="U" />
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Target player sacrifices an attacking creature.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Le joueur ciblé sacrifie une créature attaquante.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[El jugador objetivo sacrifica una criatura atacante.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ein Spieler deiner Wahl opfert eine angreifende Kreatur.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Un giocatore bersaglio sacrifica una creatura attaccante.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[プレイヤー1人を対象とする。そのプレイヤーは攻撃クリーチャーを1体生け贄に捧げる。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Target player sacrifices an attacking creature.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Целевой игрок приносит в жертву атакующее существо.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[O jogador alvo sacrifica uma criatura atacante.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[目标牌手牺牲一个进行攻击的生物。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[目標玩家犧牲一個進行攻擊的生物。]]></LOCALISED_TEXT>
<TARGET tag="CARD_QUERY_CHOOSE_PLAYER_TO_SACRIFICE_CREATURE" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
filter:Add( FE_CONTROLLER, OP_IS, EffectController())
local Metalcraft = filter:CountStopAt(3) == 3
local target = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if target ~= nil then
filter = ClearFilter()
filter:Add( FE_IS_ATTACKING, true )
filter:Add( FE_CONTROLLER, OP_IS, target )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
if Metalcraft then
target:SetItemCount(2)
else
target:SetItemCount(1)
end
target:SetItemPrompt( 0, "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE" )
if Metalcraft then
target:SetItemPrompt( 1, "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE" )
end
target:ChooseItems( EffectDC():Make_Targets(1) )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if target ~= nil then
local creature1 = EffectDC():Get_Targets(1):Get_CardPtr(0)
local creature2 = EffectDC():Get_Targets(1):Get_CardPtr(1)
if creature1 ~= nil then
target:Sacrifice( creature1 )
end
if creature2 ~= nil then
target:Sacrifice( creature2 )
end
end
</RESOLUTION_TIME_ACTION>
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
</SPELL_ABILITY>
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Metalcraft — That player sacrifices two attacking creatures instead if you control three or more artifacts.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Art des métaux — Ce joueur sacrifie deux créatures attaquantes à la place si vous contrôlez au moins trois artefacts.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Metalurgia — Ese jugador sacrifica dos criaturas atacantes en vez de eso si tú controlas tres o más artefactos.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Metallkunst — Falls du drei oder mehr Artefakte kontrollierst, opfert dieser Spieler stattdessen zwei angreifende Kreaturen.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Metallurgia — Quel giocatore sacrifica invece due creature attaccanti se controlli tre o più artefatti.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[金属術 ― あなたが3つ以上のアーティファクトをコントロールしている場合、代わりにそのプレイヤーは攻撃クリーチャーを2体生け贄に捧げる。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Metalcraft — That player sacrifices two attacking creatures instead if you control three or more artifacts.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Работа по металлу — Тот игрок приносит в жертву два атакующих существа вместо этого, если вы контролируете не менее трех артефактов.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Maestria com Metais — Se você controlar três ou mais artefatos, em vez disso, aquele jogador sacrificará duas criaturas atacantes.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[金技~如果你操控三个或更多神器,则改为该牌手牺牲两个进行攻击的生物。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[金技~如果你操控三個或更多神器,則改為該玩家犧牲兩個進行攻擊的生物。]]></LOCALISED_TEXT>
</SPELL_ABILITY>
<AUTHOR><![CDATA[Xander9009]]></AUTHOR>
<EDITORS><![CDATA[Xander9009]]></EDITORS>
<DATE><![CDATA[20-03-15]]></DATE>
</CARD_V2>
- Edric, Spymaster of Trest | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="EDRIC_SPYMASTER_OF_TREST_909382920" />
<CARDNAME text="EDRIC_SPYMASTER_OF_TREST" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Edric, Spymaster of Trest]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Edric, maître espion de Trest]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Edric, maestro espía de Trest]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Edric, Meisterspion von Trest]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Edric, Capospia di Trest]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[トレストの密偵長、エドリック]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Edric, Spymaster of Trest]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Edric, Spymaster of Trest]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Edric, Spymaster of Trest]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[崔斯特密探长埃卓克]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Edric, Spymaster of Trest]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="909382920" />
<ARTID value="909382920" />
<ARTIST name="Volkan Baga" />
<CASTING_COST cost="{1}{G}{U}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[”I am not at liberty to reveal my sources, but I can assure you, the price on your head is high.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« Je ne suis pas libre de révéler mes sources, mais je puis vous assurer que votre tête est fort mise à prix. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“No tengo la libertad de revelar mis fuentes, pero puedo asegurarte que pagan mucho por su cabeza.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Es steht mir nicht frei, meine Quellen zu nennen, aber ich kann dir versichern, dass das Kopfgeld auf dich hoch ist.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Non sono libero di rivelare le mie fonti, ma posso assicurarti che la taglia sulla tua testa è alta.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「情報元を明かすわけにはいかないが、お前の首の値段が高いのだけは保証する。」]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[”I am not at liberty to reveal my sources, but I can assure you, the price on your head is high.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[”I am not at liberty to reveal my sources, but I can assure you, the price on your head is high.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[”I am not at liberty to reveal my sources, but I can assure you, the price on your head is high.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[「虽然我不能透露情报来源,但可以向你保证的是,你的脑袋很值钱。」]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[”I am not at liberty to reveal my sources, but I can assure you, the price on your head is high.”]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Elf" />
<SUB_TYPE metaname="Rogue" />
<EXPANSION value="VMA" />
<RARITY metaname="R" />
<POWER value="2" />
<TOUGHNESS value="2" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever a creature deals combat damage to one of your opponents, its controller may draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois qu’une créature inflige des blessures de combat à l’un de vos adversaires, son contrôleur peut piocher une carte.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que una criatura haga daño de combate a uno de tus oponentes, su controlador puede robar una carta.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn eine Kreatur einem deiner Gegner Kampfschaden zufügt, kann ihr Beherrscher eine Karte ziehen.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta una creatura infligge danno da combattimento a uno dei tuoi avversari, il suo controllore può pescare una carta.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[クリーチャー1体があなたの対戦相手1人に戦闘ダメージを与えるたび、それのコントローラーはカードを1枚引いてもよい。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever a creature deals combat damage to one of your opponents, its controller may draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever a creature deals combat damage to one of your opponents, its controller may draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever a creature deals combat damage to one of your opponents, its controller may draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[每当一个生物向你的任一对手造成战斗伤害时,其操控者可以抓一张牌。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Whenever a creature deals combat damage to one of your opponents, its controller may draw a card.]]></LOCALISED_TEXT>
<TRIGGER value="SOURCE_DEALS_DAMAGE_TO_PLAYER" damage_type="combat">
return SecondaryPlayer():GetTeam() ~= EffectController():GetTeam()
</TRIGGER>
<MAY tag="CARD_QUERY_DRAW_A_CARD" always_prompt="1">
-- AI behaviour
if EffectController():Library_Count() < 10 then
return false
else
return true
end
</MAY>
<RESOLUTION_TIME_ACTION>
local card = TriggerObject()
if card ~= nil then
local player = card:GetController()
if player ~= nil then
player:DrawCards(1)
end
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" />
<AUTHOR><![CDATA[Xander9009]]></AUTHOR>
<EDITORS><![CDATA[Xander9009]]></EDITORS>
<DATE><![CDATA[20-03-15]]></DATE>
</CARD_V2>
- Momir Vig, Simic Visionary | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="MOMIR_VIG_SIMIC_VISIONARY_909107506" />
<CARDNAME text="MOMIR_VIG_SIMIC_VISIONARY" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Momir Vig, Simic Visionary]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Momir Vig, visionnaire simic]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Mómir Vig, visionario simic]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Momir Vig, Simic-Visionär]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Momir Vig, Visionario Simic]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[シミックの幻想家、モミール・ヴィグ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Momir Vig, Simic Visionary]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Момир Виг, визионер Симиков]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Momir Vig, Visionário Simic]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[析米克幻视师莫秘维]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Momir Vig, Simic Visionary]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="909107506" />
<ARTID value="909107506" />
<ARTIST name="Zoltan Boros & Gabor Szikszai" />
<CASTING_COST cost="{3}{G}{U}" />
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Elf" />
<SUB_TYPE metaname="Wizard" />
<EXPANSION value="DIS" />
<RARITY metaname="R" />
<POWER value="2" />
<TOUGHNESS value="2" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you cast a green creature spell, you may search your library for a creature card and reveal it. If you do, shuffle your library and put that card on top of it.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous jouez un sort de créature vert, vous pouvez chercher dans votre bibliothèque une carte de créature et la révéler. Si vous faites ainsi, mélangez votre bibliothèque et mettez cette carte au-dessus d’elle.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que juegues un hechizo de criatura verde, puedes buscar en tu biblioteca una carta de criatura y mostrarla. Si lo haces, baraja tu biblioteca y pon la carta en la parte superior.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn du einen grünen Kreaturenzauber spielst, kannst du deine Bibliothek nach einer Kreaturenkarte durchsuchen und sie offen vorzeigen. Falls du dies tust, mische deine Bibliothek und lege diese Karte oben darauf.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta giochi una magia creatura verde, puoi passare in rassegna il tuo grimorio, scegliere una carta creatura e rivelarla. Se lo fai, rimescola il tuo grimorio e metti quella carta in cima a esso.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたが緑のクリーチャー呪文をプレイするたび、あなたはあなたのライブラリーからクリーチャー・カードを1枚探して公開してもよい。 そうした場合、あなたのライブラリーを切り直し、そのカードをその一番上に置く。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you cast a green creature spell, you may search your library for a creature card and reveal it. If you do, shuffle your library and put that card on top of it.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда вы разыгрываете заклинание зеленого существа, вы можете найти карту существа в своей библиотеке и показать ее. Если вы это делаете, перетасуйте свою библиотеку и положите эту карту сверху.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que você joga uma mágica de criatura verde, você pode procurar em seu grimório por um card de criatura e revelá-lo. Se fizer isso, embaralhe seu grimório e coloque aquele card no topo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[每当你使用绿色生物咒语时,你可以从你的牌库中搜寻一张生物牌,并展示该牌。 若你如此作,则将你的牌库洗牌,并将该牌置于其上。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Whenever you cast a green creature spell, you may search your library for a creature card and reveal it. If you do, shuffle your library and put that card on top of it.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
return TriggerObject():GetColour():Test( COLOUR_GREEN ) and TriggerObject():GetColour():Test( COLOUR_BLUE ) == false and TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
local effectController = EffectController()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:SetZone( ZONE_LIBRARY, effectController)
effectController:ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_PUT_ON_TOP_OF_LIBRARY", EffectDC():Make_Targets(0) )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
target:Reveal()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
EffectController():ShuffleLibrary()
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
target:PutOnTopOfLibrary()
end
</RESOLUTION_TIME_ACTION>
<MAY />
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you cast a blue creature spell, reveal the top card of your library. If it’s a creature card, put that card into your hand.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous jouez un sort de créature bleu, révélez la carte du dessus de votre bibliothèque. Si c’est une carte de créature, mettez-la dans votre main.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que juegues un hechizo de criatura azul, muestra la primera carta de tu biblioteca. Si es una carta de criatura, pon esa carta en tu mano.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn du einen blauen Kreaturenzauber spielst, decke die oberste Karte deiner Bibliothek auf. Falls es eine Kreaturenkarte ist, nimm sie auf deine Hand.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta giochi una magia creatura blu, rivela la prima carta del tuo grimorio. Se è una carta creatura, aggiungila alla tua mano.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたが青のクリーチャー呪文をプレイするたび、あなたのライブラリーの一番上のカードを公開する。 それがクリーチャー・カードである場合、そのカードをあなたの手札に加える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you cast a blue creature spell, reveal the top card of your library. If it’s a creature card, put that card into your hand.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда вы разыгрываете заклинание синего существа, покажите верхнюю карту своей библиотеки. Если это карта существа, поместите ее в свою руку.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que você jogar uma mágica de criatura azul, revele o card do topo de seu grimório. Se esse for um card de criatura, coloque-o em sua mão.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[每当你使用蓝色生物咒语时,展示你的牌库顶牌。 若该牌是生物牌,则将该牌置于你手上。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Whenever you cast a blue creature spell, reveal the top card of your library. If it’s a creature card, put that card into your hand.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
return TriggerObject():GetColour():Test( COLOUR_BLUE ) and TriggerObject():GetColour():Test( COLOUR_GREEN ) == false and TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local card = EffectController():Library_GetTop()
if card ~= nil then
card:Reveal()
EffectDC():Set_CardPtr( 0, card )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local card = EffectDC():Get_CardPtr(0)
if card ~= nil then
if card:GetCardType():Test( CARD_TYPE_CREATURE ) then
card:PutInHand()
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you cast a green creature spell, you may search your library for a creature card and reveal it. If you do, shuffle your library and put that card on top of it.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous jouez un sort de créature vert, vous pouvez chercher dans votre bibliothèque une carte de créature et la révéler. Si vous faites ainsi, mélangez votre bibliothèque et mettez cette carte au-dessus d’elle.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que juegues un hechizo de criatura verde, puedes buscar en tu biblioteca una carta de criatura y mostrarla. Si lo haces, baraja tu biblioteca y pon la carta en la parte superior.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn du einen grünen Kreaturenzauber spielst, kannst du deine Bibliothek nach einer Kreaturenkarte durchsuchen und sie offen vorzeigen. Falls du dies tust, mische deine Bibliothek und lege diese Karte oben darauf.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta giochi una magia creatura verde, puoi passare in rassegna il tuo grimorio, scegliere una carta creatura e rivelarla. Se lo fai, rimescola il tuo grimorio e metti quella carta in cima a esso.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたが緑のクリーチャー呪文をプレイするたび、あなたはあなたのライブラリーからクリーチャー・カードを1枚探して公開してもよい。 そうした場合、あなたのライブラリーを切り直し、そのカードをその一番上に置く。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you cast a green creature spell, you may search your library for a creature card and reveal it. If you do, shuffle your library and put that card on top of it.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда вы разыгрываете заклинание зеленого существа, вы можете найти карту существа в своей библиотеке и показать ее. Если вы это делаете, перетасуйте свою библиотеку и положите эту карту сверху.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que você joga uma mágica de criatura verde, você pode procurar em seu grimório por um card de criatura e revelá-lo. Se fizer isso, embaralhe seu grimório e coloque aquele card no topo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[每当你使用绿色生物咒语时,你可以从你的牌库中搜寻一张生物牌,并展示该牌。 若你如此作,则将你的牌库洗牌,并将该牌置于其上。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Whenever you cast a green creature spell, you may search your library for a creature card and reveal it. If you do, shuffle your library and put that card on top of it.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED" simple_qualifier="objectyoucontrol">
return TriggerObject():GetColour():Test( COLOUR_GREEN ) and TriggerObject():GetColour():Test( COLOUR_BLUE ) and TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local effectController = EffectController()
local cascadedCard = EffectDC():Get_CardPtr(1)
if cascadedCard ~= nil then
if effectController ~= nil then
effectController:BeginNewMultipleChoice()
effectController:AddMultipleChoiceAnswer( "CARD_QUERY_MOMIR_VIG_SIMIC_VISIONARY_SEARCH_LIBRARY_FOR_CREATURE" )
effectController:AddMultipleChoiceAnswer( "CARD_QUERY_DO_NOTHING" )
effectController:AskMultipleChoiceQuestion( "CARD_QUERY_MOMIR_VIG_SIMIC_VISIONARY", EffectSource() )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local effectController = EffectController()
local result = effectController:GetMultipleChoiceResult()
if result == 0 then
local filter = ClearFilter()
filter:SetZone( ZONE_LIBRARY, effectController )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
effectController:ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_PUT_ON_TOP_OF_LIBRARY", EffectDC():Make_Targets(0) )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local result = effectController:GetMultipleChoiceResult()
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if result == 0 and target ~= nil then
target:Reveal()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local result = effectController:GetMultipleChoiceResult()
if result == 0 then
EffectController():ShuffleLibrary()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local result = effectController:GetMultipleChoiceResult()
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if result == 0 and target ~= nil then
target:PutOnTopOfLibrary()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local card = EffectController():Library_GetTop()
if card ~= nil then
card:Reveal()
EffectDC():Set_CardPtr(1, card)
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local card = EffectDC():Get_CardPtr(1)
if card ~= nil then
if card:GetCardType():Test( CARD_TYPE_CREATURE ) then
card:PutInHand()
end
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" />
<AUTHOR><![CDATA[Xander9009]]></AUTHOR>
<EDITORS><![CDATA[Xander9009]]></EDITORS>
<DATE><![CDATA[20-03-15]]></DATE>
</CARD_V2>
- Grindstone | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="GRINDSTONE_909004610" />
<CARDNAME text="GRINDSTONE" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Grindstone]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Grindstone]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Grindstone]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Grindstone]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Grindstone]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Grindstone]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Grindstone]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Grindstone]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Grindstone]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[Grindstone]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Grindstone]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="909004610" />
<ARTID value="909004610" />
<ARTIST name="Greg Simanson" />
<CASTING_COST cost="{1}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[“Memory is a burden that wears at the soul as weather wears at stone.”]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Artifact" />
<EXPANSION value="TE" />
<RARITY metaname="R" />
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{3}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. If both cards share a color, repeat this process.]]></LOCALISED_TEXT>
<COST mana_cost="{3}" type="Mana" />
<COST type="TapSelf" />
<TARGET tag="CARD_QUERY_CHOOSE_PLAYER_MILL_2" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local Target = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if Target ~= nil then
local Repeat = true
while Repeat do
local Top1 = Target:Library_GetNth(0)
local Top2 = Target:Library_GetNth(1)
if Top1 == nil or Top2 == nil or Top1:GetColour():TestAny( Top2:GetColour() ) == false then
Repeat = false
end
Target:MillCards(2)
end
end
</RESOLUTION_TIME_ACTION>
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY" />
</ACTIVATED_ABILITY>
<AUTHOR><![CDATA[Xander9009]]></AUTHOR>
<EDITORS><![CDATA[Xander9009]]></EDITORS>
<DATE><![CDATA[20-03-15]]></DATE>
</CARD_V2>
- Arc Trail | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="ARC_TRAIL_909386301" />
<CARDNAME text="ARC_TRAIL" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Arc Trail]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Trace d’arc électrique]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Rastro del arco]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lichtbogen-Spur]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Striscia ad Arco]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[電弧の痕跡]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Arc Trail]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Дуговой След]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Trilha de Arco Elétrico]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[弧光曳迹]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[弧光曳跡]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="909386301" />
<ARTID value="909386301" />
<ARTIST name="Marc Simonetti" />
<CASTING_COST cost="{1}{R}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Don’t try to hit your enemies. Concentrate on the space between them, and fill the air with doom.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« N’essayez pas de toucher vos ennemis. Concentrez-vous sur l’espace qui les sépare et emplissez l’air de mort. »]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“No intentes golpear a tus enemigos. Concéntrate en el espacio entre ellos, y llena el aire con su perdición.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Versucht nicht, eure Feinde zu treffen. Konzentriert euch auf die Stellen zwischen ihnen, und füllt diese Luft mit Verderben!”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Non tentare di colpire i tuoi nemici. Concentrati sullo spazio che li separa e riempi l’aria di distruzione.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「敵を打とうとするな。敵との間の空間に集中し、その間を破滅で埋めるのだ。」]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Don’t try to hit your enemies. Concentrate on the space between them, and fill the air with doom.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Не пытайся поразить врагов. Сконцентрируйся на пространстве между ними и заполни воздух предчувствием гибели».]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Não tente atingir seus inimigos. Concentre-se no espaço entre eles e preencha o ar com desolação.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[「别试着去打中所有敌人。 专心注意他们之间的空隙,然后以毁灭填满大气。」]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[「別試著去打中所有敵人。 專心注意他們之間的空隙,然後以毀滅填滿大氣。」]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Sorcery" />
<EXPANSION value="DDN" />
<RARITY metaname="U" />
<SPELL_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Arc Trail deals 2 damage to target creature or player and 1 damage to another target creature or player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La Trace d’arc électrique inflige 2 blessures à une cible, créature ou joueur et 1 blessure à une autre cible, créature ou joueur.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[El Rastro del arco hace 2 puntos de daño a la criatura o jugador objetivo y 1 punto de daño a otra criatura o jugador objetivo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die Lichtbogen-Spur fügt einer Kreatur oder einem Spieler deiner Wahl 2 Schadenspunkte und einer anderen Kreatur oder einem anderen Spieler deiner Wahl 1 Schadenspunkt zu.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La Striscia ad Arco infligge 2 danni a una creatura o a un giocatore bersaglio e 1 danno a un’altra creatura o un altro giocatore bersaglio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[クリーチャー1体かプレイヤー1人と、他のクリーチャー1体かプレイヤー1人を対象とする。電弧の痕跡はその前者に2点のダメージ、その後者に1点のダメージを与える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Arc Trail deals 2 damage to target creature or player and 1 damage to another target creature or player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Дуговой След наносит 2 повреждения целевому существу или игроку и 1 повреждение другому целевому существу или игроку.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Trilha de Arco Elétrico causa 2 pontos de dano à criatura ou ao jogador alvo e 1 ponto de dano a outra criatura ou jogador alvo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[弧光曳迹对目标生物或牌手造成2点伤害,并对另一个目标生物或牌手造成1点伤害。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[弧光曳跡對目標生物或玩家造成2點傷害,並對另一個目標生物或玩家造成1點傷害。]]></LOCALISED_TEXT>
<TARGET tag="CARD_QUERY_CHOOSE_DEAL_2_DAMAGE" definition="0" compartment="0" count="1" dependency="1" />
<TARGET tag="CARD_QUERY_CHOOSE_DEAL_1_DAMAGE" definition="1" compartment="1" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_CARDS + FILTER_TYPE_PLAYERS )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
</TARGET_DEFINITION>
<TARGET_DEFINITION id="1">
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_CARDS + FILTER_TYPE_PLAYERS )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
local first_card = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
local first_player = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if first_card ~= nil then
filter:Add( FE_CARD_INSTANCE, OP_NOT, first_card )
elseif first_player ~= nil then
filter:Add( FE_PLAYER_INSTANCE, OP_NOT, first_player )
end
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local first_creature = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
local first_player = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_PlayerPtr(0)
local second_creature = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
local second_player = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_PlayerPtr(0)
local effectSourceLKI = EffectSourceLKI()
if ( first_creature ~= nil ) then
effectSourceLKI:DealDamageTo( 1, first_creature )
elseif ( first_player ~= nil ) then
effectSourceLKI:DealDamageTo( 1, first_player )
end
if ( second_creature ~= nil ) then
effectSourceLKI:DealDamageTo( 2, second_creature )
elseif ( second_player ~= nil ) then
effectSourceLKI:DealDamageTo( 2, second_player )
end
</RESOLUTION_TIME_ACTION>
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY" />
<AI_SIMPLIFIED_TARGETING compartment="1" hint="HINT_ENEMY" />
</SPELL_ABILITY>
<AUTHOR><![CDATA[Xander9009]]></AUTHOR>
<EDITORS><![CDATA[Xander9009]]></EDITORS>
<DATE><![CDATA[20-03-15]]></DATE>
</CARD_V2>
_______________________________
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 Xander9009 » 20 Mar 2015, 20:41
tinisking wrote:Hey guys.
Can anyone help me to code:
1) Sorin's Vengeance
2) Nekrataal
3) Tomb of Urami
4) Tombstalker
Thanks!
Regards,
Tinisking
- Nekrataal | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="NEKRATAAL_909389615" />
<CARDNAME text="NEKRATAAL" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Nekrataal]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Nékrataal]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Nekrataal]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nekrataal]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nekrataal]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ネクラタル]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Nekrataal]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Некраталь]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Nekrataal]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[尼可拉塔]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[尼可拉塔]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="909389615" />
<ARTID value="909389615" />
<ARTIST name="Christopher Moeller" />
<CASTING_COST cost="{2}{B}{B}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[His victims don’t have time to feel despair.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[His victims don’t have time to feel despair.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[His victims don’t have time to feel despair.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[His victims don’t have time to feel despair.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[His victims don’t have time to feel despair.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「全員を守るのは無理よ、ジェイス。」]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[His victims don’t have time to feel despair.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[His victims don’t have time to feel despair.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[His victims don’t have time to feel despair.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[其下手目标连感到绝望的时间都没有。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[其下手目標連感到絕望的時間都沒有。]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Human" />
<SUB_TYPE metaname="Assassin" />
<EXPANSION value="C14" />
<RARITY metaname="U" />
<POWER value="2" />
<TOUGHNESS value="1" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[First strike]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Initiative]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Daña primero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Erstschlag]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Attacco improvviso]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[先制攻撃]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[선제공격]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Первый удар]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Iniciativa]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_FIRST_STRIKE" />
</STATIC_ABILITY>
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Nekrataal enters the battlefield, destroy target nonartifact, nonblack creature. That creature can’t be regenerated.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Quand le Nékrataal arrive en jeu, détruisez la créature non-artefact, non-noire ciblée. Cette créature ne peut pas être régénérée.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando el Nekrataal entre en juego, destruye la criatura objetivo que no sea artefacto y que no sea negra. Esa criatura no puede ser regenerada.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn der Nekrataal ins Spiel kommt, zerstöre eine nichtschwarze Nichtartefaktkreatur deiner Wahl. Diese Kreatur kann nicht regeneriert werden.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando il Nekrataal entra in gioco, distruggi una creatura bersaglio non artefatto, non nera. Quella creatura non può essere rigenerata.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ネクラタルが戦場に出たとき、アーティファクトでも黒でもないクリーチャー1体を対象とし、それを破壊する。そのクリーチャーは再生できない。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[When Nekrataal enters the battlefield, destroy target nonartifact, nonblack creature. That creature can’t be regenerated.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Некраталь вступает в игру, уничтожьте целевое неартефактное нечерное существо. Это существо не может быть регенерировано.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Quando Nekrataal entra em jogo, destrói a criatura alvo que não seja preta nem artefato. Aquela criatura não pode ser regenerada.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[当尼可拉塔进战场时,消灭目标非神器且非黑色的生物。该生物不能重生。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[當尼可拉塔進場時,消滅目標非神器且非黑色的生物。 該生物不能重生。]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_DESTROY_NBLACK_NARTIFACT" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:Add( FE_COLOUR, OP_NOT, COLOUR_BLACK )
filter:Add( FE_TYPE, OP_NOT, CARD_TYPE_ARTIFACT )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
target:DestroyWithoutRegenerate()
end
</RESOLUTION_TIME_ACTION>
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
</TRIGGERED_ABILITY>
<HELP title="MORE_INFO_BADGE_TITLE_0" body="MORE_INFO_BADGE_BODY_0" zone="ZONE_ANY" />
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
<AUTHOR><![CDATA[Xander9009]]></AUTHOR>
<EDITORS><![CDATA[Xander9009]]></EDITORS>
<DATE><![CDATA[20-03-15]]></DATE>
</CARD_V2>
- Tomb of Urami | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="TOMB_OF_URAMI_90974492" />
<CARDNAME text="TOMB_OF_URAMI" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Tomb of Urami]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tombe d’Urami]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Tumba de Urami]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Uramis Gruft]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tomba di Urami]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[烏羅未の墳墓]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Tomb of Urami]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Tomb of Urami]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Tumba de Urami]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[乌罗未之墓]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Tomb of Urami]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="90974492" />
<ARTID value="90974492" />
<ARTIST name="Alex Horley-Orlandelli" />
<CASTING_COST cost="" />
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Land" />
<EXPANSION value="SOK" />
<RARITY metaname="R" />
<ACTIVATED_ABILITY forced_skip="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {B} to your mana pool. Tomb of Urami deals 1 damage to you if you don’t control an Ogre.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T} : Ajoutez {B} à votre réserve. La Tombe d’Urami vous inflige 1 blessure si vous ne contrôlez pas au moins un ogre.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Agrega {B} a tu reserva de maná. La Tumba de Urami te hace 1 punto de daño si no controlas un Ogro.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Erhöhe deinen Manavorrat um {B}. Uramis Gruft fügt dir 1 Schadenspunkt zu, falls du keinen Oger kontrollierst.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Aggiungi {B} alla tua riserva di mana. La Tomba di Urami ti infligge 1 danno se non controlli almeno un Ogre.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}:あなたのマナ・プールに{B}を加える。 あなたがオーガをコントロールしていない場合、烏羅未の墳墓はあなたに1点のダメージを与える。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Add {B} to your mana pool. Tomb of Urami deals 1 damage to you if you don’t control an Ogre.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Add {B} to your mana pool. Tomb of Urami deals 1 damage to you if you don’t control an Ogre.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Adiciona {B} à sua reserva de mana. Tumba de Urami causa 1 ponto de dano a você se você não controlar um Ogre.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{T}:加{B}到你的法术力池中。 如果你未操控食人魔,乌罗未之墓对你造成1点伤害。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{T}: Add {B} to your mana pool. Tomb of Urami deals 1 damage to you if you don’t control an Ogre.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_Produce( "{B}", 1 )
local filter = ClearFilter()
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_OGRE )
if filter:CountStopAt(1) == 0 then
EffectSourceLKI():DealDamageTo( 1, EffectController() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_EliminateExtraManaTokens()
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}" )
</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>
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_B" />
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{2}{B}{B}, {T}, Sacrifice all lands you control: Put a legendary 5/5 black Demon Spirit creature token with flying named Urami onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{2}{B}{B}, {T}, Sacrifiez tous les terrains que vous contrôlez : Mettez en jeu un jeton de créature légendaire 5/5 noire Démon et Esprit avec le vol appelée Urami.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{2}{B}{B}, {T}, sacrificar todas las tierras que controlas: Pon en juego una ficha de criatura legendaria Espíritu Demonio negra 5/5 llamada Urami con la habilidad de volar.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{2}{B}{B}, {T}, opfere alle Länder, die du kontrollierst: Bringe einen legendären 5/5 schwarzen Dämon-Geist-Spielstein mit Flugfähigkeit namens Urami ins Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{2}{B}{B}, {T}, Sacrifica tutte le terre che controlli: Metti in gioco una pedina creatura leggendaria Spirito Demone 5/5 nera con volare di nome Urami.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{2}{B}{B}, {T}, あなたがコントロールする土地をすべて生け贄に捧げる:「烏羅未」という名前の飛行を持つ黒の5/5の伝説のデーモン・スピリット・クリーチャー・トークンを1体場に出す。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{2}{B}{B}, {T}, Sacrifice all lands you control: Put a legendary 5/5 black Demon Spirit creature token with flying named Urami onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{2}{B}{B}, {T}, Sacrifice all lands you control: Put a legendary 5/5 black Demon Spirit creature token with flying named Urami onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{2}{B}{B}, {T}, Sacrifique todos os terrenos que você controla: Coloque em jogo uma ficha de criatura preta lendária 5/5 do tipo Espírito Demônio com a habilidade de voar chamada Urami.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{2}{B}{B},{T},牺牲所有由你操控的地:将一个5/5黑色,名称为乌罗未,具飞行异能的传奇恶魔/精怪衍生物放置进场。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{2}{B}{B}, {T}, Sacrifice all lands you control: Put a legendary 5/5 black Demon Spirit creature token with flying named Urami onto the battlefield.]]></LOCALISED_TEXT>
<COST mana_cost="{2}{B}{B}" type="Mana" />
<COST type="TapSelf" />
<COST type="generic">
<PREREQUISITE>
return true
</PREREQUISITE>
<RESOLUTION_TIME_ACTION>
local total = 0
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
local filter_count = filter:EvaluateObjects()
if filter_count > 0 then
for i=0,filter_count-1 do
local land = filter:GetNthEvaluatedObject(i)
if land ~= nil then
EffectController():Sacrifice(land)
end
end
end
EffectDC():Set_Int(1, total)
</RESOLUTION_TIME_ACTION>
</COST>
<RESOLUTION_TIME_ACTION>
MTG():PutTokensOntoBattlefield( "TOKEN_URAMI_5_5_B_90974492", 1, EffectController() )
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="declare_blockers" type="window" window_in_combat="1" />
<AI_AVAILABILITY type="in_response" />
<AI_AVAILABILITY window_step="end_of_turn" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
</ACTIVATED_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="TOKEN_URAMI_5_5_B_90974492" />
</CARD_V2>
- Urami token | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="TOKEN_URAMI_5_5_B_90974492" />
<CARDNAME text="URAMI" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[URAMI]]></LOCALISED_TEXT>
</TITLE>
<ARTID value="CWT047" />
<COLOUR value="B" />
<ARTIST name="Unknown" />
<CASTING_COST cost="" />
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Demon" />
<SUB_TYPE metaname="Spirit" />
<EXPANSION value="DPI" />
<RARITY metaname="T" />
<POWER value="5" />
<TOUGHNESS value="5" />
<TOKEN />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비행]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Полет]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Voar]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_FLYING" />
</STATIC_ABILITY>
<SFX text="COMBAT_CLAW_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_CLAW_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
- Tombstalker | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="TOMBSTALKER_909370539" />
<CARDNAME text="TOMBSTALKER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Tombstalker]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Pisteur des tombes]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Rondador de tumbas]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Gräberschleicher]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Cacciatore Sepolcrale]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[墓忍び]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Tombstalker]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Могильный Охотник]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Profanador de Tumba]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[潜墓魔]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Tombstalker]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="909370539" />
<ARTID value="909370539" />
<ARTIST name="Aleksi Briclot" />
<CASTING_COST cost="{6}{B}{B}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Demon" />
<EXPANSION value="MMA" />
<RARITY metaname="R" />
<POWER value="5" />
<TOUGHNESS value="5" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비행]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Полет]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Voar]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_FLYING" />
</STATIC_ABILITY>
<STATIC_ABILITY active_zone="ZONE_ANY">
<CONTINUOUS_ACTION layer="6">
if Object() ~= nil then
local characteristics = Object():GetCurrentCharacteristics()
if Object():GetZone() == ZONE_HAND then
characteristics:GrantAbility(1)
elseif Object():GetZone() == ZONE_GRAVEYARD then
characteristics:GrantAbility(2)
end
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<STATIC_ABILITY active_zone="ZONE_EXILE">
<CONTINUOUS_ACTION layer="6">
if Object() ~= nil then
local characteristics = Object():GetCurrentCharacteristics()
characteristics:GrantAbility(3)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY forced_skip="1" active_zone="ZONE_LIBRARY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Delve |(Each card you exile from your graveyard while casting this spell pays for| {1} |.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Fouille |(Chaque carte que vous exilez depuis votre cimetière en lançant ce sort paie| {1} |.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Excavar |(Cada carta que exilies de tu cementerio al lanzar este hechizo cuenta como un pago de| {1} |.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wühlen |(Mit jeder Karte, die du aus deinem Friedhof ins Exil schickst, während du diesen Zauberspruch wirkst, bezahlst du| {1} |seiner Kosten.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Esumare |(Ogni carta che esili dal tuo cimitero mentre lanci questa magia corrisponde al pagamento di| {1} |.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[探査 (この呪文を唱える段階であなたがあなたの墓地から追放した各カードは、{1}を支払う。)]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[파헤치기 (이 주문을 발동하는 동안 당신이 당신의 무덤에서 추방하는 카드는 {1}을 지불한다.)]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Выкапывание |(Каждая карта, которую вы изгоняете из вашего кладбища при разыгрывании этого заклинания, считается оплатой| {1} |.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Esquadrinhar |(Cada card que você exila de seu cemitério quando conjura esta mágica paga por| {1} |.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[掘穴(你于施放此咒语时每从你坟墓场中放逐一张牌,就能为此咒语支付{1})。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[掘穴(你於施放此咒語時每從你墳墓場中放逐一張牌,就能為此咒語支付{1})。]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
</PLAY_TIME_ACTION>
<TARGET tag="CARD_QUERY_CHOOSE_ANY_KIND_OF_CARD_TO_EXILE" definition="0" compartment="0" up_to="1">
local CostChange = UpdateColourlessCostValue(Object())
local ObZone = Object():GetZone()
local filter = ClearFilter()
filter:Add( FE_CARD_INSTANCE, OP_IS, Object() )
filter:SetZone(ObZone)
local ColourlessTotal = filter:ChromaCount( COLOUR_COLOURLESS )
local UpdateCost = ColourlessTotal + CostChange
if UpdateCost > 0 then
EffectDC():Set_Int(101,UpdateCost)
else
EffectDC():Set_Int(101,0)
end
MTG():SetTargetCount( EffectDC():Get_Int(101) )
</TARGET>
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetZone( ZONE_GRAVEYARD, EffectController() )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local count = EffectDC():Get_Int(101)
local oDC = RSN_GetObjectDC( Object(), true )
oDC:Int_Set( 0, 0 )
for i = 0, count-1 do
local target_card = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(i)
if target_card ~= nil then
oDC:Int_Inc( 0 )
oDC:Set_CardPtr( i+1, target_card )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_MarkManaAbilityEnd()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<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="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="1" forced_skip="1" active_zone="ZONE_HAND">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Select cards to delve]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sélectionnez les cartes à fouiller]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Seleccionar tarjetas de excavar]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wählen Sie Karten, um zu vertiefen]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Selezionare le carte da esumare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[探求するカードを選択します]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[탐구 카드를 선택]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Выберите карты, чтобы копаться]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Escolha cartões de esquadrinhar]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
</PLAY_TIME_ACTION>
<TARGET tag="CARD_QUERY_CHOOSE_ANY_KIND_OF_CARD_TO_EXILE" definition="0" compartment="0" up_to="1">
local CostChange = UpdateColourlessCostValue(Object())
local ObZone = Object():GetZone()
local filter = ClearFilter()
filter:Add( FE_CARD_INSTANCE, OP_IS, Object() )
filter:SetZone(ObZone)
local ColourlessTotal = filter:ChromaCount( COLOUR_COLOURLESS )
local UpdateCost = ColourlessTotal + CostChange
if UpdateCost > 0 then
EffectDC():Set_Int(101,UpdateCost)
else
EffectDC():Set_Int(101,0)
end
MTG():SetTargetCount( EffectDC():Get_Int(101) )
</TARGET>
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetZone( ZONE_GRAVEYARD, EffectController() )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local count = EffectDC():Get_Int(101)
local oDC = RSN_GetObjectDC( Object(), true )
oDC:Int_Set( 0, 0 )
for i = 0, count-1 do
local target_card = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(i)
if target_card ~= nil then
oDC:Int_Inc( 0 )
oDC:Set_CardPtr( i+1, target_card )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_MarkManaAbilityEnd()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<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="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="2" forced_skip="1" active_zone="ZONE_GRAVEYARD">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Select cards to delve]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sélectionnez les cartes à fouiller]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Seleccionar tarjetas de excavar]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wählen Sie Karten, um zu vertiefen]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Selezionare le carte da esumare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[探求するカードを選択します]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[탐구 카드를 선택]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Выберите карты, чтобы копаться]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Escolha cartões de esquadrinhar]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
</PLAY_TIME_ACTION>
<TARGET tag="CARD_QUERY_CHOOSE_ANY_KIND_OF_CARD_TO_EXILE" definition="0" compartment="0" up_to="1">
local CostChange = UpdateColourlessCostValue(Object())
local ObZone = Object():GetZone()
local filter = ClearFilter()
filter:Add( FE_CARD_INSTANCE, OP_IS, Object() )
filter:SetZone(ObZone)
local ColourlessTotal = filter:ChromaCount( COLOUR_COLOURLESS )
local UpdateCost = ColourlessTotal + CostChange
if UpdateCost > 0 then
EffectDC():Set_Int(101,UpdateCost)
else
EffectDC():Set_Int(101,0)
end
MTG():SetTargetCount( EffectDC():Get_Int(101) )
</TARGET>
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:Add( FE_CARD_INSTANCE, OP_NOT, Object() )
filter:SetZone( ZONE_GRAVEYARD, EffectController() )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local count = EffectDC():Get_Int(101)
local oDC = RSN_GetObjectDC( Object(), true )
oDC:Int_Set( 0, 0 )
for i = 0, count-1 do
local target_card = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(i)
if target_card ~= nil then
oDC:Int_Inc( 0 )
oDC:Set_CardPtr( i+1, target_card )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_MarkManaAbilityEnd()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<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="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="3" forced_skip="1" active_zone="ZONE_EXILE">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Select cards to delve]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sélectionnez les cartes à fouiller]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Seleccionar tarjetas de excavar]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wählen Sie Karten, um zu vertiefen]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Selezionare le carte da esumare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[探求するカードを選択します]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[탐구 카드를 선택]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Выберите карты, чтобы копаться]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Escolha cartões de esquadrinhar]]></LOCALISED_TEXT>
<COST mana_cost="{0}" type="Mana" />
<PLAY_TIME_ACTION>
RSN_MarkManaAbilityStart()
</PLAY_TIME_ACTION>
<TARGET tag="CARD_QUERY_CHOOSE_ANY_KIND_OF_CARD_TO_EXILE" definition="0" compartment="0" up_to="1">
local CostChange = UpdateColourlessCostValue(Object())
local ObZone = Object():GetZone()
local filter = ClearFilter()
filter:Add( FE_CARD_INSTANCE, OP_IS, Object() )
filter:SetZone(ObZone)
local ColourlessTotal = filter:ChromaCount( COLOUR_COLOURLESS )
local UpdateCost = ColourlessTotal + CostChange
if UpdateCost > 0 then
EffectDC():Set_Int(101,UpdateCost)
else
EffectDC():Set_Int(101,0)
end
MTG():SetTargetCount( EffectDC():Get_Int(101) )
</TARGET>
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:SetZone( ZONE_GRAVEYARD, EffectController() )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local count = EffectDC():Get_Int(101)
local oDC = RSN_GetObjectDC( Object(), true )
oDC:Int_Set( 0, 0 )
for i = 0, count-1 do
local target_card = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(i)
if target_card ~= nil then
oDC:Int_Inc( 0 )
oDC:Set_CardPtr( i+1, target_card )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
RSN_MarkManaAbilityEnd()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" />
<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="main_2" window_turn="my_turn" type="window" />
<AI_AVAILABILITY window_step="end_of_turn" type="window" />
<AI_AVAILABILITY type="in_response" response_source="1" />
</ACTIVATED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="CONSIDERED_FOR_CAST" simple_qualifier="self" pre_trigger="1" />
<RESOLUTION_TIME_ACTION>
local oDC = RSN_GetObjectDC( Object(), false )
if TriggerObject() ~= nil and oDC ~= nil then
local CostChange = oDC:Int_Get(0)
oDC:Int_Set( 1000, 1 )
TriggerObject():DecreaseCost( CostChange )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="SPELL_PLAYED" simple_qualifier="self" pre_trigger="1" />
<RESOLUTION_TIME_ACTION>
local oDC = RSN_GetObjectDC( Object(), false )
if oDC ~= nil then
local count = oDC:Int_Get(0)
for i = 1, count do
local target_card = oDC:Get_CardPtr(i)
if target_card ~= nil then
target_card:Exile()
end
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="SPELL_PLAYED" simple_qualifier="another" pre_trigger="1">
local oDC = RSN_GetObjectDC( Object(), false )
if oDC ~= nil then
oDC:Int_Set(0,0)
end
</TRIGGER>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="ABILITY_PLAYED" simple_qualifier="another" pre_trigger="1">
local oDC = RSN_GetObjectDC( Object(), false )
if oDC ~= nil then
oDC:Int_Set(0,0)
end
</TRIGGER>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="ZONECHANGE_CONSIDERED" pre_trigger="1" simple_qualifier="self" />
<RESOLUTION_TIME_ACTION>
RSN_ProtectObjectDC()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="BEGINNING_OF_STEP">
if ((MTG():GetStep() == STEP_UPKEEP) and (MTG():GetTurnNumber() == 0)) then
local chest = EffectController():PlayerDataChest():Get_Chest(NEO_CHEST_AAM)
if chest ~= nil then
return false
else
local chest = EffectController():PlayerDataChest():Make_Chest(NEO_CHEST_AAM)
return true
end
end
</TRIGGER>
<RESOLUTION_TIME_ACTION>
RSN_Characteristics_CreateManagers("ABILITIES_ACTIVE_MANAGER_TOKEN")
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_MANA_C" />
<TOKEN_REGISTRATION reservation="1" type="RSN_TOKEN_CHARACTERISTIC_MANAGER" />
<TOKEN_REGISTRATION reservation="1" type="ABILITIES_ACTIVE_MANAGER_TOKEN" />
<HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" />
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
- ABILITIES_ACTIVE_MANAGER_TOKEN | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="ABILITIES_ACTIVE_MANAGER_TOKEN" />
<CARDNAME text="ABILITIES_ACTIVE_MANAGER_TOKEN" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[ABILITIES ACTIVE MANAGER]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[ABILITIES ACTIVE MANAGER]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[ABILITIES ACTIVE MANAGER]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[ABILITIES ACTIVE MANAGER]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[ABILITIES ACTIVE MANAGER]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ABILITIES ACTIVE MANAGER]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[ABILITIES ACTIVE MANAGER]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[ABILITIES ACTIVE MANAGER]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[ABILITIES ACTIVE MANAGER]]></LOCALISED_TEXT>
</TITLE>
<ARTID value="0" />
<ARTIST name="None" />
<CASTING_COST cost="" />
<EXPANSION value="MANAGER_TOKENS" />
<RARITY metaname="T" />
<!-- Shroud so it can't be targeted. -->
<STATIC_ABILITY>
<INTRINSIC characteristic="CHARACTERISTIC_SHROUD" />
</STATIC_ABILITY>
<!-- Indestructible so it can't be destroyed. -->
<STATIC_ABILITY>
<INTRINSIC characteristic="CHARACTERISTIC_INDESTRUCTIBLE" />
</STATIC_ABILITY>
<!-- Protection from everything to prevent unwanted removal. -->
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="0">
if (EffectSource() ~= nil) then
local oFilter = ClearFilter()
local oSubfilter = oFilter:AddSubFilter_Or()
oSubfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
oSubfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
oSubfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
oSubfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_INSTANT )
oSubfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
oSubfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_PHENOMENON )
oSubfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_PLANE )
oSubfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_PLANESWALKER )
oSubfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_SCHEME )
oSubfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_SORCERY )
EffectSource():Protection()
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<!-- Now we have extra abilities for those characteristics which are built into this manager. -->
<!-- In other words these are the functions that make the custom characteristics actually do something. -->
<STATIC_ABILITY>
<FILTER filter_id="0">
local filter = ClearFilter()
local subfilter = filter:AddSubFilter_Or()
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_PLANESWALKER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController())
</FILTER>
<CONTINUOUS_ACTION layer="6" filter_id="0">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
RSN_Characteristics_Set( FilteredCard(), NEO_ABILITIES_ACTIVE, 0 )
characteristics:GrantAbility(1)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<STATIC_ABILITY resource_id="1">
<CONTINUOUS_ACTION layer="7A">
RSN_Characteristics_Set( EffectSource(), NEO_ABILITIES_ACTIVE, 1 )
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
</CARD_V2>
Sorin's Vengeance is in the base game.
Last edited by Xander9009 on 20 Mar 2015, 20:49, edited 1 time in total.
_______________________________
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 Xander9009 » 20 Mar 2015, 20:43
Alright. There's all of the requests that I saw for cards. Each card has been tested and is working. They'll all be included in the CW.
_______________________________
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 zysron » 21 Mar 2015, 07:02
awsome i love you guys...
how do i pull cards from previous/ newer versions of duels?
but i have a few cards from two different decks
Crypt of Agadeem
Champion of Stray Souls
Disentomb
Life's Finale
Necrotic Ooze
Profane Command
Rhystic Tutor
Royal Assassin
Scrib Nibblers
Xenograft
Woodland Changling
xenograft and the changling go in my ally deck... xeno causes and instant win situation
wierd... changling doesnt show up... no matter only need the xenograft (or wait want changing creature types impossible?)
last edit... i dont know if necrotic ooze can work right...
i'll wait a few more days then look up some more cards
btw my black white allydeck... crazy ... doesnt need xeno and green for instant winn... did a 5th turn win lol
how do i pull cards from previous/ newer versions of duels?
but i have a few cards from two different decks
Crypt of Agadeem
Champion of Stray Souls
Disentomb
Life's Finale
Necrotic Ooze
Profane Command
Rhystic Tutor
Royal Assassin
Scrib Nibblers
Xenograft
Woodland Changling
xenograft and the changling go in my ally deck... xeno causes and instant win situation
wierd... changling doesnt show up... no matter only need the xenograft (or wait want changing creature types impossible?)
last edit... i dont know if necrotic ooze can work right...
i'll wait a few more days then look up some more cards
btw my black white allydeck... crazy ... doesnt need xeno and green for instant winn... did a 5th turn win lol
Re: Formal Request Thread
by zysron » 21 Mar 2015, 08:26
one quick request how would i make a card that produces 1000 mana and adds an extra turn?
i know this sounds weird but i want to use it in 2013 so i can use the planechase deck irl.
since the turn wont end till you end it i think that would be just right
maybe labeled
planar dice
basic land- dice
(tap)=add (1000)
after this turn take another turn
gonna try myself first i'll check back tomarrow night see if i got it right
i know this sounds weird but i want to use it in 2013 so i can use the planechase deck irl.
since the turn wont end till you end it i think that would be just right
maybe labeled
planar dice
basic land- dice
(tap)=add (1000)
after this turn take another turn
gonna try myself first i'll check back tomarrow night see if i got it right
Re: Formal Request Thread
by zysron » 21 Mar 2015, 09:46
deleted
Last edited by zysron on 21 Mar 2015, 10:06, edited 1 time in total.
Re: Formal Request Thread
by zysron » 21 Mar 2015, 10:05
k got is solved
planar die (0)
artifact
when you cast planar die, take an extra turn after this one
indestructible
tap add 1000 colorless mana to your mana pool
planar die (0)
artifact
when you cast planar die, take an extra turn after this one
indestructible
tap add 1000 colorless mana to your mana pool
- | Open
- <?xml version='1.0'?>
<CARD_V2>
<FILENAME text="PLANAR_DIE_x77285" />
<CARDNAME text="PLANAR_DIE" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Planar Die]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="x77285" />
<ARTID value="104615" />
<ARTIST name="Volkan Baga" />
<CASTING_COST cost="{0}" />
<TYPE metaname="Artifact" />
<EXPANSION value="DPG" />
<RARITY metaname="R" />
<TRIGGERED_ABILITY active_zone="ZONE_ANY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When you cast Planar Die, take an extra turn after this one.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED" simple_qualifier="self" />
<SFX text="GLOBAL_WARP_PLAY" />
<RESOLUTION_TIME_ACTION>
local effectController = EffectController()
if effectController ~= nil then
local team = effectController:GetTeam()
team:TakeExtraTurn()
end
</RESOLUTION_TIME_ACTION>
<AUTO_SKIP always="1" />
</TRIGGERED_ABILITY>
<MANA_ABILITY>
<COST type="TapSelf" />
<PRODUCES amount="{1000}" />
</MANA_ABILITY>
<AI_BASE_SCORE score="450" zone="ZONE_IN_PLAY" />
</CARD_V2>
Re: Formal Request Thread
by RiiakShiNal » 21 Mar 2015, 13:30
Necrotic Ooze can't be made as there is no way to get the abilities.zysron wrote:i dont know if necrotic ooze can work right...
That doesn't actually add 1000 mana to the mana pool because there is no mana pool so it is basically works as a one-off get an extra turn and use up to 1000 colourless mana once per turn (after first use you will have no mana so if you only usedzysron wrote:k got is solved
planar die (0)
artifact
when you cast planar die, take an extra turn after this one
indestructible
tap add 1000 colorless mana to your mana pool
- | Open
- <?xml version='1.0'?>
<CARD_V2>
<FILENAME text="PLANAR_DIE_x77285" />
<CARDNAME text="PLANAR_DIE" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Planar Die]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="x77285" />
<ARTID value="104615" />
<ARTIST name="Volkan Baga" />
<CASTING_COST cost="{0}" />
<TYPE metaname="Artifact" />
<EXPANSION value="DPG" />
<RARITY metaname="R" />
<TRIGGERED_ABILITY active_zone="ZONE_ANY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When you cast Planar Die, take an extra turn after this one.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED" simple_qualifier="self" />
<SFX text="GLOBAL_WARP_PLAY" />
<RESOLUTION_TIME_ACTION>
local effectController = EffectController()
if effectController ~= nil then
local team = effectController:GetTeam()
team:TakeExtraTurn()
end
</RESOLUTION_TIME_ACTION>
<AUTO_SKIP always="1" />
</TRIGGERED_ABILITY>
<MANA_ABILITY>
<COST type="TapSelf" />
<PRODUCES amount="{1000}" />
</MANA_ABILITY>
<AI_BASE_SCORE score="450" zone="ZONE_IN_PLAY" />
</CARD_V2>

Alternately, you could add an ability to untap itself (if it is tapped).
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2188
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Formal Request Thread
by Xander9009 » 21 Mar 2015, 21:06
Woodland Changling didn't highlight because it's Woodland Changeling.zysron wrote:Awesome. I love you guys...
How do I pull cards from previous/newer versions of duels?
But I have a few cards from two different decks
Crypt of Agadeem
Champion of Stray Souls
Disentomb
Life's Finale
Necrotic Ooze
Profane Command
Rhystic Tutor
Royal Assassin
Scrib Nibblers
Xenograft
Woodland Changling
Xenograft and the changling go in my ally deck... xeno causes an instant win situation.
Weird... Changling doesn't show up... No matter. Only need the Xenograft (or wait wasn't changing creature types impossible?)
Last edit... I don't know if Necrotic Ooze can work right...
I'll wait a few more days then look up some more cards.
Btw, my black white ally deck... crazy... doesn't need xeno and green for instant win... did a 5th turn win lol.
For pulling cards from older/newer versions of the game, you ask us to make the card and let us know which version of the game it's in. If I'm the one to code it, I'll probably still just code it from scratch, but it's a really complicated card, having a working copy to look at will be really helpful even if it's in a slightly different version of the programming language.
As Riiak pointed out, Necrotic Ooze is impossible and has actually been discussed before. It would be a cool card, but it cannot be done correctly. Someone did make a copy that partially worked, but it was setup specifically to work in the particular deck it was put it (it could ONLY get the activated abilities of the creatures in that deck) and didn't work with the opponent's creatures. I'll get started on these today.
_______________________________
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 zysron » 21 Mar 2015, 22:11
any idea wehre i can find that copy? would still work for me
nvm i found it
hmm well i think i can work with this... by adding my cards into necrotic ooze instead of the ones in the wastenot's deck i think i can get it to work... maybe... its worth trying(yeah alot of coding for just one card but it makes it a power house if it works)
basically the top has the graveyard inquary for card name if valid to the secondary activating the possibility of using said ability which is listed below in order.
i'm gonna remove all non english from it to shorten it and it will only be used with 1 person... or the a.i..
and if i'm reading this card right... it will work for either players grave yard... just only the cards listed..
though if i really really wanted to spend the time... no that would take at least a month of r&d just to make one card.... for everyone
nvm i found it
hmm well i think i can work with this... by adding my cards into necrotic ooze instead of the ones in the wastenot's deck i think i can get it to work... maybe... its worth trying(yeah alot of coding for just one card but it makes it a power house if it works)
basically the top has the graveyard inquary for card name if valid to the secondary activating the possibility of using said ability which is listed below in order.
i'm gonna remove all non english from it to shorten it and it will only be used with 1 person... or the a.i..
and if i'm reading this card right... it will work for either players grave yard... just only the cards listed..
though if i really really wanted to spend the time... no that would take at least a month of r&d just to make one card.... for everyone
Re: Formal Request Thread
by zysron » 21 Mar 2015, 22:43
does anyone see why this would not work with opponents grave yard if they have the listed creature in their grave yard? b/c if not i might actually take one for the team and make it work for all creatures... though it would be a BIG card listing everything... it would be my pet project
- | Open
- <?xml version='1.0'?>
<CARD_V2>
<FILENAME text="NECROTIC_OOZE_277300" />
<CARDNAME text="NECROTIC_OOZE" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Necrotic Ooze]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="277300" />
<ARTID value="131041" />
<ARTIST name="James Ryman" />
<CASTING_COST cost="{2}{B}{B}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“To death all must go, and so in death lies ultimate power.”
—Geth, Lord of the Vault]]></LOCALISED_TEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Ooze" order_de-DE="0" order_es-ES="0" order_fr-FR="0" order_it-IT="0" order_jp-JA="0" order_ko-KR="0" order_pt-BR="0" order_ru-RU="0" />
<EXPANSION value="DPG" />
<RARITY metaname="R" />
<POWER value="4" />
<TOUGHNESS value="3" />
<STATIC_ABILITY filter_zone="ZONE_GRAVEYARD">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As long as Necrotic Ooze is on the battlefield, it has all activated abilities of all creature cards in all graveyards.]]></LOCALISED_TEXT>
<FILTER>
return (FilteredCard() ~= nil and
FilteredCard():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0 and
FilteredCard():GetZone() == (ZONE_GRAVEYARD))
</FILTER>
<CONTINUOUS_ACTION>
local characteristics = Object():GetCurrentCharacteristics()
local card = FilteredCard()
if card:GetCardName() == "MOLTENSTEEL_DRAGON" then
characteristics:GrantAbility(1)
elseif card:GetCardName() == "CLOCKWORK_HYDRA" then
characteristics:GrantAbility(2)
elseif card:GetCardName() == "GRIMGRIN_CORPSEBORN" then
characteristics:GrantAbility(3)
elseif card:GetCardName() == "ROYAL_ASSASSIN" then
characteristics:GrantAbility(4)
elseif card:GetCardName() == "SPIN_ENGINE" then
characteristics:GrantAbility(5)
elseif card:GetCardName() == "STEEL_HELLKITE" then
characteristics:GrantAbility(6)
characteristics:GrantAbility(7)
elseif card:GetCardName() == "DEMENTIA_BAT" then
characteristics:GrantAbility(8)
elseif card:GetCardName() == "DROSS_HOPPER" then
characteristics:GrantAbility(9)
elseif card:GetCardName() == "VECTOR_ASP" then
characteristics:GrantAbility(10)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY auto_skip="1" firebreathing="1" resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{I}: Necrotic Ooze gets +1/+0 until end of turn.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{R/P}" />
<CONTINUOUS_ACTION layer="7C">
if EffectSource() ~= nil then
EffectSource():GetCurrentCharacteristics():Power_Add( 1 )
EffectSource():GetCurrentCharacteristics():Toughness_Add( 0 )
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
<AI_AVAILABILITY step="declare_blockers" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="2">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Put a +1/+1 counter on Necrotic Ooze.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY step="declare_blockers" />
<AI_AVAILABILITY type="in_response_dangerous" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="3">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sacrifice another creature: Untap Necrotic Ooze and put a +1/+1 counter on it.]]></LOCALISED_TEXT>
<COST type="sacrifice">
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(6)
</TARGET_DETERMINATION>
<PLAYTIME>
EffectController():ChooseTarget( 6, "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE", EffectDC():Make_Targets(0) )
</PLAYTIME>
<TARGET_DEFINITION id="6">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetPlayer(EffectController())
filter:SetCardInstance( Object() )
filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
filter:SetZone( ZONE_IN_PLAY )
filter:SetHint( HINT_ALLIED, EffectController() )
filter:NotTargetted()
</TARGET_DEFINITION></COST>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():Untap()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY step="declare_blockers" />
<AI_AVAILABILITY type="in_response_dangerous" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="4">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Destroy target tapped creature.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetZone( ZONE_IN_PLAY )
filter:AddExtra( FILTER_EXTRA_CREATURE_TAPPED )
filter:SetHint( HINT_ENEMY, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_TO_DESTROY", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION ignore_filter="1">
local target = EffectDC():Get_Targets(0):Get_NthCardPtr(0)
if target ~= nil then
target:Destroy()
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" />
<AI_AVAILABILITY step="begin_combat" turn="their_turn" />
<AI_AVAILABILITY step="main_1" turn="my_turn" />
<AI_AVAILABILITY step="declare_attackers" turn="their_turn" />
<AI_AVAILABILITY step="declare_blockers" />
<AI_AVAILABILITY step="end_of_turn" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="5">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{R}: Target creature can’t block Necrotic Ooze this turn.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{R}" />
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetZone( ZONE_IN_PLAY )
filter:SetHint( HINT_ENEMY, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_GAIN_CANT_BLOCK", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
ObjectDC():Int_Inc( 1000 )
ObjectDC():Set_ProtectedCardPtr( 1000 + ObjectDC():Get_Int( 1000 ), target )
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY step="declare_attackers" turn="my_turn" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY auto_skip="1" firebreathing="1" resource_id="6">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{2}: Necrotic Ooze gets +1/+0 until end of turn.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{2}" />
<CONTINUOUS_ACTION layer="7C">
if EffectSource() ~= nil then
EffectSource():GetCurrentCharacteristics():Power_Add( 1 )
EffectSource():GetCurrentCharacteristics():Toughness_Add( 0 )
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
<AI_AVAILABILITY step="declare_blockers" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY per_turn_limit="1" resource_id="7">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{X}: Destroy each nonland permanent with converted mana cost X whose controller was dealt combat damage by Necrotic Ooze this turn. Activate this ability only once each turn.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{X}" />
<FILTER>
local player = ObjectDC():Get_PlayerPtr(97)
return (FilteredCard():GetPlayer() == player and FilteredCard():GetConvertedManaCost() == GetEffectX())
</FILTER>
<RESOLUTION_TIME_ACTION>
FilteredCard():Destroy()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY step="main_2" turn="my_turn" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="8">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{4}{B}, Sacrifice Necrotic Ooze: Target player discards two cards.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{4}{B}" />
<COST type="SacrificeSelf" />
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
filter:SetHint( HINT_ENEMY, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_PLAYER_DISCARD_2", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil then
local filter = Object():GetFilter()
filter:Clear()
filter:SetZone( ZONE_HAND )
filter:SetPlayer( player )
filter:NotTargetted()
player:SetTargetCount( 2 )
for i=0,2-1 do
player:SetTargetPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_DISCARD_2" )
end
player:ChooseTargets( NO_VALIDATION, EffectDC():Make_Targets(1) )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil then
for i = 0,(2-1) do
local target_card = EffectDC():Get_Targets(1):Get_CardPtr(i)
if target_card ~= nil then
target_card:Discard()
end
end
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" />
<AI_AVAILABILITY step="end_of_turn" turn="their_turn" />
<AI_AVAILABILITY step="main_1" turn="my_turn" />
<AI_AVAILABILITY step="main_2" turn="my_turn" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="9">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sacrifice a creature: Necrotic Ooze gains flying until end of turn.]]></LOCALISED_TEXT>
<COST type="Sacrifice">
<TARGET_DEFINITION id="6">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetPlayer( EffectController() )
filter:SetZone( ZONE_IN_PLAY )
filter:SetHint( HINT_ENEMY, EffectController() )
filter:NotTargetted()
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(6)
</TARGET_DETERMINATION>
<PLAYTIME>
EffectController():ChooseTarget( 6, "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE", EffectDC():Make_Targets(0) )
</PLAYTIME></COST>
<CONTINUOUS_ACTION layer="6">
local characteristics = Object():GetCurrentCharacteristics()
characteristics:Characteristic_Set( CHARACTERISTIC_FLYING, 1 )
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
<AI_AVAILABILITY step="declare_attackers" turn="my_turn" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="10">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{B}: Necrotic Ooze gains infect until end of turn.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{B}" />
<CONTINUOUS_ACTION layer="6">
local characteristics = Object():GetCurrentCharacteristics()
characteristics:Characteristic_Set( CHARACTERISTIC_INFECT, 1 )
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
<AI_AVAILABILITY step="declare_blockers" />
</ACTIVATED_ABILITY>
<TRIGGERED_ABILITY internal="1">
<TRIGGER value="CREATURE_DEALS_COMBAT_DAMAGE_TO_PLAYER" simple_qualifier="self" />
<RESOLUTION_TIME_ACTION>
local player = TriggerPlayer()
if player ~= nil then
ObjectDC():Set_PlayerPtr(97, player)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY internal="1">
<TRIGGER value="END_OF_TURN" />
<RESOLUTION_TIME_ACTION>
ObjectDC():Set_PlayerPtr(97, nil)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY internal="1" pre_trigger="1">
<TRIGGER value="EVASION_TEST">
-- test secondary object vs all stored card ptrs.
for i = 1, ObjectDC():Get_Int( 1000 ) do
if (SecondaryObject() == (ObjectDC():Get_ProtectedCardPtr( 1000 + i ) )) then
return true
end
end
return false
</TRIGGER>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY internal="1">
<TRIGGER value="BEGINNING_OF_STEP" simple_qualifier="controller">
return ( MTG():GetStep() == STEP_END_OF_TURN )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
for i = 1, ObjectDC():Get_Int( 1000 ) do
ObjectDC():Set_ProtectedCardPtr( (1000 + i), nil )
end
ObjectDC():Set_Int(1000, 0)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" />
<HELP title="MORE_INFO_BADGE_TITLE_31" body="MORE_INFO_BADGE_BODY_31" zone="ZONE_ANY" />
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
<AI_BASE_SCORE score="600" zone="ZONE_IN_PLAY" />
</CARD_V2>
Re: Formal Request Thread
by RiiakShiNal » 21 Mar 2015, 23:50
Note that even if you put every activated ability from every card into Necrotic Ooze to get it to work that way, it still won't work 100% correctly. A card can only have up to a maximum of 10 activated abilities so once you have enough creatures in graveyards while the approximated ooze will still receive them only the first 10 will ever be able to be activated.zysron wrote:does anyone see why this would not work with opponents grave yard if they have the listed creature in their grave yard? b/c if not i might actually take one for the team and make it work for all creatures... though it would be a BIG card listing everything... it would be my pet project
- | Open
- <?xml version='1.0'?>
<CARD_V2>
<FILENAME text="NECROTIC_OOZE_277300" />
<CARDNAME text="NECROTIC_OOZE" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Necrotic Ooze]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="277300" />
<ARTID value="131041" />
<ARTIST name="James Ryman" />
<CASTING_COST cost="{2}{B}{B}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“To death all must go, and so in death lies ultimate power.”
—Geth, Lord of the Vault]]></LOCALISED_TEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Ooze" order_de-DE="0" order_es-ES="0" order_fr-FR="0" order_it-IT="0" order_jp-JA="0" order_ko-KR="0" order_pt-BR="0" order_ru-RU="0" />
<EXPANSION value="DPG" />
<RARITY metaname="R" />
<POWER value="4" />
<TOUGHNESS value="3" />
<STATIC_ABILITY filter_zone="ZONE_GRAVEYARD">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As long as Necrotic Ooze is on the battlefield, it has all activated abilities of all creature cards in all graveyards.]]></LOCALISED_TEXT>
<FILTER>
return (FilteredCard() ~= nil and
FilteredCard():GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0 and
FilteredCard():GetZone() == (ZONE_GRAVEYARD))
</FILTER>
<CONTINUOUS_ACTION>
local characteristics = Object():GetCurrentCharacteristics()
local card = FilteredCard()
if card:GetCardName() == "MOLTENSTEEL_DRAGON" then
characteristics:GrantAbility(1)
elseif card:GetCardName() == "CLOCKWORK_HYDRA" then
characteristics:GrantAbility(2)
elseif card:GetCardName() == "GRIMGRIN_CORPSEBORN" then
characteristics:GrantAbility(3)
elseif card:GetCardName() == "ROYAL_ASSASSIN" then
characteristics:GrantAbility(4)
elseif card:GetCardName() == "SPIN_ENGINE" then
characteristics:GrantAbility(5)
elseif card:GetCardName() == "STEEL_HELLKITE" then
characteristics:GrantAbility(6)
characteristics:GrantAbility(7)
elseif card:GetCardName() == "DEMENTIA_BAT" then
characteristics:GrantAbility(8)
elseif card:GetCardName() == "DROSS_HOPPER" then
characteristics:GrantAbility(9)
elseif card:GetCardName() == "VECTOR_ASP" then
characteristics:GrantAbility(10)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY auto_skip="1" firebreathing="1" resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{I}: Necrotic Ooze gets +1/+0 until end of turn.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{R/P}" />
<CONTINUOUS_ACTION layer="7C">
if EffectSource() ~= nil then
EffectSource():GetCurrentCharacteristics():Power_Add( 1 )
EffectSource():GetCurrentCharacteristics():Toughness_Add( 0 )
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
<AI_AVAILABILITY step="declare_blockers" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="2">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Put a +1/+1 counter on Necrotic Ooze.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY step="declare_blockers" />
<AI_AVAILABILITY type="in_response_dangerous" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="3">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sacrifice another creature: Untap Necrotic Ooze and put a +1/+1 counter on it.]]></LOCALISED_TEXT>
<COST type="sacrifice">
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(6)
</TARGET_DETERMINATION>
<PLAYTIME>
EffectController():ChooseTarget( 6, "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE", EffectDC():Make_Targets(0) )
</PLAYTIME>
<TARGET_DEFINITION id="6">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetPlayer(EffectController())
filter:SetCardInstance( Object() )
filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
filter:SetZone( ZONE_IN_PLAY )
filter:SetHint( HINT_ALLIED, EffectController() )
filter:NotTargetted()
</TARGET_DEFINITION></COST>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():Untap()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY step="declare_blockers" />
<AI_AVAILABILITY type="in_response_dangerous" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="4">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Destroy target tapped creature.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetZone( ZONE_IN_PLAY )
filter:AddExtra( FILTER_EXTRA_CREATURE_TAPPED )
filter:SetHint( HINT_ENEMY, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_TO_DESTROY", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION ignore_filter="1">
local target = EffectDC():Get_Targets(0):Get_NthCardPtr(0)
if target ~= nil then
target:Destroy()
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" />
<AI_AVAILABILITY step="begin_combat" turn="their_turn" />
<AI_AVAILABILITY step="main_1" turn="my_turn" />
<AI_AVAILABILITY step="declare_attackers" turn="their_turn" />
<AI_AVAILABILITY step="declare_blockers" />
<AI_AVAILABILITY step="end_of_turn" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="5">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{R}: Target creature can’t block Necrotic Ooze this turn.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{R}" />
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetZone( ZONE_IN_PLAY )
filter:SetHint( HINT_ENEMY, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_GAIN_CANT_BLOCK", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
ObjectDC():Int_Inc( 1000 )
ObjectDC():Set_ProtectedCardPtr( 1000 + ObjectDC():Get_Int( 1000 ), target )
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY step="declare_attackers" turn="my_turn" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY auto_skip="1" firebreathing="1" resource_id="6">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{2}: Necrotic Ooze gets +1/+0 until end of turn.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{2}" />
<CONTINUOUS_ACTION layer="7C">
if EffectSource() ~= nil then
EffectSource():GetCurrentCharacteristics():Power_Add( 1 )
EffectSource():GetCurrentCharacteristics():Toughness_Add( 0 )
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
<AI_AVAILABILITY step="declare_blockers" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY per_turn_limit="1" resource_id="7">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{X}: Destroy each nonland permanent with converted mana cost X whose controller was dealt combat damage by Necrotic Ooze this turn. Activate this ability only once each turn.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{X}" />
<FILTER>
local player = ObjectDC():Get_PlayerPtr(97)
return (FilteredCard():GetPlayer() == player and FilteredCard():GetConvertedManaCost() == GetEffectX())
</FILTER>
<RESOLUTION_TIME_ACTION>
FilteredCard():Destroy()
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY step="main_2" turn="my_turn" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="8">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{4}{B}, Sacrifice Necrotic Ooze: Target player discards two cards.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{4}{B}" />
<COST type="SacrificeSelf" />
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
filter:SetHint( HINT_ENEMY, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_PLAYER_DISCARD_2", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil then
local filter = Object():GetFilter()
filter:Clear()
filter:SetZone( ZONE_HAND )
filter:SetPlayer( player )
filter:NotTargetted()
player:SetTargetCount( 2 )
for i=0,2-1 do
player:SetTargetPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_DISCARD_2" )
end
player:ChooseTargets( NO_VALIDATION, EffectDC():Make_Targets(1) )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil then
for i = 0,(2-1) do
local target_card = EffectDC():Get_Targets(1):Get_CardPtr(i)
if target_card ~= nil then
target_card:Discard()
end
end
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" />
<AI_AVAILABILITY step="end_of_turn" turn="their_turn" />
<AI_AVAILABILITY step="main_1" turn="my_turn" />
<AI_AVAILABILITY step="main_2" turn="my_turn" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="9">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sacrifice a creature: Necrotic Ooze gains flying until end of turn.]]></LOCALISED_TEXT>
<COST type="Sacrifice">
<TARGET_DEFINITION id="6">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetPlayer( EffectController() )
filter:SetZone( ZONE_IN_PLAY )
filter:SetHint( HINT_ENEMY, EffectController() )
filter:NotTargetted()
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(6)
</TARGET_DETERMINATION>
<PLAYTIME>
EffectController():ChooseTarget( 6, "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE", EffectDC():Make_Targets(0) )
</PLAYTIME></COST>
<CONTINUOUS_ACTION layer="6">
local characteristics = Object():GetCurrentCharacteristics()
characteristics:Characteristic_Set( CHARACTERISTIC_FLYING, 1 )
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
<AI_AVAILABILITY step="declare_attackers" turn="my_turn" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="10">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{B}: Necrotic Ooze gains infect until end of turn.]]></LOCALISED_TEXT>
<COST type="Mana" cost="{B}" />
<CONTINUOUS_ACTION layer="6">
local characteristics = Object():GetCurrentCharacteristics()
characteristics:Characteristic_Set( CHARACTERISTIC_INFECT, 1 )
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
<AI_AVAILABILITY step="declare_blockers" />
</ACTIVATED_ABILITY>
<TRIGGERED_ABILITY internal="1">
<TRIGGER value="CREATURE_DEALS_COMBAT_DAMAGE_TO_PLAYER" simple_qualifier="self" />
<RESOLUTION_TIME_ACTION>
local player = TriggerPlayer()
if player ~= nil then
ObjectDC():Set_PlayerPtr(97, player)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY internal="1">
<TRIGGER value="END_OF_TURN" />
<RESOLUTION_TIME_ACTION>
ObjectDC():Set_PlayerPtr(97, nil)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY internal="1" pre_trigger="1">
<TRIGGER value="EVASION_TEST">
-- test secondary object vs all stored card ptrs.
for i = 1, ObjectDC():Get_Int( 1000 ) do
if (SecondaryObject() == (ObjectDC():Get_ProtectedCardPtr( 1000 + i ) )) then
return true
end
end
return false
</TRIGGER>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY internal="1">
<TRIGGER value="BEGINNING_OF_STEP" simple_qualifier="controller">
return ( MTG():GetStep() == STEP_END_OF_TURN )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
for i = 1, ObjectDC():Get_Int( 1000 ) do
ObjectDC():Set_ProtectedCardPtr( (1000 + i), nil )
end
ObjectDC():Set_Int(1000, 0)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" />
<HELP title="MORE_INFO_BADGE_TITLE_31" body="MORE_INFO_BADGE_BODY_31" zone="ZONE_ANY" />
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
<AI_BASE_SCORE score="600" zone="ZONE_IN_PLAY" />
</CARD_V2>
Note that since you are using a FILTER block and looping through all cards in all graveyards if you run across multiple copies of a card you will get that activated ability added to the ooze multiple times further reducing how many different abilities you will be able to access since you will see an ability multiple times. For example your filter runs across 4 copies of Steel Hellkite then 2 copies of Clockwork Hydra then a copy of Royal Assassin this will mean that it will grant 11 activated abilities of 4 different types, but only 3 of those types will be accessible with Royal Assassin's ability not being accessible. As such this is a bad design since for maximum diversity it should only assign abilities once which would still limit the abilities it can get to 10 different abilities.
Also note that the more checks it has to go through the more it will slow down the game. If you put checks in there for 100 cards and there are 20 creatures in graveyards that is a minimum of 2,000 checks it will need to do every time it checks state based effects. If you put in 1000 cards and in a long game with multiple players there are 50 creatures in graveyards that is a minimum of 50,000 checks every time it checks state based effects (if it goes through 5 state based effect changes that means you just went through a minimum of 250,000 checks). Also note that string based compares (which are what you are using) are slow as they are checking multiple characters if you assume that for each check it examines an average of 3-4 characters then your 250,000 checks balloons to 750,000-1,000,000 checks. A single turn can have have as upwards of 100+ state based effect changes.
If you put every card's activated abilities inside of Necrotic Ooze it would likely become unplayable even if it worked. There are cards and abilities out there now that people are already complaining about the performance of and they don't do nearly as many checks as you are suggesting for Necrotic Ooze.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2188
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Formal Request Thread
by Xander9009 » 22 Mar 2015, 00:46
(Please don't take this as "We should make this card". This is strictly meant to be hypothetical.)
One way to get around the 10 ability limit would be to add a tenth ability which only appears if there are more than 10 relevant creatures in all graveyards. This tenth ability would be a free ability which would allow you to choose which 9 other creatures you want to focus on at the moment, and would grant the ability of any you choose to Necrotic Ooze, but would only remove enough abilities to make that work. By that, I mean that if it has 9 abilities and you need to use one specific ability that isn't currently available, you can activate the tenth ability, choose the creature with the ability you need, and then click finish. The first ability would turn into the new ability while the remaining 8 granted remain unchanged (and the selection ability being the tenth, still).
1463 current creatures with activated abilities. To reduce the number of checks, you could create a manager to monitor the zone changes to and from the graveyard. When a creature is put into the graveyard, check its name then, and add its abilities to a chest of integers which Necrotic Ooze will check. Rather than making the chest have one register with a 1 or 0 for each possible creature, however, give it the abilities, each with its own resource_id, and upon a relevant creature going to the graveyard, set the first unused chest register to store the correct resource id. Then, Necrotic Ooze would just have a static ability which counts the chest and grants each ability in it, which would normally be small, but would always be manageable, at least.
Doing it this way would even let you make multiple cards store the same resource_id (and of course only if it's not already present in the chest) so that two different creatures with "{T}: Add
to your mana pool" would, together, grant the ability only once.
The only thing left to do would be to make sure the creatures in the graveyard have actually have those abilities, but the Abilities_Active_Manager can handle that.
It's a ridiculous amount of work and I'm not sure the game could handle a card that long, but it should be at least possible, albeit not worth even a fraction of the required time in my opinion.
If you decide to take this from hypothetical to reality, zysron, I'll write a short utility to at least make things a tad easier for you. I can isolate and extract all activated abilities from cards in a given folder and write them all to a single file for you. I could possibly even include a check to put them into two different files based on whether they're simple or complex (simple being everything is handled in an EffectDC, complex if they use RSN_ObjectDC or LinkedDC or they use a delated trigger). This would probably miss a lot of cards, and testing it would be a pain, but at least easier than doing every last bit by hand.
I don't think one card is worth that much effort, not matter how cool the card it, but if you want to tackle it, at least don't do it the way you are.
As a side note, put your code in a [ code][/code] tag inside the spoiler tag. It'll help immensely.
One way to get around the 10 ability limit would be to add a tenth ability which only appears if there are more than 10 relevant creatures in all graveyards. This tenth ability would be a free ability which would allow you to choose which 9 other creatures you want to focus on at the moment, and would grant the ability of any you choose to Necrotic Ooze, but would only remove enough abilities to make that work. By that, I mean that if it has 9 abilities and you need to use one specific ability that isn't currently available, you can activate the tenth ability, choose the creature with the ability you need, and then click finish. The first ability would turn into the new ability while the remaining 8 granted remain unchanged (and the selection ability being the tenth, still).
1463 current creatures with activated abilities. To reduce the number of checks, you could create a manager to monitor the zone changes to and from the graveyard. When a creature is put into the graveyard, check its name then, and add its abilities to a chest of integers which Necrotic Ooze will check. Rather than making the chest have one register with a 1 or 0 for each possible creature, however, give it the abilities, each with its own resource_id, and upon a relevant creature going to the graveyard, set the first unused chest register to store the correct resource id. Then, Necrotic Ooze would just have a static ability which counts the chest and grants each ability in it, which would normally be small, but would always be manageable, at least.
Doing it this way would even let you make multiple cards store the same resource_id (and of course only if it's not already present in the chest) so that two different creatures with "{T}: Add

The only thing left to do would be to make sure the creatures in the graveyard have actually have those abilities, but the Abilities_Active_Manager can handle that.
It's a ridiculous amount of work and I'm not sure the game could handle a card that long, but it should be at least possible, albeit not worth even a fraction of the required time in my opinion.
If you decide to take this from hypothetical to reality, zysron, I'll write a short utility to at least make things a tad easier for you. I can isolate and extract all activated abilities from cards in a given folder and write them all to a single file for you. I could possibly even include a check to put them into two different files based on whether they're simple or complex (simple being everything is handled in an EffectDC, complex if they use RSN_ObjectDC or LinkedDC or they use a delated trigger). This would probably miss a lot of cards, and testing it would be a pain, but at least easier than doing every last bit by hand.
I don't think one card is worth that much effort, not matter how cool the card it, but if you want to tackle it, at least don't do it the way you are.
As a side note, put your code in a [ code][/code] tag inside the spoiler tag. It'll help immensely.
_______________________________
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 RiiakShiNal » 22 Mar 2015, 01:06
Doing a check on the graveyards when Necrotic Ooze enters the battlefield then only monitoring cards changing zone to the graveyard would greatly reduce the number of checks being done and allow for much better performance (you can do this without using a manager which would save you from needing to code 2 cards and test the interactions between them). Implementing an ordered set using chests and storing ability indices would likely prove immensely helpful for you in deciding which 10 abilities to show. Using a modification of Xander9009's suggestion and showing up to 9 real abilities and a "Next" ability to cycle to the next set of 9 if there are more than 10 total abilities would probably be the best way to handle the 10 activated ability limit.
Again, like Xander9009, I don't believe this is worth even a fraction of the effort you would need to expend to get this really working (mainly because you would need to test every ability in addition to testing to make sure all abilities are detected and show up properly and cycling ability sets works), but it's your choice.
Again, like Xander9009, I don't believe this is worth even a fraction of the effort you would need to expend to get this really working (mainly because you would need to test every ability in addition to testing to make sure all abilities are detected and show up properly and cycling ability sets works), but it's your choice.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2188
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Formal Request Thread
by zysron » 22 Mar 2015, 03:29
simce i'm obviously getting over my head i'm gonna throw out a couple of ideas...
since noone will want to use necrotic ooze due to the work neccesary to get it to work for their own deck i can see the trouble.
enters the battle field checks the grave yard understand that(not how to code it of course i'm newbish to that) when a creature enters the grave again understood. getting a card to read a card does not work unless its a clone(right?) i do not understand this "next" ability too well but what about choosing which abilities it could use?... snit... nvm mind i'm really getting why noone wants to code this in any actual way... .... what about possibly the card linking to another item or wad with the coding? grasping at straws here.
so necrotic ooze is usless except for 10 or less items from your personal deck that you have linked to it specifically... project necrotic ooze, canceled
oh and as far as the (planar die) card i made for playing planechase with a friend irl using the digi deck and personal real decks i spent about an hour running through and even though its a waste of mana it works i mean really not to many people are going to be playing planechase and roll the die more than 6 times a turn with emrikul's extra turn on cast and a deck consisting of 100 planar die only your probably gonna end the game before you draw out... btw its not to keep track of the rolls its just to roll the die for each player were big kids we know how to count... though sometimes i'm not so sure about others lol
since noone will want to use necrotic ooze due to the work neccesary to get it to work for their own deck i can see the trouble.
enters the battle field checks the grave yard understand that(not how to code it of course i'm newbish to that) when a creature enters the grave again understood. getting a card to read a card does not work unless its a clone(right?) i do not understand this "next" ability too well but what about choosing which abilities it could use?... snit... nvm mind i'm really getting why noone wants to code this in any actual way... .... what about possibly the card linking to another item or wad with the coding? grasping at straws here.
so necrotic ooze is usless except for 10 or less items from your personal deck that you have linked to it specifically... project necrotic ooze, canceled
oh and as far as the (planar die) card i made for playing planechase with a friend irl using the digi deck and personal real decks i spent about an hour running through and even though its a waste of mana it works i mean really not to many people are going to be playing planechase and roll the die more than 6 times a turn with emrikul's extra turn on cast and a deck consisting of 100 planar die only your probably gonna end the game before you draw out... btw its not to keep track of the rolls its just to roll the die for each player were big kids we know how to count... though sometimes i'm not so sure about others lol
Who is online
Users browsing this forum: No registered users and 10 guests