Commit Graph

356 Commits

Author SHA1 Message Date
solo81@web.de f0896a29d9 Added a test for Brainstorm.
This is my first test addition! 

^^ I will now do my best to create tests for all new greater card groups for Wagic 0.12.1.
2010-05-08 18:35:27 +00:00
wagic.the.homebrew@gmail.com 0149512412 Erwan
- fixed bugs introduced in revision 2034 (Giant Growth)
- Extended Story mode xml: much easier to write basic thing, font selection, possibility to position answers, answers now in correct order
- moved story in the menu because it is not major for now
2010-05-06 13:47:56 +00:00
salmelo16 be1a52f660 Update this(X) so that it works with spells as well as activated abilities. Also fixed a bug were this(X) did not work with targeting.
Adds Martial Coup
2010-04-17 19:45:57 +00:00
salmelo16 9cf4c7587b added ability to have triggered abilities target based on the event that triggered, bramblewood paragon, graft, etc.
use "trigger" inside target code of triggered ability.
does not work with @each and @next.
@damaged can use trigger[to] and trigger[from] to specify the target or source of the damage, respectively.

Adds cards:
Aether Flash
Bramblewood Paragon
In the Web of War
Juniper Order Ranger
Mortuary
Primal Forcemage
Fungus Sliver
Simic Initiate

as well as a test file for feral hydra, missing from my last commit.
and daily build.
2010-04-03 23:50:39 +00:00
salmelo16 3a61eba007 allow to use X as the number of counters. daily build.
Added feral hydra.
2010-03-30 22:34:25 +00:00
salmelo16 a06980a197 added new auto keys, this and thisforeach, functionallity similair to aslongas and foreach, but for properties of the card as opposed to cards on the field. More details in first comment. 2010-03-28 02:21:25 +00:00
solo81@web.de a2987f7b0e This is another patch by salmelo.
It fixes several problems with the newly introduced improvements concerning Counters.

Added 8 successfully tested cards, 1 of them is DARK DEPTHS!

Daily_Build update

Complete list in the first comment.
2010-03-25 23:28:55 +00:00
solo81@web.de 07361b19f5 This is another patch by the great newcomer salmelo.
Salmelo:"Here is another patch, this time adding counters to target specifications, so now you should be able to target things with counters on them as well as use counters for criterion for Lord, aslongas, foreach, etc.
I had to muddle the syntax a little bit though, so heres an example, taken from gwafa hazid, whom I added to the primitives to test with.

lord(creature[counter{0/0.1.Bribe}]|opponentbattlefield) cantattack

obviously the part we are worried about is the counter part, note that those are curly braces { } and periods . instead of parentheses ( ) and commas , this is so that it does not conflict with how targets are normally parsed, which it did before I changed those. Counters still work the same way everywhere else though, you only need to use { } and periods in target code.

Also, you can use counter{any} to specify that it should look for things with any kind of counter on them, not just specific ones, this is used by Kulrath Knight, for example.

I also consolidated most of the code used to parse counter specifications, as it seemed unnecessary duplicating it three times.

Anyway, aside from this major addition, I also added Gwafa Hazid, Profiteer; and Kulrath Knight to the primitives, as well as a test file for each to make sure it worked.

Hopefully y'all will find this patch useful.

Oh, and I should point out that it only works with one Counter in the target specification, i imagine if you put two in the same one then it would either overwrite the first with the second or merge them into some sort of hybrid counter monstrosity, either way, I wouldn't suggest it. "

Cards with vanishing are also codable now. Have a look at the comments for explanation.

daily_build.
2010-03-24 21:15:34 +00:00
wagic.the.homebrew@gmail.com 22a35d2265 Erwan
- Added remove/add counters as a cost, patch by Salmelo, thanks man!. See primitives/mtg.txt -> Thallid to see how it works
- added test for i286 by salmelo
- added basic display for counters (this needs improvement) by salmelo
2010-03-22 04:26:42 +00:00
wagic.the.homebrew@gmail.com 99db31fe9d Erwan
-Kjeldoran_frostbeast fix i167 by salmelo
2010-03-22 03:13:40 +00:00
wagic.the.homebrew@gmail.com d1d465c50f Erwan
- added test for issue 335
2010-03-04 13:09:43 +00:00
wagic.jeck 907c0b7b5d Jeck - Test for Oneblocker ability, r1837. 2010-02-08 18:32:42 +00:00
wagic.the.homebrew@gmail.com 21eb34d0fa Erwan
-fix Scourglass. I'm not happy with the fix but there's a huge limitation with the parser here and I'm too lazy to deal with it currently...
2010-02-06 08:04:12 +00:00
wagic.the.homebrew@gmail.com d50aecdde4 Erwan
-fix issue related to drawing card (underworld dreams)
2010-02-06 07:32:59 +00:00
wagic.the.homebrew@gmail.com cc1d479070 Erwan
-fix goblin gardener
-fix slithering shade
2010-02-06 06:35:09 +00:00
wagic.the.homebrew@gmail.com ab9366f035 Erwan
- fix issue 310 (exalted)
- fix issue 312 (heap corruption)
2010-02-04 13:28:04 +00:00
wagic.the.homebrew@gmail.com e3d98f23f9 Erwan
- fix issue 308
- daily build
2010-01-31 06:24:28 +00:00
wagic.the.homebrew@gmail.com 1747f3af16 Erwan
- fixed test suite typo
- added test for issue 306
2010-01-30 14:31:05 +00:00
wagic.the.homebrew@gmail.com 536ca897bc Erwan
-adding test for error 305 (promise of bunrei). Can't reproduce the issue.
2010-01-30 14:19:15 +00:00
wagic.the.homebrew@gmail.com 54969a2179 Erwan
- Fix an issue with "becomes ueot". See blinkmoth nexus in DST
- Daily build
2010-01-30 12:58:49 +00:00
wagic.the.homebrew@gmail.com 3edc364d8e Erwan
- fix for issue 301 (creatures go to graveyard)
- This adds an important change to "movedTo", which now accepts a "full" target description in both "from" and "movedTo". The point is that a card does not move to "creature|graveyard" from "battlefield" but moves from "creature|battlefield" to "graveyard".
2010-01-21 14:12:11 +00:00
wagic.the.homebrew@gmail.com 3b12abb803 Erwan
-submit test for issue 301
2010-01-17 11:13:36 +00:00
wagic.the.homebrew@gmail.com fe6ec307d9 Erwan
-fix issue 300 (silver seraph)
2010-01-17 10:34:36 +00:00
wagic.the.homebrew@gmail.com 9d4e9ab5de Erwan
-fix issue 275
2010-01-16 06:26:22 +00:00
wagic.the.homebrew@gmail.com b9b3810bd9 Erwan
-adding test for issue 275
2010-01-16 04:42:58 +00:00
wagic.the.homebrew@gmail.com 7de479b73b Erwan
-adding tests for issue 294 (can't reproduce)
2010-01-16 04:33:04 +00:00
wagic.the.homebrew@gmail.com 3be21618d5 Erwan
-fix issue 283 (lord sorcery effects last indefinitely)
2010-01-16 03:10:10 +00:00
wagic.the.homebrew@gmail.com 11ed497ebb Erwan
-fix issue 209 (Clone loops AI)
2010-01-15 16:49:17 +00:00
wagic.the.homebrew@gmail.com 187e108cdb Erwan
-fix issue 192 (graphical issue when tapped card changes controller)
2010-01-15 15:09:41 +00:00
wagic.the.homebrew@gmail.com fea7985212 Erwan
- fix issue 228 (cockatrice VS regenerate)
2010-01-15 14:44:55 +00:00
wagic.the.homebrew@gmail.com 866f1c3e1c Erwan
-fix issue 170 (testsuite + library shuffle)
2010-01-15 14:12:57 +00:00
wagic.the.homebrew@gmail.com 2b39f576d7 Erwan
- fix issue 143 (exalted should be a triggered ability)
2010-01-15 13:29:49 +00:00
wagic.the.homebrew@gmail.com b3dc2bcda2 Erwan
- fixed issue 267 (hope charm)
- fixed an issue in which the core Rules where not correctly loaded for the test suite
2010-01-10 03:32:18 +00:00
wagic.the.homebrew@gmail.com 192103b105 Erwan
- fix issue 260
- ad test for issue 267
2010-01-09 11:09:44 +00:00
wagic.the.homebrew@gmail.com dabd93b5d7 Erwan
-fix issue 287 (urza's mine)
2010-01-08 15:07:56 +00:00
wagic.the.homebrew@gmail.com da07370243 Erwan
- (Finally) adding "must" abilities. Usage is as natural as possible, check Aven cloudchaser in 10E.
2010-01-06 14:22:41 +00:00
wagic.the.homebrew@gmail.com 2285821d36 Erwan
-fix issue 252 (equipment goes to graveyard)
2010-01-05 13:48:17 +00:00
wagic.the.homebrew@gmail.com 3e33e2b756 Erwan
-fix issue 270
2010-01-04 13:51:39 +00:00
wagic.the.homebrew@gmail.com 23fe54ae6f Erwan
- fix issue 153 (Tokens should go to graveyard)
- "token" keyword can now be used in the parser with things such as Creature[-token] for "noncreature token"
- Let's stop using "token" as a type
2010-01-03 10:08:36 +00:00
Psyyringe 1f2a5bd4bd Psyringe - softcoded Great Defender (LEG), provided test script. 2009-12-29 00:39:16 +00:00
Psyyringe 49536fce44 Psyringe - introducing new ability: cantBeBlockedBy(T). T can be any targez specification, like "wall", "creature[flying]", etc. See added cards for examples. Note: This ability currently has the same restrictions as "protection from(T)", i.e. it can't be used in activated abilities or instants/sorceries. It *can* be used for creatures,auras, and other continuous abilities (e.g. an enchantment which grants "unblockable by walls" to all rats should be possible, although I didn't test that). There are 47 cards which use the phrase "can't be blocked by", so we should be able to get another fair mount of cards out of that.
Notes to programmers:
1. This feature uses an awful lot of copy-pasta, using "protetcion from()" as a base. While I'm learning the architecture, it's easier for me to have a dedicated single-purpose piece of code to work with, than trying to create multi-purpose code. I'm aware that this isn't a very elegant approach though, and I hope to be able to refactor additions like this into multi-purpose code once I have a better understanding of the architecture as a whole.

2. Please check the questions I'll add in my next code comments, specifically about AI integration and activated abilities / instants / sorceries.

3. I did have a crash (with the debugger complaining about stack corruption around the cd variable) during testing. I wasn't able to reproduce it though. I did have to clean the solution in-between when I updated to the primitives system, so perhaps there was this cleaning solved whatever corruption was in my files. I'm mentioning the issue in case someone has an idea on where my code might be risky (I'm still probne to making beginners mistakes).
2009-12-28 18:19:17 +00:00
wagic.the.homebrew@gmail.com b366994397 Erwan
-manual test for issue 140
2009-12-28 13:04:24 +00:00
Psyyringe 667a7f6a8e Psyringe - reverted Urza's lands to abrasax' original way of coding them, plus minor adjustments. The previously used code made themwork only once. Added a test script for that condition. Also removed test script for Thought Courier (which would fail now, since the card was removed in a recent revision).
Thanks to TheDark for the bug report on Urza's lands.

Note that the lands still don't work entirely correct, they give you the option to tap them for one mana even when they shouldn't anymore. This can be fixed when aslongas(cards) <1 is working.
2009-12-27 19:43:36 +00:00
Psyyringe 6135774016 Psyringe - added two test scripts for cycling, and a bug demonstartion script for a conflict between cycling and casting instants/sorceries. 2009-12-27 00:20:42 +00:00
Psyyringe dd2c815780 Psyringe - Fixed Urza's Tower and its associated test. Thanks to TheDark for the bug report. 2009-12-26 18:55:01 +00:00
Psyyringe f57aacd020 Psyringe - fixed Enchantress's Presence (ONS). Triggers which fire upon "playing a card" need to be coded with "from(mystack), not "from(myhand)" - the latter would only trigger if you put the card into play without casting it.
Thanks to TheDark for the bug report.
2009-12-26 18:43:16 +00:00
Psyyringe 086dab7a7a Psyringe - adding test script for Enchantress's Presence, following a non-reproducible bug report. 2009-12-26 18:09:14 +00:00
Psyyringe 5c3b3f1d03 Psyringe - added quantifiable target restrictions. Whenever you use square brackets [] to specify attributes of a target, you can use the operators <=, >= and = to specify quantities for power, toughness, and/or converted manacost. See added cards for examples.
Limitations:
- Operators for "greater than", "less than", "unequal" have not been implemented, but if a card actually needs them, you can use a preceding minus sign to negate a comparison. Example: -power=3 means "power not equal to 3", -toughness<=3 means "toughness>3".
- You can't use spaces when specifying such restrictions. Write "power<=3" instead of "power <= 3"
- You now need to use a space before the "<" and ">" commands that count the matches for lord(), foreach(), all() and aslongas(). So far we always did use spaces in front of them without actually needing to, now we need to.
- manacost restrictions don't take "X" costs into account. Example: Mistmeadow Skulkin (FUT) has protection from manacost>=3. Blaze has a converted manacost of 1, but when you cast it with an X of 2, then it actually has a converted manacost of 3 while on the stack, and Mistmeadow Skulkin would be protected from it, but currently it isn't.

Please review the code, I'll add a few remarks/questions of my own.
2009-12-26 01:50:33 +00:00
Psyyringe ddb9ce251b Psyringe - Fixed Delusions of Mediocrity (ULG). Solution is inelegant. How useful would a trigger @movedfrom be, or (alternatively) the option to specify zones as "|*" ("anywhere") or as "|-battlefield" ("any zone but the battlefield")? Here's how this card could be coded then:
Now: auto=@movedTo(this|graveyard,library,hand,exile) from(battlefield) ...

Alternatives:
auto=@movedFrom(this|battlefield) ...
auto=@movedTo(this|*) from(battlefield) ...
auto=@movedTo(this|-battlefield) from(battlefield) ...

Suggestions? How many cards would benefit from such an addition?
2009-12-25 22:44:05 +00:00
wagic.the.homebrew@gmail.com 4be7d5ebd3 Erwan
- pumped version up to 0.10.1
- Added fleshformer, so that conflux gets 80 cards :)
2009-12-23 06:21:30 +00:00