Commit graph

5508 commits

Author SHA1 Message Date
LevelX2
ecc18072cf Cyclopean Tomb - Update. 2016-12-28 02:02:57 +01:00
LevelX2
cebfadbf34 Merge pull request #2709 from MTGfan/master
Cyclopean Tomb TODO: inside watcher get ID for card
2016-12-27 16:38:27 +01:00
LevelX2
8075ea2e50 * Fixed a problem that Emblems created by permanents where its owner left the game caused errors in clients. Some handling cganges of emblems. 2016-12-27 16:00:22 +01:00
LevelX2
ad5699f119 * Fixed a bug that the color choice was fixed if used in activated abilities (e.g. Obi-Wan Kenobi) beyond the first usgae. 2016-12-27 11:48:18 +01:00
Justin Herlehy
5cfec72d81 [TOKEN] Goblin with Haste
The 1/1 red goblin with haste token was failing to specify that it was a token with haste is the fallback autotext.
2016-12-27 00:08:13 -05:00
LevelX2
862ac38f51 * Fixed that special actions (e.g. delve mana payment) were handled correctly if a player plays a turn for another player. 2016-12-24 16:52:06 +01:00
LevelX2
a632f9c0e8 Fixed a problem that Dwarven Recruiter, Goblin Recruiter or Scouting Trek searched for the wrong subtype. 2016-12-24 11:55:30 +01:00
LevelX2
c6d54c929f Fixed a problem that selecting cards in hand or libraray could unintended trigger "becomes the target of a spell or ability" abilities. 2016-12-24 11:42:11 +01:00
MTGfan
8a807c888c Merge remote-tracking branch 'upstream/master' 2016-12-24 00:13:54 -05:00
LevelX2
8ba22ad7e2 * Fixed that selecting no target players let fizzle the spell (e.g. Wheel and Deal). 2016-12-22 23:50:02 +01:00
Styxo
c2ef2b1f47 [CN2] Added Deadly Designs and Fang of the Pack 2016-12-22 08:05:22 +01:00
MTGfan
7e867f4fcf Cyclopean Tomb TODO: remove counters part of effect 2016-12-21 19:46:46 -05:00
LevelX2
f0ba7d38a6 Merge pull request #2697 from sotovdev/master
Refactoring SQl query + unwanted ArrayList creation
2016-12-21 15:48:01 +01:00
Styxo
2eb0a487a4 Added WishEffect, ExchangeLifeTargetEffect and did refactors 2016-12-20 13:31:39 +01:00
Styxo
009676f75f Added HippoToken 2016-12-19 12:40:58 +01:00
Styxo
cff83aefb1 Created LoseHalfLifeTargetEffect, DiscardedByOpponentTrigger and made some refactors 2016-12-19 12:39:26 +01:00
vraskulin
2e83930ace Creating new ArrayList is unneccesarry
We shouldn't create new arraylist with default size and no element in it to show that no elements found in database. It's one more object in heap, which will be never used. There is special method Collections.emptyList() - it's more readeable and returns empty immutable list
2016-12-19 12:23:23 +03:00
vraskulin
e22951c68e Repository objects refactoring
SQL query is limited by 1, so there will be two cases - whether collection is empty or not. We should user convenient shortcut for checking emptiness of collection
2016-12-19 11:30:32 +03:00
LevelX2
1de210ab74 * Fixed a bug of DealsDamageToOneOrMoreCreaturesTriggeredAbility, added some tests. 2016-12-18 17:50:33 +01:00
LevelX2
d85b9943f1 * Added logic to remove control effects that refer to permanents of a player that leaves the game. 2016-12-18 16:57:34 +01:00
LevelX2
40d8a32695 XMage 1.4.19V1 2016-12-17 10:35:45 +01:00
LevelX2
61dd62b148 * Undiscovered Paradise - Fixed that it was not returned to hand on untap step (fixes #2693). 2016-12-17 09:27:24 +01:00
LevelX2
8e51e3a2bf Merge pull request #2686 from MTGfan/master
Guardian Angel and added Dynamic Value constructor to PreventDamageToTargetEffect
2016-12-16 22:57:21 +01:00
LevelX2
6955ad803f Merge pull request #2691 from sotovdev/sqlPerf
SQL query perfomance improvements
2016-12-16 22:34:38 +01:00
LevelX2
8d6d8d25e5 * Reflecting Pool - Fixed that mana from dynamic mana abilities were not taken into account (e.g. Gaea's Cradle or Serra's Sanctum). 2016-12-16 18:38:40 +01:00
vraskulin
3be7598ee1 SQL query perfomance improvements
There will be always 0 or 1 distinct result. If we don't limit this query it will find an item, and still will go through the whole table trying another one, which is unneccesary and have performance impact.
2016-12-16 17:27:19 +03:00
Styxo
8e6cf84ce4 Added TargetHasCounterCondition and option for BecomesMonstrous 2016-12-15 15:33:35 +01:00
MTGfan
26c176abaa Guardian Angel and added Dynamic Value constructor to PreventDamageToTargetEffect 2016-12-14 17:20:00 -05:00
LevelX2
3ca573b7c0 Merge pull request #2672 from MTGfan/master
Nettling Imp, TargetController and ControllerPredicate updated to include active choice
2016-12-13 15:23:36 +01:00
Justin Herlehy
557019e8a6 Merge pull request #2679 from JRHerlehy/master
[CN2] Refactor Council's Dilemma voting.
2016-12-13 02:02:43 -08:00
Styxo
f88d3f0bbf Refactored RevealCardsFromLibraryUntil and some cards to use it 2016-12-13 09:21:11 +01:00
JRHerlehy
b9d5fbcbe5 [CN2] Create new vote effect to reduce boilerplate code duplication on Council's Dilemma cards. 2016-12-12 20:58:31 -08:00
MTGfan
2fcb26887c Nettling Imp and predicate revisions 2016-12-12 15:16:36 -05:00
LevelX2
fe97f289f8 Ravnica: City of Guilds - Added the 5 missing cards with Radiance ability word. 2016-12-12 20:54:45 +01:00
MTGfan
a199d6eaea Nettling Imp, TargetController and ControllerPredicate updated to include active choice 2016-12-12 03:03:39 -05:00
LevelX2
79c80fe24b Added a test and some minor changes. 2016-12-11 23:10:20 +01:00
LevelX2
7c7cebc048 * Saskia the Unyielding - Fixed that the damage source of the triggered ability was not the combat damage causing creature. 2016-12-11 22:58:35 +01:00
LevelX2
4b4aef8ed5 * Orzhov Advokist - Fixed that the attack preventing effect did not work correctly. 2016-12-11 16:25:08 +01:00
LevelX2
fb2d3f911e * Power Surge - Fixed some problems. 2016-12-11 15:14:09 +01:00
LevelX2
561f120ce0 * Consecrete Land - Some changes. 2016-12-11 12:38:25 +01:00
LevelX2
fde05d8efb Merge pull request #2649 from MTGfan/master
I need help finishing these cards, thanks
2016-12-11 10:27:59 +01:00
Justin Herlehy
ba57ccfc9e [USG] Lotus Blossom (#2671) 2016-12-09 16:11:16 -08:00
MTGfan
90aec7c517 Changes to Consecrate Land and Power Surge both not working yet. 2016-12-08 22:38:17 -05:00
MTGfan
4a2e1c5063 Merge remote-tracking branch 'upstream/master' 2016-12-08 21:37:02 -05:00
LevelX2
3d95849c10 Some fixes to the Monarch designation. 2016-12-07 17:14:08 +01:00
JRHerlehy
deb59d409d Implement AER card Ajani Unyielding
Moved Swords to Plowshares effect to common class to dedupe code.
2016-12-07 00:45:06 -08:00
Styxo
ba30a514d2 [AER] Added Ajani and Tezzeret from PW decks 2016-12-06 15:38:24 +01:00
MTGfan
70fa433480 Power Surge ToDo: count untapped land at beginning of turn 2016-12-03 21:48:44 -05:00
spjspj
94224ab367 Merge pull request #2651 from spjspj/master
spjspj - Fix for must attack effects not forcing attacks in multiplayer
2016-12-03 18:54:04 +11:00
spjspj
9f66125cf9 spjspj - Fix for must attack effects not forcing attacks in multiplayer 2016-12-03 18:26:40 +11:00
MTGfan
0f90531b33 Animate Artifact please test this 2016-12-01 23:33:10 -05:00
MTGfan
cc1f4b563d Consecrate Land currently not working 2016-12-01 14:20:40 -05:00
MTGfan
4f744b4e53 Added Personal Incarnation
Personal Incarnation implemented. 
TargetController and ActivatedAbilityImpl added OWNER as required by Personal Incarnation
2016-11-29 20:15:02 -05:00
LevelX2
b62ca1ed1f Xmage 1.4.19 2016-11-27 19:59:42 +01:00
LevelX2
7481b7f5b2 Fixed possible endless loop if player left game during combat. 2016-11-27 07:54:02 +01:00
LevelX2
68d0e6b9fa Added the monarch concept to xmage and all related cards. 2016-11-27 01:14:32 +01:00
LevelX2
8bf299e342 * Fixed and extended extra turn test. 2016-11-26 13:46:10 +01:00
LevelX2
db831202da Merge pull request #2630 from MTGfan/master
New AttachedPermanentToughnessValue and related updates plus misc
2016-11-26 10:40:39 +01:00
LevelX2
946b723361 * Fixed possible null pointer exceptions. 2016-11-26 10:22:23 +01:00
MTGfan
36d6c006ca New AttachedPermanentToughnessValue, updated DamageAttachedControllerEffect to take DynamicValue (ex. to work with AttachedPermanentToughnessValue), and updated Creature Bond to use AttachedPermanentToughnessValue and DamageAttachedControllerEffect. Corrected Gaea's Liege, Kor Scythemaster, Soltari Lancer, and Spirit of the Night to use SourceAttackingCondition. Rmoved the AttackingCondition we creature for Gaea's Liege since it duplicated the already existing SourceAttackingCondition. For the other three using SourceAttackingCondition and the minor changes to the code for them should make their code more efficient. 2016-11-26 03:57:46 -05:00
Dilnu
3198558dd6 Fix March of the Machines
Add a DependencyType for ArtifactAddingRemoving and use it to make March of the Machines come after artifact type adding effects.
2016-11-22 08:40:54 -05:00
Dilnu
9ff3e2c670 Fix the counter removal code so it doesn't throw events when it's removing nonexistent counters. 2016-11-21 07:39:47 -05:00
spjspj
5fe4dcdd29 Merge pull request #2610 from spjspj/master
Add 'EDH power level' rating to Commander tables
2016-11-21 19:45:28 +11:00
LevelX2
7daa476542 * Fixed that the color of cards cast face dwon and later turned face up was not set. 2016-11-20 22:34:12 +01:00
spjspj
7fd2eeedcf Add 'EDH power level' rating to Commander tables 2016-11-20 23:13:16 +11:00
LevelX2
da7982ff2e * Obscuring Aether - Fixed a problem that face down creatures had P/T = 0/0. 2016-11-20 10:13:04 +01:00
LevelX2
7d60d884c3 * Refelecting Pool - Fixed that mana that Exotic Orchard could produce was not taken into account. 2016-11-20 01:15:45 +01:00
LevelX2
5ea1724112 * Ghirapur Guide - Fixed that the effect of the activated ability lasted while Ghirapur Guide was on the battlefield instead only until end of turn. 2016-11-20 00:33:01 +01:00
LevelX2
3eb2531cee * Karona, False God - Reworked gain control handling. 2016-11-20 00:15:06 +01:00
LevelX2
03c766a485 * Myriad - Fixed a bug that the token was also created to attack the definding player. 2016-11-19 23:12:02 +01:00
LevelX2
b7b7a97945 * Fixed that died creature were wrongly returned to battlefield also if it was moved to exile by replacement effect before. 2016-11-19 18:44:11 +01:00
LevelX2
360db9104f * Fixed that the order of opening hand actions could not be chosen by the player. 2016-11-19 17:49:51 +01:00
LevelX2
ca25cc4679 * Fixed a problem that optional effects could produce IndexOutOfBoundsExceptions. 2016-11-19 12:47:20 +01:00
LevelX2
8e42660e33 Fixed a problem that tokens that came into play with modified attributes (P/T e.g. from Master of Etherium) were seen for triggered abilities (e.g. Sword of the Meek ) with unmodified attributes. 2016-11-19 12:08:44 +01:00
LevelX2
0ccaca4a3b Fixed a problem that tokens that came into play with modified attributes (P/T e.g. from Master of Etherium) were seen for triggered abilities (e.g. Sword of the Meek ) with unmodified attributes. 2016-11-19 12:08:38 +01:00
LevelX2
f9fcd7e4bf Merge pull request #2602 from Dilnu/master
Fix AlternativeCostSourceAbility
2016-11-19 11:26:00 +01:00
MTGfan
9c80ca143b updated Gaea's Liege, removed unused import on Protean Hydra, corrected Rock Hydra line to have {this} instead of Rock Hydra. 2016-11-16 22:39:49 -05:00
Dilnu
0caaaa4205 Fix AlternativeCostSourceAbility at the moment it doesn't apply it's filter early enough and so it has strange effects in certain edge cases. Specifically it allows Hypergenesis to be cast with Aluren and Kentaro. 2016-11-16 21:20:37 -05:00
Dilnu
c37b782b75 Fix the Commander Predicate which was written incorrectly. This fixes Bastion Protector. 2016-11-13 20:05:52 -05:00
LevelX2
67d4ecafbe Fixed CommanderPredicate (fixed e.g. problem with Bastion Protector). 2016-11-12 09:05:22 +01:00
Styxo
d291c289b8 Added Aboroth, Avizo, Benediction of Moons and Infernal Tribute 2016-11-10 09:00:37 +01:00
fireshoes
20d09443d5 Changed Declaration in Stone to exile to the generic exile window instead of its own. Added card name identifier to the revealed hand in ExileCardYouChooseTargetOpponentEffect so you can see previously revealed cards when their hand is revealed multiple times. 2016-11-09 11:00:24 -06:00
LevelX2
6962f02ab8 * Kydele, Chosen of Kruphix - Fixed a bug caused by the watcher object. 2016-11-06 23:37:34 +01:00
LevelX2
618ee3698b * Saskia, the Unyielding - Fixed a NPE bug caused the triggered ability. 2016-11-06 23:01:00 +01:00
LevelX2
bfb2924966 * Cabal Conditioning - Fixed that only the first target player had to discard cards. 2016-11-06 22:06:35 +01:00
LevelX2
c9e1b415e2 Xmage 1.4.18V0 2016-11-06 18:11:19 +01:00
LevelX2
efa1ce2429 * Ephara, God of the Polis - Fixed its watcher not able to handle copies of it correctly. 2016-11-06 15:56:31 +01:00
LevelX2
da67a67eaa * Ephara, God of the Polis - Fixed its watcher not able to handle copies of it correctly. 2016-11-06 14:04:43 +01:00
LevelX2
e4fe34dbdb [C16] Added 2 cards. 2016-11-06 11:40:17 +01:00
LevelX2
159180d79b Fixed a minor game log issue. 2016-11-06 10:51:58 +01:00
LevelX2
05feab8e96 [C16] Added 5 cards. 2016-11-06 10:51:38 +01:00
LevelX2
7d8a02bf63 [C16] Added Orzhov Advokist. 2016-11-06 08:28:49 +01:00
Neil Gentleman
ce6087bda6 add ProtectionAbility helpers
for the most common 1 and 2 color cases
2016-11-05 11:27:37 -07:00
Neil Gentleman
6d59ae2771 Zendikons: fix rules text 2016-11-05 11:27:37 -07:00
Neil Gentleman
531577890d ReturnToHandChosenControlledPermanentCost: fix text for n > 1 2016-11-05 11:27:37 -07:00
Neil Gentleman
e6dc8a56e6 PhaseOutTargetEffect: fix "Null phases out" 2016-11-05 11:27:36 -07:00
Neil Gentleman
813c8cdd8a CreateTokenEffect already adds the article
don't want to end up with "a a 3/3 colorless Golem"

and also fixed fix tapped token rules text, which has changed
2016-11-05 11:27:36 -07:00
Neil Gentleman
296e0a9a49 more card text cleanup 2016-11-05 11:26:31 -07:00
Neil Gentleman
7f2b3b71c2 more card text cleanup
Angel of Salvation, Blinding Flare, Allied Strategies, Footbottom Feast,
Delve, Reinforce, Clockwork *, Choking Sands, Cloud Key, Covetous Dragon
2016-11-05 11:26:31 -07:00
Neil Gentleman
ec971140ec format BoostEnchanted and BoostAll like BoostSource
improves Aspect of Wolf, corrects Death's Approach
2016-11-05 11:26:30 -07:00
Neil Gentleman
95f14536eb fix text on some random cards 2016-11-05 11:26:30 -07:00
Neil Gentleman
b215e9c32c specify proto2 syntax
to prevent compiler warning
2016-11-05 11:26:30 -07:00
spjspj
2d3f9fb4f2 Merge pull request #2561 from spjspj/master
spjspj - Grip of Phyresis (C16)
2016-11-05 22:45:51 +11:00
spjspj
a423e87c98 spjspj - Grip of Phyresis (Made germ token public) (C16) 2016-11-05 22:44:25 +11:00
spjspj
e362dea7e6 spjspj - Grip of Phyresis (C16) 2016-11-05 22:43:21 +11:00
LevelX2
43043eba8e [C16] Added 7 cards. 2016-11-05 11:50:15 +01:00
LevelX2
2c7d6e788d * Workaround test for cards db bug. 2016-11-05 10:17:17 +01:00
LevelX2
917d6500fa * Mistbind Clique - Fixed that the tap ability was wrongly triggered as Mistbind Clique left the battlefield. 2016-11-03 23:16:45 +01:00
LevelX2
a4e1c7aefd Merge origin/master 2016-11-03 22:38:14 +01:00
LevelX2
d2561c1752 * Fixed a problem with triggered mana abilities. Fixed a problem that AI did not always select the needed mana color. Fixed a problem with Reflecting Pool not taking triggered mana abilities into account. 2016-11-03 22:37:54 +01:00
LevelX2
f07408f995 * Flagbearer - Fixed a bug that game could be locked if a spell could only target your own creatures. 2016-11-03 19:04:55 +01:00
spjspj
e931db2261 spjspj - Charging Cinderhorn (C16) 2016-11-03 17:19:07 +11:00
Neil Gentleman
8109532adf ThreadLocalStringBuilder is slower here
by about 30%, as measured by JMH

avoiding garbage is more important when the string is more than 5
characters long
2016-11-01 21:28:43 -07:00
Neil Gentleman
f438b76b31 remove deprecated, unused, unimplemented method 2016-11-01 21:28:43 -07:00
emerald000
c38f96ae55 [C16] Implemented Partner ability. 2016-11-01 22:59:39 -04:00
LevelX2
3f882b73c4 Fixed a problem with activated spells that could not be used but were used by AI and available mana calculation. 2016-11-01 14:31:02 +01:00
LevelX2
56900a9b1f [SWS] Yoda, Jedi Master - Fixed a problem with the +1 ability. 2016-11-01 11:47:40 +01:00
fireshoes
ac3203b63c Set some token version types. [C16] Added token info. Implemented Migratory Route. 2016-10-31 23:09:42 -05:00
LevelX2
777025bea4 Unstable Shapeshifter fixed some bugs and clean up. 2016-11-01 01:19:52 +01:00
Neil Gentleman
3966b4a217 Merge pull request #2537 from nigelzor/simplify-some-cards
Simplify some cards
2016-10-31 01:36:54 -07:00
Neil Gentleman
0ad74e8a9b Merge pull request #2536 from nigelzor/shortcut-filters
use TargetArtifactPermanent, etc.
2016-10-31 01:36:40 -07:00
Neil Gentleman
6f96ec5be5 Merge pull request #2538 from nigelzor/mana-cleanup
Mana ability cleanup
2016-10-31 01:36:18 -07:00
Neil Gentleman
3ae8b257d5 Budoka Pupil, etc: flipping is optional
flag was being ignored in OnEventTriggerAbility constructor, and not set
at all for the other cards.
2016-10-31 01:10:28 -07:00
Neil Gentleman
7532d1228b improve PutLandFromHandOntoBattlefieldEffect
so that Elvish Pioneer and Terrain Generator can use it
2016-10-31 00:19:20 -07:00
Neil Gentleman
592cd55518 remove unused method Card.build() 2016-10-30 23:47:01 -07:00
Neil Gentleman
e40329e6e2 use FilterControlledLandPermanent 2016-10-30 23:47:01 -07:00
Neil Gentleman
9a2d209cd8 add non-basic helpers to FilterLandPermanent 2016-10-30 23:47:01 -07:00
Neil Gentleman
da07a58a85 use FilterArtifactOrEnchantmentPermanent 2016-10-30 23:47:01 -07:00
Neil Gentleman
43b0d4ef97 remove redundant this.targetName = filter.getMessage();
not necessary when same code exists in superclass constructor
2016-10-30 23:47:01 -07:00
LevelX2
de28ea797e Merge pull request #2533 from magefree/issue-2492-emrakul-extra-turn
* Emrakul, the Promised End - Fix that extra turn is not giving when …
2016-10-31 07:36:11 +01:00
Neil Gentleman
0125f88611 add mana-generation helpers to ChoiceColor 2016-10-30 23:02:04 -07:00
Neil Gentleman
564e2cd58b use Mana.ColorlessMana; SimpleManaAbility
removing explicit `new BasicManaEffect()` calls, where SimpleManaAbility will do it implicitly
2016-10-30 23:02:04 -07:00
Quercitron
0dcc2a85b8 * Emrakul, the Promised End - Fix that extra turn is not giving when Emrakul is cast during an opponent's turn (fixes #2492). 2016-10-31 03:01:02 +03:00
Quercitron
75432f5b61 Revert rollback changes, fix rollback when extra turn was taken during an opponent's turn. 2016-10-31 02:51:40 +03:00
LevelX2
59f09dbf0c [C16] Added Vial Smasher the Fierce and a partners ability without function. 2016-10-30 19:53:54 +01:00
LevelX2
db4644cbc1 Reworked PreventAllDamageToControllerEffect to be more generic. 2016-10-30 18:59:16 +01:00
spjspj
21d6e9161d spjspj - Curse of Vengeance + Conqueror's Flail C16 2016-10-31 00:25:28 +11:00
LevelX2
0230f8ed9b [C16] Added the cards with the undaunted keyword. 2016-10-30 14:11:52 +01:00
LevelX2
bec827f96c The Gitrog Monster - Fixed that it could only be sacrificed if it's still on the battlefield. 2016-10-29 23:58:41 +02:00
LevelX2
70126988c5 Changed rule text from "put token onto the battlefield" to "create token". 2016-10-29 23:42:19 +02:00
LevelX2
2ba6bf79f1 Added Flip Coin effect. 2016-10-29 11:09:25 +02:00
JOAC69
8191a9cba0 Basic lands with multiple art not showing up #2430 2016-10-28 21:01:35 -05:00
LevelX2
6598e6cc7f * Some minor changes. 2016-10-28 07:53:18 +02:00
fireshoes
f0206537c1 [C16] Added Primeval Protector, Crystalline Crawler, and Breya, Etherium Sculptor. 2016-10-25 15:55:46 -05:00
Styxo
a0e3571d7b Added Riddlekeeper and refactored similar cards 2016-10-25 12:54:46 +02:00
LevelX2
bd0e288087 * Fixed effect text for numbers > 1 (e.g. Daretti, Ingenious Iconlast). 2016-10-23 22:36:45 +02:00
LevelX2
8b62eece68 XMage 1.4.17V0 2016-10-23 10:03:01 +02:00
LevelX2
c7744d8631 * Fixed a bug with tokens using the optional EntersBattlefieldEffect (e.g. Clone with Mimic Vat). 2016-10-23 00:36:36 +02:00
LevelX2
f48e20a48c Fixed a rule text problem of PhaseOutTargetEffect. 2016-10-23 00:08:41 +02:00
LevelX2
07a7afa285 Added test and fixed some possible null pointer exception. 2016-10-22 13:06:41 +02:00