It is currently 23 May 2024, 11:56
   
Text Size

TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Moderator: CCGHQ Admins

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby fallenangle » 04 Oct 2014, 16:52

I'm pretty sure the Manager shouldn't allow two players to both have the same Planeswalker under their control at the same time, as this would technically be a violation of the "legends rule," but whether it violates the one in the Manager is something I'm not sure about at the moment.
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby thefiremind » 05 Oct 2014, 11:08

sweetLu wrote:Does that zone change end trigger fire for the legendary enforcement work if you were to gain control of an opponents planeswalker?
That's a good point, I didn't think about that. It should be OK if you add another trigger condition to the "Legendary rule":
Code: Select all
    <TRIGGER value="CONTROLLER_CHANGED" simple_qualifier="objectyoucontrol">
    return PLW_IsInNameSet( TriggerObject(), "PLANESWALKERS" )
    </TRIGGER>
The truth is that the trigger should be a STATE_BASED_EFFECTS trigger, but that would make the manager impact on the game performance even more. Sarkhan, the Dragonspeaker would probably need it in order to "catch" the scenario where a player controls 2 Sarkhan, one of them being a creature, and that one stops being a creature.

By the way, sorry if I don't participate in the "quest" for Sarkhan, the Dragonspeaker, but I don't feel like it's worth spending time on it. If I ever make another official update I'll probably put him in the list of unfeasible Planeswalkers.
< 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: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby fallenangle » 05 Oct 2014, 16:50

You're right, TFM. I got a little overzealous about this because I felt responsible for making him work once I uploaded the zip with him and the new Sorin. It may be that there's not a good solution; and if that's the case, then I'm prepared to live with it. I apologize if I dragged you into this mess. Thank you very much for your kind advice, as always.
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby NeoAnderson » 06 Oct 2014, 22:46

ok, my friend,
I just got some minutes to take a look to the card.
I think that Planeswalker are still an approximation and there are also some things cannot be fixed, i also find that the game slow down when i use them...anyway, i made the first ability as you requested, i also added some check for the legendary rules when it turn back to Sarkhan state. I also added a trigger for the controller change.
I have not deeply look to the manager code but i think there still are something to be fixed.
Anyway there is a condition about Sarkhan, the Dragonspeaker that i think is not implementable :
Code: Select all
20/09/2014   If a permanent enters the battlefield as a copy of Sarkhan after his first ability has resolved, the copy will be a Sarkhan planeswalker. It will enter the battlefield with four loyalty counters, no matter how many loyalty counters are on the original Sarkhan. You’ll then find yourself in the same situation described above.
Here you can test the my revised card i also added the Dragon picture.
Sarkhan, the Dragonspeaker - Mod by Neo | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="NEO_KTK_SARKHAN_THE_DRAGONSPEAKER_994386650" />
   <CARDNAME text="SARKHAN_THE_DRAGONSPEAKER" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sarkhan, the Dragonspeaker]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sarkhan, le languedragon]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sarkhan, el dragonhablante]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sarkhan Drachensprecher]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sarkhan, il Dracofono]]></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[Sarkhan, Porta-voz dos Dragões]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[龙语者萨坎]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[龍語者薩坎]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="994386650" />
   <ARTID value="994386650" />
   <ARTIST name="Daarken" />
   <CASTING_COST cost="{3}{R}{R}" />
   <TYPE metaname="Enchantment" />
   <TYPE metaname="Planeswalker" />
   <SUB_TYPE metaname="Sarkhan" />
   <EXPANSION value="KTK" />
   <RARITY metaname="C" />

<TRIGGERED_ABILITY replacement_query="1" active_zone="ZONE_ANY">
      <TRIGGER value="BEGINNING_OF_STEP">
       if MTG():GetStep() == STEP_UPKEEP then
     local Chest_Id = Object():GetRef()
     local chest = MTG():DuelDataChest():Get_Chest(Chest_Id)
          if chest ~= nil then
             return false
          else
             MTG():CreateDelayedTrigger(8, nil)
        chest = MTG():DuelDataChest():Make_Chest(Chest_Id)
             return true
          end
       end
       return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
        MTG():PutTokensOntoBattlefield( "NEO_DRAGON_4_4_R_LFIH_994900001", 1, EffectController(), EffectDC():Make_Chest(0) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
      local chest = EffectDC():Get_Chest(0)
        if chest  ~= nil then
           local token = chest:Get_NthCardPtr(0)
           if token ~= nil then
         local Chest_Id = Object():GetRef()
              token:StoreCopiableValues(MTG():DuelDataChest():Make_Chest(Chest_Id))   
           end
        end
   </RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY resource_id="8" replacement_effect="1" active_zone="ZONE_ANY" priority="-1">
   <TRIGGER value="ZONECHANGE_CONSIDERED" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" pre_trigger="1">
     if TriggerObject() ~= nil and TriggerObject():GetCardName() == "DRAGON_SARKHAN" then
        if TriggerObject():GetErstwhileZone() == 0 then
           MTG():OverrideEvent()
           return true
        end
    end
    return false
    </TRIGGER>
   <CLEANUP fire_once="1" />
  </TRIGGERED_ABILITY>


   <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|(Loyalty 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[|(Loyauté 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[|(Lealtad 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[|(Loyalität 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[|(Fedeltà 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[(忠誠 7)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[|(충성 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[|(Верность 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[|(Lealdade 4)|]]></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"), 4 )
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
<ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[+1]: Until end of turn, Sarkhan, the Dragonspeaker becomes a legendary 4/4 red Dragon creature with flying, indestructible, and haste.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[+1 : Jusqu’à la fin du tour, Sarkhan, le languedragon devient une créature légendaire 4/4 rouge Dragon avec le vol, l’indestructible et la célérité.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[+1: Hasta el final del turno, Sarkhan, el dragonhablante se convierte en una criatura legendaria Dragón roja 4/4 con las habilidades de volar, indestructible y prisa.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[+1: Bis zum Ende des Zuges wird Sarkhan Drachensprecher zu einer legendären 4/4 roten Drache-Kreatur mit Flugfähigkeit, Unzerstörbarkeit und Eile.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[+1: Fino alla fine del turno, Sarkhan, il Dracofono diventa una creatura leggendaria Drago 4/4 rossa con volare, indistruttibile e rapidità.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[+1:ターン終了時まで、龍語りのサルカンは飛行と破壊不能と速攻を持つ赤の4/4の伝説のドラゴン・クリーチャーになる。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[+1: 용언술사 사르칸은 턴종료까지 비행과 무적, 신속을 가진 4/4 전설적 적색 용 생물이 된다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[+1: до конца хода Сархан, Говорящий с Драконами становится легендарным существом 4/4 красный Дракон с Полетом, Неразрушимостью и Ускорением.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[+1: Até o final do turno, Sarkhan, Porta-voz dos Dragões, torna-se uma criatura lendária vermelha 4/4 do tipo Dragão com voar, indestrutível e ímpeto.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[+1:直到回合结束,龙语者萨坎成为传奇的4/4红色龙生物,且具有飞行,不灭与敏捷异能。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[+1:直到回合結束,龍語者薩坎成為傳奇的4/4紅色龍生物,且具有飛行,不滅與敏捷異能。]]></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"), 1 )
      end
      </RESOLUTION_TIME_ACTION>
      </COST>
         <RESOLUTION_TIME_ACTION>
           if Object() ~= nil then
          local Chest_Id = Object():GetRef()
                   MTG():CreateDelayedTrigger(2, nil)
                   if MTG():DuelDataChest():Get_Chest(Chest_Id) == nil then
          MTG():CreateDelayedTrigger(8, nil)
             MTG():PutTokensOntoBattlefield( "NEO_DRAGON_4_4_R_LFIH_994900001", 1, EffectController(), EffectDC():Make_Chest(0) )
                   else
                         Object():UseCopiableValues(MTG():DuelDataChest():Get_Chest(Chest_Id))
                   end
                end
       </RESOLUTION_TIME_ACTION>
          <CONTINUOUS_ACTION layer="1">
                if Object() ~= nil then
         local Chest_Id = Object():GetRef()
                   if MTG():DuelDataChest():Get_Chest(Chest_Id) ~= nil then
                         Object():UseCopiableValues(MTG():DuelDataChest():Get_Chest(Chest_Id))
         end
                end
         </CONTINUOUS_ACTION>
              <DURATION simple_duration="UntilEOT" />
   </ACTIVATED_ABILITY>

 <TRIGGERED_ABILITY resource_id="2" replacement_query="1" priority="20">
    <TRIGGER value="STATE_BASED_EFFECTS" pre_trigger="1" >
     if Object() ~= nil and Object():GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" then
        return true
     end
   </TRIGGER>
    <CLEANUP fire_once="1" />
    <RESOLUTION_TIME_ACTION>
    MTG():ClearFilterMark()
    local tobj = Object()
    local filter = ClearFilter()
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    PLW_FilterNameSet(filter, "PLANESWALKERS", true)
    local filter_count = filter:EvaluateObjects()
    if filter:CountStopAt(2) == 2 then
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if PLW_GetSubType(card) == PLW_GetSubType(tobj) then
             card:MarkForFilter()
          end
       end
       filter:SetMarkedObjectsOnly()
       if filter:CountStopAt(2) == 2 then
          EffectController():ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_TO_SAVE", EffectDC():Make_Targets(0) )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local to_keep = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if to_keep ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       PLW_FilterNameSet(filter, "PLANESWALKERS", true)
       local filter_count = filter:EvaluateObjects()
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if card ~= to_keep and PLW_GetSubType(card) == PLW_GetSubType( Object() ) then
             card:PutInGraveyard()
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

 <TRIGGERED_ABILITY replacement_query="1" priority="20">
    <TRIGGER value="CONTROLLER_CHANGED" >
     if Object() ~= nil and Object():GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" then
        return true
     end
   </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    MTG():ClearFilterMark()
    local tobj = Object()
    local filter = ClearFilter()
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    PLW_FilterNameSet(filter, "PLANESWALKERS", true)
    local filter_count = filter:EvaluateObjects()
    if filter:CountStopAt(2) == 2 then
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if PLW_GetSubType(card) == PLW_GetSubType(tobj) then
             card:MarkForFilter()
          end
       end
       filter:SetMarkedObjectsOnly()
       if filter:CountStopAt(2) == 2 then
          EffectController():ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_TO_SAVE", EffectDC():Make_Targets(0) )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local to_keep = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if to_keep ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       PLW_FilterNameSet(filter, "PLANESWALKERS", true)
       local filter_count = filter:EvaluateObjects()
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if card ~= to_keep and PLW_GetSubType(card) == PLW_GetSubType( Object() ) then
             card:PutInGraveyard()
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>



<ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[-3]: Sarkhan, the Dragonspeaker deals 4 damage to target creature.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[-3 : Sarkhan, le languedragon inflige 4 blessures à une créature ciblée.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[–3: Sarkhan, el dragonhablante hace 4 puntos de daño a la criatura objetivo.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−3: Sarkhan Drachensprecher fügt einer Kreatur deiner Wahl 4 Schadenspunkte zu.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[−3: Sarkhan, il Dracofono infligge 4 danni a una creatura bersaglio.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-3:クリーチャー1体を対象とする。龍語りのサルカンはそれに4点のダメージを与える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[-3: 생물을 목표로 정한다. 용언술사 사르칸은 그 생물에 피해 4점을 입힌다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[–3: Сархан, Говорящий с Драконами наносит 4 повреждения целевому существу.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[−3: Sarkhan, Porta-voz dos Dragões, causa 4 pontos de dano à criatura alvo.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[-3:龙语者萨坎对目标生物造成4点伤害。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[-3:龍語者薩坎對目標生物造成4點傷害。]]></LOCALISED_TEXT>
      <AVAILABILITY sorcery_time="1" />
      <COST type="RemoveCountersSelf" amount="3" counter_type="Loyalty" />
      <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_DEAL_4_DAMAGE" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>
    local target_creature = EffectDC():Get_Targets(0):Get_CardPtr(0)
    local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    if ( target_creature ~= nil ) then
       EffectSourceLKI():DealDamageTo( 4, target_creature )
    elseif ( target_player ~= nil ) then   
       EffectSourceLKI():DealDamageTo( 4, target_player )
    end
    </RESOLUTION_TIME_ACTION>
      <SFX text="TARGET_FIREBALL_PLAY" />
      <SFX text="TARGET_FLAME_PLAY" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
   </ACTIVATED_ABILITY>
   <ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[-6]: You get an emblem with “At the beginning of your draw step, draw two additional cards” and “At the beginning of your end step, discard your hand.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[-6 : Vous gagnez un emblème avec « Au début de votre étape de pioche, piochez deux cartes supplémentaires » et « Au début de votre étape de fin, défaussez-vous de votre main. »]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[–6: Obtienes un emblema con “Al comienzo de tu paso de robar, roba dos cartas adicionales” y “Al comienzo de tu paso final, descarta tu mano”.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−6: Du erhältst ein Emblem mit „Ziehe zu Beginn deines Ziehsegments zwei zusätzliche Karten” und „Wirf zu Beginn deines Endsegments alle Karten aus deiner Hand ab.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[−6: Ottieni un emblema con “All’inizio della tua acquisizione, pesca due carte addizionali” e “All’inizio della tua sottofase finale, scarta la tua mano”.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-6:あなたは「あなたのドロー・ステップの開始時に、カードを追加で2枚引く。」と「あなたの終了ステップの開始時に、あなたは手札を捨てる。」を持つ紋章を得る。]]></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[−6: Você ganha um emblema com “No início da sua etapa de compra, compre dois cards adicionais” e “No início da sua etapa final, descarte a sua mão.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[-6:你获得具有「在你的抓牌步骤开始时,额外抓两张牌」与「在你的结束步骤开始时,弃掉你的手牌」的徽记。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[-6:你獲得具有「在你的抽牌步驟開始時,額外抽兩張牌」與「在你的結束步驟開始時,棄掉你的手牌」的徽記。]]></LOCALISED_TEXT>
      <AVAILABILITY sorcery_time="1" />
      <COST type="RemoveCountersSelf" amount="6" counter_type="Loyalty" />
      <RESOLUTION_TIME_ACTION>
    MTG():CreateDelayedTrigger(1, nil)
</RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
MTG():CreateDelayedTrigger(2, nil)
    </RESOLUTION_TIME_ACTION>
   </ACTIVATED_ABILITY>
   <TRIGGERED_ABILITY resource_id="1">
      <CLEANUP>
    return EffectController() == nil
    </CLEANUP>
      <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_UPKEEP
    </TRIGGER>
      <RESOLUTION_TIME_ACTION>
    if TriggerPlayer() ~= nil then   
       TriggerPlayer():DrawCards(2)
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY resource_id="2">
      <CLEANUP>
    return EffectController() == nil
    </CLEANUP>
      <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_END_OF_TURN
    </TRIGGER>
      <RESOLUTION_TIME_ACTION>
EffectController():DiscardHand()
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_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="NEO_DRAGON_4_4_R_LFIH_994900001" />
   <TOKEN_REGISTRATION reservation="1" type="_PLANESWALKERS_MANAGER_991800002" />
   <AI_COUNTER_SCORE type="Loyalty" score="100" />
   <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
DRAGON | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="NEO_DRAGON_4_4_R_LFIH_994900001" />
   <CARDNAME text="DRAGON_SARKHAN" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[DRAGON]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[DRAGON]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[DRAGÓN]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[DRACHE]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[DRAGO]]></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[DRAGÃO]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="994900001" />
   <ARTID value="994900001" />
   <COLOUR value="R" />
   <ARTIST name="unknow" />
   <CASTING_COST cost="" />
   <SUPERTYPE metaname="Legendary" />   
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Dragon" />
   <EXPANSION value="KTK" />
   <RARITY metaname="C" />
   <POWER value="4" />
   <TOUGHNESS value="4" />
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비행]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Полет]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Voar]]></LOCALISED_TEXT>
      <INTRINSIC characteristic="CHARACTERISTIC_FLYING" />
   </STATIC_ABILITY>
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Indestructible]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Indestructible]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Indestructible.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Unzerstörbar]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Indistruttibile]]></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[Indestrutível]]></LOCALISED_TEXT>
      <INTRINSIC characteristic="CHARACTERISTIC_INDESTRUCTIBLE" />
   </STATIC_ABILITY>
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[haste]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[célérité]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[prisa.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Eile]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[rapidità]]></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[ímpeto]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[敏捷]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[敏捷]]></LOCALISED_TEXT>
      <INTRINSIC characteristic="CHARACTERISTIC_HASTE" />
   </STATIC_ABILITY>
   <HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" />
   <HELP title="MORE_INFO_BADGE_TITLE_8" body="MORE_INFO_BADGE_BODY_8" zone="ZONE_ANY" />
   <HELP title="MORE_INFO_BADGE_TITLE_14" body="MORE_INFO_BADGE_BODY_14" zone="ZONE_ANY" />
   <SFX text="COMBAT_DRAGON_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
   <SFX text="COMBAT_DRAGON_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
Attachments
Sarkhan, the Dragonspeaker.rar
Sarkhan, the Dragonspeaker Mod By Neo
(207.8 KiB) Downloaded 270 times
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby NeoAnderson » 07 Oct 2014, 06:40

I made a simply modify to the code, using the copy effect on layer 2 instead of layer 1.
Doing this way when you use cards like Clone on the Dragon creature you get a Sarkhan, the Dragonspeaker. I am still not sure about the counters situation. With clone or other cards that copy while entering into battlefield the counters will be 4 i don't know what happens with card that copy directly from the battlefield.
Anyway now the rules breaking is less than before.

Sarkhan, the Dragonspeaker - NEO MOD 1.1 | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="NEO_KTK_SARKHAN_THE_DRAGONSPEAKER_994386650" />
   <CARDNAME text="SARKHAN_THE_DRAGONSPEAKER" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sarkhan, the Dragonspeaker]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sarkhan, le languedragon]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sarkhan, el dragonhablante]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sarkhan Drachensprecher]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sarkhan, il Dracofono]]></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[Sarkhan, Porta-voz dos Dragões]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[龙语者萨坎]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[龍語者薩坎]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="994386650" />
   <ARTID value="994386650" />
   <ARTIST name="Daarken" />
   <CASTING_COST cost="{3}{R}{R}" />
   <TYPE metaname="Enchantment" />
   <TYPE metaname="Planeswalker" />
   <SUB_TYPE metaname="Sarkhan" />
   <EXPANSION value="KTK" />
   <RARITY metaname="C" />

<TRIGGERED_ABILITY replacement_query="1" active_zone="ZONE_ANY">
      <TRIGGER value="BEGINNING_OF_STEP">
       if MTG():GetStep() == STEP_UPKEEP then
     local Chest_Id = Object():GetRef()
     local chest = MTG():DuelDataChest():Get_Chest(Chest_Id)
          if chest ~= nil then
             return false
          else
             MTG():CreateDelayedTrigger(8, nil)
        chest = MTG():DuelDataChest():Make_Chest(Chest_Id)
             return true
          end
       end
       return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
        MTG():PutTokensOntoBattlefield( "NEO_DRAGON_4_4_R_LFIH_994900001", 1, EffectController(), EffectDC():Make_Chest(0) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
      local chest = EffectDC():Get_Chest(0)
        if chest  ~= nil then
           local token = chest:Get_NthCardPtr(0)
           if token ~= nil then
         local Chest_Id = Object():GetRef()
              token:StoreCopiableValues(MTG():DuelDataChest():Make_Chest(Chest_Id))   
           end
        end
   </RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY resource_id="8" replacement_effect="1" active_zone="ZONE_ANY" priority="-1">
   <TRIGGER value="ZONECHANGE_CONSIDERED" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" pre_trigger="1">
     if TriggerObject() ~= nil and TriggerObject():GetCardName() == "DRAGON_SARKHAN" then
        if TriggerObject():GetErstwhileZone() == 0 then
           MTG():OverrideEvent()
           return true
        end
    end
    return false
    </TRIGGER>
   <CLEANUP fire_once="1" />
  </TRIGGERED_ABILITY>


   <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|(Loyalty 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[|(Loyauté 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[|(Lealtad 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[|(Loyalität 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[|(Fedeltà 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[(忠誠 7)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[|(충성 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[|(Верность 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[|(Lealdade 4)|]]></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"), 4 )
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
<ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[+1]: Until end of turn, Sarkhan, the Dragonspeaker becomes a legendary 4/4 red Dragon creature with flying, indestructible, and haste.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[+1 : Jusqu’à la fin du tour, Sarkhan, le languedragon devient une créature légendaire 4/4 rouge Dragon avec le vol, l’indestructible et la célérité.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[+1: Hasta el final del turno, Sarkhan, el dragonhablante se convierte en una criatura legendaria Dragón roja 4/4 con las habilidades de volar, indestructible y prisa.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[+1: Bis zum Ende des Zuges wird Sarkhan Drachensprecher zu einer legendären 4/4 roten Drache-Kreatur mit Flugfähigkeit, Unzerstörbarkeit und Eile.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[+1: Fino alla fine del turno, Sarkhan, il Dracofono diventa una creatura leggendaria Drago 4/4 rossa con volare, indistruttibile e rapidità.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[+1:ターン終了時まで、龍語りのサルカンは飛行と破壊不能と速攻を持つ赤の4/4の伝説のドラゴン・クリーチャーになる。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[+1: 용언술사 사르칸은 턴종료까지 비행과 무적, 신속을 가진 4/4 전설적 적색 용 생물이 된다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[+1: до конца хода Сархан, Говорящий с Драконами становится легендарным существом 4/4 красный Дракон с Полетом, Неразрушимостью и Ускорением.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[+1: Até o final do turno, Sarkhan, Porta-voz dos Dragões, torna-se uma criatura lendária vermelha 4/4 do tipo Dragão com voar, indestrutível e ímpeto.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[+1:直到回合结束,龙语者萨坎成为传奇的4/4红色龙生物,且具有飞行,不灭与敏捷异能。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[+1:直到回合結束,龍語者薩坎成為傳奇的4/4紅色龍生物,且具有飛行,不滅與敏捷異能。]]></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"), 1 )
      end
      </RESOLUTION_TIME_ACTION>
      </COST>
         <RESOLUTION_TIME_ACTION>
           if Object() ~= nil then
          local Chest_Id = Object():GetRef()
                   MTG():CreateDelayedTrigger(2, nil)
                   if MTG():DuelDataChest():Get_Chest(Chest_Id) == nil then
          MTG():CreateDelayedTrigger(8, nil)
             MTG():PutTokensOntoBattlefield( "NEO_DRAGON_4_4_R_LFIH_994900001", 1, EffectController(), EffectDC():Make_Chest(0) )
                   else
                         Object():UseCopiableValues(MTG():DuelDataChest():Get_Chest(Chest_Id))
                   end
                end
       </RESOLUTION_TIME_ACTION>
          <CONTINUOUS_ACTION layer="2">
                if Object() ~= nil then
         local Chest_Id = Object():GetRef()
                   if MTG():DuelDataChest():Get_Chest(Chest_Id) ~= nil then
                         Object():UseCopiableValues(MTG():DuelDataChest():Get_Chest(Chest_Id))
         end
                end
         </CONTINUOUS_ACTION>
              <DURATION simple_duration="UntilEOT" />
   </ACTIVATED_ABILITY>

 <TRIGGERED_ABILITY resource_id="2" replacement_query="1" priority="20">
    <TRIGGER value="STATE_BASED_EFFECTS" pre_trigger="1" >
     if Object() ~= nil and Object():GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" then
        return true
     end
   </TRIGGER>
    <CLEANUP fire_once="1" />
    <RESOLUTION_TIME_ACTION>
    MTG():ClearFilterMark()
    local tobj = Object()
    local filter = ClearFilter()
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    PLW_FilterNameSet(filter, "PLANESWALKERS", true)
    local filter_count = filter:EvaluateObjects()
    if filter:CountStopAt(2) == 2 then
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if PLW_GetSubType(card) == PLW_GetSubType(tobj) then
             card:MarkForFilter()
          end
       end
       filter:SetMarkedObjectsOnly()
       if filter:CountStopAt(2) == 2 then
          EffectController():ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_TO_SAVE", EffectDC():Make_Targets(0) )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local to_keep = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if to_keep ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       PLW_FilterNameSet(filter, "PLANESWALKERS", true)
       local filter_count = filter:EvaluateObjects()
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if card ~= to_keep and PLW_GetSubType(card) == PLW_GetSubType( Object() ) then
             card:PutInGraveyard()
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

 <TRIGGERED_ABILITY replacement_query="1" priority="20">
    <TRIGGER value="CONTROLLER_CHANGED" >
     if Object() ~= nil and Object():GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" then
        return true
     end
   </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    MTG():ClearFilterMark()
    local tobj = Object()
    local filter = ClearFilter()
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    PLW_FilterNameSet(filter, "PLANESWALKERS", true)
    local filter_count = filter:EvaluateObjects()
    if filter:CountStopAt(2) == 2 then
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if PLW_GetSubType(card) == PLW_GetSubType(tobj) then
             card:MarkForFilter()
          end
       end
       filter:SetMarkedObjectsOnly()
       if filter:CountStopAt(2) == 2 then
          EffectController():ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_TO_SAVE", EffectDC():Make_Targets(0) )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local to_keep = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if to_keep ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       PLW_FilterNameSet(filter, "PLANESWALKERS", true)
       local filter_count = filter:EvaluateObjects()
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if card ~= to_keep and PLW_GetSubType(card) == PLW_GetSubType( Object() ) then
             card:PutInGraveyard()
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>



<ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[-3]: Sarkhan, the Dragonspeaker deals 4 damage to target creature.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[-3 : Sarkhan, le languedragon inflige 4 blessures à une créature ciblée.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[–3: Sarkhan, el dragonhablante hace 4 puntos de daño a la criatura objetivo.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−3: Sarkhan Drachensprecher fügt einer Kreatur deiner Wahl 4 Schadenspunkte zu.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[−3: Sarkhan, il Dracofono infligge 4 danni a una creatura bersaglio.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-3:クリーチャー1体を対象とする。龍語りのサルカンはそれに4点のダメージを与える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[-3: 생물을 목표로 정한다. 용언술사 사르칸은 그 생물에 피해 4점을 입힌다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[–3: Сархан, Говорящий с Драконами наносит 4 повреждения целевому существу.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[−3: Sarkhan, Porta-voz dos Dragões, causa 4 pontos de dano à criatura alvo.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[-3:龙语者萨坎对目标生物造成4点伤害。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[-3:龍語者薩坎對目標生物造成4點傷害。]]></LOCALISED_TEXT>
      <AVAILABILITY sorcery_time="1" />
      <COST type="RemoveCountersSelf" amount="3" counter_type="Loyalty" />
      <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_DEAL_4_DAMAGE" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>
    local target_creature = EffectDC():Get_Targets(0):Get_CardPtr(0)
    local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    if ( target_creature ~= nil ) then
       EffectSourceLKI():DealDamageTo( 4, target_creature )
    elseif ( target_player ~= nil ) then   
       EffectSourceLKI():DealDamageTo( 4, target_player )
    end
    </RESOLUTION_TIME_ACTION>
      <SFX text="TARGET_FIREBALL_PLAY" />
      <SFX text="TARGET_FLAME_PLAY" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
   </ACTIVATED_ABILITY>
   <ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[-6]: You get an emblem with “At the beginning of your draw step, draw two additional cards” and “At the beginning of your end step, discard your hand.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[-6 : Vous gagnez un emblème avec « Au début de votre étape de pioche, piochez deux cartes supplémentaires » et « Au début de votre étape de fin, défaussez-vous de votre main. »]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[–6: Obtienes un emblema con “Al comienzo de tu paso de robar, roba dos cartas adicionales” y “Al comienzo de tu paso final, descarta tu mano”.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−6: Du erhältst ein Emblem mit „Ziehe zu Beginn deines Ziehsegments zwei zusätzliche Karten” und „Wirf zu Beginn deines Endsegments alle Karten aus deiner Hand ab.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[−6: Ottieni un emblema con “All’inizio della tua acquisizione, pesca due carte addizionali” e “All’inizio della tua sottofase finale, scarta la tua mano”.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-6:あなたは「あなたのドロー・ステップの開始時に、カードを追加で2枚引く。」と「あなたの終了ステップの開始時に、あなたは手札を捨てる。」を持つ紋章を得る。]]></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[−6: Você ganha um emblema com “No início da sua etapa de compra, compre dois cards adicionais” e “No início da sua etapa final, descarte a sua mão.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[-6:你获得具有「在你的抓牌步骤开始时,额外抓两张牌」与「在你的结束步骤开始时,弃掉你的手牌」的徽记。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[-6:你獲得具有「在你的抽牌步驟開始時,額外抽兩張牌」與「在你的結束步驟開始時,棄掉你的手牌」的徽記。]]></LOCALISED_TEXT>
      <AVAILABILITY sorcery_time="1" />
      <COST type="RemoveCountersSelf" amount="6" counter_type="Loyalty" />
      <RESOLUTION_TIME_ACTION>
    MTG():CreateDelayedTrigger(1, nil)
</RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
MTG():CreateDelayedTrigger(2, nil)
    </RESOLUTION_TIME_ACTION>
   </ACTIVATED_ABILITY>
   <TRIGGERED_ABILITY resource_id="1">
      <CLEANUP>
    return EffectController() == nil
    </CLEANUP>
      <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_UPKEEP
    </TRIGGER>
      <RESOLUTION_TIME_ACTION>
    if TriggerPlayer() ~= nil then   
       TriggerPlayer():DrawCards(2)
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY resource_id="2">
      <CLEANUP>
    return EffectController() == nil
    </CLEANUP>
      <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_END_OF_TURN
    </TRIGGER>
      <RESOLUTION_TIME_ACTION>
EffectController():DiscardHand()
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_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="NEO_DRAGON_4_4_R_LFIH_994900001" />
   <TOKEN_REGISTRATION reservation="1" type="_PLANESWALKERS_MANAGER_991800002" />
   <AI_COUNTER_SCORE type="Loyalty" score="100" />
   <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
Attachments
Sarkhan, the Dragonspeaker.rar
Sarkhan, the Dragonspeaker - NEO MOD 1.1
(207.8 KiB) Downloaded 242 times
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby NeoAnderson » 07 Oct 2014, 10:40

As i was supposing Sarkhan, the Dragonspeaker ver 1.1 works fine when you copy the card from other zones as like when you cast Clone, but it has problems with card like Polymorphous Rush or Vesuvan Shapeshifter. because the counters are added by planeswalker ability only during Transition to the battlefield, these cards allow to copy a creature also from the battlefield, so they create copy but without counters so the new copy go to the graveyard.

Anyway i tried to fix this issue, i made another modify, now it seems to be almost compatible with Clone, Polymorphous Rush or Vesuvan Shapeshifter... I made simple tests and it works so if you want to make deep testing with specific interactions just download this new one.

Sarkhan, the Dragonspeaker - Neo Ver 1.2 | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="NEO_KTK_SARKHAN_THE_DRAGONSPEAKER_994386650" />
   <CARDNAME text="SARKHAN_THE_DRAGONSPEAKER" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sarkhan, the Dragonspeaker]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sarkhan, le languedragon]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sarkhan, el dragonhablante]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sarkhan Drachensprecher]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sarkhan, il Dracofono]]></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[Sarkhan, Porta-voz dos Dragões]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[龙语者萨坎]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[龍語者薩坎]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="994386650" />
   <ARTID value="994386650" />
   <ARTIST name="Daarken" />
   <CASTING_COST cost="{3}{R}{R}" />
   <TYPE metaname="Enchantment" />
   <TYPE metaname="Planeswalker" />
   <SUB_TYPE metaname="Sarkhan" />
   <EXPANSION value="KTK" />
   <RARITY metaname="C" />

<TRIGGERED_ABILITY replacement_query="1" active_zone="ZONE_ANY">
      <TRIGGER value="BEGINNING_OF_STEP">
       if MTG():GetStep() == STEP_UPKEEP then
     local Chest_Id = Object():GetRef()
     local chest = MTG():DuelDataChest():Get_Chest(Chest_Id)
          if chest ~= nil then
             return false
          else
             MTG():CreateDelayedTrigger(8, nil)
        chest = MTG():DuelDataChest():Make_Chest(Chest_Id)
             return true
          end
       end
       return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
        MTG():PutTokensOntoBattlefield( "NEO_DRAGON_4_4_R_LFIH_994900001", 1, EffectController(), EffectDC():Make_Chest(0) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
      local chest = EffectDC():Get_Chest(0)
        if chest  ~= nil then
           local token = chest:Get_NthCardPtr(0)
           if token ~= nil then
         local Chest_Id = Object():GetRef()
              token:StoreCopiableValues(MTG():DuelDataChest():Make_Chest(Chest_Id))   
           end
        end
   </RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY resource_id="8" replacement_effect="1" active_zone="ZONE_ANY" priority="-1">
   <TRIGGER value="ZONECHANGE_CONSIDERED" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" pre_trigger="1">
     if TriggerObject() ~= nil and TriggerObject():GetCardName() == "DRAGON_SARKHAN" then
        if TriggerObject():GetErstwhileZone() == 0 then
           MTG():OverrideEvent()
           return true
        end
    end
    return false
    </TRIGGER>
   <CLEANUP fire_once="1" />
  </TRIGGERED_ABILITY>


<STATIC_ABILITY>
   <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE  )
    filter:Add( FE_CARD_INSTANCE, OP_NOT, Object() )
    </FILTER>

     <CONTINUOUS_ACTION layer="1" filter_id="0">
        if FilteredCard() ~= nil then
           local value = FilteredCard():CountCounters(MTG():GetCountersType("Loyalty"))
            local Chest_Id = FilteredCard():GetRef()
            Chest_Id = Chest_Id + 100
            local delayDC = EffectDC():Get_Chest(Chest_Id)
           if delayDC == nil and FilteredCard():GetCardName() ~= "DRAGON_SARKHAN" and FilteredCard():GetCardName() ~= "SARKHAN_THE_DRAGONSPEAKER" and value == 0  then
              local delayDC = EffectDC():Make_Chest(Chest_Id)
              delayDC:Set_CardPtr(0, FilteredCard())
               MTG():CreateDelayedTrigger(10, delayDC)
           end
        end
    </CONTINUOUS_ACTION>
</STATIC_ABILITY>

 <TRIGGERED_ABILITY resource_id="10" replacement_effect="1" priority="20">
    <TRIGGER value="STATE_BASED_EFFECTS" pre_trigger="1" >
     local card = EffectDC():Get_CardPtr(0)
     if card ~= nil then
        local value = card:CountCounters(MTG():GetCountersType("Loyalty"))
        if card:GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" then
           if value == 0 then
              return true
           else
              return false
           end
        end
     end
   </TRIGGER>
    <CLEANUP fire_once="1" />
      <CLEANUP>
          local card = EffectDC():Get_CardPtr(0)
          if card ~= nil then
             local value = card:CountCounters(MTG():GetCountersType("Loyalty"))
             return value &gt; 0
          end
    </CLEANUP>
      <RESOLUTION_TIME_ACTION>
    local card = EffectDC():Get_CardPtr(0)
    if card ~= nil then
       card:AddCounters( MTG():GetCountersType("Loyalty"), 4 )
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

   <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|(Loyalty 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[|(Loyauté 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[|(Lealtad 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[|(Loyalität 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[|(Fedeltà 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[(忠誠 7)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[|(충성 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[|(Верность 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[|(Lealdade 4)|]]></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"), 4 )
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
<ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[+1]: Until end of turn, Sarkhan, the Dragonspeaker becomes a legendary 4/4 red Dragon creature with flying, indestructible, and haste.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[+1 : Jusqu’à la fin du tour, Sarkhan, le languedragon devient une créature légendaire 4/4 rouge Dragon avec le vol, l’indestructible et la célérité.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[+1: Hasta el final del turno, Sarkhan, el dragonhablante se convierte en una criatura legendaria Dragón roja 4/4 con las habilidades de volar, indestructible y prisa.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[+1: Bis zum Ende des Zuges wird Sarkhan Drachensprecher zu einer legendären 4/4 roten Drache-Kreatur mit Flugfähigkeit, Unzerstörbarkeit und Eile.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[+1: Fino alla fine del turno, Sarkhan, il Dracofono diventa una creatura leggendaria Drago 4/4 rossa con volare, indistruttibile e rapidità.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[+1:ターン終了時まで、龍語りのサルカンは飛行と破壊不能と速攻を持つ赤の4/4の伝説のドラゴン・クリーチャーになる。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[+1: 용언술사 사르칸은 턴종료까지 비행과 무적, 신속을 가진 4/4 전설적 적색 용 생물이 된다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[+1: до конца хода Сархан, Говорящий с Драконами становится легендарным существом 4/4 красный Дракон с Полетом, Неразрушимостью и Ускорением.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[+1: Até o final do turno, Sarkhan, Porta-voz dos Dragões, torna-se uma criatura lendária vermelha 4/4 do tipo Dragão com voar, indestrutível e ímpeto.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[+1:直到回合结束,龙语者萨坎成为传奇的4/4红色龙生物,且具有飞行,不灭与敏捷异能。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[+1:直到回合結束,龍語者薩坎成為傳奇的4/4紅色龍生物,且具有飛行,不滅與敏捷異能。]]></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"), 1 )
      end
      </RESOLUTION_TIME_ACTION>
      </COST>
         <RESOLUTION_TIME_ACTION>
           if Object() ~= nil then
          local Chest_Id = Object():GetRef()
                   MTG():CreateDelayedTrigger(2, nil)
                   if MTG():DuelDataChest():Get_Chest(Chest_Id) == nil then
          MTG():CreateDelayedTrigger(8, nil)
             MTG():PutTokensOntoBattlefield( "NEO_DRAGON_4_4_R_LFIH_994900001", 1, EffectController(), EffectDC():Make_Chest(0) )
                   else
                         Object():UseCopiableValues(MTG():DuelDataChest():Get_Chest(Chest_Id))
                   end
                end
       </RESOLUTION_TIME_ACTION>
          <CONTINUOUS_ACTION layer="2">
                if Object() ~= nil then
         local Chest_Id = Object():GetRef()
                   if MTG():DuelDataChest():Get_Chest(Chest_Id) ~= nil then
                         Object():UseCopiableValues(MTG():DuelDataChest():Get_Chest(Chest_Id))
         end
                end
         </CONTINUOUS_ACTION>
              <DURATION simple_duration="UntilEOT" />
   </ACTIVATED_ABILITY>

 <TRIGGERED_ABILITY resource_id="2" replacement_query="1" priority="20">
    <TRIGGER value="STATE_BASED_EFFECTS" pre_trigger="1" >
     if Object() ~= nil and Object():GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" then
        return true
     end
   </TRIGGER>
    <CLEANUP fire_once="1" />
    <RESOLUTION_TIME_ACTION>
    MTG():ClearFilterMark()
    local tobj = Object()
    local filter = ClearFilter()
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    PLW_FilterNameSet(filter, "PLANESWALKERS", true)
    local filter_count = filter:EvaluateObjects()
    if filter:CountStopAt(2) == 2 then
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if PLW_GetSubType(card) == PLW_GetSubType(tobj) then
             card:MarkForFilter()
          end
       end
       filter:SetMarkedObjectsOnly()
       if filter:CountStopAt(2) == 2 then
          EffectController():ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_TO_SAVE", EffectDC():Make_Targets(0) )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local to_keep = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if to_keep ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       PLW_FilterNameSet(filter, "PLANESWALKERS", true)
       local filter_count = filter:EvaluateObjects()
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if card ~= to_keep and PLW_GetSubType(card) == PLW_GetSubType( Object() ) then
             card:PutInGraveyard()
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

 <TRIGGERED_ABILITY replacement_query="1" priority="20">
    <TRIGGER value="CONTROLLER_CHANGED" >
     if Object() ~= nil and Object():GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" then
        return true
     end
   </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    MTG():ClearFilterMark()
    local tobj = Object()
    local filter = ClearFilter()
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    PLW_FilterNameSet(filter, "PLANESWALKERS", true)
    local filter_count = filter:EvaluateObjects()
    if filter:CountStopAt(2) == 2 then
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if PLW_GetSubType(card) == PLW_GetSubType(tobj) then
             card:MarkForFilter()
          end
       end
       filter:SetMarkedObjectsOnly()
       if filter:CountStopAt(2) == 2 then
          EffectController():ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_TO_SAVE", EffectDC():Make_Targets(0) )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local to_keep = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if to_keep ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       PLW_FilterNameSet(filter, "PLANESWALKERS", true)
       local filter_count = filter:EvaluateObjects()
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if card ~= to_keep and PLW_GetSubType(card) == PLW_GetSubType( Object() ) then
             card:PutInGraveyard()
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>



<ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[-3]: Sarkhan, the Dragonspeaker deals 4 damage to target creature.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[-3 : Sarkhan, le languedragon inflige 4 blessures à une créature ciblée.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[–3: Sarkhan, el dragonhablante hace 4 puntos de daño a la criatura objetivo.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−3: Sarkhan Drachensprecher fügt einer Kreatur deiner Wahl 4 Schadenspunkte zu.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[−3: Sarkhan, il Dracofono infligge 4 danni a una creatura bersaglio.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-3:クリーチャー1体を対象とする。龍語りのサルカンはそれに4点のダメージを与える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[-3: 생물을 목표로 정한다. 용언술사 사르칸은 그 생물에 피해 4점을 입힌다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[–3: Сархан, Говорящий с Драконами наносит 4 повреждения целевому существу.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[−3: Sarkhan, Porta-voz dos Dragões, causa 4 pontos de dano à criatura alvo.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[-3:龙语者萨坎对目标生物造成4点伤害。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[-3:龍語者薩坎對目標生物造成4點傷害。]]></LOCALISED_TEXT>
      <AVAILABILITY sorcery_time="1" />
      <COST type="RemoveCountersSelf" amount="3" counter_type="Loyalty" />
      <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_DEAL_4_DAMAGE" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>
    local target_creature = EffectDC():Get_Targets(0):Get_CardPtr(0)
    local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    if ( target_creature ~= nil ) then
       EffectSourceLKI():DealDamageTo( 4, target_creature )
    elseif ( target_player ~= nil ) then   
       EffectSourceLKI():DealDamageTo( 4, target_player )
    end
    </RESOLUTION_TIME_ACTION>
      <SFX text="TARGET_FIREBALL_PLAY" />
      <SFX text="TARGET_FLAME_PLAY" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
   </ACTIVATED_ABILITY>
   <ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[-6]: You get an emblem with “At the beginning of your draw step, draw two additional cards” and “At the beginning of your end step, discard your hand.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[-6 : Vous gagnez un emblème avec « Au début de votre étape de pioche, piochez deux cartes supplémentaires » et « Au début de votre étape de fin, défaussez-vous de votre main. »]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[–6: Obtienes un emblema con “Al comienzo de tu paso de robar, roba dos cartas adicionales” y “Al comienzo de tu paso final, descarta tu mano”.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−6: Du erhältst ein Emblem mit „Ziehe zu Beginn deines Ziehsegments zwei zusätzliche Karten” und „Wirf zu Beginn deines Endsegments alle Karten aus deiner Hand ab.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[−6: Ottieni un emblema con “All’inizio della tua acquisizione, pesca due carte addizionali” e “All’inizio della tua sottofase finale, scarta la tua mano”.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-6:あなたは「あなたのドロー・ステップの開始時に、カードを追加で2枚引く。」と「あなたの終了ステップの開始時に、あなたは手札を捨てる。」を持つ紋章を得る。]]></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[−6: Você ganha um emblema com “No início da sua etapa de compra, compre dois cards adicionais” e “No início da sua etapa final, descarte a sua mão.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[-6:你获得具有「在你的抓牌步骤开始时,额外抓两张牌」与「在你的结束步骤开始时,弃掉你的手牌」的徽记。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[-6:你獲得具有「在你的抽牌步驟開始時,額外抽兩張牌」與「在你的結束步驟開始時,棄掉你的手牌」的徽記。]]></LOCALISED_TEXT>
      <AVAILABILITY sorcery_time="1" />
      <COST type="RemoveCountersSelf" amount="6" counter_type="Loyalty" />
      <RESOLUTION_TIME_ACTION>
    MTG():CreateDelayedTrigger(1, nil)
</RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
MTG():CreateDelayedTrigger(2, nil)
    </RESOLUTION_TIME_ACTION>
   </ACTIVATED_ABILITY>
   <TRIGGERED_ABILITY resource_id="1">
      <CLEANUP>
    return EffectController() == nil
    </CLEANUP>
      <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_UPKEEP
    </TRIGGER>
      <RESOLUTION_TIME_ACTION>
    if TriggerPlayer() ~= nil then   
       TriggerPlayer():DrawCards(2)
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY resource_id="2">
      <CLEANUP>
    return EffectController() == nil
    </CLEANUP>
      <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_END_OF_TURN
    </TRIGGER>
      <RESOLUTION_TIME_ACTION>
EffectController():DiscardHand()
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_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="NEO_DRAGON_4_4_R_LFIH_994900001" />
   <TOKEN_REGISTRATION reservation="1" type="_PLANESWALKERS_MANAGER_991800002" />
   <AI_COUNTER_SCORE type="Loyalty" score="100" />
   <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
Attachments
Sarkhan, the Dragonspeaker.rar
Sarkhan, the Dragonspeaker - Neo Ver 1.2
(208.07 KiB) Downloaded 303 times
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby fallenangle » 07 Oct 2014, 14:39

Here is an updated version of the PLW Wad that includes NeoAnderson's Sarkhan, the Dragonspeaker v. 1.2 and adds a token registration to Sorin, Solemn Visitor.

All thanks and kudos for these cards go to Tejahn, Neo, TFM, G2K, and everyone else who worked hard to make these Planeswalkers playable. Enjoy, and let me know if you have any questions or problems.

Edit: Updated to version 1.3, which allows for the Dragon creature Sarkhan and the Planeswalker Sarkhan to simultaneously be on the battlefield. It also should be more compatible with Vesuvan Shapeshifter and other cards copying the creature and becoming a Planeswalker. One thing to be aware of is that a creature token may enter the battlefield and be exiled before the beginning of the first turn; this should have no impact on gameplay. MASSIVE, MASSIVE thanks to Neo for all of his incredible modding work on the Sarkhan Planeswalker, the tweaks to the Planeswalkers Manager, and the Dragon creature "token" that make the new Sarkhan possible.

Edit 2: Minor fix for Sorin, Solemn Visitor. See my post further down the page for more details. Enjoy!

Edit 3: Fixed Sarkhan, the Dragonspeaker's ultimate (second part) again. Thanks to Kithkin for the bug report.

Edit 4: Added the property DOESN'T RECEIVE DAMAGE to the Sarkhan creature token so that he won't lose loyalty counters and die in some freak accident while transformed.

Edit 5: Undid the changes in edit 4 and added a line of code (thanks Xander9009 for suggesting) to the PW Manager that should keep Planeswalkers from losing loyalty when they aren't Planeswalkers (right now this only applies to Sarkhan, the Dragonspeaker when he's a creature). Tested this fix, and it seems to work. If anyone else notices anything else that needs fixing, just let me know.

Edit 6: All of the abilities on the Dragon creature Sarkhan becomes should now be on the same line, as per Xander9009's suggestion. I've never experienced the other issues he mentioned with the community wad version and have verified that both the Dragon creature and Sarkhan himself have proper multiverse ids. If anyone else notices any other issues, just let me know.
Last edited by fallenangle on 07 Nov 2014, 23:40, edited 7 times in total.
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby fallenangle » 07 Oct 2014, 15:58

Neo, I just thought of something else. Shouldn't the name of the dragon creature still be Sarkhan, the Dragonspeaker? The source and the types of the card are changed, but not the name, right? Anyway, I tried this, and other than throwing out a token creature that was instantly exiled at the beginning of turn zero, it seemed to work fine:

Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="NEO_DRAGON_4_4_R_LFIH_994900001" />
   <CARDNAME text="SARKHAN_THE_DRAGONSPEAKER" />
   <TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sarkhan, the Dragonspeaker]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sarkhan, le languedragon]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sarkhan, el dragonhablante]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sarkhan Drachensprecher]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sarkhan, il Dracofono]]></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[Sarkhan, Porta-voz dos Dragões]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[龙语者萨坎]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[龍語者薩坎]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="994900001" />
   <ARTID value="994900001" />
   <COLOUR value="R" />
   <ARTIST name="unknow" />
   <CASTING_COST cost="" />
   <SUPERTYPE metaname="Legendary" />   
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Dragon" />
   <EXPANSION value="KTK" />
   <RARITY metaname="C" />
   <POWER value="4" />
   <TOUGHNESS value="4" />
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비행]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Полет]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Voar]]></LOCALISED_TEXT>
      <INTRINSIC characteristic="CHARACTERISTIC_FLYING" />
   </STATIC_ABILITY>
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Indestructible]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Indestructible]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Indestructible.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Unzerstörbar]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Indistruttibile]]></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[Indestrutível]]></LOCALISED_TEXT>
      <INTRINSIC characteristic="CHARACTERISTIC_INDESTRUCTIBLE" />
   </STATIC_ABILITY>
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[haste]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[célérité]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[prisa.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Eile]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[rapidità]]></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[ímpeto]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[敏捷]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[敏捷]]></LOCALISED_TEXT>
      <INTRINSIC characteristic="CHARACTERISTIC_HASTE" />
   </STATIC_ABILITY>
   <HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" />
   <HELP title="MORE_INFO_BADGE_TITLE_8" body="MORE_INFO_BADGE_BODY_8" zone="ZONE_ANY" />
   <HELP title="MORE_INFO_BADGE_TITLE_14" body="MORE_INFO_BADGE_BODY_14" zone="ZONE_ANY" />
   <SFX text="COMBAT_DRAGON_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
   <SFX text="COMBAT_DRAGON_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
Let me know what you think.
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby NeoAnderson » 07 Oct 2014, 16:31

Honestly i also tought about the card name, but i don't know which is the right answer. probably Firemind or someone else could help to have an answer.
About the version, there is still a discussion if it should work like ver 1.1 where Vesusan Shapeshifter dies with 0 loyalty counters or if is better the last one...i was waiting firemind final answer.
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby fallenangle » 07 Oct 2014, 19:37

Oh. Sorry if my posting the new version was premature. I'll try to keep abreast of things and update it if you and TFM decide on any more changes. In the meantime, thanks again for your brilliant work!
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby NeoAnderson » 07 Oct 2014, 19:44

fallenangle wrote:Oh. Sorry if my posting the new version was premature. I'll try to keep abreast of things and update it if you and TFM decide on any more changes. In the meantime, thanks again for your brilliant work!
You're welcome my friend, hope it works as expected, anyway the 2 version are already made, if firemind say s Vesuvan Shapeshifter should die you can use version 1.1 otherwise you can use 1.2.
About the name remember to check also inside the planeswalker card if some triggers check for the card name
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby fallenangle » 07 Oct 2014, 21:51

Hmm...well, if I change the name, the game will demand that a creature Sarkhan and a Planeswalker Sarkhan can't coexist at the same time, when the check should happen during the end phase, when both Sarkhans are planeswalkers again. Is there some way to set a filter so that it checks for the name "Sarkhan" AND the property of being a creature or not without using the PLW nameset function?
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby NeoAnderson » 07 Oct 2014, 23:00

fallenangle wrote:Hmm...well, if I change the name, the game will demand that a creature Sarkhan and a Planeswalker Sarkhan can't coexist at the same time, when the check should happen during the end phase, when both Sarkhans are planeswalkers again. Is there some way to set a filter so that it checks for the name "Sarkhan" AND the property of being a creature or not without using the PLW nameset function?
I revised as you requested the card now the Dragon has the same name of the planeswalker, to avoid the legendary check between the dragon and the planeswalker i also add a creature check into planeswalker manager and also into Sarkhan checks.
There is just one unpleasant effect the token will be visible at start of the game i still don't recognize the reason, if you keep different name it is invisible if we use the same name it is visible while is generated.
I also decided to turn back to version 1.1 about the situation with Vesuvan Shapeshifter and similar cards because reading again the rules it talks about cards who are copying entering onto battlefield so if another card already onto battlefield copy the dragon it will be a planeswalker without loyalty counters so it should to die.

Sarkhan, the Dragonspeaker Neo Ver 1.3 | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="NEO_KTK_SARKHAN_THE_DRAGONSPEAKER_994386650" />
   <CARDNAME text="SARKHAN_THE_DRAGONSPEAKER" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sarkhan, the Dragonspeaker]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sarkhan, le languedragon]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sarkhan, el dragonhablante]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sarkhan Drachensprecher]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sarkhan, il Dracofono]]></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[Sarkhan, Porta-voz dos Dragões]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[龙语者萨坎]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[龍語者薩坎]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="994386650" />
   <ARTID value="994386650" />
   <ARTIST name="Daarken" />
   <CASTING_COST cost="{3}{R}{R}" />
   <TYPE metaname="Enchantment" />
   <TYPE metaname="Planeswalker" />
   <SUB_TYPE metaname="Sarkhan" />
   <EXPANSION value="KTK" />
   <RARITY metaname="C" />

<TRIGGERED_ABILITY replacement_query="1" active_zone="ZONE_ANY">
      <TRIGGER value="BEGINNING_OF_STEP">
       if MTG():GetStep() == STEP_UPKEEP then
     local Chest_Id = Object():GetRef()
     local chest = MTG():DuelDataChest():Get_Chest(Chest_Id)
          if chest ~= nil then
             return false
          else
             MTG():CreateDelayedTrigger(8, nil)
        chest = MTG():DuelDataChest():Make_Chest(Chest_Id)
             return true
          end
       end
       return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
        MTG():PutTokensOntoBattlefield( "NEO_DRAGON_4_4_R_LFIH_994900001", 1, EffectController(), EffectDC():Make_Chest(0) )
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
      local chest = EffectDC():Get_Chest(0)
        if chest  ~= nil then
           local token = chest:Get_NthCardPtr(0)
           if token ~= nil then
         local Chest_Id = Object():GetRef()
              token:StoreCopiableValues(MTG():DuelDataChest():Make_Chest(Chest_Id))   
           end
        end
   </RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY resource_id="8" replacement_effect="1" active_zone="ZONE_ANY" priority="-1">
   <TRIGGER value="ZONECHANGE_CONSIDERED" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" pre_trigger="1">
     if TriggerObject() ~= nil and TriggerObject():GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" then
        if TriggerObject():GetErstwhileZone() == 0 then
           MTG():OverrideEvent()
           return true
        end
    end
    return false
    </TRIGGER>
   <CLEANUP fire_once="1" />
  </TRIGGERED_ABILITY>


   <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[|(Loyalty 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[|(Loyauté 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[|(Lealtad 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[|(Loyalität 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[|(Fedeltà 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[(忠誠 7)]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[|(충성 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[|(Верность 4)|]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[|(Lealdade 4)|]]></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"), 4 )
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
<ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[+1]: Until end of turn, Sarkhan, the Dragonspeaker becomes a legendary 4/4 red Dragon creature with flying, indestructible, and haste.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[+1 : Jusqu’à la fin du tour, Sarkhan, le languedragon devient une créature légendaire 4/4 rouge Dragon avec le vol, l’indestructible et la célérité.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[+1: Hasta el final del turno, Sarkhan, el dragonhablante se convierte en una criatura legendaria Dragón roja 4/4 con las habilidades de volar, indestructible y prisa.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[+1: Bis zum Ende des Zuges wird Sarkhan Drachensprecher zu einer legendären 4/4 roten Drache-Kreatur mit Flugfähigkeit, Unzerstörbarkeit und Eile.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[+1: Fino alla fine del turno, Sarkhan, il Dracofono diventa una creatura leggendaria Drago 4/4 rossa con volare, indistruttibile e rapidità.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[+1:ターン終了時まで、龍語りのサルカンは飛行と破壊不能と速攻を持つ赤の4/4の伝説のドラゴン・クリーチャーになる。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[+1: 용언술사 사르칸은 턴종료까지 비행과 무적, 신속을 가진 4/4 전설적 적색 용 생물이 된다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[+1: до конца хода Сархан, Говорящий с Драконами становится легендарным существом 4/4 красный Дракон с Полетом, Неразрушимостью и Ускорением.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[+1: Até o final do turno, Sarkhan, Porta-voz dos Dragões, torna-se uma criatura lendária vermelha 4/4 do tipo Dragão com voar, indestrutível e ímpeto.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[+1:直到回合结束,龙语者萨坎成为传奇的4/4红色龙生物,且具有飞行,不灭与敏捷异能。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[+1:直到回合結束,龍語者薩坎成為傳奇的4/4紅色龍生物,且具有飛行,不滅與敏捷異能。]]></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"), 1 )
      end
      </RESOLUTION_TIME_ACTION>
      </COST>
         <RESOLUTION_TIME_ACTION>
           if Object() ~= nil then
          local Chest_Id = Object():GetRef()
                   MTG():CreateDelayedTrigger(2, nil)
                   if MTG():DuelDataChest():Get_Chest(Chest_Id) == nil then
          MTG():CreateDelayedTrigger(8, nil)
             MTG():PutTokensOntoBattlefield( "NEO_DRAGON_4_4_R_LFIH_994900001", 1, EffectController(), EffectDC():Make_Chest(0) )
                   else
                         Object():UseCopiableValues(MTG():DuelDataChest():Get_Chest(Chest_Id))
                   end
                end
       </RESOLUTION_TIME_ACTION>
          <CONTINUOUS_ACTION layer="2">
                if Object() ~= nil then
         local Chest_Id = Object():GetRef()
                   if MTG():DuelDataChest():Get_Chest(Chest_Id) ~= nil then
                         Object():UseCopiableValues(MTG():DuelDataChest():Get_Chest(Chest_Id))
         end
                end
         </CONTINUOUS_ACTION>
              <DURATION simple_duration="UntilEOT" />
   </ACTIVATED_ABILITY>

 <TRIGGERED_ABILITY resource_id="2" replacement_query="1" priority="20">
    <TRIGGER value="STATE_BASED_EFFECTS" pre_trigger="1" >
     if Object() ~= nil and Object():GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" and Object():GetCardType():Test(CARD_TYPE_CREATURE) == false then
        return true
     end
   </TRIGGER>
    <CLEANUP fire_once="1" />
    <RESOLUTION_TIME_ACTION>
    MTG():ClearFilterMark()
    local tobj = Object()
    local filter = ClearFilter()
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    PLW_FilterNameSet(filter, "PLANESWALKERS", true)
    local filter_count = filter:EvaluateObjects()
    if filter:CountStopAt(2) == 2 then
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if PLW_GetSubType(card) == PLW_GetSubType(tobj) then
             card:MarkForFilter()
          end
       end
       filter:SetMarkedObjectsOnly()
       if filter:CountStopAt(2) == 2 then
          EffectController():ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_TO_SAVE", EffectDC():Make_Targets(0) )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local to_keep = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if to_keep ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       PLW_FilterNameSet(filter, "PLANESWALKERS", true)
       local filter_count = filter:EvaluateObjects()
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if card ~= to_keep and PLW_GetSubType(card) == PLW_GetSubType( Object() ) then
             card:PutInGraveyard()
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

 <TRIGGERED_ABILITY replacement_query="1" priority="20">
    <TRIGGER value="CONTROLLER_CHANGED" >
     if Object() ~= nil and Object():GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" and Object():GetCardType():Test(CARD_TYPE_CREATURE) == false then
        return true
     end
   </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    MTG():ClearFilterMark()
    local tobj = Object()
    local filter = ClearFilter()
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    PLW_FilterNameSet(filter, "PLANESWALKERS", true)
    local filter_count = filter:EvaluateObjects()
    if filter:CountStopAt(2) == 2 then
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if PLW_GetSubType(card) == PLW_GetSubType(tobj) then
             card:MarkForFilter()
          end
       end
       filter:SetMarkedObjectsOnly()
       if filter:CountStopAt(2) == 2 then
          EffectController():ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_TO_SAVE", EffectDC():Make_Targets(0) )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local to_keep = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if to_keep ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       PLW_FilterNameSet(filter, "PLANESWALKERS", true)
       local filter_count = filter:EvaluateObjects()
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if card ~= to_keep and PLW_GetSubType(card) == PLW_GetSubType( Object() ) then
             card:PutInGraveyard()
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>



<ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[-3]: Sarkhan, the Dragonspeaker deals 4 damage to target creature.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[-3 : Sarkhan, le languedragon inflige 4 blessures à une créature ciblée.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[–3: Sarkhan, el dragonhablante hace 4 puntos de daño a la criatura objetivo.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−3: Sarkhan Drachensprecher fügt einer Kreatur deiner Wahl 4 Schadenspunkte zu.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[−3: Sarkhan, il Dracofono infligge 4 danni a una creatura bersaglio.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-3:クリーチャー1体を対象とする。龍語りのサルカンはそれに4点のダメージを与える。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[-3: 생물을 목표로 정한다. 용언술사 사르칸은 그 생물에 피해 4점을 입힌다.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[–3: Сархан, Говорящий с Драконами наносит 4 повреждения целевому существу.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[−3: Sarkhan, Porta-voz dos Dragões, causa 4 pontos de dano à criatura alvo.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[-3:龙语者萨坎对目标生物造成4点伤害。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[-3:龍語者薩坎對目標生物造成4點傷害。]]></LOCALISED_TEXT>
      <AVAILABILITY sorcery_time="1" />
      <COST type="RemoveCountersSelf" amount="3" counter_type="Loyalty" />
      <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_DEAL_4_DAMAGE" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    </TARGET_DEFINITION>
      <RESOLUTION_TIME_ACTION>
    local target_creature = EffectDC():Get_Targets(0):Get_CardPtr(0)
    local target_player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    if ( target_creature ~= nil ) then
       EffectSourceLKI():DealDamageTo( 4, target_creature )
    elseif ( target_player ~= nil ) then   
       EffectSourceLKI():DealDamageTo( 4, target_player )
    end
    </RESOLUTION_TIME_ACTION>
      <SFX text="TARGET_FIREBALL_PLAY" />
      <SFX text="TARGET_FLAME_PLAY" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY window_step="main_1" window_turn="my_turn" type="window" />
      <AI_AVAILABILITY window_step="begin_combat" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
      <AI_AVAILABILITY window_step="declare_blockers" type="window" />
      <AI_AVAILABILITY window_step="end_of_turn" type="window" />
      <AI_AVAILABILITY type="in_response" response_source="1" response_target="1" />
      <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
   </ACTIVATED_ABILITY>
   <ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[[-6]: You get an emblem with “At the beginning of your draw step, draw two additional cards” and “At the beginning of your end step, discard your hand.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[-6 : Vous gagnez un emblème avec « Au début de votre étape de pioche, piochez deux cartes supplémentaires » et « Au début de votre étape de fin, défaussez-vous de votre main. »]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[–6: Obtienes un emblema con “Al comienzo de tu paso de robar, roba dos cartas adicionales” y “Al comienzo de tu paso final, descarta tu mano”.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[−6: Du erhältst ein Emblem mit „Ziehe zu Beginn deines Ziehsegments zwei zusätzliche Karten” und „Wirf zu Beginn deines Endsegments alle Karten aus deiner Hand ab.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[−6: Ottieni un emblema con “All’inizio della tua acquisizione, pesca due carte addizionali” e “All’inizio della tua sottofase finale, scarta la tua mano”.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[-6:あなたは「あなたのドロー・ステップの開始時に、カードを追加で2枚引く。」と「あなたの終了ステップの開始時に、あなたは手札を捨てる。」を持つ紋章を得る。]]></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[−6: Você ganha um emblema com “No início da sua etapa de compra, compre dois cards adicionais” e “No início da sua etapa final, descarte a sua mão.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[-6:你获得具有「在你的抓牌步骤开始时,额外抓两张牌」与「在你的结束步骤开始时,弃掉你的手牌」的徽记。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[-6:你獲得具有「在你的抽牌步驟開始時,額外抽兩張牌」與「在你的結束步驟開始時,棄掉你的手牌」的徽記。]]></LOCALISED_TEXT>
      <AVAILABILITY sorcery_time="1" />
      <COST type="RemoveCountersSelf" amount="6" counter_type="Loyalty" />
      <RESOLUTION_TIME_ACTION>
    MTG():CreateDelayedTrigger(1, nil)
</RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
MTG():CreateDelayedTrigger(2, nil)
    </RESOLUTION_TIME_ACTION>
   </ACTIVATED_ABILITY>
   <TRIGGERED_ABILITY resource_id="1">
      <CLEANUP>
    return EffectController() == nil
    </CLEANUP>
      <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_UPKEEP
    </TRIGGER>
      <RESOLUTION_TIME_ACTION>
    if TriggerPlayer() ~= nil then   
       TriggerPlayer():DrawCards(2)
    end
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY resource_id="2">
      <CLEANUP>
    return EffectController() == nil
    </CLEANUP>
      <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
    return MTG():GetStep() == STEP_END_OF_TURN
    </TRIGGER>
      <RESOLUTION_TIME_ACTION>
EffectController():DiscardHand()
    </RESOLUTION_TIME_ACTION>
   </TRIGGERED_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="NEO_DRAGON_4_4_R_LFIH_994900001" />
   <TOKEN_REGISTRATION reservation="1" type="_PLANESWALKERS_MANAGER_991800002" />
   <AI_COUNTER_SCORE type="Loyalty" score="100" />
   <AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
Sarkhan, the Dragonspeaker - DRAGON | Open
Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="NEO_DRAGON_4_4_R_LFIH_994900001" />
   <CARDNAME text="SARKHAN_THE_DRAGONSPEAKER" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sarkhan, the Dragonspeaker]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sarkhan, le languedragon]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sarkhan, el dragonhablante]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sarkhan Drachensprecher]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sarkhan, il Dracofono]]></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[Sarkhan, Porta-voz dos Dragões]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[龙语者萨坎]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[龍語者薩坎]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="994900001" />
   <ARTID value="994900001" />
   <COLOUR value="R" />
   <ARTIST name="unknow" />
   <CASTING_COST cost="" />
   <SUPERTYPE metaname="Legendary" />   
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Dragon" />
   <EXPANSION value="KTK" />
   <RARITY metaname="C" />
   <POWER value="4" />
   <TOUGHNESS value="4" />
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비행]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Полет]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Voar]]></LOCALISED_TEXT>
      <INTRINSIC characteristic="CHARACTERISTIC_FLYING" />
   </STATIC_ABILITY>
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Indestructible]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Indestructible]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Indestructible.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Unzerstörbar]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Indistruttibile]]></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[Indestrutível]]></LOCALISED_TEXT>
      <INTRINSIC characteristic="CHARACTERISTIC_INDESTRUCTIBLE" />
   </STATIC_ABILITY>
   <STATIC_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[haste]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[célérité]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[prisa.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Eile]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[rapidità]]></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[ímpeto]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[敏捷]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[敏捷]]></LOCALISED_TEXT>
      <INTRINSIC characteristic="CHARACTERISTIC_HASTE" />
   </STATIC_ABILITY>
   <HELP title="MORE_INFO_BADGE_TITLE_10" body="MORE_INFO_BADGE_BODY_10" zone="ZONE_ANY" />
   <HELP title="MORE_INFO_BADGE_TITLE_8" body="MORE_INFO_BADGE_BODY_8" zone="ZONE_ANY" />
   <HELP title="MORE_INFO_BADGE_TITLE_14" body="MORE_INFO_BADGE_BODY_14" zone="ZONE_ANY" />
   <SFX text="COMBAT_DRAGON_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
   <SFX text="COMBAT_DRAGON_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
PLANESWALKERS_MANAGER | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="11">
  <FILENAME text="_PLANESWALKERS_MANAGER_991800002" />
  <CARDNAME text="_PLANESWALKERS_MANAGER" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Planeswalker]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Planeswalker]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Planeswalker]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Planeswalker]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Planeswalker]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[プレインズウォーカー]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[플레인즈워커]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Planeswalker]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Planeswalker]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="991800002" />
  <ARTID value="0" />
  <ARTIST name="Nobody" />
  <CASTING_COST cost="" />
  <TYPE metaname="" />
  <EXPANSION value="DPI" />
  <RARITY metaname="C" />

  <!-- Invisible token protection -->
  <STATIC_ABILITY>
    <CONTINUOUS_ACTION layer="8">
    if EffectSource() ~= nil then
       local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Bool_Set(CHARACTERISTIC_SHROUD, 1)
       characteristics:Bool_Set(CHARACTERISTIC_INDESTRUCTIBLE, 1)
       characteristics:AI_SetWorthless()
    end
    </CONTINUOUS_ACTION>
    <CONTINUOUS_ACTION layer="8">
    if EffectSource() ~= nil then
       local filter = ClearFilter()
       filter:Add(FE_CMC, OP_GREATER_THAN_OR_EQUAL_TO, 0)
       EffectSource():Protection()
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>

  <!-- Planeswalker rules -->

  <!-- 1. Planeswalker goes to the graveyard when it has no loyalty counters left -->
  <TRIGGERED_ABILITY replacement_effect="1">
    <COUNTER_REGISTRATION name="Loyalty" proliferate="11" />
    <TRIGGER value="STATE_BASED_EFFECTS" />
    <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    PLW_FilterNameSet(filter, "PLANESWALKERS", true)
    </FILTER>
    <RESOLUTION_TIME_ACTION filter_id="0">
    if FilteredCard() ~= nil and FilteredCard():CountCounters( MTG():GetCountersType("Loyalty") ) == 0 then
       FilteredCard():PutInGraveyard()
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <!-- 2. Planeswalkers' "Legendary rule" -->
  <TRIGGERED_ABILITY replacement_query="1">
    <TRIGGER value="ZONECHANGE_END" simple_qualifier="objectyoucontrol" to_zone="ZONE_BATTLEFIELD">
    return PLW_IsInNameSet( TriggerObject(), "PLANESWALKERS" )
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    MTG():ClearFilterMark()
    local tobj = TriggerObject()
    local filter = ClearFilter()
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    PLW_FilterNameSet(filter, "PLANESWALKERS", true)
    local filter_count = filter:EvaluateObjects()
    if filter:CountStopAt(2) == 2 then
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
                if card:GetCardType():Test(CARD_TYPE_CREATURE) == false then
             if PLW_GetSubType(card) == PLW_GetSubType(tobj) then
             card:MarkForFilter()
                   end
          end
       end
       filter:SetMarkedObjectsOnly()
       if filter:CountStopAt(2) == 2 then
          EffectController():ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_TO_SAVE", EffectDC():Make_Targets(0) )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local to_keep = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if to_keep ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
       PLW_FilterNameSet(filter, "PLANESWALKERS", true)
       local filter_count = filter:EvaluateObjects()
       for i=0,filter_count-1 do
          local card = filter:GetNthEvaluatedObject(i)
          if card ~= to_keep and PLW_GetSubType(card) == PLW_GetSubType( TriggerObject() ) then
             card:PutInGraveyard()
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <!-- 3. Planeswalkers' abilities can be played only once per turn -->
  <TRIGGERED_ABILITY replacement_effect="1">
    <TRIGGER value="ACTIVATED_ABILITY_PLAYED" simple_qualifier="objectyoucontrol">
    if not PLW_IsInNameSet( TriggerObject(), "PLANESWALKERS" ) then
       return false
    end
    local activations_chest = PLW_MyDuelDC():Get_Chest(PLW_PLANESWALKERS_ACTIVATIONS_CHEST)
    if activations_chest == nil then
       activations_chest = PLW_MyDuelDC():Make_Chest(PLW_PLANESWALKERS_ACTIVATIONS_CHEST)
    end
    -- Find the Planeswalker
    local current_index = -1
    local last_index = activations_chest:Get_Int(0)
    if last_index &gt; 0 then
       for i=1,last_index,2 do
          local card = activations_chest:Get_CardPtr(i)
          if card ~= nil and card == TriggerObject() then
             -- Planeswalker found
             current_index = i
             break
          end
       end
    else
       last_index = -1 -- this will make it right when adding 2 later
    end
    if current_index == -1 then
       -- Planeswalker not found, let's add it
       last_index = last_index + 2
       activations_chest:Set_Int(0, last_index)
       activations_chest:Set_CardPtr( last_index, TriggerObject() )
       activations_chest:Set_Int(last_index+1, 0)
       current_index = last_index
    end
    -- Increase Planeswalker's activations count (1 register further than the card pointer)
    activations_chest:Int_Inc(current_index+1)
    -- Increase player's own activations count (will be used by The Chain Veil's first ability)
    PLW_MyPlayerDC( EffectController() ):Int_Inc(PLW_PLANESWALKERS_ACTIVATIONS)
    -- Save Planeswalker's activations count index for continuous action
    EffectDC():Set_Int(1, current_index+1)
    return true
    </TRIGGER>
    <CONTINUOUS_ACTION layer="8">
    if TriggerObject() ~= nil then
       local activations_chest = PLW_MyDuelDC():Get_Chest(PLW_PLANESWALKERS_ACTIVATIONS_CHEST)
       if activations_chest ~= nil then
          local loyalty_activations = activations_chest:Get_Int( EffectDC():Get_Int(1) )
          local chain_veil_activations = PLW_MyPlayerDC( TriggerObject():GetController() ):Get_Int(PLW_CHAIN_VEIL_ACTIVATIONS)
          if loyalty_activations &gt; chain_veil_activations then
             TriggerObject():GetCurrentCharacteristics():Bool_Set(CHARACTERISTIC_CANT_USE_ACTIVATED_ABILITIES, 1)
          end
       end
    end
    </CONTINUOUS_ACTION>
    <DURATION simple_duration="UntilEOT" />
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY replacement_effect="1">
    <TRIGGER value="BEGINNING_OF_STEP">
    return MTG():GetStep() == STEP_CLEANUP
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    PLW_MyDuelDC():Free_Compartment(PLW_PLANESWALKERS_ACTIVATIONS_CHEST)
    for i=0,MTG():GetNumberOfPlayers()-1 do
       local player_chest = PLW_MyPlayerDC( MTG():GetNthPlayer(i) )
       player_chest:Set_Int(PLW_PLANESWALKERS_ACTIVATIONS, 0)
       player_chest:Set_Int(PLW_CHAIN_VEIL_ACTIVATIONS, 0)
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <!-- 4. Damage redirection -->
  <TRIGGERED_ABILITY replacement_query="1" linked_ability_group="1">
    <COUNTER_REGISTRATION name="Loyalty" proliferate="11" />
    <TRIGGER value="SOURCE_DEALS_DAMAGE_TO_PLAYER" pre_trigger="1" damage_type="noncombat">
    if LinkedDC():Get_Int(0) ~= 1 then
       local controller = EffectController()
       local amount = Damage() and Damage():GetAmount()
       if amount ~= nil and amount &gt; 0 and SecondaryPlayer() == controller and TriggerObject():GetPlayer():GetTeam() ~= controller:GetTeam() then
          local filter = ClearFilter()
          filter:Add(FE_CONTROLLER, OP_IS, controller)
          PLW_FilterNameSet(filter, "PLANESWALKERS", true)
          if filter:CountStopAt(1) == 1 then
             EffectDC():Set_Int(2, amount)
             Damage():Multiply(0)
             return true
          end
       end
    else
       LinkedDC():Set_Int(0, 0) -- reset the flag
    end
    return false
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    local source = TriggerObject()
    if source ~= nil then
       local player = source:GetPlayer()
       if player ~= nil then
          local filter = ClearFilter()
          filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
          PLW_FilterNameSet(filter, "PLANESWALKERS", true)
          player:ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_REDIRECT_DAMAGE_TO", EffectDC():Make_Targets(1), QUERY_FLAG_MAY )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
    local amount = EffectDC():Get_Int(2)
    if target ~= nil then
       PLW_SetLastDamageInfo( target, TriggerObject(), amount )
       TriggerObject():DealDamageTo(amount, target)
       if target:GetCardType():Test(CARD_TYPE_CREATURE) == false then -- if it's not a creature, dealing damage doesn't do anything
          if PLW_MyPlayerDC( target:GetController() ):Get_Int(PLW_AJANI_STEADFAST_EMBLEM) == 0 then
             target:RemoveCounters( MTG():GetCountersType("Loyalty"), amount )
          else
             target:RemoveCounters( MTG():GetCountersType("Loyalty"), 1 )
          end
       end
    else
       LinkedDC():Set_Int(0, 1) -- set this flag so the trigger won't trigger again this time
       TriggerObject():DealDamageTo( amount, SecondaryPlayer() )
    end
    -- APPROXIMATION: if the damage is unpreventable, this way I'm removing that characteristic
    -- APPROXIMATION: if the Planeswalker isn't a creature, damage triggers from the source won't trigger
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <!-- 5. Attacking Planeswalkers -->
  <STATIC_ABILITY>
    <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
    </FILTER>
    <CONTINUOUS_ACTION layer="8" filter_id="0">
    if FilteredCard() ~= nil then
       local filter = ClearFilter()
       filter:Add( FE_CARD_NAME, OP_IS, EffectSource() )
       filter:EvaluateObjects()
       if EffectSource() == filter:GetNthEvaluatedObject(0) then -- only 1 manager should grant the ability
          FilteredCard():GetCurrentCharacteristics():GrantAbility(0)
       end
    end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>
  <TRIGGERED_ABILITY replacement_query="1" resource_id="0">
    <TRIGGER value="ATTACKING" simple_qualifier="self" />
    <RESOLUTION_TIME_ACTION>
    local defending = TriggerObject() and TriggerObject():GetPlayerAttacked()
    if defending ~= nil then
       local filter = ClearFilter()
       filter:Add(FE_CONTROLLER, OP_IS, defending)
       PLW_FilterNameSet(filter, "PLANESWALKERS", true)
       if filter:CountStopAt(1) == 1 then
          EffectController():ChooseItem( "PLW_CARD_QUERY_CHOOSE_PLANESWALKER_TO_ATTACK", EffectDC():Make_Targets(0), QUERY_FLAG_MAY )
       end
    end
    -- APPROXIMATION: a creature attacking a Planeswalker shouldn't be counted as attacking the player
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local defending = TriggerObject() and TriggerObject():GetPlayerAttacked()
       if defending ~= nil and defending:IsAI() == false then
          defending:SetCustomQueryInstructionCardPtr(target)
          defending:BeginNewMultipleChoice()
          defending:AddMultipleChoiceAnswer("CONTROL_MB_CONFIRM")
          defending:AskMultipleChoiceQuestion( "PLW_CARD_QUERY_ATTACKED_PLANESWALKER", TriggerObject() )
       end
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local delayDC = EffectDC():Make_Chest(1)
       delayDC:Set_CardPtr( 0, TriggerObject() )
       delayDC:Set_CardPtr(1, target)
       MTG():CreateDelayedTrigger(1, delayDC)
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY replacement_effect="1" resource_id="1">
    <CLEANUP>
    return MTG():GetStep() == STEP_END_OF_COMBAT
    </CLEANUP>
    <COUNTER_REGISTRATION name="Loyalty" proliferate="11" />
    <TRIGGER value="SOURCE_DEALS_DAMAGE_TO_PLAYER" damage_type="combat" pre_trigger="1">
    local amount = Damage() and Damage():GetAmount()
    if amount ~= nil and amount &gt; 0 and TriggerObject() == EffectDC():Get_CardPtr(0) then
       local target = EffectDC():Get_CardPtr(1)
       if target ~= nil then
          PLW_SetLastDamageInfo( target, TriggerObject(), amount )
          if target:GetCardType():Test(CARD_TYPE_CREATURE) then
             Damage():RedirectAllTo(target)
          else
             Damage():Multiply(0)
             if PLW_MyPlayerDC( target:GetController() ):Get_Int(PLW_AJANI_STEADFAST_EMBLEM) == 0 then
                target:RemoveCounters( MTG():GetCountersType("Loyalty"), amount )
             else
                target:RemoveCounters( MTG():GetCountersType("Loyalty"), 1 )
             end
         EffectDC():Set_Int(2, amount)
             MTG():CreateDelayedTrigger( 2, EffectDC() )
          end
       end
       return true
    end
    return false
    -- APPROXIMATION: if the Planeswalker isn't a creature, damage triggers from the source won't trigger
    </TRIGGER>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY forced_skip="1" resource_id="2">
    <CLEANUP fire_once="1" />
    <TRIGGER value="STATE_BASED_EFFECTS" />
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_CardPtr(1)
    if target ~= nil then
       PLW_SetLastDamageInfo( target, EffectDC():Get_CardPtr(0), EffectDC():Get_Int(2) )
       MTG():FireTrigger( TRIGGER_OBJECT_TAKES_DAMAGE, target )
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <!-- 6. Damage to Planeswalker creatures (this works only for Gideon when he becomes a creature) -->
  <TRIGGERED_ABILITY replacement_effect="1">
    <COUNTER_REGISTRATION name="Loyalty" proliferate="11" />
    <TRIGGER value="OBJECT_TAKES_DAMAGE">
    return PLW_IsInNameSet( TriggerObject(), "PLANESWALKERS" )
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    if TriggerObject() ~= nil then
       local amount = Damage() and Damage():GetAmount()
       if amount ~= nil then
          TriggerObject():RemoveCounters( MTG():GetCountersType("Loyalty"), amount )
       end
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <!-- 7. Cards not allowed to target Planeswalkers -->
  <TRIGGERED_ABILITY replacement_effect="1">
    <TRIGGER value="CARD_CONSIDERED_FOR_TARGETTING" pre_trigger="1">
    local target = TriggerObject()
    local filter = ClearFilter()
    filter:Add(FE_CARD_NAME, OP_IS, "ENCHANTED_EVENING") -- With Enchanted Evening on the battlefield, Planeswalkers would be enchantments for real
    if filter:CountStopAt(1) == 0 or target:GetZone() ~= ZONE_BATTLEFIELD then
       local targetter = SecondaryObject()
       if PLW_IsInNameSet(target, "PLANESWALKERS") and
       ( PLW_IsInNameSet(targetter, "TARGET_ENCHANTMENTS_NOT_CREATURES") or
       (target:GetCardType():Test(CARD_TYPE_CREATURE) == false and
       PLW_IsInNameSet(targetter, "TARGET_ENCHANTMENTS_AND_CREATURES")) ) then
          MTG():OverrideEvent()
          return true
       end
    end
    return false
    </TRIGGER>
  </TRIGGERED_ABILITY>

  <!-- 8. Planeswalker type hack -->
  <TRIGGERED_ABILITY replacement_effect="1">
    <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="objectyoucontrol" to_zone="ZONE_BATTLEFIELD">
    if TriggerObject():GetCardType():Test(CARD_TYPE_PLANESWALKER) then
       EffectDC():Protect_CardPtr(COMPARTMENT_ID_PARAM_TRIGGER_OBJECT)
       return true
    end
    return false
    </TRIGGER>
    <CONTINUOUS_ACTION layer="1">
    if TriggerObject() ~= nil then
       local characteristics = TriggerObject():GetCurrentCharacteristics()
       local card_type = characteristics:CardType_GetWritable()
       local supertype = characteristics:SuperType_GetWritable()
       card_type:Clear()
       -- I chose "Basic Snow Enchantment", it seems the only safe choice.
       -- I avoided Legendary since we are already managing the Planeswalkers' "Legendary rule" manually.
       card_type:Add(CARD_TYPE_ENCHANTMENT)
       supertype:Add(SUPERTYPE_BASIC)
       supertype:Add(SUPERTYPE_SNOW)
    end
    </CONTINUOUS_ACTION>
    <DURATION>
    return TriggerObject() == nil
    </DURATION>
  </TRIGGERED_ABILITY>

  <AI_BASE_SCORE score="-5000" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
Attachments
Sarkhan the Dragonspeaker.rar
Sarkhan, the Dragonspeaker Neo Ver 1.3
(10.43 KiB) Downloaded 292 times
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby fallenangle » 08 Oct 2014, 02:42

You're awesome, Neo. I'll update the file soon. Thanks again for putting up with my endless requests about Sarkhan, and for all of your amazing modding work!
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)

Postby fallenangle » 09 Oct 2014, 03:15

After looking at the rules for Sorin, Solemn Visitor today, I've removed the "reevaluates" tag in the filter for the first ability so that it now properly only affects creatures on the battlefield when the ability resolves rather than continuously. This update also includes Neo's revised versions of the new Sarkhan and the Planeswalkers Manager. This should bring the two new planeswalkers as close to conformity with the rules as we can get them. If you find any issues, let me know and I'll see if I can address them. You can find the download link in my earlier post on this page. As always, all credit for the Planeswalkers mod goes to thefiremind, gorem2k, NeoAnderson, and Tejahn. Enjoy!
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 6 guests


Who is online

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

Users browsing this forum: No registered users and 6 guests

Login Form