Commit graph

4641 commits

Author SHA1 Message Date
Quercitron
b9add2e041 * Turntimber Basilisk - Fix a bug when a creature that must be blocked is not attacking 2015-11-29 00:19:21 +03:00
LevelX2
d94a2712ba * Fixed a bug that a dies ability did still trigger as the stack was not cleared meanwhile. 2015-11-28 12:52:13 +01:00
poixen
b22036c041 added javadoc and final modifiers 2015-11-28 11:57:46 +01:00
LevelX2
cb4f996bce * Fixed a problem were Menace restriction could be bypassed by using Undo Block action. 2015-11-27 20:23:04 +01:00
LevelX2
121e55f1d7 * Fixed a problem with calculation of playable lands. 2015-11-27 20:21:48 +01:00
LevelX2
f23756c20b * Fixed that DiesThisOrAnotherCreatureTriggeredAbility did not work if the source died itself (e.g. Omnath, Locus of Rage). 2015-11-27 12:27:46 +01:00
LevelX2
123afcb44c * Some minor tooltip rule text fixes. 2015-11-26 22:57:42 +01:00
LevelX2
0b832c9b11 * Fixed a bug of cost reduction calculation. 2015-11-26 22:56:42 +01:00
LevelX2
eb6a5e7dcb * Some rework of play card effects. 2015-11-26 17:06:50 +01:00
LevelX2
780702be1b * Fixed some problems with replaced play land special action. 2015-11-26 10:48:40 +01:00
LevelX2
e51c4d5f67 * Fixed a bug where wrongly a card object was moved for a copied spell. 2015-11-26 00:48:28 +01:00
poixen
c0ee279da9 methods now access and set state directly, rather than through the API, which is meant to prevent accidently setting minus values 2015-11-25 23:12:23 +01:00
poixen
3ffb11d2e9 Updated mana class to pass failing tests 2015-11-25 19:57:11 +01:00
LevelX2
fbb3929d0a * Fixed some adjustTargets methods of cards were that the target adjustment could be applied to abilities not intended (fixes #1384). 2015-11-25 16:30:18 +01:00
LevelX2
b637d2c65c * Fixed layer problem of BecomesCreatureSourceEffect (causes Chimeric Mass to die after entering the Battlefield). 2015-11-25 14:51:41 +01:00
Neil Gentleman
12b6a22327 improve Devotion formatting
fixes Aspect of Hydra, Evangel of Heliod
2015-11-25 00:32:02 -08:00
Neil Gentleman
19a0e1dcc4 correct grammar, remove duplicate parentheses 2015-11-25 00:32:02 -08:00
Neil Gentleman
b1cc464d98 remove useless .toString() 2015-11-25 00:32:01 -08:00
Neil Gentleman
f83cb32ed3 don't use <i/> to end italic text
it's not correct html, and causes all following text to render italic.

only visible on a few cards, because reminder text typically comes at
the end of line.
2015-11-25 00:32:00 -08:00
fireshoes
692c7d2812 Added some POR cards and a few misc cards. Fixed POR collector's numbers. 2015-11-25 01:07:43 -06:00
LevelX2
8b3958f7d5 Merge pull request #1385 from LoneFox78/master
Some Coldsnap
2015-11-24 09:09:21 +01:00
LoneFox
6b345fb291 Snow mana symbol is {S}, not {snow} 2015-11-23 16:47:16 +02:00
LevelX2
be49cfc561 * Myriad - Fixed that wrongly also a token was created for the defending player. 2015-11-23 12:24:46 +01:00
Neil Gentleman
230d1d37bd fix Grinning Totem, Thada Adel, Commune with Lava
opponent was able to cast the exiled cards

also changed Knacksaw Clique to use the same templating as Ornate Kanzashi
2015-11-22 18:40:38 -08:00
Neil Gentleman
a90d0e5597 reuse shared code for picking basic land sets 2015-11-22 18:00:10 -08:00
LoneFox
4214ef94b0 Fix the text of ripple abilities 2015-11-22 20:10:39 +02:00
LevelX2
05dd1daee6 * Added some information to the player tooltip in game (expericence counters, deck hash code, # of wins). 2015-11-22 11:07:48 +01:00
Neil Gentleman
038d02e8d7 add test for non-standard booster generation 2015-11-21 18:35:10 -08:00
LevelX2
96bc3172f5 * Fixed a problem of returning cards from exile (e.g. Fiend Hunter) if the triggering permanent made multiple zone changes before the left battlefield triggered ability resolved to return the exiled permanents. 2015-11-21 23:41:41 +01:00
poixen
b0da2f2260 Merge pull request #1378 from poixen/mana_cleanup
Removed minus subtraction limits
2015-11-21 12:06:02 +01:00
poixen
a5242ff087 resolved conflicts 2015-11-21 12:02:55 +01:00
poixen
5c6bdfceb8 Merge pull request #1379 from poixen/manasymbol
Manasymbol
2015-11-21 11:47:28 +01:00
LevelX2
0d86e8e063 Xmage 1.4.5v0 2015-11-21 10:33:43 +01:00
emerald000
59fabeee20 Added missing Scion subtype. 2015-11-20 17:42:14 -05:00
poixen
f2972c5b8e Updated Phyrexian Mana
+ “A Phyrexian mana symbol represents a cost that can be paid either
with *one mana of its color* or by paying 2 life”. These symbols are
mono colored, as such I have made them so.
+ Added test cases for phyrexian mana symbols
2015-11-20 22:43:26 +01:00
poixen
de13fb5cba Removed redundant modifiers
+ Removed the private modifiers. They are not needed in an ENUM class.
2015-11-20 22:08:39 +01:00
poixen
f34e69308e Updated mono colored hybrid mana type
+ “107.4e. Hybrid mana symbols are also colored mana symbols.” I have
added the Type COLORED to each mono hybrid symbol
+ added tests for hybrid mana symbols
2015-11-20 22:07:24 +01:00
poixen
f6cc03ec44 Added W mana test case
Added U mana test case
Added B mana test case
Added R mana test case
Added G mana test case
2015-11-20 20:59:52 +01:00
poixen
56be135532 Removed minus subtraction limits
+ Removed minus subtraction limits to allow other areas of code to work
2015-11-20 17:22:48 +01:00
LevelX2
8a133a43d0 Added test for Mana.enough method. 2015-11-20 15:06:00 +01:00
Quercitron
7e58dc70d5 Update Swiss tournament pairing - For the last round, for each unpaired player pair against the highest ranked player they haven't played against 2015-11-20 02:54:50 +03:00
LevelX2
c4ab5806e0 Revert "Mana Class Overhaul" 2015-11-19 22:59:57 +01:00
LevelX2
68ff09c219 Revert "Mana updates" 2015-11-19 22:59:15 +01:00
LevelX2
f4871fe489 Merge pull request #1375 from poixen/mana_cleanup
Mana updates
2015-11-19 22:37:14 +01:00
poixen
05b841577a added subtraction logic to enough()
+ added subornation logic to enough(). We do not want to mix the public
subtract() call with this method. As doing so would mean that either a)
subtraction can go below 0 (this should not happen) or b) we break this
function with exceptions. This is a work around for these scenarios.
2015-11-19 17:42:59 +01:00
poixen
2c617a6aaf Mana updates
+ calling subtraction will now throw an exception if you try and use
more mana than is available. This is better than setting it to 0.
Setting to 0 impose that you should still be allowed to perform the
action.
+ updated subtraction test to check for exception
+ subtractionCost() will not allow using mana that is not available,
same as subtract()
2015-11-19 17:09:40 +01:00
LevelX2
ec7c888044 Some fixes to put token onto battlefield handling of cards. Some minor reworks. 2015-11-19 15:52:45 +01:00
LevelX2
7bb5d1bb43 Merge pull request #1374 from poixen/mana_cleanup
Mana Class Overhaul
2015-11-19 14:37:39 +01:00
Quercitron
486d547f5e Fix Swiss pairing for the case when some players have left the tournament 2015-11-19 13:18:43 +03:00
poixen
1f5638539f Class Overhaul
+ added javadoc
+ added final to method variables that should not be mutated
+ Mana can no longer be initialised with minus values
+ added null assertions
+ renamed ‘addXXX’ to ‘increaseXXX’. Add implies that you are able to
add variable amounts.
+ subtraction can no longer allow minus values.
+ removed unused state
+ refactored classes use renamed/removed mana calls
+ added comment to contains(), needs to be looked into?
+ Added validation to setting of mana. Can no longer be set to minus
values. Will log if an attempt is made
+Added comment to static mana, this is unsafe.
2015-11-19 09:53:52 +01:00
Neil Gentleman
00ec431889 add Gorgon Recluse, cleanup similar cards
Added filtering to BlocksOrBecomesBlockedByCreatureTriggeredAbility,
so that non-wall and color-specific basilisks could reuse it.

Simic Basilisk and Deathgazer were incorrectly destroying the creature
immediately, not at end of combat.
2015-11-18 21:05:14 -08:00
Quercitron
05a789cd8b Use approach with minimal weight matching to determine Swiss tournament pairings 2015-11-19 02:58:02 +03:00
LevelX2
9b074876db Merge origin/master 2015-11-19 00:42:45 +01:00
LevelX2
fd0d9c166d [C15] Added Mizzix's Mastery, Mirror Match and Synthetic Destiny. 2015-11-19 00:39:43 +01:00
Fiorden
3991ec4ba0 Merge pull request #1 from magefree/master
testing update
2015-11-18 21:05:09 +01:00
Fiorden
bfb7d06cae Fixed that Mountain subtype was not remowed by Spreading Seas, Sea's Claim 2015-11-18 20:05:06 +01:00
LevelX2
dcf3ac87f1 [C15] Added Deadly Tempest and Dread Summons. 2015-11-18 20:04:00 +01:00
LevelX2
7044e58231 [C15] Added Scourge of Nel Toth. 2015-11-18 17:39:32 +01:00
LevelX2
bfb54ca112 * Deflecting Palm - Fixed a bug that the to the source controller redirected damage of Deflecting Palm could not be redirected to an existing planeswalker of that controller. 2015-11-18 17:38:48 +01:00
Neil Gentleman
1750bf32a1 fix Seance
Spirit subtype wasn't being added, and the token shouldn't have haste
2015-11-17 23:36:06 -08:00
LevelX2
1d590442d0 [C15] Added Awaken the Sky Tyrant and Dream Pillager. 2015-11-15 20:05:58 +01:00
LevelX2
160f14eed1 [C15] Oreskos Explorer, Bastion Protector and Dawnbreak Reclaimer. 2015-11-15 18:54:26 +01:00
LevelX2
d3751af0db [C15] Added Skullwinder and Ezuri's Predation. 2015-11-15 11:10:52 +01:00
LevelX2
576a9ea74f Updated mtg-cards-data.txt. Added a land deck for Mormir Basic format. 2015-11-15 10:25:02 +01:00
LevelX2
dd28bb18c4 * Untap symbol - Fixed that the creature has to be under your control since the start of the last turn or needs to have haste to be able to pay the untap cost (e.g. Pili-Pala). 2015-11-14 11:46:23 +01:00
LevelX2
d3000da3a3 * Void Winnower - Fixed that the check for even casting costs did not work correctly. 2015-11-14 11:14:50 +01:00
LevelX2
50b5602459 * Conflagrate - Fixed that the damage amount could be calulated if cast by flashback. 2015-11-14 10:01:13 +01:00
LevelX2
1335d58e77 * Collapsing Borders - Fixed that it did not give life to players. 2015-11-14 02:33:24 +01:00
LevelX2
4711e0cf99 Changed ability handling of modal spells to be able to select the same mode multiple times with different targets. 2015-11-14 01:56:56 +01:00
LevelX2
ae3640557a Merge pull request #1361 from nigelzor/vanguard
add Momir Basic game type
2015-11-12 04:00:27 -05:00
Neil Gentleman
c5ecb26289 Momir: lookup token at activation
loading all the cards at game start is quite slow
2015-11-11 12:55:49 -08:00
Neil Gentleman
cda5a06a6c fix sorcery-speed LimitedTimesPerTurnActivatedAbility
calling super.canActivate() from inside activate() will always fail,
because the stack is no longer empty
2015-11-11 12:31:42 -08:00
LoneFox
70f77b858e Rename BecomesTappedCreatureControlledTriggeredAbility -> BecomesTappedTriggeredAbility and generalize it to allow all kinds of permanent fiilters instead of just controlled creatures. Implement cards: Lifeblood and Lifetap 2015-11-11 10:18:49 +02:00
LoneFox
f133854db1 Rename BecomesTappedTriggeredAbility -> BecomesTappedSourceTriggeredAbility 2015-11-11 09:49:25 +02:00
LoneFox
2c23d23566 Fix PlayWithTheTopCardRevealedEffect's text. Implement cards: Field of Dreams and Wizened Snitches 2015-11-10 21:11:11 +02:00
LoneFox
c33e7ad59b Add support for selecting the counter type during resolution to RemoveCounterTargetEffect. Use it for existing cards. Fix some tooltip text issues with the effect. Implement cards: Ferropede and Spinal Parasite 2015-11-10 20:35:48 +02:00
LevelX2
932b454595 * Myriad - Fixed handling of source object determination. 2015-11-09 14:25:42 +01:00
Neil Gentleman
eda5d1a1ef BoostSourceEffect: format X like BoostTargetEffect
primarily to fix Chameleon Colossus and friends, but also updated
Terra Ravager's ability to match the corrected format, and now
both Source and Target support -X, for Death's Shadow.
2015-11-08 22:14:15 -08:00
LevelX2
431d0005f2 Updated modes to handle selection of modes multiple times (not working yet if targets included). 2015-11-08 20:07:02 +01:00
Quercitron
9b29cd042f Move updateExpansionSetCode from CreateTokenEffect.apply to Token.putOntoBattlefield 2015-11-08 20:16:47 +03:00
Quercitron
e23fc13db0 Fix pictures for some tokens from recent sets 2015-11-08 20:16:47 +03:00
LevelX2
6f2d3a18c0 [C15] Added Myriad keyword. 2015-11-08 11:51:36 +01:00
LevelX2
7572c756c4 * PlanarGate, Mana Matrix, StoneCalendar - Fixed not correctly working spell cost reduction. 2015-11-08 09:57:35 +01:00
fireshoes
4de4caad26 [C15] Implemented Shielded by Faith, Grasp of Fate, Arachnogenesis, and Great Oak Guardian. 2015-11-07 21:18:21 -06:00
LevelX2
5702c694a9 * Fixed that the corresponding token image was not always set correctly. 2015-11-07 21:23:22 +01:00
LevelX2
f3e8a93316 * Renegade Krasis - Fixed that check if Renegade Krasis was evolved did not always work correctly. 2015-11-07 21:21:03 +01:00
LevelX2
d596a1ef83 * Fixed a bug that self scope were checked for non relevant events (fixes #1350). 2015-11-07 13:32:15 +01:00
LevelX2
b1c3d690f5 * Fixed some ability and subtype removing effects (fixes #1352). 2015-11-07 12:29:31 +01:00
LevelX2
bb99148b78 * Fixed a problem with zone change counter comparation. 2015-11-07 10:16:11 +01:00
fireshoes
ae55c8b176 [C15] Updated complete spoiler and added existing reprints. Add Rite of the Raging Storm and Corpse Augur. 2015-11-06 12:35:50 -06:00
LevelX2
e3c43c0c31 Merge origin/master 2015-11-06 12:30:15 +01:00
LevelX2
27ae613ce8 * Fixed handling of zoneChangeCounter of PermanentCard (fixes #1353). 2015-11-06 12:28:58 +01:00
LevelX2
e6860a6020 Merge pull request #1357 from LoneFox78/master
Some Tempest
2015-11-06 12:09:52 +01:00
LoneFox
fde9ae68dc Extract DestroyTargetAtBeginningOfNextEndStepEffect from Stone Giant to its own file. Implement cards: Blood Frenzy, Flowstone Sculpture, Imps' Taunt, and Mogg Cannon 2015-11-06 09:19:47 +02:00
LevelX2
e82a7b621e * Fixed a problem with countering abilities on the stack. 2015-11-05 15:39:12 +01:00
LevelX2
3de7ff6808 * Some rework of card moving after spell countering. 2015-11-05 00:37:30 +01:00
LevelX2
1139495fd7 * SetPowerToughnessSourceEffect - Set the correct sublayer to use (fixes #1354). 2015-11-04 22:31:35 +01:00
LoneFox
2080ad3ab8 Add CastOnlyIfYouHaveCastAnotherSpellEffect and use it for existing cards. Implement card: Skyshroud Condor 2015-11-04 10:40:07 +02:00
LoneFox
9e3ef31b4b Implement cards: Apes of Rath, Endless Scream, Fool's Tome, and Fylamarid 2015-11-04 09:29:08 +02:00
BursegSardaukar
3376f418c6 Pulled from trunk. 2015-11-01 16:42:44 -05:00
BursegSardaukar
6807496357 Corrected bug with copy/paste 2015-10-04 21:32:40 -04:00
BursegSardaukar
8afc24ae15 Added the effect to allow for future card usage. 2015-10-04 16:10:52 -04:00
LevelX2
abca80e951 * Cascade - Fixed that the remaining cards were not set to graveyard in a random order. 2015-10-02 15:05:00 +02:00
LevelX2
cc8c650285 * Iname as One - Fixed that it was able to return itself. 2015-10-02 08:40:26 +02:00
LevelX2
73766a21eb * Fixed that the token image of Kithkin Solder was not shown (token was only named Kithkin instead of Kithkin Solder). 2015-10-02 01:37:15 +02:00
LevelX2
5912ed80ad * Fixed some problems with undo/cancel action (fixes #1267). 2015-10-02 01:04:40 +02:00
LevelX2
8044940a97 * Fixed a bug that if all targets (if targets were set) of a spell with an up to target definition (e.g. Adverse Conditions) became illegal the spell did not fizzle as it should. 2015-09-30 00:53:33 +02:00
LevelX2
f5b411c516 Merge pull request #1292 from LoneFox78/master
Third part of the big token cleanup + a few other fixes and new cards
2015-09-29 15:48:09 +02:00
LoneFox
ab0e4b0ddc Revert connectSource changes from TapTargetEffect. Not needed anymore. 2015-09-29 15:25:52 +03:00
LoneFox
705bdabafb Much simpler way to implement DontUntapAsLongAsSourceTappedEffect.
This also works correctly when the source permanent untaps and then taps again.
2015-09-29 15:11:01 +03:00
LoneFox
82f2d73fb9 Add DontUntapAsLongAsSourceTappedEffect and connectSource parameter to TapTargetEffect. Use them for existing cards. Implement card: Thalakos Dreamsower 2015-09-29 13:15:09 +03:00
LoneFox
6d90539b7b Fix DealsDamageToOpponentTriggeredAbility unconditionally overwriting the targets of any effects added to it.
This fixes at least Charnelhoard Wurm, and possibly other similar abilities.
2015-09-29 12:19:50 +03:00
LevelX2
8f086c8c7e * Maelstrom Nexus - Fixed that the compared casting cost was always 5 instead of the casting cost of the spell that got Cascade. 2015-09-29 00:37:52 +02:00
LevelX2
707358f875 Fixed a bug that effects forcing creatures to block an attacker forced also creatures of players not attacked (multiplayer games) to block, locking the game UI. 2015-09-29 00:36:08 +02:00
LevelX2
7650f53dee * Rosheen Meanderer - Fixed that the created conditional mana could only be used for spells. 2015-09-27 10:29:30 +02:00
LevelX2
b6f6866452 * Krond the Dawn-Clad - Added the missing vigilance ability. 2015-09-27 00:34:10 +02:00
LevelX2
46fa935172 * Emrakul, the Aeons Torn, Ulamog, the Infinite Gyre, Kozilek, Butcher of Truth - Fixed that the shuffle graveyard to library was wrongly done for the controller of instead the owner. 2015-09-27 00:22:51 +02:00
LevelX2
56a5030f93 * Goryo's Vengeance - Fixed that the beginning of next end step ability also exiled the target if it meanwhile left and returned the battlefield as sa new object. 2015-09-26 23:30:24 +02:00
LoneFox
a2e1e2e614 Remove some unneeded imports and fix an incorrect set code 2015-09-26 13:31:40 +03:00
LoneFox
c47d39390f Add 4/4 Beast token and use it for existing cards. 2015-09-26 12:09:00 +03:00
LoneFox
e16bec3472 Add 5/5 Wurm token with trample and use it for existing cards. 2015-09-26 11:50:41 +03:00
LoneFox
b64c495212 Fix a copy-paste error 2015-09-26 11:44:59 +03:00
LoneFox
4e5bcddd56 Add 5/5 Dragon token and use it for existing cards. 2015-09-26 11:44:03 +03:00
LoneFox
54acb445db Add Goblin token with haste and use it for existing cards. Add missing images for Goblin token. 2015-09-26 11:18:15 +03:00
LoneFox
06440fd606 Add red and white Soldier token with haste and use it for existing cards. Kill unnecessary custom effect from Assemble the Legion. 2015-09-26 10:35:31 +03:00
LoneFox
66a341e1a2 Add Bird token and use it for existing cards. 2015-09-26 10:09:34 +03:00
LevelX2
6119f71022 * Added the text (to sacrifice) for selections done for sacrifice costs so the player can better distinguish what object to select currently. 2015-09-25 23:15:55 +02:00
LevelX2
85cec315db * Fixed a lot of cards with return permanent to hand costs, where the selection of the permanent was handled targeted. 2015-09-25 22:32:53 +02:00
LevelX2
28b575cf37 * Ninjutsu - Fixed that the selection of the unblocked attacker was not handled untargeted (so shroud on a creature did prevent to be able to select it). 2015-09-25 22:15:13 +02:00
LevelX2
c7edbbac5b * Fixed a bug that automatically pass priority after putting an activated ability to stack passed to next phase if the ability was not put on the stack (e.g. Suspend). 2015-09-25 22:04:49 +02:00
LoneFox
0ebd773caf Merge branch 'master' of https://github.com/magefree/mage 2015-09-25 20:51:29 +03:00
LoneFox
71e8d90c83 Implement cards: Circle of Protection: Shadow, Faceless Devourer, Stronghold Overseer, and Thalakos Mistfolk 2015-09-25 07:20:33 +03:00
LevelX2
3bb7b6dd5b * Slab Hammer - Removed unneccessary target. 2015-09-25 00:21:29 +02:00
LevelX2
b2cc5b59c6 * Brutal Expulsion - Fixed that the spell could wrongly target itself on the stack. 2015-09-24 19:51:30 +02:00
LoneFox
9bedbc8821 Add copy() method to tokens that need it. 2015-09-24 09:47:59 +03:00
LevelX2
21061ac928 Fixed some attack forcing cards to only force to attack once a turn instead of wrongly forcing to attack each combat. 2015-09-24 08:25:45 +02:00
LoneFox
9d52ecef83 Fix yet another copy-paste error 2015-09-24 09:05:22 +03:00
LoneFox
d6a1f96547 Add Faerie Rogue token and use it for existing cards. Implement card: Notorious Throng 2015-09-24 08:57:25 +03:00
LoneFox
bee7758625 Fix another copy-paste error 2015-09-24 07:54:45 +03:00
LevelX2
044e8b70f0 Some minor changes for BFZ token image handling. 2015-09-23 19:53:25 +02:00
LoneFox
f380b2cdde Add Goat token and use it for existing cards. 2015-09-23 16:59:21 +03:00
LoneFox
10695ddf4c Add Warrior token and use it for existing cards. 2015-09-23 16:34:20 +03:00
LoneFox
9279d81c24 Add Human token and use it for existing cards 2015-09-23 13:55:40 +03:00
LoneFox
e5e7ec456d Fix a couple of copy-paste errors 2015-09-23 13:37:10 +03:00
LoneFox
3d1ae1c414 Add Cat token and use it for existing cards. 2015-09-23 12:49:12 +03:00
LoneFox
5fdd1aae49 Add Sliver token and use it for existing cards 2015-09-23 12:34:28 +03:00
LevelX2
822528d05c * Splice onto Arcane - Fixed that an arcane spell with no targets did not fizzle if a targeted spell was spliced with it that has no more legal targets on resolution (so all targets of the spell were illegal). 2015-09-21 17:57:27 +02:00
LevelX2
6249e21ff3 Fixed possible null pointer exception. 2015-09-21 16:26:00 +02:00
LevelX2
9ab323a89c Deck editor - renamed sort type "Color Detailed" to "Color Identity" and compare for the sort also with mana symbols in casting cost and rules. 2015-09-21 08:11:58 +02:00
LevelX2
e94163a4c3 Fixed that no Zendikar Expeditions lands were added to Battle for Zendikar boosters. I replaced every 20th basic land now by one random land of Zendikar Expeditions. 2015-09-20 21:10:02 +02:00