It is currently 17 Sep 2025, 19:07
   
Text Size

Card Contributions

Post MTG Forge Related Programming Questions Here

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

Re: Card Contributions

Postby ZzzzSleep » 24 Feb 2011, 06:42

Zirbert wrote:
slapshot5 wrote:
ZzzzSleep wrote: Is isNotPresent a valid comparison? Vintara Snapper uses it, but it didn't seem to work when I tested that either.
I'm pretty isNotPresent isn't implemented.
Sol did something neat as a workaround for isNotPresent in this post, when I was working on Kookus. Could be worth checking out:

http://www.slightlymagic.net/forum/viewtopic.php?f=52&t=3760&p=53306&hilit=Kookus#p53306
Yeah, that's what I ended up using for those Gangrenous Zombies. I'm not sure who submitted Vintara Snapper.
Zirbert wrote:Watch out for the name of Gangrenous Zombies - it needs the S on the end. Sometimes you put it there, sometimes you didn't. It's missing from the first line of the card script.
Whoops! Sorry folks! I must try harder in the future.
ZzzzSleep
 
Posts: 182
Joined: 29 Oct 2010, 02:19
Has thanked: 18 times
Been thanked: 18 times

Re: Card Contributions

Postby slapshot5 » 24 Feb 2011, 14:41

ZzzzSleep wrote:Okie dokie! I guess I looked at the wrong card to template this from. I looked at Maze of Ith, which was in my local cardsfolder, while Foxfire was not.

Code: Select all
Name:Elvish Scout
ManaCost:G
Types:Creature Elf Scout
Text:no text
PT:1/1
A:AB$Untap | Cost$ G T | ValidTgts$ Creature.attacking+YouCtrl | TgtPrompt$ Select target attacking creature you control | SubAbility$ SVar=DBPump | SpellDescription$ Untap target attacking creature you control. Prevent all combat damage that would be dealt to and dealt by that creature this turn.
SVar:DBPump:DB$Pump | Cost$ 0 | Defined$ Targeted | KW$ HIDDEN Prevent all combat damage that would be dealt to and dealt by CARDNAME.
SVar:RemAIDeck:True
SVar:Rarity:Common
End

Name:Maze of Ith
ManaCost:no cost
Types:Land
Text:no text
A:AB$Untap | Cost$ T | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | SubAbility$ SVar=DBPump | SpellDescription$ Untap target attacking creature. Prevent all combat damage that would be dealt to and dealt by that creature this turn.
SVar:DBPump:DB$Pump | Cost$ 0 | Defined$ Targeted | KW$ HIDDEN Prevent all combat damage that would be dealt to and dealt by CARDNAME.
SVar:RemAIDeck:True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/maze_of_ith.jpg
SetInfo:DRK|Uncommon|http://magiccards.info/scans/en/dk/114.jpg
End
I've reworked both Elvish Scout and Maze of Ith. In my testing (with 28 Jan 2011 version), if I used Maze of Ith or Elvish Scout on a blocked creature with trample (a groundbreaker, for example) I still had to assign trample damage, even though it wasn't applied.
Yeah, I did Maze of Ith back before Untap was in AbilityFactory. Elvish Scout looks good. Added. Also updated Maze of Ith. Thanks for reworking that one too.

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

Re: Card Contributions

Postby slapshot5 » 27 Feb 2011, 14:08

ZzzzSleep wrote:More ancient cards...
My first attempt at Gangrenous Zombie used isNotPresent instead of IsPresent with PresentCompare of EQ0. Is isNotPresent a valid comparison? Vintara Snapper uses it, but it didn't seem to work when I tested that either.
Ok, Here's the deal with this:

1. isNotPresent is implemented, but only for static pumps like Vintara Snapper uses
2. isNotPresent is *not* implemented in AbilityFactory's
3. Vintara Snapper works, but static pumps do not get rechecked when a land is tapped

So, a test case like this will fail:
0. empty battlefield
1. cast Vintara Snapper (has Shroud)
2. play a land (doesn't have shroud)
3. tap that land (doesn't have Shroud, but it should)

However, this will pass:
0. empty battlefield
1. cast Vintara Snapper (has Shroud)
2. play a land (doesn't have shroud)
3. tap that land (doesn't have Shroud, but it should)
4. Play a spell (now Vintara Snapper has Shroud)

-slapshot5
Last edited by slapshot5 on 27 Feb 2011, 16:48, edited 1 time in total.
slapshot5
Programmer
 
Posts: 1391
Joined: 03 Jan 2010, 17:47
Location: Mac OS X
Has thanked: 25 times
Been thanked: 68 times

Re: Card Contributions

Postby Replika » 27 Feb 2011, 16:42

I made some cards for my pauper decks. They worked correctly for me and are based on comparable cards. I don't know what the SVar:Picture should be though. Anyways, the cards:

Code: Select all
Name:Looter il-Kor
ManaCost:1 U
Types:Creature Kor Rogue
Text:no text
PT:1/1
K:Shadow
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever CARDNAME deals damage to an opponent, draw a card, then discard a card.
SVar:TrigDraw:AB$Draw | Cost$ 0 | NumCards$ 1 | SubAbility$ SVar=DBDiscard
SVar:DBDiscard:DB$Discard | Defined$ You | Mode$ TgtChoose | NumCards$ 1
SVar:Rarity:Common
SetInfo:TSP|Common|http://magiccards.info/scans/en/ts/66.jpg
End
Code: Select all
Name:Reap and Sow
ManaCost:3 G
Types:Sorcery
Text:no text
A:SP$Destroy | Cost$ 3 G | ValidTgts$ Land | TgtPrompt$ Select target land | PrecostDesc$ Choose one - | SpellDescription$ Destroy target land;
A:SP$ChangeZone | Cost$ 3 G | Origin$ Library | Destination$ Battlefield | ChangeType$ Land | ChangeNum$ 1 | SpellDescription$ or search your library for a land card, put that card onto the battlefield, then shuffle your library.
A:SP$Destroy | Cost$ 4 G G | ValidTgts$ Land | TgtPrompt$ Select target land | SubAbility$ SVar=DBChange | PrecostDesc$ Entwine -  | SpellDescription$ (Choose both if you pay the entwine cost.)
SVar:DBChange:DB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlefield | ChangeType$ Land | ChangeNum$ 1
SVar:Rarity:Common
SetInfo:DST|Common|http://magiccards.info/scans/en/ds/81.jpg
End
Code: Select all
Name:Aurochs Herd
ManaCost:5 G
Types:Creature Aurochs
Text:no text
PT:4/4
K:Trample
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | TriggerZones$ Battlefield | Execute$ TrigChange | Optional$ True | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for an Aurochs card, reveal it, and put it into your hand. If you do, shuffle your library.
SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Hand | ChangeType$ Card.Aurochs | ChangeNum$ 1
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/+0 until end of turn for each other attacking Aurochs
SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X
SVar:X:Count$Valid Aurochs.attacking+Other
SVar:Rarity:Common
SetInfo:CSP|Common|http://magiccards.info/scans/en/cs/103.jpg
End
Please let me know if they are way off.
Replika
 
Posts: 115
Joined: 30 Jan 2011, 21:15
Has thanked: 2 times
Been thanked: 3 times

Re: Card Contributions

Postby slapshot5 » 27 Feb 2011, 17:03

Looks good. I made some very minor changes to Looter il-Kor (added Defined$ You to Draw - not necessary, but more for clarity) and Reap and Sow (cosmetic change to show the Entwine cost to more closely match Gatherer).

All 3 added to SVN.

Oh, the picture thing is (almost) always in this form:
Code: Select all
http://www.wizards.com/global/images/magic/general/card_name.jpg
Obviously, substitute your card for card_name

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

Re: Card Contributions

Postby Hellfish » 27 Feb 2011, 19:06

slapshot5 wrote:Oh, the picture thing is (almost) always in this form:
Code: Select all
http://www.wizards.com/global/images/magic/general/card_name.jpg
Obviously, substitute your card for card_name
-slapshot5
The exception being Portal cards and Mana Crypt.
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 Contributions

Postby Zirbert » 27 Feb 2011, 22:53

I'm not sure how good this card is, but it's definitely flavourful, and the art is great. I'm also attaching a small Bat token image in case anybody else needs one (I didn't have it in my /tokens folder yet). Tested and working fine as far as I can see.

Code: Select all
Name:Skeletal Vampire
ManaCost:4 B B
Types:Creature Vampire Skeleton
Text:no text
PT:3/3
K:Flying
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, put two 1/1 black Bat creature tokens with flying onto the battlefield.
SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ B 1 1 Bat | TokenName$ Bat | TokenColors$ Black | TokenTypes$ Creature,Bat | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying  | TokenOwner$ Controller | TokenAmount$ 2
A:AB$ Token | Cost$ 3 B B Sac<1/Bat> | TokenAmount$ 2 | TokenImage$ B 1 1 Bat | TokenName$ Bat | TokenColors$ Black | TokenTypes$ Creature,Bat | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying  | TokenOwner$ Controller | SpellDescription$ Put two 1/1 black Bat creature tokens with flying onto the battlefield.
A:AB$Regenerate | Cost$ Sac<1/Bat> | SpellDescription$ Regenerate CARDNAME.
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/skeletal_vampire.jpg
SetInfo:GPT|Rare|http://magiccards.info/scans/en/gp/62.jpg
End
(Edited to add Flying. Whoops.)
Attachments
b_1_1_bat.jpg
b_1_1_bat.jpg (9.23 KiB) Viewed 5222 times
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: Card Contributions

Postby Zirbert » 28 Feb 2011, 01:31

And Skeletal Vampire needs another friend. The only other bats or bat token-makers I can find either have Haunt or are Sengir Nosferatu, which doesn't quite look scriptable to me. Feel free to prove me wrong on that.

Code: Select all
Name:Grimclaw Bats
ManaCost:1 B
Types:Creature Bat
Text:no text
PT:1/1
K:Flying
A:AB$Pump | Cost$ B PayLife<1> | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ CARDNAME gets +1/+1 until end of turn.
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/grimclaw_bats.jpg
SetInfo:DST|Common|http://magiccards.info/scans/en/ds/45.jpg
End
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: Card Contributions

Postby Zirbert » 28 Feb 2011, 03:29

Another guy who brings friends, with an attached token image for said friends.

Code: Select all
Name:Hearthcage Giant
ManaCost:6 R R
Types:Creature Giant Warrior
Text:no text
PT:5/5
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, put two 3/1 red Elemental Shaman creature tokens onto the battlefield.
SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ R 3 1 Elemental Shaman | TokenName$ Elemental Shaman | TokenColors$ Red | TokenTypes$ Creature,Elemental,Shaman | TokenPower$ 3 | TokenToughness$ 1 | TokenOwner$ Controller | TokenAmount$ 2
A:AB$Pump | Cost$ Sac<1/Elemental> | ValidTgts$ Creature.Giant | TgtPrompt$ Select target Giant creature | NumAtt$ +3 | NumDef$ +1 | SpellDescription$ Target Giant creature gets +3/+1 until end of turn.
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/hearthcage_giant.jpg
SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/174.jpg
End
Attachments
r_3_1_elemental_shaman.jpg
r_3_1_elemental_shaman.jpg (5.9 KiB) Viewed 5209 times
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: Card Contributions

Postby Chris H. » 28 Feb 2011, 13:53

I added your last three cards to the SVN, thank you Zirbert.
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Card Contributions

Postby ZzzzSleep » 01 Mar 2011, 02:01

Ancient token producer that can generate mana!
Code: Select all
Name:Jungle Patrol
ManaCost:3 G
Types:Creature Human Soldier
Text:no text
PT:3/2
A:AB$Token | Cost$ 1 G T | TokenAmount$ 1 | TokenName$ Wood | TokenTypes$ Creature,Wall | TokenOwner$ Controller | TokenColors$ Green | TokenPower$ 0 | TokenToughness$ 1 | TokenKeywords$ Defender | SpellDescription$ Put a 0/1 green Wall creature token with defender named Wood onto the battlefield.
A:AB$ Mana | Cost$ Sac<1/Creature.token+namedWood> | CostDesc$ Sacrifice a token named Wood: | Produced$ R | SpellDescription$ Add R to your mana pool.
SVar:Rarity:Rare
End
ZzzzSleep
 
Posts: 182
Joined: 29 Oct 2010, 02:19
Has thanked: 18 times
Been thanked: 18 times

Re: Card Contributions

Postby Chris H. » 01 Mar 2011, 14:49

I merged Jungle Patrol into the SVN, thank you ZzzzSleep.
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Card Contributions

Postby ZzzzSleep » 02 Mar 2011, 02:23

Two more random cards:
Code: Select all
Name:Thunderbolt
ManaCost:1 R
Types:Instant
Text:no text
A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Player | NumDmg$ 3 | SpellDescription$ Choose one - CARDNAME deals 3 damage to target player
A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature.withFlying | NumDmg$ 4 | SpellDescription$ or CARDNAME deals 4 damage to target creature with flying.
SVar:RemAIDeck:True
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/thunderbolt.jpg
End

Name:Simoon
ManaCost:R G
Types:Instant
Text:no text
A:SP$ DamageAll | Cost$ R G | NumDmg$ 1 | ValidCards$ Creature.YouDontCtrl | ValidDescription$ each creature target opponent controls. | SpellDescription$ CARDNAME deals 1 damage to each creature target opponent controls.
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/simoon.jpg
End
Simoon isn't 100% because it doesn't target the opponent, but there are other cards like it that have been contributed already, such as Theft of Dreams.

p.s. Was Eater of the Dead missed, or is it not fitting the card's functionality properly?
ZzzzSleep
 
Posts: 182
Joined: 29 Oct 2010, 02:19
Has thanked: 18 times
Been thanked: 18 times

Re: Card Contributions

Postby ZzzzSleep » 03 Mar 2011, 02:03

One old and one new card
Code: Select all
Name:Thermopod
ManaCost:4 R
Types:Snow Creature Slug
Text:no text
PT:4/3
A:AB$ Mana | Cost$ Sac<1/Creature> | Produced$ R | SpellDescription$ Add R to your mana pool.
A:AB$Pump | Cost$ S | KW$ Haste | SpellDescription$ CARDNAME gains haste until end of turn.
SVar:RemAIDeck:True
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/thermopod.jpg
End
Code: Select all
Name:Griffin Canyon
ManaCost:no cost
Types:Land
Text:no text
A:AB$ Mana | Cost$ T | Produced$ 1 | SpellDescription$ Add 1 to your mana pool.
A:AB$Untap | Cost$ T | ValidTgts$ Griffin | TgtPrompt$ Select target Griffin | SubAbility$ SVar=DBPump | SpellDescription$ Untap target Griffin. If it's a creature, it gets +1/+1 until end of turn.
SVar:DBPump:DB$Pump | Cost$ 0 | Defined$ Targeted | NumAtt$ +1 | NumDef$ +1
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/griffin_canyon.jpg
End
Both have been tested, and appear to work well.
ZzzzSleep
 
Posts: 182
Joined: 29 Oct 2010, 02:19
Has thanked: 18 times
Been thanked: 18 times

Re: Card Contributions

Postby Zirbert » 03 Mar 2011, 03:40

A reminder of how insular the Kamigawa block really was. I'm kind of glad I sat that one out back in the day. Tested and working, but I figured the AI probably couldn't be trusted not to wipe out its own creatures with it.

Code: Select all
Name:Earthshaker
ManaCost:4 R R
Types:Creature Spirit
Text:no text
PT:4/5
T:Mode$ SpellCast | ValidCard$ Card.Spirit,Card.Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigTremor | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, CARDNAME deals 2 damage to each creature without flying.
SVar:TrigTremor:AB$ DamageAll | Cost$ 0 | ValidCards$ Creature.withoutFlying | NumDmg$ 2 | ValidDescription$ each creature without flying. | SpellDescription$ CARDNAME deals 2 damage to each creature without flying.
SVar:RemAIDeck:True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/earthshaker.jpg
SetInfo:CHK|Uncommon|http://magiccards.info/scans/en/chk/165.jpg
End
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 44 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 44 users online :: 0 registered, 0 hidden and 44 guests (based on users active over the past 10 minutes)
Most users ever online was 7967 on 09 Sep 2025, 23:08

Users browsing this forum: No registered users and 44 guests

Login Form