It is currently 09 Jun 2025, 08:53
   
Text Size

Card Development Questions

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Card Development Questions

Postby slapshot5 » 11 Apr 2011, 21:01

re: Wall of Tombstones

add:

Permanent$ True

to the Animate
slapshot5
Programmer
 
Posts: 1391
Joined: 03 Jan 2010, 17:47
Location: Mac OS X
Has thanked: 25 times
Been thanked: 68 times

Re: Card Development Questions

Postby Jaedayr » 22 Apr 2011, 18:40

Wormfang Drake, as coded below appears to work. But I am not sure of the Champion mechanism and hope someone with more knowledge than me can say if it works properly.

Here is an example: I have a creature in play and cast the drake. The creature in play is exiled and the drake is active. Then I cast a second drake, exiling the first drake. When the first drake is exiled, the original creature comes back into play. Is that the way it should work?

Code: Select all
Name:Wormfang Drake
ManaCost:2 U
Types:Creature Nightmare Drake
Text:no text
PT:3/4
K:Flying
K:Champion:Creature
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/wormfang_drake.jpg
SetInfo:JUD|Common|http://magiccards.info/scans/en/ju/57.jpg
End
Jaedayr
Tester
 
Posts: 523
Joined: 08 Jul 2010, 00:06
Has thanked: 16 times
Been thanked: 13 times

Re: Card Development Questions

Postby Jaedayr » 22 Apr 2011, 20:01

Trying another card and have a couple questions.

If I have exactly six cards in my graveyard when the werewolf gets killed, it triggers the threshold condition as it leaves the battlefield. Is this correct or should threshold be true before it starts to leave?

How should the descriptions be handled to make the most sense without duplication? Should the two actions (pump and lose life) be separate and each have Threshold? If I leave off the triggerdescription then the message on the stack is blank but the card description on the playing field is not duplicated.

Code: Select all
Name:Treacherous Werewolf
ManaCost:2 B
Types:Creature Human Wolf Minion
Text:no text
PT:2/2
K:stPumpSelf:Creature:2/2:Threshold:Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +2/+2 and has "When CARDNAME is put into a graveyard from the battlefield, you lose 4 life."
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Threshold$ True | Execute$ YouLoseLife | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, you lose 4 life.
SVar:YouLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ 4
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/treacherous_werewolf.jpg
SetInfo:JUD|Common|http://magiccards.info/scans/en/ju/76.jpg
End
Jaedayr
Tester
 
Posts: 523
Joined: 08 Jul 2010, 00:06
Has thanked: 16 times
Been thanked: 13 times

Re: Card Development Questions

Postby eidolon » 23 Apr 2011, 19:16

It is always a good idea to check a site like http://magiccards.info/ for the rulings first.
Here is an example: I have a creature in play and cast the drake. The creature in play is exiled and the drake is active. Then I cast a second drake, exiling the first drake. When the first drake is exiled, the original creature comes back into play. Is that the way it should work?
Yes, that is what the card is supposed to do.

Treacherous Werewolf:
"The Threshold ability can't count this card (soon to be in the graveyard) when checking for Threshold."
So you should not lose any life when the card dies with 6 other cards in your graveyard.
eidolon
 
Posts: 56
Joined: 15 Sep 2009, 22:12
Location: Bavaria, Germany
Has thanked: 0 time
Been thanked: 0 time

Re: Card Development Questions

Postby Jaedayr » 24 Apr 2011, 02:08

eidolon wrote:Treacherous Werewolf:
"The Threshold ability can't count this card (soon to be in the graveyard) when checking for Threshold."
So you should not lose any life when the card dies with 6 other cards in your graveyard.
Thank you for the info, I guess we need to add this to the "to-do" list since it does not work like that currently. I will hold off on committing this for now.
Jaedayr
Tester
 
Posts: 523
Joined: 08 Jul 2010, 00:06
Has thanked: 16 times
Been thanked: 13 times

Re: Card Development Questions

Postby eidolon » 25 Apr 2011, 14:40

I wanted to add Blood Tribute, but apparently, the values for X get recalculated for the SubAbilities. Does anybody have an idea how this can be fixed?
Code: Select all
Name:Blood Tribute
ManaCost:4 B B
Types:Sorcery
Text:no text
A:SP$ LoseLife | Cost$ 4 B B | ValidTgts$ Opponent | TgtPrompt$ Select target Opponent | LifeAmount$ X | SpellDescription$ Target opponent loses half his or her life, rounded up. If CARDNAME was kicked, you gain life equal to the life lost this way.
A:SP$ LoseLife | Cost$ 4 B B | ValidTgts$ Opponent | TgtPrompt$ Select target Opponent | LifeAmount$ X | SubAbility$ SVar=DBGainLife | SpellDescription$ Kicker Tap an untapped Vampire you control. (You may tap a Vampire you control in addition to any other costs as you cast this spell.)
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X
SVar:X:Count$OppLifeTotal/HalfUp
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/blood_tribute.jpg
SetInfo:ZEN|Rare|http://magiccards.info/scans/en/zen/81.jpg
End
eidolon
 
Posts: 56
Joined: 15 Sep 2009, 22:12
Location: Bavaria, Germany
Has thanked: 0 time
Been thanked: 0 time

Re: Card Development Questions

Postby SoulStorm » 12 May 2011, 12:29

:Mephidross Vampire

My attempt to add this card was going well until the very end when I realized that the Defined$ doesn't yet support the option I need which I believe would be "Source" derived from the ValidSource$. I'm just using Defined$ Self as a placeholder, I know that's not right. Is there another way to implement this card I may be missing?

Code: Select all
Name:Mephidross Vampire
ManaCost:4 B B
Types:Creature Vampire
Text:no text
PT:3/4
K:stPumpAll:Creature.YouCtrl:0/0/Types=Vampire:No Condition:Each creature you control is a Vampire in addition to its other types and has "Whenever this creature deals damage to a creature, put a +1/+1 counter on this creature."
T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Creature | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Each creature you control is a Vampire in addition to its other types and has "Whenever this creature deals damage to a creature, put a +1/+1 counter on this creature."
SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 
SVar:PlayMain1:TRUE
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/mephidross_vampire.jpg
End
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby Sloth » 12 May 2011, 12:35

SoulStorm wrote::Mephidross Vampire

My attempt to add this card was going well until the very end when I realized that the Defined$ doesn't yet support the option I need which I believe would be "Source" derived from the ValidSource$. I'm just using Defined$ Self as a placeholder, I know that's not right. Is there another way to implement this card I may be missing?

Code: Select all
Name:Mephidross Vampire
ManaCost:4 B B
Types:Creature Vampire
Text:no text
PT:3/4
K:stPumpAll:Creature.YouCtrl:0/0/Types=Vampire:No Condition:Each creature you control is a Vampire in addition to its other types and has "Whenever this creature deals damage to a creature, put a +1/+1 counter on this creature."
T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Creature | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Each creature you control is a Vampire in addition to its other types and has "Whenever this creature deals damage to a creature, put a +1/+1 counter on this creature."
SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 
SVar:PlayMain1:TRUE
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/mephidross_vampire.jpg
End
I think "TriggeredSource" should do the trick.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Card Development Questions

Postby SoulStorm » 12 May 2011, 13:04

Awesome, thanks Sloth! I looked in the Wiki, but I didn't see it there. I either wasn't looking in the right place, or it hasn't been listed yet.
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby Hellfish » 12 May 2011, 19:03

The Triggered-variables are listed under the trigger they are associated with, on the triggers-page. :)
So now you're
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
User avatar
Hellfish
Programmer
 
Posts: 1297
Joined: 07 Jun 2009, 10:41
Location: South of the Pumphouse
Has thanked: 110 times
Been thanked: 169 times

Re: Card Development Questions

Postby Jaedayr » 12 May 2011, 19:36

Is there a way to make this work easily? It is currently possible to cast it without sacrificing the forest. Can AB$Sacrifice be given two targets and force one of them to be chosen?

Code: Select all
Name:Rogue Elephant
ManaCost:G
Types:Creature Elephant
Text:no text
PT:3/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you sacrifice a Forest.
SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Land.Forest
SVar:RemAIDeck:True
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/rogue_elephant.jpg
SetInfo:WTH|Common|http://magiccards.info/scans/en/wl/81.jpg
End
Jaedayr
Tester
 
Posts: 523
Joined: 08 Jul 2010, 00:06
Has thanked: 16 times
Been thanked: 13 times

Re: Card Development Questions

Postby Sloth » 12 May 2011, 19:45

Jaedayr wrote:Is there a way to make this work easily? It is currently possible to cast it without sacrificing the forest. Can AB$Sacrifice be given two targets and force one of them to be chosen?

Code: Select all
Name:Rogue Elephant
ManaCost:G
Types:Creature Elephant
Text:no text
PT:3/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you sacrifice a Forest.
SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Land.Forest
SVar:RemAIDeck:True
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/rogue_elephant.jpg
SetInfo:WTH|Common|http://magiccards.info/scans/en/wl/81.jpg
End
Unfortunately this is not possible at the moment. Having unless costs is on our list of things to add.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Card Development Questions

Postby SoulStorm » 14 May 2011, 09:58

: Protean Hulk

Is there a way to code this card correctly? Seems you would need code to allow one to choose cards until one has chosen cards with a total cmcLE6. You could probably expand ChangeNum$ to accept cmcLEx (cmcLE6 in this case of this card) which would allow one to choose cards until one reached a total cmcLEx.

Code: Select all
Name:Protean Hulk
ManaCost:5 G G
Types:Creature Beast
Text:no text
PT:6/6
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, search you libray for any number of creature cards with total converted mana cost 6 or less and put them onto the battlefield.  Then shuffle your library.
SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.cmcLE6 | ChangeNum$ 1
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/protean_hulk.jpg
End
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby slapshot5 » 14 May 2011, 13:50

SoulStorm wrote:: Protean Hulk

Is there a way to code this card correctly? Seems you would need code to allow one to choose cards until one has chosen cards with a total cmcLE6. You could probably expand ChangeNum$ to accept cmcLEx (cmcLE6 in this case of this card) which would allow one to choose cards until one reached a total cmcLEx.

Code: Select all
Name:Protean Hulk
ManaCost:5 G G
Types:Creature Beast
Text:no text
PT:6/6
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, search you libray for any number of creature cards with total converted mana cost 6 or less and put them onto the battlefield.  Then shuffle your library.
SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.cmcLE6 | ChangeNum$ 1
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/protean_hulk.jpg
End
Have a look at Nissa Revane and see if that helps. Not sure if that will work with cmcLE6?
slapshot5
Programmer
 
Posts: 1391
Joined: 03 Jan 2010, 17:47
Location: Mac OS X
Has thanked: 25 times
Been thanked: 68 times

Re: Card Development Questions

Postby SoulStorm » 14 May 2011, 20:48

Based upon your suggestion Slapshot, I tried the following code, but now no cards can be put into play. Other suggestions, or do you believe the infrastructure necessary isn't in place yet?

Code: Select all
Name:Protean Hulk
ManaCost:5 G G
Types:Creature Beast
Text:no text
PT:6/6
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, search you libray for any number of creature cards with total converted mana cost 6 or less and put them onto the battlefield.  Then shuffle your library.
SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.cmcLE6 | ChangeNum$ XFetch
SVar:XFetch:Count$cmcLE6
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/protean_hulk.jpg
End
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 19 guests


Who is online

In total there are 19 users online :: 0 registered, 0 hidden and 19 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 19 guests

Login Form