It is currently 04 Aug 2025, 18:08
   
Text Size

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!

Moderator: CCGHQ Admins

Re: Card Creation Request Thread

Postby RiiakShiNal » 14 Mar 2013, 16:12

thefiremind wrote:I think he already did that, but the land untaps because the RESOLUTION_TIME_ACTION in his code always gets executed.
I try to assume nothing as it seems that most of the problems I help with tend to be just a step that someone forgot (usually something simple).
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Card Creation Request Thread

Postby Thran75 » 14 Mar 2013, 16:40

Thank you both Firemind and Niika.
Thran75
 
Posts: 22
Joined: 24 Feb 2013, 11:38
Has thanked: 7 times
Been thanked: 0 time

Re: Card Creation Request Thread

Postby Honeybear » 15 Mar 2013, 16:17

thefiremind wrote:Vorinclex, Lazav and Karador are impossible to code.
Fortunately this does not apply to Vorinclex anymore. :mrgreen:
I found it in one of the challenge wads in the game directory.
Attachments
Vorinclex, Voice of Hunger.zip
(239.97 KiB) Downloaded 449 times
All fixed set patterns are incapable of adaptability or pliability. The truth is outside of all fixed patterns.

- Bruce Lee -
Honeybear
 
Posts: 20
Joined: 02 Mar 2013, 15:25
Location: Outside the bubble
Has thanked: 5 times
Been thanked: 2 times

Re: Card Creation Request Thread

Postby NEMESiS » 15 Mar 2013, 16:28

Honeybear wrote:
thefiremind wrote:Vorinclex, Lazav and Karador are impossible to code.
Fortunately this does not apply to Vorinclex anymore. :mrgreen:
I found it in one of the challenge wads in the game directory.
Just so you know Vorinclex only works with cards in that challenge. There is nothing in he card for the function "Whenever you tap a land for mana, add one mana to your mana pool of any type that land produced."
User avatar
NEMESiS
 
Posts: 460
Joined: 03 Jan 2013, 04:02
Location: Pools of Becoming
Has thanked: 70 times
Been thanked: 21 times

Re: Card Creation Request Thread

Postby Honeybear » 15 Mar 2013, 16:51

NEMESiS wrote:
Honeybear wrote:
thefiremind wrote:Vorinclex, Lazav and Karador are impossible to code.
Fortunately this does not apply to Vorinclex anymore. :mrgreen:
I found it in one of the challenge wads in the game directory.
Just so you know Vorinclex only works with cards in that challenge. There is nothing in he card for the function "Whenever you tap a land for mana, add one mana to your mana pool of any type that land produced."
That´s unpleasant to hear. :mrgreen:
I guess there is nothing we can do about it...
All fixed set patterns are incapable of adaptability or pliability. The truth is outside of all fixed patterns.

- Bruce Lee -
Honeybear
 
Posts: 20
Joined: 02 Mar 2013, 15:25
Location: Outside the bubble
Has thanked: 5 times
Been thanked: 2 times

Re: Card Creation Request Thread

Postby AlphaMagnum » 17 Mar 2013, 20:35

I'm new here but I have some requests, if anyone would be able/willing to code the cards in question. I'm looking to build the old Mythic Conscription deck that used to be quite powerful in T2, so any assistance would be greatly appreciated. The cards I haven't found in any custom releases are:

Lotus Cobra
Sovereigns of Lost Alara
Knight of the Reliquary
Fetchlands (Verdant Catacombs and friends)
Planeswalkers

I read that Planeswalkers weren't even implemented as a card type so I can imagine that they won't work in here, but could any of the other cards be created in DotP 2013?

EDIT: I'm pretty sure Temple of the False God should be fairly easy to implement. Any chance one of you could pull that off?
AlphaMagnum
 
Posts: 37
Joined: 15 Mar 2013, 18:21
Has thanked: 1 time
Been thanked: 0 time

Re: Card Creation Request Thread

Postby RiiakShiNal » 17 Mar 2013, 22:51

Of the cards you requested Temple of the False God and Lotus Cobra can only be made using Mana Tokens. Temple of the False God will suffer from the problem with Burning-Tree Shaman as you will have to use an activated ability to create the mana tokens (a mana ability that is only sometimes available on the card will cause the game to crash). Lotus Cobra will not suffer from the same problem because the token will be created by a triggered ability not an activated ability.

Sovereigns of Lost Alara, Knight of the Reliquary, and the fetch lands (Verdant Catacombs and others) should be easy enough to code (though the fetch lands won't have the right card borders).

Planeswalkers can't be coded, they are a card type that the game recognizes, but the card type does not work (barely implemented, and no where near complete). Hopefully we will get them in DotP 2014.
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Card Creation Request Thread

Postby AlphaMagnum » 17 Mar 2013, 23:08

RiiakShiNal wrote:Of the cards you requested Temple of the False God and Lotus Cobra can only be made using Mana Tokens. Temple of the False God will suffer from the problem with Burning-Tree Shaman as you will have to use an activated ability to create the mana tokens (a mana ability that is only sometimes available on the card will cause the game to crash). Lotus Cobra will not suffer from the same problem because the token will be created by a triggered ability not an activated ability.

Sovereigns of Lost Alara, Knight of the Reliquary, and the fetch lands (Verdant Catacombs and others) should be easy enough to code (though the fetch lands won't have the right card borders).

Planeswalkers can't be coded, they are a card type that the game recognizes, but the card type does not work (barely implemented, and no where near complete). Hopefully we will get them in DotP 2014.
Fair enough. Please don't worry about putting the Conscription stuff together for me. I'll try and puzzle that out on my own. Is there any chance that you could code Joraga Treespeaker and the fetch lands (Verdant Catacombs and Misty Rainforest in particular) for me, however? The former seems pretty straightforward but I'm a total novice, while the latter is likely beyond me but any help would be greatly appreciated.
AlphaMagnum
 
Posts: 37
Joined: 15 Mar 2013, 18:21
Has thanked: 1 time
Been thanked: 0 time

Re: Card Creation Request Thread

Postby RiiakShiNal » 18 Mar 2013, 01:39

The card Joraga Treespeaker can only be coded using Mana tokens (a mana ability that is only sometimes available on the card will crash the game, levels 1-4) additionally it (and all elves it affects, levels 5+) will suffer from causing Burning-Tree Shaman to activate due to using an activated ability to create mana tokens.

The fetch lands I may code tomorrow as time allows.
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Card Creation Request Thread

Postby AlphaMagnum » 18 Mar 2013, 03:49

RiiakShiNal wrote:The card Joraga Treespeaker can only be coded using Mana tokens (a mana ability that is only sometimes available on the card will crash the game, levels 1-4) additionally it (and all elves it affects, levels 5+) will suffer from causing Burning-Tree Shaman to activate due to using an activated ability to create mana tokens.

The fetch lands I may code tomorrow as time allows.
Could you elaborate on the problems with mana tokens? Is it an issue that would only occur when Burning-Tree Shaman and similar cards are in play? (If so, with what frequency can I expect to encounter those sorts of cards?)

I noticed Overgrown Battlement in BlindWillow's DLC for DotP 2013, and knowing what the card is supposed to do, I can't imagine that it could be implemented without mana tokens.
AlphaMagnum
 
Posts: 37
Joined: 15 Mar 2013, 18:21
Has thanked: 1 time
Been thanked: 0 time

Re: Card Creation Request Thread

Postby RiiakShiNal » 18 Mar 2013, 13:10

The main problem with many cards that need to create mana tokens is that they have to use an activated ability to generate the tokens instead of a mana ability. As such when the activated ability is used, cards that check to see if an activated ability was used such as Burning-Tree Shaman (with Joraga Treespeaker every time one is tapped for {G} {G} the controlling player would take 1 damage from Burning-Tree Shaman even though according to the card game rules it is a mana ability and no damage should be taken). Previously there was also an issue with mana tokens being duplicated by effects from cards like Doubling Season, but thefiremind found a way around that. Another issue with cards that use mana tokens is because they must be tapped manually by the player while the game will automatically tap cards with mana abilities when they are needed; this can make things quite confusing for the player with some cards needing to be manually tapped while others are tapped automatically. Additionally because the game does not support an actual mana pool and mana tokens are invisible (being typeless makes them invisible, if they aren't typeless then there are other issues) the player does not necessarily know how much mana is available to them without manually keeping track of it.

Overgrown Battlement could be coded without using mana tokens (a large number of resource mana abilities, one for each possible number of creatures with defender up to a hard coded cap would work), but it was probably coded using mana tokens. Some modders will code cards that rely on mana tokens while other modders will avoid them. Thefiremind just recently started using mana tokens for spells/cards where he could avoid using activated abilities (to avoid the problem with Burning-Tree Shaman and similar cards, Lotus Cobra would fit this category as a triggered ability would be used), but still avoids coding cards that will require an activated ability. I still avoid cards that will require mana tokens.

Edit: Attached are the Zendikar Fetch Lands (Arid Mesa, Marsh Flats, Misty Rainforest, Scalding Tarn, and Verdant Catacombs). They are untested, but should work.
Attachments
DotP 2013 Zendikar Fetch Lands.zip
(1.62 MiB) Downloaded 376 times
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Card Creation Request Thread

Postby AlphaMagnum » 18 Mar 2013, 15:23

RiiakShiNal wrote:The main problem with many cards that need to create mana tokens is that they have to use an activated ability to generate the tokens instead of a mana ability. As such when the activated ability is used, cards that check to see if an activated ability was used such as Burning-Tree Shaman (with Joraga Treespeaker every time one is tapped for {G} {G} the controlling player would take 1 damage from Burning-Tree Shaman even though according to the card game rules it is a mana ability and no damage should be taken). Previously there was also an issue with mana tokens being duplicated by effects from cards like Doubling Season, but thefiremind found a way around that. Another issue with cards that use mana tokens is because they must be tapped manually by the player while the game will automatically tap cards with mana abilities when they are needed; this can make things quite confusing for the player with some cards needing to be manually tapped while others are tapped automatically. Additionally because the game does not support an actual mana pool and mana tokens are invisible (being typeless makes them invisible, if they aren't typeless then there are other issues) the player does not necessarily know how much mana is available to them without manually keeping track of it.

Overgrown Battlement could be coded without using mana tokens (a large number of resource mana abilities, one for each possible number of creatures with defender up to a hard coded cap would work), but it was probably coded using mana tokens. Some modders will code cards that rely on mana tokens while other modders will avoid them. Thefiremind just recently started using mana tokens for spells/cards where he could avoid using activated abilities (to avoid the problem with Burning-Tree Shaman and similar cards, Lotus Cobra would fit this category as a triggered ability would be used), but still avoids coding cards that will require an activated ability. I still avoid cards that will require mana tokens.

Edit: Attached are the Zendikar Fetch Lands (Arid Mesa, Marsh Flats, Misty Rainforest, Scalding Tarn, and Verdant Catacombs). They are untested, but should work.
Thank you so much for the thorough breakdown! I looked into the code for Overgrown Battlement last night and discovered that it looks like you said it might, if it didn't use mana tokens. There are 8 possible mana abilities (from G to GGGGGGGG) with a brief code before them to run a count on the number of defender creatures.

Thank you so much for the fetchlands! I really appreciate your hard work.
AlphaMagnum
 
Posts: 37
Joined: 15 Mar 2013, 18:21
Has thanked: 1 time
Been thanked: 0 time

Need help with two legends

Postby Honeybear » 18 Mar 2013, 15:52

Hi everyone!

I need help with the cards Commander Eesha and Tariel, Reckoner of Souls. I tried my best coding them on my own, but they still don´t work after putting a few hours work in them. :mrgreen:

Here is the text with the activated ability for Tariel:

<ACTIVATED_ABILITY dangerous="1" filter_zone="ZONE_IN_PLAY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Choose a creature card at random from target opponent’s graveyard. Put that card onto the battlefield under your control.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Choisissez une carte de créature au hasard dans le cimetière d’un adversaire ciblé. Mettez cette carte sur le champ de bataille sous votre contrôle.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Elige una carta de criatura al azar del cementerio del oponente objetivo. Pon esa carta en el campo de batalla bajo tu control.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Bestimme zufällig eine Kreaturenkarte aus dem Friedhof eines Gegners deiner Wahl. Bringe diese Karte unter deiner Kontrolle ins Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Scegli una carta creatura a caso dal cimitero di un avversario bersaglio. Mettila sul campo di battaglia sotto il tuo controllo.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: 対戦相手1人を対象とする。そのプレイヤーの墓地にあるクリーチャー・カードを無作為に1枚選ぶ。そのカードを、あなたのコントロール下で戦場に出す。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Choose a creature card at random from target opponent’s graveyard. Put that card onto the battlefield under your control.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Choose a creature card at random from target opponent’s graveyard. Put that card onto the battlefield under your control.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Choose a creature card at random from target opponent’s graveyard. Put that card onto the battlefield under your control.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<TARGET_DEFINITION id="0">
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetZone( ZONE_GRAVEYARD )
filter:SetHint( HINT_ENEMY_ONLY, EffectController() )
</TARGET_DEFINITION>
<TARGET_DETERMINATION>
return AtLeastOneTargetFromDefinition(0)
</TARGET_DETERMINATION>
<PLAY_TIME_ACTION target_choosing="1">
EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_TO_PUT_ONTO_BATTLEFIELD", EffectDC():Make_Targets(0) )
</PLAY_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil and target:GetZone() == ZONE_GRAVEYARD then
target:PutIntoPlay( EffectController() )
end
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
And here the text with the static ability for Eesha:

<STATIC_ABILITY filter_zone="ZONE_IN_PLAY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Protection from creatures]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION>
local filter = Object():GetFilter()
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
Object():Protection()
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
I´d really appreciate any help on this. Have a nice day :mrgreen:
Attachments
Tariel and Eesha.zip
(3.89 KiB) Downloaded 325 times
All fixed set patterns are incapable of adaptability or pliability. The truth is outside of all fixed patterns.

- Bruce Lee -
Honeybear
 
Posts: 20
Joined: 02 Mar 2013, 15:25
Location: Outside the bubble
Has thanked: 5 times
Been thanked: 2 times

Re: Card Creation Request Thread

Postby thefiremind » 18 Mar 2013, 16:06

Well, Tariel is totally missing the "randomness" and it's targetting the card instead of the opponent, but it's not difficult to code, here's how the ability should be:
Code: Select all
    <COST type="TapSelf" />
    <TARGET_DEFINITION id="0">
    local filter = Object():GetFilter()
    filter:Clear()
    filter:SetFilterType( FILTER_TYPE_PLAYERS + FILTER_TYPE_OPPONENTS )
    filter:SetOwner( EffectController() )
    filter:SetHint( HINT_ENEMY_ONLY, EffectController() )
    </TARGET_DEFINITION>
    <TARGET_DETERMINATION>
    return AtLeastOneTargetFromDefinition(0)
    </TARGET_DETERMINATION>
    <PLAY_TIME_ACTION target_choosing="1">
    EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_OPPONENT", EffectDC():Make_Targets(0) )
    </PLAY_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
    if target ~= nil then
       local filter = Object():GetFilter()
       filter:Clear()
       filter:AddCardType( CARD_TYPE_CREATURE )
       filter:SetPlayer( target )
       filter:SetZone( ZONE_GRAVEYARD )
       filter:NotTargetted()
       local filter_count = filter:EvaluateObjects()
       if filter_count &gt; 0 then
          local random_index = MTG():RandomNumberBetween(0, filter_count-1)
          local creature = filter:GetNthEvaluatedObject(random_index)
          if creature ~= nil then
             creature:PutIntoPlay( EffectController() )
          end
       end
    end
    </RESOLUTION_TIME_ACTION>
When you need to choose a random card from somewhere, this is the way: evaluate the filter, generate the random index, get the pointer (unless the random card is in hand: there's a specific function for that without the need of all this code).

Eesha's protection seems OK to me, what exactly doesn't work?
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Card Creation Request Thread

Postby Honeybear » 18 Mar 2013, 16:18

thefiremind wrote:Well, Tariel is totally missing the "randomness" and it's targetting the card instead of the opponent, but it's not difficult to code, I'll get to it in a couple of minutes. Eesha's protection seems OK to me, what exactly doesn't work?
Eesha does not appear in the games deckmanager, although I added it into the wads card folder and deck.xml.
If the static ability is fine, then I´m out of ideas... :mrgreen:
All fixed set patterns are incapable of adaptability or pliability. The truth is outside of all fixed patterns.

- Bruce Lee -
Honeybear
 
Posts: 20
Joined: 02 Mar 2013, 15:25
Location: Outside the bubble
Has thanked: 5 times
Been thanked: 2 times

PreviousNext

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 0 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 0 users online :: 0 registered, 0 hidden and 0 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 0 guests

Login Form