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




Formal Request Thread
Moderator: CCGHQ Admins
Re: Formal Request Thread
by loookaz » 01 Sep 2013, 22:54
hi guys.
i am trying to make legacy(ish) Birthing Pod deck
the only 3 cards that i am missing are
Shriekmaw
Bone Shredder
and Wickerbough Elder
can someone help me?
thanks in advance
lucas
i am trying to make legacy(ish) Birthing Pod deck
the only 3 cards that i am missing are
Shriekmaw
Bone Shredder
and Wickerbough Elder
can someone help me?
thanks in advance
lucas
Najlepsze lekcje angielskiego w Warszawie:
http://www.englishwithlucas.com/
https://www.facebook.com/angielski.z.Lucasem
http://www.englishwithlucas.com/
https://www.facebook.com/angielski.z.Lucasem
- loookaz
- Posts: 131
- Joined: 01 Dec 2012, 10:56
- Location: Warsaw, Poland
- Has thanked: 22 times
- Been thanked: 2 times
Re: Formal Request Thread
by gorem2k » 02 Sep 2013, 21:06
requesting Gomazoa. (similar official card Void Stalker)
this would be a nice add-on for my Wake Thrasher deck.
thanks in advance!
this would be a nice add-on for my Wake Thrasher deck.
thanks in advance!
Re: Formal Request Thread
by Rari » 02 Sep 2013, 21:09
Stumped on a couple of goblin cards. Hopefully someone can help me solve these.
Skirk Drill Sergeant's trigger goes off and the MC happens, mana is paid, and then else happens.
Skirk Drill Sergeant's trigger goes off and the MC happens, mana is paid, and then else happens.
- Skirk Drill Sergeant (NOT WORKING) | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="RARI_SKIRK_DRILL_SERGEANT_157931" />
<CARDNAME text="SKIRK_DRILL_SERGEANT" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="157931" />
<ARTID value="RARI_157931" />
<ARTIST name="Alex Horley-Orlandelli" />
<CASTING_COST cost="{1}{R}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Goblin" />
<EXPANSION value="EVG" />
<RARITY metaname="U" />
<POWER value="2" />
<TOUGHNESS value="1" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta il Sergente Istruttore di Skirk o un altro Goblin muore, puoi pagare {2}{R}. Se lo fai, rivela la prima carta del tuo grimorio. Se è una carta permanente Goblin, mettila sul campo di battaglia. Altrimenti, mettila nel tuo cimitero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="objectyoucontrol" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_BATTLEFIELD">
return TriggerObject():GetSubType():Test( CREATURE_TYPE_GOBLIN )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local effectController = EffectController()
if effectController ~= nil then
effectController:BeginNewMultipleChoice()
effectController:AddMultipleChoiceAnswer( "CARD_QUERY_GOBLIN_PAY_MANA_COST", effectController:CanPayManaCost("{2}{R}") )
effectController:AddMultipleChoiceAnswer( "CARD_QUERY_GOBLIN_DO_NOT_PAY_MANA" )
effectController:AskMultipleChoiceQuestion( "CARD_QUERY_GOBLIN_QUESTION", EffectSource() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
EffectController():PayManaCost("{2}{R}")
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local card = EffectController():Library_GetTop()
if card ~= nil then
card:Reveal()
local cardtype = card:GetCardType()
if GetCardType():IsPermanent() then
card:PutOntoBattlefield( controller )
else
card:PutInGraveyard()
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
- Skirk Shaman (NOT WORKING) | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="RARI_SKIRK_SHAMAN_159055" />
<CARDNAME text="SKIRK_SHAMAN" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Skirk Shaman]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Skirk Shaman]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Skirk Shaman]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Skirk Shaman]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Skirk Shaman]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Skirk Shaman]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Skirk Shaman]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Skirk Shaman]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Skirk Shaman]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="159055" />
<ARTID value="RARI_159055" />
<ARTIST name="Chippy" />
<CASTING_COST cost="{1}{R}{R}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[In a shaman’s grimy hands, a concoction of dried Skirk Ridge herbs can become the face of panic.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[In a shaman’s grimy hands, a concoction of dried Skirk Ridge herbs can become the face of panic.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[In a shaman’s grimy hands, a concoction of dried Skirk Ridge herbs can become the face of panic.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[In a shaman’s grimy hands, a concoction of dried Skirk Ridge herbs can become the face of panic.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[In a shaman’s grimy hands, a concoction of dried Skirk Ridge herbs can become the face of panic.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[In a shaman’s grimy hands, a concoction of dried Skirk Ridge herbs can become the face of panic.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[In a shaman’s grimy hands, a concoction of dried Skirk Ridge herbs can become the face of panic.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[In a shaman’s grimy hands, a concoction of dried Skirk Ridge herbs can become the face of panic.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[In a shaman’s grimy hands, a concoction of dried Skirk Ridge herbs can become the face of panic.]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Goblin" />
<SUB_TYPE metaname="Shaman" />
<EXPANSION value="EVG" />
<RARITY metaname="C" />
<POWER value="2" />
<TOUGHNESS value="2" />
<TRIGGERED_ABILITY replacement_effect="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Skirk Shaman can’t be blocked except by artifact creatures and/or red creatures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Skirk Shaman can’t be blocked except by artifact creatures and/or red creatures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Skirk Shaman can’t be blocked except by artifact creatures and/or red creatures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Skirk Shaman can’t be blocked except by artifact creatures and/or red creatures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Lo Sciamano di Skirk non può essere bloccato tranne che da creature artefatto e/o creature rosse.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Skirk Shaman can’t be blocked except by artifact creatures and/or red creatures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Skirk Shaman can’t be blocked except by artifact creatures and/or red creatures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Skirk Shaman can’t be blocked except by artifact creatures and/or red creatures.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Skirk Shaman can’t be blocked except by artifact creatures and/or red creatures.]]></LOCALISED_TEXT>
<TRIGGER value="EVASION_TEST" simple_qualifier="self" pre_trigger="1">
return SecondaryObject():GetColour():Test(COLOUR_RED) ~= true and SecondaryObject():GetColour():Test(COLOUR_RED) ~= true and TriggerObject():GetSubType():Test( CREATURE_TYPE_ARTIFACT ) ~= true
</TRIGGER>
</TRIGGERED_ABILITY>
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
Please help yourself to my collection of DoTP artwork. Pretty cards for everyone!
Re: Formal Request Thread
by gorem2k » 02 Sep 2013, 21:28
Rari wrote:Skirk Drill Sergeant's trigger goes off and the MC happens, mana is paid, and then else happens.
- Skirk Drill Sergeant trigger | Open
- Code: Select all
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="objectyoucontrol" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_BATTLEFIELD">
return TriggerObject():GetSubType():Test( CREATURE_TYPE_GOBLIN )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local effectController = EffectController()
if effectController ~= nil then
effectController:BeginNewMultipleChoice()
effectController:AddMultipleChoiceAnswer( "CARD_QUERY_GOBLIN_PAY_MANA_COST", effectController:CanPayManaCost("{2}{R}") )
effectController:AddMultipleChoiceAnswer( "CARD_QUERY_GOBLIN_DO_NOT_PAY_MANA" )
effectController:AskMultipleChoiceQuestion( "CARD_QUERY_GOBLIN_QUESTION", EffectSource() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local answer = EffectController():GetMultipleChoiceResult()
if answer == 0 then
EffectController():PayManaCost("{2}{R}")
local card = EffectController():Library_GetTop()
if card ~= nil then
card:Reveal()
if card:GetSubType():Test( CREATURE_TYPE_GOBLIN ) then
card:PutOntoBattlefield( EffectController() )
else
card:PutInGraveyard()
end
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
Re: Formal Request Thread
by Rari » 02 Sep 2013, 21:46
I tried it (as shown below) and it doesn't fix the problemgorem2k wrote:EDIT: instead of card:Reveal() I think you can use card:GuidedReveal( card:GetZone(), ZONE_HAND )

(removed for clarity)
Last edited by Rari on 02 Sep 2013, 22:31, edited 1 time in total.
Please help yourself to my collection of DoTP artwork. Pretty cards for everyone!
Re: Formal Request Thread
by RiiakShiNal » 02 Sep 2013, 22:04
For Skirk Drill Sergeant, you had:
Also currently your effects do not depend on the choice the user made as to whether to pay or not, you have omitted any checking to get the user's choice. You have also omitted the check to see if it is a goblin card in addition to being a permanent.
The code provided by gorem2k looks good, though I haven't tested it.
- Code: Select all
card:PutOntoBattlefield( controller )
Also currently your effects do not depend on the choice the user made as to whether to pay or not, you have omitted any checking to get the user's choice. You have also omitted the check to see if it is a goblin card in addition to being a permanent.
The code provided by gorem2k looks good, though I haven't tested it.
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: 2188
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Formal Request Thread
by Rari » 02 Sep 2013, 22:32
Sorry, I didn't mean that to be confusing and I appreciate the help. gorem2k's code is running into the same problem mine was (Edit: it triggers, MCs, taps proper, but does nothing).
I'd removed the secondary check for goblin and MC answer in my original code to see if was hitting a snag somewhere in there (I've been stuck with this one for a few days) but I should have shared a more "whole" version of it.
EDIT EDIT: I tried swapping out the GetSubType():Test( CREATURE_TYPE_GOBLIN ) to GetCardType():Test( CARD_TYPE_CREATURE ) and I'm seeing success. So ... idk what to do about that yet.
I'd removed the secondary check for goblin and MC answer in my original code to see if was hitting a snag somewhere in there (I've been stuck with this one for a few days) but I should have shared a more "whole" version of it.
EDIT EDIT: I tried swapping out the GetSubType():Test( CREATURE_TYPE_GOBLIN ) to GetCardType():Test( CARD_TYPE_CREATURE ) and I'm seeing success. So ... idk what to do about that yet.
Please help yourself to my collection of DoTP artwork. Pretty cards for everyone!
Re: Formal Request Thread
by Rari » 02 Sep 2013, 23:07
Thank you both very much for your input with this one!
- Skirk Drill Sergeant (WORKING) | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="RARI_SKIRK_DRILL_SERGEANT_157931" />
<CARDNAME text="SKIRK_DRILL_SERGEANT" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Skirk Drill Sergeant]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="157931" />
<ARTID value="RARI_157931" />
<ARTIST name="Alex Horley-Orlandelli" />
<CASTING_COST cost="{1}{R}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“I order you to volunteer.”]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Goblin" />
<EXPANSION value="EVG" />
<RARITY metaname="U" />
<POWER value="2" />
<TOUGHNESS value="1" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta il Sergente Istruttore di Skirk o un altro Goblin muore, puoi pagare {2}{R}. Se lo fai, rivela la prima carta del tuo grimorio. Se è una carta permanente Goblin, mettila sul campo di battaglia. Altrimenti, mettila nel tuo cimitero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it’s a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="objectyoucontrol" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_BATTLEFIELD">
return TriggerObject():GetSubType():Test( CREATURE_TYPE_GOBLIN )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local controller = EffectController()
if controller ~= nil and controller:CanPayManaCost("{2}{R}") then
controller:BeginNewMultipleChoice()
controller:AddMultipleChoiceAnswer( "UI_CONDITIONAL_QUESTION_YES", controller:CanPayManaCost("{2}{R}") )
controller:AddMultipleChoiceAnswer("UI_CONDITIONAL_QUESTION_NO")
controller:AskMultipleChoiceQuestion( "OPTIONAL_ABILITY_QUESTION", TriggerObject() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local answer = EffectController():GetMultipleChoiceResult()
if answer == 0 then
EffectController():PayManaCost("{2}{R}")
local card = EffectController():Library_GetTop()
if card ~= nil then
card:Reveal()
if card:GetCardType():IsPermanent() and card:GetSubType():Test( CREATURE_TYPE_GOBLIN ) then
card:PutOntoBattlefield( EffectController() )
else
card:PutInGraveyard()
end
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
Please help yourself to my collection of DoTP artwork. Pretty cards for everyone!
Re: Formal Request Thread
by gorem2k » 02 Sep 2013, 23:38
- Skirk Drill Sergeant trigger | Open
- Code: Select all
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="objectyoucontrol" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_BATTLEFIELD">
return TriggerObject():GetSubType():Test( CREATURE_TYPE_GOBLIN )
</TRIGGER>
<INTERVENING_IF>
return EffectController():CanPayManaCost("{2}{R}")
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
local controller = EffectController()
if controller ~= nil then
controller:BeginNewMultipleChoice()
controller:AddMultipleChoiceAnswer( "UI_CONDITIONAL_QUESTION_YES")
controller:AddMultipleChoiceAnswer("UI_CONDITIONAL_QUESTION_NO")
controller:AskMultipleChoiceQuestion( "OPTIONAL_ABILITY_QUESTION", TriggerObject() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local answer = EffectController():GetMultipleChoiceResult()
if answer == 0 then
EffectController():PayManaCost("{2}{R}")
local card = EffectController():Library_GetTop()
if card ~= nil then
card:GuidedReveal( card:GetZone(), ZONE_HAND )
if card:GetSubType():Test( CREATURE_TYPE_GOBLIN ) then
card:PutOntoBattlefield( EffectController() )
else
card:PutInGraveyard()
end
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
- Skirk Shaman trigger | Open
- Code: Select all
<TRIGGER value="EVASION_TEST" simple_qualifier="self" pre_trigger="1">
return SecondaryObject():GetColour():Test(COLOUR_RED) == false and SecondaryObject():GetCardType():Test(CARD_TYPE_ARTIFACT) == false
</TRIGGER>
practice makes perfect

Re: Formal Request Thread
by gigelf » 03 Sep 2013, 03:11
Can somebody Help me out with Sekki, Seasons' Guide. Not sure what I did wrong but I can't get the replacement ability to function correctly. It either generates 100 spirits, or none. Most recently, it has been dieing to things that shouldn't kill it, (ie not enough damage).
- Sekki, Seasons' Guide | Open
- Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="SEKKI_SEASONS_GUIDE_111074471" />
<CARDNAME text="SEKKI_SEASONS_GUIDE" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sekki, Seasons’ Guide]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sekki, le guide des saisons]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sekki, guía de las estaciones]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sekki, Lenker der Jahreszeiten]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sekki, Guida delle Stagioni]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[季節の導き、節貴]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Sekki, Seasons’ Guide]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Sekki, Seasons’ Guide]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sekki, Guia das Estações]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="111074471" />
<ARTID value="111074471" />
<ARTIST name="Kev Walker" />
<CASTING_COST cost="{5}{G}{G}{G}" />
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Spirit" />
<EXPANSION value="SOK" />
<RARITY metaname="R" />
<POWER value="0" />
<TOUGHNESS value="0" />
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sekki, Seasons’ Guide enters the battlefield with eight +1/+1 counters on it.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sekki, le guide des saisons arrive en jeu avec sur lui huit marqueurs +1/+1.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sekki, guía de las estaciones entra en juego con ocho contadores +1/+1 sobre él.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sekki, Lenker der Jahreszeiten, kommt mit acht +1/+1-Marken ins Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sekki, Guida delle Stagioni entra sul campo di battaglia con otto segnalini +1/+1.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[季節の導き、節貴は+1/+1カウンターを8個置いた状態で場に出る。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Sekki, Seasons’ Guide enters the battlefield with eight +1/+1 counters on it.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Sekki, Seasons’ Guide enters the battlefield with eight +1/+1 counters on it.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sekki, Guia das Estações entra em jogo com oito marcadores +1/+1.]]></LOCALISED_TEXT>
<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():PlusOnePlusOneCounters(), 8 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If damage would be dealt to Sekki, prevent that damage, remove that many +1/+1 counters from Sekki, and put that many 1/1 colorless Spirit creature tokens onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si des blessures devaient être infligées à Sekki, le guide des saisons, prévenez ces blessures, retirez ce même nombre de marqueurs +1/+1 de Sekki, et mettez en jeu ce même nombre de jetons de créature 1/1 incolore Esprit.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Si se le fuera a hacer daño a Sekki, prevén ese daño, remueve esa cantidad de contadores +1/+1 de Sekki, y pon en juego esa cantidad de fichas de criatura Espíritu incoloras 1/1.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Falls Sekki Schaden zugefügt würde, verhindere diesen Schaden, entferne entsprechend viele +1/+1-Marken von Sekki und bringe entsprechend viele 1/1 farblose Geist-Spielsteine ins Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se sta per essere inflitto danno a Sekki, previeni quel danno, rimuovi altrettanti segnalini +1/+1 da Sekki e metti sul campo di battaglia altrettante pedine creatura Spirito 1/1 incolori.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[季節の導き、節貴にダメージが与えられる場合、そのダメージをすべて軽減して0にし、季節の導き、節貴の上からその点数に等しい個数の+1/+1カウンターを取り除き、無色の1/1のスピリット・クリーチャー・トークンをその点数に等しい数場に出す。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If damage would be dealt to Sekki, prevent that damage, remove that many +1/+1 counters from Sekki, and put that many 1/1 colorless Spirit creature tokens onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[If damage would be dealt to Sekki, prevent that damage, remove that many +1/+1 counters from Sekki, and put that many 1/1 colorless Spirit creature tokens onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Se dano seria causado a Sekki, previna esse dano, remova essa quantidade de marcadores +1/+1 de Sekki, e coloque em jogo essa mesma quantidade de fichas de criatura incolor 1/1 do tipo Espírito.]]></LOCALISED_TEXT>
<TRIGGER value="OBJECT_TAKES_DAMAGE" simple_qualifier="self" pre_trigger="1" damage_type="all" />
<RESOLUTION_TIME_ACTION>
local damage = Damage()
local effectSource = EffectSource()
if (damage ~= nil) and (effectSource ~= nil) then
if damage:GetAmount() > effectSource:CountCounters(MTG():PlusOnePlusOneCounters()) then
damage:PreventAll()
effectSource:RemoveCounters(MTG():PlusOnePlusOneCounters(), effectSource:CountCounters(MTG():PlusOnePlusOneCounters()) )
MTG():PutTokensOntoBattlefield( "TOKEN_SPIRIT_1_1_W_F_1111000004", MTG():PlusOnePlusOneCounters(), EffectController() )
else
effectSource:RemoveCounters(MTG():PlusOnePlusOneCounters(),effectSource:CountCounters(MTG():PlusOnePlusOneCounters()),damage:PreventAll() )
MTG():PutTokensOntoBattlefield( "TOKEN_SPIRIT_1_1_W_F_1111000004", MTG():PlusOnePlusOneCounters(), EffectController() )
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<ACTIVATED_ABILITY active_zone="ZONE_GRAVEYARD">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sacrifice eight Spirits: Return Sekki from your graveyard to the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sacrifiez huit esprits : Renvoyez en jeu Sekki, le guide des saisons depuis votre cimetière.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sacrificar ocho Espíritus: Regresa a Sekki de tu cementerio al juego.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Opfere acht Geister: Bringe Sekki aus deinem Friedhof ins Spiel zurück.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sacrifica otto Spiriti: Rimetti sul campo di battaglia Sekki dal tuo cimitero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[スピリットを8体生け贄に捧げる:季節の導き、節貴をあなたの墓地から場に戻す。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Sacrifice eight Spirits: Return Sekki from your graveyard to the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Sacrifice eight Spirits: Return Sekki from your graveyard to the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sacrifique oito Espíritos: Devolve Sekki de seu cemitério para o jogo.]]></LOCALISED_TEXT>
<COST type="Sacrifice" definition="0" compartment="1" query_tag="CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE" item_count="8" />
<COST_DEFINITION id="0">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SPIRIT )
filter:Add(FE_CONTROLLER, OP_IS, EffectController() )
</COST_DEFINITION>
<RESOLUTION_TIME_ACTION>
local effectSource = EffectSource()
if effectSource ~= nil then
effectSource:PutOntoBattlefield( EffectController() )
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
<TOKEN_REGISTRATION reservation="1" type="TOKEN_SPIRIT_1_1_W_F_1111000004" />
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
Re: Formal Request Thread
by gorem2k » 03 Sep 2013, 06:48
gigelf wrote:Can somebody Help me out with Sekki, Seasons' Guide. Not sure what I did wrong but I can't get the replacement ability to function correctly. It either generates 100 spirits, or none. Most recently, it has been dieing to things that shouldn't kill it, (ie not enough damage).
- Sekki trigger + ability | Open
- Code: Select all
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sekki, Seasons’ Guide enters the battlefield with eight +1/+1 counters on it.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sekki, le guide des saisons arrive en jeu avec sur lui huit marqueurs +1/+1.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sekki, guía de las estaciones entra en juego con ocho contadores +1/+1 sobre él.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Sekki, Lenker der Jahreszeiten, kommt mit acht +1/+1-Marken ins Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sekki, Guida delle Stagioni entra sul campo di battaglia con otto segnalini +1/+1.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[季節の導き、節貴は+1/+1カウンターを8個置いた状態で場に出る。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Sekki, Seasons’ Guide enters the battlefield with eight +1/+1 counters on it.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Sekki, Seasons’ Guide enters the battlefield with eight +1/+1 counters on it.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sekki, Guia das Estações entra em jogo com oito marcadores +1/+1.]]></LOCALISED_TEXT>
<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():PlusOnePlusOneCounters(), 8 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If damage would be dealt to Sekki, prevent that damage, remove that many +1/+1 counters from Sekki, and put that many 1/1 colorless Spirit creature tokens onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si des blessures devaient être infligées à Sekki, le guide des saisons, prévenez ces blessures, retirez ce même nombre de marqueurs +1/+1 de Sekki, et mettez en jeu ce même nombre de jetons de créature 1/1 incolore Esprit.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Si se le fuera a hacer daño a Sekki, prevén ese daño, remueve esa cantidad de contadores +1/+1 de Sekki, y pon en juego esa cantidad de fichas de criatura Espíritu incoloras 1/1.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Falls Sekki Schaden zugefügt würde, verhindere diesen Schaden, entferne entsprechend viele +1/+1-Marken von Sekki und bringe entsprechend viele 1/1 farblose Geist-Spielsteine ins Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se sta per essere inflitto danno a Sekki, previeni quel danno, rimuovi altrettanti segnalini +1/+1 da Sekki e metti sul campo di battaglia altrettante pedine creatura Spirito 1/1 incolori.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[季節の導き、節貴にダメージが与えられる場合、そのダメージをすべて軽減して0にし、季節の導き、節貴の上からその点数に等しい個数の+1/+1カウンターを取り除き、無色の1/1のスピリット・クリーチャー・トークンをその点数に等しい数場に出す。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If damage would be dealt to Sekki, prevent that damage, remove that many +1/+1 counters from Sekki, and put that many 1/1 colorless Spirit creature tokens onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[If damage would be dealt to Sekki, prevent that damage, remove that many +1/+1 counters from Sekki, and put that many 1/1 colorless Spirit creature tokens onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Se dano seria causado a Sekki, previna esse dano, remova essa quantidade de marcadores +1/+1 de Sekki, e coloque em jogo essa mesma quantidade de fichas de criatura incolor 1/1 do tipo Espírito.]]></LOCALISED_TEXT>
<TRIGGER value="OBJECT_TAKES_DAMAGE" simple_qualifier="self" pre_trigger="1" damage_type="all" />
<RESOLUTION_TIME_ACTION>
if TriggerObject() ~= nil then
local amount = Damage():GetAmount()
MTG():PutTokensOntoBattlefield( "TOKEN_SPIRIT_1_1_W_F_350803", amount, EffectController() ) -- should be 1/1 colorless token without flying.
TriggerObject():RemoveCounters(MTG():PlusOnePlusOneCounters(), Damage():PreventAll() )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<ACTIVATED_ABILITY active_zone="ZONE_GRAVEYARD">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Sacrifice eight Spirits: Return Sekki from your graveyard to the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Sacrifiez huit esprits : Renvoyez en jeu Sekki, le guide des saisons depuis votre cimetière.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Sacrificar ocho Espíritus: Regresa a Sekki de tu cementerio al juego.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Opfere acht Geister: Bringe Sekki aus deinem Friedhof ins Spiel zurück.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Sacrifica otto Spiriti: Rimetti sul campo di battaglia Sekki dal tuo cimitero.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[スピリットを8体生け贄に捧げる:季節の導き、節貴をあなたの墓地から場に戻す。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Sacrifice eight Spirits: Return Sekki from your graveyard to the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Sacrifice eight Spirits: Return Sekki from your graveyard to the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Sacrifique oito Espíritos: Devolve Sekki de seu cemitério para o jogo.]]></LOCALISED_TEXT>
<COST type="Sacrifice" definition="0" compartment="1" query_tag="CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE" item_count="8" />
<COST_DEFINITION id="0">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add( FE_SUBTYPE, OP_IS, CREATURE_TYPE_SPIRIT )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
</COST_DEFINITION>
<RESOLUTION_TIME_ACTION>
local effectSource = EffectSource()
if effectSource ~= nil then
effectSource:PutOntoBattlefield( EffectController() )
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
Re: Formal Request Thread
by thefiremind » 03 Sep 2013, 08:44
The problem is that this way it won't even trigger when you don't have enough mana, which might be a problem if someone plans to use the card with manual mana. The trigger condition should also be slightly different: I was making the same mistake on my Vampires, but "Whenever <this> or another <creature type>" means that if <this> loses all creature types (due to Amoeboid Changeling for example) it should still trigger. This is how I would code it:gorem2k wrote:I've added an intervening_if, just for convenience, if you don't have enough mana, it won't ask for the question. I've tried to put a CanPayManaCost inside the "return" but it would still ask the question!
- Skirk Drill Sergeant trigger | Open
- Code: Select all
<TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="objectyoucontrol" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_BATTLEFIELD">
return TriggerObject() == EffectSource() or TriggerObject():GetSubType():Test(CREATURE_TYPE_GOBLIN)
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local controller = EffectController()
if controller ~= nil and controller:CanPayManaCost("{2}{R}") then
controller:BeginNewMultipleChoice()
controller:AddMultipleChoiceAnswer( "UI_CONDITIONAL_QUESTION_YES", controller:CanPayManaCost("{2}{R}") ) -- the check is redundant here but I like to put it in anyway
controller:AddMultipleChoiceAnswer("UI_CONDITIONAL_QUESTION_NO")
controller:AskMultipleChoiceQuestion( "OPTIONAL_ABILITY_QUESTION", TriggerObject() )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local controller = EffectController()
if controller ~= nil and controller:CanPayManaCost("{2}{R}") and controller:GetMultipleChoiceResult() == 0 then
controller:PayManaCost("{2}{R}")
local card = controller:Library_GetTop()
if card ~= nil then
if card:GetType():IsPermanent() and card:GetSubType():Test(CREATURE_TYPE_GOBLIN) then
-- no need for guided reveal, everyone will see it on the battlefield
card:PutOntoBattlefield(controller)
else
card:GuidedReveal(ZONE_LIBRARY, ZONE_GRAVEYARD)
card:PutInGraveyard()
end
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
< 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 gorem2k » 03 Sep 2013, 19:13
need some help with Gomazoa. I thought about marking player in MarkForFilter but seems strange that there's only SetMarkedObjectsOnly() and NO SetMarkedPlayersOnly() existing...
After all, there's EvaluatePlayers(), so I don't even know if we can make use of marking "players".
My code here is untested, I don't even dare to test this
it's all written without copy/paste from example, because I have no idea which cards to use for base idea. is making a delaydc for shuffling a good idea ?
After all, there's EvaluatePlayers(), so I don't even know if we can make use of marking "players".
My code here is untested, I don't even dare to test this

- Gomazoa | Open
- Code: Select all
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Put Gomazoa and each creature it’s blocking on top of their owners’ libraries, then those players shuffle their libraries.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_IS_BLOCKING, true)
</FILTER>
<RESOLUTION_TIME_ACTION filter_id="0">
if FilteredCard() ~= nil and FilteredCard():GetBlockVictim() == EffectSource() then
local player = FilteredCard():GetOwner()
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_PlayerPtr(0, player)
MTG():CreateDelayedTrigger(1, delayDC)
FilteredCard():PutOnTopOfLibrary()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
EffectSource():PutOnTopOfLibrary()
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
<TRIGGERED_ABILITY resource_id="1" replacement_effect="1">
<CLEANUP fire_once="1" />
<TRIGGER value="ABILITY_RESOLVED" simple_qualifier="self" />
<RESOLUTION_TIME_ACTION>
local number = MTG():GetNumberOfPlayers()
for i=0,(number-1) do
local player = MTG():GetNthPlayer(i)
if player ~= nil then
player:ShuffleLibrary()
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
Re: Formal Request Thread
by RiiakShiNal » 03 Sep 2013, 20:48
It would probably be better to use filter evaluation instead of a FILTER block, the reasons are:
You should probably avoid creating a delayed trigger here because if Gomazoa somehow becomes able to block 2 or more creatures then if it blocks two or more creatures owned by a single player then that player would end up shuffling the library two or more times when according to Gomazoa they should only shuffle once. Ultimately you're going to have to save off the owning players into a DC while making sure you don't put more than one copy of a single player in the DC then in a separate RESOLUTION_TIME_ACTION (since shuffling should happen in a different action than putting the creatures on the top of the library) you loop through the players in that DC and have each of them shuffle their libraries once.
It may be possible to make limiting the players put into the DC easier by using an array keyed off of a player instance that contains the value true if the player has already been added to the DC.
- With filter evaluation you can run through all the cards being blocked in a loop, allowing you to test them all in a single RESOLUTION_TIME_ACTION block.
- The EffectDC you use in a single RESOLUTION_TIME_ACTION (without filter) can then be reused in the next block (again without filter).
- According to the rules all creatures should be put on the top of their owners' libraries simultaneously and the best way to simulate this in DotP is by putting them all on top of their owners' libraries in a single RESOLUTION_TIME_ACTION.
You should probably avoid creating a delayed trigger here because if Gomazoa somehow becomes able to block 2 or more creatures then if it blocks two or more creatures owned by a single player then that player would end up shuffling the library two or more times when according to Gomazoa they should only shuffle once. Ultimately you're going to have to save off the owning players into a DC while making sure you don't put more than one copy of a single player in the DC then in a separate RESOLUTION_TIME_ACTION (since shuffling should happen in a different action than putting the creatures on the top of the library) you loop through the players in that DC and have each of them shuffle their libraries once.
It may be possible to make limiting the players put into the DC easier by using an array keyed off of a player instance that contains the value true if the player has already been added to the DC.
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: 2188
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: Formal Request Thread
by gorem2k » 03 Sep 2013, 21:29
Ok. thanks for the advices RiiakShiNal!
I knew this would be hard to do, but now I find it even more difficult (if I want it to be near rule-compliant). not because you explain bad but because it implies functions I'm not accustomed with.
I guess this will end up low priority , due to its sheer complexity.
EDIT: just looked to Cone of Flame, the only card that use FE_PLAYER_INSTANCE. maybe this would be a good start?
I knew this would be hard to do, but now I find it even more difficult (if I want it to be near rule-compliant). not because you explain bad but because it implies functions I'm not accustomed with.
I guess this will end up low priority , due to its sheer complexity.
EDIT: just looked to Cone of Flame, the only card that use FE_PLAYER_INSTANCE. maybe this would be a good start?
Who is online
Users browsing this forum: No registered users and 28 guests