Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels)
2014
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels)
2014
Formal Request Thread
Moderator: CCGHQ Admins
Re: Formal Request Thread
by Xander9009 » 30 Sep 2014, 11:08
Grant it pseudo-flash like you were saying. Give it a triggered ability that triggers when it's cast and it is NOT one of your main phases. In that triggered ability, start a delayed trigger which triggers on the cleanup step. In that triggered ability, force it to be sacrificed. I don't think you need to protect the pointer since it only triggers itself, but because it's changing zones this might not work. However, I'm pretty sure it will because I'm fairly sure changing zones is only a problem for referring to other cards.
I would have a look at Crumbling Colossus.
I would have a look at Crumbling Colossus.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-

Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Formal Request Thread
by thefiremind » 30 Sep 2014, 11:55
Remember that there's a shorter way to check for sorcery time:Xander9009 wrote:Give it a triggered ability that triggers when it's cast and it is NOT one of your main phases.
- Code: Select all
EffectController():IsSorceryTime()
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-

thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by Xander9009 » 30 Sep 2014, 12:02
I don't recall seeing that (probably did, but I don't remember it).thefiremind wrote:Remember that there's a shorter way to check for sorcery time:returns true when it's sorcery time for the effect controller (for this scenario you check for it being false).
- Code: Select all
EffectController():IsSorceryTime()
Also, it's worth noting that the rules for Armor of Thorns states that if it's cast through some other effect such as Vedalken Orrery granting it flash, then it is not sacrificed. I don't know of a way to prevent that. Hopefully it's rare enough to not matter a great deal.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-

Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Formal Request Thread
by thefiremind » 30 Sep 2014, 13:18
This is interesting, I would have thought it didn't matter if you cast it through its own ability or through other means. I would consider searching for a solution similar to the official Qasali Ambusher, where there's a UTILITY_ABILITY with ignore_timing="1" that allows players to cast it as though it had flash... the problem is that Qasali Ambusher's ability is an alternative cost but Armor of Thorns' is not, so I wouldn't know where to put the creation of the delayed trigger.Xander9009 wrote:Also, it's worth noting that the rules for Armor of Thorns states that if it's cast through some other effect such as Vedalken Orrery granting it flash, then it is not sacrificed. I don't know of a way to prevent that. Hopefully it's rare enough to not matter a great deal.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-

thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by Blue Ghost » 30 Sep 2014, 20:30
Can someone help with Deflecting Palm? I haven't been able to find it or any cards similar to it. Thanks.
- Blue Ghost
- Posts: 52
- Joined: 07 Apr 2013, 20:41
- Has thanked: 6 times
- Been thanked: 0 time
Re: Formal Request Thread
by NeoAnderson » 30 Sep 2014, 21:05
I have coded it inside khans set, but i still have to finish the testing phase i think i can release the set tomorrow, i also have to write the morph localized text, hope to have enough time to do it.Blue Ghost wrote:Can someone help with Deflecting Palm? I haven't been able to find it or any cards similar to it. Thanks.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: Formal Request Thread
by MasterXploder7 » 02 Oct 2014, 01:16
Hey. Does anyone think they could code Selective Memory ? if used with the new 2015 blue legendary Jalira, Master Polymorphist it would be well used.
And Vorinclex, The Voice of Hunger i know the second ability may not work as planned, but in my comedic defense my AI decides they want to tap a land for no apparent reason then dang it they need to live with the consequences!
And Vorinclex, The Voice of Hunger i know the second ability may not work as planned, but in my comedic defense my AI decides they want to tap a land for no apparent reason then dang it they need to live with the consequences!
"Hate is an everlasting wellspring from which it is eternally sustained." - Nirkana Revenant
- MasterXploder7
- Posts: 293
- Joined: 18 Jan 2014, 10:55
- Has thanked: 28 times
- Been thanked: 11 times
Re: Formal Request Thread
by Dnt312 » 03 Oct 2014, 10:13
Hi, I'm having trouble coding Thousand-Year Elixir. I've done with the second ability and it works fine, unlike the first ability. It seems like there is no card with similar effect. Please help 
Re: Formal Request Thread
by RiiakShiNal » 03 Oct 2014, 10:32
I believe the only way to make it possible to activate abilities as though the creature has haste is to actually give the creature haste which will cause interaction problems (creature should not be able to attack, cards that care about haste would count the creature as having haste even though it shouldn't, etc...). We have a characteristic for attacking as though the creature has haste, but not for activating abilities.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2189
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Formal Request Thread
by Dnt312 » 03 Oct 2014, 14:43
Thank you. I intended to use Thousand-Year Elixir for my tapping Elf deck, but then I found Concordant Crossroads and I think it's a nice replacement (though it gives advantages to the opponents as well)RiiakShiNal wrote:I believe the only way to make it possible to activate abilities as though the creature has haste is to actually give the creature haste which will cause interaction problems (creature should not be able to attack, cards that care about haste would count the creature as having haste even though it shouldn't, etc...). We have a characteristic for attacking as though the creature has haste, but not for activating abilities.
Sorry for bothering you again, but can you help me to code Creeping Renaissance (or Praetor's Counsel)?
Re: Formal Request Thread
by thefiremind » 03 Oct 2014, 18:10
Praetor's Counsel is pretty easy, just do what it says:Dnt312 wrote:Creeping Renaissance (or Praetor's Counsel)
- Praetor's Counsel's spell ability (untested) | Open
- Code: Select all
<SPELL_ABILITY>
-- Localised text omitted
<RESOLUTION_TIME_ACTION>
if EffectController() ~= nil then
EffectController():MoveLocalZone(ZONE_GRAVEYARD, ZONE_HAND)
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():Exile()
end
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="8">
if EffectController() ~= nil then
EffectController():GetCurrentCharacteristics():Bool_Set(PLAYER_CHARACTERISTIC_NO_HAND_LIMIT, 1)
end
</CONTINUOUS_ACTION>
<DURATION>
return EffectController() == nil
</DURATION>
</SPELL_ABILITY>
- Creeping Renaissance's spell ability (untested) | Open
- Code: Select all
<SPELL_ABILITY>
-- Localised text omitted
<RESOLUTION_TIME_ACTION>
-- The permanent types are artifact, creature, enchantment, land, and planeswalker.
local controller = EffectController()
if controller ~= nil then
controller:BeginNewMultipleChoice()
controller:AddMultipleChoiceAnswer("CARD_TYPE_ARTIFACT")
controller:AddMultipleChoiceAnswer("CARD_TYPE_CREATURE")
controller:AddMultipleChoiceAnswer("CARD_TYPE_ENCHANTMENT")
controller:AddMultipleChoiceAnswer("CARD_TYPE_LAND")
controller:AddMultipleChoiceAnswer("CARD_TYPE_PLANESWALKER")
controller:AskMultipleChoiceQuestion("CARD_QUERY_MC_CHOOSE_PERMANENT_TYPE")
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local controller = EffectController()
if controller ~= nil then
local decision = controller:GetMultipleChoiceResult()
if decision >= CARD_TYPE_INSTANT then
decision = decision + 1 -- this aligns the decision variable with the card types constants by skipping CARD_TYPE_INSTANT
end
local filter = ClearFilter()
filter:SetZone(ZONE_GRAVEYARD, controller)
filter:Add(FE_TYPE, OP_IS, decision)
if decision == CARD_TYPE_ENCHANTMENT and PLW_FilterNameSet ~= nil then
PLW_FilterNameSet(filter, "PLANESWALKERS", false) -- this skips Planeswalkers when choosing Enchantment if using the PLW mod
end
local count = filter:EvaluateObjects()
for i=0,count-1 do
local card = filter:GetNthEvaluatedObject(i)
if card ~= nil then
card:PutInHand()
end
end
end
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
For flashback, just copy the flashback part from another card and change the cost accordingly.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-

thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: Formal Request Thread
by Dnt312 » 04 Oct 2014, 09:44
Thank you. I added flashback and tested 2 card, and both of them worked well !!!thefiremind wrote:Praetor's Counsel is pretty easy, just do what it says:Creeping Renaissance requires a little bit more work, you need to make a query that asks which permanent type you want:
- Praetor's Counsel's spell ability (untested) | Open
- Code: Select all
<SPELL_ABILITY>
-- Localised text omitted
<RESOLUTION_TIME_ACTION>
if EffectController() ~= nil then
EffectController():MoveLocalZone(ZONE_GRAVEYARD, ZONE_HAND)
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectSource():Exile()
end
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="8">
if EffectController() ~= nil then
EffectController():GetCurrentCharacteristics():Bool_Set(PLAYER_CHARACTERISTIC_NO_HAND_LIMIT, 1)
end
</CONTINUOUS_ACTION>
<DURATION>
return EffectController() == nil
</DURATION>
</SPELL_ABILITY>It should be compatible with the Planeswalkers Pool.
- Creeping Renaissance's spell ability (untested) | Open
- Code: Select all
<SPELL_ABILITY>
-- Localised text omitted
<RESOLUTION_TIME_ACTION>
-- The permanent types are artifact, creature, enchantment, land, and planeswalker.
local controller = EffectController()
if controller ~= nil then
controller:BeginNewMultipleChoice()
controller:AddMultipleChoiceAnswer("CARD_TYPE_ARTIFACT")
controller:AddMultipleChoiceAnswer("CARD_TYPE_CREATURE")
controller:AddMultipleChoiceAnswer("CARD_TYPE_ENCHANTMENT")
controller:AddMultipleChoiceAnswer("CARD_TYPE_LAND")
controller:AddMultipleChoiceAnswer("CARD_TYPE_PLANESWALKER")
controller:AskMultipleChoiceQuestion("CARD_QUERY_MC_CHOOSE_PERMANENT_TYPE")
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local controller = EffectController()
if controller ~= nil then
local decision = controller:GetMultipleChoiceResult()
if decision >= CARD_TYPE_INSTANT then
decision = decision + 1 -- this aligns the decision variable with the card types constants by skipping CARD_TYPE_INSTANT
end
local filter = ClearFilter()
filter:SetZone(ZONE_GRAVEYARD, controller)
filter:Add(FE_TYPE, OP_IS, decision)
if decision == CARD_TYPE_ENCHANTMENT and PLW_FilterNameSet ~= nil then
PLW_FilterNameSet(filter, "PLANESWALKERS", false) -- this skips Planeswalkers when choosing Enchantment if using the PLW mod
end
local count = filter:EvaluateObjects()
for i=0,count-1 do
local card = filter:GetNthEvaluatedObject(i)
if card ~= nil then
card:PutInHand()
end
end
end
</RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
For flashback, just copy the flashback part from another card and change the cost accordingly.
Re: Formal Request Thread
by fallenangle » 04 Oct 2014, 17:01
Neo suggested that maybe if I used a transform ability with Sarkhan, the Dragonspeaker, that would make his first ability work more in compliance with the rules. I've tried editing his first ability to make him transform into a Dragon token with the requisite characteristics, but I can't seem to get it to work and am not sure where the problem lies on the two cards I want to use (Sarkhan and the token). If anyone who knows transform well can take a look at my code and point out where and how I've gone wrong, I would be very grateful. Thanks in advance for all of your help!
Edit: I've revised the Sarkhan code to this for the first ability, but it still doesn't work:
Edit: I've revised the Sarkhan code to this for the first ability, but it still doesn't work:
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="SARKHAN_THE_DRAGONSPEAKER_991386650" />
<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="991386650" />
<ARTID value="991386650" />
<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" />
<TOKEN_REGISTRATION reservation="1" type="_TOKEN_DRAGON_4_4_R_F_199363658" />
<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>
TFM_Transform().DoCardRegistration_Resolution1("_TOKEN_DRAGON_4_4_R_F_199363658")
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
TFM_Transform().DoCardRegistration_Resolution2()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
<RESOLUTION_TIME_ACTION>
TFM_Transform().ResetTransformation()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="1">
TFM_Transform().ContinuousAction()
</CONTINUOUS_ACTION>
</STATIC_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>
TFM_Transform().DoTransformation( EffectSource() )
</RESOLUTION_TIME_ACTION>
<AVAILABILITY sorcery_time="1" />
</ACTIVATED_ABILITY>
<SFX text="GLOBAL_MAGMA_PLAY" />
<DURATION simple_duration="UntilEOT" />
<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="_PLANESWALKERS_MANAGER_991800002" />
<AI_COUNTER_SCORE type="Loyalty" score="100" />
<AI_BASE_SCORE score="600" zone="ZONE_BATTLEFIELD" />
</CARD_V2>
- Attachments
-
SARKHAN THE DRAGONSPEAKER Transform Cards (nonworking).zip- (7.37 KiB) Downloaded 320 times
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Formal Request Thread
by sweetLu » 05 Oct 2014, 01:48
Without recoding all cards that that involve searching a library, no it is not possible.Hacker85 wrote:is this card possible Shadow of Doubt?
The transformation code is pretty complex. I don't know how many people outside of TFM are familiar enough with the code to help you troubleshoot it. I know I cannot do it. But this approximation could give you some poor interactions as well since it will have a different name.fallenangle wrote:Neo suggested that maybe if I used a transform ability with Sarkhan, the Dragonspeaker, that would make his first ability work more in compliance with the rules. I've tried editing his first ability to make him transform into a Dragon token with the requisite characteristics, but I can't seem to get it to work and am not sure where the problem lies on the two cards I want to use (Sarkhan and the token). If anyone who knows transform well can take a look at my code and point out where and how I've gone wrong, I would be very grateful. Thanks in advance for all of your help!
Did you have a chance to try my suggestion in your other thread? I think if we can adjust the filter to creature Sarkhans and non-creature Sarkhans as different entities we should be alright. And I believe that snippet I posted would be an alright first shot to see if it would even work. If the concept works I don't think it will be too hard to make it a little more rule compliant. I thought about it in the car today and to account for other versions of Sarkhan, I think we'd just have to change the if statement to return true when the card has the Sarkhan Plansewalker type instead of the name Sarkhan, the Dragonspeaker. I'll try to find some time to test it tomorrow night after I get home.
Who is online
Users browsing this forum: No registered users and 8 guests