Board index Programs with AI or Rules Enforcement Magic: The Gathering - Duels of the Planeswalkers Programming Talk
Help with Ob Nixilis of the Black Oath
Moderator: CCGHQ Admins
Help with Ob Nixilis of the Black Oath
by 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:
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 > 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
by 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:
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 > 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
by 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...
Currently busy with life...
-
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
by 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
by Xander9009 » 09 Nov 2014, 18:52
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.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.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-
Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Help with Ob Nixilis of the Black Oath
by NeoAnderson » 10 Nov 2014, 06:27
As Answered by PM YOu can use the follow code: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.
- Code: Select all
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
local amount = EffectSource():GetCurrentCharacteristics():Power_Get()
if amount > 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
by Xander9009 » 10 Nov 2014, 13:57
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.NeoAnderson wrote:As Answered by PM YOu can use the follow code: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.
- Code: Select all
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
local amount = EffectSource():GetCurrentCharacteristics():Power_Get()
if amount > 0 then
EffectController():GainLife(amount)
EffectController():DrawCards(amount)
end
EffectController():Sacrifice( EffectSource() )
end
</RESOLUTION_TIME_ACTION>
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-
Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
7 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 7 guests