Commit Graph

883 Commits

Author SHA1 Message Date
Psyyringe c1097a2a58 Psyringe - fixed Spell Snare (DIS), thanks to baldersmashed for the bug report. 2010-01-01 17:46:13 +00:00
Psyyringe 3c11ab01ac Psyringe - fixed the 4 Tainted lands in TOR. The previous code made the ability available even when it shouldn't be there, and also worked only for one activation (due to an engine bug, see issue 282). The new code is closer to what the card is supposed to do, and works more than once. 2010-01-01 17:12:11 +00:00
Psyyringe 6956074877 Psyringe - fixed Mirri the Cursed (PLC). Temporarily fixed Reiver Demon (MRD). Thanks to Raphael_Carlo for the bug report.
Important: I just realized that the fix to Reiver Demon will probably lead to problems later on. The problem is this: Reiver Demon has an ability "When yu play this from your hand ...". This was coded as @moveto(this|mybattlefield) from(mayhand). Which doesn't work, because the card doesn't actually enter the battlefield from the hand, it enters from the stack. So, "@moveto(this|mybattlefield) from(maystack)" has the desired effect. However, IIUC, spells played from anywhere else (e.g. from the graveyard, if they allow that) should be placed on the stack to. Hence, the "fixed" trigger will also fire in this case, which is wrong.

This means that we can't actually code "played from ..." entirely correct at the moment. Is there a solution for this?

According to the rules, only a copy of a spell enters the stack (never the spell itself), so could the "from()" part access where the card actually came from?

Do we need an @played trigger to differentiate between moving a card and actually playing it?
2010-01-01 13:33:22 +00:00
Psyyringe 62065e4602 Psyringe - fixed Vengeful Dead (SCG). Thanks to mickey_brown for the bug report. 2010-01-01 12:44:39 +00:00
Psyyringe 53d8960b5d Psyringe - fixed Golgari Germination (RAV), thanks to mickey_brown for the bug report. 2009-12-31 23:36:04 +00:00
Psyyringe b8a2051f95 Psyringe - removed Cabal Ritual, it's a TOR card (and already present there). Thanks to baldersmashed for the bug report. 2009-12-31 20:03:17 +00:00
solo81@web.de ef9a90ba68 Added several successfully tested cards. 2009-12-31 17:01:05 +00:00
Psyyringe ea31a5cf1c Psyringe - fixed Seismic Shudder (ZEN), thanks to mickey_brown for the bug report. Fixed Dragon Roost (ONS) - a character was missed during copy/paste and broke the card. 2009-12-30 21:11:54 +00:00
solo81@web.de 245661d52e Added Mangara of Corondor (TSP) Tested and Working. 2009-12-30 20:14:55 +00:00
solo81@web.de 12c2eaf073 Added RECURRING NIGHTMARE (EXO) Tested and working!
Added Serrated Biskelion (STH) Tested and working.
2009-12-30 19:38:42 +00:00
solo81@web.de d9462ecfc1 Several bug fixes, removed some cards, added 1 card (P02) 2009-12-30 17:42:18 +00:00
solo81@web.de 9900b2ec76 Removed Morselhoarder (SHM)
Fixed Consumptive Goo (SCG), code tested successfully ingame.
2009-12-30 13:25:42 +00:00
solo81@web.de 2e3d1041e3 Fixed Miraculous recovery (VIS)
Fixed Purge (DST)

Added ...tatatataaaa: Shauku Endbringer (MIR)! I tested this Vampiric Lady Gaga of Doom successfully ingame.
2009-12-30 13:07:40 +00:00
solo81@web.de 74d74d7c35 Small fix from last revision 2009-12-29 18:20:28 +00:00
solo81@web.de 79b248a152 Added many cards with "cantbeblockedby". 2009-12-29 18:17:06 +00:00
solo81@web.de 830b2a12c7 Added some cards with activation restriction "asSorcery". 2009-12-29 13:22:45 +00:00
Psyyringe c5e5e6a8c2 Psyringe - removed Tower o Coireall, a remnant of my testing which slipped through in r1639. Thanks to Dr. Solomat for noticing that! 2009-12-29 12:36:01 +00:00
solo81@web.de e361eecdd2 Fixed Fog Bank (USG).
Fixed Vampiric Spirit (P02).
2009-12-29 12:26:23 +00:00
Psyyringe 1f2a5bd4bd Psyringe - softcoded Great Defender (LEG), provided test script. 2009-12-29 00:39:16 +00:00
Psyyringe 219c69914a Psyringe - fixed Angel of Mercy (P02), it couldn't fly. Thanks to garlen for the bug report. 2009-12-28 20:02:09 +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
Psyyringe 365c854e90 Psyringe - fixed toughness of Mountain Yeti, thanks to garlen for the bug report 2009-12-28 17:09:26 +00:00
Psyyringe d7bcc41ccc Psyringe - fixed Myr Servitor (5DN), it returned cards to the hand, not to the battlefield. Thanks to mickey_brown for the bug report. 2009-12-27 22:21:42 +00:00
Psyyringe dbd8df5070 Psyringe - fixed Penumbra creatures from APC: Missing colon in the trigger specification caused the effect to be executed when the trigger was set, not when it was fired. Also, from() information was missing, so the trigger would have fired on discarding the card as well. Also, Penumbra Wurm had the rules text of the Kavu. Thanks to mickey-brown for the bug report. 2009-12-27 21:08:56 +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 48a7ca6d37 Psyringe - fixed non-working abilities of Mind over Matter (EXO) and Firemane Angel (RAV). "may" does not work foraczivated abilities (see issue 267). 2009-12-27 16:56:22 +00:00
wagic.the.homebrew@gmail.com 05a72de5bc Erwan
- Card Primitives system. Check Royal Assassin in RV, 10E, M10
- Please review, is sets/primitives a good directory? Should we rename MTGCard into "CardPrint"? 
- Unfortunately for now it is not possible to "override" a Primitive. A card that links to a primitive but also defines new "values" will create its own data and ignore the data in the "linked" primitive for the time being. I hope to solve that at some point...
2009-12-27 12:14:36 +00:00
solo81@web.de 6e13ac53d7 Added huge amount of cards with mana cost restrictions.
Some new main categories are:

- Cards with Soulshift
- Cards with Transmute
- Rebels and Mercenaries
2009-12-26 23:37:35 +00:00
Psyyringe 26d49a292c Psyringe - fixed Dandan (ARN), it was using a non-standard character in its name. Thanks to wins22 for the bug report. 2009-12-26 22:34:12 +00:00
Psyyringe cca741439b Psyringe - fixed color of Mountain Bandit (PTK), thanks to wins22 for the bug report. 2009-12-26 22:30:08 +00:00
solo81@web.de 9af240fb90 Added more cards with toughness restrictions. 2009-12-26 20:39:28 +00:00
solo81@web.de 7689c3bbdc Added more cards with power restrictions. 2009-12-26 20:27:34 +00:00
Psyyringe 0856fcc931 Psyringe - fixed Stun (10E). Thanks to Rob for the bug report. 2009-12-26 19:19:21 +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
solo81@web.de 0655f5da95 Added some cards with power/toughness restriction 2009-12-26 12:44:18 +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
Psyyringe 331f57cb41 Psyringe - fixed power of Yellow Scarves General (PTK), thanks to wins22 for the bug report. 2009-12-25 18:17:27 +00:00
Psyyringe 43dd27065d Psyringe - fixed Water Wurm (DRK). Parantheses have to follow the respective command immediately, without a space. The parser is looking for "aslongas(", "from(" etc., so it will not recognize the command if a space is introduced there. 2009-12-25 10:05:27 +00:00
Psyyringe c626ddafa7 Psyringe - fixed non-working protection in 3 DST cards. 2009-12-25 09:58:04 +00:00
leungclj e0a13e78c0 JON4TH4N - Fixed forest!! 2009-12-23 15:26:16 +00:00
wagic.laurent f4cf5b5532 Laurent - Small Cards bug correction - Yavimaya Druid (TSP) was missing Forestwalk. Removed Coral Helm from ATQ (need discard random as a cost). 2009-12-23 09:36:31 +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
leungclj b762a7e3a9 JON4TH4N - applied the same change from r1604, the reason because "may" will not work with "moveto" follow with a cost, and since you already paid for your ability cost, why pay a "may" there? Pay {G} and you dont have to use this ability XD. Tested asSorcery, works, but also found Flame Jab not working, reasons attached, so its removed. 2009-12-22 14:19:29 +00:00
wagic.the.homebrew@gmail.com 54142cc816 Erwan
- fix a segfault with Shivan Gorge
- Fix a memory leak in the AI
- Commit a test for issue 265
2009-12-22 13:11:08 +00:00
leungclj ccb07a25d1 JON4TH4N - fixed Skyshroud Ranger, yes, tested, no bug, no crash from this fix, no segfault (not sure what segfault is XD) 2009-12-22 02:20:03 +00:00
Psyyringe 8bc2249b9b Psyringe - added some DST cards 2009-12-20 02:21:12 +00:00
Psyyringe ff0331c801 Psyringe - reimplemented Goblin Cannon (5DN) after successful test following discussion on r1508 2009-12-20 00:53:50 +00:00
solo81@web.de 3c8a1dd685 Reordering (CSP) 2009-12-19 22:07:28 +00:00