It is currently 25 Apr 2024, 20:52
   
Text Size

Need opinion about Ob Nixilis, Unshackled

Moderator: CCGHQ Admins

Need opinion about Ob Nixilis, Unshackled

Postby NeoAnderson » 30 Oct 2014, 16:54

I'm trying to code Ob Nixilis, Unshackled, but i still have a problem to make it full rules compliant.
The card triggers also if an opponent search another player library, and this should not happen so i need to understand if there is a possibility to identify which library the player has searched or to limit the interrogation to its library.


Ob Nixilis, Unshackled | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="NEO_M15_110_OB_NIXILIS_UNSHACKLED_915383330" />
  <CARDNAME text="OB_NIXILIS_UNSHACKLED" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Ob Nixilis, Unshackled]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Ob Nixilis, libéré de ses chaînes]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ob Nixilis liberado]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ob Nixilis der Entfesselte]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ob Nixilis, Libero dai Vincoli]]></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[Ob Nixilis, Libertado]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[破枷的欧尼希兹]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[破枷的歐尼希茲]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="915383330" />
  <ARTID value="915383330" />
  <ARTIST name="Karl Kopinski" />
  <CASTING_COST cost="{4}{B}{B}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Designed by Brad Muir]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Conçue par Brad Muir]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Diseñada por Brad Muir]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nach einer Idee von Brad Muir]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ideata da Brad Muir]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[デザイン:Brad Muir]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[디자인: Brad Muir]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Автор карты: Брэд Мьюир]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Criado por Brad Muir]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[设计者:Brad Muir]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[設計者:Brad Muir]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <SUPERTYPE metaname="Legendary" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Demon" />
  <EXPANSION value="M15" />
  <RARITY metaname="R" />
  <POWER value="4" />
  <TOUGHNESS value="4" />
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying, trample]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol, piétinement]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela, arrolla.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend, verursacht Trampelschaden]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare, travolgere]]></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, atropelar]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[飞行,践踏]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[飛行,踐踏]]></LOCALISED_TEXT>
      <INTRINSIC characteristic="CHARACTERISTIC_FLYING" />
      <INTRINSIC characteristic="CHARACTERISTIC_TRAMPLE" />
  </STATIC_ABILITY>

 <TRIGGERED_ABILITY linked_ability_group="1" replacement_effect="1" active_zone="ZONE_TRANSITION">
  <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
  <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then
       local num_starting_players= MTG():GetNumberOfStartingPlayers()
       for i=0,(num_starting_players-1) do
       local player = MTG():GetNthStartingPlayer( i )
         if (player ~= nil and player:GetTeam() ~= EffectController():GetTeam()) then
            local interrogation = MTG():ClearInterrogationQuery()
            interrogation:SetPlayer( player )       
             local value = interrogation:Count(INTERROGATE_SEARCHED_LIBRARY, INTERROGATE_THIS_TURN)
             LinkedDC():Set_Int(i, value)
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>


   <TRIGGERED_ABILITY replacement_effect="1" linked_ability_group="1">
      <TRIGGER value="BEGINNING_OF_STEP">
    return MTG():GetStep() == STEP_CLEANUP
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then
       local num_starting_players= MTG():GetNumberOfStartingPlayers()
       for i=0,(num_starting_players-1) do
       local player = MTG():GetNthStartingPlayer( i )
         if (player ~= nil and player:GetTeam() ~= EffectController():GetTeam()) then
             LinkedDC():Set_Int(i, 0)
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY linked_ability_group="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever an opponent searches his or her library, that player sacrifices a creature and loses 10 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois qu’un adversaire cherche dans sa bibliothèque, ce joueur sacrifie une créature et perd 10 points de vie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que un oponente busque en su biblioteca, ese jugador sacrifica una criatura y pierde 10 vidas.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn ein Gegner seine Bibliothek durchsucht, opfert dieser Spieler eine Kreatur und verliert 10 Lebenspunkte.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta un avversario passa in rassegna il suo grimorio, quel giocatore sacrifica una creatura e perde 10 punti vita.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[対戦相手1人が自分のライブラリーを探すたび、そのプレイヤーはクリーチャーを1体生け贄に捧げ、10点のライフを失う。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[상대가 자신의 서고에서 카드를 찾을 때마다, 그 플레이어는 생물 한 개를 희생하고 생명 10점을 잃는다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда оппонент ищет в своей библиотеке, тот игрок жертвует существо и теряет 10 жизней.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que um oponente procura algo no próprio grimório, ele sacrifica uma criatura e perde 10 pontos de vida.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[每当一位对手搜寻其牌库时,该牌手牺牲一个生物且失去10点生命。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[每當一位對手搜尋其牌庫時,該玩家犧牲一個生物且失去10點生命。]]></LOCALISED_TEXT>
    <TRIGGER value="SPELL_RESOLVED">
     local num_starting_players= MTG():GetNumberOfStartingPlayers()
     for i=0,(num_starting_players-1) do
       local player = MTG():GetNthStartingPlayer( i )
       if (player ~= nil and player:GetTeam() ~= EffectController():GetTeam()) then
          local interrogation = MTG():ClearInterrogationQuery()
          interrogation:SetPlayer( player )       
                local value = interrogation:Count(INTERROGATE_SEARCHED_LIBRARY, INTERROGATE_THIS_TURN)
                local PlayerSearchCount = LinkedDC():Get_Int(i)
          if value &gt; PlayerSearchCount then
                   LinkedDC():Set_Int(i, value)
                   EffectDC():Set_PlayerPtr(1, player)
                  return true
          end
       end
     end
     return false
   </TRIGGER>
    <TRIGGER value="ABILITY_RESOLVED">
     local num_starting_players= MTG():GetNumberOfStartingPlayers()
     for i=0,(num_starting_players-1) do
       local player = MTG():GetNthStartingPlayer( i )
       if (player ~= nil and player:GetTeam() ~= EffectController():GetTeam()) then
          local interrogation = MTG():ClearInterrogationQuery()
          interrogation:SetPlayer( player )       
          interrogation:SetSecondaryPlayer( player )
                local value = interrogation:Count(INTERROGATE_SEARCHED_LIBRARY, INTERROGATE_THIS_TURN)
                local PlayerSearchCount = LinkedDC():Get_Int(i)
          if value &gt; PlayerSearchCount then
                   LinkedDC():Set_Int(i, value)
                   EffectDC():Set_PlayerPtr(1, player)
                  return true
          end
       end
     end
     return false
   </TRIGGER>

    <RESOLUTION_TIME_ACTION>
    if EffectDC():Get_PlayerPtr(1) ~= nil then
        local player = EffectDC():Get_PlayerPtr(1)
   local filter = ClearFilter()
       filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
       filter:Add( FE_CONTROLLER, OP_IS, player )
       player:ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE", EffectDC():Make_Targets(0) )
    end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    if EffectDC():Get_PlayerPtr(1) ~= nil then
       local player = EffectDC():Get_PlayerPtr(1)
       local ChoosenCard = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
       if ChoosenCard ~= nil then
          player:Sacrifice( ChoosenCard )
       end
    end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    if EffectDC():Get_PlayerPtr(1) ~= nil then
       local player = EffectDC():Get_PlayerPtr(1)
       player:LoseLife(10)
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever another creature dies, put a +1/+1 counter on Ob Nixilis, Unshackled.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois qu’une autre créature meurt, mettez un marqueur +1/+1 sur Ob Nixilis, libéré de ses chaînes.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que otra criatura muera, pon un contador +1/+1 sobre Ob Nixilis liberado.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn eine andere Kreatur stirbt, lege eine +1/+1-Marke auf Ob Nixilis den Entfesselten.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta un’altra creatura muore, metti un segnalino +1/+1 su Ob Nixilis, Libero dai Vincoli.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[他のクリーチャーが1体死亡するたび、解き放たれし者、オブ・ニクシリスの上に+1/+1カウンターを1個置く。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[다른 생물이 죽을 때마다, 풀려난 오브 닉실리스에 +1/+1 카운터 한 개를 올려놓는다.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Каждый раз, когда другое существо умирает, положите один жетон +1/+1 на Об-Никсилиса, Освобожденного.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Toda vez que outra criatura morrer, coloque um marcador +1/+1 em Ob Nixilis, Libertado.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[每当另一个生物死去时,在破枷的欧尼希兹上放置一个+1/+1指示物。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[每當另一個生物死去時,在破枷的歐尼希茲上放置一個+1/+1指示物。]]></LOCALISED_TEXT>
    <TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="another" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_BATTLEFIELD">
       return TriggerObject():GetCardType():Test(CARD_TYPE_CREATURE)
    </TRIGGER>
      <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then
       EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
    end
    </RESOLUTION_TIME_ACTION>
      <AUTO_SKIP no_effect_source="1" />
   </TRIGGERED_ABILITY>
   <HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" />
   <HELP title="MORE_INFO_BADGE_TITLE_1" body="MORE_INFO_BADGE_BODY_1" zone="ZONE_ANY" />
  <SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 23 guests


Who is online

In total there are 23 users online :: 0 registered, 0 hidden and 23 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 23 guests

Login Form