It is currently 20 Jul 2025, 14:29
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins

Re: Formal Request Thread

Postby thefiremind » 11 Oct 2013, 08:55

drleg3nd wrote:hope my requests didn't get lost .. 8-[
Here's Sylvan Primordial. The other cards need mana functions so I'll leave them to other modders.
Sylvan Primordial (tested) | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="SYLVAN_PRIMORDIAL_366282" />
  <CARDNAME text="SYLVAN_PRIMORDIAL" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sylvan Primordial]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Primordial sylvestre]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Primordial silvano]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Waldurwesen]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Primordiale Silvano]]></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[Primordial Silvestre]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="366282" />
  <ARTID value="366282" />
  <ARTIST name="Stephan Martiniere" />
  <CASTING_COST cost="{5}{G}{G}" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Avatar" />
  <EXPANSION value="GTC" />
  <RARITY metaname="R" />
  <POWER value="6" />
  <TOUGHNESS value="8" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Reach]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Portée]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Alcance.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Reichweite]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Raggiungere]]></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[Alcance]]></LOCALISED_TEXT>
    <INTRINSIC characteristic="CHARACTERISTIC_REACH" />
  </STATIC_ABILITY>
  <TRIGGERED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Sylvan Primordial enters the battlefield, for each opponent, destroy target noncreature permanent that player controls. For each permanent destroyed this way, search your library for a Forest card and put that card onto the battlefield tapped. Then shuffle your library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Quand le Primordial sylvestre arrive sur le champ de bataille, pour chaque adversaire, détruisez un permanent non-créature ciblé que ce joueur contrôle. Pour chaque permanent détruit de cette manière, cherchez une carte de forêt dans votre bibliothèque et mettez-la sur le champ de bataille engagée. Mélangez ensuite votre bibliothèque.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cuando el Primordial silvano entre al campo de batalla, por cada oponente, destruye el permanente objetivo que no sea criatura que controla ese jugador. Por cada permanente destruido de esta manera, busca una carta de bosque en tu biblioteca y pon esa carta en el campo de batalla girada. Luego baraja tu biblioteca.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn das Waldurwesen ins Spiel kommt, zerstöre von jedem Gegner eine bleibende Karte deiner Wahl, die keine Kreatur ist und die dieser Spieler kontrolliert. Durchsuche für jede so zerstörte bleibende Karte deine Bibliothek nach einer Wald-Karte und bringe diese Karte getappt ins Spiel. Mische danach deine Bibliothek.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Quando il Primordiale Silvano entra nel campo di battaglia, per ogni avversario, distruggi un permanente non creatura bersaglio controllato da quel giocatore. Per ogni permanente distrutto in questo modo, passa in rassegna il tuo grimorio per una carta Foresta e mettila sul campo di battaglia TAPpata. Poi rimescola il tuo grimorio.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[When Sylvan Primordial enters the battlefield, for each opponent, destroy target noncreature permanent that player controls. For each permanent destroyed this way, search your library for a Forest card and put that card onto the battlefield tapped. Then shuffle your library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[녹지의 원시정령이 전장에 들어올 때, 각 상대마다 그가 조종하는 지속물 중 생물이 아닌 지속물 한 개를 목표로 정한다. 그 지속물들을 파괴한다. 이렇게 파괴된 지속물 한 개당 당신의 서고에서 숲 카드 한 장을 찾아 탭된 채로 전장에 놓는다. 그러고 나서 당신의 서고를 섞는다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Когда Первородный Дух Леса выходит на поле битвы, для каждого оппонента уничтожьте целевой не являющийся существом перманент под контролем того игрока. За каждый перманент, уничтоженный таким образом, найдите в вашей библиотеке карту Леса и положите ее на поле битвы повернутой. Затем перетасуйте вашу библиотеку.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[When Sylvan Primordial enters the battlefield, for each opponent, destroy target noncreature permanent that player controls. For each permanent destroyed this way, search your library for a Forest card and put that card onto the battlefield tapped. Then shuffle your library.]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
    <TARGET tag="CARD_QUERY_CHOOSE_NONCREATURE_PERMANENT_TO_DESTROY" definition="0" compartment="0">
    if MTG():GetNumberOfStartingPlayers() &gt; 0 then
       local player = MTG():GetNthStartingPlayer(0)
       if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
          -- applicable, single target
          MTG():SetTargetCount(1)
          return
       end
    end
    -- not applicable
    MTG():SetTargetCount(0)
    </TARGET>
    <TARGET tag="CARD_QUERY_CHOOSE_NONCREATURE_PERMANENT_TO_DESTROY" definition="1" compartment="1">
    if MTG():GetNumberOfStartingPlayers() &gt; 1 then
       local player = MTG():GetNthStartingPlayer(1)
       if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
          -- applicable, single target
          MTG():SetTargetCount(1)
          return
       end
    end
    -- not applicable
    MTG():SetTargetCount(0)
    </TARGET>
    <TARGET tag="CARD_QUERY_CHOOSE_NONCREATURE_PERMANENT_TO_DESTROY" definition="2" compartment="2">
    if MTG():GetNumberOfStartingPlayers() &gt; 2 then
       local player = MTG():GetNthStartingPlayer(2)
       if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
          -- applicable, single target
          MTG():SetTargetCount(1)
          return
       end
    end
    -- not applicable
    MTG():SetTargetCount(0)
    </TARGET>
    <TARGET tag="CARD_QUERY_CHOOSE_NONCREATURE_PERMANENT_TO_DESTROY" definition="3" compartment="3">
    if MTG():GetNumberOfStartingPlayers() &gt; 3 then
       local player = MTG():GetNthStartingPlayer(3)
       if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
          -- applicable, single target
          MTG():SetTargetCount(1)
          return
       end
    end
    -- not applicable
    MTG():SetTargetCount(0)
    </TARGET>
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    if MTG():GetNumberOfStartingPlayers() &gt; 0 then
       filter:Add( FE_CONTROLLER, OP_IS, MTG():GetNthStartingPlayer(0) )
       filter:Add(FE_IS_PERMANENT, true)
       filter:Add(FE_TYPE, OP_NOT, CARD_TYPE_CREATURE)
    end
    </TARGET_DEFINITION>
    <TARGET_DEFINITION id="1">
    local filter = ClearFilter()
    if MTG():GetNumberOfStartingPlayers() &gt; 1 then
       filter:Add( FE_CONTROLLER, OP_IS, MTG():GetNthStartingPlayer(1) )
       filter:Add(FE_IS_PERMANENT, true)
       filter:Add(FE_TYPE, OP_NOT, CARD_TYPE_CREATURE)
    end
    </TARGET_DEFINITION>
    <TARGET_DEFINITION id="2">
    local filter = ClearFilter()
    if MTG():GetNumberOfStartingPlayers() &gt; 2 then
       filter:Add( FE_CONTROLLER, OP_IS, MTG():GetNthStartingPlayer(2) )
       filter:Add(FE_IS_PERMANENT, true)
       filter:Add(FE_TYPE, OP_NOT, CARD_TYPE_CREATURE)
    end
    </TARGET_DEFINITION>
    <TARGET_DEFINITION id="3">
    local filter = ClearFilter()
    if MTG():GetNumberOfStartingPlayers() &gt; 3 then
       filter:Add( FE_CONTROLLER, OP_IS, MTG():GetNthStartingPlayer(3) )
       filter:Add(FE_IS_PERMANENT, true)
       filter:Add(FE_TYPE, OP_NOT, CARD_TYPE_CREATURE)
    end
    </TARGET_DEFINITION>
    <RESOLUTION_TIME_ACTION>
    local found_targets = EffectDC():Make_Chest(4)
    local num_players = MTG():GetNumberOfStartingPlayers()
    for i=0,num_players-1 do
       local targetDC = EffectDC():Get_Targets(i)
       if targetDC ~= nil then
          local target = targetDC:Get_CardPtr(0)
          if target ~= nil then
             found_targets:Set_Int(i, 1)
             target:Destroy()
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local destroyed = 0
    local found_targets = EffectDC():Get_Chest(4)
    local num_players = MTG():GetNumberOfStartingPlayers()
    for i=0,num_players-1 do
       local targetDC = EffectDC():Get_Targets(i)
       if targetDC ~= nil then
          if found_targets:Get_Int(i) == 1 and targetDC:Get_CardPtr(0) == nil then
             -- the target was there, but now it's not, so it has been destroyed
             destroyed = destroyed + 1
          end
       end
    end
    if destroyed &gt; 0 then
       local filter = ClearFilter()
       local controller = EffectController()
       filter:Add(FE_SUBTYPE, OP_IS, LAND_TYPE_FOREST)
       filter:SetZone(ZONE_LIBRARY, controller)
       controller:SetItemCount(destroyed)
       for i=0,destroyed-1 do
          controller:SetItemPrompt(i, "CARD_QUERY_CHOOSE_LAND_FOREST_TO_PUT_ONTO_BATTLEFIELD")
       end
       controller:ChooseItems( EffectDC():Make_Targets(5) )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local targetDC = EffectDC():Get_Targets(5)
    if targetDC ~= nil then
       for i=0,targetDC:Count()-1 do
          local target_card = targetDC:Get_CardPtr(i)
          if target_card ~= nil then
             target_card:PutOntoBattlefieldTapped( EffectController() )
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <HELP title="MORE_INFO_BADGE_TITLE_5" body="MORE_INFO_BADGE_BODY_5" zone="ZONE_ANY" />
  <SFX text="COMBAT_GAEA_ATTACK" power_boundary_min="1" power_boundary_max="-1" />
  <AI_BASE_SCORE score="900" zone="ZONE_HAND" />
</CARD_V2>
Maybe some people will think that the idea I used in order to determine which permanents were destroyed can fail in some scenarios, but as far as I can remember, there's no card that replaces a DESTROYED trigger with a different zone change: either a card gets destroyed (and then the zone change to the graveyard can be replaced with a different one, but the card still counts as destroyed), or it doesn't and stays on the battlefield.

--------------------------

I think Nightveil Specter has been requested more than once, and nobody ever made one, right? So here it is.
Nightveil Specter (tested) | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="NIGHTVEIL_SPECTER_366242" />
  <CARDNAME text="NIGHTVEIL_SPECTER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Nightveil Specter]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Spectre voilenuit]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Espectro velo nocturno]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nachtschleiergespenst]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Spettro Velo Notturno]]></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[Espectro do Véu da Noite]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="366242" />
  <ARTID value="366242" />
  <ARTIST name="Min Yum" />
  <CASTING_COST cost="{U/B}{U/B}{U/B}" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Specter" />
  <EXPANSION value="GTC" />
  <RARITY metaname="R" />
  <POWER value="2" />
  <TOUGHNESS value="3" />
  <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>
  <TRIGGERED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Nightveil Specter deals combat damage to a player, that player exiles the top card of his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que le Spectre voilenuit inflige des blessures de combat à un joueur, ce joueur exile la carte du dessus de sa bibliothèque.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que el Espectro velo nocturno haga daño de combate a un jugador, ese jugador exilia la primera carta de su biblioteca.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn das Nachtschleiergespenst einem Spieler Kampfschaden zufügt, schickt dieser Spieler die oberste Karte seiner Bibliothek ins Exil.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta lo Spettro Velo Notturno infligge danno da combattimento a un giocatore, quel giocatore esilia la prima carta del suo grimorio.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[夜帷の死霊がプレイヤー1人に戦闘ダメージを与えるたび、そのプレイヤーは自分のライブラリーの一番上のカードを追放する。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[밤장막 스펙터가 플레이어에게 전투피해를 입힐 때마다, 그 플레이어는 자신의 서고 맨 위의 카드를 추방한다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда Призрак Ночного Покрова наносит боевые повреждения игроку, тот игрок изгоняет верхнюю карту своей библиотеки.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que Espectro do Véu da Noite causa dano de combate a um jogador, aquele jogador exila o card do topo do próprio grimório.]]></LOCALISED_TEXT>
    <TRIGGER value="SOURCE_DEALS_DAMAGE_TO_PLAYER" simple_qualifier="self" damage_type="combat" />
    <RESOLUTION_TIME_ACTION>
    local top = SecondaryPlayer() and SecondaryPlayer():Library_GetTop()
    if top ~= nil then
       local index = LinkedDC():Get_Int(0)
       local linkedDC = LinkedDC():Get_Chest(1)
       if linkedDC == nil then
          linkedDC = LinkedDC():Make_Chest(1)
       end
       linkedDC:Set_CardPtr(index, top)
       linkedDC:Protect_CardPtr(index)
       LinkedDC():Int_Inc(0)
       top:Exile()
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <STATIC_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[You may play cards exiled with Nightveil Specter.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vous pouvez jouer les cartes exilées par le Spectre voilenuit.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Puedes jugar las cartas exiliadas con el Espectro velo nocturno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Du kannst mit dem Nachtschleiergespenst ins Exil geschickte Karten spielen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Puoi giocare le carte esiliate con lo Spettro Velo Notturno.]]></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[Você pode jogar cards exilados com Espectro do Véu da Noite.]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION layer="8">
    local linkedDC = LinkedDC():Get_Chest(1)
    if linkedDC ~= nil then
       local count = LinkedDC():Get_Int(0)
       for i=0,count-1 do
          local card = linkedDC:Get_CardPtr(i)
          if card ~= nil then
             card:GetCurrentCharacteristics():GrantAbility(0)
          end
       end
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <UTILITY_ABILITY resource_id="0" qualifier="Normal_Cast" origin_controller_can_use="1" active_zone="ZONE_EXILE">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Play this card from exile.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Jouez cette carte depuis l’exil.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Juega esta carta desde el exilio.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Diese Karte aus dem Exil spielen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Gioca questa carta dall’esilio.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Play this card from exile.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Play this card from exile.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Play this card from exile.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Jogue este card a partir do exílio.]]></LOCALISED_TEXT>
  </UTILITY_ABILITY>
  <HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" />
  <SFX text="COMBAT_CHOP_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_CHOP_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
  <AI_BASE_SCORE score="450" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
I didn't use NailOnto in order to attach the cards to Nightveil Specter. If you want, you can add the following action to the combat damage trigger:
"NailOnto" code | Open
Code: Select all
    <RESOLUTION_TIME_ACTION>
    local linkedDC = LinkedDC():Get_Chest(1)
    if EffectSource() ~= nil and linkedDC ~= nil then
       local count = LinkedDC():Get_Int(0)
       for i=0,count-1 do
          local card = linkedDC:Get_CardPtr(i)
          if card ~= nil then
             card:NailOnto( EffectSource() )
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
Attachments
NIGHTVEIL_SPECTER_366242.zip
Unprefixed, tested, illustration included
(104.8 KiB) Downloaded 239 times
SYLVAN_PRIMORDIAL_366282.zip
Unprefixed, tested, illustration included
(114.29 KiB) Downloaded 236 times
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby Kieran » 11 Oct 2013, 10:35

Thanks drleg3nd! And thank you as well TFM! Lastly, can someone provide a HQ pic for Ember Swallower?
Kieran
 
Posts: 232
Joined: 03 Nov 2012, 01:09
Has thanked: 21 times
Been thanked: 16 times

Re: Formal Request Thread

Postby Kieran » 11 Oct 2013, 12:31

SG.jpg
I bet the cake they're staring down at is terrified!

Below is the code I stitched for Slaughter Games. Can someone take a look @ it and let me know if it's good. I don't have time to test it right now because I have some more assignments to finish but I'll test it later.

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="SLAUGHTER_GAMES_290532" />
  <CARDNAME text="SLAUGHTER_GAMES" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Slaughter Games]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Jeux de massacre]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Juegos de masacre]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Schlachtspielchen]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Gioco al Massacro]]></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[Jogos de Matança]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="290532" />
  <ARTID value="290532" />
  <ARTIST name="Steve Prescott" />
  <CASTING_COST cost="{2}{B}{R}" />
  <TYPE metaname="Sorcery" />
  <EXPANSION value="RTR" />
  <RARITY metaname="R" />
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Slaughter Games can’t be countered by spells or abilities.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Les Jeux de massacre ne peuvent pas être contrecarrés par des sorts ou des capacités.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Juegos de masacre no puede ser contrarrestado por hechizos o habilidades.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Schlachtspielchen kann nicht von Zaubersprüchen oder Fähigkeiten neutralisiert werden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Il Gioco al Massacro non può essere neutralizzato da magie o abilità.]]></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[Jogos de Matança não pode ser anulado por mágicas ou habilidades.]]></LOCALISED_TEXT>
   <CONTINUOUS_ACTION layer="8">
    if EffectSource() ~= nil then
    local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Bool_Set( CHARACTERISTIC_CANT_BE_COUNTERED, 1 )
    end
    </CONTINUOUS_ACTION>
  </SPELL_ABILITY>
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Name a nonland card. Search target opponent’s graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Nommez une carte non-terrain. Cherchez dans le cimetière, la main et la bibliothèque de l’adversaire ciblé n’importe quel nombre de cartes avec ce nom et exilez-les. Ce joueur mélange ensuite sa bibliothèque.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Nombra una carta que no sea tierra. Busca en el cementerio, mano y biblioteca del oponente objetivo cualquier cantidad de cartas con ese nombre y exílialas. Luego ese jugador baraja su biblioteca.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Benenne eine Karte, die kein Land ist. Durchsuche den Friedhof, die Hand und die Bibliothek eines Gegners deiner Wahl nach einer beliebigen Anzahl an Karten mit diesem Namen und schicke sie ins Exil. Dieser Spieler mischt dann seine Bibliothek.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nomina una carta non terra. Passa in rassegna il cimitero, la mano e il grimorio di un avversario bersaglio per un qualsiasi numero di carte con quel nome ed esiliale. Poi quel giocatore rimescola il suo grimorio.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[対戦相手1人を対象とし、土地でないカード名を1つ指定する。そのプレイヤーの墓地と手札とライブラリーから、その名前を持つカードを望む枚数探し、それらを追放する。その後、そのプレイヤーは自分のライブラリーを切り直す。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[상대 한 명을 목표로 정한다. 대지가 아닌 카드 한 장을 호명한다. 그 상대의 무덤, 손, 서고에서 그 이름의 카드를 원하는 만큼 찾아서 추방한다. 그러고 나서 그 플레이어는 자신의 서고를 섞는다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Назовите карту, не являющуюся землей. Найдите на кладбище, в руке и в библиотеке целевого оппонента любое количество карт с тем именем и изгоните их. Затем тот игрок тасует свою библиотеку.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Nomeie um card que não seja um terreno. Procure um número qualquer de cards com o mesmo nome daquele card no cemitério, na mão e no grimório do oponente alvo e exile-os. Depois, aquele jogador embaralha seu próprio grimório.]]></LOCALISED_TEXT>
    <SFX text="TARGET_PESTS_PLAY" />
    <TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_EXILE" 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_CardPtr(0)
    if target ~= nil then
       local owner = target:GetOwner()
       EffectDC():Set_PlayerPtr(1, owner)
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       local chosenCard = EffectDC():Get_Targets(0):Get_CardPtr(0)
       local effectController = EffectController()
       local filter = ClearFilter()
       filter:Add( FE_CARD_NAME, OP_IS, chosenCard )
       filter:SetZone( ZONE_HAND, target)
       local cardsInZone = filter:Count()
       EffectController():SetItemCount( cardsInZone )
       for i = 0, (cardsInZone-1) do
          effectController:SetItemPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
       end
       effectController:ChooseItems( EffectDC():Make_Targets(2), QUERY_FLAG_UP_TO )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       local chosenCard = EffectDC():Get_Targets(0):Get_CardPtr(0)
       local effectController = EffectController()
       local filter = ClearFilter()
       filter:Add( FE_CARD_NAME, OP_IS, chosenCard )
       filter:SetZone( ZONE_GRAVEYARD, target)
       local cardsInZone = filter:Count()
       EffectController():SetItemCount( cardsInZone )
       for i = 0, (cardsInZone-1) do
          effectController:SetItemPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
       end
       effectController:ChooseItems( EffectDC():Make_Targets(3), QUERY_FLAG_UP_TO )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       local chosenCard = EffectDC():Get_Targets(0):Get_CardPtr(0)
       local effectController = EffectController()
       local filter = ClearFilter()
       filter:Add( FE_CARD_NAME, OP_IS, chosenCard )
       filter:SetZone( ZONE_LIBRARY, target)
       local cardsInZone = filter:Count()
       EffectController():SetItemCount( cardsInZone )
       for i = 0, (cardsInZone-1) do
          effectController:SetItemPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
       end
      if cardsInZone &gt; 0 then
         effectController:ChooseItems( EffectDC():Make_Targets(4), QUERY_FLAG_UP_TO )
       else
         effectController:ChooseItems( EffectDC():Make_Targets(4), QUERY_FLAG_CAN_BE_FINISHED_EARLY_CANCEL_EDITION )
      end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    for i = 2, 4 do
       local compartmentDC = EffectDC():Get_Targets(i)
       if compartmentDC ~= nil then
          local cardsInCompartment = compartmentDC:Count()
          if cardsInCompartment &gt; 0 then
             for j = 0, (cardsInCompartment-1) do
                local card = compartmentDC:Get_CardPtr(j)
                if card ~= nil then
                   card:Exile()
                end
             end
          end
       end
    end                
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       target:ShuffleLibrary()
    end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY" />
  </SPELL_ABILITY>
</CARD_V2>
Kieran
 
Posts: 232
Joined: 03 Nov 2012, 01:09
Has thanked: 21 times
Been thanked: 16 times

Re: Formal Request Thread

Postby thefiremind » 11 Oct 2013, 13:55

You are targetting an opponent with a target query that says "CARD_QUERY_CHOOSE_CARD_TO_EXILE", but this is not critical. The problem is that I can't see you asking for a card name anywhere in the code, so I'm pretty sure there's something wrong. You need to see if someone already made an example of "name a card" ability. I made a set of functions for that purpose for DotP2013, but I don't know who worked on it for DotP2014... if anyone ever did.
Last edited by thefiremind on 11 Oct 2013, 15:40, edited 1 time in total.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby Vasht » 11 Oct 2013, 14:09

Hi,

i would like to request Duskmantle Seer. Thx
Vasht
 
Posts: 33
Joined: 05 Jan 2013, 10:28
Has thanked: 20 times
Been thanked: 0 time

Re: Formal Request Thread

Postby MC Brodie » 11 Oct 2013, 14:38

I don't know how people can code cards like Slaughter Games or Pithing Needle since the player has to name a card. The big problem I can think of is the only way to name a card is to use a multiple choice list and you would need to have localised text files for each card name. Technically, you should have every card in magic available in the multiple choice list. You could cheat the list by checking the deck you see playing against and only putting the cards in your opponents deck in the multiple choice list. Though I don't think anyone found a way to do variable localised text so you would still need to define the localized text for each deck you intend to play against.

I know sumomole has worked on some of this. Take a look at his mod. Maybe he can prove everything I just said false.


Edit - Sorry for the late response. I started typing it but had to go to a meeting. I see TFM has already answered. I posted it anyway incase you might find some of it useful
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
MC Brodie
 
Posts: 310
Joined: 01 Jun 2013, 00:10
Has thanked: 44 times
Been thanked: 34 times

Re: Formal Request Thread

Postby jacque » 11 Oct 2013, 15:10

Vasht wrote:Hi,

i would like to request Duskmantle Seer. Thx
Just coded it... I think it is working as it should... Tested in FFA, 4 players total, you get to see all 4 revealed cards together. and each player loses the life according to the CMC accordingly... So yea... test it yourself and see what I meant... *din look into going player by player to reveal*... Enjoy =)

PS: Sorry, rushing to bed, nodding away already... had a very tiring day today...
Attachments
DUSKMANTLE_SEER_366310.rar
TESTED FFA 4P, TWICE...
(113.42 KiB) Downloaded 224 times
Learn making your own cards today!!!

Click on Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby thefiremind » 11 Oct 2013, 15:40

I updated my "name a card" functions to DotP2014. You can find the result here.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby Kieran » 11 Oct 2013, 15:46

Well, I did see that Cabal Therapy had the "Name a nonland card' phrase and Surgical Extraction had the second effect. Below is the 2014 codes for Cabal Therapy and Surgical Extraction. I think sumomole is the author of the code and I do remember Slaughter Games and Counterbore working properly for 2013. I requested Counterbore for 2014 earlier some time ago but it never surfaced. I'm not sure who coded Surgical Extraction but I tested it and the card seemed to work correctly.

Edit: I put the 2013 XML codes for Counterbore and Slaughter Games @ the end of this post if anyone wanted to see their structure.

CT.png

Cabal Therapy 2014 XML
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="3">
  <FILENAME text="CABAL_THERAPY_628438" />
  <CARDNAME text="CABAL_THERAPY" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Cabal Therapy]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Kabbalistische Therapie]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Terapia de la Cábala]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Thérapie de la Coterie]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Terapia della Cabala]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Cabal Therapy]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Cabal Therapy]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Cabal Therapy]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Terapia da Cabala]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[柯帮疗法]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[柯幫療法]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="628438" />
  <ARTID value="628438" />
  <ARTIST name="Raymond Swanland" />
  <CASTING_COST cost="{B}" />
  <TYPE metaname="Sorcery" />
  <EXPANSION value="DPI" />
  <RARITY metaname="U" />
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Name a nonland card. Target player reveals his or her hand and discards all cards with that name.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Nommez une carte non-terrain. Le joueur ciblé révèle sa main et se défausse de toutes les cartes avec ce nom.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Nombra una carta que no sea tierra. El jugador objetivo muestra su mano y descarta de ahí todas las cartas que tengan ese nombre.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Benenne eine Karte, die kein Land ist. Ein Spieler deiner Wahl zeigt die Karten auf seiner Hand offen vor und wirft alle Karten darunter ab, die diesen Namen haben.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Nomina una carta non terra. Il giocatore bersaglio rivela la propria mano e scarta da essa tutte le carte con quel nome.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Name a nonland card. Target player reveals his or her hand and discards all cards with that name.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Name a nonland card. Target player reveals his or her hand and discards all cards with that name.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Name a nonland card. Target player reveals his or her hand and discards all cards with that name.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Nomeie um card que não seja um terreno. O jogador alvo revela sua própria mão e descarta todos os cards com aquele nome.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[说出一个非地牌的名称。目标牌手​​展示其手牌,并弃掉所有该名称的牌。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[說出一個非地牌的名稱。目標玩家展示其手牌,並棄掉所有該名稱的牌。]]></LOCALISED_TEXT>
    <SFX text="TARGET_PESTS_PLAY" />
    <TARGET tag="CARD_QUERY_CHOOSE_PLAYER_DISCARD_NONLAND_CARD" 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_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    local player = EffectController()
    if target_player ~= nil then
      local filterDC = EffectDC():Make_Chest(2)
      S_FillAlphabeticChest(filterDC, target_player, S_SELECT_PLAYER, 1)
       player:SetItemCount( 1 )
       player:SetItemPrompt( 0, "CARD_QUERY_CHOOSE_NONLAND_CARD_TO_DISCARD" )
       player:ChooseItemsFromDC( filterDC, EffectDC():Make_Targets(1) )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    if target_player ~= nil then
       target_player:RevealHand()
    end
    </RESOLUTION_TIME_ACTION>
    <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:SetZone( ZONE_HAND )
    filter:Add( FE_LUA_CONDITION, 1, EffectController(), EffectDC())
    </FILTER>
    <FILTER_CONDITION id="1">
    local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    local target_card = EffectDC():Get_Targets(1):Get_CardPtr(0)
    if FilteredCard() ~= nil and target_player ~= nil and target_card ~= nil then
      return (FilteredCard():GetCardName() == target_card:GetCardName() and FilteredCard():GetOwner() == target_player)
    end
    return false
    </FILTER_CONDITION>
    <RESOLUTION_TIME_ACTION filter_id="0">
    if FilteredCard() ~= nil then
      FilteredCard():Discard()
    end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
  </SPELL_ABILITY>
  <UTILITY_ABILITY qualifier="Flashback" active_zone="ZONE_GRAVEYARD">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flashback — Sacrifice a creature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Flashback — Sacrifiez une créature.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Retrospectiva — Sacrificar una criatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Rückblendee — Opfere eine Kreatur.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Flashback — Sacrifica una creatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[フラッシュバック ― クリーチャーを1体生け贄に捧げる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[회상 — 생물 한 개를 희생한다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Воспоминание — Пожертвуйте существо.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Recapitular — Sacrifique uma criatura.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[返照~牺牲一个生物。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[返照~犧牲一個生物。]]></LOCALISED_TEXT>
    <COST type="Sacrifice" definition="0" compartment="3" query_tag="CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE" item_count="1" />
    <COST_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    </COST_DEFINITION>
  </UTILITY_ABILITY>
  <HELP title="MORE_INFO_TITLE_FLASHBACK" body="MORE_INFO_BODY_FLASHBACK" zone="ZONE_ANY" />
  <AI_BASE_SCORE score="450" zone="ZONE_HAND" />
</CARD_V2>
SE.png

Surgical Extraction 2014 XML
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="3">
  <FILENAME text="SURGICAL_EXTRACTION_628480" />
  <CARDNAME text="SURGICAL_EXTRACTION" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Surgical Extraction]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Extraction chirurgicale]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Extracción quirúrgica]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Chirurgische Extraktion]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Estrazione Chirurgica]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[外科的摘出]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Surgical Extraction]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Хирургическое Извлечение]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Extração Cirúrgica]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[手术摘除]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[手術摘除]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="628480" />
  <ARTID value="628480" />
  <ARTIST name="Steven Belledin" />
  <CASTING_COST cost="{B/P}" />
  <TYPE metaname="Instant" />
  <EXPANSION value="DPI" />
  <RARITY metaname="R" />
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|(|{J} |can be paid with either| {B} |or 2 life.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[|(|{J} |peut être payé au choix avec| {B} |ou 2 points de vie.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[|(|{J} |puede pagarse con| {B} |o con 2 vidas.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[|(|{J} |kann entweder mit| {B} |oder 2 Lebenspunkten bezahlt werden.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[|(|{J} |può essere pagato con| {B} |o con 2 punti vita.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[({J}は{B}でも2点のライフでも支払うことができる。)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[|(|{J} |can be paid with either| {B} |or 2 life.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[|(За| {J} |можно заплатить либо| {B}|, либо 2 жизни.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[|(|{J} |pode ser pago com| {B} |ou 2 pontos de vida.)|]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[({J}可用{B}或2点生命来支付。)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[({J}可用{B}或2點生命來支付。)]]></LOCALISED_TEXT>
  </SPELL_ABILITY>
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Choose target card in a graveyard other than a basic land card. Search its owner’s graveyard, hand, and library for any number of cards with the same name as that card and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Choisissez une carte ciblée dans un cimetière autre qu’une carte de terrain de base. Cherchez dans le cimetière, la main et la bibliothèque de son propriétaire n’importe quel nombre de cartes ayant le même nom que cette carte et exilez-les.  Ce joueur mélange ensuite sa bibliothèque.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Elige una carta objetivo en un cementerio que no sea una carta de tierra básica. Busca en el cementerio, mano y biblioteca de su propietario cualquier cantidad de cartas con el nombre de esa carta y exílialas. Luego ese jugador baraja su biblioteca.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bestimme eine Karte deiner Wahl in einem Friedhof, die kein Standardland ist. Durchsuche den Friedhof, die Hand und die Bibliothek ihres Besitzers nach einer beliebigen Anzahl an Karten mit demselben Namen wie jene Karte und schicke sie ins Exil. Dieser Spieler mischt dann seine Bibliothek.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Scegli una carta bersaglio in un cimitero diversa da una carta terra base. Passa in rassegna il cimitero, la mano e il grimorio del suo proprietario per un qualsiasi numero di carte con lo stesso nome di quella carta ed esiliale. Poi quel giocatore rimescola il suo grimorio.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[いずれかの墓地にある基本土地カードでないカード1枚を対象とする。 それのオーナーの墓地と手札とライブラリーから、そのカードと同じ名前を持つカードを望む枚数探し、それらを追放する。 その後、そのプレイヤーは自分のライブラリーを切り直す。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Choose target card in a graveyard other than a basic land card. Search its owner’s graveyard, hand, and library for any number of cards with the same name as that card and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Выберите находящуюся на кладбище целевую карту, не являющуюся картой базовой земли. Найдите на кладбище, в руке и в библиотеке ее владельца любое количество карт с таким же именем, как у нее, и изгоните их.   Затем тот игрок тасует свою библиотеку.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Escolha um card alvo de um cemitério que não seja um terreno básico. Procure um número qualquer de cards com o mesmo nome daquele card no cemitério, na mão e no grimório de seu dono e exile-os. Depois, aquele jogador embaralha seu próprio grimório.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[选择在坟墓场中的目标牌,且不能是基本地。自其拥有者的坟墓场、手牌、以及牌库中搜寻任意数量与其同名的牌,并放逐这些牌。然后该牌手将他的牌库洗牌。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[選擇在墳墓場中的目標牌,且不能是基本地。自其擁有者的墳墓場、手牌、以及牌庫中搜尋任意數量與其同名的牌,並放逐這些牌。然後該玩家將他的牌庫洗牌。]]></LOCALISED_TEXT>
    <TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_EXILE" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    local subfilter = filter:AddSubFilter_Or()
       subfilter:Add( FE_SUPERTYPE, OP_NOT, SUPERTYPE_BASIC )
       subfilter:Add( FE_TYPE, OP_NOT, CARD_TYPE_LAND)
    filter:SetZone( ZONE_GRAVEYARD )
    </TARGET_DEFINITION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local owner = target:GetOwner()
       EffectDC():Set_PlayerPtr(1, owner)
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       local chosenCard = EffectDC():Get_Targets(0):Get_CardPtr(0)
       local effectController = EffectController()
       local filter = ClearFilter()
       filter:Add( FE_CARD_NAME, OP_IS, chosenCard )
       filter:SetZone( ZONE_HAND, target)
       local cardsInZone = filter:Count()
       EffectController():SetItemCount( cardsInZone )
       for i = 0, (cardsInZone-1) do
          effectController:SetItemPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
       end
       effectController:ChooseItems( EffectDC():Make_Targets(2), QUERY_FLAG_UP_TO )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       local chosenCard = EffectDC():Get_Targets(0):Get_CardPtr(0)
       local effectController = EffectController()
       local filter = ClearFilter()
       filter:Add( FE_CARD_NAME, OP_IS, chosenCard )
       filter:SetZone( ZONE_GRAVEYARD, target)
       local cardsInZone = filter:Count()
       EffectController():SetItemCount( cardsInZone )
       for i = 0, (cardsInZone-1) do
          effectController:SetItemPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
       end
       effectController:ChooseItems( EffectDC():Make_Targets(3), QUERY_FLAG_UP_TO )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       local chosenCard = EffectDC():Get_Targets(0):Get_CardPtr(0)
       local effectController = EffectController()
       local filter = ClearFilter()
       filter:Add( FE_CARD_NAME, OP_IS, chosenCard )
       filter:SetZone( ZONE_LIBRARY, target)
       local cardsInZone = filter:Count()
       EffectController():SetItemCount( cardsInZone )
       for i = 0, (cardsInZone-1) do
          effectController:SetItemPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
       end
      if cardsInZone &gt; 0 then
         effectController:ChooseItems( EffectDC():Make_Targets(4), QUERY_FLAG_UP_TO )
       else
         effectController:ChooseItems( EffectDC():Make_Targets(4), QUERY_FLAG_CAN_BE_FINISHED_EARLY_CANCEL_EDITION )
      end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    for i = 2, 4 do
       local compartmentDC = EffectDC():Get_Targets(i)
       if compartmentDC ~= nil then
          local cardsInCompartment = compartmentDC:Count()
          if cardsInCompartment &gt; 0 then
             for j = 0, (cardsInCompartment-1) do
                local card = compartmentDC:Get_CardPtr(j)
                if card ~= nil then
                   card:Exile()
                end
             end
          end
       end
    end                
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       target:ShuffleLibrary()
    end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY" />
  </SPELL_ABILITY>
  <AI_BASE_SCORE score="750" zone="ZONE_HAND" />
</CARD_V2>
Counterbore
RSN153966.png

Counterbore 2013 XML
Code: Select all
<?xml version='1.0'?>
<CARD_V2>
   <FILENAME text="COUNTERBORE_153966" />
   <CARDNAME text="COUNTERBORE" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Counterbore]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Contreforet]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Contrataladro]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Loch im Kopf]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Foro Neutralizzatore]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[呪文穿ち]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Counterbore]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Высверливание]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Nuliperfurador]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="153966" />
   <ARTID value="RSN153966" />
   <ARTIST name="Wayne England" />
   <CASTING_COST cost="{3}{U}{U}" />
   <TYPE metaname="Instant" />
   <EXPANSION value="SHM" />
   <RARITY metaname="R" />
   <SPELL_ABILITY filter_zone="ZONE_ANY">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Counter target spell. Search its controller's graveyard, hand, and library for all cards with the same name as that spell and remove them from the game. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Contrecarrez le sort ciblé. Cherchez dans le cimetière, la main et la bibliothèque de son contrôleur toutes les cartes ayant le même nom que ce sort et retirez-les de la partie.  Ce joueur mélange ensuite sa bibliothèque.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Contrarresta el hechizo objetivo. Busca en el cementerio, mano y biblioteca de su controlador todas las cartas con el mismo nombre que ese hechizo y remuévelas del juego. Luego ese jugador baraja su biblioteca.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Neutralisiere einen Zauberspruch deiner Wahl. Durchsuche den Friedhof, die Hand und die Bibliothek seines Besitzers nach allen Karten mit dem gleichen Namen wie jener Zauberspruch und entferne sie ganz aus dem Spiel. Dieser Spieler mischt dann seine Bibliothek.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Neutralizza una magia bersaglio. Passa in rassegna il cimitero, la mano e il grimorio del suo controllore per tutte le carte con lo stesso nome di quella magia e rimuovile dal gioco. Poi quel giocatore rimescola il suo grimorio.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[呪文1つを対象とし、それを打ち消す。 それのコントローラーの墓地と手札とライブラリーから、その呪文と同じ名前を持つカードをすべて探し、それらをゲームから取り除く。 その後、そのプレイヤーは自分のライブラリーを切り直す。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Counter target spell. Search its controller's graveyard, hand, and library for all cards with the same name as that spell and remove them from the game. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Отмените целевое заклинание. Найдите на кладбище, в руке и в библиотеке контролирующего его игрока все карты с тем же именем, что и то заклинание, и удалите их из игры. Затем тот игрок тасует свою библиотеку.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Anule a mágica alvo. Procure no cemitério, na mão e no grimório de seu controlador por todos os cards com o mesmo nome daquela mágica e remova-os de jogo. Depois, aquele jogador embaralha seu próprio grimório.]]></LOCALISED_TEXT>
      <TARGET_DEFINITION id="0">
         local filter = Object():GetFilter()
         filter:Clear()
         filter:SetZone( ZONE_STACK )
         filter:SetStackObjectType( STACK_OBJECT_CARD )
         filter:SetHint( HINT_ENEMY_ONLY, EffectController() )
      </TARGET_DEFINITION>
      <TARGET_DETERMINATION>
         return AtLeastOneTargetFromDefinition(0)
      </TARGET_DETERMINATION>
      <PLAY_TIME_ACTION target_choosing="1">
         EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_SPELL_TO_COUNTER", EffectDC():Make_Targets(0) )
      </PLAY_TIME_ACTION>
      <RESOLUTION_TIME_ACTION ignore_filter="1">
         local oCard = EffectSource():GetTargetCard()
         if oCard ~= nil then
            EffectDC():Set_ProtectedCardPtr( 0, oCard )
            EffectDC():Set_PlayerPtr( 1, oCard:GetPlayer() )
            oCard:CounterSpell()
         end
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         local oFilter = EffectSource():GetFilter()
         local oPlayer = EffectDC():Get_PlayerPtr( 1 )
         local oCard = EffectDC():Get_ProtectedCardPtr( 0 )
         for i=0,2 do
            oFilter:Clear()
            oFilter:SetPlayer( oPlayer )
            if (i == 0) then
               oFilter:SetZone( ZONE_GRAVEYARD )
            elseif (i == 1) then
               oFilter:SetZone( ZONE_HAND )
            else
               oFilter:SetZone( ZONE_LIBRARY )
            end
            oFilter:AddCardName( oCard:GetCardName() )
            local nCount = oFilter:EvaluateObjects()
            if (nCount &gt; 0) then
               for j=0,nCount-1 do
                  local oFoundCard = oFilter:GetNthEvaluatedObject( j )
                  if (oFoundCard ~= nil) then
                     oFoundCard:RemoveFromGame()
                  end
               end
            end
         end
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
         local oPlayer = EffectDC():Get_PlayerPtr( 1 )
         oPlayer:ShuffleLibrary()
      </RESOLUTION_TIME_ACTION>
   </SPELL_ABILITY>
   <AI_BASE_SCORE score="1050" zone="ZONE_HAND" />
</CARD_V2>
SG.jpg

Slaughter Games 2013 XML
Code: Select all
<?xml version='1.0'?>
<CARD_V2>
  <FILENAME text="SLAUGHTER_GAMES_624672" />
  <CARDNAME text="SLAUGHTER_GAMES" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Slaughter Games]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Slaughter Games]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Slaughter Games]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slaughter Games]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Slaughter Games]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Slaughter Games]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Slaughter Games]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Slaughter Games]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Slaughter Games]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="624672" />
  <ARTID value="624672" />
  <ARTIST name="Steve Prescott" />
  <CASTING_COST cost="{2}{B}{R}" />
  <TYPE metaname="Sorcery" />
  <EXPANSION value="DPG" />
  <RARITY metaname="R" />
  <STATIC_ABILITY filter_zone="ZONE_ANY" active_zone="ZONE_STACK">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Slaughter Games can’t be countered by spells or abilities.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Slaughter Games can’t be countered by spells or abilities.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Slaughter Games can’t be countered by spells or abilities.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Slaughter Games can’t be countered by spells or abilities.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Slaughter Games can’t be countered by spells or abilities.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Slaughter Games can’t be countered by spells or abilities.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Slaughter Games can’t be countered by spells or abilities.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Slaughter Games can’t be countered by spells or abilities.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Slaughter Games can’t be countered by spells or abilities.]]></LOCALISED_TEXT>
    <CONTINUOUS_ACTION>
    local characteristics = Object():GetCurrentCharacteristics()
    characteristics:Characteristic_Set( CHARACTERISTIC_CANT_BE_COUNTERED, 1 )
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <SPELL_ABILITY dangerous="1" filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Name a nonland card. Search target opponent’s graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Name a nonland card. Search target opponent’s graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Name a nonland card. Search target opponent’s graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Name a nonland card. Search target opponent’s graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Name a nonland card. Search target opponent’s graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Name a nonland card. Search target opponent’s graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Name a nonland card. Search target opponent’s graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Name a nonland card. Search target opponent’s graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Name a nonland card. Search target opponent’s graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <TARGET_DEFINITION id="0">
    local filter = Object():GetFilter()
    filter:Clear()
    filter:SetFilterType( FILTER_TYPE_PLAYERS + FILTER_TYPE_OPPONENTS)
    filter:SetOwner( EffectController() )
    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", EffectDC():Make_Targets(0) )
    </PLAY_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    if target_player ~= nil then
      local player = EffectController()
      local filter = Object():GetFilter()
      local unique = 0
      filter:Clear()
      filter:NotTargetted()
      filter:SetZone( ZONE_ANYWHERE )
      filter:AddExtra(FILTER_EXTRA_NOT_TOKEN)
      filter:AddCardType( CARD_TYPE_ARTIFACT )
      filter:AddCardType( CARD_TYPE_CREATURE )
      filter:AddCardType( CARD_TYPE_ENCHANTMENT )
      filter:AddCardType( CARD_TYPE_INSTANT )
      filter:AddCardType( CARD_TYPE_SORCERY )
      local filter_count = filter:EvaluateObjects()   
      if filter_count &gt; 0 then   
        local discardDC = EffectDC():Make_Chest(2)
        local j = 0     
        for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)             
          if card ~= nil then      
            if j &gt; 0 then     
              for k=0,j-1 do         
                if card:GetCardName() == discardDC:Get_CardPtr(k):GetCardName() then   
                  unique = 1
                 end   
               end   
             end   
             if card:GetCardType():Test( CARD_TYPE_LAND ) == 0 and unique == 0 then   
                  discardDC:Set_CardPtr(j, card)
                 j = j + 1
             end
            unique = 0
           end
        end
      end          
      end 
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local browser = EffectDC():Get_Chest(2)
    local player = EffectController()
    if player ~= nil then
       if browser ~= nil then
          player:SetTargetCount( 1 )
          player:SetTargetPrompt( 0, "CARD_QUERY_CHOOSE_CARD" )
          player:ChooseTargetsFromDC( NO_VALIDATION, browser, EffectDC():Make_Targets(1) )
       end
    end
    </RESOLUTION_TIME_ACTION> 
    <RESOLUTION_TIME_ACTION repeating="1">
    local n = MTG():GetActionRepCount() + 4
    local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    if target_player ~= nil and EffectDC():Get_Targets(1) ~= nil then
      local target_card = EffectDC():Get_Targets(1):Get_CardPtr(0)
      if target_card ~= nil then 
        if n &lt; 7 then 
          local filter = Object():GetFilter() 
          local player = EffectController()
          if n == 4 then 
            player:MarkSearchedLibrary()
            end
           filter:Clear() 
          filter:NotTargetted()
          filter:AddCardName( target_card:GetCardName())
          filter:May()   
           filter:SetZone( n )
           filter:SetPlayer( target_player )   
          player:SetTargetCount( 100 )
            for k=0,99 do
               player:SetTargetPrompt( k, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
            end
          player:ChooseTargetsWithFlags( NO_VALIDATION, EffectDC():Make_Targets(n), QUERY_FLAG_CAN_BE_FINISHED_EARLY + QUERY_FLAG_CAN_BE_FINISHED_EARLY_FOR_AI_AS_WELL)
           return true
        else
           for i = 4,6 do
            if EffectDC():Get_Targets(i) ~= nil then
               for j = 0,99 do
                  local target = EffectDC():Get_Targets(i):Get_CardPtr(j)
                  if target ~= nil then
                   target:GuidedReveal( target:GetErstwhileZone(), ZONE_REMOVED_FROM_GAME ) 
                   target:RemoveFromGame()
                   end
                end
             end
          end
          target_player:ShuffleLibrary()
           return false
        end
      else
         return false
      end
    else
       return false
    end
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
</CARD_V2>
Kieran
 
Posts: 232
Joined: 03 Nov 2012, 01:09
Has thanked: 21 times
Been thanked: 16 times

Re: Formal Request Thread

Postby thefiremind » 11 Oct 2013, 15:53

So there was someone who worked on "name a card" for DotP2014... well, the choice about which functions you want to use is yours. I'm sure that sumomole's code is adapted from my DotP2013 code as well, so suit yourself. :D In my DotP2014 I moved the filter selection outside of the functions so that no selection constants are needed anymore: I feel it's easier to use this way.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby Kieran » 11 Oct 2013, 16:54

I'll use your codes since you provide a great way to safeguard against free scying of a library. Now, I wonder how difficult it is to make these requested cards:

Brain Pry
Mindblaze (wasn't requested but I wouldn't mind having it)
Reap Intellect
Thought Hemorrhage (wasn't requested but if someone wants to try)
Shimian Specter
Last edited by Kieran on 12 Oct 2013, 07:09, edited 1 time in total.
Kieran
 
Posts: 232
Joined: 03 Nov 2012, 01:09
Has thanked: 21 times
Been thanked: 16 times

Re: Formal Request Thread

Postby loookaz » 11 Oct 2013, 22:45

Hi guys i am making a Tooth and Nail deck and all i need is Reap and Sow.
can someone help me
loookaz
 
Posts: 131
Joined: 01 Dec 2012, 10:56
Location: Warsaw, Poland
Has thanked: 22 times
Been thanked: 2 times

Re: Formal Request Thread

Postby thefiremind » 11 Oct 2013, 23:03

loookaz wrote:Reap and Sow
Here's how I would make it by using only official cards:

Choose one -> any card with modes. Savage Beating can do the trick, of course the query strings will need to be changed:
| Open
Code: Select all
    <MODE_SELECT tag="MODE_CHOOSE_ONE">
      <MODE tag="CARD_QUERY_REAP_AND_SOW_MODE_1_DESTROY" index="1" />
      <MODE tag="CARD_QUERY_REAP_AND_SOW_MODE_2_TUTOR" index="2" />
    </MODE_SELECT>
Destroy target land -> Tectonic Rift:
| Open
Code: Select all
    <TARGET tag="CARD_QUERY_CHOOSE_LAND_TO_DESTROY" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
    </TARGET_DEFINITION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:Destroy()
    end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
Tutor for land -> you can't find it exactly, but Nature's Lore is close enough, just change Forest with any land, whose filter is right above here...
| Open
Code: Select all
    <RESOLUTION_TIME_ACTION>
    local filter = ClearFilter()
    local effectController = EffectController()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
    filter:SetZone( ZONE_LIBRARY, effectController)
    effectController:ChooseItem( "CARD_QUERY_CHOOSE_LAND_TO_PUT_ONTO_BATTLEFIELD", EffectDC():Make_Targets(0) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:PutOntoBattlefield( EffectController() )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    EffectController():ShuffleLibrary()
    </RESOLUTION_TIME_ACTION>
Entwine -> Savage Beating, the cost needs to be changed but the rest is OK:
| Open
Code: Select all
  <UTILITY_ABILITY qualifier="Entwine">
    -- Localised entwine text omitted
    <COST mana_cost="{1}{G}" type="Mana" />
    <ABILITY_TEXT tag="CARD_QUERY_ENTWINE_1_G" />
  </UTILITY_ABILITY>
  <HELP title="MORE_INFO_TITLE_ENTWINE" body="MORE_INFO_BODY_ENTWINE" zone="ZONE_ANY" />
Now stitch the pieces together, assign each block its own mode, and make sure that the registers don't interfere. Specifically, the land tutoring will need to use a different register because 0 is already in use by the land destruction:
Reap and Sow abilities (untested) | Open
Code: Select all
  <SPELL_ABILITY>
    -- Localised ability text omitted
    <MODE_SELECT tag="MODE_CHOOSE_ONE">
      <MODE tag="CARD_QUERY_REAP_AND_SOW_MODE_1_DESTROY" index="1" />
      <MODE tag="CARD_QUERY_REAP_AND_SOW_MODE_2_TUTOR" index="2" />
    </MODE_SELECT>
    <TARGET tag="CARD_QUERY_CHOOSE_LAND_TO_DESTROY" definition="0" compartment="0" count="1" mode="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
    </TARGET_DEFINITION>
    <RESOLUTION_TIME_ACTION mode="1">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:Destroy()
    end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
    <RESOLUTION_TIME_ACTION mode="2">
    local filter = ClearFilter()
    local effectController = EffectController()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
    filter:SetZone( ZONE_LIBRARY, effectController)
    effectController:ChooseItem( "CARD_QUERY_CHOOSE_LAND_TO_PUT_ONTO_BATTLEFIELD", EffectDC():Make_Targets(1) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION mode="2">
    local target = EffectDC():Get_Targets(1):Get_CardPtr(0)
    if target ~= nil then
       target:PutOntoBattlefield( EffectController() )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION mode="2">
    EffectController():ShuffleLibrary()
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
  <UTILITY_ABILITY qualifier="Entwine">
    -- Localised entwine text omitted
    <COST mana_cost="{1}{G}" type="Mana" />
    <ABILITY_TEXT tag="CARD_QUERY_ENTWINE_1_G" />
  </UTILITY_ABILITY>
  <HELP title="MORE_INFO_TITLE_ENTWINE" body="MORE_INFO_BODY_ENTWINE" zone="ZONE_ANY" />
There you have your Reap and Sow abilities, ready to be inserted into the web generator's template. :wink:
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Formal Request Thread

Postby jacque » 12 Oct 2013, 00:52

Kieran wrote:I'll use your codes since you provide a great way to safeguard against free scying of a library. Now, I wonder how difficult it is to make these requested cards:

Shimian Specter
Kieran I posted a Shimian somewhere

EDIT: Here... viewtopic.php?f=109&t=11726&start=165#p134947
Learn making your own cards today!!!

Click on Image if a post/reply helped you.

I stitch old cards together to make new ones...

~ Jacque, the confused
jacque
 
Posts: 217
Joined: 07 Jun 2013, 20:11
Has thanked: 26 times
Been thanked: 44 times

Re: Formal Request Thread

Postby Kieran » 12 Oct 2013, 05:39

Got it. Thanks! And here are the last two cads needed to complete the Soul of the Vampire deck:

Spirit En-dal
Tainted Fields

Edit: I can't seem to get Counterbore to work properly. Will someone take a look @ this code and let me know what's wrong?

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="COUNTERBORE_153966" />
  <CARDNAME text="COUNTERBORE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Counterbore]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Contreforet]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Contrataladro]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Loch im Kopf]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Foro Neutralizzatore]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[呪文穿ち]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Counterbore]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Высверливание]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Nuliperfurador]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="153966" />
  <ARTID value="153966" />
  <ARTIST name="Wayne England" />
  <CASTING_COST cost="{3}{U}{U}" />
  <TYPE metaname="Instant" />
  <EXPANSION value="SHM" />
  <RARITY metaname="R" />
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Counter target spell. Search its controller’s graveyard, hand, and library for all cards with the same name as that spell and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Contrecarrez le sort ciblé. Cherchez dans le cimetière, la main et la bibliothèque de son contrôleur toutes les cartes ayant le même nom que ce sort et retirez-les de la partie.  Ce joueur mélange ensuite sa bibliothèque.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Contrarresta el hechizo objetivo. Busca en el cementerio, mano y biblioteca de su controlador todas las cartas con el mismo nombre que ese hechizo y remuévelas del juego. Luego ese jugador baraja su biblioteca.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Neutralisiere einen Zauberspruch deiner Wahl. Durchsuche den Friedhof, die Hand und die Bibliothek seines Besitzers nach allen Karten mit dem gleichen Namen wie jener Zauberspruch und entferne sie ganz aus dem Spiel. Dieser Spieler mischt dann seine Bibliothek.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Neutralizza una magia bersaglio. Passa in rassegna il cimitero, la mano e il grimorio del suo controllore per tutte le carte con lo stesso nome di quella magia ed esiliale. Poi quel giocatore rimescola il suo grimorio.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[呪文1つを対象とし、それを打ち消す。 それのコントローラーの墓地と手札とライブラリーから、その呪文と同じ名前を持つカードをすべて探し、それらをゲームから取り除く。 その後、そのプレイヤーは自分のライブラリーを切り直す。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Counter target spell. Search its controller’s graveyard, hand, and library for all cards with the same name as that spell and exile them. Then that player shuffles his or her library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Отмените целевое заклинание. Найдите на кладбище, в руке и в библиотеке контролирующего его игрока все карты с тем же именем, что и то заклинание, и удалите их из игры. Затем тот игрок тасует свою библиотеку.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Anule a mágica alvo. Procure no cemitério, na mão e no grimório de seu controlador por todos os cards com o mesmo nome daquela mágica e remova-os de jogo. Depois, aquele jogador embaralha seu próprio grimório.]]></LOCALISED_TEXT>
    <SFX text="TARGET_PLASMA_PLAY" />
    <TARGET tag="CARD_QUERY_CHOOSE_SPELL_TO_COUNTER" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:SetZone( ZONE_STACK )
    </TARGET_DEFINITION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:CounterSpell()
    end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
    <TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_EXILE" 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_CardPtr(0)
    if target ~= nil then
       local owner = target:GetOwner()
       EffectDC():Set_PlayerPtr(1, owner)
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       local chosenCard = EffectDC():Get_Targets(0):Get_CardPtr(0)
       local effectController = EffectController()
       local filter = ClearFilter()
       filter:Add( FE_CARD_NAME, OP_IS, chosenCard )
       filter:SetZone( ZONE_HAND, target)
       local cardsInZone = filter:Count()
       EffectController():SetItemCount( cardsInZone )
       for i = 0, (cardsInZone-1) do
          effectController:SetItemPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
       end
       effectController:ChooseItems( EffectDC():Make_Targets(2), QUERY_FLAG_UP_TO )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       local chosenCard = EffectDC():Get_Targets(0):Get_CardPtr(0)
       local effectController = EffectController()
       local filter = ClearFilter()
       filter:Add( FE_CARD_NAME, OP_IS, chosenCard )
       filter:SetZone( ZONE_GRAVEYARD, target)
       local cardsInZone = filter:Count()
       EffectController():SetItemCount( cardsInZone )
       for i = 0, (cardsInZone-1) do
          effectController:SetItemPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
       end
       effectController:ChooseItems( EffectDC():Make_Targets(3), QUERY_FLAG_UP_TO )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       local chosenCard = EffectDC():Get_Targets(0):Get_CardPtr(0)
       local effectController = EffectController()
       local filter = ClearFilter()
       filter:Add( FE_CARD_NAME, OP_IS, chosenCard )
       filter:SetZone( ZONE_LIBRARY, target)
       local cardsInZone = filter:Count()
       EffectController():SetItemCount( cardsInZone )
       for i = 0, (cardsInZone-1) do
          effectController:SetItemPrompt( i, "CARD_QUERY_CHOOSE_CARD_TO_EXILE" )
       end
      if cardsInZone &gt; 0 then
         effectController:ChooseItems( EffectDC():Make_Targets(4), QUERY_FLAG_UP_TO )
       else
         effectController:ChooseItems( EffectDC():Make_Targets(4), QUERY_FLAG_CAN_BE_FINISHED_EARLY_CANCEL_EDITION )
      end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    for i = 2, 4 do
       local compartmentDC = EffectDC():Get_Targets(i)
       if compartmentDC ~= nil then
          local cardsInCompartment = compartmentDC:Count()
          if cardsInCompartment &gt; 0 then
             for j = 0, (cardsInCompartment-1) do
                local card = compartmentDC:Get_CardPtr(j)
                if card ~= nil then
                   card:Exile()
                end
             end
          end
       end
    end                
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_PlayerPtr(1)
    if target ~= nil then
       target:ShuffleLibrary()
    end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY" />
  </SPELL_ABILITY>
</CARD_V2>
Kieran
 
Posts: 232
Joined: 03 Nov 2012, 01:09
Has thanked: 21 times
Been thanked: 16 times

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 6 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 6 users online :: 0 registered, 0 hidden and 6 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 6 guests

Login Form