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)



Card Creation Request Thread
User-made mods in DLC (Downloadable Content) form.
Get MTG cards here for your DotP that aren't available anywhere else!
Get MTG cards here for your DotP that aren't available anywhere else!
Moderator: CCGHQ Admins
Re: Card Creation Request Thread
by RiiakShiNal » 07 Jul 2013, 13:27
There is no way to reduce activation costs in DotP 2013 so I'm afraid Auriok Steelshaper is impossible to make.AriesKiki wrote:Hi, may I request Auriok Steelshaper for DoTP2013? Thanks in advance!
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: Card Creation Request Thread
by Rickycoe123 » 12 Jul 2013, 19:26
Hey guys,
I can only assume that the Genju of the Falls cant be coded?
I am in dire need of this card.
I can only assume that the Genju of the Falls cant be coded?
I am in dire need of this card.
- Rickycoe123
- Posts: 138
- Joined: 14 Mar 2013, 22:44
- Has thanked: 1 time
- Been thanked: 15 times
Re: Card Creation Request Thread
by thefiremind » 13 Jul 2013, 12:33
It can be coded, but is this a request for DotP2014 or 2013? I'm not following this thread anymore since we started another one for DotP2014 requests in the 2014 sub-section. In case your request is for DotP2014, you'll find it coded in that thread.Rickycoe123 wrote:Hey guys,
I can only assume that the Genju of the Falls cant be coded?
I am in dire need of this card.
< 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: Card Creation Request Thread
by Rickycoe123 » 13 Jul 2013, 18:32
Err it's for 2013. But I will be needing it for 2014 when I start modding in that game.
- Rickycoe123
- Posts: 138
- Joined: 14 Mar 2013, 22:44
- Has thanked: 1 time
- Been thanked: 15 times
Re: Card Creation Request Thread
by Necropotence » 14 Jul 2013, 10:44
someone could create Necropotence and Yawgmoth's Will?
- Necropotence
- Posts: 24
- Joined: 05 May 2013, 05:30
- Has thanked: 10 times
- Been thanked: 0 time
Re: Card Creation Request Thread
by Rari » 16 Jul 2013, 07:00
Stuck trying to make Scavenging Ooze and would appreciate any help. It is treating any card exiled this way as if it was a creature.
- Code: Select all
TARGET tag="CARD_QUERY_CHOOSE_CARD_TO_EXILE" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:SetZone( ZONE_GRAVEYARD )
filter:SetHint( HINT_ENEMY )
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Set_Targets:Get_CardPtr(0)
if target ~= nil then
if target:GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0 then
if EffectSource() ~= nil then
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 1 )
EffectController():GainLife( 1 )
end
end
target:Exile()
end
</RESOLUTION_TIME_ACTION>
- Angelic Accord
- Artificer's Hex
- Elite Arcanist
- Strionic Resonator
- Verdant Haven (I felt like I was getting close, but it would get stuck in a loop!)
- Voracious Wurm
Please help yourself to my collection of DoTP artwork. Pretty cards for everyone!
Re: Card Creation Request Thread
by thefiremind » 16 Jul 2013, 08:54
When asking cards for DotP2014 you should really consider using the other topic here, all the modders are frequently checking that one.
You are still using DotP2013 syntax. ThisRari wrote:Stuck trying to make Scavenging Ooze and would appreciate any help. It is treating any card exiled this way as if it was a creature.
- Code: Select all
local filter = Object():GetFilter()
filter:Clear()
- Code: Select all
local filter = ClearFilter()
- Code: Select all
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY" />
- Code: Select all
target:GetCardType():Test( CARD_TYPE_CREATURE ) ~= 0
Rari wrote:I've also been drawing a blank with how to code a few other M14 cards, so figured I'd post a request for them.
- Angelic Accord: I think it would require to save the life gains of each player in players' data chests, since there's no interrogation for life gaining. It should be possible this way.
- Artificer's Hex: quite easy:
- Code: Select all
<TRIGGERED_ABILITY>
-- Substitute this line with localised text
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
return MTG():GetStep() == STEP_UPKEEP
</TRIGGER>
<INTERVENING_IF>
return ( EffectSource() and EffectSource():GetParent() and EffectSource():GetParent():GetParent() ) ~= nil
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
local parent = ( EffectSource() and EffectSource():GetParent() and EffectSource():GetParent():GetParent() )
if parent ~= nil then
parent:Destroy()
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
- Code: Select all
filter:Add(FE_SUBTYPE, OP_IS, ARTIFACT_TYPE_EQUIPMENT)
- Elite Arcanist: the problem here is getting the converted mana cost of the exiled card inside a COST block, which is the same issue that prevented me from coding Prototype Portal. I don't think there's a solution, but that's just me.
- Strionic Resonator: you can't point to abilities in DotP games.
- Verdant Haven: you need RiiakShiNal's mana functions for this, and you need to use his manual lands.
- Voracious Wurm: same as Angelic Accord.
< 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: Card Creation Request Thread
by Rickycoe123 » 16 Jul 2013, 10:21
Hey guys, any news on that Genju of the Falls?
I have completed a few decks for 2013 (gotta keep it alive)... just need this card to complete another deck. (illusions/monoblue).
I have completed a few decks for 2013 (gotta keep it alive)... just need this card to complete another deck. (illusions/monoblue).
- Rickycoe123
- Posts: 138
- Joined: 14 Mar 2013, 22:44
- Has thanked: 1 time
- Been thanked: 15 times
Re: Card Creation Request Thread
by thefiremind » 16 Jul 2013, 11:15
In case it wasn't clear from the other post, I don't code for DotP2013 anymore, I didn't even keep the game installed, so don't count on me.
< 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: Card Creation Request Thread
by Rickycoe123 » 16 Jul 2013, 19:12
Its ok, ill depend on the nice community 

- Rickycoe123
- Posts: 138
- Joined: 14 Mar 2013, 22:44
- Has thanked: 1 time
- Been thanked: 15 times
Re: Card Creation Request Thread
by thut11 » 17 Jul 2013, 15:13
Hello guys,
I have become quite intrigued by the art of card coding
I am trying to finish my first deck but currently stuck at Ooze Flux. I would like to request it, if possible to code. Also Master of Cruelties would be nice. For dotp 2014 btw
I have become quite intrigued by the art of card coding

- thut11
- Posts: 1
- Joined: 17 Jul 2013, 14:46
- Has thanked: 0 time
- Been thanked: 0 time
Re: Card Creation Request Thread
by Kieran » 23 Jul 2013, 14:02
Can someone help me make this Land Tax code work?
- | Open
- Code: Select all
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All’inizio del tuo mantenimento, se un avversario controlla più terre di te, puoi passare in rassegna il tuo grimorio per un massimo di 3 carte terra base, rivelarle e aggiungerle alla tua in mano. Se lo fai, rimescola il tuo grimorio.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_STEP" simple_qualifier="controller">
return ( PlayersUpkeep( EffectController() ) and CountCardsInLibrary( EffectController() ) > 199 )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local num_players = MTG():GetNumberOfPlayers()
local filter = Object():GetFilter()
local highest_opp_lands = 0
local total = 0
local my_lands = 0
for i=0,num_players-1 do
local player = MTG():GetNthPlayer(i)
if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
filter:Clear()
filter:AddCardType( CARD_TYPE_LAND )
filter:SetController( player )
filter:SetZone( ZONE_IN_PLAY )
total = filter:Count()
if total > highest_opp_lands then
highest_opp_lands = total
end
end
end
filter:Clear()
filter:AddCardType( CARD_TYPE_LAND )
filter:SetController( EffectController() )
filter:SetZone( ZONE_IN_PLAY )
mylands = filter:Count()
if highest_opp_lands > mylands then
EffectController():MarkSearchedLibrary()
filter:Clear()
filter:May()
filter:NotTargetted()
filter:AddSubType( LAND_TYPE_PLAINS )
filter:SetZone( ZONE_LIBRARY )
filter:SetPlayer( EffectController() )
EffectController():ChooseTarget( NO_VALIDATION, "CARD_QUERY_CHOOSE_LAND_PLAINS_TO_PUT_ONTO_BATTLEFIELD", EffectDC():Make_Targets(0) )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local targetDC = EffectDC():Get_Targets(0)
if targetDC ~= nil then
local target_card = targetDC:Get_CardPtr(0)
if target_card ~= nil then
target_card:PutIntoPlay( EffectController() )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
EffectController():ShuffleLibrary()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
- Rickycoe123
- Posts: 138
- Joined: 14 Mar 2013, 22:44
- Has thanked: 1 time
- Been thanked: 15 times
Re: Card Creation Request Thread
by Kieran » 25 Jul 2013, 13:13
It has for both 2013 and 2014 but it isn't working for 2013. I'm referring to the one for 2013. Here is the code again:Rickycoe123 wrote:Hasnt Land Tax been created?
- | Open
- <?xml version='1.0' encoding='UTF-8'?>
<CARD_V2>
<FILENAME text="LAND_TAX_201153" />
<CARDNAME text="LAND_TAX" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Land Tax]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Land Tax]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Land Tax]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Land Tax]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Land Tax]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Land Tax]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Land Tax]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Land Tax]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Land Tax]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="201153" />
<ARTID value="A201153" />
<ARTIST name="Brian Snoddy" />
<CASTING_COST cost="{W}" />
<TYPE metaname="Enchantment" />
<EXPANSION value="ME3" />
<RARITY metaname="R" />
<TRIGGERED_ABILITY filter_zone="ZONE_IN_PLAY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_STEP" simple_qualifier="controller">
local num_players = MTG():GetNumberOfPlayers()
local filter = Object():GetFilter()
local highest_opp_lands = 0
local total = 0
local my_lands = 0
for i=0,num_players-1 do
local player = MTG():GetNthPlayer(i)
if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
filter:Clear()
filter:AddCardType( CARD_TYPE_LAND )
filter:SetController( player )
filter:SetZone( ZONE_IN_PLAY )
total = filter:Count()
if total > highest_opp_lands then
highest_opp_lands = total
end
end
end
filter:Clear()
filter:AddCardType( CARD_TYPE_LAND )
filter:SetController( EffectController() )
filter:SetZone( ZONE_IN_PLAY )
mylands = filter:Count()
return highest_opp_lands > mylands and ( EffectController():MyTurn() ~= 0 ) and ( MTG():GetStep() == STEP_UPKEEP )
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local player = EffectController()
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_YES" )
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NO" )
player:AskMultipleChoiceQuestion( "CARD_QUERY_CHOOSE_CARD_TO_PUT_INTO_HAND" )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
EffectDC():Set_Int( 1, Object():GetMultipleChoiceResult() )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectDC():Get_Int(1) == 0 then
local num_players = MTG():GetNumberOfPlayers()
local filter = Object():GetFilter()
local highest_opp_lands = 0
local total = 0
local my_lands = 0
for i=0,num_players-1 do
local player = MTG():GetNthPlayer(i)
if player ~= nil and player:GetTeam() ~= EffectController():GetTeam() then
filter:Clear()
filter:AddCardType( CARD_TYPE_LAND )
filter:SetController( player )
filter:SetZone( ZONE_IN_PLAY )
total = filter:Count()
if total > highest_opp_lands then
highest_opp_lands = total
end
end
end
filter:Clear()
filter:AddCardType( CARD_TYPE_LAND )
filter:SetController( EffectController() )
filter:SetZone( ZONE_IN_PLAY )
mylands = filter:Count()
if highest_opp_lands > mylands then
local filter = Object():GetFilter()
local player = EffectController()
player:MarkSearchedLibrary()
filter:Clear()
filter:NotTargetted()
filter:AddSupertype( SUPERTYPE_BASIC )
filter:AddCardType( CARD_TYPE_LAND )
filter:May()
filter:SetZone( ZONE_LIBRARY )
filter:SetPlayer( player )
player:SetTargetCount( 3 )
player:SetTargetPrompt( 0, "CARD_QUERY_CHOOSE_LAND_TO_PUT_INTO_HAND" )
player:SetTargetPrompt( 1, "CARD_QUERY_CHOOSE_LAND_TO_PUT_INTO_HAND" )
player:SetTargetPrompt( 2, "CARD_QUERY_CHOOSE_LAND_TO_PUT_INTO_HAND" )
player:ChooseTargetsWithFlags( NO_VALIDATION, EffectDC():Make_Targets(0), QUERY_FLAG_CAN_BE_FINISHED_EARLY + QUERY_FLAG_CAN_BE_FINISHED_EARLY_FOR_AI_AS_WELL)
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectDC():Get_Int(1) == 0 then
for i = 0,2 do
local target = EffectDC():Get_Targets(0):Get_NthCardPtr(0)
local player = EffectController()
if (target~= nil and player ~= nil) then
target:GuidedReveal( ZONE_LIBRARY, ZONE_HAND )
target:PutInHand()
end
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectDC():Get_Int(1) == 0 then
EffectController():ShuffleLibrary()
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
</CARD_V2>
- Attachments
-
Land Tax.zip
- (377.04 KiB) Downloaded 405 times
Re: Card Creation Request Thread
by thefiremind » 25 Jul 2013, 13:20
You (or whoever made the code) declared the variable "my_lands" but then you referred to it as "mylands": you need to uniform the names.Kieran wrote:If someone can take a look @ the code and let me know what to add, change, or omit that'll be excellent. Thanks in advance.
< 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
Return to New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels)
Who is online
Users browsing this forum: No registered users and 2 guests