Page 3 of 10

Re: Words that Cards.txt recognizes

PostPosted: 10 Feb 2009, 20:44
by DennisBergkamp
This is a bit of a quirky one I added awhile back:

Remove three spore counters from this card: Put a 1/1 green Saproling creature token into play.

Not sure if it would be better to have this in an abbreviated form, so I just kept it the same :)

Re: Words that Cards.txt recognizes

PostPosted: 10 Feb 2009, 22:25
by Chris H.
DennisBergkamp wrote:This is a bit of a quirky one I added awhile back:

Remove three spore counters from this card: Put a 1/1 green Saproling creature token into play.

Not sure if it would be better to have this in an abbreviated form, so I just kept it the same :)
I considered adding the keyword to the list but when I checked the gatherer database I could only find cards which would require additional coding to make the card work. Sacrifice a green Saproling creature token to gain life or draw a card or some other type of ability.

I will let the gang pipe in and state their views on this. Should we include this in the list of keywords?

I'm flexible. :)

Re: Words that Cards.txt recognizes

PostPosted: 11 Feb 2009, 02:59
by Rob Cashwalker
I think any time we relate a string in the keyword to a block of code that creates a standard ability, then it qualifies for the list. The fact that they'll require a little extra code shouldn't matter. The whole point is that the common code isn't duplicated.

BTW, I'd like to suggest the following change to the pump keyword definitions on the list:

PTPump {mana cost}:{+-p}/{+-t}
KPump {mana cost}:{keyword}
PTKPump {mana cost}:{+-p}/{+-t}/{keyword}

TgtKPump {mana/tap cost}:{keyword}
TgtPTPump {mana/tap cost}:{+-p}/{+-t}
TgtPTKPump {mana/tap cost}:{+-p}/{+-t}/{keyword}

Re: Words that Cards.txt recognizes

PostPosted: 11 Feb 2009, 12:32
by Chris H.
I think any time we relate a string in the keyword to a block of code that creates a standard ability, then it qualifies for the list. The fact that they'll require a little extra code shouldn't matter. The whole point is that the common code isn't duplicated.
It came to me this morning. The keywords help the non-coders to create new cards via the keywords but it also helps the coders to create new cards by reusing the code already created.

BTW, I'd like to suggest the following change to the pump keyword definitions on the list:

PTPump {mana cost}:{+-p}/{+-t}
KPump {mana cost}:{keyword}
PTKPump {mana cost}:{+-p}/{+-t}/{keyword}

TgtKPump {mana/tap cost}:{keyword}
TgtPTPump {mana/tap cost}:{+-p}/{+-t}
TgtPTKPump {mana/tap cost}:{+-p}/{+-t}/{keyword}
Thank you. :)

Re: Words that Cards.txt recognizes

PostPosted: 11 Feb 2009, 12:34
by Chris H.
The list of keywords recognized as of MTG Forge 02-08-2009 are:

EDIT:

Some changes were recently made to this list. Please view the newer content below:
.
http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=701&p=9012#p9073

Re: Words that Cards.txt recognizes

PostPosted: 11 Feb 2009, 21:22
by MageKing17
Why do you need "PTpump", "Kpump", and "PTKpump"? Can't they all be generalized? I mean, at the very least, a "PTKpump" that gives +0/+0 is functionally identical to Kpump... I would think.

Re: Words that Cards.txt recognizes

PostPosted: 12 Feb 2009, 03:03
by Rob Cashwalker
MageKing17 wrote:Why do you need "PTpump", "Kpump", and "PTKpump"? Can't they all be generalized? I mean, at the very least, a "PTKpump" that gives +0/+0 is functionally identical to Kpump... I would think.
I gave that a bit of thought, and it seems logical. But they all have slightly different AI.

It could be done with one keyword, without even resorting to "+0/+0/Keyword" - the parameters are split by "/", so if the resulting array is one element, then it's a keyword; if it's two elements, it's a PT; and if there are three elements, then it's a PTK. But the AI code would be messy.

I'll give it some more thought... because it has some implications on implementing other keywords... like the Targeted Pump, which is already a bit too messy for my tastes, because it replicates similar code for each type of cost. But even between the different types of cost, different AI is needed - mana-only costs could be used multiple times, as opposed to tap costs, with or without mana, they only work once, so it's simpler.

Re: Words that Cards.txt recognizes

PostPosted: 12 Feb 2009, 05:40
by MageKing17
Rob Cashwalker wrote:I gave that a bit of thought, and it seems logical. But they all have slightly different AI.
...
But the AI code would be messy.
...
But even between the different types of cost, different AI is needed - mana-only costs could be used multiple times, as opposed to tap costs, with or without mana, they only work once, so it's simpler.
Surely you can just do a branching logic path based on the number of arguments. Granted, I'm saying this with no knowledge of either Java or the MTG Forge code.

Re: Words that Cards.txt recognizes

PostPosted: 12 Feb 2009, 17:29
by Chris H.
Keywords recognized as of MTG Forge 02-08-2009 are:

EDIT:

Some changes were recently made to this list. Please view the newer content below:

http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=701&p=10085#p10085

Re: Words that Cards.txt recognizes

PostPosted: 12 Feb 2009, 19:48
by mtgrares
Thanks, I'll add them to the readme file.

Re: Words that Cards.txt recognizes

PostPosted: 04 Mar 2009, 12:47
by Chris H.
Keywords recognized as of MTG Forge 03-03-2009 are:

EDIT:

Some changes were recently made to this list. Please view the newer content below:

http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=701&start=30#p10515

Re: Words that Cards.txt recognizes

PostPosted: 04 Mar 2009, 12:57
by Rob Cashwalker
Dennis also added SearchMerc.

SearchRebel and SearchMerc tutor for a very specific condition. A more generic tutor keyword could be implemented with much of the same code. I'll look into that when I have a chance unless someone beats me to it.

I think I'm going to wait on any more pump keywords until after Dennis reworks the P/T system. Besides, the AI of pumping isn't very good.

Re: Words that Cards.txt recognizes

PostPosted: 04 Mar 2009, 14:05
by Chris H.
Rob Cashwalker wrote:Dennis also added SearchMerc.
Yeah, I just came across that and I edited the list.

SearchRebel and SearchMerc tutor for a very specific condition. A more generic tutor keyword could be implemented with much of the same code. I'll look into that when I have a chance unless someone beats me to it.
While designing AI decks I discovered that tutor cards can be low mana cost. The computer can cast these tutors before it gets out a good mana base. The tutors cause the computers library to be shuffled.

I'm thinking that we need a mana test as part of the

public boolean canPlayAI()

return false if lands in play < 4

With the new merc and rebel tutors cards we may need to consider the AI part of tutoring.

I think I'm going to wait on any more pump keywords until after Dennis reworks the P/T system. Besides, the AI of pumping isn't very good.
I will try to remember to test the TgtKPump keyword now that we have this new version release.

Re: Words that Cards.txt recognizes

PostPosted: 10 Mar 2009, 12:25
by Chris H.
Keywords recognized as of MTG Forge 03-08-2009 are:

EDIT:

Some changes were recently made to this list. Please view the newer content below:

http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=701&p=10883#p10883

Re: Words that Cards.txt recognizes

PostPosted: 14 Mar 2009, 13:08
by Chris H.
Keywords recognized as of MTG Forge 03-13-2009 are:

EDIT:

Some changes were recently made to this list. Please view the newer content below:

http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=701&start=45#p12163