It is currently 20 Jul 2025, 05:35
   
Text Size

Formal Request Thread

Moderator: CCGHQ Admins


Re: Formal Request Thread

Postby sumomole » 03 Feb 2014, 15:39

User avatar
sumomole
Programmer
 
Posts: 611
Joined: 07 Jun 2011, 08:34
Has thanked: 51 times
Been thanked: 234 times

Re: Formal Request Thread

Postby Necropotence » 03 Feb 2014, 17:48

thanks! and found it most, only missing: Noxious Revival, Reverent Silence, Unmask, Sickening Shoal
Necropotence
 
Posts: 24
Joined: 05 May 2013, 05:30
Has thanked: 10 times
Been thanked: 0 time

Re: Formal Request Thread

Postby NeoAnderson » 05 Feb 2014, 16:11

Necropotence wrote:thanks! and found it most, only missing: Noxious Revival, Reverent Silence, Unmask, Sickening Shoal
I am sorry for late reply but i was focused onto Theros and Born of the Gods sets.
I have just coded the requested cards:

Noxious Revival | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="NOXIOUS_REVIVAL_230067" />
  <CARDNAME text="NOXIOUS_REVIVAL" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Noxious Revival]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Réanimation délétère]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Resucitación nociva]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ungesunde Wiederbelebung]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Rinascita Nociva]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[有毒の蘇生]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[N유해 부활]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Тлетворное Возрождение]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Renascimento Pernicioso]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="230067" />
  <ARTID value="230067" />
  <ARTIST name="Matt Stewart" />
  <CASTING_COST cost="{G/P}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Dead or alive, my creations are stronger than Jin-Gitaxias’s septic minions.”
Vorinclex, Voice of Hunger]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« Mortes ou vives, mes créations sont plus puissantes que les serviteurs septiques de Jin-Gitaxias. »
—Vorinclex, Voix de la Voracité]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Vivas o muertas, mis creaciones son más fuertes que los sicarios sépticos de Jin-Gitaxias.”
—Vórinclex, la Voz del Ansia]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Ob tot oder lebendig, meine Kreationen sind stärker als Jin-Gitaxias’ faulende Diener.”
—Vorinclex, Stimme des Hungers]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Vive o morte, le mie creazioni sono più forti degli scherani settici di Jin-Gitaxias.”
—Vorinclex, Voce della Fame]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「我が創造物は、ジン=ギタクシアスの腐った下僕などより、生死にかかわらず強力だ。」
――飢餓の声、ヴォリンクレックス]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Dead or alive, my creations are stronger than Jin-Gitaxias’s septic minions.”
Vorinclex, Voice of Hunger]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Живые или мертвые, мои творения сильнее гнилых приспешников Джин-Джитаксиаса».
— Воринклекс, Голос Голода]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Mortas ou vivas, minhas criações são mais fortes que os asseclas sépticos de Jin-Gitaxias.”
— Vorinclex, Voz da Fome]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Instant" />
  <EXPANSION value="NPH" />
  <RARITY metaname="U" />
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Put target card from a graveyard on top of its owner’s library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Mettez une carte ciblée d’un cimetière au-dessus de la bibliothèque de son propriétaire.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pon la carta objetivo de un cementerio en la parte superior de la biblioteca de su propietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lege eine Karte deiner Wahl aus einem Friedhof auf die Bibliothek ihres Besitzers.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Metti una carta bersaglio da un cimitero in cima al grimorio del suo proprietario.]]></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[Coloque o card alvo de um cemitério no topo do grimório do seu dono.]]></LOCALISED_TEXT>
    <TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_PUT_ONTO_LIBRARY" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:SetZone(ZONE_GRAVEYARD)
    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:PutOnTopOfLibrary()
    end 
    </RESOLUTION_TIME_ACTION>
         <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY" />
  </SPELL_ABILITY>
        <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" />
   <AI_AVAILABILITY type="in_response" response_source="1" />
   <AI_BASE_SCORE score="600" zone="ZONE_HAND" />
</CARD_V2>
Reverent Silence | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="REVERENT_SILENCE_22316" />
  <CARDNAME text="REVERENT_SILENCE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Reverent Silence]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Silence révérencieux]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Silencio reverente]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ehrfürchtige Stille]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Silenzio Reverenziale]]></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[Silêncio Reverente]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="22316" />
  <ARTID value="22316" />
  <ARTIST name="Don Hazeltine" />
  <CASTING_COST cost="{3}{G}" />
  <TYPE metaname="Sorcery" />
  <EXPANSION value="NE" />
  <RARITY metaname="C" />

<UTILITY_ABILITY qualifier="Alternate">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If you control a Forest, rather than pay Reverent Silence’s mana cost, you may have each other player gain 6 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si vous contrôlez une forêt, plutôt que de payer le coût de mana de Silence révérencieux, vous pouvez avoir chaque autre joueur gain de 6 vie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Si controlas un bosque, en lugar de pagar el coste de maná de reverente silencio, es posible que tenga cada jugador ganancia de 6 vidas.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn Du einen Wald kontrollierst, kannst Du alle anderen Spieler 6 Schadenspunkte dazuerhalten lassen, anstatt die Manakosten der Ehrfürchtigen Stille zu bezahlen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se controlli una Foresta, puoi fare guadagnare 6 punti vita a ogni altro giocatore anziché pagare il costo di mana del Silenzio Reverenziale.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたは森をコントロールしている場合、敬虔な沈黙のマナ·コストを支払うのではなく、あなたが他の各プレイヤーの利得6生命を持つことができる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 숲을 제어 할 경우, 경배 침묵의 마나 비용을 지불하는 대신, 각 다른 플레이어 이득 6 생명을 가질 수있다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Если вы управляете лес, а не уплаты мана-стоимости благоговейном молчании, вы можете иметь все остальные игроки усиления 6 жизнь.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Se você controlar uma Floresta, em vez de pagar o custo de mana de Reverente Silêncio, você pode ter o outro jogador ganho de 6 vida.]]></LOCALISED_TEXT>
   <COST type="generic">
    <PREREQUISITE>
      local filter = ClearFilter()
      filter:Add(FE_SUBTYPE, OP_IS, LAND_TYPE_FOREST)
      filter:Add(FE_CONTROLLER, OP_IS, EffectController())
      local count = filter:Count()
      return (count &gt; 0)
    </PREREQUISITE>
    <RESOLUTION_TIME_ACTION>
     for i=0,MTG():GetNumberOfPlayers()-1 do
       local nthPlayer = MTG():GetNthPlayer(i)
       if nthPlayer ~= nil and nthPlayer ~= EffectController() then
          nthPlayer:GainLife(6)
       end
     end
    </RESOLUTION_TIME_ACTION>
    </COST>
      <ABILITY_TEXT tag="CARD_UI_REVERENT_SILENCE_TEXT" />
  </UTILITY_ABILITY>

  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Destroy all enchantments.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Détruisez tous les enchantements.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Destruye todos los encantamientos.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Zerstöre alle Verzauberungen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Distruggi tutti gli incantesimi.]]></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[Destruir todos os encantamentos.]]></LOCALISED_TEXT>
    <SFX text="GLOBAL_WIND_PLAY" />
    <FILTER filter_id="0">
      local filter = ClearFilter()
      filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
    </FILTER>
     <RESOLUTION_TIME_ACTION filter_id="0">
    if FilteredCard() ~= nil then   
       FilteredCard():Destroy()
    end
    </RESOLUTION_TIME_ACTION>
   </SPELL_ABILITY>
   <AI_BASE_SCORE score="900" zone="ZONE_HAND" />
</CARD_V2>
Unmask | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="UNMASK_19829" />
  <CARDNAME text="UNMASK" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Unmask]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Démasquer]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Desenmascarar]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Demaskieren]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Smascherare]]></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[Desmascarar]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="19829" />
  <ARTID value="19829" />
  <ARTIST name="rk post" />
  <CASTING_COST cost="{3}{B}" />
  <TYPE metaname="Sorcery" />
  <EXPANSION value="MM" />
  <RARITY metaname="R" />
<UTILITY_ABILITY qualifier="Alternate">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[You may exile a black card from your hand rather than pay Unmask’s mana cost.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vous pouvez exiler une carte noire de votre main au lieu de payer le coût de mana de Démasquer.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Puedes remover del juego una carta de tu mano negro en lugar de pagar el coste de maná de Desenmascarar.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sie können Exil eine schwarze Karte aus deiner Hand bezahlen, anstatt die Manakosten Unmask.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Puoi esiliare una carta nera dalla tua mano anziché pagare il costo di mana dello Smascherare.]]></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 remover de jogo um card preto de sua mão em vez de pagar o custo de mana de Unmask.]]></LOCALISED_TEXT>
  <COST type="Exile" definition="0" compartment="1" query_tag="CARD_QUERY_CHOOSE_CARD_TO_EXILE" item_count="1" />
      <COST_DEFINITION id="0">
    local filter = ClearFilter()
    filter:SetZone( ZONE_HAND, EffectController() )
    filter:Add( FE_COLOUR, OP_IS, COLOUR_BLACK)
    filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource())
    </COST_DEFINITION>
      <ABILITY_TEXT tag="CARD_UI_UNMASK_TEXT" />
</UTILITY_ABILITY>
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Target player reveals his or her hand. You choose a nonland card from it. That player discards that card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Le joueur ciblé révèle sa main. Vous choisissez une carte non-terrain. Ce joueur se défausse de cette carte.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[El jugador objetivo muestra su mano. Elige una carta que no sea tierra. Ese jugador descarta esa carta.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ein Spieler zeigt seine Hand. Sie wählen eine Karte aus es kein Land ist. Dieser Spieler wirft diese Karte.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Il giocatore bersaglio rivela la sua mano. Tu scegli da essa una carta non terra. Quel giocatore scarta quella carta.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[そのプレイヤーは自分の手札を公開する。あなたはそれから土地でないカードを1枚選ぶ。そのプレイヤーはそのカードを捨てる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[대상 플레이어는 자신의 손을 보여준다. 당신은 그것에서 nonland 카드를 선택합니다. 즉, 플레이어는 그 카드를 버립니다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Целевой игрок показывает свою руку. Вы выбираете землей карту от него. Тот игрок сбрасывает эту карту.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[O jogador alvo revela sua própria mão. Você escolhe um card que não seja terreno dele. Aquele jogador descarta aquele card.]]></LOCALISED_TEXT>
 <SFX text="TARGET_PESTS_PLAY" />
      <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:SetFilterType( FILTER_TYPE_PLAYERS )
    </TARGET_DEFINITION>
      <TARGET tag="CARD_QUERY_CHOOSE_PLAYER_DISCARD_NONLAND_CARD" definition="0" compartment="0" count="1" />
      <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>
      <RESOLUTION_TIME_ACTION>
    local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    if target_player ~= nil then
       local filter = ClearFilter()
       filter:SetZone( ZONE_HAND, target_player )
       filter:Add( FE_TYPE, OP_NOT, CARD_TYPE_LAND )
       EffectController():ChooseItem( "CARD_QUERY_CHOOSE_NONLAND_CARD_TO_DISCARD", 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
       local chosen_card = EffectDC():Get_Targets(1):Get_CardPtr(0)
       
       if chosen_card ~= nil then
          chosen_card:Discard()
       end
    end
    </RESOLUTION_TIME_ACTION>
      <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
   </SPELL_ABILITY>
   <SEALED_HEURISTICS score_modifier="400" />
   <AI_BASE_SCORE score="450" zone="ZONE_HAND" />
</CARD_V2>
Sickening Shoal REVISED | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="SICKENING_SHOAL_74127" />
  <CARDNAME text="SICKENING_SHOAL" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sickening Shoal]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Banc maladif]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cardumen repugnante]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Krankmachender Schwarm]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Branco Nauseante]]></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[Cardume Nauseante]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="74127" />
  <ARTID value="74127" />
  <ARTIST name="Dan Scott" />
  <CASTING_COST cost="{X}{B}{B}" />
  <TYPE metaname="Instant" />
  <SUB_TYPE metaname="Arcane" />
  <EXPANSION value="BOK" />
  <RARITY metaname="R" />
<UTILITY_ABILITY qualifier="Alternate">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[You may exile a black card with converted mana cost X from your hand rather than pay Sickening Shoal’s mana cost.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vous pouvez retirer de la partie une carte noire de votre main ayant un coût converti de mana de X au lieu de payer le coût de mana du Banc maladif.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Puedes remover del juego una carta negra de tu mano con coste de maná convertido igual a X en lugar de pagar el coste de maná del Cardumen repugnante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Du kannst eine schwarze Karte mit umgewandelten Manakosten von X aus deiner Hand ganz aus dem Spiel entfernen, anstatt die Manakosten des Krankmachenden Schwarms zu bezahlen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Puoi esiliare una carta nera con costo di mana convertito pari a X presente nella tua mano anziché pagare il costo di mana del Branco Nauseante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたは不快な群れのマナ・コストを支払うのではなく、あなたの手札にある点数で見たマナ・コストがXの黒のカードを1枚ゲームから取り除いてもよい。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신은 망명 변환 마나 비용 당신의 손에서 X가 아닌 검은 카드가 지루해 숄의 마나 비용을 지불 할 수 있습니다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вы можете изгнание черная карта с конвертированной мана-стоимостью X от вашей руки, а не уплаты мана-стоимости тошно мелководье в.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Você pode remover de jogo um card de criatura preta de sua mão com custo de mana convertido igual a X em vez de pagar o custo de mana de Cardume Nauseante.]]></LOCALISED_TEXT>
    <COST type="generic">
      <PREREQUISITE>
      local filter = ClearFilter()
      filter:SetZone( ZONE_HAND, EffectController() )
      filter:Add( FE_COLOUR, OP_IS, COLOUR_BLACK )
      filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
      return filter:CountStopAt(1) == 1
      </PREREQUISITE>
      <RESOLUTION_TIME_ACTION>
      local filter = ClearFilter()
      filter:SetZone( ZONE_HAND, EffectController() )
      filter:Add( FE_COLOUR, OP_IS, COLOUR_BLACK )
      filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
      EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CARD_TO_EXILE", EffectDC():Make_Targets(1) )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
      local target_card = EffectDC():Get_Targets(1):Get_CardPtr(0)
      if target_card ~= nil then
         EffectDC():Set_Int( COMPARTMENT_ID_X, target_card:GetConvertedManaCost() )
         target_card:Exile()
      end
      </RESOLUTION_TIME_ACTION>
    </COST>
    <ABILITY_TEXT tag="CARD_UI_SICKENING_SHOAL_TEXT" />
  </UTILITY_ABILITY>


  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Target creature gets -X/-X until end of turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La créature ciblée gagne -X/-X jusqu’à la fin du tour.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[ La criatura objetivo obtiene -X/-X hasta el final del turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Eine Kreatur deiner Wahl erhält -X/-X bis zum Ende des Zuges.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura bersaglio prende -X/-X fino alla fine del turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[クリーチャー1体を対象とする。それはターン終了時まで-X/-Xの修整を受ける。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[대상 생물 가져 -X/-X 턴이 끝날 때까지.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Целевое существо получает -X/-X до конца хода.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[A criatura alvo recebe -X/-X até o final do turno.]]></LOCALISED_TEXT>
     <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_LOSE_X_X" definition="0" compartment="0" count="1" />
   <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
    </TARGET_DEFINITION>

    <CONTINUOUS_ACTION layer="7C">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:GetCurrentCharacteristics():Power_Add( -(GetEffectX()) )
       target:GetCurrentCharacteristics():Toughness_Add( -(GetEffectX()) )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
  </SPELL_ABILITY>
        <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" />
   <AI_AVAILABILITY type="in_response" response_source="1" />
   <AI_BASE_SCORE score="600" zone="ZONE_HAND" />
</CARD_V2>
I also made a small add-ons wad including these 4 cards, HQ pictures, and also a Text_UI file for alternate cost queries.
Just Download the wad and copy it into you MTG folder.

Download Updated with revised Sickening Shoal as TheFiremind suggest.
Attachments
DATA_DLC_1088_ADDONS (2).zip
Card Requested XML TDX and TEXT_UI
(1.99 MiB) Downloaded 226 times
Last edited by NeoAnderson on 05 Feb 2014, 23:18, edited 1 time in total.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby thefiremind » 05 Feb 2014, 16:40

I took a look at Sickening Shoal because I wanted to see how you coded it, but... are you sure it works properly? The alternate cost has
Code: Select all
<COST mana_cost="{X}" type="Mana" />
so I expect it to ask you to exile a black card AND pay X mana, which is wrong (if the card you exile only covered the {B} {B} cost, almost nobody would choose to pay for the Shoal this way :P).

My idea for the alternate cost is the following one:
Code: Select all
  <UTILITY_ABILITY qualifier="Alternate">
    -- Localised text omitted
    <COST type="generic">
      <PREREQUISITE>
      local filter = ClearFilter()
      filter:SetZone( ZONE_HAND, EffectController() )
      filter:Add( FE_COLOUR, OP_IS, COLOUR_BLACK )
      filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
      return filter:CountStopAt(1) == 1
      </PREREQUISITE>
      <RESOLUTION_TIME_ACTION>
      local filter = ClearFilter()
      filter:SetZone( ZONE_HAND, EffectController() )
      filter:Add( FE_COLOUR, OP_IS, COLOUR_BLACK )
      filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
      EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CARD_TO_EXILE", EffectDC():Make_Targets(1) )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
      local target_card = EffectDC():Get_Targets(1):Get_CardPtr(0)
      if target_card ~= nil then
         EffectDC():Set_Int( COMPARTMENT_ID_X, target_card:GetConvertedManaCost() )
         target_card:Exile()
      end
      </RESOLUTION_TIME_ACTION>
    </COST>
    <ABILITY_TEXT tag="CARD_UI_SICKENING_SHOAL_TEXT" />
  </UTILITY_ABILITY>
This saves the CMC value inside the same register that GetEffectX reads, so the SPELL_ABILITY should feel no difference between the two costs.
< 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 NeoAnderson » 05 Feb 2014, 17:03

thefiremind wrote:I took a look at Sickening Shoal because I wanted to see how you coded it, but... are you sure it works properly? The alternate cost has
Code: Select all
<COST mana_cost="{X}" type="Mana" />
so I expect it to ask you to exile a black card AND pay X mana, which is wrong (if the card you exile only covered the {B} {B} cost, almost nobody would choose to pay for the Shoal this way :P).

My idea for the alternate cost is the following one:
Code: Select all
  <UTILITY_ABILITY qualifier="Alternate">
    -- Localised text omitted
    <COST type="generic">
      <PREREQUISITE>
      local filter = ClearFilter()
      filter:SetZone( ZONE_HAND, EffectController() )
      filter:Add( FE_COLOUR, OP_IS, COLOUR_BLACK )
      filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
      return filter:CountStopAt(1) == 1
      </PREREQUISITE>
      <RESOLUTION_TIME_ACTION>
      local filter = ClearFilter()
      filter:SetZone( ZONE_HAND, EffectController() )
      filter:Add( FE_COLOUR, OP_IS, COLOUR_BLACK )
      filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
      EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CARD_TO_EXILE", EffectDC():Make_Targets(1) )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
      local target_card = EffectDC():Get_Targets(1):Get_CardPtr(0)
      if target_card ~= nil then
         EffectDC():Set_Int( COMPARTMENT_ID_X, target_card:GetConvertedManaCost() )
         target_card:Exile()
      end
      </RESOLUTION_TIME_ACTION>
    </COST>
    <ABILITY_TEXT tag="CARD_UI_SICKENING_SHOAL_TEXT" />
  </UTILITY_ABILITY>
This saves the CMC value inside the same register that GetEffectX reads, so the SPELL_ABILITY should feel no difference between the two costs.
You know what Fire i had the same doubt when i was coding the cards, i was searching for an explanaiton about how it is supposed to work, also because my first approach was similar to yours, i was exiling a card instead of paying the mana cost, but i read again the card text and it says : "You may exile a black card with converted mana cost X from your hand rather than pay Sickening Shoal's mana cost" honestly it seams that the card i could exile should have a CMC equal to X.The reason to use this cost could be that you don't have black mana onto battlefield so you decide to exile the creature to cast the spell
But if you are sure it should works so is easy to change as you explained.

I found the follow discussion about this card but honestly i still don't understand if "X" should be paid.
Form wizards forum :

Q: Can you remove Hit/Run from your hand as an alternate cost to Sickening Shoal? Would X have to be 3, or could you say 5? Could you say X is 8? Hit is Black, but Run is not. Hit is CMC 3, but Run is CMC 5, and if you revealed it off a Dark Confidant, you'd get hit for 3 and 5, which is much the same as 8.
Basically - how do Shoals and Split cards interact?


A: You first choose X, then pay the costs involving it. And a split card has all the characteristics of both halves (while it's not on the stack),
If you choose X = 3, you can remove Hit // Run, since it's a black card that has a CMC of 3.
If you choose X = 5, you can remove Hit // Run, since it's a black card that has a CMC of 5.
If you chose X = 8, you can't remove Hit // Run, since it doesn't have a CMC of 8.


Now we are not interested about split cards but if we focus on the words : "You first choose X, then pay the costs involving it" Does it means that you have to pay for the X cost?? Or it just means you have to choose an "X" value then check if you have a card with that converted mana cost???
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby thefiremind » 05 Feb 2014, 19:23

I can't see any ambiguity: "You may exile a black card with converted mana cost X from your hand rather than pay Sickening Shoal's mana cost", so what is Sickening Shoal's mana cost? It's {X} {B} {B}, not just {B} {B}.
The card is worded this way because "Target creature gets -X/-X until end of turn" needs to refer to X no matter how you decide to pay for the spell. The use of X pairs both {X} and the exiled card's cmc with the spell effect, but it doesn't pair {X} with the exiled card's cmc.
The problem is another one: according to this, effects that reduce the cost of a Shoal should affect its alternative cost as well, for example a Jet Medallion should allow you to give -3/-3 by exiling a Walking Corpse. I don't think we can achieve this in a proper 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 NeoAnderson » 05 Feb 2014, 19:34

thefiremind wrote:I can't see any ambiguity: "You may exile a black card with converted mana cost X from your hand rather than pay Sickening Shoal's mana cost", so what is Sickening Shoal's mana cost? It's {X} {B} {B}, not just {B} {B}.
The card is worded this way because "Target creature gets -X/-X until end of turn" needs to refer to X no matter how you decide to pay for the spell. The use of X pairs both {X} and the exiled card's cmc with the spell effect, but it doesn't pair {X} with the exiled card's cmc.
The problem is another one: according to this, effects that reduce the cost of a Shoal should affect its alternative cost as well, for example a Jet Medallion should allow you to give -3/-3 by exiling a Walking Corpse. I don't think we can achieve this in a proper way.
ok fire i agree with you, about your last doubt, i think it should be ok anyway because effect like Jet Medallion change the casting cost "to cast" the card, so if you exile it the casting cost should be always the printed one, or at least i think so.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby RiiakShiNal » 05 Feb 2014, 21:08

thefiremind wrote:The problem is another one: according to this, effects that reduce the cost of a Shoal should affect its alternative cost as well, for example a Jet Medallion should allow you to give -3/-3 by exiling a Walking Corpse. I don't think we can achieve this in a proper way.
I'm not sure I would trust that answer as the alternative cost for Sickening Shoal does not ask for any mana so you can't reduce the mana cost by {1} because there isn't one.

Rule 117.9d does apply in this case for cost increases so a Defense Grid would make the alternative cost {3} and exiling a black card from your hand if you cast during your opponent's turn.
117.9d If an alternative cost is being paid to cast a spell, any additional costs, cost increases, and cost reductions that affect that spell are applied to that alternative cost. (See rule 601.2e.)
Rule 117.7 states that if the mana component is reduced to nothing it is considered to be {0} and since the alternative mana cost for Sickening Shoal is already {0} it can't be reduced further. It is also in this way that the value of X should not be increased in case of a Jet Medallion.
117.7. What a player actually needs to do to pay a cost may be changed or reduced by effects. If the mana component of a cost is reduced to nothing by cost reduction effects, it's considered to be {0}. Paying a cost changed or reduced by an effect counts as paying the original cost.
Also since the X for the alternative cost is determined by the CMC it is not modified by by cost reductions. This would be consistent with Rules 202.3 and 202.4:
202.3. The converted mana cost of an object is a number equal to the total amount of mana in its mana cost, regardless of color.

...

202.4. Any additional cost listed in an object's rules text or imposed by an effect isn't part of the mana cost. (See rule 601, "Casting Spells.") Such costs are paid at the same time as the spell’s other costs.
So the example of exiling a Walking Corpse should only allow Sickening Shoal to give -2/-2 not -3/-3 regardless of the number of Jet Medallion copies you have in play.
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Formal Request Thread

Postby NeoAnderson » 06 Feb 2014, 14:12

I was thinking about the cards who give the possibility to spend the mana as mana of any colour.
Until now we know that we cannot implement these kind of cards because we cannot include the interactions with the cards who change the casting cost value.
The weird thing is that the real value needed to cast a card is stored somewhere, have you tried to click on a card into your hand without have available mana to cast it? The game display a message where it says : "You need X mana to cast this card...." that value is updated considering the effect of cards that reduce or increase the cost.

Now there are 2 possibilities,
A. there is an internal function that retrieves the needed cost to cast a card.
B. The effect who change the casting cost are not continuos effects but are applied at runtime when we select the card to cast, this means that when the card is selected the function GetConvertedManaCost return the altered value.


Now i would ask to my skilled friend someone knows if the effects who change the casting cost also changes the Alternative cost?
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby RiiakShiNal » 06 Feb 2014, 14:59

NeoAnderson wrote:I was thinking about the cards who give the possibility to spend the mana as mana of any colour.
Until now we know that we cannot implement these kind of cards because we cannot include the interactions with the cards who change the casting cost value.
There are more problems than just that. For example you can't change activation costs for abilities (in any way, so cards with activation costs like Akroan Phalanx and Black Oak of Odunos) so you will never be able to spend {W} for a cost that is {B} even if you are told to spend the mana as if it were any colour (Such as False Dawn or Mycosynth Lattice). Not to mention that some cards require mana as part of the effect and any colours there are hard-coded into the cards so again it is impossible to spend mana as if it were mana of any colour (such as Aerie Worshippers and Felhide Spiritbinder). Plus some cards have Kickers which we can't change either (such as Enclave Elite, Gatekeeper of Malakir, and Heartstabber Mosquito).

NeoAnderson wrote:The weird thing is that the real value needed to cast a card is stored somewhere, have you tried to click on a card into your hand without have available mana to cast it? The game display a message where it says : "You need X mana to cast this card...." that value is updated considering the effect of cards that reduce or increase the cost.

Now there are 2 possibilities,
A. there is an internal function that retrieves the needed cost to cast a card.
B. The effect who change the casting cost are not continuos effects but are applied at runtime when we select the card to cast, this means that when the card is selected the function GetConvertedManaCost return the altered value.
A. We can't access internal functions because they have not been exposed to Lua so even though we know there is such a function we don't know what it is and can't use it.
B. GetConvertedManaCost() will only return the CMC of the card without any changes as that is compliant with MtG rules (Rule 202.4). This can also be tested in DotP 2014 by having a card first display the current CMC then increase the cost of the card and redisplay the new current CMC afterwards (they will be the same).
202.4. Any additional cost listed in an object's rules text or imposed by an effect isn't part of the mana cost. (See rule 601, "Casting Spells.") Such costs are paid at the same time as the spell’s other costs.
The effects of cards that change casting cost in DotP 2014 are applied when the card is CONSIDERED_FOR_CAST as such trying to even detect it is probably near impossible if not impossible.

NeoAnderson wrote:Now i would ask to my skilled friend someone knows if the effects who change the casting cost also changes the Alternative cost?
They are supposed to as per MtG rules (Rule 117.9d), though whether DotP is that smart I don't know.
117.9d If an alternative cost is being paid to cast a spell, any additional costs, cost increases, and cost reductions that affect that spell are applied to that alternative cost. (See rule 601.2e.)
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Formal Request Thread

Postby Necropotence » 06 Feb 2014, 15:11

NeoAnderson wrote:
Necropotence wrote:thanks! and found it most, only missing: Noxious Revival, Reverent Silence, Unmask, Sickening Shoal
I am sorry for late reply but i was focused onto Theros and Born of the Gods sets.
I have just coded the requested cards:

Noxious Revival | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="NOXIOUS_REVIVAL_230067" />
  <CARDNAME text="NOXIOUS_REVIVAL" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Noxious Revival]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Réanimation délétère]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Resucitación nociva]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ungesunde Wiederbelebung]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Rinascita Nociva]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[有毒の蘇生]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[N유해 부활]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Тлетворное Возрождение]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Renascimento Pernicioso]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="230067" />
  <ARTID value="230067" />
  <ARTIST name="Matt Stewart" />
  <CASTING_COST cost="{G/P}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Dead or alive, my creations are stronger than Jin-Gitaxias’s septic minions.”
Vorinclex, Voice of Hunger]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« Mortes ou vives, mes créations sont plus puissantes que les serviteurs septiques de Jin-Gitaxias. »
—Vorinclex, Voix de la Voracité]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Vivas o muertas, mis creaciones son más fuertes que los sicarios sépticos de Jin-Gitaxias.”
—Vórinclex, la Voz del Ansia]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Ob tot oder lebendig, meine Kreationen sind stärker als Jin-Gitaxias’ faulende Diener.”
—Vorinclex, Stimme des Hungers]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Vive o morte, le mie creazioni sono più forti degli scherani settici di Jin-Gitaxias.”
—Vorinclex, Voce della Fame]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[「我が創造物は、ジン=ギタクシアスの腐った下僕などより、生死にかかわらず強力だ。」
――飢餓の声、ヴォリンクレックス]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Dead or alive, my creations are stronger than Jin-Gitaxias’s septic minions.”
Vorinclex, Voice of Hunger]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Живые или мертвые, мои творения сильнее гнилых приспешников Джин-Джитаксиаса».
— Воринклекс, Голос Голода]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Mortas ou vivas, minhas criações são mais fortes que os asseclas sépticos de Jin-Gitaxias.”
— Vorinclex, Voz da Fome]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Instant" />
  <EXPANSION value="NPH" />
  <RARITY metaname="U" />
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Put target card from a graveyard on top of its owner’s library.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Mettez une carte ciblée d’un cimetière au-dessus de la bibliothèque de son propriétaire.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pon la carta objetivo de un cementerio en la parte superior de la biblioteca de su propietario.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Lege eine Karte deiner Wahl aus einem Friedhof auf die Bibliothek ihres Besitzers.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Metti una carta bersaglio da un cimitero in cima al grimorio del suo proprietario.]]></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[Coloque o card alvo de um cemitério no topo do grimório do seu dono.]]></LOCALISED_TEXT>
    <TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_PUT_ONTO_LIBRARY" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:SetZone(ZONE_GRAVEYARD)
    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:PutOnTopOfLibrary()
    end 
    </RESOLUTION_TIME_ACTION>
         <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY" />
  </SPELL_ABILITY>
        <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" />
   <AI_AVAILABILITY type="in_response" response_source="1" />
   <AI_BASE_SCORE score="600" zone="ZONE_HAND" />
</CARD_V2>
Reverent Silence | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="REVERENT_SILENCE_22316" />
  <CARDNAME text="REVERENT_SILENCE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Reverent Silence]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Silence révérencieux]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Silencio reverente]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ehrfürchtige Stille]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Silenzio Reverenziale]]></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[Silêncio Reverente]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="22316" />
  <ARTID value="22316" />
  <ARTIST name="Don Hazeltine" />
  <CASTING_COST cost="{3}{G}" />
  <TYPE metaname="Sorcery" />
  <EXPANSION value="NE" />
  <RARITY metaname="C" />

<UTILITY_ABILITY qualifier="Alternate">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If you control a Forest, rather than pay Reverent Silence’s mana cost, you may have each other player gain 6 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si vous contrôlez une forêt, plutôt que de payer le coût de mana de Silence révérencieux, vous pouvez avoir chaque autre joueur gain de 6 vie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Si controlas un bosque, en lugar de pagar el coste de maná de reverente silencio, es posible que tenga cada jugador ganancia de 6 vidas.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Wenn Du einen Wald kontrollierst, kannst Du alle anderen Spieler 6 Schadenspunkte dazuerhalten lassen, anstatt die Manakosten der Ehrfürchtigen Stille zu bezahlen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se controlli una Foresta, puoi fare guadagnare 6 punti vita a ogni altro giocatore anziché pagare il costo di mana del Silenzio Reverenziale.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたは森をコントロールしている場合、敬虔な沈黙のマナ·コストを支払うのではなく、あなたが他の各プレイヤーの利得6生命を持つことができる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신이 숲을 제어 할 경우, 경배 침묵의 마나 비용을 지불하는 대신, 각 다른 플레이어 이득 6 생명을 가질 수있다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Если вы управляете лес, а не уплаты мана-стоимости благоговейном молчании, вы можете иметь все остальные игроки усиления 6 жизнь.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Se você controlar uma Floresta, em vez de pagar o custo de mana de Reverente Silêncio, você pode ter o outro jogador ganho de 6 vida.]]></LOCALISED_TEXT>
   <COST type="generic">
    <PREREQUISITE>
      local filter = ClearFilter()
      filter:Add(FE_SUBTYPE, OP_IS, LAND_TYPE_FOREST)
      filter:Add(FE_CONTROLLER, OP_IS, EffectController())
      local count = filter:Count()
      return (count &gt; 0)
    </PREREQUISITE>
    <RESOLUTION_TIME_ACTION>
     for i=0,MTG():GetNumberOfPlayers()-1 do
       local nthPlayer = MTG():GetNthPlayer(i)
       if nthPlayer ~= nil and nthPlayer ~= EffectController() then
          nthPlayer:GainLife(6)
       end
     end
    </RESOLUTION_TIME_ACTION>
    </COST>
      <ABILITY_TEXT tag="CARD_UI_REVERENT_SILENCE_TEXT" />
  </UTILITY_ABILITY>

  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Destroy all enchantments.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Détruisez tous les enchantements.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Destruye todos los encantamientos.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Zerstöre alle Verzauberungen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Distruggi tutti gli incantesimi.]]></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[Destruir todos os encantamentos.]]></LOCALISED_TEXT>
    <SFX text="GLOBAL_WIND_PLAY" />
    <FILTER filter_id="0">
      local filter = ClearFilter()
      filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
    </FILTER>
     <RESOLUTION_TIME_ACTION filter_id="0">
    if FilteredCard() ~= nil then   
       FilteredCard():Destroy()
    end
    </RESOLUTION_TIME_ACTION>
   </SPELL_ABILITY>
   <AI_BASE_SCORE score="900" zone="ZONE_HAND" />
</CARD_V2>
Unmask | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="UNMASK_19829" />
  <CARDNAME text="UNMASK" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Unmask]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Démasquer]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Desenmascarar]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Demaskieren]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Smascherare]]></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[Desmascarar]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="19829" />
  <ARTID value="19829" />
  <ARTIST name="rk post" />
  <CASTING_COST cost="{3}{B}" />
  <TYPE metaname="Sorcery" />
  <EXPANSION value="MM" />
  <RARITY metaname="R" />
<UTILITY_ABILITY qualifier="Alternate">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[You may exile a black card from your hand rather than pay Unmask’s mana cost.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vous pouvez exiler une carte noire de votre main au lieu de payer le coût de mana de Démasquer.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Puedes remover del juego una carta de tu mano negro en lugar de pagar el coste de maná de Desenmascarar.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sie können Exil eine schwarze Karte aus deiner Hand bezahlen, anstatt die Manakosten Unmask.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Puoi esiliare una carta nera dalla tua mano anziché pagare il costo di mana dello Smascherare.]]></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 remover de jogo um card preto de sua mão em vez de pagar o custo de mana de Unmask.]]></LOCALISED_TEXT>
  <COST type="Exile" definition="0" compartment="1" query_tag="CARD_QUERY_CHOOSE_CARD_TO_EXILE" item_count="1" />
      <COST_DEFINITION id="0">
    local filter = ClearFilter()
    filter:SetZone( ZONE_HAND, EffectController() )
    filter:Add( FE_COLOUR, OP_IS, COLOUR_BLACK)
    filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource())
    </COST_DEFINITION>
      <ABILITY_TEXT tag="CARD_UI_UNMASK_TEXT" />
</UTILITY_ABILITY>
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Target player reveals his or her hand. You choose a nonland card from it. That player discards that card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Le joueur ciblé révèle sa main. Vous choisissez une carte non-terrain. Ce joueur se défausse de cette carte.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[El jugador objetivo muestra su mano. Elige una carta que no sea tierra. Ese jugador descarta esa carta.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ein Spieler zeigt seine Hand. Sie wählen eine Karte aus es kein Land ist. Dieser Spieler wirft diese Karte.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Il giocatore bersaglio rivela la sua mano. Tu scegli da essa una carta non terra. Quel giocatore scarta quella carta.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[そのプレイヤーは自分の手札を公開する。あなたはそれから土地でないカードを1枚選ぶ。そのプレイヤーはそのカードを捨てる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[대상 플레이어는 자신의 손을 보여준다. 당신은 그것에서 nonland 카드를 선택합니다. 즉, 플레이어는 그 카드를 버립니다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Целевой игрок показывает свою руку. Вы выбираете землей карту от него. Тот игрок сбрасывает эту карту.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[O jogador alvo revela sua própria mão. Você escolhe um card que não seja terreno dele. Aquele jogador descarta aquele card.]]></LOCALISED_TEXT>
 <SFX text="TARGET_PESTS_PLAY" />
      <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:SetFilterType( FILTER_TYPE_PLAYERS )
    </TARGET_DEFINITION>
      <TARGET tag="CARD_QUERY_CHOOSE_PLAYER_DISCARD_NONLAND_CARD" definition="0" compartment="0" count="1" />
      <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>
      <RESOLUTION_TIME_ACTION>
    local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    if target_player ~= nil then
       local filter = ClearFilter()
       filter:SetZone( ZONE_HAND, target_player )
       filter:Add( FE_TYPE, OP_NOT, CARD_TYPE_LAND )
       EffectController():ChooseItem( "CARD_QUERY_CHOOSE_NONLAND_CARD_TO_DISCARD", 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
       local chosen_card = EffectDC():Get_Targets(1):Get_CardPtr(0)
       
       if chosen_card ~= nil then
          chosen_card:Discard()
       end
    end
    </RESOLUTION_TIME_ACTION>
      <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
   </SPELL_ABILITY>
   <SEALED_HEURISTICS score_modifier="400" />
   <AI_BASE_SCORE score="450" zone="ZONE_HAND" />
</CARD_V2>
Sickening Shoal REVISED | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="SICKENING_SHOAL_74127" />
  <CARDNAME text="SICKENING_SHOAL" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sickening Shoal]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Banc maladif]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cardumen repugnante]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Krankmachender Schwarm]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Branco Nauseante]]></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[Cardume Nauseante]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="74127" />
  <ARTID value="74127" />
  <ARTIST name="Dan Scott" />
  <CASTING_COST cost="{X}{B}{B}" />
  <TYPE metaname="Instant" />
  <SUB_TYPE metaname="Arcane" />
  <EXPANSION value="BOK" />
  <RARITY metaname="R" />
<UTILITY_ABILITY qualifier="Alternate">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[You may exile a black card with converted mana cost X from your hand rather than pay Sickening Shoal’s mana cost.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vous pouvez retirer de la partie une carte noire de votre main ayant un coût converti de mana de X au lieu de payer le coût de mana du Banc maladif.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Puedes remover del juego una carta negra de tu mano con coste de maná convertido igual a X en lugar de pagar el coste de maná del Cardumen repugnante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Du kannst eine schwarze Karte mit umgewandelten Manakosten von X aus deiner Hand ganz aus dem Spiel entfernen, anstatt die Manakosten des Krankmachenden Schwarms zu bezahlen.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Puoi esiliare una carta nera con costo di mana convertito pari a X presente nella tua mano anziché pagare il costo di mana del Branco Nauseante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたは不快な群れのマナ・コストを支払うのではなく、あなたの手札にある点数で見たマナ・コストがXの黒のカードを1枚ゲームから取り除いてもよい。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[당신은 망명 변환 마나 비용 당신의 손에서 X가 아닌 검은 카드가 지루해 숄의 마나 비용을 지불 할 수 있습니다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Вы можете изгнание черная карта с конвертированной мана-стоимостью X от вашей руки, а не уплаты мана-стоимости тошно мелководье в.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Você pode remover de jogo um card de criatura preta de sua mão com custo de mana convertido igual a X em vez de pagar o custo de mana de Cardume Nauseante.]]></LOCALISED_TEXT>
    <COST type="generic">
      <PREREQUISITE>
      local filter = ClearFilter()
      filter:SetZone( ZONE_HAND, EffectController() )
      filter:Add( FE_COLOUR, OP_IS, COLOUR_BLACK )
      filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
      return filter:CountStopAt(1) == 1
      </PREREQUISITE>
      <RESOLUTION_TIME_ACTION>
      local filter = ClearFilter()
      filter:SetZone( ZONE_HAND, EffectController() )
      filter:Add( FE_COLOUR, OP_IS, COLOUR_BLACK )
      filter:Add( FE_CARD_INSTANCE, OP_NOT, EffectSource() )
      EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CARD_TO_EXILE", EffectDC():Make_Targets(1) )
      </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
      local target_card = EffectDC():Get_Targets(1):Get_CardPtr(0)
      if target_card ~= nil then
         EffectDC():Set_Int( COMPARTMENT_ID_X, target_card:GetConvertedManaCost() )
         target_card:Exile()
      end
      </RESOLUTION_TIME_ACTION>
    </COST>
    <ABILITY_TEXT tag="CARD_UI_SICKENING_SHOAL_TEXT" />
  </UTILITY_ABILITY>


  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Target creature gets -X/-X until end of turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La créature ciblée gagne -X/-X jusqu’à la fin du tour.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[ La criatura objetivo obtiene -X/-X hasta el final del turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Eine Kreatur deiner Wahl erhält -X/-X bis zum Ende des Zuges.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura bersaglio prende -X/-X fino alla fine del turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[クリーチャー1体を対象とする。それはターン終了時まで-X/-Xの修整を受ける。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[대상 생물 가져 -X/-X 턴이 끝날 때까지.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Целевое существо получает -X/-X до конца хода.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[A criatura alvo recebe -X/-X até o final do turno.]]></LOCALISED_TEXT>
     <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_LOSE_X_X" definition="0" compartment="0" count="1" />
   <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
    </TARGET_DEFINITION>

    <CONTINUOUS_ACTION layer="7C">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       target:GetCurrentCharacteristics():Power_Add( -(GetEffectX()) )
       target:GetCurrentCharacteristics():Toughness_Add( -(GetEffectX()) )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
  </SPELL_ABILITY>
        <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" />
   <AI_AVAILABILITY type="in_response" response_source="1" />
   <AI_BASE_SCORE score="600" zone="ZONE_HAND" />
</CARD_V2>
I also made a small add-ons wad including these 4 cards, HQ pictures, and also a Text_UI file for alternate cost queries.
Just Download the wad and copy it into you MTG folder.

Download Updated with revised Sickening Shoal as TheFiremind suggest.
thanks, dude! thank you very much for your help.
your work is excellent.
Necropotence
 
Posts: 24
Joined: 05 May 2013, 05:30
Has thanked: 10 times
Been thanked: 0 time

Re: Formal Request Thread

Postby NeoAnderson » 06 Feb 2014, 15:43

RiiakShiNal wrote:There are more problems than just that. For example you can't change activation costs for abilities (in any way, so cards with activation costs like Akroan Phalanx and Black Oak of Odunos) so you will never be able to spend {W} for a cost that is {B} even if you are told to spend the mana as if it were any colour (Such as False Dawn or Mycosynth Lattice). Not to mention that some cards require mana as part of the effect and any colours there are hard-coded into the cards so again it is impossible to spend mana as if it were mana of any colour (such as Aerie Worshippers and Felhide Spiritbinder). Plus some cards have Kickers which we can't change either (such as Enclave Elite, Gatekeeper of Malakir, and Heartstabber Mosquito).
About the abilities cost, honestly i was not thinking to them i was only focusing on casting cost. Anyway you reasoning is perfectly clear.
RiiakShiNal wrote:A. We can't access internal functions because they have not been exposed to Lua so even though we know there is such a function we don't know what it is and can't use it.
B. GetConvertedManaCost() will only return the CMC of the card without any changes as that is compliant with MtG rules (Rule 202.4). This can also be tested in DotP 2014 by having a card first display the current CMC then increase the cost of the card and redisplay the new current CMC afterwards (they will be the same).
202.4. Any additional cost listed in an object's rules text or imposed by an effect isn't part of the mana cost. (See rule 601, "Casting Spells.") Such costs are paid at the same time as the spell’s other costs.
The effects of cards that change casting cost in DotP 2014 are applied when the card is CONSIDERED_FOR_CAST as such trying to even detect it is probably near impossible if not impossible.
This was my target try to retrieve the real value we need to cast the card, to build an alternative cost based on this value and grant it to the card,but if you say is not possible...
RiiakShiNal wrote:They are supposed to as per MtG rules (Rule 117.9d), though whether DotP is that smart I don't know.
117.9d If an alternative cost is being paid to cast a spell, any additional costs, cost increases, and cost reductions that affect that spell are applied to that alternative cost. (See rule 601.2e.)
My question is related to what i was thinking before, i mean what could happen if we grant an alternative cost to a card who replace all single color cost with multiple colors choices? For example a card has a casting cost = {1} {U} then we grant an alternative cost to this card = {1} {W/U/B/R/G}.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Formal Request Thread

Postby RiiakShiNal » 06 Feb 2014, 16:30

NeoAnderson wrote:This was my target try to retrieve the real value we need to cast the card, to build an alternative cost based on this value and grant it to the card,but if you say is not possible...
The functions that are available to a script language (Lua in this case) are those functions that have been specifically exposed by the script host (DotP in this case). Any function that has not been exposed will cause the script to throw errors. This is a property of scripting that is there for a few reasons including limiting access to the host system (security), reducing what needs to be tested for release, and allowing for the scripts to be separate from the host builds and interpreted rather than linked to specific builds and forced to be compiled (compiler logic). Using external programs or libraries additional functions can sometimes be exposed to the scripting language (for example Oblivion Script Extender and Skyrim Script Extender for those elder scrolls games, plugin libraries for Dungeon Siege, etc...). However, currently there is no-one (at least that I am aware of) working on something similar for DotP.

NeoAnderson wrote:My question is related to what i was thinking before, i mean what could happen if we grant an alternative cost to a card who replace all single color cost with multiple colors choices? For example a card has a casting cost = {1} {U} then we grant an alternative cost to this card = {1} {W/U/B/R/G}.
This would still cause problems with cards that already have alternative costs as you can only select one alternative cost for casting any given card (for example Inferno Trap, Lethargy Trap). Mycosynth Lattice in play, several 2/2 Green Wolf tokens attacking, you have an untapped Swamp and Lethargy Trap in hand, according to MtG rules you should be able to play Lethargy Trap with {B} from the Swamp due to alternative cost and the effects of Mycosynth Lattice, but you can't do that in DotP because we don't have the required engine support to either use 2 alternative costs at once or to spend mana as if it were mana of any colour.
117.9a Only one alternative cost can be applied to any one spell as it's being cast. The controller of the spell announces his or her intentions to pay that cost as described in rule 601.2b.
And this still doesn't solve the problem of cards that add other costs (for example Derelor, Alabaster Leech, etc...).

Even then I'm not sure if the game will recognize {W/U/B/R/G} as a valid cost since no mana symbol has more than 2 possibilities in it (Normal, Hybrid, and Phyrexian) so the game may just look to see if it has a / in the cost, does a split and only looks at the first 2 elements (assuming it allows it at all).
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Formal Request Thread

Postby NeoAnderson » 06 Feb 2014, 18:27

Ok Riiak I think there is not so much we can do to approximate that kind of cards, i just tried to think something but due of too many limitations as you pointed is not possible.
Just to inform you i tested the casting cost {W/U/B/R/G}, it is recognized by the game as {W/G} .
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 1 guest

Main Menu

User Menu

Our Partners


Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (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 1 guest

Login Form