It is currently 26 Apr 2024, 03:20
   
Text Size

Card Contributions

Post MTG Forge Related Programming Questions Here

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

Re: Card Contributions

Postby Zirbert » 04 Feb 2011, 01:04

Code: Select all
Name:Llanowar Sentinel
ManaCost:2 G
Types:Creature Elf
Text:no text
PT:2/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, you may pay 1 G. If you do, search your library for a card named CARDNAME and put that card onto the battlefield. Then shuffle your library.
SVar:TrigChange:AB$ChangeZone | Cost$ 1 G | Origin$ Library | Destination$ Battlefield | ChangeType$ Card.namedLlanowar Sentinel | ChangeNum$ 1
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/llanowar_sentinel.jpg
SetInfo:WTH|Common|http://magiccards.info/scans/en/wl/76.jpg
SetInfo:10E|Common|http://magiccards.info/scans/en/10e/275.jpg
End
This one's mostly based on Welkin Hawk, with the appropriate tweaks. I had expected to need a "Shuffle$ True" clause, but it makes sense that shuffling seems to be automatically part of the search routine.

I'll definitely be tweaking my local copy of this one to stick with the Weatherlight art, not the 10E version.
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: Card Contributions

Postby Zirbert » 04 Feb 2011, 01:24

Code: Select all
Name:Avarax
ManaCost:3 R R
Types:Creature Beast
Text:no text
PT:3/3
K:Haste
A:AB$Pump | Cost$ 1 R | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | TriggerZones$ Battlefield | Optional$ True | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for a card named CARDNAME, 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.namedAvarax | ChangeNum$ 1
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/avarax.jpg
SetInfo:ONS|Uncommon|http://magiccards.info/scans/en/on/187.jpg
End
I'm going to try to get several more of these type done (when X happens, search your library for a card named Y). It seems pretty easy and efficient to just plow through them as a group. I'll attach a zip with them tonight (hopefully - it may be tomorrow, or....).
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: Card Contributions

Postby Zirbert » 04 Feb 2011, 04:08

There, the easy ones are done. A zip file is attached containing all five that I did today - Llanowar Sentinel, Screaming Seahawk, Daru Cavalier, Avarax, and Embermage Goblin.

Code: Select all
Name:Daru Cavalier
ManaCost:3 W
Types:Creature Human Soldier
Text:no text
PT:2/2
K:First Strike
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | TriggerZones$ Battlefield | Optional$ True | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for a card named CARDNAME, 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.namedDaru Cavalier | ChangeNum$ 1
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/daru_cavalier.jpg
SetInfo:ONS|Common|http://magiccards.info/scans/en/on/18.jpg
End
Code: Select all
Name:Embermage Goblin
ManaCost:3 R
Types:Creature Goblin Wizard
Text:no text
PT:1/1
A:AB$DealDamage | Cost$ T | Tgt$ TgtCP | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature or player.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | TriggerZones$ Battlefield | Optional$ True | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for a card named CARDNAME, 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.namedEmbermage Goblin | ChangeNum$ 1
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/embermage_goblin.jpg
SetInfo:ONS|Uncommon|http://magiccards.info/scans/en/on/200.jpg
End
Code: Select all
Name:Screaming Seahawk
ManaCost:4 U
Types:Creature Bird
Text:no text
PT:2/2
K:Flying
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | TriggerZones$ Battlefield | Optional$ True | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for a card named CARDNAME, 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.namedScreaming Seahawk | ChangeNum$ 1
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/screaming_seahawk.jpg
SetInfo:ONS|Common|http://magiccards.info/scans/en/on/112.jpg
End
I'm stopping here for now because that's all the easy ones. I'm working on some now that may be a little tricker (Behemoth's Herald and the others in its cycle - well, the ones whose library targets we have already, at least). No telling how long it'll take me to get them working (or whether I'll be able to).
Attachments
ETB - Search Cards.zip
(2.75 KiB) Downloaded 208 times
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: Card Contributions

Postby Sloth » 04 Feb 2011, 06:33

I've added your EtB - Search Cards Zirbert, but Daru Cavalier was already added to the SVN. You should really try to use Snacko's script to be up to date with the SVN.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Card Contributions

Postby Zirbert » 04 Feb 2011, 11:28

Sloth wrote:I've added your EtB - Search Cards Zirbert, but Daru Cavalier was already added to the SVN. You should really try to use Snacko's script to be up to date with the SVN.
Yeah, that's twice now I've done that. I just do a search of the forum and browse the last few pages of the changelog (which doesn't seem searchable in the sense of "find changes containing this text", as far as I can tell).

Problem is, I'm on Linux. I've actually considered downloading the latest source and compiling, but I have absolute zero clue how to do that. Maybe I'll can see if I can get the script to run in Wine. I don't mind coding duplicates - it's good practice - but it's a pain for whoever commits them for me.

-Zirbert
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: Card Contributions

Postby Chris H. » 04 Feb 2011, 11:52

Zirbert wrote:
Sloth wrote:I've added your EtB - Search Cards Zirbert, but Daru Cavalier was already added to the SVN. You should really try to use Snacko's script to be up to date with the SVN.
Yeah, that's twice now I've done that. I just do a search of the forum and browse the last few pages of the changelog (which doesn't seem searchable in the sense of "find changes containing this text", as far as I can tell).

Problem is, I'm on Linux. I've actually considered downloading the latest source and compiling, but I have absolute zero clue how to do that. Maybe I'll can see if I can get the script to run in Wine. I don't mind coding duplicates - it's good practice - but it's a pain for whoever commits them for me.
`
It is not to hard to find and install the software that the devs use. Most of us are using Eclipse, Subclipse and Subversion. We have a forum topic devoted to helping people set this up at How to get started?

If you follow the instructions you should find that it is not too difficult to import the code plus data files found on the SVN to a local project that would be built on your local machine using Eclipse. There is a simple Eclipse command that you can use to merge all of the new work (sync) into your local copy.

This will keep you up to date with the most recent revision of forge. Granted, Snacko's scripts are less work. But anyone who can figure out how to script a card using the AF + Trigger system should also be able to find, install and configure the three pieces of software. :wink:

Oh, and I would also like to take this moment thanking all of the new devs for their help and dedication. So, thank you (in no particular order):

Jeff Wadsworth
SoulStorm
Jaedayr
PhoenixAvenger
jhhh
LazyLockie
Zirbert
Fnoed
Gofishus
Bladescape
Choppic
Sentient6

and a thank you to anyone that I may have missed. :D
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 Zirbert » 04 Feb 2011, 13:17

This one has a slightly odd quirk, but it works correctly:

Code: Select all
Name:Archdemon of Unx
ManaCost:5 B B
Types:Creature Demon
Text:no text
PT:6/6
K:Flying
K:Trample
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a non-Zombie creature, then put a 2/2 black Zombie creature token onto the battlefield.
SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Creature.nonZombie | SacMessage$ non-Zombie Creature | SubAbility$ SVar=MakeToken
SVar:MakeToken:DB$Token | TokenImage$ B 2 2 Zombie | TokenName$ Zombie | TokenColors$ Black | TokenTypes$ Creature,Zombie | TokenPower$ 2 | TokenToughness$ 2 | TokenOwner$ Controller | TokenAmount$ 1
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/archdemon_of_unx.jpg
SetInfo:ALA|Rare|http://magiccards.info/scans/en/ala/64.jpg
End
The quirk is that when the upkeep trigger happens, the zombie enters the battlefield before the nonzombie is selected for sacrifice. That's OK in this case, but wasn't what I expected. I thought the sacrifice would happen, including selecting the creature to be sacced and it hitting the graveyard, and then the new zombie would show up - i.e., at no time would the sac victim and the new zombie be on the board at the same time.

This card is functional, because of the nonZombie clause on the sacrifice, but if that clause wasn't there you could sac the newly minted zombie, which isn't how the card is supposed to work.

If there's a way to force that "then" clause between the two abilities, so the sacrifice resolves completely before the zombie shows up, I'm open to correction as always.


As for the SVN matter, I'm sure I can get it up and running. Really, all I want is the ability to check the latest version of cardsfolder to avoid scripting duplicate cards, so as long as I can get as far as extracting that folder, I'm good. I'm not too worried about having the latest run-forge.jar execute, and I have no interest (or capability) in coding other than card scripting. Although it would be nice for testing purposes, so if / when I start dabbling with the svn, I'll probably slide down that slippery slope before long.
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: Card Contributions

Postby friarsol » 04 Feb 2011, 14:49

Zirbert wrote:This card is functional, because of the nonZombie clause on the sacrifice, but if that clause wasn't there you could sac the newly minted zombie, which isn't how the card is supposed to work.
This is similar to another issue I fixed recently. Forge doesn't have a "Wait for Input to finish" so when an input happens, it tries to do as much as it can before the Input is handled. This includes completely resolving an ability. This does need to be changed to handle timing of certain cards properly, but since there isn't really any architecture in place to build off of, it'll have to wait

As for the SVN matter, I'm sure I can get it up and running. Really, all I want is the ability to check the latest version of cardsfolder to avoid scripting duplicate cards, so as long as I can get as far as extracting that folder, I'm good. I'm not too worried about having the latest run-forge.jar execute, and I have no interest (or capability) in coding other than card scripting. Although it would be nice for testing purposes, so if / when I start dabbling with the svn, I'll probably slide down that slippery slope before long.
As far as the SVN goes you could just get an SVN client (like maybe RabbitVCS http://rabbitvcs.org/) and just download the Read-Only version of the source. This way whenever you want to do cards you can sync, open up /cardsfolder/ and see if the card you want to do is there. You don't need to be able to compile just to download the source, nor see what is in cardsfolder.

And I agree that, surprisingly, code.google's search sucks. I'm not sure why.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Contributions

Postby Zirbert » 04 Feb 2011, 16:30

friarsol wrote:As far as the SVN goes you could just get an SVN client (like maybe RabbitVCS http://rabbitvcs.org/) and just download the Read-Only version of the source. This way whenever you want to do cards you can sync, open up /cardsfolder/ and see if the card you want to do is there. You don't need to be able to compile just to download the source, nor see what is in cardsfolder.
Actually, I just poked around a bit, and it looks like http://cardforge.googlecode.com/svn/src/res/cardsfolder/ lists what's in the latest build of cardsfolder. That'll do the trick!
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: Card Contributions

Postby jeffwadsworth » 04 Feb 2011, 19:01

Zirbert wrote:
Sloth wrote:I've added your EtB - Search Cards Zirbert, but Daru Cavalier was already added to the SVN. You should really try to use Snacko's script to be up to date with the SVN.
Yeah, that's twice now I've done that. I just do a search of the forum and browse the last few pages of the changelog (which doesn't seem searchable in the sense of "find changes containing this text", as far as I can tell).

Problem is, I'm on Linux. I've actually considered downloading the latest source and compiling, but I have absolute zero clue how to do that. Maybe I'll can see if I can get the script to run in Wine. I don't mind coding duplicates - it's good practice - but it's a pain for whoever commits them for me.

-Zirbert
Zirbert, trust me, if an absolute bona fide moron like myself can set it up; you should have no problem at all getting it done. Check that set up thread and pay special attention to this post:

viewtopic.php?f=52&t=1093&start=15#p44510

Cheers.
jeffwadsworth
Super Tester Elite
 
Posts: 1171
Joined: 20 Oct 2010, 04:47
Location: USA
Has thanked: 287 times
Been thanked: 69 times


Re: Card Contributions

Postby Zirbert » 04 Feb 2011, 23:14

friarsol wrote:There's definitely not enough Tempest cards. So here's another list that looks like it can be done.
A few of them I put question marks afterwards or other notes. Those I'm less sure of, but it's possible a few may not be possible for other reasons.
Code: Select all
Aftershock
Angelic Protector
Apes of Rath
Bellowing Fiend
Blood Frenzy
Carrionette
Cinder Marsh
Cold Storage (needs Journey bug to be fixed)
Crazed Armodon
Crown of Flames
Dauthi Mindripper
Dregs of Sorrow
Eladamri's Vineyard
Elite Javelineer
Escaped Shapeshifter (needs notnamed in hasProperty)
Field of Souls
Fool's Tome
Fugitive Druid?
Heartwood Giant
Imps' Taunt
Interdict?
Kezzerdrix
Knight of Dusk
Mana Severance
Maze of Shadows
Meditate
Mindwhip Sliver
Mnemonic Sliver
Mogg Cannon
Mogg Hollows
Orim's Prayer?
Pallimud
Patchwork Gnomes
Phyrexian Grimoire
Renegade Warlord
Rootwater Depths
Sadistic Glee
Safeguard
Sarcomancy
Scalding Tongs
Searing Touch
Segmented Wurm
Servant of Volrath
Skyshroud Ranger
Spirit Mirror
Telethopter
Thalakos Lowlands
Thalakos Mistfolk
Thumbscrews
Tooth and Claw
Vec Townships
Worthy Cause
I had already looked at Mana Severance (which would also give us Selective Memory with a single tweak), and didn't think it could be done yet as text. There's some discussion about it on another thread. Maybe the engine issues have been resolved.

I had some of these on my own "I might be able to do these ones" list. I'll give some of them a shot. I'm not calling dibs or anything - I'll keep an eye here and on the SVN, and try not to post anything that anyone else raced me to (and feel free to do so!). However, I will say that Apes of Rath is my first pick, because the only things I like better than zombies are monkeys.

Hmmm. Off to Gatherer - I must know whether there are any Zombie Apes. Changelings and Mistform Ultimus don't count. Posers.

-Zirbert
Zirbert
 
Posts: 512
Joined: 13 Oct 2010, 16:04
Has thanked: 104 times
Been thanked: 19 times

Re: Card Contributions

Postby friarsol » 04 Feb 2011, 23:23

Here are some Stronghold. Same caveats as above. I might post something that looks possible, but for some quirk or another it isn't.

Code: Select all
Bottomless Pit
Bullwhip
Change of Heart
Constant Mists?
Elven Rite (similat to Contagion)
Heat of Battle?
Hibernation Sliver
Lowland Basilisk
Mogg Bombers
Morgue Thrull
Mortuary
Portcullis (should work once Journey bug is fixed)
Rabid Rats
Scapegoat
Seething Anger
Skyshroud Archer
Spike Soldier
Thalakos Deceiver
Walking Dream
Wall of Essence
Wall of Souls
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Contributions

Postby jeffwadsworth » 04 Feb 2011, 23:26

I am positive the crew can knock these out by the end of the weekend.
jeffwadsworth
Super Tester Elite
 
Posts: 1171
Joined: 20 Oct 2010, 04:47
Location: USA
Has thanked: 287 times
Been thanked: 69 times

Re: Card Contributions

Postby lazylockie » 04 Feb 2011, 23:34

jeffwadsworth wrote:I am positive the crew can knock these out by the end of the weekend.
yeah, but we gotta split those cards so we don't end up doing the same ones.
lazylockie
 
Posts: 508
Joined: 13 Jul 2010, 22:44
Has thanked: 74 times
Been thanked: 15 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 108 guests


Who is online

In total there are 108 users online :: 0 registered, 0 hidden and 108 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 108 guests

Login Form