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 » 05 Jun 2013, 00:14
You have:BloodReyvyn wrote:I believe Riku has already been made, just in case you didn't know.
I have been toiling for 3 days to get Urborg, Tomb of Yawgmoth up and working, since somewhere someone had mentioned it not possible to do correctly. Is there no way to add additional land types to lands or make them "count as" another land type?
I got this far with the code, which adds an activated ability to add one black to your mana pool. I only added that part because the additional land type wasn't showing up and I was making sure my filter was working correctly.
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2>
<FILENAME text="URBORG_TOMB_OF_YAWGMOTH_287330" />
<CARDNAME text="URBORG_TOMB_OF_YAWGMOTH" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Urborg, Tomb of Yawgmoth]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Urborg, Tomb of Yawgmoth]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Urborg, Tomb of Yawgmoth]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Urborg, Tomb of Yawgmoth]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Urborg, Tomb of Yawgmoth]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Urborg, Tomb of Yawgmoth]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Urborg, Tomb of Yawgmoth]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Urborg, Tomb of Yawgmoth]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Urborg, Tomb of Yawgmoth]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="287330" />
<ARTID value="A287330" />
<ARTIST name="John Avon" />
<CASTING_COST cost="" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Yawgmoth’s corpse is a wound in the universe. His foul blood seeps out, infecting the land with his final curse.”
—Lord Windgrace]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[“Yawgmoth’s corpse is a wound in the universe. His foul blood seeps out, infecting the land with his final curse.”
—Lord Windgrace]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Yawgmoth’s corpse is a wound in the universe. His foul blood seeps out, infecting the land with his final curse.”
—Lord Windgrace]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[“Yawgmoth’s corpse is a wound in the universe. His foul blood seeps out, infecting the land with his final curse.”
—Lord Windgrace]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Yawgmoth’s corpse is a wound in the universe. His foul blood seeps out, infecting the land with his final curse.”
—Lord Windgrace]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[“Yawgmoth’s corpse is a wound in the universe. His foul blood seeps out, infecting the land with his final curse.”
—Lord Windgrace]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Yawgmoth’s corpse is a wound in the universe. His foul blood seeps out, infecting the land with his final curse.”
—Lord Windgrace]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[“Yawgmoth’s corpse is a wound in the universe. His foul blood seeps out, infecting the land with his final curse.”
—Lord Windgrace]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Yawgmoth’s corpse is a wound in the universe. His foul blood seeps out, infecting the land with his final curse.”
—Lord Windgrace]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Land" />
<EXPANSION value="V12" />
<RARITY metaname="M" />
<STATIC_ABILITY filter_zone="ZONE_IN_PLAY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Each land is a Swamp in addition to its other land types.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Each land is a Swamp in addition to its other land types.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Each land is a Swamp in addition to its other land types.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Each land is a Swamp in addition to its other land types.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogni terra è una Palude in aggiunta ai suoi altri tipi di terra.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Each land is a Swamp in addition to its other land types.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Each land is a Swamp in addition to its other land types.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Each land is a Swamp in addition to its other land types.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Each land is a Swamp in addition to its other land types.]]></LOCALISED_TEXT>
<FILTER>
return (FilteredCard() ~= nil and
FilteredCard():GetCardType():Test( CARD_TYPE_LAND ) ~= 0)
</FILTER>
<CONTINUOUS_ACTION layer="4">
if FilteredCard() ~= nil then
FilteredCard():AddSubTypeTo( "LAND_TYPE_SWAMP", FilteredCard() )
end
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="6">
if FilteredCard() ~= nil then
FilteredCard():GetCurrentCharacteristics():GrantAbility(1)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<MANA_ABILITY resource_id="1" immunity="0">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Add {B} toy your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Add {B} toy your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Add {B} toy your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Add {B} toy your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Add {B} toy your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: Add {B} toy your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Add {B} toy your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Add {B} toy your mana pool.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Add {B} toy your mana pool.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<PRODUCES amount="{B}" />
</MANA_ABILITY>
</CARD_V2>
- Code: Select all
FilteredCard():AddSubTypeTo( "LAND_TYPE_SWAMP", FilteredCard() )
- Code: Select all
FilteredCard():GetCurrentCharacteristics():SubType_GetWritable( FilteredCard() ):Add( LAND_TYPE_SWAMP, FilteredCard() )





About the only way to do it would be to recode the Basic supertype to no longer use the game's implementation, change all cards that reference the Basic supertype to instead reference your new implementation, recode all lands to use the new implementation and use manual tapping for mana (activated abilities that produce tokens) and even that would still have a problem with Burning-Tree Shaman. This is way to much work to even think about (especially since you'll need to get other coders to use your recoded basic supertype as well). I have toyed with the idea of recoding all the lands and mana sources for manual tapping so we could actually implement our own mana pool and make some more cards that we haven't previously been able to make, but the amount of work is just overwhelming so I've never bothered to actually do it.
Edit: With Killing Wave I see at least one problem (which would necessity recoding the card anyway):
- You ask which creatures to sacrifice rather than which creatures to save. This basically forces players to rescue as many creatures as they can even if there is no good reason to do so. For example say I have 20 life, 5 1/1 Green Elf tokens in play, and X is 4, with the way you have the card coded, I will instantly lose because I'm never asked to sacrifice any creatures the card just assumes I want to rescue them all.
When recoding the card you should store targets based on playerindex instead of RepCount (it will reduce the number of loop iterations, and make the code easier to follow).
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 BloodReyvyn » 05 Jun 2013, 00:46
Wow, that would be a lot of work, especially with the new game coming out soon-ish... Oh well, just another one to chalk up to engine limitations. Again, hoping the new game will be a little more mana-pool friendly, but with the track record of bugs they've had on release, I won't hold my breath. lol
"There's an experience worse than blindness - it's the certainty that your vision is perfect and the horror that there's no world around you to see."
-
BloodReyvyn - Posts: 421
- Joined: 19 May 2013, 13:29
- Has thanked: 53 times
- Been thanked: 40 times
Re: Card Creation Request Thread
by AriesKiki » 05 Jun 2013, 01:39
It is possible to create Guile? May I request it if possible? Thanks! 

Re: Card Creation Request Thread
by RiiakShiNal » 05 Jun 2013, 01:54
No, the first ability can't be coded.AriesKiki wrote:It is possible to create Guile? May I request it if possible? Thanks!
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 sumomole » 05 Jun 2013, 02:00
But very soon, it can be coded in DOTP2014.RiiakShiNal wrote:No, the first ability can't be coded.AriesKiki wrote:It is possible to create Guile? May I request it if possible? Thanks!

I think we need a banned list for DOTP, suggest all modders not to code some useless cards that will cause some bugs, the first card is Burning-Tree Shaman, because AI doesn't like and doesn't know how to use activated ability.RiiakShiNal wrote:About the only way to do it would be to recode the Basic supertype to no longer use the game's implementation, change all cards that reference the Basic supertype to instead reference your new implementation, recode all lands to use the new implementation and use manual tapping for mana (activated abilities that produce tokens) and even that would still have a problem with Burning-Tree Shaman. This is way to much work to even think about (especially since you'll need to get other coders to use your recoded basic supertype as well). I have toyed with the idea of recoding all the lands and mana sources for manual tapping so we could actually implement our own mana pool and make some more cards that we haven't previously been able to make, but the amount of work is just overwhelming so I've never bothered to actually do it.
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Card Creation Request Thread
by RiiakShiNal » 05 Jun 2013, 02:31
Technically, Burning-Tree Shaman doesn't cause bugs, it merely illustrates problems that are inherent in the engine itself. However, I do agree that Burning-Tree Shaman does cause several headaches when trying to work around problems with the engine (poor mana ability support, unable to choose mana color for dual-multi lands without activated ability, etc...).sumomole wrote:I think we need a banned list for DOTP, suggest all modders not to code some useless cards that will cause some bugs, the first card is Burning-Tree Shaman, because AI doesn't like and doesn't know how to use activated ability.
Before we start banning (or simply discouraging certain cards from being made) we need to see what the DotP 2014 engine will give us and what it's limitations are. For all we know they've completely cleaned up and fixed the Mana system so workarounds such as tokens and activated abilities for choosing color are unnecessary (doubtful, but it is possible) in which case there should be no problem with Burning-Tree Shaman.
So for now we should have a wait and see policy before we start do something as extreme as banning cards.
Something I can see as being useful for DotP 2014 is creating a registry and standards for constants, register assignments, and naming (cards, functions, files, etc...) so that we can reduce or completely eliminate conflicts. For example having modders prefix their work so that functions won't conflict and break cards, function/card files don't get overridden by a different mod, etc....
We've built better tools than we've ever had before, if we keep improving the tools we can probably make checking for some conflicts and detecting dependencies even easier and faster. Also because of these tools we can build cards and decks faster and with fewer errors (Card Generators help immensely here, some deck creators also have rudimentary checking for card errors [mostly XML structure errors]).
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 BloodReyvyn » 05 Jun 2013, 02:37
Having one minor issue with the last card I need for a deck. For some reason, I can choose all targets correctly, but he still deals no damage regardless of the target.
Bloodshot Cyclops
Bloodshot Cyclops
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2>
<FILENAME text="BLOODSHOT_CYCLOPS_45387" />
<CARDNAME text="BLOODSHOT_CYCLOPS" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Bloodshot Cyclops]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Cyclope sanguin]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Cíclope cruento]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Blutaugenzyklop]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ciclopi Sanguinari]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Bloodshot Cyclops]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Bloodshot Cyclops]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Bloodshot Cyclops]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Cíclope de Olho Injetado]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="45387" />
<ARTID value="A45387" />
<ARTIST name="Daren Bader" />
<CASTING_COST cost="{5}{R}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[After their first encounter, the goblins named him Chuck.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Après leur première rencontre, les gobelins le nommèrent Chuck.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Después de su primer encuentro, los trasgos lo llamaron “Lanzador”.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nach ihrem ersten Aufeinandertreffen nannten ihn die Goblins Charlie.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Dopo il loro primo incontro, i goblin lo avevano battezzato Chuck.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[After their first encounter, the goblins named him Chuck.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[After their first encounter, the goblins named him Chuck.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[After their first encounter, the goblins named him Chuck.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Depois de seu primeiro encontro, os goblins passaram a chamá-lo de Vermelhão.]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Cyclops" order_fr-FR="0" order_es-ES="1" order_de-DE="0" order_it-IT="1" order_jp-JA="0" order_ko-KR="0" order_ru-RU="0" order_pt-BR="0" />
<SUB_TYPE metaname="Giant" order_fr-FR="1" order_es-ES="0" order_de-DE="1" order_it-IT="0" order_jp-JA="1" order_ko-KR="1" order_ru-RU="1" order_pt-BR="1" />
<EXPANSION value="8ED" />
<RARITY metaname="R" />
<POWER value="4" />
<TOUGHNESS value="4" />
<ACTIVATED_ABILITY filter_zone="ZONE_IN_PLAY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}, Sacrifice a creature: Bloodshot Cyclops deals damage equal to the sacrificed creature’s power to target creature or player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}, sacrifiez une créature : Le Cyclope sanguin inflige à une cible, créature ou joueur, autant de blessures que la force de la créature sacrifiée.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}, sacrificar una criatura: El Cíclope cruento hace una cantidad de daño igual a la fuerza de la criatura sacrificada a la criatura o jugador objetivo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}, opfere eine Kreatur: Der Blutaugenzyklop fügt einer Kreatur oder einem Spieler deiner Wahl Schadenspunkte in Höhe der Stärke der geopferten Kreatur zu.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}, Sacrifica una creatura: I Ciclopi Sanguinari infliggono a una creatura o a un giocatore bersaglio un danno pari alla forza della creatura sacrificata.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}, Sacrifice a creature: Bloodshot Cyclops deals damage equal to the sacrificed creature’s power to target creature or player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}, Sacrifice a creature: Bloodshot Cyclops deals damage equal to the sacrificed creature’s power to target creature or player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}, Sacrifice a creature: Bloodshot Cyclops deals damage equal to the sacrificed creature’s power to target creature or player.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}, Sacrifique uma criatura: Cíclope de Olho Injetado causa à criatura alvo ou ao jogador alvo uma quantidade de pontos de dano igual ao poder da criatura sacrificada.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<COST type="Generic">
<TARGET_DEFINITION id="6">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetPlayer( EffectController() )
filter:SetZone( ZONE_IN_PLAY )
filter:SetHint( HINT_ENEMY, EffectController() )
filter:SetCardInstance( Object() )
filter:AddExtra( FILTER_EXTRA_FLIP_CARD_INSTANCE )
filter:NotTargetted()
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(6)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 6, "CARD_QUERY_CHOOSE_CREATURE_TO_SACRIFICE", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local creature = EffectDC():Get_Targets(0):Get_CardPtr(0)
if (creature ~= nil) then
EffectDC():Int_Set( 0, creature:GetCurrentCharacteristics():Power_Get() )
creature:Sacrifice( EffectController() )
end
</RESOLUTION_TIME_ACTION>
</COST>
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:SetFilterType( FILTER_TYPE_CARDS + FILTER_TYPE_PLAYERS )
filter:SetZone( ZONE_IN_PLAY )
filter:SetHint( HINT_ENEMY_ONLY, EffectController() )
filter:AddCardType( CARD_TYPE_CREATURE )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_DEAL_DAMAGE", EffectDC():Make_Targets(1) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectDC():Get_Targets(1):Get_PlayerPtr(0)
local creature = EffectDC():Get_Targets(1):Get_ObjectPtr(0)
local damage = EffectDC():Int_Get( 0 )
if player ~= nil then
player:DealDamage( damage, Object() )
elseif creature ~= nil then
creature:DealDamage( damage, Object() )
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_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>
"There's an experience worse than blindness - it's the certainty that your vision is perfect and the horror that there's no world around you to see."
-
BloodReyvyn - Posts: 421
- Joined: 19 May 2013, 13:29
- Has thanked: 53 times
- Been thanked: 40 times
Re: Card Creation Request Thread
by BloodReyvyn » 05 Jun 2013, 02:46
NEVERMIND, I caught the typos right after I posted this
ObjectPtr should have been CardPtr...
ObjectPtr should have been CardPtr...

"There's an experience worse than blindness - it's the certainty that your vision is perfect and the horror that there's no world around you to see."
-
BloodReyvyn - Posts: 421
- Joined: 19 May 2013, 13:29
- Has thanked: 53 times
- Been thanked: 40 times
Re: Card Creation Request Thread
by thefiremind » 05 Jun 2013, 12:15
The Killing Wave was coded by me, and I'm quite surprised that nobody tested it until now... anyway I don't have time to fix it at the moment, so if someone wants to try, be my guest. 

I definitely want to do that for DotP2014. I'll probably add another box on my web generator where we can write a prefix for the card IDs that will be automatically added on the XML when it's generated. I'll use 199 for myself (being 1999 probably too long together with the 6-digit official Multiverse ID).RiiakShiNal wrote:Something I can see as being useful for DotP 2014 is creating a registry and standards for constants, register assignments, and naming (cards, functions, files, etc...) so that we can reduce or completely eliminate conflicts. For example having modders prefix their work so that functions won't conflict and break cards, function/card files don't get overridden by a different mod, etc....
< 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 Scion of Darkness » 05 Jun 2013, 15:02
Thats a great idea, Chuck Norris approves 

-
Scion of Darkness - Posts: 235
- Joined: 27 Aug 2012, 13:14
- Has thanked: 17 times
- Been thanked: 23 times
Re: Card Creation Request Thread
by gorem2k » 05 Jun 2013, 17:27
Req'ing Assemble the Legion with token + tdx, Battlegate Mimic and Blaze Commando. Please, SVP, por favor 

Re: Card Creation Request Thread
by sumomole » 05 Jun 2013, 18:27
gorem2k wrote:Req'ing Assemble the Legion with token + tdx, Battlegate Mimic and Blaze Commando. Please, SVP, por favor
cards.zip
- Assemble the Legion & Battlegate Mimic & token
- (325.35 KiB) Downloaded 260 times
EDIT: I think this card may be has problems, if you don't care, test it.

Blaze Commando(untested).zip
- (108.55 KiB) Downloaded 257 times
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: Card Creation Request Thread
by thefiremind » 05 Jun 2013, 19:23
I made another version. It has approximations as well, but it works, at least with Shock.
I also made a R/W Soldier token with the picture of the promo version. Use the token and the creature you like most, and in case you find a bug in one of the Commandos, you'll have the other one. 


- Attachments
-
Blaze Commando + promo token.zip
- (189.3 KiB) Downloaded 244 times
< 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 MC Brodie » 05 Jun 2013, 22:53
Ok I believe (hope) I only have 2 more questions before the deck I am building is finished. First, I am having trouble with Turntimber Ranger. The card works appropriately, but when its in my deck and I leave the game, the game crashes. I don't know if I messed up something in the card coding (though I don't think so since the card works correctly and the game only crashes on exit) or have a bad ID name somewhere. The 2nd question, a few of the cards I coded have a question or query (e.g., put a 2/2 wolf token into play) but I cannot figure out how to change the query text. I copied some "draw card" query, so all of my queries ask if I want to draw a card. How can I modify this text?
Thank you for all of the help and sorry for such greenish questions.
Thank you for all of the help and sorry for such greenish questions.
-----------------------------------------------------------------------
Song of the Day: 46 and 2 (cover)
Song of the Day: 46 and 2 (cover)
Re: Card Creation Request Thread
by thefiremind » 05 Jun 2013, 23:07
Don't worry, this is a classic: you just forgot the TOKEN_REGISTRATION block. Copy it from another creature that produces wolves (for example Master of the Wild Hunt). Any card that produces tokens must have a TOKEN_REGISTRATION block for each kind of token it produces, otherwise that's what happens. But if a token produces another token (Mitotic Slime tokens for example), you need to put all TOKEN_REGISTRATIONs on the main card because the game doesn't like those blocks on tokens.MC Brodie wrote:First, I am having trouble with Turntimber Ranger. The card works appropriately, but when its in my deck and I leave the game, the game crashes.
MC Brodie wrote:a few of the cards I coded have a question or query (e.g., put a 2/2 wolf token into play) but I cannot figure out how to change the query text. I copied some "draw card" query, so all of my queries ask if I want to draw a card. How can I modify this text?
- Code: Select all
EffectController():BeginNewMultipleChoice()
EffectController():AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_YES" ) -- first possible answer
EffectController():AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NO" ) -- second possible answer
-- there can be a third possible answer, no more than 3
EffectController():AskMultipleChoiceQuestion( "CARD_QUERY_DRAW_A_CARD" ) -- question

Some of those strings have a special escape sequence inside their localisations which is %d. This will be replaced by something according to the latest call of
- Code: Select all
EffectController():SetCustomQueryInstructionValue(...)
- Code: Select all
EffectController():SetCustomQueryInstructionCardPtr(...)
By the way, when the "may" is likely to get an affirmative answer 99.999% of the times, like when you "may" gain life or when you "may" generate tokens, I'd suggest you to just ignore the "may" and do your thing without asking. Drawing cards is something that you could want to avoid a considerable number of times (against a mill deck for example) so that's why asking is a good thing in that case.
< 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 8 guests