It is currently 23 May 2024, 10:00
   
Text Size

Help with Ob Nixilis of the Black Oath

Moderator: CCGHQ Admins

Help with Ob Nixilis of the Black Oath

Postby fallenangle » 09 Nov 2014, 00:10

I've been coding Ob Nixilis of the Black Oath, and I have everything working fine except his ultimate, which is still puzzling me. If anyone can give me some assistance in debugging and refining my code, I would be extremely grateful. Thanks in advance for all of your help!

Here is my code:

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="OB_NIXILIS_OF_THE_BLACK_OATH_991389618" />
  <CARDNAME text="OB_NIXILIS_OF_THE_BLACK_OATH" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Ob Nixilis of the Black Oath]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Ob Nixilis du Sombre Serment]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ob Nixilis del juramento sombrío]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ob Nixilis des schwarzen Schwurs]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ob Nixilis del Giuramento Nero]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[黒き誓約、オブ・ニクシリス]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Ob Nixilis of the Black Oath]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Ob Nixilis of the Black Oath]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Ob Nixilis of the Black Oath]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="991389618" />
  <ARTID value="991389618" />
  <ARTIST name="Daarken" />
  <CASTING_COST cost="{3}{B}{B}" />
  <TYPE metaname="Planeswalker" />
<TYPE metaname="Enchantment" />
  <SUB_TYPE metaname="Nixilis" />
  <EXPANSION value="C14" />
  <RARITY metaname="M" />
<TOKEN_REGISTRATION reservation="1" type="TOKEN_DEMON_5_5_B_F_199900112" />
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|(Loyalty 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[|(Loyauté 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[|(Lealtad 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[|(Loyalität 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[|(Fedeltà 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[(忠誠 3)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[|(충성 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[|(Верность 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[|(Lealdade 3)|]]></LOCALISED_TEXT>
      <COUNTER_REGISTRATION name="Loyalty" proliferate="11" />
      <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
      <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then
       EffectSource():AddCounters( MTG():GetCountersType("Loyalty"), 3 )
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[+2: Each opponent loses 1 life. You gain life equal to the life lost this way.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[+2 : Chaque adversaire perd 1 point de vie. Vous gagnez autant de points de vie que ceux perdus de cette manière.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[+2: Cada oponente pierde 1 vida. Ganas una cantidad de vidas igual a las vidas perdidas de esta manera.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[+2: Jeder Gegner verliert 1 Lebenspunkt. Du erhältst so viele Lebenspunkte dazu, wie auf diese Weise Lebenspunkte verloren wurden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[+2: Ogni avversario perde 1 punto vita. Guadagni punti vita pari ai punti vita persi in questo modo.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[+2:各対戦相手はそれぞれ1点のライフを失う。あなたはこれにより失われたライフに等しい点数のライフを得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[+2: Each opponent loses 1 life. You gain life equal to the life lost this way.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[+2: Each opponent loses 1 life. You gain life equal to the life lost this way.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[+2: Each opponent loses 1 life. You gain life equal to the life lost this way.]]></LOCALISED_TEXT>
<AVAILABILITY sorcery_time="1" />
    <COST type="generic">
      <PREREQUISITE>
      return true
      </PREREQUISITE>
      <RESOLUTION_TIME_ACTION>
      if EffectSource() ~= nil then
         PLW_ShutDownDoublingSeason()
         EffectSource():AddCounters( MTG():GetCountersType("Loyalty"), 2 )
      end
      </RESOLUTION_TIME_ACTION>
    </COST>
<RESOLUTION_TIME_ACTION>
    local total = 0
    local number = MTG():GetNumberOfPlayers()
    for i = 0, (number-1) do
      local player = MTG():GetNthPlayer(i)
       if player:GetTeam() ~= EffectController():GetTeam() then
          player:LoseLife( 1 )
        total = total + 1
       end
    end
    EffectController():GainLife( total )
</RESOLUTION_TIME_ACTION>
  </ACTIVATED_ABILITY>
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[−2: Put a 5/5 black Demon creature token with flying onto the battlefield. You lose 2 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[−2 : Mettez sur le champ de bataille un jeton de créature 5/5 noire Démon avec le vol. Vous perdez 2 points de vie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[-2: Pon en el campo de batalla una ficha de criatura Demonio negra 5/5 con la habilidad de volar. Pierdes 2 vidas.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−2: Bringe einen 5/5 schwarzen Dämon-Kreaturenspielstein mit Flugfähigkeit ins Spiel. Du verlierst 2 Lebenspunkte.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[-2: Metti sul campo di battaglia una pedina creatura Demone 5/5 nera con volare. Perdi 2 punti vita.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-2:飛行を持つ黒の5/5のデーモン・クリーチャー・トークンを1体戦場に出す。あなたは2点のライフを失う。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[−2: Put a 5/5 black Demon creature token with flying onto the battlefield. You lose 2 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[−2: Put a 5/5 black Demon creature token with flying onto the battlefield. You lose 2 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[−2: Put a 5/5 black Demon creature token with flying onto the battlefield. You lose 2 life.]]></LOCALISED_TEXT>
<AVAILABILITY sorcery_time="1" />
    <COST type="RemoveCountersSelf" amount="2" counter_type="Loyalty" />
<RESOLUTION_TIME_ACTION>
    MTG():PutTokensOntoBattlefield( "TOKEN_DEMON_5_5_B_F_199900112", 1, EffectController() )
EffectController():LoseLife(2)
    </RESOLUTION_TIME_ACTION>
  </ACTIVATED_ABILITY>
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[−8: You get an emblem with “{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature’s power.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[−8 : Vous gagnez un emblème avec « {1}{B}, sacrifiez une créature : Vous gagnez X points de vie et piochez X cartes, X étant la force de la créature sacrifiée. »]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[-8: Obtienes un emblema con “{1}{B}, sacrificar una criatura: Ganas X vidas y robas X cartas, donde X es la fuerza de la criatura sacrificada”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−8: Du erhältst ein Emblem mit „{1}{B}, opfere eine Kreatur: Du erhältst X Lebenspunkte dazu und ziehst X Karten, wobei X gleich der Stärke der geopferten Kreatur ist.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[-8: Ottieni un emblema con “{1}{B}, Sacrifica una creatura: Guadagni X punti vita e peschi X carte, dove X è la forza della creatura sacrificata”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-8:あなたは「{1}{B}, クリーチャーを1体生け贄に捧げる:あなたはX点のライフを得て、カードをX枚引く。Xはその生け贄に捧げられたクリーチャーのパワーに等しい。」を持つ紋章を得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[−8: You get an emblem with “{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature’s power.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[−8: You get an emblem with “{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature’s power.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[−8: You get an emblem with “{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature’s power.”]]></LOCALISED_TEXT>
<AVAILABILITY sorcery_time="1" />
    <COST type="RemoveCountersSelf" amount="8" counter_type="Loyalty" />
<FILTER filter_id="0" reevaluates="1">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    </FILTER>
    <CONTINUOUS_ACTION layer="6" filter_id="0">
    if FilteredCard() ~= nil then
       FilteredCard():GetCurrentCharacteristics():GrantAbility(1)
    end
    </CONTINUOUS_ACTION>
    <DURATION>
    return EffectController() == nil
    </DURATION>
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{1}{B}: Sacrifice a creature. You gain X life and draw X cards, where X is that creature’s power.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{1}{B}: Sacrifiez une créature. Vous gagnez X points de vie et vous piochez X cartes, X étant la force de cette créature.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{1}{B}: Sacrifica una criatura. Ganas X vidas y robas X cartas, donde X es la fuerza de esa criatura.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{1}{B}: Opfere eine Kreatur. Du erhältst X Lebenspunkte dazu und ziehst X Karten, wobei X gleich der Stärke dieser Kreatur ist.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{1}{B}: Sacrifica una creatura. Guadagni X punti vita e peschi X carte, dove X è la forza di quella creatura.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{1}{B}: クリーチャーを1体生け贄に捧げる。あなたはX点のライフを得て、カードをX枚引く。Xはそのクリーチャーのパワーに等しい。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{1}{B}: 다른 생물 한 개를 희생한다. 당신은 생명 X점을 얻고 카드 X장을 뽑는다. X는 희생된 생물의 공격력이다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{1}{B}: пожертвуйте другое существо. Вы получаете X жизней и берете X карт, где X — сила того существа.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{1}{B}: Sacrifique unha criatura. Você ganha X pontos de vida e compra X cards, sendo X igual ao poder daquela criatura.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{1}{B}: 牺牲一个生物。你获得X点生命且抓X张牌,X为该生物的力量。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{1}{B}: 犧牲一個生物。你獲得X點生命且抽X張牌,X為該生物的力量。]]></LOCALISED_TEXT>
<COST mana_cost="{1}{B}" type="Mana" />
<COST type="SacrificeSelf" />
      <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then
         local characteristics = EffectSource:GetCurrentCharacteristics()
         local power = characteristics:Power_Get()
    end
end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    local amount = local power
    if amount &gt; 0 then
      EffectController():GainLife(amount)
      EffectController():DrawCards(amount)
    end
    </RESOLUTION_TIME_ACTION>
  </ACTIVATED_ABILITY>
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Ob Nixilis of the Black Oath can be your commander.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Ob Nixilis du Sombre Serment peut être votre commandant.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ob Nixilis del juramento sombrío puede ser tu comandante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ob Nixilis des schwarzen Schwurs kann dein Kommandeur sein.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ob Nixilis del Giuramento Nero può essere il tuo comandante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[黒き誓約、オブ・ニクシリスは統率者として使用できる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Ob Nixilis of the Black Oath can be your commander.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Ob Nixilis of the Black Oath can be your commander.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Ob Nixilis of the Black Oath can be your commander.]]></LOCALISED_TEXT>
  </STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
   <TRIGGER value="BEGINNING_OF_STEP">
    return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
    </TRIGGER>
   <RESOLUTION_TIME_ACTION>
    PLW_CreateUniqueTokenForEachPlayer("_PLANESWALKERS_MANAGER_991800002", "_PLANESWALKERS_MANAGER")
    </RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="_PLANESWALKERS_MANAGER_991800002" />
</CARD_V2>
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Help with Ob Nixilis of the Black Oath

Postby fallenangle » 09 Nov 2014, 04:05

I've got it all working now, but I can't help but think that there's a more elegant way to do his ultimate. Any thoughts?

Here's the code I've got now:

Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="OB_NIXILIS_OF_THE_BLACK_OATH_991389618" />
  <CARDNAME text="OB_NIXILIS_OF_THE_BLACK_OATH" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Ob Nixilis of the Black Oath]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Ob Nixilis du Sombre Serment]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ob Nixilis del juramento sombrío]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ob Nixilis des schwarzen Schwurs]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ob Nixilis del Giuramento Nero]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[黒き誓約、オブ・ニクシリス]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Ob Nixilis of the Black Oath]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Ob Nixilis of the Black Oath]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Ob Nixilis of the Black Oath]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="991389618" />
  <ARTID value="991389618" />
  <ARTIST name="Daarken" />
  <CASTING_COST cost="{3}{B}{B}" />
  <TYPE metaname="Planeswalker" />
<TYPE metaname="Enchantment" />
  <SUB_TYPE metaname="Nixilis" />
  <EXPANSION value="C14" />
  <RARITY metaname="M" />
<TOKEN_REGISTRATION reservation="1" type="TOKEN_DEMON_5_5_B_F_199900112" />
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|(Loyalty 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[|(Loyauté 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[|(Lealtad 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[|(Loyalität 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[|(Fedeltà 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[(忠誠 3)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[|(충성 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[|(Верность 3)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[|(Lealdade 3)|]]></LOCALISED_TEXT>
      <COUNTER_REGISTRATION name="Loyalty" proliferate="11" />
      <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
      <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then
       EffectSource():AddCounters( MTG():GetCountersType("Loyalty"), 3 )
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[+2: Each opponent loses 1 life. You gain life equal to the life lost this way.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[+2 : Chaque adversaire perd 1 point de vie. Vous gagnez autant de points de vie que ceux perdus de cette manière.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[+2: Cada oponente pierde 1 vida. Ganas una cantidad de vidas igual a las vidas perdidas de esta manera.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[+2: Jeder Gegner verliert 1 Lebenspunkt. Du erhältst so viele Lebenspunkte dazu, wie auf diese Weise Lebenspunkte verloren wurden.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[+2: Ogni avversario perde 1 punto vita. Guadagni punti vita pari ai punti vita persi in questo modo.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[+2:各対戦相手はそれぞれ1点のライフを失う。あなたはこれにより失われたライフに等しい点数のライフを得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[+2: Each opponent loses 1 life. You gain life equal to the life lost this way.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[+2: Each opponent loses 1 life. You gain life equal to the life lost this way.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[+2: Each opponent loses 1 life. You gain life equal to the life lost this way.]]></LOCALISED_TEXT>
<AVAILABILITY sorcery_time="1" />
    <COST type="generic">
      <PREREQUISITE>
      return true
      </PREREQUISITE>
      <RESOLUTION_TIME_ACTION>
      if EffectSource() ~= nil then
         PLW_ShutDownDoublingSeason()
         EffectSource():AddCounters( MTG():GetCountersType("Loyalty"), 2 )
      end
      </RESOLUTION_TIME_ACTION>
    </COST>
<RESOLUTION_TIME_ACTION>
    local total = 0
    local number = MTG():GetNumberOfPlayers()
    for i = 0, (number-1) do
      local player = MTG():GetNthPlayer(i)
       if player:GetTeam() ~= EffectController():GetTeam() then
          player:LoseLife( 1 )
        total = total + 1
       end
    end
    EffectController():GainLife( total )
</RESOLUTION_TIME_ACTION>
  </ACTIVATED_ABILITY>
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[−2: Put a 5/5 black Demon creature token with flying onto the battlefield. You lose 2 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[−2 : Mettez sur le champ de bataille un jeton de créature 5/5 noire Démon avec le vol. Vous perdez 2 points de vie.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[-2: Pon en el campo de batalla una ficha de criatura Demonio negra 5/5 con la habilidad de volar. Pierdes 2 vidas.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−2: Bringe einen 5/5 schwarzen Dämon-Kreaturenspielstein mit Flugfähigkeit ins Spiel. Du verlierst 2 Lebenspunkte.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[-2: Metti sul campo di battaglia una pedina creatura Demone 5/5 nera con volare. Perdi 2 punti vita.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-2:飛行を持つ黒の5/5のデーモン・クリーチャー・トークンを1体戦場に出す。あなたは2点のライフを失う。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[−2: Put a 5/5 black Demon creature token with flying onto the battlefield. You lose 2 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[−2: Put a 5/5 black Demon creature token with flying onto the battlefield. You lose 2 life.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[−2: Put a 5/5 black Demon creature token with flying onto the battlefield. You lose 2 life.]]></LOCALISED_TEXT>
<AVAILABILITY sorcery_time="1" />
    <COST type="RemoveCountersSelf" amount="2" counter_type="Loyalty" />
<RESOLUTION_TIME_ACTION>
    MTG():PutTokensOntoBattlefield( "TOKEN_DEMON_5_5_B_F_199900112", 1, EffectController() )
EffectController():LoseLife(2)
    </RESOLUTION_TIME_ACTION>
  </ACTIVATED_ABILITY>
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[−8: You get an emblem with “{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature’s power.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[−8 : Vous gagnez un emblème avec « {1}{B}, sacrifiez une créature : Vous gagnez X points de vie et piochez X cartes, X étant la force de la créature sacrifiée. »]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[-8: Obtienes un emblema con “{1}{B}, sacrificar una criatura: Ganas X vidas y robas X cartas, donde X es la fuerza de la criatura sacrificada”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−8: Du erhältst ein Emblem mit „{1}{B}, opfere eine Kreatur: Du erhältst X Lebenspunkte dazu und ziehst X Karten, wobei X gleich der Stärke der geopferten Kreatur ist.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[-8: Ottieni un emblema con “{1}{B}, Sacrifica una creatura: Guadagni X punti vita e peschi X carte, dove X è la forza della creatura sacrificata”.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-8:あなたは「{1}{B}, クリーチャーを1体生け贄に捧げる:あなたはX点のライフを得て、カードをX枚引く。Xはその生け贄に捧げられたクリーチャーのパワーに等しい。」を持つ紋章を得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[−8: You get an emblem with “{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature’s power.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[−8: You get an emblem with “{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature’s power.”]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[−8: You get an emblem with “{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature’s power.”]]></LOCALISED_TEXT>
<AVAILABILITY sorcery_time="1" />
    <COST type="RemoveCountersSelf" amount="8" counter_type="Loyalty" />
<FILTER filter_id="0" reevaluates="1">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    </FILTER>
    <CONTINUOUS_ACTION layer="6" filter_id="0">
    if FilteredCard() ~= nil then
       FilteredCard():GetCurrentCharacteristics():GrantAbility(1)
    end
    </CONTINUOUS_ACTION>
    <DURATION>
    return EffectController() == nil
    </DURATION>
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{1}{B}: Sacrifice a creature. You gain X life and draw X cards, where X is that creature’s power.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{1}{B}: Sacrifiez une créature. Vous gagnez X points de vie et vous piochez X cartes, X étant la force de cette créature.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{1}{B}: Sacrifica una criatura. Ganas X vidas y robas X cartas, donde X es la fuerza de esa criatura.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{1}{B}: Opfere eine Kreatur. Du erhältst X Lebenspunkte dazu und ziehst X Karten, wobei X gleich der Stärke dieser Kreatur ist.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{1}{B}: Sacrifica una creatura. Guadagni X punti vita e peschi X carte, dove X è la forza di quella creatura.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{1}{B}: クリーチャーを1体生け贄に捧げる。あなたはX点のライフを得て、カードをX枚引く。Xはそのクリーチャーのパワーに等しい。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{1}{B}: 다른 생물 한 개를 희생한다. 당신은 생명 X점을 얻고 카드 X장을 뽑는다. X는 희생된 생물의 공격력이다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{1}{B}: пожертвуйте другое существо. Вы получаете X жизней и берете X карт, где X — сила того существа.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{1}{B}: Sacrifique unha criatura. Você ganha X pontos de vida e compra X cards, sendo X igual ao poder daquela criatura.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[{1}{B}: 牺牲一个生物。你获得X点生命且抓X张牌,X为该生物的力量。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[{1}{B}: 犧牲一個生物。你獲得X點生命且抽X張牌,X為該生物的力量。]]></LOCALISED_TEXT>
<COST mana_cost="{1}{B}" type="Mana" />
      <RESOLUTION_TIME_ACTION>
    local filter = ClearFilter()
      filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE", EffectDC():Make_Targets(0) )
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    if EffectDC() ~= nil then
      local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
      if target ~= nil then
         local characteristics = target:GetCurrentCharacteristics()
         local power = characteristics:Power_Get()
         EffectDC():Set_Int( 1, power )
      end
    end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    if EffectDC() ~= nil then
      local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
      if target ~= nil then
         EffectController():Sacrifice( target )
      end
    end
    </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
    local amount = EffectDC():Get_Int(1)
    if amount &gt; 0 then
      EffectController():GainLife(amount)
      EffectController():DrawCards(amount)
    end
    </RESOLUTION_TIME_ACTION>
  </ACTIVATED_ABILITY>
  <STATIC_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Ob Nixilis of the Black Oath can be your commander.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Ob Nixilis du Sombre Serment peut être votre commandant.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ob Nixilis del juramento sombrío puede ser tu comandante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ob Nixilis des schwarzen Schwurs kann dein Kommandeur sein.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ob Nixilis del Giuramento Nero può essere il tuo comandante.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[黒き誓約、オブ・ニクシリスは統率者として使用できる。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Ob Nixilis of the Black Oath can be your commander.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Ob Nixilis of the Black Oath can be your commander.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Ob Nixilis of the Black Oath can be your commander.]]></LOCALISED_TEXT>
  </STATIC_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
   <TRIGGER value="BEGINNING_OF_STEP">
    return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
    </TRIGGER>
   <RESOLUTION_TIME_ACTION>
    PLW_CreateUniqueTokenForEachPlayer("_PLANESWALKERS_MANAGER_991800002", "_PLANESWALKERS_MANAGER")
    </RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="_PLANESWALKERS_MANAGER_991800002" />
</CARD_V2>
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Help with Ob Nixilis of the Black Oath

Postby thefiremind » 09 Nov 2014, 08:57

Since we can't make emblems... well, that's a problem. You could add the ability to Ob Nixilis himself, but then it would be a pain to keep it active through any zone change.
< 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: 721 times

Re: Help with Ob Nixilis of the Black Oath

Postby fallenangle » 09 Nov 2014, 14:11

It goes to creatures you control now, actually, which I think is probably the best way to do it. What I wish I could do is make the creature on which you activate the ability be the one you sacrifice instead of giving you a choice of targets, but I don't know how to code that.
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Help with Ob Nixilis of the Black Oath

Postby Xander9009 » 09 Nov 2014, 18:52

fallenangle wrote:It goes to creatures you control now, actually, which I think is probably the best way to do it. What I wish I could do is make the creature on which you activate the ability be the one you sacrifice instead of giving you a choice of targets, but I don't know how to code that.
Instead of asking the player for a target to use with EffectDC():Make_Targets(0) use something like EffectDC():Make_Targets(0):Set_CardPtr(0, EffectSource()) or something? Just a thought.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Help with Ob Nixilis of the Black Oath

Postby NeoAnderson » 10 Nov 2014, 06:27

fallenangle wrote:It goes to creatures you control now, actually, which I think is probably the best way to do it. What I wish I could do is make the creature on which you activate the ability be the one you sacrifice instead of giving you a choice of targets, but I don't know how to code that.
As Answered by PM YOu can use the follow code:
Code: Select all
          <RESOLUTION_TIME_ACTION>
        if EffectSource() ~= nil then
           local amount = EffectSource():GetCurrentCharacteristics():Power_Get()
           if amount &gt; 0 then
              EffectController():GainLife(amount)
              EffectController():DrawCards(amount)
           end
      EffectController():Sacrifice( EffectSource() )
        end
        </RESOLUTION_TIME_ACTION>
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Help with Ob Nixilis of the Black Oath

Postby Xander9009 » 10 Nov 2014, 13:57

NeoAnderson wrote:
fallenangle wrote:It goes to creatures you control now, actually, which I think is probably the best way to do it. What I wish I could do is make the creature on which you activate the ability be the one you sacrifice instead of giving you a choice of targets, but I don't know how to code that.
As Answered by PM YOu can use the follow code:
Code: Select all
          <RESOLUTION_TIME_ACTION>
        if EffectSource() ~= nil then
           local amount = EffectSource():GetCurrentCharacteristics():Power_Get()
           if amount &gt; 0 then
              EffectController():GainLife(amount)
              EffectController():DrawCards(amount)
           end
      EffectController():Sacrifice( EffectSource() )
        end
        </RESOLUTION_TIME_ACTION>
Id din't think about the fact that it's part of the cost, so targeting isn't relevant. So, yeah, something as simple as that would work.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times


Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 7 guests


Who is online

In total there are 7 users online :: 0 registered, 0 hidden and 7 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 7 guests

Login Form