Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
Programming Talk



Trying to fix Sarkhan, the Dragonspeaker
Moderator: CCGHQ Admins
21 posts
• Page 1 of 2 • 1, 2
Trying to fix Sarkhan, the Dragonspeaker
by fallenangle » 03 Oct 2014, 15:01
So I've been trying to work on getting Sarkhan, the Dragonspeaker to work better. One of the things I'd like to do is remove the "Compound Type - Basic Legendary Snow Enchantment Creature - Dragon" line that appears whenever he becomes a creature and have it replaced with "Legendary Creature - Dragon" when Sarkhan becomes a creature. I know it's possible to remove subtypes, but not if it's possible to remove types or supertypes. The other thing I've been toying with is replacing the first ability with one that puts a legendary, 4?4, flying, red Dragon with haste and indestructible onto the battlefield that gets sacrificed at the beginning of the next end step. (I know this would cause problems with e.g., Rune Halo; but at least you could have the creature and the planeswalker on the battlefield at the same time.) I've gotten that to work before, but the game always crashed on exit, and I suspect it had something to do with the way I set up the token card. Are there rules of thumb that need to be followed with regard to the format of Filenames and Cardames for tokens, and how much agreement does there need to be between Filename and Cardname text for a token to work properly? What are some good rules of thumb for giving a token a multiverse id? Finally, I've tried tinkering with the Planeswalkers Manager, but so far all I've managed to do on that front is make a Sarkhan who instantly goes to the graveyard. If anyone has any ideas or suggestions, please let me know. Thanks in advance for all your help.
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by NeoAnderson » 03 Oct 2014, 19:54
I haven't followed the planeswalkers approximation, and i also don't know exactly how they are ruled, anyway i could suggest to you to use a workaround like firemind did with transform, or as like i did with morph. Create a token at beginning of the game and store the copiable values into a data chest, then use copy effect to transform Sarkhan when needed.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by fallenangle » 03 Oct 2014, 22:29
How would you store the loyalty counters so they get properly restored each time Sarkhan transforms?
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by sweetLu » 04 Oct 2014, 03:18
I don't think it is possible to remove supertypes but I don't think you would have to go that far. I was looking at this the other day. The Legendary Rule is enforced through a zone change end trigger where it counts the number of planeswalkers (based on the planeswalker nameset) with the same name. Right now this triggers if there is a creature Sarkhan and Planeswalker Sarkhan on the battlefield (well obviously or else we wouldn't be having this conversationfallenangle wrote:So I've been trying to work on getting Sarkhan, the Dragonspeaker to work better. One of the things I'd like to do is remove the "Compound Type - Basic Legendary Snow Enchantment Creature - Dragon" line that appears whenever he becomes a creature and have it replaced with "Legendary Creature - Dragon" when Sarkhan becomes a creature. I know it's possible to remove subtypes, but not if it's possible to remove types or supertypes.

Also, if you go this route you'll have to add additional triggers to account for making two Sarkhan creatures. I don't think the zone change end trigger will catch you activating a 2nd Sarkhan.
Did you forget to add the token register to Sarkhan? Like:fallenangle wrote:I've gotten that to work before, but the game always crashed on exit, and I suspect it had something to do with the way I set up the token card. Are there rules of thumb that need to be followed with regard to the format of Filenames and Cardames for tokens, and how much agreement does there need to be between Filename and Cardname text for a token to work properly? What are some good rules of thumb for giving a token a multiverse id?
<TOKEN_REGISTRATION reservation="1" type="TOKEN_DRAGON_4_4_R_F_363658" />
As for naming a token there are no real rules. Xander talks about the naming convention he is going to use for the Community Wad here. This is as good as any.
Edit - Actually, it may not be as difficult as I first thought. You shouldn't need to modify the trigger. In the Legendary Rule Enforcement trigger, try adding this in the two RTAs after the PLW_FilterNameSet():
- Code: Select all
if tobj:GetCardName() == "SARKHAN_THE_DRAGONSPEAKER" then
if tobj:GetCardType():Test( CARD_TYPE_CREATURE ) then
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
else
filter:Add( FE_TYPE, OP_NOT, CARD_TYPE_CREATURE )
end
end
Edit 2 - Oh man, I take all that back. I forgot the Legendary rule also applies to other versions of Sarkhan like Sarkhan Vol. I don't think this trick will work correctly with the other versions. I'll have to look at the planeswalker mod more to understand what it is really doing

Re: Trying to fix Sarkhan, the Dragonspeaker
by NeoAnderson » 04 Oct 2014, 05:08
According with the rules loyalty counters should remain on the Dragon creature, and if use the copy function it will remain because aren't copiable values.fallenangle wrote:How would you store the loyalty counters so they get properly restored each time Sarkhan transforms?
Anyway there is a way to keep track of the counters on the cards, look to my Oubliette version.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by fallenangle » 04 Oct 2014, 14:43
Neo, I'm still a little lost. Could you provide me with an example or a template for doing a transform card and storing the copiable values in a chest. I'm just trying to do a 4/4, Red, Flying Dragon right now, but I don't know how to get it transforming back and forth between itself and Sarkhan, the Dragonspeaker. If you could provide the code with notes, or at least a code scaffolding that I could work with, I would be very grateful.
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by fallenangle » 04 Oct 2014, 16:48
Okay, so I think I figured out what you intended for me to do. I used the Morph Copy Data Chest instructions from Grim Haruspex. I made changes on both the regular card and the token, but so far I can't get Sarkhan to transform. Perhaps you can help me check the two files I have uploaded here for mistakes if you have time? Thanks again for all your help.
- Attachments
-
SARKHAN THE DRAGONSPEAKER Transform Cards (nonworking).zip
- (7.37 KiB) Downloaded 309 times
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by NeoAnderson » 04 Oct 2014, 18:47
I am sorry for my late reply but i am very busy in these days, i will work until next monday, so i have no time to code, i just quickly look to your code but there are some basic mistakes, first of all you don't need to transform back Sarkhan, you have just to set the DURATION of the first transform effect, when the duration return true it automatically return yo be a planeswalker.
You need to delete the token before it enter the battlefield, it is needed just to copy the values into the chest but it should never enter in game.
You need to delete the token before it enter the battlefield, it is needed just to copy the values into the chest but it should never enter in game.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by fallenangle » 06 Oct 2014, 03:34
I think transform will never work because the token card is a creature and thus a different type from Sarkhan, who is a planeswalker enchantment. I'm currently toying with a workaround that involves exiling Sarkhan before the token comes into play, but I have no idea how to code a chest that will store his loyalty counters so that he comes back with the correct number. If you have some time and could provide the code to store loyalty counters in a chest and the code to retrieve the data from the chest, I would be very grateful. Thanks so much for all of your help with this!
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by NeoAnderson » 06 Oct 2014, 05:26
the card type is a copiable value, so when you copy something it takes all that types, supertypes, and subtypes. There are some of these exqmple also in my morph mod. About the chest to store the loyalty counters, as i read the new creature should keep the counters, so you don't need to remove and add again the counters, the copy effect don't involve counters.fallenangle wrote:I think transform will never work because the token card is a creature and thus a different type from Sarkhan, who is a planeswalker enchantment. I'm currently toying with a workaround that involves exiling Sarkhan before the token comes into play, but I have no idea how to code a chest that will store his loyalty counters so that he comes back with the correct number. If you have some time and could provide the code to store loyalty counters in a chest and the code to retrieve the data from the chest, I would be very grateful. Thanks so much for all of your help with this!
About to exile a card or PutOntoBattlefield something else this create issue with some kind of cards.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by fallenangle » 06 Oct 2014, 14:39
I keep trying with transform, but the creature it transforms into always appears on the battlefield at the beginning of the first upkeep, and none of the transform effects work. Here are the two cards I've been using, plus my update of TFM's transform functions. I'm not really sure where my mistakes are. Can you take a look at these and show me where I've gone wrong?
Thanks again for all of your help with this!
Edit: I realized that my error was that the values in the functions file were wrong. I got the card to transform, but the card types are still automatically set by the Planeswalkers Manager, so Sarkhan never becomes a creature; and even if he did, he would have the same issues as the original non-transforming Sarkhan and would count as a Planeswalker even when he isn't supposed to. I think it might be possible to work around the issue using nontoken creatures; but I would still need a way to store loyalty counters. Do you know of a good way to store loyalty counters; or should I just give up on trying to approximate Sarkhan, the Dragonspeaker?
Thanks again for all of your help with this!
Edit: I realized that my error was that the values in the functions file were wrong. I got the card to transform, but the card types are still automatically set by the Planeswalkers Manager, so Sarkhan never becomes a creature; and even if he did, he would have the same issues as the original non-transforming Sarkhan and would count as a Planeswalker even when he isn't supposed to. I think it might be possible to work around the issue using nontoken creatures; but I would still need a way to store loyalty counters. Do you know of a good way to store loyalty counters; or should I just give up on trying to approximate Sarkhan, the Dragonspeaker?
- Attachments
-
SARKHAN THE DRAGONSPEAKER Transform Cards (nonworking).zip
- (9.33 KiB) Downloaded 314 times
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by NeoAnderson » 06 Oct 2014, 22:44
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 :
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.
- 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 319 times
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by sweetLu » 07 Oct 2014, 01:30
Well I can think of a way to get copy effects to work but it would break some other interactions. Originally I didn't realize the creature version of Sarkhan, the Dragonspeaker lost the planeswalker type and gained legendary. That's why I was suggesting to just fix the planeswalker filter.
If you "ignore" the legendary aspect and fix the filters like I suggested the creature version of Sarkhan should work with copy effects. This has the downside that the creature won't be legendary (though you can still manager it to have one copy) and it will be targetable by cards targeting planeswalkers.
The transform version wouldn't have these downsides but it breaks interactions that care about a card's name and of course copy effects of the creature version.
I'll let you decide which version is "better" and leads to less actual poor interactions with how people actually use the card. More than likely nobody still run into problems with either. Neo's had the benefit of already being completed as well
.
If you "ignore" the legendary aspect and fix the filters like I suggested the creature version of Sarkhan should work with copy effects. This has the downside that the creature won't be legendary (though you can still manager it to have one copy) and it will be targetable by cards targeting planeswalkers.
The transform version wouldn't have these downsides but it breaks interactions that care about a card's name and of course copy effects of the creature version.
I'll let you decide which version is "better" and leads to less actual poor interactions with how people actually use the card. More than likely nobody still run into problems with either. Neo's had the benefit of already being completed as well

Re: Trying to fix Sarkhan, the Dragonspeaker
by NeoAnderson » 07 Oct 2014, 06:55
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.
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 319 times
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Trying to fix Sarkhan, the Dragonspeaker
by NeoAnderson » 07 Oct 2014, 10:42
As i was supposing Sarkhan, the Dragonspeaker ver 1.1 works fine when you copy the card from other zones but 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.
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 > 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 318 times
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
21 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 25 guests