Commit graph

10586 commits

Author SHA1 Message Date
Oleg Agafonov
2eeefd91ef Added additional test for prevent damage effects, improved 3358e2da80 (#6915) 2020-08-06 21:16:59 +04:00
jeffwadsworth
bfbb76fcf1 - Fixed #6935 2020-08-04 14:55:25 -05:00
jeffwadsworth
c3de6bf8a0 - Fixed #6919. Fixed other cards with the same issue. 2020-08-04 14:15:50 -05:00
Oleg Agafonov
2a7ac3fc9e Additional to #6937 2020-08-04 22:39:12 +04:00
Oleg Agafonov
bb148c9cb5 * Special mana abilities: fixed that it can be used to skip card's mana payments (#6937); 2020-08-04 22:09:57 +04:00
Oleg Agafonov
3430013f8d * Server: fixed that too much permanents or mana sources on battlefield can crush or slow down the server (#6938); 2020-08-04 05:36:43 +04:00
LevelX2
985d4205bf * Harvest Mage - Fixed available mana generation (#6698). 2020-08-03 21:26:47 +02:00
LevelX2
244cf2a1e9 * K'rrik, Son of Yawgmoth - Fixe phyrexian mana like payment of mana costs (closes #6928 related to #6698). 2020-08-03 19:17:07 +02:00
dependabot[bot]
8435c6579a
Bump h2 from 1.4.197 to 1.4.200
Bumps [h2](https://github.com/h2database/h2database) from 1.4.197 to 1.4.200.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-1.4.197...version-1.4.200)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-03 07:21:00 +00:00
LevelX2
cbc1c02cde * Fixed bug that caused some tests to fail introduced with 67dd45c1c7. 2020-08-03 08:32:26 +02:00
Oleg Agafonov
e95b9f145c GUI: deck legality improves:
* Added partly valid status for deck legality panel (if all cards are fine but user must add more cards to complete, see #6854);
 * Improved legality errors sorting (important errors visible at the top now, e.g. commander's errors);
2020-08-03 02:03:54 +04:00
Oleg Agafonov
309b3f5636 GUI: deck legality and themes improves:
* Improved formats list in deck legality panel (#6854);
 * Added hide button to deck legality panel (#6854);
 * Fixed themes names and added theme info in startup logs;
2020-08-03 00:07:13 +04:00
Oleg Agafonov
00411b4a9b * Regeneration abilities improved:
* Fixed that regeneration shield isn't added to permanent on aura sacrifice cost (example: Stamina, Carapace, see #2221);
 * Fixed that regeneration shields accumulated in attached aura instead permanent (bug example: re-attached aura gives old shields to new permanent, see #6846);
 * Added card hint with regeneration shields amount (#6846);
2020-08-02 14:01:58 +04:00
LevelX2
516a4104f1 * Treasonous Ogre - Fixed available mana generation (#6698). 2020-08-02 11:34:19 +02:00
LevelX2
67dd45c1c7 * Added getProducableManaTypes method for mana effects to handle Squandered Resources or Reflecting Pool like abilities.
* Fixes to Soldevi Adnate, Skirge Familiar, Mana Web.
2020-08-02 10:51:22 +02:00
jeffwadsworth
121e1043ab - RegenerateSourceEffect() will now be discarded if the source permanent is blinked or changes zone. 2020-08-01 16:12:58 -05:00
jeffwadsworth
2a35f833a7 - RegenerateSourceEffect() will now be discarded if the source permanent is blinked or changes zone. 2020-08-01 16:11:55 -05:00
Oleg Agafonov
c7595ca476 * Regeneration abilities - added card hint about activated and used regeneration; 2020-08-01 21:29:08 +04:00
Oleg Agafonov
4ba7c18d43 * Discard cost - added hint text in card choose dialog about discard; 2020-08-01 21:07:37 +04:00
LevelX2
c343767e8e * Fixed available mana generation of Jungle Patrol (was no mana ability) and Priest of Yawgmoth (#6698). 2020-07-31 13:53:07 +02:00
LevelX2
06968ad921 * Fixed a problem of available mana generation caused by order of usage of mana sourced with costs (example Coal Golem and then Dromar's Attendant - related to #6698). 2020-07-30 23:37:04 +02:00
Oleg Agafonov
8e929d4e9d Fixed not working cost modification effects in get playable calcs from some cards (#6684):
* Kasmina, Enigmatic Mentor
* Kopala, Warden of Waves
* Monastery Siege
* Senator Lott Dod
* Terror of the Peaks
2020-07-30 22:06:12 +04:00
Oleg Agafonov
0824d2901a * Transform abilities - fixed duplicated triggered abilities from transformed permanents;
* Accursed Witch // Infectious Curse - fixed wrong cost modification effect (#6684);
2020-07-30 12:13:32 +04:00
LevelX2
7cfe39ae21 * Fixed that not all Equip abilities were correctly identified for abilities that changed Equip timig (e.g. Leonin Shikari - fixes #6907). 2020-07-29 16:16:47 +02:00
LevelX2
ffa837ae95 * Angel of Jubilation - Fixed that it did not only prevent life payment from casting spells or activating abilities (fixes #3663). 2020-07-29 14:48:14 +02:00
LevelX2
307d4a6283 Merge origin/master 2020-07-28 16:31:46 +02:00
LevelX2
9903944804 * Reworked retrieving spell characteristics (related to 98ebcc07ca). 2020-07-28 16:29:44 +02:00
Oleg Agafonov
a5a5256cff Code cleanup 2020-07-28 18:15:32 +04:00
LevelX2
0458778c44 * Fixed bug of Druids Repository (related to b5c93cf2da), 2020-07-28 13:28:24 +02:00
Oleg Agafonov
fdc32f891e * Raid abilities - added card hints about raid condition, fixed missing ability words; 2020-07-28 04:25:43 +04:00
LevelX2
b5c93cf2da * Fixed available mana generation of Druids Repository, Workhouse, Iceberg, Krak Clan Ironworks, Rasputin Dreamweaver and Sirk Prospector (#6698). 2020-07-28 01:03:33 +02:00
LevelX2
82a9726a35 * Fixed available mana generation of Virdian Joiner (#6698). 2020-07-27 23:50:07 +02:00
LevelX2
82dfd76ee3 * Fervent Champion - Fixed that it's possible to equip the Champion also without having the regular mana (#6698). 2020-07-27 22:27:11 +02:00
LevelX2
6e68e038b6 * Bartered Cow - Fixed that it does nothing when discarded (fixes #6884). 2020-07-27 21:47:31 +02:00
Oleg Agafonov
96155ec799 Cheat engine: fixed that it doesn't init effects and other staff from battlefield permanents (#6888); 2020-07-27 20:46:21 +04:00
dependabot[bot]
cc66aeeb9b
Bump protobuf-java from 3.7.0-rc1 to 4.0.0-rc-2
Bumps [protobuf-java](https://github.com/protocolbuffers/protobuf) from 3.7.0-rc1 to 4.0.0-rc-2.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/master/generate_changelog.py)
- [Commits](https://github.com/protocolbuffers/protobuf/compare/v3.7.0rc1...v4.0.0-rc2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-27 06:44:07 +00:00
LevelX2
7a78be8c6a * Some target pointer changes and code clean up. 2020-07-26 00:16:14 +02:00
LevelX2
85d18899b1 * Fixed a problem that conditional mana could not be correctly used with AsThoughEffects (fixes #6880). 2020-07-25 22:11:30 +02:00
Oleg Agafonov
3abe5e796a Server: removed unnecessary logs, extra comments 2020-07-25 19:06:38 +04:00
Oleg Agafonov
848c5b6052 Fixed missing watchers from DelayedTriggeredAbility:
* Planeswalkers Mischief - fixed rollback error on play;
* Psychic Theft - fixed rollback error on play;
2020-07-25 19:01:49 +04:00
Oleg Agafonov
32b7c592c8 * Sanguine Indulgence - fixed rollback error on play, fixed card text (#6643); 2020-07-25 17:26:10 +04:00
Oleg Agafonov
043785b1d1 * Metalcraft abilities - added card hints about artifacts count, fixed missing ability word; 2020-07-25 05:40:59 +04:00
Oleg Agafonov
97c427375d Fixed face down cost modification (related to 653a2dd7b2) 2020-07-24 21:30:03 +04:00
LevelX2
4d43914673 * Morselhoarder - Fixed calculation of available mana and some cleanup to other mana abilities (#6698). 2020-07-24 16:41:36 +02:00
LevelX2
98ebcc07ca * Fixed spell cost reduction for bestow not working during calculation of castable spells (#6698). 2020-07-24 16:04:52 +02:00
LevelX2
653a2dd7b2 * Available mana calculation - Fixed a problem with repeatable mana converting abilities (e.g. Farrelite Priest) that were only considered once (#6698). 2020-07-24 12:06:14 +02:00
LevelX2
329352f36b Hunters' Feast - Fixed rule text (fixes #6878). 2020-07-23 12:22:07 +02:00
LevelX2
b965bddf92 * Oathbreaker: Signature spell did not return to command zone if exiled (fixes #6870). 2020-07-21 23:46:55 +02:00
LevelX2
d721c0bea3 * Commander state-based action -Fixed that commander movement did not always work correctly after rollback (#6866). 2020-07-20 22:22:20 +02:00
LevelX2
5cb950e53f * Basri's Lieutenant - Fixed that it created also the token if Lieutenant dies without a +1/+1 token (fixes #6863). 2020-07-20 10:35:36 +02:00
jeffwadsworth
048ce3f2a7 - Fixed #6326 2020-07-18 11:01:53 -05:00
bubba
c84a913858 - Fixed #6326 2020-07-18 11:01:03 -05:00
LevelX2
5decfa3964 * Traumatize, Bond of Insights, Enter The God-Etrenals and Flint Golem - Changed to mill method. 2020-07-18 17:27:15 +02:00
LevelX2
ba31b956dc * Meld Keyword - Fixed that the melt status was not correctly handled related to rollbacks or AI game simulation (fixes #6723). 2020-07-18 16:33:28 +02:00
LevelX2
a2ae232b43 * Fixed some corner cases for Worl Enchantment State-Based actions (704.5k). 2020-07-18 12:23:19 +02:00
18ths
99d5eafc8a
GUI enchancements (themes, sound notification, deck validation) (#6755)
GUI enchancements (themes, sound notification, deck validation)
2020-07-17 19:15:02 +02:00
LevelX2
621d8c188d * Reworked rollback handling - possible fix for #2072 #5383, #4309 and fixes #5883, fixes #1983, fixes #5917. 2020-07-17 17:42:49 +02:00
LevelX2
e4ae2f3fec * Fixed Rollback UI bug with ManaPool's autoPayment and autoPaymentRestricted (fixes #5002). 2020-07-16 23:56:43 +02:00
LevelX2
23087e6c23 * Used ManaOptions to calculate possible mana combinations (related to comment of 7ad7d5f03d). 2020-07-16 22:56:33 +02:00
LevelX2
3a82840e66 * Fixed some more available mana calculation problems. Mana of the pool is now taken into account (e.g. Coal Golem problem). Crucible of the Spirit Dragon - Conditional mana curretnly not handled correctly in available mana calculation. Crystalline Crawler works now.Related to #6698. 2020-07-16 22:37:51 +02:00
18ths
ddf007e6f1 Removed redundant Living End effect. Fixes #6385 2020-07-16 16:56:12 +02:00
LevelX2
7ad7d5f03d * Fixed available mana generation for Caged Sun and storage lands (e.g. Calciform Pools) related to #6698. 2020-07-16 12:44:01 +02:00
LevelX2
b0cd69bb08 * Fixed missing imports of aad36dda19 commit. 2020-07-15 00:48:19 +02:00
LevelX2
083c4bc5d4 * Reworked some card movement to player methods (#4866). 2020-07-15 00:42:08 +02:00
LevelX2
aad36dda19 * Fixed possible problem with setting of the spellAbility during card copies (related to eecaa232f5). 2020-07-14 23:18:47 +02:00
LevelX2
24098bf8cc Merge origin/master 2020-07-14 23:06:35 +02:00
LevelX2
49ab4e0992 * Fixed possible problem with setting of the spellAbility during card copies (related to eecaa232f5). 2020-07-14 23:06:03 +02:00
jeffwadsworth
bfb7a1a24d - Fixed #6838 2020-07-14 15:49:30 -05:00
LevelX2
eecaa232f5 * Fixed a problem where for copies of cards/permanent the included spell ability was not correctly copied and the copied card had the spell ability twice. That could cause in some rare cases problems with spell ids of copies (this fixes #6824) or did allow on the other side some unproper handling of things (Animate Dead). 2020-07-14 21:28:45 +02:00
jeffwadsworth
2e0be17494 - small Refactor 2020-07-14 08:20:31 -05:00
jeffwadsworth
335acd4375 - Fixed #6832 2020-07-13 23:32:18 -05:00
jeffwadsworth
8818a12b6e - Fixed #6834 2020-07-13 16:54:08 -05:00
jeffwadsworth
a7b2c81db6 - Fixed #6834 2020-07-13 15:51:17 -05:00
LevelX2
f3fafbdb14 * Fixed that choose opponent was handled targeted but shouldn't (e.g.used for Stalking Leonin) fixed #6836. 2020-07-13 17:13:30 +02:00
Oleg Agafonov
362352954b
Merge pull request #6830 from magefree/Add-historic2
Add Historic format and Historic Anthologies
2020-07-13 15:37:52 +02:00
LevelX2
c6c1b0ed3a * Fixed a bug that by countering a copied spell (e.g. by copied Memory Lapse), the copy could be removed from stack instead the originally countered spell (fixes #6823). 2020-07-13 11:23:36 +02:00
LevelX2
1cdb715d92 * Fixed a problem how the color of mana paid from mana pool was recognized that could made problems to count the number of different colors used to pay a spell with convergence (e.g. if the mana was created with Cascading Cataracts) fixes #3816. 2020-07-13 00:10:09 +02:00
LevelX2
49d94cb84f * Crystalline Resonance - fixed that the duration of the copy effect erroneously didn't end on the next turn of the controller (fixes #6825). 2020-07-12 09:25:34 +02:00
LevelX2
31163eec6d * Fixed that mana sources that produce any mana type that other sources produce (e.g. Reflecting Pool) could erroneously produce colorless mana from mana sources that could only produce any color mana (fixes #6814). 2020-07-12 08:50:56 +02:00
Oleg Agafonov
219ab89bcc Fixed test 2020-07-11 21:03:32 +04:00
LevelX2
81e5650972 * Fixed calcultion of available mana for Goblin Clearcutter, Seton Krosan Protector, Urza, Lord High Artificer, Heritage Druid, Birchlore Ranger and Grand architect. 2020-07-11 16:43:38 +02:00
mikalinn777
bf293ca939 Add Historic format and Historic Anthologies 2020-07-11 12:06:01 +02:00
LevelX2
89249888b5 * Added handling of triggered mana to available mana calculation (fixes #585). 2020-07-11 00:53:47 +02:00
Oleg Agafonov
1cf57e0840 Fixed that AI can't play games in Jumptstart tourneys 2020-07-10 17:40:59 +04:00
Oleg Agafonov
c4f028ffa0 Prepare new release 2020-07-10 16:50:38 +04:00
Oleg Agafonov
06b6e482a0 * Exile and return to battlefield - fixed that some cards can return commander from command zone but they shouldn't (example: Cloudshift, Conjurer's Closet, see #5151, #5278); 2020-07-10 14:37:46 +04:00
LevelX2
40b7d723ef * Some minor code clean up and a test. 2020-07-10 09:06:25 +02:00
arcox
9c7982e8f6 Update *.sh and *.java files to use Unix line endings 2020-07-09 13:07:26 -04:00
jeffwadsworth
a6d03c925f - Fixed #6806 2020-07-09 11:10:28 -05:00
Oleg Agafonov
cb3757d0db
Merge pull request #6795 from magefree/dependabot/maven/org.codehaus.mojo-build-helper-maven-plugin-3.2.0
Bump build-helper-maven-plugin from 1.12 to 3.2.0
2020-07-09 01:38:49 +02:00
Oleg Agafonov
6c3162f140 Optimized sql for deck editor 2020-07-09 03:08:44 +04:00
Oleg Agafonov
99ceeb5076 Tokens improves:
* [M21] added tokens;
 * [M21] added tokens download support;
 * Fixed wrong images for some tokens (Angel, Beast, Bird, Cat, etc);
2020-07-09 02:38:37 +04:00
18ths
13f7f2a035 Revert "removed some of unused dependencies"
This reverts commit d6ad722266.
2020-07-08 17:16:16 +02:00
18ths
d6ad722266 removed some of unused dependencies 2020-07-07 20:11:45 +02:00
18ths
543ac206be Added hint to monstrous. Fixes #6765 2020-07-07 17:57:25 +02:00
dependabot[bot]
66e47d8910
Bump build-helper-maven-plugin from 1.12 to 3.2.0
Bumps [build-helper-maven-plugin](https://github.com/mojohaus/build-helper-maven-plugin) from 1.12 to 3.2.0.
- [Release notes](https://github.com/mojohaus/build-helper-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/build-helper-maven-plugin/compare/build-helper-maven-plugin-1.12...build-helper-maven-plugin-3.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-07 08:55:33 +00:00
Oleg Agafonov
ecaa5a5b42 Eon Frolicker - fixed rollback error on play (#6780); 2020-07-07 06:32:46 +04:00
Oleg Agafonov
55f2893fc4 * AI: fixed that computer can cancel "target player or planeswalker" spells on bad effects (can't choose himself); 2020-07-07 06:31:06 +04:00
Evan Kranzler
ff54141e97 fixed Chevill, Bane of Monsters not triggering off of planeswalkers dying 2020-07-06 19:22:04 -04:00
Oleg Agafonov
802aca942a Play card without mana cost - fixed that AI and other players can play cards without additional cost in some use cases (#6760); 2020-07-06 21:06:49 +04:00
jeffwadsworth
29eb93ad15 - Fixed #6781 2020-07-06 11:50:40 -05:00
LevelX2
2f77d1d14c * Fixed that Offering ability did not work from command zone (fixes #4909). 2020-07-06 15:15:02 +02:00
Oleg Agafonov
d1ccb621a1 * Bolas's Citadel - fixed that opponent can use Bolas's play ability for own cards (#6741); 2020-07-06 15:44:31 +04:00
Oleg Agafonov
49f4e54aaa * Amplify abilities - fixed that it allows reveal itself when put onto battlefield from hand (#6776); 2020-07-06 15:29:53 +04:00
Oleg Agafonov
4168e2714a Controlled spells gain ability -- fixed that gained cost modification effects doesn't allow to cast cards without mana (example: Inspiring Statuary, see #6698); 2020-07-06 11:17:09 +04:00
Oleg Agafonov
1e744a0aae Alternative cost - fixed that it doesn't allow to cast cards that was affected by cost modification effects (example: Prowl ability, see #6698); 2020-07-05 23:11:47 +04:00
Oleg Agafonov
f9a9a55f7b Cloud Key - fixed that it doesn't allow to cast cards without full mana available (#6698); 2020-07-05 19:39:05 +04:00
Oleg Agafonov
69d8fd1898 Battlefield Thaumaturge - fixed that it doesn't allow to cast spells without full available mana (#6698); 2020-07-05 01:08:43 +04:00
LevelX2
68f4d67600 * Fixed a problem with mana sources that blocked casting spells because their available mana calculation caused return of no available mana (Chrome Mox, Mox Amber #6698). 2020-07-03 15:31:16 +02:00
LevelX2
e937999b96 * Release to the Wind - Fixed that it doesn't let you cast the cards it exiles (fixes #6758). 2020-07-03 14:54:08 +02:00
LevelX2
299e664191 * Kestia, the Cultivator - Fixed bestow from the Command Zone doesn't attach her to the creature you target (fixes #6763). 2020-07-03 13:17:04 +02:00
htrajan
91571df264
[M21] Fix castability and selectability of EnthrallingHold (#6773) 2020-07-03 07:16:31 +04:00
Evan Kranzler
e471fef399 fixed a potential exception 2020-07-02 22:51:31 -04:00
Evan Kranzler
509bd39244 fixed Neyith of the Dire Hunt not working with cards that cause creatures to become blocked 2020-07-02 18:46:12 -04:00
Oleg Agafonov
e69a021c71 Fixed missing locale param in string operations (#4634) 2020-07-03 02:00:58 +04:00
Oleg Agafonov
da4a44445b Additional fixes for #6771 (modal spells resolve order) 2020-07-03 01:46:05 +04:00
Oleg Agafonov
6dccaee9a4 Ghostfire Blade - fixed that it can't be played without full available mana (#6698); 2020-07-02 20:37:59 +04:00
LevelX2
2a31e8063b * Spells with multiple modes resolve in the order the modes are added on the card (fixes #6771). 2020-07-02 17:23:00 +02:00
LevelX2
84370ee5ab * Allow to addd hint texts to stack abilities. Swicthed to html text format for text box of stack abilites. 2020-07-02 00:53:46 +02:00
Oleg Agafonov
f409f56c05 Potential game freeze fix 2020-07-02 01:27:53 +04:00
LevelX2
41abefa8e4 * Fixed spell's target still legal handling check as it begins to resolve (fixes problem of Sublime Epiphany #6646). 2020-07-01 12:57:29 +02:00
Oleg Agafonov
ae165e5197 Fixed that it possible to make damage to lose/leaved players 2020-07-01 14:09:43 +04:00
Oleg Agafonov
adbe84c540 Improved freeze checks and canRespond/isInGame usage 2020-07-01 13:48:22 +04:00
Oleg Agafonov
529153312f Fixed potential freeze on put cards order 2020-07-01 13:13:44 +04:00
18ths
653ca9cc5a
Merge branch 'master' into GlitterLionTextFix 2020-07-01 10:03:37 +02:00
Oleg Agafonov
7e9d4417f6 * Game: fixed game freeze on mulligan phase and disconnected player; 2020-07-01 11:44:27 +04:00
Evan Kranzler
73026b57b1 implemented Neyith of the Dire Hunt 2020-06-30 21:29:59 -04:00
LevelX2
60cce5c11b * Fixed wrong event attributes for special action ACITIVATE_ABILITY event (see also 6753). Fixed that Phyrexian Revoker also prevented using special actions (fixes #6747). 2020-06-30 15:34:29 +02:00
Oleg Agafonov
83135f347f Spellwild Ouphe - fixed cost reduction effect (#6698) 2020-06-30 08:51:59 +04:00
Oleg Agafonov
d5616a86f9
Merge pull request #6669 from hitch17/jumpstart-tournament-formats
Add jumpstart swiss and elimination tournament formats.
2020-06-30 06:29:33 +02:00
Oleg Agafonov
09bc2575d8 Cost increasing effects - refactor, removed redundant custom effects (related to #6684 and #6698); 2020-06-30 08:27:29 +04:00
LevelX2
b01a1ac3aa Merge origin/master 2020-06-29 19:42:27 +02:00
jeffwadsworth
a4d659176e - Refactored BlocksOrBecomesBlockedTriggeredAbility to BlocksOrBecomesBlockedSourceTriggeredAbility 2020-06-29 11:45:26 -05:00
LevelX2
92d1a6b9d8 Merge origin/master 2020-06-29 18:03:12 +02:00
LevelX2
368faa37dd * Added test for Dream Leash. 2020-06-29 18:02:18 +02:00
jeffwadsworth
d1cbfc51e1 - Refactored DiesTriggeredAbility to DiesSourceTriggeredAbility 2020-06-29 10:51:34 -05:00
LevelX2
c39bcf3d5a * Primal Might - Handled fizzled message for optional fight effect (#6646). 2020-06-29 15:25:55 +02:00
LevelX2
d1e31140cc * Fixed a problem that unintended allowed to cast spells with alternate cost to cast conditions (fixes #6739). 2020-06-29 14:54:29 +02:00
LevelX2
5661bb1bfe * Some minor code changes. 2020-06-29 14:50:46 +02:00
Oleg Agafonov
90965802d0 Cost increasing effects - refactor, removed redundant custom effects (related to #6684 and #6698); 2020-06-29 15:39:58 +04:00
Oleg Agafonov
4bdd8910a8 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	Mage.Sets/src/mage/cards/d/DreamLeash.java
2020-06-29 13:32:26 +04:00
Oleg Agafonov
cf3feff76a Cost reduction effects - refactor, removed redundant custom effects, added card hints; 2020-06-29 13:31:02 +04:00
htrajan
ca29e61b1d
[M21] actually fix Enthralling Hold (#6746) 2020-06-29 12:41:46 +04:00
Oleg Agafonov
e4ebf50d42 * Artifact you control effects - added card hints; 2020-06-29 09:28:46 +04:00
LevelX2
d2d892a7cb * Fixed that permanents under non owner control sine they are on the battlefield were no exiled if the controller left the game (e.g. Captive Audience) (fixes #5593). 2020-06-27 23:47:04 +02:00
Oleg Agafonov
e8dbd2a3c8 Refactor some cost modification effects 2020-06-27 19:22:45 +04:00
Oleg Agafonov
520d75dba9 * Cost reduction effects - fixed that some cards with cost reduction can't be played (example: Price of Fame, see #6685, #6684); 2020-06-27 05:40:45 +04:00
Oleg Agafonov
2252648f01 * Added card hints to Avatar of Might, Avatar of Will, Avatar of Woe, Dusk Feaster, Rekindled Flame;
* Refactor: removed custom spell cost reduction effects;
2020-06-27 05:36:04 +04:00
htrajan
6fa1ad3aaa
[M21] Implement more cards (#6730)
* EnthrallingHold

* ArchfiendsVessel

* ConspicuousSnoop

* HoodedBlightfang

* commit set updates

* fix text

* fix Archfiend's Vessel cast from graveyard trigger and Enthralling Hold text
2020-06-26 20:55:43 -04:00
LevelX2
8906f3be7b * Cloning a face-down creature should produce a plain 2/2 creature (fixes #3582). 2020-06-27 01:01:55 +02:00
jeffwadsworth
d02d8a4dfe - Fixed #6732 2020-06-26 16:51:17 -05:00
jeffwadsworth
2f5a4e0caf - Fixed text related to bug 6675 2020-06-26 11:10:54 -05:00
LevelX2
166d898168 * Added a test for #4659 - it's not reproducable (closes #4659). 2020-06-26 17:41:10 +02:00
Oleg Agafonov
329f7fd609 Little improves for tests 2020-06-26 18:58:13 +04:00
Oleg Agafonov
50c46e39a3 Improved game logs: added target hints, fixed spaces in target amount; 2020-06-26 10:59:22 +04:00
Oleg Agafonov
445686a1ad Improved scry effect text generation 2020-06-26 09:59:55 +04:00
Evan Kranzler
a379a06485 added new class for "this or another" triggered abilities 2020-06-25 20:14:48 -04:00
jeffwadsworth
6c69939c0d - Fixed some text issues related to Bug 6675... 2020-06-25 17:45:24 -05:00
jeffwadsworth
a20bc6c414 - Fixed some text issues related to Bug 6675. Not closed because it keep growing... 2020-06-25 16:45:38 -05:00
gp66
a003f95c35 m20 demon token 2020-06-25 08:46:27 -05:00
Evan Kranzler
a5f9b8fb64 Implemented Sethron, Hurloon General 2020-06-25 09:22:09 -04:00
Oleg Agafonov
aeef4e1193 Fixed some tokens image 2020-06-25 09:52:54 +04:00
Oleg Agafonov
dea739ecb0
Merge pull request #6683 from gp66/fix-iko-tokens
Fix iko tokens
2020-06-25 07:35:17 +02:00
htrajan
7bb7afe28a
[M21] Implement sanctum cards (#6708) 2020-06-25 09:31:09 +04:00
Oleg Agafonov
d8bbfefde6 * Search library and/or graveyard and put in hand - fixed that it shuffle library before card move; 2020-06-25 00:43:10 +04:00
Oleg Agafonov
6dfacfbca5 * Elspeth, Undaunted Hero - fixed wrong text; 2020-06-25 00:37:13 +04:00
LevelX2
e33505ff7d * Agyrem Plane - Fixed that the effect was not applied to creatures of all players (fixes #6486). 2020-06-24 22:20:55 +02:00
LevelX2
0b00ae8b9d
Merge pull request #6522 from emerald000/oldVersions
UI: Add a button on the deck editor to change your cards to the oldest versions.
2020-06-24 21:53:42 +02:00
Oleg Agafonov
72891a5bad Refactor: removed redundant temporary effects list (#6693, #6618) 2020-06-24 21:11:49 +04:00
18ths
40036271da
Implemented Allosaurus Shepherd and Blessed Sanctuary (#6711)
* added allosaurus shepherd and blessed sanctuary

* fixed nonascii apostrophes

* added continuous effect dependency
2020-06-24 10:17:32 -05:00
Evan Kranzler
785be83484
Refactoring cards that mill (WIP, do not merge) (#6713)
* added mill method

* updated mill effects to use new method

* refactored individual cards

* small updated to Grindstone and Sphinx's Tutelage

* another updated to Grindstone

* fixed a test

* fixed Countermand null check

* more refactoring

* updated dredge ability to use mill
2020-06-24 07:50:00 -04:00
LevelX2
8b5f4f28f0
Merge pull request #6693 from 18ths/force_mirrormade
#6618 - Creatures get +1/+1 when we cancel the cast of a spell.
2020-06-24 08:03:57 +02:00
Evan Kranzler
ba0e9af5fd Implemented Bruvac the Grandiloquent (still needs refactoring 2020-06-23 17:29:14 -04:00
18ths
5b9135ef71 fixed clearing temporary effects while rollbacks 2020-06-23 17:26:05 +02:00
LevelX2
4b14eb3724 * Delirum - Fixed wrong card type count. Added unit test for delirum (fixes #6704). 2020-06-23 10:09:37 +02:00
LevelX2
29e5230469 * Oathbreaker format - Fixed that signate spell didn't return to command zone. Added unit test for oathbreaker format (fixes #6695). 2020-06-23 09:18:40 +02:00
Oleg Agafonov
5ae041f39a Additional tests for morph and #6680 2020-06-23 09:29:38 +04:00
arcox
b6352953a8
Implement Nine Lives from M21 (#6706) 2020-06-22 19:42:00 -04:00
Oleg Agafonov
6e1da09023 * Morph ability - fixed that card with morph ability marked as playable all the time (#6680); 2020-06-23 00:59:17 +04:00
John Hitchings
426f207aac add final jumpstart card pool and additional comments on JumpstartPoolGenerator 2020-06-22 12:25:18 -07:00
Oleg Agafonov
8667d2a923 * Special mana payments like convoke/delve - fixed that it can't be used to cast card from command zone (example: Tasigur, the Golden Fang, see #6680); 2020-06-22 20:20:33 +04:00
jeffwadsworth
3c653d8b19 - First part of fix #6660 2020-06-22 09:40:39 -05:00
LevelX2
c8ddd62e3b * Reworked some card movement to player methods (#4866). 2020-06-22 15:38:36 +02:00
Oleg Agafonov
cd624b2158 * Special mana payments like convoke/delve - fixed that it can't be used to cast card from graveyard (example: Hogaak, Arisen Necropolis, see #6680); 2020-06-22 08:34:53 +04:00
Evan Kranzler
6754636f86 fixed an error 2020-06-21 22:39:09 -04:00
Evan Kranzler
d74c2c8355 Implemented Tinybones, Trinket Thief 2020-06-21 22:14:03 -04:00
gp66
b538aea848 beast token iko 2020-06-20 14:26:01 -05:00
Oleg Agafonov
3f2a5fc362 Prepare new release 2020-06-20 11:36:13 +04:00
LevelX2
305dab90b5 * Replaced some card.putOntoBattlefield by player.moveCard... methods (#4866). Added new player.shuffleCardsToLibrary method. 2020-06-20 08:58:29 +02:00
John Hitchings
c54c100b4d add docs/links for jumpstart, tweak the jumpstart packs file. 2020-06-19 22:10:09 -07:00
Oleg Agafonov
52579fd1f3 Fixed tests 2020-06-20 07:06:34 +04:00
Oleg Agafonov
05950dcc2f Improved text generation for TargetCardInASingleGraveyard (additional to #6557) 2020-06-20 02:17:20 +04:00
Oleg Agafonov
cd8d12365f * Add mana of the chosen color - added info about chosen color to ability choose dialog (#6677); 2020-06-20 00:29:33 +04:00
Oleg Agafonov
2e7d01965e * Madness ability - fixed that it ask about madness cast two times (fixes #6674); 2020-06-19 23:42:45 +04:00
Oleg Agafonov
85083a4433 * Devour abilities - fixed that it doesn't trigger simultaneous events after multiple permanents sacrifice (#6254, #6273) 2020-06-19 21:52:31 +04:00
Oleg Agafonov
d069bbd544 Code cleanup and test fixes 2020-06-19 13:24:52 +04:00
Oleg Agafonov
ce3f9e80d5 Reworked Improvise ability (#768) 2020-06-19 13:22:05 +04:00
Oleg Agafonov
56a5fd5851 Reworked Delve ability (#768) 2020-06-19 13:21:03 +04:00
Oleg Agafonov
fb1e284960 Reworked Assist ability (#768) 2020-06-19 13:20:32 +04:00
Oleg Agafonov
708b4e872a Reworked Convoke ability (#768, #6636) 2020-06-19 13:19:27 +04:00
Oleg Agafonov
c2e7b02e13 Reworked and improved special mana payment abilities (convoke, delve, assist, improvise):
* now it can be used to calc and find available mana and playable abilities;
* now tests and AI can use that abilities;
* now it follows mtg's rules and restrictions for mana activation order (rule 601.2f, see #768);
2020-06-19 13:09:45 +04:00
Oleg Agafonov
bdaf6454de Added commander's zone info in leave/keep message 2020-06-19 12:54:42 +04:00
John Hitchings
1bd98d6435 move jumpstart file to resources 2020-06-19 00:04:09 -07:00
John Hitchings
1695e6767d add jumpstart swiss and elimiation tournament formats. 2020-06-18 23:45:02 -07:00
LevelX2
1a8d325710
Merge pull request #6504 from SpeedProg/fix_target_card_in_opponent_graveyard
fixed TargetCardInOpponentsGraveyard not working properly
2020-06-19 00:34:37 +02:00
jeffwadsworth
266c25c876 - Text fix 2020-06-18 16:26:55 -05:00
LevelX2
c41fc0284d * Fixed missing check for restricting effects of activated abilities of permanents (fixes #6657). I guess that got lost by refactoring get playable abilities. 2020-06-18 22:59:42 +02:00
LevelX2
3beaec4525 * Fixed that effects with "as long as Intet remains on the battlefield" condition were reapplied as the card returned to battlefield.
Some other minor fixes.
2020-06-18 19:12:58 +02:00
jeffwadsworth
f231bcb05b - Text fix 2020-06-18 11:21:06 -05:00
Oleg Agafonov
1724740cc6 XML security (fixes #6662); 2020-06-18 18:06:53 +04:00
Evan Kranzler
d8370013af Implemented Thriving Heath 2020-06-17 20:49:36 -04:00
LevelX2
85709c0a16 * Some rework/clean up of the PlayFromNotOwnHandZone effects (fixes #6580). Some added tests. 2020-06-18 01:19:23 +02:00
Thomas ARBLAY
2f68db7086
[RFR] Correction of the text of some cards (#6602)
* Fix some cards

* Fix Clot Sliver

* Fix WarrenScourgeElf

* Fix Olivia Voldaren

* Fix Domri Rade Emblem

* Fix Broken Ambitions Missing text

Co-authored-by: Thomas ARBLAY <thomas.arblay@smile.fr>
2020-06-17 09:58:35 -05:00
Evan Kranzler
3839b0c665 Implemented Goblin Wizardry 2020-06-16 22:14:57 -04:00
Evan Kranzler
03a46ffec1 fixed Ghostly Pilferer triggered ability 2020-06-16 22:03:14 -04:00
htrajan
6804216ddc
Implement garruk cards (#6650)
* Implement Garruk's Harbinger

* inline ability

* Implement Garruk's Uprising

* Implement Garruk, Unleashed

* fix Garruk, Unleashed
2020-06-16 21:09:26 -04:00
LevelX2
1d0059fb53 * Watcher - Fixed a problem copying HashMaps in watcher deep copy (fixes bug of Muldrotha, the Gravetide #6461). 2020-06-16 22:47:52 +02:00
jeffwadsworth
d0553b3c3a - little cleanup 2020-06-16 11:14:28 -05:00
LevelX2
8e1d7c3ffb Renamed condition to prevent misuse. 2020-06-16 10:53:52 +02:00
Evan Kranzler
e8a99ec7f3 Implemented Experimental Overload 2020-06-15 20:09:31 -04:00
htrajan
d8f90f9196
Implement chandra cards (#6641)
* Implement Chandra, Heart of Fire

* Implement Chandra's Pyreling

* rename var
2020-06-15 18:56:01 -04:00
ingmargoudt
8b7db9b82d
Merge pull request #6644 from jasc7636/Watcher
Make watcher copy method deep copy Maps
2020-06-15 22:09:44 +02:00
LevelX2
2788eab082 * Fixed card type displaying order (fixes #6055). 2020-06-15 21:11:54 +02:00
Oleg Agafonov
4006e9e909 * Images: fixed that some tokens uses wrong images of Elemental (#5834); 2020-06-15 21:30:23 +04:00
Oleg Agafonov
f2f1abd0f3 * Images: fixed wrong Wurm token image for some sets (#5604); 2020-06-15 20:59:53 +04:00
Oleg Agafonov
c2487aec7d [C20] tokens support and fixes:
* Added tokens for C20;
* Added tokens images download for C20;
* Fixed that some tokens uses wrong images or images from wrong set (example: Elemental);
2020-06-15 20:29:52 +04:00
Oleg Agafonov
2b21298377 * UI: fixed that tokens in M15 render mode did not use a variety of images (all same named tokens uses same image); 2020-06-15 20:21:30 +04:00
jasc7636
cdcef4649d Make watcher copy method deepcopy collections 2020-06-15 10:08:56 +02:00
LevelX2
f9479993e2 * UntapLandsEffect - Changed filter message. 2020-06-14 19:41:18 +02:00
LevelX2
39ca6d0dcc
Merge pull request #6615 from Grath/patch-2
Text correction on UntapLandsEffect
2020-06-14 19:37:59 +02:00
LevelX2
3c43e544b0 * Fixed a bug that for mana abilities with multiple net mana entries wrongly no available mana was calculated (fixes #6617). 2020-06-14 16:29:05 +02:00
LevelX2
033f80c6ed * Use for automatic mana payment of generic mana costs first abilities without additional costs (fixes #6408). 2020-06-14 09:34:29 +02:00
LevelX2
aaf1f7da7b * Bronzehide Lion - Fixed that activated ability of enchanted form applied Indestructibility while on battlefield if activated instead of end of the turn.
* Tectonic Giant - Fixed that it also triggerd on activated abilities instead only for spells. 
(fixes #6397)
2020-06-14 08:46:25 +02:00
Oleg Agafonov
ad4be5a9fe Fixed effect texts 2020-06-14 04:28:58 +04:00
LevelX2
f480d0bebb * Some minor code and text clean up. 2020-06-12 15:14:28 +02:00
Evan Kranzler
63851b73a1
Updated commander zone change rules (ready for review) (#6620)
* updated commander zone change rules

* moved commander tracking into game state

* fixed a zone change error

* fixed some more tests for new commander rule

* updated variable names

* updated a test name
2020-06-12 07:42:36 -04:00
John
717b3da6f9
swap green and white in color order choices. (#6630) 2020-06-11 18:59:54 -04:00
htrajan
6fa21415fe
Implement Basri cards (#6622)
* Implement Basri Ket

* Implement Basri's Lieutenant
2020-06-11 18:36:52 -04:00
18ths
e68a20c5fb
fixed and refactored balance effect (#6595)
* fixed and refactored balance effect

* inversed logic in balance effect - now players choose cards to keep instead to sacrifice/discard
2020-06-12 01:19:45 +04:00
Oleg Agafonov
642cdea2f8 Added single cards support in constructed format (like historic, see #6626); 2020-06-12 00:18:40 +04:00
Evan Kranzler
c592542ff6 a few more mill changes 2020-06-11 08:20:33 -04:00
Evan Kranzler
36b31d097e reinstated new mill wording 2020-06-10 22:38:59 -04:00
Evan Kranzler
eab57783ed Implemented Warden of the Woods 2020-06-10 20:38:43 -04:00
Evan Kranzler
7cf52ce136 Implemented Pursued Whale 2020-06-10 20:21:03 -04:00
LevelX2
94c8b7a558 * Some comment formatting. 2020-06-10 22:37:47 +02:00
LevelX2
1e36b39434 - Reworked SourceOnBattlefieldControlUnchangedCondition checking now the LOST_CONTROL event which solves the problem with the old code to not be able to detect all controller changes of layered changeController effects when applied later.
- Simplified and fixed some problems of the handling of the "Until end of your next turn" duration.
- Fixed that some continous effects changed controller but shouldn't dependant from their duration type. Controller chnage will now done duration type dependant.
  (that change fixes #6581 in a more general way undoing the effect specific changes of 2e8ece1dbd).
2020-06-10 22:28:23 +02:00
LevelX2
25802dc105 * Updated some failing tests with old text after fix of 5a17b9665e. 2020-06-10 22:08:51 +02:00
LevelX2
5a17b9665e * Fixed text generation for cards going from library to graveyard. 2020-06-10 17:17:40 +02:00
LevelX2
5c65ee31d9 * Mirari - Fixed that the triggering spell was not copied (fixes #6338). 2020-06-10 10:17:55 +02:00
Oleg Agafonov
a75d08283f * Split cards - added spliced effects support for fused spells, no more double splice pays (#6493, #6549); 2020-06-10 09:58:21 +04:00
Oleg Agafonov
b38ac2f575 * Split cards - added cost modification effects support for fused spells (#227, #2242, #6603, #6549); 2020-06-10 08:28:18 +04:00
Oleg Agafonov
85e90e8edf Code cleanup 2020-06-10 00:24:58 +04:00
jeffwadsworth
2e8ece1dbd - Fixed #6581 2020-06-09 10:04:59 -05:00
LevelX2
eb846c0499 * Added ID name instead of only the name to the replacement effect selector list. Otherwise you can't identify the related source if you have multiple sources with the same name (related #6298). 2020-06-09 16:37:42 +02:00
Evan Kranzler
e879233ea1 Implemented Jolrael, Mwonvuli Recluse 2020-06-09 10:03:23 -04:00
LevelX2
6c90eb1b3c * Changed the method for step end processing of spells with multiple steps (608.2) from game.applyEffects() to game.getState().processAction(game);
Added d8fb962 change for two more effects.
2020-06-09 14:49:46 +02:00
johnmeat
3119e7e78c
Fixed Unlicensed Disintegration damage part (#6614)
* Damage to creature's controller abilities -- fixed that damage part can be skipped if that creature died/destroyed (example: Unlicensed Disintegration, see #6614)

Co-authored-by: johnm <johnm@WINDOWS-QR5QIIL.lan>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2020-06-09 05:51:58 +04:00
jeffwadsworth
84ec743b07 - Fixed #6599 #6405 #4999 #4270 2020-06-08 17:05:51 -05:00
htrajan
5185d71638
Implement liliana4 and necromentia (#6616)
* LilianaWakerOfTheDead init commit

* Necromentia init commit

* benefit outcome

* fix text

* fix Liliana

* don't change VerifyCardDataTest

* use hasOpponent

* add hint and fix name chooser

* use positive # for hint

* don't change test
2020-06-07 21:16:53 -04:00
Evan Kranzler
0590243d6d updated some more of the mill templating 2020-06-07 19:29:00 -04:00
Evan Kranzler
c4283cd591 Implemented Carrion Grub 2020-06-07 19:21:19 -04:00
Eric Nelson
bc9da1d11f
Text correction on UntapLandsEffect
UntapLandsEffect asks you to choose untapped lands to untap; by changing the fillter from "untapped lands" to "tapped lands" (technically you can choose already untapped lands but...) it will now ask you to choose tapped lands to untap.
2020-06-07 17:52:38 -04:00
htrajan
8369184cac
Implement more m21 cards (#6612)
* init commit

* AdherentOfHope init commit

* BasrisAegis init commit

* don't change test

* FungalRebirth init commit

* GarruksWarsteed init commit

* KeralKeepDisciples init commit

* ChromaticOrrery init commit

* add back filter names

* fix GolgariFindbroker text

* address comments

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2020-06-07 16:02:07 -04:00
Evan Kranzler
65d2f3c9c4 Implemented Teferi's Tutelage (mill errata not complete) 2020-06-07 13:40:19 -04:00
etpalmer63
046d63732d removed comments about punctuation. 2020-06-06 23:07:24 -07:00
htrajan
a897df7c79
Implement 6 cmc pws (except Teferi) and rin (#6611)
[M21] Implement 6 cmc pws (except Teferi) and rin
2020-06-07 06:13:20 +04:00
Oleg Agafonov
54cb5cfbc9
Merge pull request #6597 from emerald000/companion
New Companion rule
2020-06-06 06:34:14 +02:00
Evan Kranzler
74b6626020 changed Hound to Dog 2020-06-05 20:17:41 -04:00
LevelX2
67b4e8d668 * Marrow-Gnawer - Fixed casting cost order and rules text. 2020-06-05 15:12:42 +02:00
Oleg Agafonov
ecac9295ec Additional card fixed for named abilities support, also added face down spells support (see #6569); 2020-06-05 01:13:17 +04:00
Oleg Agafonov
4b77cb0fa8 * Name card abilities - fixed that it can't find split cards or fused spells with entered name (part of #6603, #6549); 2020-06-05 00:06:57 +04:00
Oleg Agafonov
e95ae2675b Fixed different ZCC in split card's parts (flashback fix, see 95075cf33e);
Improve moveToZone code and fixed some cards with wrong commands queue (e.g. directly removes card from zone and then calls moveToZone again);
2020-06-04 23:47:50 +04:00
Oleg Agafonov
95075cf33e Additional fix flashback and split cards (see cce467a5ec) 2020-06-04 11:34:59 +04:00
Oleg Agafonov
cce467a5ec Additional fix and simplified for playable abilities (see comments b94344341b) 2020-06-04 03:21:18 +04:00
LevelX2
bd40d90286
Merge pull request #6590 from 18ths/world_rule_range_of_influence
fixed world rule with range of influence
2020-06-03 22:39:56 +02:00
LevelX2
238152d6c4 Merge origin/master 2020-06-03 15:08:42 +02:00
LevelX2
07386cce8d * Shifting Shadows - Fixed not proper handling of gained triggered abilities during step resolution of Shifting Shadows effect (fixes #6571). 2020-06-03 15:07:52 +02:00
LevelX2
f65f4a4344 * Fixed that calling the destroy method for an object of the class permanent did move the card in game but shouldn't (#6571). 2020-06-03 15:06:12 +02:00
Oleg Agafonov
b94344341b Improved playable abilities and split cards:
* Now human player uses same code for playable abilities search as test framework (old version used different code, so it could not work in one of the modes);
* Split cards - improves playable highlights;
* Split cards - fixed that it doesn't work with dynamic added abilities like flashback (#6327, #6470, #6549);
2020-06-03 12:44:58 +04:00
emerald000
c40ef8b39f New Companion rule
"Once per game, any time you could cast a sorcery (during your main phase when the stack is empty), you can pay 3 generic mana to put your companion from your sideboard into your hand. This is a special action, not an activated ability."
2020-06-01 13:32:44 -04:00
Oleg Agafonov
121dc3501e * Split cards - fixed not working combo with suspend/delay abilities (#946, #6549); 2020-06-01 09:41:48 +04:00
Oleg Agafonov
e7684e4bba Test framework improves:
* added command to check graveyard count command;
* added wrong cast/activate command auto-checks in strict mode;
2020-06-01 09:37:17 +04:00
18ths
d5c46816be fixed world rule with range of influence 2020-05-30 21:52:22 +02:00
LevelX2
32ce1d85e9 * Fix of some problems of zone change related triggered abilities that had not been correctly implemented (fixes #6586). 2020-05-29 14:41:24 +02:00
Oleg Agafonov
2b448cea6a
Merge pull request #6539 from etpalmer63/TogetherFixTwo
Added method to SupportAbility class to allow for removal of 'other' …
2020-05-29 07:09:46 +02:00
Oleg Agafonov
c656bea31c Ability refactor: removed deprecated code 2020-05-28 23:38:16 +04:00
Oleg Agafonov
d63a3e88ce Ability refactor: fixed broken effects timestamp in some use cases 2020-05-28 23:07:36 +04:00
Oleg Agafonov
f3f1c29926 Ability refactor: face down; 2020-05-28 23:02:20 +04:00
Oleg Agafonov
eea808d2d6 Ability refactor: source improves, deprecated code removed; 2020-05-28 22:38:31 +04:00
Oleg Agafonov
8af43dc13a Ability refactor: new code to search abilities in cards and permanents; 2020-05-28 22:34:27 +04:00
Oleg Agafonov
978118148b Ability refactor: new code to remove abilities from permanent; 2020-05-28 22:31:54 +04:00
LevelX2
f04c0bbc2a * Fixed some rule text problems. 2020-05-27 18:06:04 +02:00
LevelX2
e1c96efa1e * Fixed a problem with selecting cards from other players hand, failing because canTarget check with wrong player id. Changed/simplified canTarget method of TargetCardInHand to solve that problem. (#6532 Gruesome Discovery and Distended Mindbender and probably other changed made with 75577cdbe9). 2020-05-27 13:59:16 +02:00
LevelX2
9933420f57 * Emerge Ability - Fixed that the creature to sacrifice had to be selcted twice. 2020-05-27 10:24:21 +02:00
LevelX2
5e63c44c5d * Abondon Hope - Fixed rule text (#6532). 2020-05-26 19:29:46 +02:00
LevelX2
3aefbfb360 * Fixed problems with win / lose restrictions in relation to empty draw condition (fixes #1681 #6553). 2020-05-26 16:38:01 +02:00
LevelX2
d2b8928e60 * Fixed a bug that the win method for a player did not handle the range correctly and did erroneously end the game while still multiple players alive (related to #6553). 2020-05-25 18:09:28 +02:00
LevelX2
5743e4361e * Some minor fixes/code cleanups to IKO cards. 2020-05-25 16:51:23 +02:00
Oleg Agafonov
abda99e203 Fixed that fused cards allows to cast from graveyard (see prev commit 63dbf5f40b); 2020-05-24 09:21:49 +04:00
Oleg Agafonov
63dbf5f40b * Split cards improves:
* Fixed that fused spells can't be played from non hand zone;
 * Fixed double choose spell dialog (#5506, #6549);
2020-05-19 01:30:46 +04:00
Evan Kranzler
c24851b4a9 fixed a bunch of discard issues (#6532) 2020-05-15 21:19:04 -04:00
Evan Kranzler
713a7ab35d fixed a null pointer exception when multiple players discard 2020-05-15 20:51:42 -04:00
etpalmer63
25db5f11eb Changed old constructor to call the new one to prevent code duplication 2020-05-15 11:29:51 -07:00
gp66
877abe087a removed copy/paste code 2020-05-15 12:57:28 -05:00
gp66
162907b9da missing token images in thb and war 2020-05-13 15:44:40 -05:00
gp66
3865c52974 missing token images in thb and war 2020-05-13 15:44:26 -05:00
etpalmer63
235c5aa86f Added method to SupportAbility class to allow for removal of 'other' text in rule generation 2020-05-11 10:52:34 -07:00
etpalmer63
120915c949 removed captialization in effect rule generation to see if it passes tests 2020-05-08 22:04:28 -07:00
etpalmer63
abc5a601d8 removed print out statement used in debugging 2020-05-08 12:14:37 -07:00
etpalmer63
b51b5272b3 cleaned up comments and spacing 2020-05-08 11:50:19 -07:00
etpalmer63
16fa496c04 changes to auto-text generation, unclean 2020-05-08 11:22:17 -07:00
Oleg Agafonov
e3b75a445f
Merge pull request #6520 from emerald000/londonMulligan
Streamline London Mulligan UX.
2020-05-07 15:52:16 +02:00
emerald000
a904b7c890 Fix StubPlayer handling of London mulligans and fix related tests. 2020-05-05 23:15:45 -04:00
Evan Kranzler
b4fd4aab58 fixed bookmark usage in DoWhenCostPaid 2020-05-05 10:04:07 -04:00
emerald000
75bc19d4a7 Add a button on the deck editor to change your cards to the oldest versions. 2020-05-05 01:24:34 -04:00
emerald000
1e8f006448 Streamline London Mulligan UX.
- Choose cards to put on bottom directly from hand.
- Put cards on bottom in order chosen instead of asking afterwards.
2020-05-04 22:57:50 -04:00
Evan Kranzler
bde65d6279
Created class for reflexive triggered abilities (Ready for review) (#6500)
* added class for reflexive triggered abilities

* added DoWhenCostPaid

* a few more refactors

* some more refactoring

* almost all refactors done

* finished refactoring

* updated text generation

* Delete SendOptionUsedEventEffect.java

* fixed Wildborn Preserver text
2020-05-04 20:51:38 -04:00
Oleg Agafonov
8a3ba6729f
Merge pull request #6507 from emerald000/abilityResolved
Refactor and add hint for "Ability resolved X times"
2020-05-04 08:54:40 +02:00
emerald000
3465493ccf Rename, move and comment resolving ability event creation.
Should be clearer now.
2020-05-03 18:56:35 -04:00
etpalmer63
ee74d76a3e Fix typos in Glittering Lion abilities rules 2020-05-03 13:02:45 -07:00
Evan Kranzler
75577cdbe9
Added new method for discarding cards to handle batch triggers (ready for review) (#6489)
* added new discard method

* started refactoring to use new discard method

* refactored A through I

* fixed some issues

* separated balance effect into its own class

* refactored J through R

* refactored S through Z

* applied requested changes
2020-05-03 14:35:26 -04:00
Oleg Agafonov
2739391b1d
Merge pull request #6510 from gp66/completed-suggestions-iko-tokens
Completed suggestions iko tokens
2020-05-03 20:10:11 +02:00
Oleg Agafonov
f3990caf22
Merge pull request #6502 from SpeedProg/angel_of_serenity_mp_fix
Multiplayer test and fix for Angel of Serenity leaves battlefied trig…
2020-05-03 19:56:21 +02:00
gp66
f3bde1dbab completed suggestions for IKO tokens 2020-05-03 12:52:51 -05:00
emerald000
111114e338 Refactor and add hint for "Ability resolved X times"
Affects Ashling the Pilgrim, Inner-Flame Igniter and Soulbright Flamekin.
2020-05-03 09:42:16 -04:00
SpeedProg
724287360c Multiplayer test and fix for Angel of Serenity leaves battlefied trigger when controlled by other then owner and owner leaves game 2020-05-03 11:20:48 +02:00
gp66
8bea930a69 added IKO tokens 2020-05-02 21:59:22 -05:00
SpeedProg
9597e95b8d fixed TargetCardInOpponentsGraveyard not working properly
fixed ignoring allFromOneOpponent in canChoose
fixed including own graveyard in canChoose
fixed including own graveyard for possibleTargets
fixed not overriding one canTarget at all which allowed targeting cards in different graveyards
should also fix #6472
2020-05-02 19:46:13 +02:00
Evan Kranzler
4ceaeeebad added a new static filter 2020-05-01 18:28:43 -04:00
Evan Kranzler
bc2ef9492e fixed a few errors with urza lands 2020-05-01 07:55:18 -04:00
Evan Kranzler
8b09f99708 small fix 2020-04-30 20:58:51 -04:00
Evan Kranzler
40d3e14416 fixed implementation of tron lands 2020-04-30 20:47:52 -04:00
Evan Kranzler
ef31fde7a7 fixed Predatory Impetus 2020-04-30 18:20:41 -04:00
Tim Haering
7310e0ad96 remove not needed quotes 2020-04-30 08:58:38 +02:00
Evan Kranzler
c7140d1ace fixed Impetus texts 2020-04-29 21:13:33 -04:00
Evan Kranzler
8712ab7578 fixed Flawless Maneuver et al. causing an error when cast 2020-04-29 20:53:30 -04:00
Evan Kranzler
a239fd0dda fixed graveyard count not correctly using filters 2020-04-29 18:42:29 -04:00
Tim Haering
17c40ead3c add import support for mtgjson deck files 2020-04-29 20:29:15 +02:00
Evan Kranzler
4d1f37d0fe reworked implementation of Ashling the Pilgrim and similar cards, added a test 2020-04-27 18:33:57 -04:00
Evan Kranzler
ed66104575 more misc text fixes 2020-04-25 20:39:45 -04:00
Evan Kranzler
4afefea1f5 misc text fixes 2020-04-25 20:24:46 -04:00
Evan Kranzler
8bbdae4af6 updated "play from top of library" effects 2020-04-25 18:49:23 -04:00
Evan Kranzler
83f3d7c692 so many text fixes seriously like so many 2020-04-24 21:38:46 -04:00
Evan Kranzler
5af57d29e8 changed BasicManaAbility to only be used for basic mana abilities 2020-04-24 20:39:08 -04:00
AsterAether
1804b8df01
Implemented Xyris and Kalamax (#6430)
* Implemented Xyris, the Writhing Storm

* Name change for Xyris's draw ability.

* Implemented Kalamax, the Stormsire.

* Added Kalamax and Xyris to Commander2020Edition Set.

* Updated XyrisTheWrithingStorm drawCards implementation.

* Fixed bug where "First card drawn" was not enforced.

* Removed unnecessary Predicates.or, and replaced custom effect with CreateTokenEffect
2020-04-24 09:39:53 -04:00
Evan Kranzler
cdb615acba fixed Vivien Reid text 2020-04-23 20:43:10 -04:00
Evan Kranzler
0f5d025699 fixed banding lands text 2020-04-23 20:33:20 -04:00
Evan Kranzler
7f32ea0be2
Updated implementation of Hexproof abilities (#6451)
* updated implementation of hexproof abilities

* added hexproof from color test

* updated generic in AbilityPredicate
2020-04-23 20:01:13 -04:00
Evan Kranzler
9978b9bec9 fixed issue with dependecies of continuous effects 2020-04-23 17:37:31 -04:00
Evan Kranzler
7522c0a049 Implemented Twinning Staff 2020-04-23 17:36:26 -04:00
Evan Kranzler
c88a087c7e Implemented Pako, Arcane Retriever 2020-04-22 20:31:35 -04:00
Evan Kranzler
a1074f5759 fixed populate copying noncreature tokens 2020-04-22 19:58:49 -04:00
Evan Kranzler
8b70ae8298 fixed Thwart the Enemy preventing all damage 2020-04-22 08:06:05 -04:00
Evan Kranzler
5986014026 fixed Skycat Sovereign token name 2020-04-22 08:04:21 -04:00
htrajan
f6872732f2
C20 Gavi Nest Warden (#6452)
* C20 Gavi Nest Warden

* remove unneeded predicate; set text in effect; remove unneeded constructor param for static ability

* staticText

* rebuild
2020-04-22 07:38:34 -04:00
htrajan
a1118292f2
C20 Tayam, Luminous Enigma (#6453)
* C20 Tayam, Luminous Enigma WIP

* fix counter removal cost

* add author tag

* static

* staticText
2020-04-22 07:36:36 -04:00
AsterAether
e1fd213e0f
Implemented Akim, the Soaring Wind, and new CreatedTokenEvent (#6431)
* Implemented Akim, the Soaring Wind, and new CreatedTokenEvent, that can be used to for TriggeredEvents.

* Formatting, and added Condition to Akim triggered Ability.

* Added Condition and ConditionHint to Akim.
2020-04-21 22:20:11 -04:00
Evan Kranzler
599c5cf742 fixed Yidaro, Wandering Monster 2020-04-21 21:56:38 -04:00
Evan Kranzler
618af9b365 Implemented Rielle, the Everwise 2020-04-21 20:12:41 -04:00
Evan Kranzler
fde0873895 Implemented Capricopian 2020-04-21 17:34:18 -04:00
Evan Kranzler
09cf95f793 fixed Song of Creation text 2020-04-20 21:47:36 -04:00
Evan Kranzler
83a0df735b fixed Mythos of Vadrok text 2020-04-20 21:34:49 -04:00
Evan Kranzler
58541b8a24 fixed menace counters not working 2020-04-20 19:21:01 -04:00
Evan Kranzler
37b79bc6ad updated text generation for ability counters 2020-04-20 18:19:56 -04:00
Evan Kranzler
5d8d9291ae fixed ability counter creation not using amount 2020-04-20 17:53:50 -04:00
Evan Kranzler
1f85dcb334 fixed implementation of Cradle of Vitality (fixes #6428) 2020-04-20 17:51:50 -04:00
Oleg Agafonov
ba86bf0c15 * Gain abilities - fixed wrong text with quotes; 2020-04-19 23:50:31 +04:00
Oleg Agafonov
dfdc1e5e06 [IKO] Jubilant Skybonder - fixed text; 2020-04-19 23:18:34 +04:00
Oleg Agafonov
ccd95cdd71 * Boost effects - fixed wrong text for zero values (-0/-1, -1/-0, etc); 2020-04-19 22:27:03 +04:00
Oleg Agafonov
cba3f0ee12 * As an additional cost to cast - fixed wrong text (reveal cost, etc); 2020-04-19 21:32:51 +04:00
Oleg Agafonov
39894c6394 * As an additional cost to cast discard X cards abilities - fixed wrong text (Firestorm, etc); 2020-04-19 21:18:57 +04:00
Oleg Agafonov
4b940fb2fe
Merge pull request #6432 from htrajan/c20-sanctuary-blade-and-verge-rangers
C20 sanctuary blade and verge rangers
2020-04-18 23:31:10 +02:00
htrajan
874ff7179f -don't static import static filters
-use existing choose color and gain protection from color attached effects
-update naming and add null check for AttachedToCreatureSourceTriggeredAbility
2020-04-18 13:13:02 -07:00
Oleg Agafonov
80ffa1652f * Can't attack or block until pay abilities - fixed missing card texts (Floodtide Serpent, Qal Sisma Behemoth); 2020-04-18 22:11:32 +04:00
htrajan
c567fc2ee1 update author tags, remove unneeded static text 2020-04-17 22:30:39 -07:00
htrajan
e09a922e31 wip 2020-04-17 21:51:21 -07:00
htrajan
5a1b40a42f add filter copy to GameState's copy constructor and restore method 2020-04-16 19:54:07 -07:00
htrajan
1dc305f329 -setStrictChooseMode and assertAllCommandsUsed in every test
-store filter info in GameState
-put instead of putIfAbsent
2020-04-16 19:21:54 -07:00
htrajan
5eeffc1fcf unstar import 2020-04-16 17:59:17 -07:00
htrajan
ddb14d8d56 unused imports 2020-04-16 17:55:24 -07:00
htrajan
92d6326316 finish 2020-04-16 17:50:17 -07:00
htrajan
a08bd34582 Merge branch 'master' into implement-zilortha
# Conflicts:
#	Mage/src/main/java/mage/game/GameImpl.java
2020-04-16 15:55:24 -07:00
htrajan
cab436e9e5 wip 2020-04-16 15:53:51 -07:00
Evan Kranzler
8494e98693
Implemented Yorion, Sky Nomad (#6407)
* Implemented Yorion, Sky Nomad

* Implemented Yorion, Sky Nomad (but for real this time)

* updated game creation to use the correct deck size for limited
2020-04-16 08:10:18 -04:00
Evan Kranzler
378dfbf89a
Updated implementation of Unpredictable Cyclone (#6423)
* updated implementation of Unpredictable Cyclone, refactored drawCard method

* fixed another small implementation error

* added test for Unpredictable Cyclone

* updated Unpredictable Cyclone test
2020-04-16 08:04:21 -04:00
Oleg Agafonov
10348faaec Fixed missing serialization settings (#6420); 2020-04-16 09:17:41 +04:00
Evan Kranzler
1874a8404a Implemented Quartzwood Crasher 2020-04-15 08:32:17 -04:00
Evan Kranzler
fd02d66227 Implemented The Ozolith 2020-04-14 23:11:29 -04:00
Evan Kranzler
a689646735 Implemented Unpredictable Cyclone 2020-04-14 22:16:52 -04:00
Evan Kranzler
cae39848b9 updated Raid text 2020-04-13 18:18:55 -04:00
Evan Kranzler
8e3f029df6 Implemented Narset of the Ancient Way 2020-04-13 18:00:32 -04:00
Oleg Agafonov
8b664adce6 Merge fix 2020-04-13 22:12:47 +04:00
Oleg Agafonov
beb7ab852f * Planechase: added info about planechase mode in game's startup logs; 2020-04-13 21:56:53 +04:00
Oleg Agafonov
823d677068 Planechase: refactor planes; 2020-04-13 21:50:40 +04:00
Evan Kranzler
b6557201b4 Implemented Lukka, Coppercoat Outcast 2020-04-13 08:42:10 -04:00
Evan Kranzler
f3ea9c15cf Implemented Startling Development 2020-04-12 20:24:30 -04:00
Evan Kranzler
297710c7fa Implemented Yidaro, Wandering Monster 2020-04-12 18:21:27 -04:00
Evan Kranzler
7e86626f1d Implemented Shark Typhoon 2020-04-12 17:21:25 -04:00
emerald000
c3684a732b [IKO] Implement Companion and 2 companions
Keruga, the Macrosage and Umori, the Collector
2020-04-12 08:29:25 -04:00
Evan Kranzler
395ae9ec11 fixed an error 2020-04-11 22:14:24 -04:00
Evan Kranzler
d76dc5785c Implemented Rumbling Rockslide 2020-04-11 21:57:33 -04:00
Evan Kranzler
d3ac65b68b Implemented Mythos of Illuna 2020-04-11 20:58:00 -04:00
Evan Kranzler
b139e5b0e1 Implemented Boot Nipper 2020-04-10 21:52:23 -04:00
Evan Kranzler
5702a02af0 Implemented Skycat Sovereign 2020-04-09 21:03:31 -04:00
Evan Kranzler
affbb93b3e Implemented Extinction Event 2020-04-08 18:24:40 -04:00
Evan Kranzler
71b69b9308 Implemented Ominous Seas 2020-04-08 08:31:48 -04:00
Evan Kranzler
23582b4a09 Implemented Psychic Impetus 2020-04-07 22:00:13 -04:00
Evan Kranzler
2d11f69d0e Implemented Crystalline Resonance 2020-04-07 20:52:03 -04:00
Evan Kranzler
d8d8e7c174 Implemented Forbidden Friendship 2020-04-06 20:59:53 -04:00
Evan Kranzler
0ab6951b9e Implemented Barrier Breach 2020-04-06 17:38:40 -04:00
Evan Kranzler
e91fc7d636 Implemented Everquill Phoenix 2020-04-05 17:28:53 -04:00
Evan Kranzler
9ba949369e Implemented Insatiable Hemophage 2020-04-05 16:20:52 -04:00
Evan Kranzler
a4e9b21b82 Implemented Drannith Stinger 2020-04-05 09:22:01 -04:00
Evan Kranzler
0f6f810c24 Implemented Thieving Otter 2020-04-04 22:40:37 -04:00
Evan Kranzler
176f06c1dc Implemented Jirina Kudro 2020-04-04 22:32:47 -04:00
Evan Kranzler
381de68563 Implemented Kathril, Aspect Warper 2020-04-04 21:25:06 -04:00
Evan Kranzler
5b58e6df0c Implemented Flawless Maneuver 2020-04-04 19:31:45 -04:00
Evan Kranzler
14a33f11aa Implemented Netherborn Altar 2020-04-04 18:04:07 -04:00
Evan Kranzler
1e43371470 Implemented Wingfold Pteron 2020-04-04 00:34:19 -04:00
Evan Kranzler
6507e86715 Implemented Voracious Greatshark 2020-04-03 17:33:39 -04:00
Evan Kranzler
06f5ad8cab Implemented Grimdancer 2020-04-02 19:19:47 -04:00
Evan Kranzler
00214ef80c Implemented Cloudpiercer 2020-04-02 17:25:37 -04:00
Evan Kranzler
aa1a3b3353 Implemented Zagoth Mamba 2020-04-02 17:16:42 -04:00
Evan Kranzler
272f78e88a Implemented Void Beckoner 2020-04-02 15:10:56 -04:00
Evan Kranzler
2483fd9c8d Implemented Fully Grown 2020-04-02 15:04:28 -04:00
Antonio Alonzi
f86529bbb9 #6256: Do not create new Set/Map 2020-03-30 09:22:02 +01:00
Antonio Alonzi
76c9d38f57 #6256: Fixed Watcher copy method for JDK11 2020-03-28 19:56:25 +00:00
Thomas Hess
529552dd2c
Fixed set codes for the Duel Deck Anthology deck sets.
The decks now use the set codes from Scryfall.
2020-03-24 17:32:06 +01:00
Thomas Hess
3f288ef04e
Added the Secret Lair (SLD, PSLD, SLU) sets. 2020-03-24 17:32:05 +01:00
Oleg Agafonov
2b78ec745c * Mind's Desire - fixed that it doesn't work with split cards (#6337); 2020-03-12 04:07:17 +04:00
Oleg Agafonov
a20bca1b21 Test framework: fixed ai play commands, added more tests 2020-03-12 02:05:06 +04:00
Oleg Agafonov
14ddb6eb28 * AI: fixed wrong targeting for gain control abilities (#6340); 2020-03-11 18:22:58 +04:00
Oleg Agafonov
86f6d39f5a * AI: fixed rollback errors on play cards with target stack (Diplomatic Escort, Not of This World, etc); 2020-03-09 13:49:07 +04:00
Oleg Agafonov
ff3df35467 Fixed NPE errors on empty sourceId in mage reference object; 2020-03-07 00:24:16 +04:00
Oleg Agafonov
d7a48efa89 * Rules: chicken subtype replaced by bird subtype (Chicken à la King, Chicken Egg, Fowl Play, Free-Range Chicken, Poultrygeist); 2020-03-04 00:59:37 +04:00
jeffwadsworth
8e41215fa5 - Refactor to resolve failing test 2020-03-02 16:02:56 -06:00
jeffwadsworth
26439bef95 - Fixed #6325 2020-03-02 14:50:20 -06:00
Oleg Agafonov
8ee1dd20d3 * UI: added preferences to enable or disable turn number and step info in game logs; 2020-02-28 21:04:37 +04:00
Oleg Agafonov
2e73f9d1c5 * UI: added turn number and step info in game logs 2020-02-28 20:27:07 +04:00
Oleg Agafonov
169d9bf761 * Non basic mana abilities - fixed rollback errors in AI games (#6300); 2020-02-25 12:41:45 +04:00
jeffwadsworth
39ea0ec65d - Fixed #6292 2020-02-21 10:59:03 -06:00
Oleg Agafonov
bd0974eecd * Cost increasing - fixed rollback error (#6284); 2020-02-17 20:43:51 +04:00
Oleg Agafonov
30ab06bd26 Little fix 2020-02-15 16:11:20 +04:00
jeffwadsworth
033ad94b8b - Fixed Disciple of Phenax and Ghastlord of Fugue. 2020-02-13 09:34:56 -06:00
Oleg Agafonov
5a5c49229e Merge fix 2020-02-11 23:02:46 +04:00
Oleg Agafonov
b5acf64772 * Monohybrid mana cost improves:
* fixed wrong manually pay by mana pool (it pays generic cost instead colored part of monohybrid);
 * fixed not working cost reduction effects (now monohybrid cost will be reduced correctly with some limitation, see #6130);
2020-02-11 22:33:32 +04:00
Samuel Sandeen
d56f6b991b
Fix Sevinne's Reclamation. (#6275)
This also handles the rather unique case caused by Sevinne's Reclamation where the original spell resolves before the copy of it.
Also fixes a couple typos.
2020-02-10 08:18:12 -05:00
Ingmar Goudt
ae7919cd07 program towards Interface rather than implementations 2020-02-10 10:40:06 +01:00
Oleg Agafonov
b04c436801 Merge pull request #6274 from Dilnu/Rider
Check zone change counters in PutOnLibrarySourceEffect
2020-02-09 19:49:29 +01:00
dilnu
a089b70d64 Use getSourceObjectIfItStillExists. 2020-02-09 13:40:26 -05:00
dilnu
847df3eeb8 Check zone change counters in PutOnLibrarySourceEffect 2020-02-09 11:56:13 -05:00
Samuel Sandeen
29ce4b1ad4
Fix Lifelink so it triggers per source instead of per recipient in combat. (#6272)
* Fix Lifelink so it triggers once per source instead of once per recipient in combat.

* Undo an import collapse.

* Add more tests for lifelink.
2020-02-08 20:31:50 -06:00
Oleg Agafonov
6674ca5d20
Merge pull request #6251 from Dilnu/Bonecrusher
Only fire one TARGETTED event per target selected while changing targets.
2020-02-08 16:31:04 +01:00
jeffwadsworth
b11e2a0fe9 - refactor some cards and an effect 2020-02-07 08:52:04 -06:00
jeffwadsworth
d6c2f031d0 - Fixed #6236 2020-02-06 17:47:08 -06:00
Oleg Agafonov
b75a5d86b1 * Dymanic mana abilities - fixed missing mana text (affected cards Priest of Titania); 2020-02-06 21:44:25 +04:00
Oleg Agafonov
dc43707a4d * Prevent all damage - fixed text; 2020-02-06 21:26:52 +04:00
Oleg Agafonov
1cbabacc23
Merge pull request #6243 from Dilnu/master
Fix the Divine Visitation replacement effect.
2020-02-05 12:40:32 +01:00
Oleg Agafonov
5adab75324
Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
Leandro Doctors
8a0a9acff7 format: organize imports 2020-02-04 16:21:48 -03:00
dilnu
0d382d3875 Move the Token field added from GameEvent to a subclass. 2020-02-03 21:57:10 -05:00
dilnu
b6af571779 Only fire one Targetted event per target
This specifically addresses changing the target of a spell or ability on the stack.
Fixes https://github.com/magefree/mage/issues/6158
2020-02-02 19:40:25 -05:00
dilnu
06e77bd7d6 Allow players to block creatures attacking destroyed planeswalkers.
See Comprehensive rules: 506.4c
Fixes https://github.com/magefree/mage/issues/6240
2020-02-01 17:30:30 -05:00
dilnu
cc9629ed51 Fix the Divine Visitation replacement effect.
This also gives the CREATE_TOKEN game events access to the Token being created and updates the GatherSpecimens replacement effect to use that access.
2020-02-01 15:15:52 -05:00
Oleg Agafonov
f0ff8154f3 * Can't cast prevention effects - fixed that UI marked affected cards as playable, but they're not; 2020-02-01 12:17:04 +04:00
Oleg Agafonov
9cd3eeb898 * UI: improved prevention effect messages (now it shows source object name in message window); 2020-02-01 11:37:10 +04:00
Oleg Agafonov
89394ffe0a Improved ability outcome processing; 2020-01-29 07:33:33 +04:00
Oleg Agafonov
cae3081123 Additional card hints for 68326c8554 2020-01-29 07:08:52 +04:00
Oleg Agafonov
68326c8554 * UI: added card hints about active requirement effects (permanent must attack or must block); 2020-01-29 06:51:39 +04:00
Oleg Agafonov
8ca6fd8552 Can't be target/attached effects - fixed that user gets multiple warning message about prevention effect; 2020-01-28 05:31:32 +04:00
Oleg Agafonov
105062beb7 Fixed multiple NPE errors in cards; 2020-01-28 03:37:49 +04:00
Oleg Agafonov
cc1840b109 * Glory Bearers - fixed that it boost itself too; 2020-01-28 01:46:40 +04:00
Oleg Agafonov
9ec6aa83c4 * Infected counters - fixed rollback error on usage; 2020-01-26 18:41:01 +04:00
Oleg Agafonov
ab2fb29270 Code cleanup (removed unused log4j setting files, added extra info, samples and instructions, removed java logs) 2020-01-26 16:30:42 +04:00
jeffwadsworth
cb340e4709 - Revert changes made for bug #5437. See 2ca1643b54 2020-01-23 08:31:22 -06:00
Oleg Agafonov
2ca1643b54 * Delay triggered abilities - fixed that copied spell with multiple delayed triggered abilities can freeze the game or missing from stack (#5437); 2020-01-23 07:04:19 +04:00
jeffwadsworth
5aaec29361 - Workaround for #5437. The delayed triggers work correctly now and the game will no longer freeze. TODO: Cards that are copied and then cast do not retain the correct sourceObject. They instead point to the spell on the stack which fails when delayed triggers are used. 2020-01-22 16:57:01 -06:00
Oleg Agafonov
c835fb409d * Bolas's Citadel - fixed that it can't play cards with cycling (#6215); 2020-01-22 14:45:44 +04:00
Oleg Agafonov
cf759e0443 * War's Toll - fixed that is applies restriction attack effect from any zone (from command, hand, etc); 2020-01-22 12:33:03 +04:00
jeffwadsworth
a7c4e44632 - Fixed #6218 2020-01-21 16:12:01 -06:00
Oleg Agafonov
eaaa37db11 Card render testing dialog improves:
* Added chooseable render testing (click by mouse on cards);
* Added column style render testing (many cards mode);
* Added tapped, face down and manifested render testing for permanents;
* CardView: fixed missing copy data (NPE for transformed cards);
* CardArea: added support to draw permanents;
* CardArea: added support of offsets between cards/columns;
2020-01-22 00:44:25 +04:00
jeffwadsworth
91e892588b - Fixed #6203 2020-01-20 14:39:18 -06:00
LevelX2
d87a4e4c9b * Karn Liberated - Fixed that a with Karn's ability exiled commander was not put to battlefield after game restart. 2020-01-19 16:48:58 +01:00
Oleg Agafonov
8c0a023831 Revert 2020-01-18 11:24:12 +04:00
Oleg Agafonov
b2ab3a2ba4 Fixed multiple card texts; 2020-01-18 11:01:33 +04:00
Oleg Agafonov
8add25fa12 * UI: choose modes dialog improves:
* Added hotkeys to select options (1-9 for choice, SPACE/ENTER for done, ESC for cancel);
 * "Up to" modes choose dialog - added "done" button in dialog;
 * "Up to" modes choose dialog - fixed that user can't cancel if already selected one mode;
 * Added extra info about source object, selected and remaining modes to select, ability number for hotkey;
 * Fixed that mode choose dialog doesn't close on cancel (#6199);
2020-01-18 06:30:44 +04:00
Oleg Agafonov
bc899e7ea5 Added THB tokens 2020-01-16 18:51:20 +04:00
Oleg Agafonov
12aec087b2 Prepare new release 2020-01-16 18:26:38 +04:00
Oleg Agafonov
a31da48084 Little fixes 2020-01-16 17:11:19 +04:00
Oleg Agafonov
5d52f0ace3 * Conqueror's Galleon - fixed that it returns under owner control instead your; 2020-01-16 08:54:59 +04:00
Oleg Agafonov
d20a20fb6a Refactor related to #6187 2020-01-15 11:47:22 +04:00
Oleg Agafonov
745bfa2836 Fixed NPE errors on missing card (game.getCard can't find card); 2020-01-15 07:08:56 +04:00
Oleg Agafonov
2d4b2d0699 Fixed text 2020-01-15 06:55:20 +04:00
Oleg Agafonov
b0a45e7c31 * Escape abilities - removed additional cost text from card rules; 2020-01-15 06:49:51 +04:00
Oleg Agafonov
bcb5be77be Fixed NPE on empty net mana returns (from some effects); 2020-01-15 03:50:27 +04:00
Oleg Agafonov
3fdaf043a1 fixed Taranika, Akroan Veteran (wrong text); 2020-01-14 20:52:13 +04:00
LevelX2
55fe1db60d Merge origin/master 2020-01-14 17:43:43 +01:00
LevelX2
6455180765 * Some code clean up and a new test. 2020-01-14 17:42:58 +01:00
Oleg Agafonov
b1b6bd600e Improved rules text generation and removed static texts for some cards with effects:
* ExileTargetForSourceEffect
 * ReturnFromExileForSourceEffect
 * ReturnToBattlefieldUnderOwnerControlTargetEffect
 * ReturnToBattlefieldUnderYourControlTargetEffect
2020-01-14 20:38:45 +04:00
Oleg Agafonov
ce3f6d8e41 Fixed wrong ends symbols in combined effects rules like IfDoCost; 2020-01-14 20:35:16 +04:00
Oleg Agafonov
3a681d565a * Displace - fixed that it return cards under your control instead owner; 2020-01-14 19:15:42 +04:00
Oleg Agafonov
748d14e55e * Thassa, Deep-Dwelling - fixed text; 2020-01-14 18:53:47 +04:00
Oleg Agafonov
92eba9861d fixed Uro, Titan of Nature's Wrath (getSpellOrLKIStack return ability instead spell after card triggers); 2020-01-14 11:48:15 +04:00
Oleg Agafonov
11976b5c89 Refactor: move player.damage params to default (same as permanent.damage); 2020-01-14 09:15:33 +04:00
Oleg Agafonov
76387057b7 * Deals damage to player - fixed that some cards deals combat damage instead non-combat; 2020-01-14 08:53:09 +04:00
LevelX2
42265d78d8 * Haktos the Unscarred - Fixed some problems with the protection ability not working correctly. 2020-01-14 00:34:48 +01:00
Oleg Agafonov
cf072f0b1a * Deck editor: fixed error message "layout mismatch" for decks with special cards number (PUMA set and other); 2020-01-14 03:05:11 +04:00
Oleg Agafonov
4d2790be3f * Thirst for Meaning - fixed that it doesn't allow to discard artifact card as pay;
* Thirst for Knowledge - fixed that it doesn't allow to discard enchantment card as pay;
2020-01-13 15:03:01 +04:00
Oleg Agafonov
4a004a27b3 Refactor damage with power effect, added checking for wrong targets; 2020-01-13 13:49:40 +04:00
Oleg Agafonov
69e52815b6 Tests: added check that filter card must not contain controller predicate; 2020-01-13 10:41:00 +04:00
Evan Kranzler
595b438faa updated SagaChapter getChapter method 2020-01-12 13:30:18 -05:00
Oleg Agafonov
6736f5f3b8 * My turn condition - added card hints about turn; 2020-01-12 21:59:56 +04:00
Oleg Agafonov
1a82eba77c * My turn condition - added card hints about turn; 2020-01-12 21:36:23 +04:00
Oleg Agafonov
3eb4493a45 * My turn condition - added card hints about turn; 2020-01-12 21:25:50 +04:00
LevelX2
62062367e2 Implemented Furious Rise. 2020-01-12 13:19:09 +01:00
LevelX2
7d3f17d578 Implemented Gravebreaker Lamia. 2020-01-12 11:29:43 +01:00
Oleg Agafonov
860c57d9d9 * Chrom Mox - fixed that tapped for mana replacement effects ignore his mana; 2020-01-12 10:09:51 +04:00
Oleg Agafonov
f237c4f388 * Escape abilities - fixed missing game log about cast with Escape; 2020-01-12 07:44:17 +04:00
Evan Kranzler
e3192a7361 fixed Escape not working with targets 2020-01-11 22:02:09 -05:00
Evan Kranzler
0533854d1d Implemented Nightmare Shepherd 2020-01-11 18:08:37 -05:00
Evan Kranzler
35100c2532 Implemented Calix, Destiny's Hand 2020-01-11 18:08:36 -05:00
Oleg Agafonov
a7aa14b125 Merge remote-tracking branch 'origin/master' 2020-01-12 01:18:04 +04:00
Oleg Agafonov
e1fea330dd Test framework - multiple improves:
* Added support of spell ability choice in free cast (chooseSpellAbilityForCast);
* Added support of "up to" targets setup in addTargetAmount (use TestPlayer.TARGET_SKIP to stop target choose);
* Restored multiple checks for addTargetAmount;
* Fixed many wrong tests (wrong order or missing commands);
2020-01-12 01:17:39 +04:00
LevelX2
955c10a91d Merge origin/master 2020-01-11 22:12:11 +01:00
LevelX2
946aff50a2 Implemented Heliod's Punishment, Hydra's Growth, Ilysian Caryatid, Impending Doom and Incendiary Oracle. Fixed Irreverent Revelers. 2020-01-11 22:11:44 +01:00
Evan Kranzler
11c3d33ac0 Implemented Alirios, Enraptured 2020-01-11 12:48:13 -05:00
LevelX2
86f2d22baa Implemented Underworld Fires and Wings of Hubris 2020-01-11 18:22:30 +01:00
Oleg Agafonov
5f5d9046f9 * Choose card in hand - fixed rollback error for some cards like Nicol Bolas, Dragon-God; 2020-01-11 08:47:54 +04:00
LevelX2
1f7a7a10b0 * Panopticon Plane - Fixed draw card abilities. 2020-01-11 01:25:26 +01:00
LevelX2
d3a925d2c9 * Marisi, Breaker of the Coil - Fixed can't cast ability. 2020-01-10 21:11:22 +01:00
LevelX2
35628c205a * Venarian Gold - Fixed rule text according #6170. 2020-01-10 20:43:19 +01:00
LevelX2
8d8d02b07a * Added game to getSharedAbilities() method of split and adventure cards . 2020-01-10 20:03:32 +01:00
LevelX2
eded48648f * Fixed a problem with checkPlayableState (could be reset to early) and fixed a problem of getUsableAcitavedAbilities. 2020-01-10 15:51:44 +01:00
LevelX2
e91639a478 * Implemented handling of up to for TargetAmount. 2020-01-10 15:49:10 +01:00
LevelX2
bd76e54e9d * Xantcha, Sleeper Agent - Fixed wording of the replacement effect (Oracle changes from 2019-09-27) and generalized the effect for 3 cards. 2020-01-10 14:18:56 +01:00
LevelX2
766c4f8bf6 * Fixed card movement handling. 2020-01-10 08:53:35 +01:00
LevelX2
47a8686958 * Some more move actions replaced and added missing methods for move to command zone. 2020-01-09 23:17:39 +01:00
LevelX2
349a2cc612 * Leadership Vacuum - Fixed that the movement of the commanders were not reported in the game log. 2020-01-09 22:46:20 +01:00
Evan Kranzler
3d991635e8 updated Gold token errata 2020-01-09 12:41:48 -05:00
LevelX2
7ce7c2ad70 * Fixed a problem with P/T of permanets that transform back again to the original source card (fixes #6156). 2020-01-09 08:25:29 +01:00
Oleg Agafonov
b366a83a45 Prepare new release 2020-01-09 08:55:26 +04:00
Oleg Agafonov
ab1475d7e0 Little fixes 2020-01-09 08:52:25 +04:00
jeffwadsworth
292a0a2912 - Fixed #6157 2020-01-08 16:47:05 -06:00
Evan Kranzler
23b2bd8b7e Implemented Dryad of Ilysian Grove 2020-01-08 12:23:23 -05:00
Oleg Agafonov
00da778484 Fixed NPE with empty library 2020-01-08 18:48:41 +04:00
Evan Kranzler
6bdd395e8f Implemented Altar of the Pantheon 2020-01-07 22:45:53 -05:00
Evan Kranzler
a9739f12f1 Implemented Kiora Bests the Sea God 2020-01-07 22:45:53 -05:00
Oleg Agafonov
85e65c8f44 Code cleanup 2020-01-08 05:19:52 +04:00
Oleg Agafonov
ca4a4528fb * Play with top card library - fixed that player can see next top card before casting current top card; 2020-01-08 04:54:17 +04:00
Oleg Agafonov
d3b1be2f75 * Adventure cards - added player name to adventure exile window; 2020-01-07 22:43:15 +04:00
LevelX2
3d998a85b8 Merge origin/master 2020-01-07 17:56:57 +01:00
LevelX2
d4ec65cddb Added Test and changed some log messages from info to debug. 2020-01-07 17:56:26 +01:00
Evan Kranzler
463c208a39 removed lazy loading of predicates from TargetController 2020-01-07 10:32:34 -05:00
Oleg Agafonov
339c419d4b * UI: multiple improves for adventure/split cards:
* Split cards shows left and right mana cost (in deck editor, hand, etc);
 * Adventure cards shows adventure and normal cost (in deck editor, hand, etc);
 * Adventure cards shows adventure spell name in deck editor's list;
 * Fixed missing loading cursor in deck editor searching;
2020-01-07 11:49:55 +04:00
Oleg Agafonov
c4ad761ebb Merge fix 2020-01-07 11:41:25 +04:00
Evan Kranzler
14c22137ce Implemented Anax, Hardened in the Forge 2020-01-06 21:55:11 -05:00
Evan Kranzler
48a43a8360
Merge pull request #6152 from magefree/refactorTargetController
Refactored TargetController predicates
2020-01-06 21:56:26 -05:00
Oleg Agafonov
854eaadcc4 Additional fixed for #6147 2020-01-07 06:52:01 +04:00
Oleg Agafonov
b6d76a7c02 * Gain abilities - fixed wrong order effects with changeling ability (all creature type effect, #6147); 2020-01-07 06:38:34 +04:00
Evan Kranzler
41407a4aee added lazy loading to getter methods 2020-01-06 21:05:11 -05:00
Evan Kranzler
dff5c73e1c pulled out DamagedPlayerThisTurnPredicate 2020-01-06 21:00:57 -05:00
Evan Kranzler
5239d0258b fixed another compilation error 2020-01-06 20:50:14 -05:00
Evan Kranzler
9e7fcd33cd fixed some import errors 2020-01-06 20:21:10 -05:00
Evan Kranzler
9c3b923b3f refactored ControllerPredicate 2020-01-06 20:04:56 -05:00
Evan Kranzler
c14a079cc5 refactored OwnerPredicate 2020-01-06 19:59:56 -05:00
Evan Kranzler
3f0547a7fa refactored DamagedPlayerThisTurnPredicate 2020-01-06 19:56:08 -05:00
Evan Kranzler
13d76bfc06 refactored PlayerPredicate 2020-01-06 19:53:29 -05:00
Evan Kranzler
8e29454916 add predicates to TargetController 2020-01-06 19:47:34 -05:00
Evan Kranzler
ecf26585b5 refactored SupertypePredicate to be part of SuperType 2020-01-06 19:21:27 -05:00
Evan Kranzler
aa72251627 Implemented Archon of Sun's Grace 2020-01-06 18:53:35 -05:00
Evan Kranzler
5a6f9022c0
Merge pull request #6151 from magefree/refactorSubTypePredicate
Refactored SubTypePredicate to be part of SubType
2020-01-06 18:27:03 -05:00
LevelX2
b68110f60b * Removed redundant applies check. 2020-01-06 23:16:33 +01:00
LevelX2
b2a8d4293a * War's Toll - Fixed the implementation of the restriction effect. 2020-01-06 23:16:10 +01:00
Evan Kranzler
86906ec25f refactored all instances of SubtypePredicate 2020-01-06 16:48:00 -05:00
Evan Kranzler
3b8298e7c2 moved SubTypePredicate into SubType 2020-01-06 14:59:10 -05:00
Evan Kranzler
688be783aa refactored all usages of CardTypePredicate to match the new implementation 2020-01-06 13:18:17 -05:00
Evan Kranzler
f685ee3d69 moved CardTypePredicate to the CardType class 2020-01-06 13:17:45 -05:00
Evan Kranzler
943e8dd827
Merge pull request #6144 from magefree/staticValueRefactor
Replaced instances StaticValue with singletons (ready to merge)
2020-01-06 08:37:53 -05:00
LevelX2
e565863bd2 Added test for Nissa, Sage Animist -7 ability. 2020-01-06 12:58:50 +01:00
Evan Kranzler
06e069c5db updated implementation as suggested 2020-01-05 22:35:20 -05:00
Evan Kranzler
690e042b36 Implemented Arena Trickster 2020-01-05 21:55:44 -05:00
Evan Kranzler
38fe022fc0 Merge branch 'master' into staticValueRefactor 2020-01-05 20:46:59 -05:00
Evan Kranzler
724acc4e14 fixed failing tests 2020-01-05 20:44:43 -05:00
Evan Kranzler
9a603fbaab replaced StaticValue with singletons 2020-01-05 11:33:21 -05:00
LevelX2
7f0d793544 * Fixed a problem with Licid creatures not dying if the enchanted creature dies. 2020-01-05 17:06:36 +01:00
Evan Kranzler
dccc17fac9 Implemented Purphoros's Intervention 2020-01-05 09:30:26 -05:00
LevelX2
ebdba3c57e * Added logic to check if a card had a triggered ability in the graveyard if it was moved from graveyard to a hidden zone. Because if not, the ability does not trigger. 2020-01-04 23:53:47 +01:00
Oleg Agafonov
9110f70e2d Fixed NPE errors in deck editor; 2020-01-05 02:03:01 +04:00
Oleg Agafonov
2dd64cf5cd * Kicker abilities - fixed that AI can't cast cards with kicker for normal cost (AI don't use kicker now); 2020-01-05 01:04:35 +04:00
Oleg Agafonov
bb59cedbd9 AI fixes:
* Gain control abilities - fixed wrong target chooses by AI (selects weakest permanent instead most powerful);
* Target of an opponent’s choice abilities - fixed that AI was able to cancel card cast, fixed wrong target chooses (Evangelize, Echo Chamber, Arena, Preacher, etc);
2020-01-04 22:37:16 +04:00
Oleg Agafonov
bcb37992cc * Buyback abilities - fixed that AI can't cast cards with buyback for normal cost (AI don't use buyback now); 2020-01-04 20:26:59 +04:00
Oleg Agafonov
1ae9fc883e * Replicate abilities - fixed that AI can freeze the game after play card with replicate (AI don't use it now); 2020-01-04 20:22:49 +04:00
Oleg Agafonov
a249dcffd8 Fixed error with no abilities 2020-01-04 20:18:16 +04:00
Oleg Agafonov
13da4fd2b3 fixed Archon of Falling Stars (must be return to battlefield instead hand) 2020-01-04 19:40:25 +04:00
Evan Kranzler
bfdbac5552 updated THB spoiler 2020-01-04 08:56:21 -05:00
Evan Kranzler
d5474df005 Implemented Shimmerwing Chimera 2020-01-03 22:10:45 -05:00
jeffwadsworth
5ed5bce718 - Fixed #6127 2020-01-03 11:30:29 -06:00
Evan Kranzler
9a3d085a81 Implemented Triumph of Anax 2020-01-03 11:13:54 -05:00
jeffwadsworth
a37c9da789 - Fixed issue where one could see the "next" card on top of the library while casting the current one. Example, Bolas's Citadel ability. 2020-01-03 09:05:08 -06:00
LevelX2
19060954ae Merge origin/master 2020-01-03 15:24:27 +01:00
LevelX2
8854871c15 * Fixed problems of Yixlid Jailer that removed abilities from cards in graveyard permanently (fixes #1147). 2020-01-03 15:23:52 +01:00
Oleg Agafonov
c1351c2339 * Play from top library - fixed that unplayable lands marks as playable; 2020-01-03 17:33:03 +04:00
Oleg Agafonov
a381c1954c * Bolas's Citadel - fixed that it can't play cards with mana abilities; 2020-01-03 17:20:46 +04:00
Oleg Agafonov
893bcbb01f fixed The Birth of Meletis (missing defender ability in token) 2020-01-03 12:20:40 +04:00
Oleg Agafonov
65d914ffe7 Fixed missing watchers 2020-01-03 12:18:19 +04:00
Oleg Agafonov
dceb93e7a6 Additional fixes for getNetMana from #6132 (final) 2020-01-03 06:27:39 +04:00
Evan Kranzler
64ae38c632 Implemented Nessian Boar 2020-01-02 18:56:25 -05:00
Evan Kranzler
be32db8a80 Implemented Inspire Awe 2020-01-02 16:40:42 -05:00
Evan Kranzler
9948aca713 Implemented The Birth of Meletis 2020-01-02 16:40:40 -05:00
Oleg Agafonov
62636b5071 Additional fixes for getNetMana from #6132 2020-01-02 23:33:20 +04:00
Oleg Agafonov
0930bdd016
Merge pull request #5690 from magefree/copy_constructor_watchers
refactor the copy functionality for no-args watchers
2020-01-02 18:51:37 +01:00
Evan Kranzler
86fe25e68b Implemented Pharika's Spawn 2020-01-02 09:45:04 -05:00
Oleg Agafonov
862fe69b53 * Adventure cards - improved game logs (card hint works with adventure spell now, added original card info to cast's log); 2020-01-02 14:48:28 +04:00
Oleg Agafonov
b4c55039e5 * Adventure cards - added adventure spell info in permanent's rules on battlefield; 2020-01-02 06:15:17 +04:00
Oleg Agafonov
d860c026bd * Adventure cards - added missing adventure card type info into rules (instant or sorcery); 2020-01-02 05:53:56 +04:00
Oleg Agafonov
50195e8f35 * AI: fixed that computer can't target cards on battlefield if it contains tokens; 2020-01-02 04:46:20 +04:00
Evan Kranzler
14b002bce6 Implemented Glimpse of Freedom 2020-01-01 10:32:40 -05:00
LevelX2
12c4bacc07 * Reworked GainControlAllEffect that fixed a problem of Varchild, Betrayer of Kjeldor gaining control of creatures entering the battlefield after the Varchild left the battlefield. 2020-01-01 13:37:04 +01:00
Oleg Agafonov
3c727eb06b Fixed missing rates for some cards 2020-01-01 14:28:58 +04:00
Oleg Agafonov
4d51d379fe Fixed wrong symbols in rules 2020-01-01 14:28:12 +04:00
spjspj
5b40ca867e
Merge pull request #6110 from spjspj/master
Add an information format for deck
2020-01-01 17:48:37 +08:00
Oleg Agafonov
f5ef16c8cf Additional fixes for getNetMana from #6132, added TODO task for next mana improves; 2020-01-01 02:27:54 +04:00
jeffwadsworth
13cb86d69f - See b9bee56 2019-12-31 15:40:13 -06:00
Evan Kranzler
8b8a05d1c9 Implemented Nadir Kraken 2019-12-31 12:37:56 -05:00
Oleg Agafonov
4445f8556e Fixed multiple calls of mana choice dialogs, related to #6132 2019-12-31 20:24:25 +04:00
Oleg Agafonov
a7233df1c5 Fixed Empowered Autogenerator with new getNetMana 2019-12-31 18:02:52 +04:00
Oleg Agafonov
60781604f3
Merge branch 'master' into fix-tapped-for-mana-event 2019-12-31 12:12:25 +01:00
Oleg Agafonov
dca3e034f4 Refactor: fixed targets from cards list (support filters with player predicate); 2019-12-31 05:11:45 +04:00
LevelX2
b068d10c44 * Nissa, Vastwood Seer - Fixed a bug of the Nissa, Sage Animist that the animated lands lost the creature type as soon as Nissa was cast again from command zone or from hand (fixes #5677). 2019-12-30 21:35:10 +01:00
Evan Kranzler
a0888af73a
Merge pull request #6124 from magefree/updateDevotion
Refactor Devotion dynamic value to enum (ready to merge)
2019-12-30 11:30:37 -05:00
Ingmar Goudt
978309827b remove deprecated discard method 2019-12-30 00:22:33 +01:00
Ingmar Goudt
813aded7f9 Add missing generic 2019-12-29 23:18:38 +01:00
Ingmar Goudt
ee71495a3f fix latest cards from master 2019-12-29 23:08:47 +01:00
Ingmar Goudt
998c3be2a5 Merge branch 'master' of https://github.com/magefree/mage into copy_constructor_watchers 2019-12-29 21:05:37 +01:00
Ingmar Goudt
1a8723697e fix for Set as value of Map, make sure the set is new 2019-12-29 21:05:28 +01:00
Oleg Agafonov
87db04adfc Fixed typo 2019-12-29 23:36:28 +04:00
Ingmar Goudt
ce23f6900d fix conflicts 2019-12-29 19:28:20 +01:00
Ingmar Goudt
702a1f2498 remove all copy constructors and copy methods for all watchers 2019-12-29 19:18:20 +01:00
Evan Kranzler
d9e0b75545 built hints into devotion class 2019-12-29 10:27:23 -05:00
LevelX2
2508de1f82 * Aminatous Augury - Fixed a problem that the cards could not be cast from exile. Added logic so the player could select the card types to consume for the cast from exile. 2019-12-29 16:22:52 +01:00
LevelX2
8710bb5ca2 * PutCardFromHandOntoBattlefieldEffect - Fixed that the rule text did not show if the card entered the battlefield tapped (e.g. for Arboreal Grazer). 2019-12-29 14:30:16 +01:00
LevelX2
42a9aed977 * Tragic Arrogance - Fixed a problem that under some circumstances permanents of the wrong player were sacrificed. 2019-12-29 14:20:24 +01:00
LevelX2
554c5baf25 * Fixed a problem of triggered effects that detect if a creature was exiled but the creature ended in a another zone (e.g. commander) (fixes #5905), 2019-12-28 18:21:32 +01:00
LevelX2
cadae9ee92 * Added checks in all the methods that wait for human response to prevent endless loops if the method is called from a the get playable actions. 2019-12-27 23:28:53 +01:00
LevelX2
1f82e7a4ae Merge origin/master 2019-12-27 23:23:09 +01:00
LevelX2
1dc8f37d20 * Expropriate - Fixed a strange problem that the prompt text of the select permanent selection to get the control of the permanent was not shown. Still not clear what the exact reason was but using a player list to save the voters seemed to cause the problem. 2019-12-27 23:22:32 +01:00
Evan Kranzler
d3cfca6226 begin refactor of Devotion to enum 2019-12-27 10:53:31 -05:00
Evan Kranzler
5856d0744b
Merge pull request #6123 from ssouders412/FaeOfWIshesFix
Fae of Wishes//Granted fix
2019-12-27 10:52:36 -05:00
ssouders412
cfdae6ee9d
Fixed Fae of Wishes//Granted, added Noncreature card filter
Updated Drekavac and Entomber Exarch to use the new filter.
2019-12-27 10:34:27 -05:00
jeffwadsworth
b9bee56c89 - Starting the process of migrating cards that use the player.cast() method to access the full abilities of a card not cast from the hand zone. 2019-12-26 15:54:22 -06:00
LevelX2
06ed2f5927 * Improved display of vote for Council's Dilemma cards. 2019-12-26 14:31:51 +01:00
LevelX2
1798f5a151 * setCheckPlayableState(false) in finally error handling (related to 133cc7342d). 2019-12-26 14:26:16 +01:00
Oleg Agafonov
2460408da8 * Until your next turn effects - fixed that continuous effects of lost/leaved players can be discarded by combat or some cards before next turn starts; 2019-12-26 07:44:46 +04:00
Oleg Agafonov
61a58d36c2 Refactor: added missing getPlayersInRange in cards code (to ignore leaved/lost players); 2019-12-26 05:24:44 +04:00
LevelX2
133cc7342d * Fixed a problem with check playable methods causing e.g. endless loop if Shared Fate was on the battlefield. 2019-12-25 16:01:02 +01:00
Oleg Agafonov
5b9f0c970c Removed bloated logs 2019-12-24 21:12:20 +04:00
Oleg Agafonov
49ea0205d0 * Enters battlefield, played land triggered abilities - fixed multiple rollback errors on missing target; 2019-12-24 16:19:57 +04:00
Oleg Agafonov
9cf1ee2f42 Questing Beast - fixed rollback error on damage prevent (#6116); 2019-12-24 10:53:51 +04:00
Oleg Agafonov
5cb040607e Refactor PreventAllDamageToAllEffect 2019-12-24 10:48:08 +04:00
Oleg Agafonov
70b37d1d71 * You may choose card from outside or in exile - fixed that it doesn't allows to choose cards from exiled zone (Karn, the Great Creator and Coax from the Blind Eternities); 2019-12-24 02:06:33 +04:00
LevelX2
82371456cd * Commented out showXXX commands in tests to reduce the output. 2019-12-23 19:22:56 +01:00
LevelX2
7fe357708a * Some minor source code updates. 2019-12-23 16:38:54 +01:00
LevelX2
2f998060a2 * Fixed a problem with power/toughness setting of copied transformed permanents (fixes #5893). 2019-12-23 15:35:53 +01:00
spjspj
844500accf Add an information format for deck 2019-12-23 01:12:31 +11:00
Evan Kranzler
51b55fc8b8 Implemented Athreos, Shroud-Veiled 2019-12-21 10:13:11 -05:00
Oleg Agafonov
d26fde8dbc Prepare new release 2019-12-21 18:23:15 +04:00
Oleg Agafonov
bd71c98e3e Fixed AI freeze with non available targets 2019-12-21 18:10:29 +04:00
Evan Kranzler
88a1b9fe22 Implemented Underworld Rage-Hound 2019-12-20 20:10:08 -05:00
LevelX2
0a8a9ed00d * Replaced some filters by StaticFilters instances. 2019-12-20 23:50:01 +01:00
LevelX2
43a11cd115 * Enduring Ideal - Improved filter prompt text. 2019-12-20 22:56:11 +01:00
LevelX2
e80cfbeb2c * Fixed a problem of the card filtering of RevealLibraryPutIntoHand (fixes a problem of Brass Herald moving all cards to hand). 2019-12-20 20:54:23 +01:00
Oleg Agafonov
8cce5a3648 * AI: reworked computer choices for "target permanent" targets:
* Fixed that computer was able to target own permanents for bad effects and opponent permanents for good effect;
 * Improved target choices on card score (as example: boost most valuable, discard most weaker);
 * Tests: fixed false positive tests (AI depended);
 * Tests: fixed that test player can't find permanents for some filters/predicates;
2019-12-20 20:20:16 +04:00
jeffwadsworth
27a505ced9 - Fixed #6096. 2019-12-19 15:31:48 -06:00
jeffwadsworth
4ef9a75fe7 - Fixed #6101 2019-12-18 15:41:08 -06:00
Oleg Agafonov
cde9957f54 * UI: added playable card marks in look-at windows; 2019-12-18 22:44:42 +04:00
Oleg Agafonov
ff1299cca9 * Copy activated ability - fixed that it raise error on triggering on copied permanents; 2019-12-18 18:16:16 +04:00
Oleg Agafonov
23ef0e4269 * Spark Double - fixed that copy of spark contains legendary type (#6097) 2019-12-18 17:57:41 +04:00
Evan Kranzler
0bd2a5c270 Implemented Ashiok, Nightmare Muse 2019-12-16 22:31:25 -05:00
Ingmar Goudt
e8303d551d Merge branch 'copy_constructor_watchers' of https://github.com/magefree/mage into copy_constructor_watchers 2019-12-16 23:03:56 +01:00
Oleg Agafonov
0885a01849 Fixed that TargetCard ignore filter in some calls 2019-12-16 02:55:13 +04:00
LevelX2
2413f956ee Fixed a problem with bosster generation for boosters with partners and basic lands. 2019-12-15 16:18:04 +01:00
LevelX2
8d46f46cf8 Fixed a problem that DiesTriggeredAbilities from Tokens that were removed by an effect did nevertheless trigger (fixes #5825). 2019-12-15 13:10:11 +01:00
Oleg Agafonov
2549634443 Fixed NPE errors 2019-12-15 15:12:13 +04:00
Oleg Agafonov
be6a588a7f Fixed NPE errors 2019-12-15 15:00:31 +04:00
LevelX2
ca0297d7c8
Merge pull request #6015 from t-schroeder/crownoffury
Implemented Crown of Fury
2019-12-15 08:36:12 +01:00
LevelX2
81ff37ad17 Fixed a bug that sometimes wrongly power of new source instance was used to determine a number and fixed also a bug that counters were added wrongly to an already new instance of the source object (fixes #6035). 2019-12-15 00:50:44 +01:00
LevelX2
515b55f088 Fixed handling of Guardian Beast, fixed rule text display (fixes #5922). 2019-12-14 22:20:59 +01:00
LevelX2
b7b3bc4474 Merge origin/master
Conflicts:
	Mage/src/main/java/mage/players/PlayerImpl.java
2019-12-14 18:41:12 +01:00
LevelX2
da9f24e008 Removed deprecated AdjustingSourceCosts interface. 2019-12-14 18:33:11 +01:00
Evan Kranzler
f1b9b5aba7 Implemented Daxos, Blessed by the Sun 2019-12-14 11:14:13 -05:00
Oleg Agafonov
732a48e936 Fixed and improved tests for latest changes like asThough and adventure cards; 2019-12-14 19:19:32 +04:00
Oleg Agafonov
b3e17ba85f Improved "play the top card" to support adventure and split cards; 2019-12-14 19:11:40 +04:00
Oleg Agafonov
a05da68493 Improved alternative cost from dynamic effects (it's like #5913 PR):
* Game: added multiple cards/effects support (old version supported only 1 effect per game);
 * Game: added combo support with split and adventure cards;
 * AI: computer can see and play cards with dynamic added alternative cost (like Bolas's Citadel);
 * UI: users can see playable cards with alternative cost.
2019-12-14 19:09:25 +04:00
Oleg Agafonov
d271feb0cb Reworked asThough effects:
* Game: improved asThough effects processing and combo with different cards/abilities (e.g. adventure cards, play from non own hand, etc);
 * AI: computer can see and play non hand cards with dynamic effects in all zones (not only graveyard);
 * AI: computer can see and play "as though" mana and alternative costs;
 * UI: added non hand cards highlights of available abilities/cards;
2019-12-14 18:47:56 +04:00
Evan Kranzler
447002ee67 Implemented Setessan Champion 2019-12-13 08:17:37 -05:00
Patrick Hulin
27bb6fa432 Conform AdventureCard to new getAbilities plan. 2019-12-11 22:42:32 -05:00
Patrick Hulin
383069f5eb Merge branch 'master' of https://github.com/magefree/mage into adventures 2019-12-11 22:15:38 -05:00
Patrick Hulin
f63561cfb7 Add canActivate flag. 2019-12-11 22:15:07 -05:00
Evan Kranzler
3965061234 Implemented Elspeth, Sun's Nemesis 2019-12-11 20:08:07 -05:00
Oleg Agafonov
be7dea2d16 * UI: fixed that split cards doesn't marks as playable; 2019-12-11 04:44:25 +04:00
Oleg Agafonov
6b5a9846b9 Fixed rules generation 2019-12-11 04:40:07 +04:00
Patrick Hulin
b17bf1ac9f Save and restore controller ID in cardPlayableAbilities. 2019-12-10 16:35:53 -05:00
Patrick Hulin
fbc88f152e Fix Teferi, Time Raveler behavior and ignore W6 emblem failure for now. 2019-12-10 14:24:35 -05:00
Patrick Hulin
2f138a04ae Fix issue with casting opponents' cards. 2019-12-10 13:33:27 -05:00
Patrick Hulin
cd890d329a Fix behavior for Garruk's Horde, Melek, W6. 2019-12-10 11:34:19 -05:00
jeffwadsworth
ca22a7750a - Fixed #5925 and related issues. 2019-12-10 10:25:07 -06:00
Patrick Hulin
19ca9f555c Remove duplicated ability text. 2019-12-10 00:17:22 -05:00
Patrick Hulin
317a81678f Remove cast ability when adventure is a permanent.
This prevents the adventure ability text from displaying when the card is on the battlefield.
2019-12-10 00:10:34 -05:00
Patrick Hulin
abcd0512a5 Unused import. 2019-12-09 21:35:43 -05:00
Patrick Hulin
d2cb10d7b7 Clean up visual details. 2019-12-09 21:12:21 -05:00
Patrick Hulin
a2a569195a Fix issue where you could cast Adventure from exile. 2019-12-09 19:38:41 -05:00
Patrick Hulin
af5ccf6914 Implement AdventurePredicate.
This adds support for Edgewall Innkeeper (and similar cards) and Memory Theft.
2019-12-09 13:50:07 -05:00
Patrick Hulin
6160bc25ef Remove unused file. 2019-12-09 12:48:05 -05:00
Patrick Hulin
19a9d98287 Adventures basically working.
No graphics yet.
2019-12-09 12:46:43 -05:00
Patrick Hulin
04a4b91a59 Begin implementing adventures. 2019-12-09 11:30:11 -05:00
Oleg Agafonov
899cde4d54
Merge pull request #6073 from ssouders412/pronoun-fixes
Updated pronouns to reflect current rules and oracle text
2019-12-07 01:07:11 +01:00
Oleg Agafonov
1d20069ddf * Fixed wrong selection count in choose ability mode dialog (cards like Planewide Celebration); 2019-12-07 01:48:39 +04:00
ssouders412
50bd6cbc32
More pronoun fixes 2019-12-06 15:17:44 -05:00
jeffwadsworth
57cb023f78 - Fixed an issue with AffinityEffect and multiplayer games. See #5931 2019-12-06 14:16:32 -06:00
ssouders412
2d3247d732
Updated pronouns to reflect current rules and oracle text
Replaced all instances of "her or she", "him or her", and "his or her", with "they", "them", and "their", or sometimes "that player". Updated verbs where appropriate.
2019-12-06 14:29:36 -05:00
jeffwadsworth
30e8fec8df - Fixed #5931 2019-12-06 11:43:12 -06:00
Oleg Agafonov
bf5e603fcb Merge fix 2019-12-06 21:08:20 +04:00
Oleg Agafonov
a8d707b469 Additional watchers fixes for #6065, see comments in f21151bca5 2019-12-06 21:02:41 +04:00
jeffwadsworth
ba78d41034 - Fixed #5969 2019-12-05 11:25:38 -06:00
Sarah Souders
b208dc332f Fixed Rankle's triggered ability (#6064)
* Fixed Rankle's triggered ability

Any number of available modes can now be selected, including zero.

* Update AbilityImpl.java

* getTargets now returns empty Target for null Mode

Reverted null Target check changes in StackAbility.

* Update HumanPlayer.java
2019-12-04 20:59:03 -06:00
Sarah Souders
e437577b5a K'rrik fixes, payment for triggered abilities (#6060)
* K'rrik fixes, payment for triggered abilities

K'rrik's Phyrexian ability is now handled separately from actual Phyrexian mana costs. It can now be used to pay for triggered abilities like Extort.

* K'rrik tests added

Tests include:
- only usable by 1 player
- usable with activated/triggered abilities
- usable as an alternative to true Phyrexian mana, getting around Trinisphere
2019-12-04 16:27:41 -06:00
jeffwadsworth
f21151bca5 - Fixed #6065 2019-12-03 16:05:30 -06:00
jeffwadsworth
2de7c136ea - Fixed #6056. Please test when you can. Now you will see other abilities/spellAbilities from cards presented during the cast from exile. Overload, Emerge, Surge, etc. 2019-12-01 21:53:01 -06:00
jeffwadsworth
fda5ac170a - Fixed #5985 2019-11-30 06:58:52 -06:00
jeffwadsworth
5a1fb5f90e - Fixed #6059 2019-11-30 05:27:00 -06:00
Oleg Agafonov
7469d59eee Prepare new release 2019-11-30 01:32:54 +04:00
Oleg Agafonov
236cb46125 Additional token fixes for #6032:
- fixed wrong Elemental token images in BFZ's cards (Omnath, Locus of Rage and Seed Guardian);
 - fixed wrong Elemental token image in OGW's cards (Chandra Flamecaller);
 - removed unnecessary tokens from AKH, HOU and EMN (card duplicates);
 - fixed missing Goblin token in DOM;
 - fixed missing Bird Illusion token in GRN;
 - fixed same Zombie token in C19;
2019-11-28 23:42:39 +04:00
jeffwadsworth
792af6d331 - Fixed #5854 2019-11-27 23:56:22 -06:00
jeffwadsworth
a97ae1b0c6 Fixed an issue related to putting cards into the graveyard in the order wished. The amount was set to >3 for some odd reason. Made it >1. 2019-11-27 10:34:35 -06:00
jeffwadsworth
133b5495f9 Fixed #6051 2019-11-25 11:55:07 -06:00
jeffwadsworth
75b82018e1 - Fixed #6034 2019-11-24 15:37:20 -06:00
jeffwadsworth
d2115b0425 - Fixed #6037 2019-11-24 13:42:03 -06:00
jeffwadsworth
6d21c9d3dc Fixed #6045 - Note that an addition was made to MorphAbility 2019-11-21 17:39:42 -06:00
Jeff
3f9f860f85 Fixed #6047 2019-11-19 15:32:44 -06:00
ssouders412
84701cfbab Fixed K'rrik, Son of Yawgmoth
K'rrik's second ability is no longer active after he leaves the battlefield.

KNOWN ISSUE: Cards you would not normally be able to play without this ability are still not highlighted as playable.
2019-11-13 02:01:24 -05:00
ssouders412
6fd9cab283 Implemented K'rrik, Son of Yawgmoth
KNOWN ISSUE: K'rrik's ability allowing the player to pay Phyrexian for black mana remains active after K'rrik leaves the battlefield.
2019-11-11 00:17:57 -05:00
Tim Schroeder
54552a94ad implemented Crown of Fury 2019-10-16 04:41:06 +02:00
Evan Kranzler
193182aa3d Implemented Mtenda Lion 2019-10-03 19:42:09 -04:00
Evan Kranzler
3d224ffb61 reverted change to triggered abilities (#6001) 2019-09-30 18:45:10 -04:00
Oleg Agafonov
9d2d318a6c [ELD] added tokens 2019-09-27 22:50:18 +04:00
Oleg Agafonov
2227490413 Food token - fixed that it doesn't use multiple images; 2019-09-27 22:49:17 +04:00
Oleg Agafonov
f719503a89 Prepare new release 2019-09-27 21:19:03 +04:00
Evan Kranzler
9170df1344 fixed cost modifying effects requiring snow mana unnecessarily (fixes #6000) 2019-09-25 17:32:49 -04:00
Evan Kranzler
3d5925826c temporary workaround for Rankle, Master of Pranks (still can't choose zero modes) #5979 2019-09-24 22:26:28 -04:00
Evan Kranzler
b245b493b8 Implemented Outlaws' Merriment 2019-09-24 21:41:02 -04:00
Evan Kranzler
84206205ad updated TargetAmount for permanents 2019-09-24 19:45:31 -04:00
Oleg Agafonov
6cc2472ed6 * UI: improved choose target amount dialog (selected targets can be removed/de-selected); 2019-09-24 08:40:58 +04:00
Oleg Agafonov
bad26b182a Added max targets limit support in TargetAmount 2019-09-24 07:44:14 +04:00
Evan Kranzler
316f823ebf cleaned up the TargetAmount classes in preparation for updating them 2019-09-22 20:54:29 -04:00
Evan Kranzler
13ba8b0900 used reset method on triggered abilities 2019-09-21 21:29:08 -04:00
Evan Kranzler
48a678fad9 Implemented Covetous Urge 2019-09-21 19:40:19 -04:00
Evan Kranzler
4afc35caf0 fixed ETB untapped triggered abilities 2019-09-21 10:40:57 -04:00
Evan Kranzler
61bf0f758d Implemented Dwarven Mine 2019-09-20 19:36:09 -04:00
Evan Kranzler
788a879c7f Implemented Festive Funeral 2019-09-19 20:04:53 -04:00
Evan Kranzler
c3d141d83c Implemented The Great Henge 2019-09-18 19:58:19 -04:00
Evan Kranzler
0982e36002 improved implementation of second draw triggers 2019-09-18 13:08:26 -04:00
Evan Kranzler
d557e6a27e Implemented Lucky Clover 2019-09-17 17:28:01 -04:00
Evan Kranzler
ce920fa542 Implemented Fires of Invention 2019-09-16 16:13:40 -04:00
Evan Kranzler
275d28d22c Implemented Idyllic Grange 2019-09-16 15:40:02 -04:00
Evan Kranzler
64dcfb840d Implemented Giant Opportunity 2019-09-16 10:01:06 -04:00
Evan Kranzler
6af989d6a0 Implemented Henge Walker 2019-09-15 10:22:04 -04:00
Evan Kranzler
575b0bca30 updated Adamant implementation 2019-09-14 19:28:26 -04:00
Evan Kranzler
a03e5f11fb Implemented Seven Dwarves 2019-09-14 19:07:41 -04:00
Evan Kranzler
3491b36ae8 Implemented Oathsworn Knight 2019-09-14 18:30:51 -04:00
Evan Kranzler
3867937b38 Implemented Clockwork Servant 2019-09-14 12:32:05 -04:00
Evan Kranzler
0dabd08984 Implemented The Magic Mirror 2019-09-14 11:40:21 -04:00
Evan Kranzler
5579407144 Implemented Bonecrusher Giant 2019-09-13 23:46:50 -04:00
Evan Kranzler
9604aa9bef Implemented Wolf's Quarry 2019-09-13 08:12:09 -04:00
Evan Kranzler
4b8e9d0a09 Implemented Wandermare 2019-09-12 17:41:59 -04:00
Evan Kranzler
d9a934ac4f Implemented Doom Foretold 2019-09-11 13:27:18 -04:00
Evan Kranzler
f7ebf80627 Implemented Giant Killer 2019-09-09 18:23:35 -04:00
Oleg Agafonov
8dc6e152af Prepare next release 2019-09-10 00:33:47 +04:00
Oleg Agafonov
127af50427 Prepare next release 2019-09-09 23:40:22 +04:00
Evan Kranzler
793f0cff67 Implemented Enchanted Carriage 2019-09-09 12:42:00 -04:00
Evan Kranzler
0947df181e Implemented Oko, Thief of Crowns 2019-09-07 08:09:37 -04:00
Evan Kranzler
71a917a5d4 Implemented Steelclaw Lance 2019-09-06 21:08:26 -04:00
Evan Kranzler
cf59a151c8 updated Adventure constructor 2019-09-05 21:54:52 -04:00
Evan Kranzler
c4cea99bea Implemented Lovestruck Beast 2019-09-05 21:19:44 -04:00
Evan Kranzler
aa1190ddba Implemented Order of Midnight 2019-09-05 21:02:04 -04:00
Evan Kranzler
3f31efafcd Implemented Foulmire Knight, added a rudimentary nonfunctional implementation of Adventure cards 2019-09-05 20:54:34 -04:00
Evan Kranzler
a366ec019f Implemented Savvy Hunter 2019-09-05 20:13:13 -04:00
Evan Kranzler
1e272361c0 Implemented Tome of Legends 2019-09-05 19:56:48 -04:00
Evan Kranzler
39ce76f82a Implemented Garruk, Cursed Huntsman 2019-09-05 18:07:52 -04:00
Evan Kranzler
65fee9df99 fixed Food Token errors 2019-09-05 16:39:42 -04:00
Evan Kranzler
2e5e224c93
Merge pull request #5963 from jmharmon/master
Fixed minor errors for ELD cards
2019-09-05 15:24:00 -04:00
jmharmon
f189bd77a0
Remove custom token wording from code 2019-09-04 20:19:30 -07:00
Evan Kranzler
3179d35167 Implemented Slaying Fire 2019-09-04 23:12:11 -04:00
jmharmon
7de8506923
Implement Warlock creature type 2019-09-04 18:49:36 -07:00
Evan Kranzler
52279895cf Implemented Rankle, Master of Pranks 2019-09-04 10:11:49 -04:00
Evan Kranzler
845cca9938 added missing import to Food token 2019-09-04 07:28:46 -04:00
jmharmon
9f304bf4ae
Add TapSourceCost 2019-09-04 00:15:49 -07:00
jmharmon
a10fbc765f
Implement Food Token 2019-09-03 23:38:08 -07:00
jmharmon
52f2d6399c
Implement Food artifact subtype 2019-09-03 23:36:51 -07:00
Patrick Hulin
c085cabbb0 Fix creature type on Rekindling Phoenix token.
Type should be Elemental, not Thrull.
2019-08-17 15:04:16 -04:00
Iain Monro
48fbd30f2d #5935 Fix and standardise firing of TAPPED_FOR_MANA event 2019-08-16 15:26:40 +01:00
Oleg Agafonov
e53ce49327
Merge pull request #5916 from jgray1206/aether_gust_fix
add aether gust unit tests + fix issue #5902
2019-08-14 19:08:25 +02:00
Iain Monro
d53b9fd656 Fix rules text for abilities with up to one target 2019-08-14 17:16:01 +01:00
Evan Kranzler
7bf03781aa Implemented Atla Palani, Nest Tender 2019-08-09 21:41:46 -04:00
Evan Kranzler
c75a689efd Implemented Bone Miser 2019-08-09 21:14:05 -04:00
Evan Kranzler
1d39b28563 updated C19 spoiler and reprints 2019-08-07 23:06:33 -04:00
Evan Kranzler
b6b65215e8 Implemented Doomed Artisan 2019-08-07 09:21:21 -04:00
Evan Kranzler
1e8b6ea3b4 Implemented Apex Altisaur 2019-08-05 17:03:30 -04:00
Evan Kranzler
b2bc60efcb Implemented Grismold, the Dreadsower 2019-08-05 16:53:21 -04:00
Oleg Agafonov
2d3804079f Fix missing reset code 2019-08-03 00:44:27 +04:00
Evan Kranzler
2fab876d05 Implemented Ghired's Belligerence 2019-08-02 14:43:23 -04:00
Evan Kranzler
607cef0e79 Implemented Ghired, Conclave Exile 2019-08-01 20:07:25 -04:00
Evan Kranzler
5caf8f79d5 a few more text fixes 2019-07-22 20:22:17 -04:00
Evan Kranzler
aa2c712272 more text fixes 2019-07-22 19:53:15 -04:00
Evan Kranzler
61fa056165 various text fixes for M20 cards 2019-07-22 18:17:34 -04:00
John Gray
7155977cd2 add aether gust unit tests + fix issue #5902 2019-07-21 22:26:11 -04:00
John Gray
b05981020c add unit test for hapatra vizier of poisons + fix issue #5886 2019-07-20 13:21:14 -04:00
Oleg Agafonov
7ac58f9787 * UI: fixed missing text for tokens in Card Viewer; 2019-07-19 10:32:09 +04:00
Oleg Agafonov
181806d16e Fixed tests 2019-07-17 20:56:22 +04:00
Ingmar Goudt
a509e25c16 small text fix for London Mulligan 1st mulligan to show 'card', others after that show 'cards' 2019-07-16 14:49:43 +02:00
Ingmar Goudt
5ba206111a add missing Override annotations 2019-07-14 20:28:48 +02:00
Oleg Agafonov
528ba66e16 Commander abilities - fixed rules text for alternative spells; 2019-07-14 01:21:55 +04:00
Oleg Agafonov
9db80a0cf3 * Commander abilities - added support of cards with alternative spells like overload; 2019-07-14 01:06:07 +04:00
Oleg Agafonov
d6d67b78db * Added London mulligan as default mulligan type for all games (except Canadian Highlander); 2019-07-13 18:46:41 +04:00
Oleg Agafonov
abbbb5dafd * London mulligan - fixed wrong cards number in logs; 2019-07-13 12:48:26 +04:00
Oleg Agafonov
8c40a1d1a7 * Commander abilities - fixed that it increases commander tax after cast/play from non-command zone (as example: after Remand effect); 2019-07-13 10:47:02 +04:00
Oleg Agafonov
2197d8ee4a * Praetor's Grasp - fixed that it freeze the game after cast; 2019-07-12 21:49:00 +04:00
Ingmar Goudt
61ece61c15 remove assignation as parameter 2019-07-11 15:54:33 +02:00
Ingmar Goudt
3163bfa310 move default case down 2019-07-11 15:45:22 +02:00
Ingmar Goudt
b704618f32 small complexity rewrite 2019-07-11 15:44:46 +02:00
Ingmar Goudt
464e9c67c4 remove nullcheck as this happens in the method itself 2019-07-09 22:30:40 +02:00
Ingmar Goudt
178da75e4d Sonar fixes 2019-07-09 21:57:55 +02:00
Evan Kranzler
1621704b12 updated Modular text 2019-07-08 16:51:03 -04:00
Evan Kranzler
62d2426267 updated Treasure token text 2019-07-08 16:46:11 -04:00
Oleg Agafonov
79d40754ed * Library of Leng - fixed that it triggers on discarded cards from cost part instead only effect part (#3047); 2019-07-08 08:31:55 +04:00
Oleg Agafonov
0d6be669de
Merge pull request #5881 from jgray1206/vizier_fix
add vizier of the menagerie unit tests + fix for issue #5816
2019-07-07 03:34:24 +02:00
Oleg Agafonov
aad5099a45
Merge pull request #5884 from jgray1206/chandras_embercat_fix
fixed chandras embercat issue #5880 + added unit tests for it
2019-07-07 03:31:38 +02:00
John Hitchings
1230e29ec9 remove nashorn import. 2019-07-06 15:28:36 -07:00
John Gray
f564c522a3 added chandras embercat unit tests + fix for issue #5880 2019-07-06 11:30:26 -04:00
Oleg Agafonov
bce01ce053 Sonar's fixes 2019-07-06 13:09:27 +04:00
Oleg Agafonov
f166724562 Fixed type cast 2019-07-06 12:36:28 +04:00
John Gray
3a7419d870 add vizier of the menagerie unit tests + fix for issue #5816 2019-07-05 12:06:42 -04:00
Oleg Agafonov
e195bddf09 * Grenzo, Havoc Raiser - added triggered player info in logs and choose mode dialog (#4116, #5282); 2019-07-05 15:37:17 +04:00
Oleg Agafonov
39edc3feef Fixed texts 2019-07-05 15:03:24 +04:00
Oleg Agafonov
cdf7f6df6c * Goad abilities - fixed missing text; 2019-07-05 13:55:10 +04:00
Oleg Agafonov
da66fa351a * UI: fixed that cards with same names doesn't selected as playable in hand/graveyard; 2019-07-04 22:04:01 +04:00
Oleg Agafonov
6848626c4b Merge fix 2019-07-04 18:19:46 +04:00
Oleg Agafonov
6e5ba7a446 * Affinity abilities - added support of other cost modification effects like combo with commander tax (#5856);
* Affinity abilities - added artifact/land count hints to card;
2019-07-04 14:02:25 +04:00
Evan Kranzler
14c4981c72 fixed Hexproof from color abilities not working on players (fixes Veil of Summer issues) 2019-07-01 13:00:35 -04:00
Oleg Agafonov
e3f5071738 * UI: fixed wrong deck import from cubes and other sources without cards amount; 2019-07-01 12:40:34 +04:00
Oleg Agafonov
699329f522 * Woodland Champion - fixed that it doesn't trigger on tokens put (#5871); 2019-07-01 12:00:10 +04:00
Oleg Agafonov
628b668ad3 [M20] fixed wrong texts 2019-06-30 22:13:31 +04:00
Oleg Agafonov
9c2714da53 * Images: added tokens from Modern Horizons (MH1); 2019-06-30 20:26:16 +04:00
Oleg Agafonov
4148a572cf [M20] added tokens 2019-06-30 19:53:48 +04:00
Oleg Agafonov
716b929877 Prepare new release 2019-06-30 18:33:29 +04:00
Oleg Agafonov
46d030d37a [M20] added Thunderkin Awakener 2019-06-29 18:03:12 +04:00
richard.coates
1c9aa7904b Implement Tale's End 2019-06-29 13:07:31 +01:00
Oleg Agafonov
f6123037ec * UI: added playable/activatable cards highlight in all zone and windows (mana abilities, commander, graveyard, revealed, etc); 2019-06-28 03:30:57 +04:00
Oleg Agafonov
2ec3036abe * Fixed AI game freeze if it can't pay X mana (#5023); 2019-06-27 21:17:53 +04:00
Oleg Agafonov
073b003b37 * AI: planeswalkers gets more priority in targets selection; 2019-06-26 21:45:15 +04:00
Oleg Agafonov
7e08b3c3d5 Test framework: added support to create custom instant/sorcery; 2019-06-26 21:40:17 +04:00
Evan Kranzler
61287046f4 Implemented Veil of Summer 2019-06-23 19:29:28 -04:00
Ingmar Goudt
1cf6d99515 fix couple of sonar issues 2019-06-23 23:22:21 +02:00
Evan Kranzler
189aed29b5 Implemented Cavalier of Thorns 2019-06-23 14:33:02 -04:00
Oleg Agafonov
63a9a505e1 Fixed that alternative spell always selected to cast if available; 2019-06-23 17:20:04 +04:00
Evan Kranzler
5c36acd190 Implemented Aether Gust 2019-06-22 20:36:02 -04:00
Oleg Agafonov
d25ae47104 Alternative spell abilities: added support of modes and other extra things in commander, awaken, jump-start, spectacle, retrace and surge abilities; 2019-06-21 17:11:44 +04:00
Oleg Agafonov
bb1c9c072c Improved interactions between pay X and other effects; 2019-06-21 11:41:56 +04:00
Oleg Agafonov
04591a24f7 Improved interactions between pay X and other effects; 2019-06-21 11:40:36 +04:00
Evan Kranzler
33986bebfe Implemented Mu Yanling, Sky Dancer 2019-06-20 19:18:02 -04:00
Oleg Agafonov
af4ec9b3e7 * Do unless any player pays - fixed that it asks to pay remaining players even after payed; 2019-06-20 23:16:17 +04:00
Oleg Agafonov
437861ec20 Improved and fixed X mana cost and pays, mana pool:
* Pay X abilities - fixed that it spends all available mana pool instead only needed;
 * Pay X abilities - added support of interactions with other X effects like Rosheen Meanderer's mana usage for "pay X to prevent";
 * Rosheen Meanderer - fixed that it can't use mana for "you may pay X" like Flameblast Dragon's effect (#5206);
 * Devs: added support to use VariableManaCost to pay X in code (without generic's workaround, use ManaUtil.createManaCost to generate cost to pay);
2019-06-20 21:18:01 +04:00
Evan Kranzler
8ef3ebfc3c Implemented Ajani, Strength of the Pride 2019-06-19 21:10:33 -04:00
Oleg Agafonov
cc54a92daa * Kicker - added support of X and mana cost interactions like Rosheen Meanderer + Verdeloth the Ancient combo (#3538);
* Rosheen Meanderer - fixed that mana can be payed for mana cost with X instead any cost with X (#3538);
2019-06-18 11:28:41 +04:00
Oleg Agafonov
92517cc371 Merge fix 2019-06-17 15:29:58 +04:00
Oleg Agafonov
fe28c9c7d9 * Flashback ability -- added support of additional cost like flashback with kicker combo (#5389); 2019-06-17 15:03:37 +04:00
Oleg Agafonov
e39dc1124b Fixed NPE errors 2019-06-17 12:23:10 +04:00
Oleg Agafonov
dc7ccc6c4e * Buyback ability - fixed that it doesn't work after rollbacks (#5835, #5836); 2019-06-16 22:08:32 +04:00
Evan Kranzler
1887bc149e Implemented Chandra, Awakened Inferno 2019-06-15 16:22:48 -04:00
Oleg Agafonov
75e5ad3d7b * Commander: fixed that spells with dynamic/X targets doesn't work from command zone (#5852); 2019-06-14 21:50:36 +04:00
Oleg Agafonov
1d7cac3059 * Oathbreaker: fixed that signature spell can moves to graveyard instead forced move to command zone (#5819); 2019-06-14 21:20:16 +04:00
Evan Kranzler
0636d470e2 fixed Splice onto Instant or Sorcery causing rollbacks, still need to fix it not working (#5830) 2019-06-07 22:08:41 -04:00
Oleg Agafonov
90a5a55a72 * Move cards from battlefield - fixed that some abilities can duplicates moving cards (#4655); For devs: all cards with CardsImpl and moveCards calls like Winds of Abandon; 2019-06-07 18:35:30 +04:00
Oleg Agafonov
1c41f6418d * Overload - fixed that some cards was able to cast overload price as instant instead sorcery (Winds of Abandon, Mind Rake, Scale Up); 2019-06-07 16:56:51 +04:00
Oleg Agafonov
ecdc47ad68 * Scale Up - fixed that creatures doesn't lose types after overload pay; 2019-06-07 16:56:06 +04:00
Oleg Agafonov
1895a33966 [MH1] fixed Scale Up that it removes abilities; 2019-06-07 16:31:51 +04:00
Oleg Agafonov
55bc61000a Prepare new release 2019-06-06 23:03:38 +04:00
Oleg Agafonov
77e92d9186 * Fixed that snow lands can be added in draft and sealed modes (#5831); 2019-06-06 22:50:16 +04:00
Oleg Agafonov
0e2cfb7def Fixed tests with multiple X values 2019-06-06 21:07:51 +04:00
Oleg Agafonov
b64a75aa4b Typo fix 2019-06-06 16:55:17 +04:00
Oleg Agafonov
12fc854777 [MH1] added Unbound Flourishing 2019-06-06 16:52:06 +04:00
Evan Kranzler
7130b5acd4 Implemented Watcher for Tomorrow 2019-06-01 19:43:39 -04:00
Evan Kranzler
9def59486e Implemented Birthing Boughs 2019-05-31 21:31:36 -04:00
Evan Kranzler
ba47fee11e Implemented Rotwidow Pack 2019-05-31 08:17:32 -04:00
Oleg Agafonov
12be28483f
Merge pull request #5805 from hitch17/mtga-deck-import
Support for importing mtga decks.
2019-05-30 19:08:04 +02:00
Oleg Agafonov
d313327b21 * Fixed two face card images that it uses wrong image from random set; 2019-05-29 12:13:44 +04:00
Oleg Agafonov
a9329c130d Oathbreaker: added support of 2 partners with 2 spells, improved signature spell hint and checks; 2019-05-29 03:03:17 +04:00
Oleg Agafonov
7154e685d1 * Fixed Zendikar lands download from scryfall 2019-05-28 16:37:21 +04:00
Oleg Agafonov
9a9b304fd5 * UI: improved hand request dialog (users can ask your hand once per game, reset it by re-activate button); 2019-05-28 13:46:29 +04:00
Evan Kranzler
a18c3e1d88 Implemented Kaya's Guile 2019-05-27 21:00:15 -04:00
Oleg Agafonov
913ee65f36 Cards compatibility with oathbreaker format; 2019-05-27 17:21:17 +04:00
Oleg Agafonov
07cf5201ba * Added new game mode: Oathbreaker (#5678); 2019-05-27 16:17:15 +04:00
Evan Kranzler
bf528dfc59 Implemented Splicer's Skill 2019-05-26 17:18:18 -04:00
Evan Kranzler
6abfb1370f Implemented Sword of Sinew and Steel 2019-05-25 20:23:56 -04:00
Evan Kranzler
ca9197b783 Implemented Wrenn and Six 2019-05-25 10:23:31 -04:00
Evan Kranzler
b5f96cacc9 Implemented Fists of Flame 2019-05-25 10:00:15 -04:00
Evan Kranzler
79dd09b0dc Implemented Etchings of the Chosen 2019-05-24 21:10:38 -04:00
Oleg Agafonov
97c8622311 Commander: improved lands compatibility with cost modification and restriction effects; 2019-05-23 14:57:26 +04:00
Oleg Agafonov
42ed14df52 * Commander: added support of lands as commander (#5795); 2019-05-23 12:40:45 +04:00
John Hitchings
6e0e3899b8 Merge branch 'master' into mtga-deck-import 2019-05-19 13:28:27 -07:00
John Hitchings
ce23500ef8 Normalize card names, use specific cards when numbers when possible. 2019-05-19 13:26:12 -07:00
Oleg Agafonov
f1e204408f Fixed umlaut 2019-05-19 22:51:18 +04:00
John Hitchings
b62d4fd20d Support for importing mtga decks. 2019-05-19 11:18:09 -07:00
Oleg Agafonov
085211035f * Ugin, the Ineffable - improved +1 ability (one window for all exiled cards, card's id in lookup window); 2019-05-18 22:24:37 +04:00
Oleg Agafonov
e80ba6383f Added verify tests for watchers copy; 2019-05-18 10:58:30 +04:00
spjspj
1ff1833343
Merge pull request #5800 from gunnim/gunni/cant-attack-unless-pay-typo
Fixed typo in cant attack unless you pay mana hover tooltip.
2019-05-18 15:39:56 +10:00
Oleg Agafonov
85c6528d2d Merge branch 'master' into copy_constructor_watchers 2019-05-18 09:13:42 +04:00
Oleg Agafonov
ec9198fb22 Merge fix 2019-05-17 21:52:50 +04:00
Oleg Agafonov
4d95d72c66 Test framework: added support of commander cards (just add card to command zone by addCard); 2019-05-17 21:42:35 +04:00
Oleg Agafonov
ffbd5d373b * Planeswalker abilities - fixed that plus cost's counters is not affected by replacement effects (#5802, example combo: Planeswalker + Pir, Imaginative Rascal + Doubling Season); 2019-05-17 16:10:34 +04:00
Gunnar Már Óttarsson
9f8c969f29 Fixed typo in cant attack unless you pay mana hover tooltip.
also minor code comment fix
2019-05-16 15:04:57 +00:00
LevelX2
bf8dd78b6e * Fixed player Hexproof ThoughtAsIf handling (fixes #5796). 2019-05-15 17:33:34 +02:00
Oleg Agafonov
1dcdff58d2 Fixed html visible title in choose cards dialog; 2019-05-14 15:36:33 +04:00
Oleg Agafonov
06c9d7941c * Ascend ability - added card hint with permanents count; 2019-05-14 15:03:25 +04:00
Oleg Agafonov
28924c1cb7 * Commander - fixed that instant/sourcery/enchantment don't work from command zone (#5795); 2019-05-13 16:07:29 +04:00
Oleg Agafonov
8448afc709 Test framework: added commander games support (quick start button, "commander" command to put card as commander); 2019-05-13 13:20:41 +04:00
Oleg Agafonov
5c48803ef9 * UI: improved cards appearance:
* added colorized PT values (boosted is green, unboosted is red);
  * added toughness with damage calcs (damaged is red);
  * image render: now title and PT texts are readable/big in small cards;
  * mtgo render: improved image quality (less pixelated now);
  * mtgo render: improved PT font (bold now);
2019-05-10 10:01:51 +04:00
LevelX2
060766bb0a * Updated UntapAllDuringEachOtherPlayersUntapStepEffect to also work correct with EndTurn effects played last turn. 2019-05-08 17:36:31 +02:00
Oleg Agafonov
051c3c4ac0 UI: added test card render modes dialog (available from debug menu); 2019-05-06 20:15:39 +04:00
Oleg Agafonov
7089a09061 * Standard Bearer - fixed that it can broke spells on false Flagbearer checks (#5784); 2019-05-06 01:41:28 +04:00
John Hitchings
0a2c81ad7b DOM set codes get exported as DAR for MTGA. 2019-05-04 14:08:27 -07:00
Oleg Agafonov
878d602b58 Fixed potentional NPE error 2019-05-03 19:10:17 +04:00
Oleg Agafonov
648026ac0b Test framework: fixed not working choices for replacement effects; 2019-05-02 23:14:56 +04:00
Oleg Agafonov
3ff871c6de * Proliferate - fixed that it highlights all permanents instead with counters only; 2019-05-02 17:25:46 +04:00
Oleg Agafonov
14274d8eaf * Threshold abilities - fixed that restriction part of ability is not apply in some cards (#5738); 2019-05-01 20:55:21 +04:00
Oleg Agafonov
0aeab75552 Added ConditionalCostModificationEffect to support cost modification effects with conditions (#5738) 2019-05-01 19:53:54 +04:00
LevelX2
53341c5519 [ICE] Added Fylgja 2019-05-01 17:12:24 +02:00
Oleg Agafonov
367a1fd189 Added ConditionalPreventionEffect to support prevention effects with conditions (#5738) 2019-05-01 12:49:19 +04:00
Ingmar Goudt
853bdac0e1 simplify some of the field setters 2019-04-30 20:28:57 +02:00
Ingmar Goudt
6703ba693d refactor the copy functionality for no-args watchers 2019-04-30 20:28:57 +02:00
Oleg Agafonov
07faf872ea Fixed that some cards doesn't trigger counter remove events; 2019-04-30 18:50:03 +04:00
Ingmar Goudt
a8708e61d7 simplify some of the field setters 2019-04-30 16:41:06 +02:00
Oleg Agafonov
ec5134a663 * Chandra, Fire Artisan - fixed that it doesn't triggers on own damage; 2019-04-30 18:26:37 +04:00
Oleg Agafonov
f7622d3c4a * Awakening of Vitu-Ghazi - fixed that it creates non legendary tokens 2019-04-30 14:40:19 +04:00
Jeff
7a35a76248 - The Adapt effect now works correctly when the permanent is blinked. 2019-04-29 14:18:44 -05:00
Oleg Agafonov
9ef2e0bda7 * No more continuous effects stay on battlefield after player leave the game;
Test framework: added real time check for player in game or not;
2019-04-28 19:32:25 +04:00
Oleg Agafonov
534037e095 * Until end of your turn - fixed that effects discarded too early in multiplayer games (#5759, #5676);
Tests: added dozen tests for end of turn effects and related cards.
2019-04-28 11:27:08 +04:00
Oleg Agafonov
4288e45c23 * AI: improved work with "must attack" player effects, with pay to attack blockers (#5435); 2019-04-28 11:21:34 +04:00
Oleg Agafonov
488ed9ee00 * Melee - fixed that it don't triggers on unblocked attacks and don't untap it; 2019-04-28 11:12:39 +04:00
Oleg Agafonov
dc04092fce Test framework: many improvements and fixes:
* added support to use custom cards with any abilities/effects (addCustomCardWithAbility);
 * added support of multiplayer games with all range (CardTestMultiPlayerBaseWithRangeAll);
 * added realtime checks for permanent counters (checkPermanentCounters);
 * added wrong attack commands check in strict mode;
 * fixed that added by addCard command cards don't init continues effects;
 * fixed that block commands don't removed from actions queue;
2019-04-28 11:10:28 +04:00
Jeff
d8a928051a - ReturnFromGraveyardToHandTargetEffect() will now check to verify the target card is still in the graveyard. 2019-04-25 15:22:08 -05:00
Oleg Agafonov
21c99fae3b Prepare hotfix release 2019-04-24 23:13:51 +04:00
Oleg Agafonov
e51b054249 * Oath of Kaya - fixed that it doesn't triggers on attacks; 2019-04-24 21:41:24 +04:00
Antoni Gierczak
e885bd0e02 Refactor Ugin's Conjurant, Protean Hydra with a new ability. Fixed Ashiok, Dream Renderer (#5737)
* Refactor Ugin's Conjurant, Protean Hydra with a new ability

* pushing bugfix for Ashiok, Dream Renderer not milling correctly.
2019-04-23 17:12:20 -05:00
Oleg Agafonov
a602e2d377 Prepare release 1.4.35 2019-04-24 00:51:05 +04:00
Oleg Agafonov
bbf1c1343a Prepare release 1.4.35 2019-04-23 23:32:54 +04:00
Oleg Agafonov
c6d32bd33d [WAR] added tokens images 2019-04-23 23:32:09 +04:00
Oleg Agafonov
0ef003a4a7 Fixed Awakening of Vitu-Ghazi that it doesn't change the name of the land it is cast on 2019-04-23 17:58:34 +04:00
Oleg Agafonov
e49be97879 * Look at card abilities -- improved dialog (now it's shown that card have extra abilities to call on "no" button); 2019-04-23 17:09:26 +04:00
Oleg Agafonov
081ac7ca3c Fixed Single Combat that it does not prevent cast on next turn; 2019-04-23 16:05:34 +04:00
Oleg Agafonov
33af8939af * Copy effects - fixed that it copy current P/T values (e.g. after effects applied) instead printed/selected values; 2019-04-23 12:03:16 +04:00
Oleg Agafonov
7b7c80c80a [WAR] added God-Eternal Kefnet 2019-04-23 01:02:58 +04:00
Oleg Agafonov
4c899a25bd Test framework: added real time card type check (#4936); 2019-04-22 19:42:25 +04:00
Ian Kahn
ab2995d569
Fix log text with ProliferateEffect
Previously the number of counters would increase: (e.g. "Foo had 1 +1/+1 counter added. Bar had 2 +1/+1 counters added. ...3...")
2019-04-21 13:47:56 -04:00
Oleg Agafonov
eea55c2f76 Fixed Tomik, Distinguished Advokist that it cause wrong class cast error with lands; 2019-04-21 04:42:23 +04:00
Oleg Agafonov
73f7855e4d Fixed that amass don't create token is opponent have it; 2019-04-20 20:15:21 +04:00
Evan Kranzler
d0dc6c7731 fixed Vraska's Assassin token not destroying planeswalkers (fixes #5732) 2019-04-20 09:27:37 -04:00
Evan Kranzler
8bc01775dd fixed Kasmina token creation text (fixes #5731) 2019-04-20 08:57:28 -04:00
Evan Kranzler
7cea71d6f2
Merge branch 'master' into master 2019-04-20 08:52:33 -04:00
Oleg Agafonov
08616b6ec9 * Mind's Desire - improved exile windows; 2019-04-20 09:00:04 +04:00
Oleg Agafonov
8db2e63ae4 Fixed error with card texts 2019-04-19 19:35:16 +04:00
Oleg Agafonov
03795f1aae * Fixed AI game freeze on choose new targets (#5023); 2019-04-19 18:57:36 +04:00
Evan Kranzler
a2592ef36e implemented Sarkhan the Masterless 2019-04-19 08:36:52 -04:00
Oleg Agafonov
7912d217cb
Merge pull request #5714 from ketsuban/alliances
Implement some Alliances cards
2019-04-19 14:25:43 +02:00
antonig@sas.upenn.edu
fcf3fb672b implemented and tested Finale of Devastation. 2019-04-19 02:42:30 -04:00
Oleg Agafonov
ec202e1bc3 Fixed proliferate texts 2019-04-19 09:24:22 +04:00
Oleg Agafonov
ac286a586d Fixed mode text, added 4 modes support; 2019-04-19 09:03:16 +04:00
Oleg Agafonov
03b28cfc1c Fixed amass text 2019-04-19 08:40:35 +04:00
Evan Kranzler
41acfbb2fd Implemented Planewide Celebration 2019-04-18 22:26:36 -04:00
Evan Kranzler
d2a74e9062 Implemented Ugin, the Ineffable 2019-04-18 19:51:25 -04:00
Evan Kranzler
45526c5cc9 Implemented God-Eternal Oketra 2019-04-18 08:08:25 -04:00
Oleg Agafonov
184af3f681 * Fixed AI game freeze on put cards to library (#5023); 2019-04-18 15:46:48 +04:00
Oleg Agafonov
886b96072e God-Eternal Bontu - fixed game freeze with NPE error 2019-04-18 08:44:44 +04:00
Evan Kranzler
e6138d7e7f Implemented Finale of Glory 2019-04-17 18:27:44 -04:00
Evan Kranzler
892a39a2ed Implemented Huatli, Heart of the Sun 2019-04-16 08:47:38 -04:00
Oleg Agafonov
108fba8ab6 Firemind Vessel - fixed AI game freeze, improved choose logic (#5023); 2019-04-16 10:52:48 +04:00
Evan Kranzler
fe83f6ac25 Implemented The Elderspell 2019-04-15 19:14:09 -04:00
Evan Kranzler
254972be77 Implemented Ashiok, Dream Render 2019-04-15 14:10:06 -04:00
LevelX2
c1b2ffdaa7 Merge origin/master 2019-04-14 19:19:25 +02:00
LevelX2
8c11ab8505 * Some minor rule text fixes to WAR cards. 2019-04-14 19:18:46 +02:00
Oleg Agafonov
688a3fa516 * Fixed AI game freeze on random targets selection (#5023); 2019-04-14 18:52:09 +04:00
Evan Kranzler
a4d035100c fixed Revel of the Fallen God creating incorrect tokens (fixes #5715) 2019-04-13 20:59:14 -04:00
Thomas Winwood
fad76ba4e0 Implement Rogue Skycaptain 2019-04-14 01:47:40 +01:00
Evan Kranzler
0b11df3a00 broke out LookAtTopCardOfLibraryAnyTimeEffect into its own class 2019-04-13 15:03:54 -04:00
Evan Kranzler
c780838d29 Implemented God-Eternal Rhonas 2019-04-13 13:15:39 -04:00
Evan Kranzler
b28bef8f62 Implemented Nissa, Who Shakes the World 2019-04-13 12:56:33 -04:00
Evan Kranzler
15d389a5ba Implemented Tamiyo, Collector of Tales 2019-04-13 12:01:31 -04:00
Evan Kranzler
09bf817f1a Implemented God-Eternal Bontu 2019-04-13 11:02:01 -04:00
Oleg Agafonov
bd06d3df51
Merge pull request #5711 from hitch17/draft-log-deck-importer
Ability to import draft logs as decks.
2019-04-13 05:23:33 +02:00
Oleg Agafonov
ba54654ac1 * UI: added support to import deck without card amount numbers (txt-format and clipboard); 2019-04-13 05:48:04 +04:00
John Hitchings
61d40902ab Ability to import draft logs as decks. 2019-04-11 22:27:21 -07:00
Oleg Agafonov
35f705e07b Fixed copy 2019-04-12 08:53:58 +04:00
Oleg Agafonov
9eb8dd6ce5 * Delve ability - improved text; 2019-04-12 08:45:12 +04:00
Evan Kranzler
708b1a6dc9 Implemented Gideon's Company 2019-04-11 22:05:56 -04:00
Evan Kranzler
785917deb6 Implemented Chandra, Fire Artisan 2019-04-10 16:14:34 -04:00
Jeff
59deea27e3 - added message to inform players of a Proliferate event. 2019-04-09 11:55:19 -05:00
Evan Kranzler
ed2612e01a Implemented Tolsimir, Friend to Wolves 2019-04-09 10:55:14 -04:00
Jeff
6e681ab615 - Fixed #5697 2019-04-09 09:50:48 -05:00
Oleg Agafonov
42f5847ba7
Merge pull request #5694 from ketsuban/unglued
Implement two Unglued cards
2019-04-09 03:31:19 +02:00
Evan Kranzler
7e2724ed59 Implemented Kasmina, Enigmatic Mentor 2019-04-08 18:26:19 -04:00
Thomas Winwood
4881b8b08b Set customSet=true for Lady of Proper Etiquette type 2019-04-08 19:24:42 +01:00
Evan Kranzler
53fbe7e502 updated WAR booster checking to guarantee exactly one walker in every pack 2019-04-08 13:43:28 -04:00
Oleg Agafonov
98f29f7c8a * UI: increased richman draft time limits from 75->25 to 70->40 (#5672); 2019-04-08 20:59:03 +04:00
Oleg Agafonov
7a556ea58f * UI: added save/load packs list in random/richman mode (#5672); 2019-04-08 20:15:34 +04:00
Thomas Winwood
44214d65fc Implement Miss Demeanour 2019-04-08 05:10:32 +01:00
Ingmar Goudt
1852de2f47 refactor the copy functionality for no-args watchers 2019-04-07 20:22:14 +02:00
Evan Kranzler
36f5fd365e Implemented Tenth District Legionnaire 2019-04-05 20:14:50 -04:00
Evan Kranzler
ec9b6ac135 Implemented Courage in Crisis 2019-04-05 14:18:39 -04:00
Evan Kranzler
2ec5a47f05 Merge branch 'master' of https://github.com/magefree/mage 2019-04-05 08:00:33 -04:00
Oleg Agafonov
57283c3cca * UI: fixed infinite popup messages about illegal action while skip button activated (#4685); 2019-04-05 13:11:27 +04:00
Evan Kranzler
0b703b1be0 Implemented Role Reversal 2019-04-04 22:15:33 -04:00
Evan Kranzler
997bf86f20 small change to last update 2019-04-03 11:21:30 -04:00
Evan Kranzler
e0ce04c436 updated damage triggers to include planeswalker damage 2019-04-03 11:18:11 -04:00
Oleg Agafonov
6c3b48b2a7 [WAR] - added token image; 2019-04-03 13:02:21 +04:00
Oleg Agafonov
3ca57533b5 Fixed wrong class package, pom config and broken code (visual studio code compatibility) 2019-04-03 02:45:52 +04:00
Evan Kranzler
25627183a2
Merge pull request #5671 from ketsuban/proliferate
Proliferate now doesn't choose a type of counter
2019-04-02 08:14:33 -04:00
Thomas Winwood
be2898d2f9 Proliferate now doesn't choose a type of counter 2019-04-02 03:46:15 +01:00
Evan Kranzler
3e18305890 Implemented Angrath's Wrath 2019-04-01 22:44:38 -04:00
Evan Kranzler
86f651b871 Implemented Teyo, the Shieldmage 2019-04-01 19:03:25 -04:00
Evan Kranzler
7fec2e9837 Implemented Davriel, Rogue Shadowmage 2019-04-01 18:52:22 -04:00
Evan Kranzler
9b43285df4 Implemented The Wanderer 2019-04-01 16:32:57 -04:00
Oleg Agafonov
ef4c223bcf * Jace's Archivist - fixed AI freeze the game (#5023); 2019-04-01 21:52:11 +04:00
Thomas Winwood
dfcb795ada Implement some WAR cards 2019-04-01 18:33:16 +01:00
Jeff
8fea509ed7 - little text fix. 2019-04-01 11:48:33 -05:00
Oleg Agafonov
de4befb9c2 * Sideboarding: fixed that it possible to auto-submit 40 cards deck instead 60 in constructed formats (#5579);
Sideboarding: fixed that cheated deck with sideboard can be used instead lose the game;
2019-04-01 07:34:46 +04:00
Evan Kranzler
3dd6836559 Implemented Vraska, Swarm's Eminence 2019-03-31 20:13:39 -04:00
Evan Kranzler
54a1010c36 updated WAR details 2019-03-31 17:59:28 -04:00
Evan Kranzler
c4efb77e1f Implemented Tibalt, Rakish Instigator 2019-03-31 16:02:37 -04:00
Evan Kranzler
fb20ac0998 Implemented Dreadhorde Invasion 2019-03-31 13:32:34 -04:00
Evan Kranzler
ffef19fe43 Implemented Invade the City 2019-03-31 12:43:00 -04:00
Evan Kranzler
bebc8a8ac4 implemented Herald of the Dreadhorde 2019-03-31 12:29:23 -04:00
Oleg Agafonov
b8782d572d Tests: added test to check copy() methods removes; 2019-03-30 20:26:35 +04:00
Oleg Agafonov
6f4d000518
Merge pull request #5643 from magefree/copy-rewrite
initial rewrite for copy method
2019-03-30 11:45:57 +01:00
Oleg Agafonov
65bb9b2161 Prepare new release 1.4.34 2019-03-29 18:31:00 +04:00
Oleg Agafonov
ff640a942e UI: improved skips and stops for declare blocker step:
* added options to STOP skip on any or zero blockers available;
 * added auto-stop before declare blockers step (e.g. user can cast instants and crew abilities);
2019-03-29 18:10:00 +04:00
Oleg Agafonov
893e9384b1 * Urza, Academy Headmaster - fixed that it freeze the game (#5589); 2019-03-28 19:59:38 +04:00
Jeff
5a3fd7c558 - Added requested card Mercadian Lift. 2019-03-27 15:48:05 -05:00
Jeff
07adaa06ab - Fixed #5654 2019-03-25 11:02:37 -05:00
Oleg Agafonov
70f41c7807 Little fixes 2019-03-23 15:44:55 +04:00
Oleg Agafonov
42658d5cff UI: added mulligan option to new tournament dialog, added mulligan type saving; 2019-03-23 05:49:21 +04:00
Oleg Agafonov
3330680e81
Merge pull request #5644 from hitch17/additional-mulligan-support-5600
Additional mulligan support #5600
2019-03-22 22:48:18 +01:00
Oleg Agafonov
270ec615af Sync old changes 2019-03-22 21:51:26 +04:00
Oleg Agafonov
caf1a98759 * UI: added deck export to MTG Arena format (#4243); 2019-03-22 20:33:36 +04:00
Oleg Agafonov
b26132f300 Fixed text deck import (empty lines); 2019-03-22 20:12:35 +04:00
Oleg Agafonov
a2feda38ce Fixed mtgo deck export (sorting, empty lines); 2019-03-22 20:12:06 +04:00
Jeff
263c9acfcc - Fixed #5538 and #5629 2019-03-21 16:21:46 -05:00
Oleg Agafonov
04cb20f46a UI: improved deck editor exports:
* added deck export to files (#4243);
 * fixed wrong card sorting in deck files after save (#3719);
2019-03-21 19:17:41 +04:00
John Hitchings
1ca876c2ed Fixed LondonMulligan to give mulligan choice after discarding to bottom, which fixes the interaction with Serum Powder. 2019-03-20 23:23:28 -07:00
John Hitchings
47c9aab877 Merge branch 'master' into additional-mulligan-support-5600 2019-03-19 23:39:39 -07:00
John Hitchings
f7d785e406 Add rules comments and handle mulliganing to less than 0 cards for London. 2019-03-19 23:32:18 -07:00
Ingmar Goudt
75dbdbdd32 initial rewrite for copy method 2019-03-19 23:35:38 +01:00
Oleg Agafonov
a260030069 Fix tests 2019-03-19 21:44:06 +04:00
John Hitchings
4a232b148c Add mulligan options to NewTableDialog, passing mulligan information to games. 2019-03-19 06:08:12 -07:00
Oleg Agafonov
7140a41445
Merge pull request #5636 from hitch17/deck-exporters
Refactor Sets.saveDeck into a deck exporter series of classes.
2019-03-19 03:32:54 +01:00
Jeff
a5197ec954 - Fixed the emblem of Garruk, Apex Predator. 2019-03-18 15:23:13 -05:00
Ingmar Goudt
72c8c267a1 move Google Guava to mage-root pom in dependencyManagement, so other modules can use it 2019-03-18 15:48:35 +01:00
Jeff
efb357747d - Fixed #5637 2019-03-18 09:18:39 -05:00
Ingmar Goudt
b638ef4fad delete old performance debug code 2019-03-18 12:54:19 +01:00
John Hitchings
7885a42168 Refactor mulligans out of GameImpl and add Paris, Vancouver, London, and Canadian Highlander. Refactor GameImpls to use their specific mulligan. 2019-03-17 23:23:52 -07:00
Oleg Agafonov
410fd68996 Fixed that triggered abilities shows cancel button in target definition; 2019-03-18 06:10:08 +04:00
John Hitchings
0ea73b19df Refactor Sets.saveDeck into a deck exporter series of classes. 2019-03-17 14:58:05 -07:00
Oleg Agafonov
83d8f5a538 * UI: improved mulligan dialog with color, added free mulligan info in game log; 2019-03-17 06:11:20 +04:00
Oleg Agafonov
bf2861c309 * UI: improved skip buttons and preferences:
* added new setting for STACK skip button: stops on full empty stack (default) or on new objects added;
 * added new dynamic hints for skip buttons to see current settings and modes;
 * fixed that some skip buttons not de-activated after goal was achieved;
 * fixed wrong default render mode for cards, MTGO must be default (#4409);
2019-03-17 04:38:31 +04:00
Ingmar Goudt
c4eeec1bb2 changed the constructor for a Watcher. Before, you had to explictly pass the name of the watcher as an argument. But most of the time this was the name of the class itself. So the watcher now determines internally its name. The method 'getBasicKey' can be overridden. Also updated some encapsulation 2019-03-16 08:35:26 +01:00
Jeff
5c1f41f3a7 - First steps towards fixing Phased/Phased indirectly permanents. 2019-03-15 10:01:02 -05:00
Oleg Agafonov
b6f075c505 * UI: added drag & drop text to deck editor (like drag & drop deck file); 2019-03-13 04:21:31 +04:00
Jeff
678f77c2a3 - little spelling fix 2019-03-12 11:43:16 -05:00
Oleg Agafonov
0f4c6c0260 Improved scry and surveils text dialog; 2019-03-11 18:18:40 +04:00
Jeff
c784753ee6 - little fixes. #5625 2019-03-11 08:50:05 -05:00
Oleg Agafonov
3fb18b334d * Tap cost abilities - added cancel button; 2019-03-11 02:04:49 +04:00
Oleg Agafonov
dab481ee17 * UI: added cancel button for all target definition abilities; 2019-03-10 23:31:11 +04:00
Oleg Agafonov
904660e624 Fixed freeze while disconnects on choose target and card in library dialogs; 2019-03-10 16:04:25 +04:00
Oleg Agafonov
9d5fade2fb * Abilities with sacrifice cost - added cancel button to sacrifice target dialog; 2019-03-10 15:55:33 +04:00
Oleg Agafonov
b432b4b431 Fixed freeze and npe error while disconnects on choose target dialog; 2019-03-10 15:53:53 +04:00
Oleg Agafonov
83afca8bda * Crew ability - added selected and needed power info while choosing, colorozing; 2019-03-10 15:33:04 +04:00
Oleg Agafonov
e08fe53672
Merge pull request #5612 from hitch17/dnd-deck-lists
Ability to drag-and-drop decklists onto DeckEditorPanel in deck editor.
2019-03-08 01:03:07 +01:00
Oleg Agafonov
fa75ac2727 Typo fix 2019-03-07 12:14:27 +04:00
Jeff
5220e44b16 - little fixes 2019-03-06 17:11:45 -06:00
Oleg Agafonov
e68b79336a Typo fix 2019-03-06 14:06:47 +04:00
Jeff
26fd9f6088 - Fixed #5614 2019-03-04 17:38:52 -06:00
Ingmar Goudt
553d263526 add missing diamond operators 2019-03-04 11:57:53 +01:00
Ingmar Goudt
45f665eb1d Sonar cleanups 03032019 2019-03-04 10:43:20 +01:00
Oleg Agafonov
d9fb1d3706 Prepare hotfix release 2019-03-04 06:47:30 +04:00
Oleg Agafonov
f0e56ae71c Merge fix 2019-03-04 05:18:56 +04:00
Oleg Agafonov
e30eecead3 Refactor set's legality, Modern Horizons now available for modern formats; 2019-03-04 04:49:49 +04:00
Oleg Agafonov
6bfea7bfd9 Fixed NPE error in momir emblem; 2019-03-04 03:07:29 +04:00
Oleg Agafonov
8df43cfbb6 Refactor set's legality 2019-03-04 02:31:51 +04:00
John Hitchings
13efdd5b0b Ability to drag-and-drop decklists onto DeckEditorPanel in deck editor. 2019-03-03 13:48:51 -08:00
Ingmar Goudt
8319fbf9ad replace public fields with encapsulation 2019-03-03 09:51:14 +01:00
Evan Kranzler
1724a13f44 Implemented Serra the Benevolent 2019-03-01 19:41:57 -05:00
Oleg Agafonov
d76c764d64 Fixed wrong date format on client/server databases; 2019-03-01 21:59:14 +04:00
Oleg Agafonov
842d3d2ba1 Prepare new release 2019-03-01 20:12:21 +04:00
Oleg Agafonov
f788af1f6a * Improved connection performance on new release, no more empty cards on startup; 2019-03-01 18:55:20 +04:00
Oleg Agafonov
6846db75f4 * Fixed cards with skip untap optional ability that cause game freezes (#5606) 2019-03-01 18:10:32 +04:00
Ingmar Goudt
132e322d6e fix NPE, both spellAbility and spellAbility.getTarget could be null. resolves #5599 2019-02-24 08:13:28 +01:00
Ingmar Goudt
59f8c94af7 nullpointer fix, resolves issue #5602 2019-02-24 08:06:27 +01:00
Ingmar Goudt
3359c1f3f1 sonar 220219, criticals 2019-02-22 12:06:11 +01:00
Ingmar Goudt
c45fe5c701 rename from battlefield to graveyard event comparing to .isDiesEvent 2019-02-20 10:20:07 +01:00
Ingmar Goudt
056226d83c Sonar fixes 19022019 2019-02-19 21:51:45 +01:00
Oleg Agafonov
8cf681dff2 Updated libraries to latest versions and code compatibility fixes; 2019-02-17 16:12:57 +04:00
Oleg Agafonov
971a98061d Fixed SQL errors on non escaped symbols in usernames/emails/passwords; 2019-02-17 16:09:00 +04:00
Ingmar Goudt
f2c64629a5 couple of Sonar fixes 2019-02-15 13:31:10 +01:00
Jeff
ac4e51ce0d - Fixed Rivals' Duel 2019-02-13 10:19:07 -06:00
Oleg Agafonov
f778d95f54 Prepare next release 2019-02-09 17:42:46 +04:00
Oleg Agafonov
00ad61b6bd Added new Mythic Edition (MED) set (16 cards, scryfall download) 2019-02-09 16:45:27 +04:00
Oleg Agafonov
c29b68f030 Disabled cards rating and classes preloading on startup (lags problem); 2019-02-09 16:09:07 +04:00
Oleg Agafonov
e285b2770d * Curse cards - fixed that it triggers on planeswalker attack only (#5566); 2019-02-09 15:40:23 +04:00
Oleg Agafonov
c6f0239bcd
Merge pull request #5570 from EvanMurawski/splitcardimport
Recognize split card names in mtggoldfish format
2019-02-09 14:46:21 +04:00
Oleg Agafonov
c52a3c8a48
Merge pull request #5580 from magefree/5497-dynamic-hints-for-cards
UI: Add dynamic hints for cards
2019-02-09 14:44:42 +04:00
Oleg Agafonov
d97229cbcd Fix 2019-02-09 12:41:21 +04:00
Oleg Agafonov
7e4767fd30 Hints: removed duplicated hints from popup; 2019-02-09 12:28:29 +04:00
Oleg Agafonov
f341d35ece Hints: disable card hints in m15 render mode; 2019-02-09 12:00:24 +04:00
Jeff
24e24a968e - Added Phantasmal Sphere and Misfortune. 2019-02-08 17:25:28 -06:00
Oleg Agafonov
60a0ec03c0 Fixed NPE errors in canBlock restrict checks; 2019-02-09 02:48:11 +04:00
Oleg Agafonov
454d76e30b Fixed NPE errors in canAttack restrict checks; 2019-02-08 17:30:47 +04:00
Oleg Agafonov
dd2cf5a939 Added gate you control hint for cards; 2019-02-08 17:17:40 +04:00
Oleg Agafonov
0d4e6772ed Added ferocious hint for cards (you control reature with power 4); 2019-02-08 03:32:52 +04:00
Oleg Agafonov
1b32793388 Added restrict effect hints to permanents; 2019-02-08 03:08:28 +04:00
Oleg Agafonov
92ce8be91d Added hints to cards; 2019-02-07 15:21:01 +04:00
Oleg Agafonov
ae410d4d8d Added creatures you control hint 2019-02-07 03:55:30 +04:00
Oleg Agafonov
cb289b1b04 Refactor creature/s you control to use static filters and values 2019-02-06 21:28:26 +04:00
Jeff
e28bb36b72 - Fixed #5572. Reverted #5566. 2019-02-06 10:52:46 -06:00
Oleg Agafonov
f0c76eb529 Added spectacle hints to cards (opponents lost life) 2019-02-06 18:27:23 +04:00
Oleg Agafonov
283b101a08 Refactor OpponentsLostLifeCount to enum 2019-02-06 17:31:34 +04:00
Oleg Agafonov
d3f9e1d2f2 Refactor 2019-02-05 23:36:47 +04:00
Oleg Agafonov
4ffc40ff69 Added dynamic value hints for cards 2019-02-05 23:35:39 +04:00
Oleg Agafonov
6a7253d22f Added delirium hint as enum 2019-02-05 23:12:42 +04:00
Oleg Agafonov
0e61a0adeb Added city blessing hint as enum 2019-02-05 17:38:36 +04:00
Oleg Agafonov
043a7af086 Added condition hints with good/bad icons for cards 2019-02-05 13:05:10 +04:00
Oleg Agafonov
2a63314714 Added condition hints for cards 2019-02-05 02:43:13 +04:00
Oleg Agafonov
13ed3c6dbd Added static and colored hints for cards 2019-02-04 18:48:45 +04:00
Brik Royster
fce93c66e1 Fixed NullPointerException when Accursed Witch transforms (#5571)
* Fixed NullPointerException when Accursed Witch transforms

Feedback issue: #5529
Aura replacement code tried to remove the second face from the original zone which had ownerId == null. Now, we remember the first face (the original card) and remove it from the old zone before creating a permanent out of the second face.

* Accursed Witch's death trigger now requires targetting opponent instead of using aura replacement effects

Feedback issue: #5529
Previously you could attach Infectious Curse to either player and get around hexproof
The ability text has also been updated to match the Oracle text of Accursed Witch.
2019-02-03 19:40:46 -06:00
Oleg Agafonov
b36465e5c9 Refactor: removed unused custom set filters in SubType requests; 2019-02-04 00:53:51 +04:00
Oleg Agafonov
e9c6c4fefa Fixed that choose creature type dialog don't shows custom sets (#5569) 2019-02-04 00:51:35 +04:00
Ingmar Goudt
2cd9e25229 better use of the CardsImpl constructor 2019-02-03 21:08:31 +01:00
Evan Murawski
5fe5fd01c3 Replace single slash with double slash in split card names when importing with TxtDeckImporter.java 2019-02-02 18:43:11 -05:00
Evan Murawski
ec02774818 Replace single slash with double slash in split card names when importing with TxtDeckImporter.java 2019-02-02 18:41:56 -05:00
Ingmar Goudt
dc112215d4 change looping over maps (Sonar) 2019-02-02 22:37:02 +01:00
Ingmar Goudt
63718e7a6e Sonar fixes
remove the deprecated GameState.getWatchers()
2019-02-02 22:09:55 +01:00
Jeff
cd23125664 - Fixed #5566 2019-02-01 10:04:46 -06:00
Oleg Agafonov
0697cbe24c UI: added draft rating column to deck editor 2019-02-01 18:57:24 +04:00
Oleg Agafonov
7eba755666 Refactor card ratings, fixed rare error exception "comparison method violates its general contract" (different ratings in same card); 2019-02-01 17:41:29 +04:00
Evan Kranzler
c46b268819 Implemented Energy Vortex 2019-01-30 16:28:26 -05:00
Oleg Agafonov
53f4241518 Fixed NPE error on empty library 2019-01-30 20:38:53 +04:00
Jeff
3595a7fa79 - Fixed #5560. Eventually I will get to the other similar effects. 2019-01-29 16:13:27 -06:00
Evan Kranzler
f4401b32f9 fixed High Alert allowing opposing defenders to attack 2019-01-28 18:58:02 -05:00
Oleg Agafonov
d18325b268 Missing from last release 2019-01-27 22:19:35 +04:00
Evan Kranzler
22971b63fa fixed Benthic Biomancer triggered ability being optional 2019-01-27 10:49:13 -05:00
L_J
7ffbb939a1
Implemented Brine Hag, Venarian Gold, Wall of Shadows 2019-01-27 08:55:39 +01:00
jeffwadsworth
d07415e08c - Fixed #5440 2019-01-26 16:19:44 -06:00
Evan Kranzler
9a5ac6a848 fixed several of my old implementations 2019-01-26 14:19:19 -05:00
Evan Kranzler
bd652632f9 various em dash text fixes 2019-01-26 13:44:39 -05:00
Evan Kranzler
34e3bb42db fixed Rhythm of the Wild not giving Riot to creatures that weren't cast 2019-01-25 10:32:29 -05:00
Jeff
e1292a0ea3 - Fixed #5547 #5546 2019-01-24 11:58:13 -06:00
Oleg Agafonov
d25bca748d Fixed Arrays.asList code 2019-01-23 19:15:03 +04:00
Evan Kranzler
9b94b27e54 updated Flagbearer ability to reflect rules change 2019-01-22 19:13:21 -05:00
Evan Kranzler
1431e69b43 updated some oracle text 2019-01-22 19:07:15 -05:00
Oleg Agafonov
8e84df23b7 Prepare new release 2019-01-22 18:32:51 +04:00
Jeff
1ef5d878c6 - added some null checks. #5537 2019-01-21 10:33:42 -06:00
Oleg Agafonov
ff5839860e Improved target messages for users: added extra hints;
Applied Biomancy - added target's choose hints;
2019-01-21 12:53:02 +04:00
LevelX2
678118c79d * Fixed a problem with commander game resatrt from Karn Liberated. 2019-01-20 19:40:38 +01:00
LevelX2
fa859a6bfd * Aftermath - Fixed that aftermath cards were no longer castable from graveyard (fixes #5539). 2019-01-20 19:39:40 +01:00
Evan Kranzler
6466acb70a fixed Growth-Chamber Guardian not triggering when it enters with counters 2019-01-20 11:28:22 -05:00
L_J
fe3cafc121
Merge pull request #5473 from Zzooouhh/Zzooouhh-urza
Implemented Urza, Academy Headmaster
2019-01-20 08:44:24 +01:00
Evan Kranzler
fa0e295932 updated Ajani's Pridemate to reflect recent errata 2019-01-17 17:40:15 -05:00
Ingmar Goudt
dbdd9c00a3 Merge branch 'master' of https://github.com/magefree/mage 2019-01-17 18:22:19 +01:00
Ingmar Goudt
8a05db7fd8 small text fix 2019-01-17 18:22:07 +01:00
Evan Kranzler
908d8acc9f
Merge pull request #5532 from magefree/coinFlips
Added support for multiple copies of Krark's Thumb
2019-01-17 11:12:02 -05:00
Evan Kranzler
cbc814d38e some log message changes 2019-01-17 10:57:53 -05:00
Evan Kranzler
837503d8f4 reworked coin doubling again for some reason 2019-01-17 10:32:02 -05:00
Ingmar Goudt
7c2f55eda0 couple of sonar fixes 2019-01-17 12:03:22 +01:00
Evan Kranzler
1144bf3b4f finished adding support for multiple copies of Krark's Thumb 2019-01-16 18:20:36 -05:00
Evan Kranzler
21d7bef21f fixed Domri, Chaos Bringer's emblem not triggering 2019-01-16 15:24:16 -05:00
Evan Kranzler
b21f60bc0f
Merge pull request #5531 from magefree/master
merge
2019-01-16 15:12:30 -05:00
Evan Kranzler
74c1cbf6d9 begin fix for multiple copies of Krark's Thumb 2019-01-16 15:11:14 -05:00
Oleg Agafonov
975cff93e3 Merge remote-tracking branch 'origin/master' 2019-01-16 21:04:00 +04:00
Oleg Agafonov
14f66029f8 Missing v33 commit 2019-01-16 20:59:45 +04:00
Evan Kranzler
63fb5964d4
Merge pull request #5527 from magefree/coinFlips
Fixing coin flip implementation (WIP - Do Not Merge)
2019-01-16 11:44:01 -05:00
Oleg Agafonov
68177b9fe4 Fixed SacrificeTargetCost text 2019-01-16 05:52:19 +04:00
Evan Kranzler
335dab7160 fixed broken tests 2019-01-15 19:43:41 -05:00
Evan Kranzler
c34f611279 updated Krark's Thumb, still doesn't work in multiples 2019-01-15 16:55:45 -05:00
Evan Kranzler
57a362ae29 updated abilities which trigger off of a coin flip 2019-01-15 16:16:56 -05:00
Evan Kranzler
535fe221e3 rewrote how coins are flipped 2019-01-15 15:56:40 -05:00
Jeff
da3fdee621 - more text fixes 2019-01-15 11:07:53 -06:00
Evan Kranzler
f5fffcf417 initial refactor 2019-01-15 11:51:49 -05:00
Oleg Agafonov
1d43b38a5f Karn Liberated - fixed watchers errors on game restart ability 2019-01-15 20:48:21 +04:00
Jeff
14018a4004 - little text fix for OneOrMoreCountersAddedTriggeredAbility 2019-01-15 08:59:24 -06:00
jeffwadsworth
efe0c222c4 - little text fix on AfterlifeAbility 2019-01-15 02:28:52 -06:00
Oleg Agafonov
0b648343bc Fixed AddCountersTargetEffect text for cards with target pointers (#5523) 2019-01-14 11:37:02 +04:00
Ingmar Goudt
4e4d46437c update riot test 2019-01-14 00:18:21 +01:00
Ingmar Goudt
3b5b535de1 change Riot option to +1/+1 counter 2019-01-13 23:15:01 +01:00
Ingmar Goudt
1eb668b608 fix tooltip for Gate Colossus, update the Riot ability choose popup 2019-01-13 23:12:14 +01:00
Evan Kranzler
fd7b8f29ca made many dynamicvalues into singleton enums 2019-01-12 21:29:02 -05:00
L_J
23456d4fce
Implemented more Legends cards 2019-01-13 02:14:58 +01:00
Ingmar Goudt
661eae6d1f exclude one 2019-01-13 00:20:34 +01:00
Ingmar Goudt
5759957aad fix generating text for Priest Of Forgotten Gods 2019-01-12 23:56:57 +01:00
Ingmar Goudt
c1f9586948 Add a space in the generated rules text 2019-01-12 23:27:54 +01:00
Evan Kranzler
0ca71a2616 fixed Sentinel's Mark trigger 2019-01-12 17:25:34 -05:00
Evan Kranzler
0311ca8c6e fixed Mass Manipulation targeting issues 2019-01-12 17:18:31 -05:00
Evan Kranzler
8629977f14 refactored many other predicates to singleton enums 2019-01-12 16:30:49 -05:00
Evan Kranzler
dc409c9a9e refactored ColorlessPredicate to singleton enum 2019-01-12 16:15:19 -05:00
Evan Kranzler
e6b99215e1 refactored AnotherPredicate to singleton enum 2019-01-12 16:12:51 -05:00
Evan Kranzler
92b5535a0e fixed an issue with cost adjusters 2019-01-12 15:48:52 -05:00
Evan Kranzler
3483b3a181
Merge branch 'targetAdjustment' into master 2019-01-12 14:42:58 -05:00
Oleg Agafonov
2f32951707 Domri, Chaos Bringer - fixed wrong emblem creature; 2019-01-12 23:09:44 +04:00
Oleg Agafonov
1b55cbd44c [RNA] added tokens and download support from scryfall; 2019-01-12 21:13:56 +04:00
Evan Kranzler
581db3d6e0 Implemented Tin Street Dodger 2019-01-12 10:19:54 -05:00
LevelX2
0e19ffd173 * Fixed a problem with TapEnchantedEffect that could cause cast exceptions (fixes #5509). 2019-01-12 15:18:53 +01:00
L_J
bec74bbd4a
Added missing Legends counters 2019-01-12 11:51:22 +01:00
Jeff
da7b91095c - correct spelling 2019-01-11 16:23:30 -06:00
Evan Kranzler
f239e8dd44 Implemented Haazda Officer 2019-01-11 15:09:57 -05:00
Oleg Agafonov
c3848b7530
Merge pull request #5503 from hitch17/add-cockatrice-deck-format-5493
Adding o8d deck format.
2019-01-11 08:14:38 +04:00
John Hitchings
1e6e279bc8 Merge branch 'add-cockatrice-deck-format-5493' of github.com:hitch17/mage into add-cockatrice-deck-format-5493 2019-01-10 19:40:54 -08:00
John Hitchings
aac3e3fdc1 add importer for o8d and some more decks to test. 2019-01-10 19:33:42 -08:00
Oleg Agafonov
8f0351896c
Merge pull request #5502 from ZeldaZach/address_mage_stuff
Address Json Tests
2019-01-11 07:24:56 +04:00
Oleg Agafonov
11f93cf762
Merge pull request #5501 from hitch17/add-cockatrice-deck-format-5493
UI: add cockatrice deck format support for import (*.cod)
2019-01-11 07:17:48 +04:00
Zach Halpern
163a5e45d3 update wordings so they are not blank 2019-01-10 22:14:29 -05:00
Zach Halpern
1712b05c33 Merge branch 'master' into address_mage_stuff 2019-01-10 21:35:12 -05:00
Zach Halpern
8a5f2288f9 Address crash points of JSON tests 2019-01-10 21:27:38 -05:00
Evan Kranzler
7a89d22880 Implemented Sphinx of the Guildpact 2019-01-10 19:05:38 -05:00
Ingmar Goudt
d5003a6f8f add null check 2019-01-11 01:04:34 +01:00
Ingmar Goudt
d7e68cf932 clean up cipherEffect 2019-01-11 01:02:45 +01:00
Evan Kranzler
88374751b1 Implemented Forbidding Spirit 2019-01-10 18:08:35 -05:00
Evan Kranzler
acf34f9429 Implemented Plaza of Harmony 2019-01-10 17:59:47 -05:00
Evan Kranzler
3ff26721e8 Implemented Charging War Boar 2019-01-10 17:01:26 -05:00
John Hitchings
5bf748e2b5 Move tests to the Mage directory and stub out looking up cards by names for tests. 2019-01-10 11:04:00 -08:00
Evan Kranzler
84a4681767 Implemented Persistent Petitioners 2019-01-10 13:40:40 -05:00
John Hitchings
9372ba63e2 Move tests to the Mage directory and stub out looking up cards by names for tests. 2019-01-10 09:52:38 -08:00
John Hitchings
58e629dca6 Refactored DeckImporter and obsoleted DeckImporterUtil. Added/refactored a PlainTestDeckImporter as a base class for text formatted importers to extend. 2019-01-10 08:27:05 -08:00
Evan Kranzler
8b2cae6176 added missing cost to Priest of Forgotten Gods 2019-01-09 22:34:43 -05:00
Evan Kranzler
6aeedac387 Implemented Font of Agonies 2019-01-09 12:43:15 -05:00
Oleg Agafonov
942ecc5328 Fixed errors on empty targets in some effects;
Added export code example for mtgjson4 project;
2019-01-09 10:54:59 +04:00
Evan Kranzler
0608d2cf3d combined "one more more counters added" triggers into a single class 2019-01-08 20:02:22 -05:00
Evan Kranzler
ddcb383486 Implemented Thrash // Threat 2019-01-08 18:49:29 -05:00
Oleg Agafonov
b313ab3b7c Fixed missing watchers on game start, added error on missing watcher; 2019-01-08 13:50:19 +04:00
Oleg Agafonov
8a9619bf80 Fixed build time 2019-01-08 11:00:26 +04:00
Oleg Agafonov
503f383963 Fixed NPE error on some tournaments finish; 2019-01-08 09:26:14 +04:00
Oleg Agafonov
063be44523 Fixed NPE errors for some cards (#5471) 2019-01-08 07:15:39 +04:00
Evan Kranzler
32b800d99e Merge branch 'master' of https://github.com/magefree/mage 2019-01-07 22:02:47 -05:00
Oleg Agafonov
d0c8d6a707 Fixed NPE errors for some cards (#5471) 2019-01-08 07:00:14 +04:00
Evan Kranzler
61de630f5a Implemented Domri, Chaos Bringer 2019-01-07 21:00:39 -05:00
Evan Kranzler
44115b93d0 Implemented Gruul Beastmaster 2019-01-07 19:30:47 -05:00
Evan Kranzler
c1c09020a6 Implemented Mesmerizing Benthid 2019-01-07 19:13:03 -05:00
LevelX2
1146a38fca * Fixed a problem with exception by getting the build time for version. 2019-01-07 21:47:57 +01:00
Jeff
2b4c7eba13 - Added Musician and Illusionary Terrain. 2019-01-07 14:37:44 -06:00
LevelX2
704972b6b1 * Lord Windgrace - Fixed tooltip rule text. 2019-01-07 17:25:09 +01:00
LevelX2
e938f91e3e * Myth Unbound - Fixed the two working abilities(fixe #5347). 2019-01-07 16:39:49 +01:00
LevelX2
7ef0a5f654 Merge origin/master 2019-01-07 11:39:10 +01:00
LevelX2
f7ccca6964 * Old Fogey - Shortened the generated rule text, so that nothing was cut at the end of the text. 2019-01-07 11:38:08 +01:00
Oleg Agafonov
5c4dc104f7 Typo fix 2019-01-07 14:22:13 +04:00
Oleg Agafonov
8c7df840f3 Fixed NPE errors for some cards (#5471) 2019-01-07 14:04:33 +04:00
Ingmar Goudt
9a310732d8 rewrite watchers to GameState.getWatcher(), rather than getWatchers().get(). This hides away the implementation of the watchers. Accepts the class rather than the name. Always returns the specific subclass, so there is no more casting needed. Only 1 line in the common library remains, that is still using the old 'deprecated' method. Needs a new version release to do that. 2019-01-06 20:59:13 +01:00
Oleg Agafonov
f01b3d3ca3 Improved new version cleanup and more:
* fixed db cleanup on new version (sets + cards);
 * fixed empty sets list after update;
 * fixed NPE errors in sets list on new install/version;
 * added joke sets filter to deckeditor.
2019-01-06 15:41:30 +04:00
LevelX2
554e8076cf * Fixed that the becomes land effects of Gaea's Liege and Graceful Antelope did not end when the source left the battlefield. 2019-01-06 11:11:09 +01:00
Ingmar Goudt
95a31759b5 add nullchecks on watchers 2019-01-06 00:35:26 +01:00
Evan Kranzler
8463d693d4 Condensed "targets a permanent you control" conditions into a single class 2019-01-05 13:41:34 -05:00
LevelX2
285beab3a2 * Fixed player target handling of TargetPermanentOrPlayer.java (fixes Shalai + Burning Sun's Avatar #5252 problem). 2019-01-05 17:00:31 +01:00
Oleg Agafonov
0293b91c25 Tests: added random results image generators (random, shuffle, dice, planar dice); 2019-01-05 13:12:59 +04:00
Evan Kranzler
53720149c6 updated the Addendum condition to take into account whether a spell was actually cast 2019-01-04 21:31:29 -05:00
Evan Kranzler
fd709bcd28 Implemented Verity Circle 2019-01-04 20:58:02 -05:00
Oleg Agafonov
0670c401e0 * Fixed Brood Of Cockroaches text 2019-01-05 01:42:43 +04:00
Oleg Agafonov
207e95e001 Fixed card texts: instant or sorcery spell; 2019-01-05 00:46:53 +04:00
Oleg Agafonov
d81d253395 Fixed GainAbilityAttachedEffect that it can't apply some effects after enchantment dies (from gitter); 2019-01-04 23:57:28 +04:00
Oleg Agafonov
f6585ef734 Improved and fixed cards texts:
* fixed wrong texts for draw card abilities;
 * added multi-effects text generation instead copy-paste (concatBy).
2019-01-04 23:51:42 +04:00
Oleg Agafonov
83cf370cc6 Merge remote-tracking branch 'origin/master' 2019-01-04 23:34:15 +04:00
Evan Kranzler
89454f9c8e Implemented High Alert 2019-01-04 14:19:05 -05:00
Evan Kranzler
1f24af8716 Implemented Carnival // Carnage 2019-01-04 12:28:14 -05:00
Evan Kranzler
958503cff2 Merge branch 'master' of https://github.com/magefree/mage 2019-01-04 11:51:03 -05:00
Evan Kranzler
d49cd6f304 Implemented Electrodominance 2019-01-04 11:40:11 -05:00
LevelX2
50cd0af601 * Kess, Dissident Mage - Fixed that it did not allow split cards from graveyard. Fixed some other problems with the card. 2019-01-04 17:21:07 +01:00
Evan Kranzler
a7b0f05890 Implemented Ravager Wurm 2019-01-03 21:09:39 -05:00
Evan Kranzler
965fa971a3 updated implementation of Adapt 2019-01-03 16:20:36 -05:00
Oleg Agafonov
0bd9bd6015 Merge remote-tracking branch 'origin/master' 2019-01-03 21:23:58 +04:00
LevelX2
423115ced5
Merge pull request #5487 from ninthworld/Omnath
Fix ManaTypeInManaPoolCount to include conditional mana (Fixes #5458)
2019-01-03 17:38:34 +01:00
LevelX2
e8eaf49280 * Fixed possible class cast exception. 2019-01-03 17:33:52 +01:00
LevelX2
4365449be3 * Fixed a problem with variable life costs (e.g. Toxic Deluge) and prevent pay life effects (e.g. Angel of Jubilation) that did not work for those spells. 2019-01-03 16:35:10 +01:00
Oleg Agafonov
a4e374f96a Refactor: improved emblem rules generation; 2019-01-03 11:41:34 +04:00
ninthworld
8183797c41 fix manatype in pool count to include conditional mana 2019-01-02 23:29:11 -08:00
Ingmar Goudt
e1630b3c6f remove deprecated String subtype methods 2019-01-03 06:35:36 +01:00
Oleg Agafonov
a995643512 Fixed card texts 2019-01-03 04:13:24 +04:00
Evan Kranzler
47b943021f Implemented Mass Manipulation 2019-01-02 18:56:15 -05:00
Oleg Agafonov
e9f9b05141 Fixed NPE errors for some cards (#5471) 2019-01-02 20:06:01 +04:00
Oleg Agafonov
2ebad63595 Added seeds support to random util:
* all xmage code uses shared util to generate random values;
 * tests can uses seeds to repeat "random" results like deck builds or AI plays;
2018-12-30 03:52:30 +04:00
Ingmar Goudt
799fe34b02 change HashMap to EnumMap 2018-12-29 10:30:40 +01:00
L_J
d0fbe6d35c Implemented Alliances cards (#5470)
* Implemented Alliances cards (#84)

* Fixed Storm Elemental

* Fixed Sworn Defender
2018-12-27 22:53:10 -06:00
jeffwadsworth
d20872dcb9 - Fixed #5474 2018-12-27 02:51:24 -06:00
L_J
a48ed51373
Reverted BrainstormEffect 2018-12-24 14:53:13 +01:00
L_J
7c983aa21b
Implemented Urza, Academy Headmaster 2018-12-24 01:41:49 +01:00
L_J
b4f2f8ed72
Implemented Urza, Academy Headmaster 2018-12-24 01:41:02 +01:00
Oleg Agafonov
d36cca02aa Fixed NPE errors for some cards (#5471) 2018-12-23 20:24:20 +04:00
Oleg Agafonov
e75e2324c7 Fixed NPE errors for some cards 2018-12-23 17:56:46 +04:00
Evan Kranzler
baef4114d2 fixed silver bordered cards being legal in various formats 2018-12-22 11:26:15 -05:00
Evan Kranzler
d9ca4f2ff6 Implemented Sphinx's Insight 2018-12-21 19:40:59 -05:00
Oleg Agafonov
0d949ca7e6 Typos 2018-12-22 01:05:43 +04:00
Oleg Agafonov
20a3b0b777 Added cards database cleanup on new builds/releases run (client/server sides); 2018-12-21 23:11:43 +04:00
Evan Kranzler
20d5bfc3c9 Implemented Incubation // Incongruity 2018-12-21 13:21:19 -05:00
Jeff
2fca196f79 - Fixed #5468 2018-12-21 11:46:30 -06:00
Oleg Agafonov
2fdef83284
Merge pull request #5455 from SpikesCafe-google/AddSpinyStarfish3
Add Spiny Starfish from Alliances.
2018-12-21 05:33:04 +04:00
Oleg Agafonov
7b2598eba8
Merge pull request #5466 from hitch17/mtgo-compatible-draftlogs-5450
Make draft logs compatible with MTGO format #5450
2018-12-21 05:24:06 +04:00
Evan Kranzler
2b6f85df23 Implemented Frenzied Arynx 2018-12-20 18:44:57 -05:00
John Hitchings
7e621ee8af Make draft logs compatible with MTGO format #5450 - https://github.com/magefree/mage/issues/5450 2018-12-19 19:41:44 -08:00
Evan Kranzler
fd25ac8ccb Implemented Aeromunculus 2018-12-19 18:19:49 -05:00
Evan Kranzler
846c133d04 Implemented Rix Maadi Reveler 2018-12-18 19:44:55 -05:00
Evan Kranzler
b5f383254c implemented Afterlife ability 2018-12-17 22:25:52 -05:00
Oleg Agafonov
0a2f312da7 Added build time to version info, cleanup manifest files; 2018-12-15 18:29:10 +04:00
Jeff
c2739c004b - Added Dread Wight and Cloak of Confusion. 2018-12-13 17:43:11 -06:00
SpikesCafe-google
a852d5c9e5 Add Spiny Starfish from Alliances. 2018-12-09 13:48:55 -05:00
Jeff
605abc1624 - Added Limited Resources and Aether Tide. 2018-12-07 16:19:26 -06:00
Oleg Agafonov
1d450730c0 Merge origin/master 2018-12-07 01:21:32 +04:00
Oleg Agafonov
02b7e2cf10 Refactor: extract card names compare logic (is empty name, is same name)
Fixed last broken tests
2018-12-07 00:26:50 +04:00
Jeff
21c6afa1c7 - Added Volrath's Dungeon. 2018-12-05 16:05:46 -06:00
Jeff
dcec3ad66e - Stronghold Set 100%. Added Hidden Retreat, Ransack, Rebound, and Samite Blessing. 2018-12-04 16:32:23 -06:00
Oleg Agafonov
8700da94d7 * Added damage info on re-targeting targets (on copy); 2018-11-29 19:47:51 +04:00
Oleg Agafonov
bb18814c84 * Fixed wrong re-targeting on copy complex cards (fixed adjustTargets for copies)
* Oath Of Lieges - Fixed that copy of opponent's card don't work;
* Oath Of Lieges - Fixed that it can shuffle lib without search;
2018-11-29 19:39:13 +04:00
Oleg Agafonov
59bda7f1d5 Refactor: added copyFrom info for all objects (original card used for copy, copy of copy and etc); 2018-11-29 19:29:39 +04:00
LevelX2
6c55ede2c2 Removed debug message. 2018-11-27 00:37:48 +01:00
LevelX2
8addea6891 Removed debug message. 2018-11-27 00:29:47 +01:00
LevelX2
e6ce58d6bf XMage 1.4.32V0 2018-11-26 19:30:22 +01:00
LevelX2
c4cd4b8b6a
Merge branch 'master' into JaceArchitectOfThoughtFix 2018-11-26 17:29:31 +01:00
LevelX2
e7d129a074
Merge branch 'master' into add-minimum-rating-option 2018-11-26 17:18:35 +01:00
jeffwadsworth
ea4c202a40 - Added Fatigue and Disappear. 2018-11-25 10:51:27 -06:00
jeffwadsworth
9c0162caad - Added "ARROW" counter. 2018-11-25 10:11:50 -06:00
Ingmar Goudt
25e7b53268 small performance update for ClassScanner 2018-11-24 23:50:05 +01:00
jeffwadsworth
2e17cb334e - Fixed #5100. Added a replacement effect for skipping the combat phase. 2018-11-23 11:36:29 -06:00
LevelX2
43ee5e9c43 * Acklay of the Arena - Fixed triggered ability (fixes #5416). 2018-11-23 12:30:44 +01:00
Oleg Agafonov
e5bdb85076 * Mirari - Fixed that it can select any spell instead triggered use. 2018-11-22 21:53:32 +04:00
Oleg Agafonov
a9451711bb Tests: added support of TargetCardInExile, TargetCardInGraveyard and variations; 2018-11-21 16:43:46 +04:00
Jeff
c7a3e53083 - Fix for Bug #5435. Specific to "must attack" code. 2018-11-20 17:43:26 -06:00
Jeff
1bac7fc04c - Fixed Soul Strings. DoUnlessAnyPlayerPays now supports X costs. 2018-11-20 09:46:36 -06:00
Jeff
0eedca5283 - Fixed #5393 2018-11-19 15:09:36 -06:00
Oleg Agafonov
6fa014d1a9
Merge pull request #5420 from hitch17/load-deck-content-from-clipboard
Prepopulate DeckImportFromClipboardDialog content with string content…
2018-11-17 11:36:43 +04:00
Oleg Agafonov
e389b95738 * Fixed exception error on copy of copy of aura effects for some cards (Estrid's masks, Animate Dead, etc);
* Fixed wrong copy effects on rollbacks or errors;
2018-11-14 05:02:29 +04:00
Oleg Agafonov
9986c1d365 [GNT] implemented Militant Angel 2018-11-13 00:25:48 +04:00
Oleg Agafonov
209bccef0c [GNT] implemented Inspired Sphinx 2018-11-12 22:31:42 +04:00
Oleg Agafonov
a0e4791ad6 [GNT] implemented Avatar of Growth 2018-11-12 04:17:04 +04:00
Oleg Agafonov
0b089895a7 Fixed scryfall images download for PUMA set; 2018-11-12 04:14:53 +04:00
Oleg Agafonov
fe3eda4944 * Spell Contortion, Warleader's Helix - fixed wrong card text;
Removed unused getRules in cards code;
2018-11-11 22:54:49 +04:00
Jeff
61fb31bea0 - Added Serra's Hymn and Venomous Fangs. 2018-11-08 17:54:05 -06:00
John Hitchings
baeb9d8b00 Prepopulate DeckImportFromClipboardDialog content with string contents of clipboard. 2018-11-08 09:25:03 -08:00
Oleg Agafonov
08e88b8a65
Merge pull request #5351 from magefree/plane-and-emblem-implements-controllable
Refactor: make plane and emblem implement Controllable
2018-11-04 23:38:54 +04:00
Jeff
29e34934d9 - Added Hidden Stag and Soul Sculptor. 2018-10-29 11:45:37 -05:00
brodee
4f61afa62b AI updates, more cards will have the isRemoval bonus to their card rating
these weren't being picked up as removal spells and now are:
* modal spells where one mode is a removal spell
* spells that do a dynamic amount of damage, such as fireball
* cards that reduce the toughness temporarily or permanently
* cards that keep a creature tapped down
* cards that exile a creature
* cards that damage creatures that are attacking or blocking
* enchantments that exile a creature when they etb
* fight cards, and one sided fight cards

the ai will now rate those types of cards higher as they are removal
2018-10-28 00:16:14 -07:00
brodee
843702bd86 draftbots and afk autopicks will more aggressivly take rares
two draft quality of life improvements for situations when real players
quit or go afk.
1. made the draftbot lean on rarity for card ratings. this helps make
the draftbots behave and not just pass bombs to the human players.
2. changed the draft autopick that happens when the timer runs out and
the player hasn't selected anything. I changed it to pick the last card
in the pack, which should be the rarest, so basically it raredrafts.
again making it so AFK players aren't just feeding real live human
players the best cards.
2018-10-26 22:17:57 -07:00
garypwn
dd32a463ec Fix Commander Ninjutsu 2018-10-25 17:44:15 -07:00
LevelX2
44d3276046 * Brilliant Ultimatum - Fixed that it was not checked if the player is still allowed to play a land. 2018-10-25 16:15:24 +02:00
LevelX2
99b4cacf33 * Changed maven project definition to use protoc-jar-maven-plugin. 2018-10-25 12:48:33 +02:00
L_J
4e231f51a1
Merge pull request #5394 from Zzooouhh/Zzooouhh-bandswithother
Implemented Bands With Other & related cards
2018-10-21 22:33:33 +02:00
LevelX2
26a93d4427 Reworked ability source object handling. 2018-10-21 21:37:23 +02:00
L_J
5a08632d59
Implemented Bands With Other 2018-10-21 16:59:10 +02:00
Evan Kranzler
b2beefc680 fixed Vraska, Golgari Queen's emblem not triggering 2018-10-20 20:21:54 -04:00
LevelX2
9423731e97 * Fixed a problem with removing too much counters (caused by AI simulation). 2018-10-14 10:14:36 +02:00
Evan Kranzler
34e4012540 Implemented Mistfolk 2018-10-10 21:05:01 -04:00
LevelX2
b0395f704f * Ob Nixilis, Unshacked - Fixed that it doesn't triggered on failing to find a card (fixes #5367). 2018-10-10 23:35:03 +02:00
LevelX2
fde0ba284a * Glarecaster - Fixed that its redirect ability allows for multiple redirects not only if damage is dealt at the same time (fixes #5368). 2018-10-10 23:17:10 +02:00
LevelX2
189984d3d6 DeckEditorPanel - Fixed some existing exceptions. 2018-10-10 15:37:26 +02:00
Oleg Agafonov
26913923fa Refactor: replaced duplicated ability - CreatureEntersBattlefieldTriggeredAbility by EntersBattlefieldControlledTriggeredAbility; 2018-10-10 01:21:43 +04:00
Oleg Agafonov
10f56fb2a1 [ANA] - added White Spirit token 2018-10-09 19:37:56 +04:00
Oleg Agafonov
0181bf4f41 [ANA] - added goblin token 2018-10-09 18:17:15 +04:00
Oleg Agafonov
01235ebe29 Missing comments 2018-10-09 17:12:00 +04:00
Tyler Moore
4057cc2859 Implementing new function in all classes implementing Player 2018-10-04 14:16:52 -07:00
Tyler Moore
c5cedc2aba Adding lookAtAllLibraries to Player/PlayerImpl and using that method during JAOT's -8 resolution 2018-10-04 13:45:44 -07:00
Oleg Agafonov
72d23bfe95 * UI: deck editor - added cards sorting by rarity (#4414); 2018-10-03 23:59:51 +04:00
Oleg Agafonov
64721675f2 Merge remote-tracking branch 'remote-production/master' into local-production 2018-10-03 22:10:23 +04:00
Oleg Agafonov
12eec8e1b8 * Fixed that some sets uses same images for multi-images cards:
* Guilds of Ravnica (GRN), Commander Anthology Volume II (CM2), Battlebond (BBD);
   * From the Vault: Transform (V17), Media Inserts (MBP), WPN and Gateway Promos (GRC);
2018-10-03 22:06:18 +04:00
LevelX2
c41c6e1fe9 Fixed a problem with casting split cards from non hand zone. Added some generic cast from non hand zone effects and started replacing card specific effects by the generic ones (fixes #5356 and fixes #4493). 2018-10-03 13:44:01 +02:00
Evan Kranzler
27fc2f5610 fixed Elf Knight token name 2018-10-02 21:50:29 -04:00
Oleg Agafonov
434044eb0f * Fixed missing lands from some sets in lands/decks generation; 2018-10-03 00:54:32 +04:00
Evan Kranzler
e42505765b added cost adjuster to stack ability class 2018-09-30 21:16:09 -04:00
Evan Kranzler
9d9c7b0242 added cost adjustment framework 2018-09-30 20:12:07 -04:00
LevelX2
29f6f1c4b8 XMage 1.4.31V4 2018-09-30 23:15:58 +02:00
L_J
be1c7316a7
Merge pull request #5350 from Zzooouhh/Zzooouhh-unh
Implemented Unhinged cards
2018-09-30 14:13:32 +02:00
L_J
1655963937
Merge branch 'master' into Zzooouhh-ugl 2018-09-30 14:13:00 +02:00
Ingmar Goudt
fe3f6fb6c8 make plane and emblem implement Controllable to give access to the isControlledBy method 2018-09-30 12:48:03 +02:00
LevelX2
9b46406c86 * Burning Cinder Fury of Crimson Chaos Fire - Fixed opponent slection. 2018-09-30 12:23:18 +02:00
L_J
ff29761cbb
Implemented Unhinged cards 2018-09-30 12:19:54 +02:00
Aaron Miller
5cd57199c7 Merge branch 'master' into add-minimum-rating-option 2018-09-29 19:15:46 -07:00
Aaron Miller
81c2a62250 Add "minimum rating" option to matches and tournaments 2018-09-29 19:14:39 -07:00
Ingmar Goudt
809e75af75 Rename : typo in static method 2018-09-29 13:35:48 +02:00
Ingmar Goudt
ef092b20e0 Rename: fix typo in planeswalker ability 2018-09-29 11:07:52 +02:00
Evan Kranzler
2df976b2f0 updated target adjusters P through W 2018-09-29 00:24:00 -04:00
Ingmar Goudt
3653e09ce4 make some fields final 2018-09-28 15:19:27 +02:00
Ingmar Goudt
f4d9c98df7 remove set to self 2018-09-28 15:19:27 +02:00
Ingmar Goudt
be5305da90 remove redundant null check 2018-09-28 15:19:27 +02:00
Ingmar Goudt
e36eb5782b update wrongly used Capitals 2018-09-28 15:19:27 +02:00
Evan Kranzler
1e94ebdd82 updated target adjusters E through M 2018-09-27 20:20:52 -04:00
LevelX2
226019be89 * Desecrated Tomb - fixed that it did not produce bat tokens if a Zombie cards was cast from graveyard (fixes #5318). 2018-09-27 17:26:22 +02:00
Oleg Agafonov
6afb21bcf7 Tests: more info on basic card checking 2018-09-27 12:07:02 +04:00
Evan Kranzler
f6ed3a4d19 updated target adjusters D through G 2018-09-26 22:13:35 -04:00
Ingmar Goudt
a0e54fbb7b remove redundant null checks, remove some static fields 2018-09-26 22:02:03 +02:00
LevelX2
61b1b1ba05 * JumpStart - fixed that card was not always moved to exile after cast from graveyard. 2018-09-26 16:30:17 +02:00
Evan Kranzler
c303b5adf8 updated Mistveil Plains implementation 2018-09-25 14:17:52 -04:00
Evan Kranzler
b82df08a80 updated all emblems to final 2018-09-25 13:38:29 -04:00
Evan Kranzler
32fd543824 fixed an issue with Tajic, Legion's Edge's prevention effect 2018-09-24 19:35:15 -04:00
Ingmar Goudt
d6f87d709a remove static fields from AddCardSubtypeAllEffect 2018-09-24 21:25:01 +02:00
Evan Kranzler
590bad7e00 fixed Invert // Invent not switch power and toughness 2018-09-23 22:20:02 -04:00
LevelX2
6e26719367 XMage 1.4.31V3 2018-09-23 19:43:26 +02:00
LevelX2
6e9810696f * Ludevic, Necro-Alchemist - Fixed tooltip text. 2018-09-23 18:03:48 +02:00
Evan Kranzler
830b64242e fixed Vraska, Golgari Queen emblem not working 2018-09-23 09:09:29 -04:00
LevelX2
def18cbc00 * Fixed a problem of JumpStart that prevented to cast the cards from graveyard. 2018-09-23 01:32:28 +02:00
LevelX2
c7ddd676c8 * Ral, Izzet Viceroy - Fixed second ability. 2018-09-23 01:16:16 +02:00
LevelX2
0be9867257 XMage 1.4.31V2 2018-09-22 22:55:10 +02:00
LevelX2
87fd7a2ab0 [GRN] Added Guildmages' Forum. 2018-09-22 19:25:10 +02:00
LevelX2
4c17a13bce [GRN] Added Thief of Sanity. 2018-09-22 16:43:15 +02:00
Evan Kranzler
24536032cd Implemented Mnemonic Betrayal 2018-09-22 10:06:40 -04:00
theelk801
beb190a47b
Merge pull request #5316 from magefree/targetAdjustment
Updated implementation of target adjustment
2018-09-20 20:15:46 -04:00
Evan Kranzler
847ed97848 Implemented Divine Visitation (somewhat incorrectly) 2018-09-18 16:21:34 -04:00
Evan Kranzler
ce0b647a36 Implemented Etrata, the Silencer 2018-09-18 14:47:42 -04:00
Evan Kranzler
214a527ae0 Implemented Wand of Vertebrae 2018-09-18 13:59:17 -04:00
Evan Kranzler
5cdc14da4c Implemented Morgue Troll 2018-09-18 11:58:56 -04:00
Evan Kranzler
b19a799b83 Implemented Hatchery Spider 2018-09-18 10:57:30 -04:00
Evan Kranzler
7f51656b0a Implemented Beacon Bolt 2018-09-17 21:46:01 -04:00
Evan Kranzler
3fccf40155 fixed null pointer exception 2018-09-17 16:06:47 -04:00
Ingmar Goudt
f04d7c9b03 remove redundant null checks before instanceof 2018-09-17 21:09:42 +02:00
Evan Kranzler
407611c11b removed TargetAdjustment as it is no longer necessary 2018-09-17 14:39:19 -04:00
Evan Kranzler
b833fc7f77 replaced various single-use adjusters 2018-09-17 14:13:52 -04:00
Evan Kranzler
42417b6711 replaced verse counter adjustment 2018-09-17 13:40:27 -04:00
Evan Kranzler
0d3c068f50 replaced x targets adjustment 2018-09-17 13:26:48 -04:00
Evan Kranzler
7305fbac3a replaced X cmc targeting adjustment 2018-09-17 13:21:05 -04:00
Evan Kranzler
9b94b618cd begin modifying target adjustment implementations 2018-09-17 10:47:39 -04:00
Evan Kranzler
8bcf95d996 added methods for setting target adjuster 2018-09-17 10:45:22 -04:00
Evan Kranzler
3265b70e2f create target adjuster interface 2018-09-17 08:49:46 -04:00
Evan Kranzler
d3aea0270c Implemented Lazav, the Multifarious 2018-09-16 17:27:21 -04:00
Evan Kranzler
e7af7c922a added some functions to mode implementation 2018-09-16 16:26:21 -04:00
LevelX2
abc0d0b68f [GRN] Added Venerated Loxodon. 2018-09-15 19:29:19 +02:00
Evan Kranzler
ba8b2a609a Implemented Creeping Chill 2018-09-14 18:02:57 -04:00
Evan Kranzler
35547f84a3 Implemented League Guildmage 2018-09-14 16:37:25 -04:00
Evan Kranzler
c532fe632a Implemented Enhanced Surveillance 2018-09-14 15:30:23 -04:00
LevelX2
68dc82342c
Merge pull request #5276 from magefree/FixBestowTest
Fix bestow test
2018-09-14 14:26:39 +02:00
Evan Kranzler
aa63a262b6 added isInstantOrSorcery method to MageObject 2018-09-13 08:21:12 -04:00
Evan Kranzler
4315772902 Implemented Conclave Guildmage 2018-09-13 07:57:30 -04:00
Evan Kranzler
3e1641b93b Implemented Vraska, Golgari Queen 2018-09-12 12:35:25 -04:00
Evan Kranzler
8d0bd3c02f Implemented Whispering Spy 2018-09-11 20:51:40 -04:00
Evan Kranzler
f433d7c006 Implemented Izoni, Thousand-Eyed 2018-09-10 21:46:04 -04:00
Oleg Agafonov
38a45c2e8e Refactor: removed outdated code for non implemented cards 2018-09-09 16:06:40 +04:00
Evan Kranzler
84cff64b70 Implemented Ral's Dispersal 2018-09-08 10:39:41 -04:00
Evan Kranzler
fffb299581 Implemented Ral, Caller of Storms 2018-09-07 23:26:28 -04:00
Evan Kranzler
6d25f4889a fixed some look and reveal effects 2018-09-05 15:56:02 -04:00
Evan Kranzler
9c19f07494 fixed various problems with Call to Arms 2018-09-05 10:57:55 -04:00
Evan Kranzler
d96efd1450 fixed tokens being created attacking by non-active player (fixes #5263) 2018-09-05 08:54:13 -04:00
Evan Kranzler
909fcf749d Implemented Murmuring Mystic 2018-09-04 23:15:07 -04:00
Evan Kranzler
cfbc014af8 updated GRN spoiler 2018-09-04 12:13:28 -04:00
Evan Kranzler
77b3401272 Implemented Quasiduplicate 2018-09-04 11:22:40 -04:00
Evan Kranzler
9ba023ce66 Implemented Legion Warboss 2018-09-03 23:18:13 -04:00
Evan Kranzler
e030ef3268 Implemented Ral, Izzet Viceroy 2018-09-03 10:23:15 -04:00
Evan Kranzler
915cc38e11 Implemented Necrotic Wound 2018-09-02 23:34:33 -04:00
Evan Kranzler
22585729c4 Implemented Sinister Sabotage 2018-09-02 22:52:35 -04:00
Evan Kranzler
087b6126a0 Implemented Boros Challenger 2018-09-02 22:18:16 -04:00
Evan Kranzler
e9fef59495 Implemented Emmara, Soul of the Accord 2018-09-02 21:56:34 -04:00
Quercitron
9593462520 * One with the Machine - Fix that non-artifact permanents are considered in determining the amount of cards drawn (fixes #5292). 2018-09-01 16:10:51 +03:00
L_J
bce19d31af
Rabid Sheep token fix 2018-08-28 23:35:53 +00:00
L_J
bda10ed04c
Implemented Unglued cards 2018-08-29 01:15:29 +02:00
Kevin Shin
f5498d4cc2 added comment 2018-08-25 23:29:55 -05:00
Kevin Shin
23920a0696 remove new class that ended unused 2018-08-25 23:26:55 -05:00
Kevin Shin
7d2ba0cf2e all tests passing and satisfied with minimal changes; ready to merge 2018-08-25 23:24:01 -05:00
LevelX2
5703a49c81 XMage 1.4.31V1 2018-08-25 14:37:08 +02:00
LevelX2
9e88d847ed * Estrid, the Masked - fixed problems with with first and second ability (fixes #5223). 2018-08-25 14:30:31 +02:00
Kevin Shin
3ffd812bc6 After some revisions, BestowTest is now fully passed! Now to fix the other tests that don't anymore... 2018-08-25 04:43:38 -05:00
LevelX2
a40caf2840 * Covedted Jewel - Fixed triggered ability (fixes #5268). 2018-08-25 11:23:13 +02:00
Kevin Shin
e1bfd8a196 Permanents now detach all attachments when they change zones. Ready to test. 2018-08-25 03:57:43 -05:00
Oleg Agafonov
c34c13f7b7 * Fixed battlebond boosters (sometime it's can gen wrong booster without partners/cards) 2018-08-25 07:49:32 +04:00
Oleg Agafonov
4f7cfc852d
Revert "Fixes abilities that may target either opponents or planeswalkers" 2018-08-25 05:14:24 +04:00
Oleg Agafonov
924504d183
Merge pull request #5255 from kevinwshin/FixTargetOpponentOrPlaneswalker5252
Fixes abilities that may target either opponents or planeswalkers
2018-08-25 04:58:03 +04:00
Kevin Shin
1ed13f8bd8 Copy effects now properly attach copied auras to permanents. #5234 #2135 2018-08-22 23:38:49 -05:00
Kevin Shin
268b1748cc Fixes abilities that may target either opponents or planeswalkers to properly check if a player is an opponent. #5252 2018-08-22 04:46:32 -05:00
Piotr Szczepanski
ec7454d888 Commanders can be other types than a creature.
Commanders do not have to be creatures. They can also be Planeswalkers (Commander 2015, Commander 2018), but also can be other types (e.g. lands when enchanted by Song of the Dryads or Imprisoned in the Moon).
2018-08-20 12:37:53 +02:00
Oleg Agafonov
dba037858c * Fixed broken download images with Fourth Edition set; 2018-08-15 14:47:11 +04:00
LevelX2
deb675a74a Xmage 1.4.30V0 2018-08-15 11:35:40 +02:00
LevelX2
b96d6e12af Added some exception handling. 2018-08-15 11:28:13 +02:00
LevelX2
2429425fd2 Merge origin/master
Conflicts:
	Mage.Sets/src/mage/cards/s/SalvageTrader.java
	Mage.Sets/src/mage/cards/t/ThermalDetonator.java
2018-08-15 10:51:21 +02:00
LevelX2
9545ab055d Moved predicate to framework. 2018-08-15 10:47:31 +02:00
LevelX2
dbb25c8683
Merge pull request #5202 from credman0/PhasedOutRemoveFromCombatFix
Fixed phased out creatures not removed from combat (#5200)
2018-08-15 08:17:58 +02:00
LevelX2
6712e50146
Merge pull request #5196 from credman0/EmissaryOfGrudges
Implemented Emissary of Grudges
2018-08-15 08:17:16 +02:00
LevelX2
e516430aad
Merge pull request #5187 from jesusjbr/master
Xantcha, Sleeper Agent implemented.
2018-08-15 08:14:07 +02:00
LevelX2
94e265f396
Merge pull request #5185 from credman0/master
Aminatou, the Fate Shifter minor fix - can be commander and author info
2018-08-15 08:13:43 +02:00
LevelX2
8e040841a9
Merge pull request #5182 from Dilnu/Spell
Add methods to get information about potential spells.
2018-08-15 08:11:49 +02:00
LevelX2
6e242fb11f
Merge pull request #5178 from magefree/yuriko
Implemented Yuriko, the Tiger's Shadow
2018-08-15 08:09:40 +02:00
LevelX2
a30ed4fee5
Merge pull request #5157 from ninthworld/master
Add Star Wars Expansion sets to the Star Wars set
2018-08-15 08:09:19 +02:00
LevelX2
fa13786fab
Merge pull request #5053 from Sedictious/Battlebond_Boos
Fix Battlebond Partner distribution
2018-08-15 08:09:03 +02:00
dilnu
973c2a08e3 Remove an extra incorrect check in ArtifactSourcePredicate 2018-08-14 23:45:08 -04:00
Oleg Agafonov
593df43758 Refactoring: replace custom creature tokens with basic class (1 card);
Added blink test;
2018-08-15 06:47:33 +04:00
Oleg Agafonov
3da2f98eac Fixed predicate refactor at #5161;
* Interdict, Ouphe Vandals - fixed that it catch triggered + activated, but must only activated;
2018-08-15 06:29:06 +04:00
Samuel Sandeen
a94dbe1c9d
Fix a bug with Tawnos Urza's Apprentice caught by the predicate refactor (#5220) 2018-08-14 22:22:48 -04:00
Oleg Agafonov
a68667e582
Merge pull request #5161 from Dilnu/Kindred
Make the type checking on predicates added to filters stricter
2018-08-15 04:41:27 +04:00
quercitron
db2db4c27a
Merge pull request #5212 from magefree/5189-recast-spells-keep-their-previous-targets
Fix that cards that are cast using alternative cost effects keep their previous targets
2018-08-11 02:48:07 +03:00
Quercitron
e3a33e5894 Fix that cards that are cast using alternative cost effects keep their previous targets (#5189) - Always copy ability on cast. 2018-08-10 02:54:50 +03:00
Colin Redman
9adfa96667 Fixed phased out creatures not removed from combat (#5200) 2018-08-05 17:13:42 -06:00
dilnu
3e0a92fed8 Fix a typo 2018-08-04 22:42:22 -04:00
Colin Redman
18097e1248 Implemented Emissary of Grudges
Moved Leonin Stalker ability and cost to common classes
2018-08-03 00:29:44 -06:00
jesusjbr
f4515efe41 Xantcha, Sleeper Agent implemented.
Added a new effect (LoseLifePermanentControllerEffect).
2018-08-02 14:03:33 +02:00
ninthworld
2a2df685a9 Merge branch 'master' of https://github.com/magefree/mage.git 2018-08-01 18:40:58 -07:00
credman0
618070a848
Reverted 7092d16c5d
It busted the AI
2018-08-01 17:46:02 -06:00
Colin Redman
7092d16c5d Fixed color identity interaction with special cases IE Transguild Courier 2018-08-01 17:27:56 -06:00
Colin Redman
0fa4c2d324 Implemented Aminatou, the Fateshifter 2018-08-01 05:33:51 -06:00
Chatziargyriou Eleftheria
2731897add
Update ExpansionSet.java 2018-07-31 17:24:20 +03:00
Chatziargyriou Eleftheria
da383dbecc
Update ExpansionSet.java 2018-07-31 17:17:58 +03:00
Chatziargyriou Eleftheria
17cd5792d4
Update ExpansionSet.java 2018-07-31 17:09:56 +03:00
Chatziargyriou Eleftheria
197020b162
Merge branch 'master' into Battlebond_Boos 2018-07-31 17:02:11 +03:00
Evan Kranzler
ef38467326 Implemented Estrid, the Masked 2018-07-29 22:55:28 -04:00
dilnu
339779c8bd Add methods to get information about spells that have not yet been cast. 2018-07-29 11:22:41 -04:00
Samuel Sandeen
e5c1dfc4b7
Refactor ControlledCreaturesDealCombatDamagePlayerTriggeredAbility. (#5163)
It now triggers once for each player damaged.

Fixes https://github.com/magefree/mage/issues/5162
2018-07-29 08:16:07 -04:00
Samuel Sandeen
14520097a5
Fix issues with the ChosenSubtypePredicate and clone effects. (#5164)
Update ChosenSubtypePredicate to be an ObjectPlayer predicate. This fixes how cards that use it act when cloned.

Fixes https://github.com/magefree/mage/issues/5136
2018-07-29 07:44:19 -04:00
Samuel Sandeen
a164dad83f
Fix issues with Clone and Metallic Mimic (#5160)
Fix bugs with Metallic Mimic and Adaptive Automaton and clone effects.

Metallic Mimic and Adaptive Automaton were both using the technically correct EnterEventType specifier for their as enters the battlefield abilities. Despite it being technically correct this meant that their ability didn't trigger if they were cloned.

Additionally EnterAttributeAddChosenSubtypeEffect changed the subtype of the base object which meant that clones entered in with the chosen subtype of the original.
2018-07-29 07:40:48 -04:00
Samuel Sandeen
3875f42bac
Refactor addCounters to fix bugs in edge cases. (#5154)
Add code to check the controller of abilities on the stack instead of the controller of their source card or object.

This fixes https://github.com/magefree/mage/issues/5152
2018-07-29 07:31:59 -04:00
Evan Kranzler
95f375316b Implemented Yurikp, the Tiger's Shadow 2018-07-28 21:48:29 -04:00
Evan Kranzler
db6211cd20 Implemented Saheeli, the Gifted 2018-07-28 16:25:39 -04:00
Will Hall
76d0baa792 Implemented Gyrus, Waker of Corpses 2018-07-27 18:38:36 -07:00
spjspj
f58e33524d Implement 1 card C18 2018-07-27 18:53:34 +10:00
Evan Kranzler
2a6181b67a Implemeted Lord Windgrace 2018-07-25 15:45:56 -04:00
Evan Kranzler
91244c09dc Implemented Kestia, the Cultivator 2018-07-25 12:58:19 -04:00
Evan Kranzler
7c6dfe3e56 Implemented Octopus Umbra 2018-07-25 12:39:06 -04:00
Evan Kranzler
41fce60eee Implemented Nesting Dragon 2018-07-24 20:45:45 -04:00
Quercitron
79120e7484 Make color distribution in booster more uniform 2018-07-25 02:46:31 +03:00
Evan Kranzler
2d23d5c84e Implemented Echo Storm 2018-07-24 17:10:13 -04:00
ninthworld
19d1ff2657 Merge remote-tracking branch 'upstream/master' 2018-07-23 16:09:53 -07:00
Evan Kranzler
452a525194 fixed Silverclad Ferocidons (and likely other cards) allowing players to sacrifice creatures they don't control (fixes #5166) 2018-07-23 17:42:03 -04:00
Evan Kranzler
fdf8c99d8a Implemented Retrofitter Foundry 2018-07-23 15:59:47 -04:00
dilnu
a8cd19eaea Make the type checking on predicates added to filters stricter to make runtime errors less likely. 2018-07-22 11:27:24 -04:00
ninthworld
8dfb5f913d Merge branch 'master' of https://github.com/magefree/mage
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2018-07-20 22:11:49 -07:00
dilnu
e1fc060755 Don't count players who have lost or left the game as having lost life.
Fixes https://github.com/magefree/mage/issues/5153
2018-07-18 21:07:23 -04:00
ninthworld
86107de54e Merge remote-tracking branch 'upstream/master'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2018-07-16 21:16:20 -07:00
ninthworld
f31bfa829e add Star Wars expansion sets to the Star Wars set 2018-07-16 20:55:05 -07:00
Evan Kranzler
d8a3a408df fixed Vivien Reid's first ability not putting cards back in a random order 2018-07-16 10:47:28 -04:00
igoudt
877a355a7d rewrite some code to streams 2018-07-15 20:50:26 +02:00
Evan Kranzler
c743906557 fixed instances of life gain being life loss with negative numbers (fixes #5149) 2018-07-14 16:50:44 -04:00
LevelX2
0d9f8ad19a
Merge pull request #4993 from Zzooouhh/Zzooouhh-woc
Implemented Word of Command (presumably buggy)
2018-07-14 10:40:38 +02:00
LevelX2
c29bb86ea0
Merge pull request #5131 from NoahGleason/thick-skinned-goblin
Implement Thick-Skinned Goblin
2018-07-14 10:40:10 +02:00
LevelX2
a3c4c2365d
Merge pull request #5119 from NoahGleason/M19-oracle-changes
M19 oracle changes
2018-07-14 10:39:50 +02:00
LevelX2
0f615d49fa
Merge branch 'master' into orcish-mine 2018-07-14 10:32:05 +02:00
LevelX2
2cdd835ab5
Merge pull request #5108 from NoahGleason/shape-of-the-wiitigo
Implement Shape of the Wiitigo
2018-07-14 10:28:05 +02:00
LevelX2
117ca40014
Merge pull request #5107 from NoahGleason/balduvian-fallen
Implement Balduvian Fallen
2018-07-14 10:27:54 +02:00
LevelX2
1e2d269086
Merge pull request #5098 from NoahGleason/swift-silence
Implement Swift Silence
2018-07-14 10:27:19 +02:00
LevelX2
6912a8c5b0
Merge pull request #5094 from NoahGleason/rakdos-augermage
Implement Rakdos Augermage
2018-07-14 10:26:39 +02:00
LevelX2
ef8b895d5b
Merge pull request #5093 from NoahGleason/nightcreep
Implement Nightcreep
2018-07-14 10:26:24 +02:00
LevelX2
484d981c81
Merge pull request #5082 from NoahGleason/Aetherplasm
Implement Aetherplasm
2018-07-14 10:17:36 +02:00
LevelX2
556944f312
Merge pull request #5078 from NoahGleason/keeper-of-the-beasts
Implement Keeper of the Beasts
2018-07-14 10:13:05 +02:00
Noah Gleason
3272e90bdb
Merge pull request #5141 from NoahGleason/molten-firebird
Implement Molten Firebird and Ivory Gargoyle
2018-07-14 00:40:49 -04:00
Evan Kranzler
0ad86ff530 fixed Ajani's Last Stand token name (fixes #5147) 2018-07-13 14:08:19 -04:00
Noah Gleason
c372d93f66
Implement Molten Firebird and Ivory Gargoyle 2018-07-10 23:00:27 -04:00
Noah Gleason
9108104fe5
Implement Predatory Focus 2018-07-09 22:21:40 -04:00
igoudt
6dce0c26f3 fix some his or her to their 2018-07-09 21:25:04 +02:00
igoudt
c456a1961e add more isActivePlayer and isAttachedTo calls 2018-07-09 21:25:04 +02:00
Noah Gleason
c91e56b937
Fix Rite of Belzenlok token not damaging its controller 2018-07-08 22:01:37 -04:00
Noah Gleason
bad82d62ba
Implement Thick-Skinned Goblin 2018-07-08 21:55:17 -04:00
ingmargoudt
e86791cf44
Merge pull request #5112 from NoahGleason/aetherflame-wall
Implement Aetherflame Wall
2018-07-08 22:28:11 +02:00
igoudt
d6450eed94 change enum comparison 2018-07-08 13:11:39 +02:00
Quercitron
36c004122a Fix dual lands generation in the Core Set 2019 boosters 2018-07-08 01:19:49 +03:00
Noah Gleason
0ab7345fa3
Update wording (nonfunctional) 2018-07-06 20:21:17 -04:00
Evan Kranzler
d7914bca44 fixed Tezzeret, Artifice Master emblem not triggering 2018-07-06 09:46:59 -04:00
Evan Kranzler
c169f07833 fixed Ajani, Adversary of Tyrants emblem not triggereding (fixes #5115) 2018-07-06 09:20:29 -04:00
Noah Gleason
1f7c7e90b2
Implement Aetherflame Wall 2018-07-05 21:35:56 -04:00
Evan Kranzler
6c000d9177 fixed Rowan Kenrith emblem not triggering (fixes #5109) 2018-07-04 22:59:32 -04:00
Noah Gleason
258384fae7
Implement Shape of the Wiitigo 2018-07-04 11:31:03 -04:00
Noah Gleason
4bfc132f29
Implement Balduvian Fallen 2018-07-04 10:25:49 -04:00
igoudt
9f06046f22 add isOwned and isControlled methods. remove some null-checks, remove some unnecessary casts 2018-07-04 14:24:11 +02:00
Noah Gleason
3d79890e9a
Implement Swift Silence 2018-07-01 19:03:47 -04:00
Noah Gleason
147a3cf91d
Implement Rakdos Augermage 2018-07-01 15:39:19 -04:00
Noah Gleason
1575d8282c
Implement Nightcreep 2018-07-01 10:58:25 -04:00
Noah Gleason
174588e343
Implement Aetherplasm 2018-06-29 20:47:11 -04:00
igoudt
dcb1affb9d use isActivePlayer where possible, some minor text fixes 2018-06-29 21:18:05 +02:00
igoudt
ca1ebeb55e add method Game.isActivePlayer(UUID playerId) 2018-06-29 14:59:11 +02:00
Evan Kranzler
2b78716a1b fixed Young Pyromancer text 2018-06-28 09:06:51 -04:00
Noah Gleason
e2da104d6d
Implement Keeper of the Beasts 2018-06-27 22:02:53 -04:00
Noah Gleason
cf571122ea
Allow activating equip ability 2018-06-25 22:36:49 -04:00
Noah Gleason
324ff4a3b8
Implement Serra Inquisitors 2018-06-25 21:58:26 -04:00
Evan Kranzler
8b37c778f0 fixed Rush of Knowledge counting all permanents (fixes #5069) 2018-06-25 08:26:28 -04:00
theelk801
b1be4ad7d5
Merge branch 'master' into giant-oyster 2018-06-24 22:24:25 -04:00
theelk801
355a3ab281
Merge pull request #5063 from NoahGleason/jovens-ferrets
Implement Joven's Ferrets
2018-06-24 21:53:40 -04:00
Evan Kranzler
087e58383a fixed Alpine Moon causing a rollback 2018-06-24 21:27:10 -04:00
Noah Gleason
8949987b78
Add ConditionalTriggeredAbility for non-intervening0f 2018-06-24 20:02:40 -04:00
Noah Gleason
37e800a7dd
Update Voice of Resurgence 2018-06-24 16:55:15 -04:00
LevelX2
ca21f32009 Xmage 1.4.30V6 2018-06-24 21:26:52 +02:00
Noah Gleason
6a2ad691d4
Fix OrTriggeredAbility hang 2018-06-24 13:51:02 -04:00
LevelX2
99cfd86533 * Some more fixes for ManaOptions #5023 2018-06-24 18:11:17 +02:00
Noah Gleason
6ee4d4a217
Override Ability setters 2018-06-24 10:51:48 -04:00
Noah Gleason
65d67d48fd
Start implementing OrTriggeredAbility 2018-06-23 23:57:04 -04:00
theelk801
235974f21a
Merge pull request #5067 from NoahGleason/delirium
Implement Delirium
2018-06-23 21:43:57 -04:00
Evan Kranzler
c637857480 Added null detection to MageObjectReference 2018-06-23 21:39:36 -04:00
Noah Gleason
39ec630c45
Implement Orcish Mine 2018-06-23 19:42:19 -04:00
LevelX2
da92cd745e * Some rework/fixes/optimizations of calculation of available mana. 2018-06-24 01:27:42 +02:00
LevelX2
fdddbbbbe6 * Some rework/fixes/optimizations of calculation of available mana. 2018-06-24 01:23:49 +02:00
Noah Gleason
b97719fbb6
Add Delirium, not recognized as a card 2018-06-23 17:30:57 -04:00
theelk801
c4d9bfe554
Merge pull request #5047 from NoahGleason/mourners-shield
Implement Mourner's Shield
2018-06-23 13:38:06 -04:00
Noah Gleason
c78cbc40eb
Fix Heat Stroke 2018-06-23 11:11:35 -04:00
theelk801
42354c1583
Merge pull request #5049 from NoahGleason/neurok-transmuter
Implement Neurok Transmuter
2018-06-22 17:57:45 -04:00
Noah Gleason
f7e7db4edc
Fully implement Giant Oyster 2018-06-22 15:54:31 -04:00
Chatziargyriou Eleftheria
25d7f9c83b
Update ExpansionSet.java 2018-06-22 20:09:36 +03:00
Chatziargyriou Eleftheria
f980224239
Update ExpansionSet.java 2018-06-22 19:22:57 +03:00
Chatziargyriou Eleftheria
d754410934
Add booster generator for Battlebond packs 2018-06-22 18:57:13 +03:00
Evan Kranzler
266a7cdb85 Implemented Transmogrifying Wand 2018-06-22 08:44:15 -04:00
Evan Kranzler
592362a258 Implemented Tezzeret, Artifice Master 2018-06-21 22:59:29 -04:00
Evan Kranzler
36e5bd3a1d Implemented Thorn Lieutenant 2018-06-21 19:59:26 -04:00
LevelX2
e04c132dfe Xmage 1.4.30V5 2018-06-21 23:13:17 +02:00
LevelX2
46d61a1ebc Fixed some possible exceptions. 2018-06-21 22:49:15 +02:00
LevelX2
083d4cee6d Fixed possible static filter manipulation. 2018-06-21 22:33:02 +02:00
Evan Kranzler
36c0e35035 Implemented Leonin Vanguard 2018-06-21 15:34:05 -04:00
Noah Gleason
9b68e0860b
Implement Neurok Transmuter 2018-06-21 15:29:17 -04:00
Evan Kranzler
2b2f3b6e01 Updated "this spell" wordings 2018-06-21 12:32:25 -04:00
LevelX2
cd8e038679 * Changes for netMana null handling #5023. 2018-06-21 16:27:05 +02:00
Evan Kranzler
db07686008 Implemented Departed Deckhand 2018-06-21 08:37:18 -04:00
Noah Gleason
6a2eda0146
Implement Mourner's Shield 2018-06-20 23:11:07 -04:00
Evan Kranzler
9c7fc43737 Implemented One with the Machine 2018-06-20 16:26:55 -04:00
Evan Kranzler
d9dfef24ce updated "can't be countered" text 2018-06-20 11:21:06 -04:00
Evan Kranzler
b90426c6b7 Implemented Amulet of Safekeeping 2018-06-19 22:45:04 -04:00
Evan Kranzler
b7169d7097 Implemented Chromium, the Mutable 2018-06-19 17:10:20 -04:00
Evan Kranzler
8c01cd72f9 Lightning Mare 2018-06-19 16:48:44 -04:00
Evan Kranzler
8116f1365e Implemented Alpine Moon 2018-06-19 13:32:15 -04:00
LevelX2
74b126c940 * Tinder Wall - Fixed it's damage dealing ability always fizzles (fixes #5005). 2018-06-19 17:35:53 +02:00
theelk801
cdf8f615e3
Merge pull request #5032 from NoahGleason/saproling-infestation
Implement Saproling Infestation (INV)
2018-06-18 23:09:53 -04:00
Evan Kranzler
f77c9bc112 Implemented Ajani's Last Stand 2018-06-18 22:14:39 -04:00
Evan Kranzler
31edc76871 Implemented Resplendent Angel 2018-06-18 21:06:09 -04:00
Noah Gleason
c3b9d55e98
Add Kicker Event 2018-06-18 10:52:23 -04:00
Evan Kranzler
f55d0e6706 Implemented Ajani, Adversary of Tyrants 2018-06-16 21:39:34 -04:00
Evan Kranzler
d35d6f48b2 Implemented Arisen Gorgon 2018-06-15 18:30:08 -04:00
Evan Kranzler
750a655dcb fixed Teferi, Hero of Dominaria allowing players to skip untap 2018-06-14 13:57:13 -04:00
Evan Kranzler
a7738a1912 fixed Malfegor overwriting a static filter 2018-06-14 08:08:22 -04:00
Evan Kranzler
0a635ac341 fixed implementation of Tetravus to allow for multiple counters/tokens in a single turn
The tokens were also incorrectly implemented
2018-06-13 20:58:31 -04:00
Evan Kranzler
a0fbeebf4e Implemented Vivien Reid 2018-06-11 21:28:43 -04:00
Evan Kranzler
1f1b65aecd Implemented Marauder's Axe 2018-06-11 20:24:02 -04:00
Evan Kranzler
19768424c1 Implemented Aven Wind Mage 2018-06-11 19:43:23 -04:00
Evan Kranzler
f8d274d7cd fixed entering tapped abilities not working correctly (fixes #5010,) 2018-06-10 20:42:22 -04:00
LevelX2
6b22afd18a GameState: Reduced null pointer exception probablity for getTriggered. 2018-06-10 21:58:35 +02:00
L_J
45243378cf
Fixed Gorm requiring a blocker from another player (fixes #5025) 2018-06-10 12:40:51 +00:00
LevelX2
99864ccf5b * Fixed a problem that tapped for mana event was sent twice (fixes problem of 2 created spirits for Forbidden Orchard). 2018-06-10 10:28:00 +02:00
LevelX2
174e3794fb XMage 1.3.30V4 2018-06-10 08:00:17 +02:00
Evan Kranzler
3dcfa773e0 Implemented Marble Priest 2018-06-10 00:01:25 -04:00
Evan Kranzler
4e3961a819 Updated some targets and filters 2018-06-09 14:51:07 -04:00
LevelX2
372ba795d2 * Board the Weatherlight - Fixed that the cards left were not returned in random order. 2018-06-09 17:15:01 +02:00
LevelX2
717308ba12 * Fixed that commanders of players were not removed if a player left a game. Fixed a problem that continuous effects of objects of players that left the game were not removed immediately. 2018-06-09 14:10:48 +02:00
L_J
3e180267ed
Word of Command & Mindslaver interaction fixes 2018-06-08 20:22:25 +02:00
Evan Kranzler
3659a2dc0b Implemented Journey for the Elixir 2018-06-08 13:22:23 -04:00
Evan Kranzler
1c2f384bcc Implemented Reckless Pangolin 2018-06-07 23:07:03 -04:00
Michael Simons
d5ad543583 Merge remote-tracking branch 'origin/master' 2018-06-07 22:41:40 -04:00
Michael Simons
4d5018bef0 Fixed typos/misspellings based on IntelliJ's suggestions. 2018-06-07 22:39:53 -04:00
L_J
5fa69cb8a9
More X cost rollback related fixes 2018-06-07 15:41:47 +00:00
L_J
323894118b
Fixed X costs not being properly reset with Word of Command rollback 2018-06-07 16:49:10 +02:00
Evan Kranzler
5ba0717086 Implemented Bogardan Phoenix 2018-06-07 08:49:41 -04:00
Evan Kranzler
c4ce367c56 Fixed Rowan Kenrith emblem (should have used Rings of Brighthearth from the start) 2018-06-07 08:39:02 -04:00
L_J
d19ca838ca
Implemented castability check for Word of Command 2018-06-07 05:37:22 +02:00
Evan Kranzler
c4a0d9f916 replaced apostrophes 2018-06-06 22:39:16 -04:00
LevelX2
1ed85cef4d Merge origin/master 2018-06-06 23:50:03 +02:00
LevelX2
80a6057980 XMage 1.4.30V3 2018-06-06 23:49:27 +02:00
Plopman
cd6a847db7 Fix some BBD card text 2018-06-06 23:23:55 +02:00
Evan Kranzler
2662fa7799 Updated wordings and refactored class name for effects which prompt the player to choose a card name 2018-06-06 15:30:16 -04:00
Evan Kranzler
d2e8016a10 Implemented Desperate Research 2018-06-06 13:59:35 -04:00
Evan Kranzler
aa3c860e23 Implemented Bazaar of Wonders 2018-06-05 18:18:36 -04:00
LevelX2
df341bd0d6 * Fixed some mana handling problems of conditionalMana (GemstoneCavern) and possible exception of ChromeMox.Fixed some tests. 2018-06-05 23:59:39 +02:00
LevelX2
0051f70b8a * Fixed some possible exceptions. 2018-06-05 23:57:45 +02:00
LevelX2
2e72503b8c * Fix of condtitional mana effect (not completed yet). 2018-06-05 18:12:31 +02:00
Evan Kranzler
ceecd90347 Updated how locked filters are handled (#4984) 2018-06-05 12:09:40 -04:00
Evan Kranzler
3dfa2943d4 fixed effects which prevent damage divided among several targets 2018-06-05 09:26:03 -04:00
L_J
12c30f0227
Fixed an issue with mustBlockAttackerIfElseUnblocked
if more than one mustBlockAttackerIfElseUnblocked attacker is attacking and both have different minNumberOfBlockers values
2018-06-04 21:15:00 +00:00
L_J
8556285f0c
Implemented Gorm the Great 2018-06-04 23:00:44 +02:00
L_J
cb7c222eb9
Fixed various Word of Command bugs, implemented mana pool restore methods 2018-06-04 14:30:37 +02:00
Evan Kranzler
e2d14a6096 Implemented Cinder Crawler 2018-06-03 20:47:59 -04:00
L_J
9a5b574c0c
Added getCommandedBy method 2018-06-03 23:39:40 +00:00
L_J
492c5ab63e
Improved Word of Command turn control handling 2018-06-04 01:32:17 +02:00
Evan Kranzler
c5f5afb7e8 Implemented Metathran Aerostat 2018-06-03 18:26:45 -04:00
LevelX2
397a6ccfc4 * Grafted Exoskeleton - Fixed that if it left the battlefield it doesn't sacrifice its creature (fixes #4997). 2018-06-03 23:51:09 +02:00
L_J
b7c6afc66d
Merge branch 'master' into Zzooouhh-woc 2018-06-03 20:36:27 +02:00
L_J
6972aab50e
Improved forcedToPay handling 2018-06-03 20:25:30 +02:00
LevelX2
8cbae58432 Merge origin/master 2018-06-03 18:39:21 +02:00
LevelX2
46da34da78 * Fixed a problem of Gideon Jura +2 ability introduced with 1be4379(fixes) #4994. 2018-06-03 18:38:53 +02:00
Evan Kranzler
45aedd6027 Implemented Shimmering Efreet 2018-06-03 11:27:47 -04:00
LevelX2
961860107e * Fixed a problem of net mana of activated mana abilities. Added netMana Handling for FoofChain. 2018-06-03 12:10:58 +02:00
L_J
7cc313bc43
Implemented "force pay mana" for Word of Command 2018-06-03 11:20:46 +02:00
LevelX2
b17858d910 Some fixes to "Remove license headers" (#4998). 2018-06-03 10:18:30 +02:00
LevelX2
36a9e12bfc
Merge pull request #4998 from magefree/remove-license-headers
Remove license headers
2018-06-03 08:48:22 +02:00
Evan Kranzler
ab0bf76b62 Implemented Barbed Foliage 2018-06-02 23:34:59 -04:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
L_J
d7da3930b6
Implemented Word of Command 2018-06-01 21:13:20 +02:00
Evan Kranzler
eadd9d61d5 fixed Dack Fayden emblem not using all targets from modal spells 2018-06-01 13:20:51 -04:00
L_J
8a2874dec6
Mindslaver text fix 2018-06-01 15:10:59 +00:00
L_J
785c43e0f7
Mindslaver text fix 2018-06-01 15:09:45 +00:00
Evan Kranzler
ab3cd76d3e Fixed various potential null pointer exceptions 2018-05-31 21:03:40 -04:00
spjspj
735a7cebb3 Merge branch 'master' of https://github.com/spjspj/mage 2018-05-31 23:15:27 +10:00
spjspj
bb5d601ff4 New plane (Panopticon) with 'PW to' ability checked 2018-05-31 23:14:56 +10:00
LevelX2
e4a9604086 XMage 1.4.30V2 2018-05-31 14:16:23 +02:00
LevelX2
a46b6eadd5 * Some minor changes. 2018-05-31 14:16:07 +02:00
LevelX2
58d618e8d7 * Used some default code to get opponents for Game classes. 2018-05-31 12:52:05 +02:00
LevelX2
b6f7efe5e9 * Fixed a problem with Dash not giving Haste to the creature beginning with the second use of Dash (fixes #4985). 2018-05-30 16:51:59 +02:00
Evan Kranzler
84c1423990 fixed Time of Ice not keeping things tapped. 2018-05-29 19:46:02 -04:00
Evan Kranzler
9372c13cfb small fix 2018-05-29 12:35:41 -04:00
Evan Kranzler
e1aa40cbf7 Fixed counter replacement effects with Doubling Season and Pir, Imaginative Rascal 2018-05-29 12:31:11 -04:00
LevelX2
e7a5fd9979
Merge branch 'master' into changeToFinal 2018-05-29 00:06:56 +02:00
Evan Kranzler
c8d58efa7f Fixed effects that use opponents' life loss, including Rakdos, Lord of Riots and Neheb the Eternal 2018-05-28 15:53:46 -04:00
Evan Kranzler
2f0f71d3e9 Fixed some errors from b28bf51, did some refactoring 2018-05-28 15:11:00 -04:00
Evan Kranzler
a21496ef5f Fixed Will Kenrith first ability duration and second ability not working 2018-05-28 14:08:13 -04:00
LevelX2
1f522f874a xmage 1.4.30V1 2018-05-27 23:55:25 +02:00
LevelX2
27ced167fb * Added logic to add permitting object to play/cast events. 2018-05-27 23:47:57 +02:00
Evan Kranzler
c7ba717453 Fixed colorless commanders not being able to use a single type of basic land (fixes #4973) 2018-05-27 13:06:26 -04:00
Evan Kranzler
b5036e519c Implemented Bonus Round 2018-05-27 11:27:43 -04:00
Evan Kranzler
c7f57d8c68 Fixed implementation of team-controlled effects 2018-05-27 10:40:57 -04:00
LevelX2
a19c257e50 XMage 1.4.30V0 2018-05-27 01:28:42 +02:00
LevelX2
74806f73d7 Merge origin/master 2018-05-27 01:02:04 +02:00
LevelX2
cfe712efc6 XMage 1.4.29V5 2018-05-27 01:00:55 +02:00
Evan Kranzler
21e834a5a1 Implemented Zndrsplt's Judgment 2018-05-26 18:51:49 -04:00
LevelX2
66cc29325c * Some fixes to some Battleebond cards. 2018-05-27 00:41:53 +02:00
LevelX2
16dc022018 Merge origin/master 2018-05-26 22:41:25 +02:00
LevelX2
b28bf51c02 * Reworked some more card movement handling (#4866). 2018-05-26 22:39:20 +02:00
Evan Kranzler
93d014a502 Implemented Azra Bladeseeker 2018-05-26 15:50:30 -04:00
Evan Kranzler
07886811f0 Merge branch 'master' of https://github.com/magefree/mage 2018-05-25 19:37:56 -04:00
Evan Kranzler
ac6c68180a Replaced more mana pool errata 2018-05-25 19:37:54 -04:00
LevelX2
fcc6174e5e Some null exceptions checking and fixed some other minor problems. 2018-05-26 01:22:28 +02:00
Evan Kranzler
038fe5e5fc Implemented Azra Oddsmaker 2018-05-25 09:32:22 -04:00
Evan Kranzler
8fb03574e6 Implemented Game Plan, added new class for Timetwister effects 2018-05-24 11:55:00 -04:00
Evan Kranzler
728a881f06 Implemented Play of the Game 2018-05-24 11:34:31 -04:00
emerald000
e8e6852983 [BBD] Implemented Assist ability and a card using it (Charging Binox). 2018-05-24 00:38:37 -04:00
Evan Kranzler
162d061e06 Implemented Zndrsplt, Eye of Wisdom 2018-05-23 20:17:39 -04:00
Evan Kranzler
a4a4cf7bd5 Implemented Last One Standing 2018-05-23 14:09:37 -04:00
Evan Kranzler
544563ae8b Implemented Pir's Whim
Also added an object for choosing friend or foe
2018-05-23 11:57:49 -04:00
Evan Kranzler
725adb1a25 Implemented Rushblade Commander 2018-05-22 10:13:14 -04:00
Evan Kranzler
8b15be9bf0 Implemented Rowan Kenrith 2018-05-21 20:37:17 -04:00
Evan Kranzler
d645c1a5d8 Implemented Will Kenrith 2018-05-21 19:59:17 -04:00
Evan Kranzler
636b35ae39 small change to Partner with ability 2018-05-21 15:53:06 -04:00
Evan Kranzler
bd96d30b3d Implemented Partners With ability 2018-05-21 15:12:31 -04:00
Evan Kranzler
3d749ba8e7 Changed all Token classes to final
had to make a few changes
2018-05-21 11:12:28 -04:00
LevelX2
3972695428 * Some changes to improve mana use of AI. 2018-05-21 11:50:49 +02:00
LevelX2
f7031ccdbe
Merge pull request #4950 from Zzooouhh/Zzooouhh-combat
Combat fixes for Propaganda and Lure effects
2018-05-20 10:58:33 +02:00
Evan Kranzler
1720b17ebe Fixed Dark Impostor not properly gaining abilities (fixes #4938) 2018-05-19 18:13:51 -04:00
Evan Kranzler
01fb64367e Fixed Godo, Bandit Warlord copies not untapping themselves (fixes #4827)
Reworked the trigger, also affects Aurelia, the Warleader
2018-05-19 17:39:20 -04:00
L_J
a7d662d73e
Changes to menace & Lure interaction 2018-05-19 08:24:42 +00:00
L_J
1be4379cbd
Some combat fixes 2018-05-19 05:30:11 +00:00
L_J
0512558c60
Some combat fixes 2018-05-19 05:22:50 +00:00
L_J
865624eacd
Some combat fixes 2018-05-19 05:21:09 +00:00
Evan Kranzler
e8ee1fc4f9 Implemented Jiang Yanggu 2018-05-18 18:10:57 -04:00
Evan Kranzler
23f396f83d Implemented Mu Yanling 2018-05-18 14:13:16 -04:00
Evan Kranzler
082adcfc75 fixed battlebond land implementation 2018-05-18 12:04:24 -04:00
Evan Kranzler
54bd43b4f6 Implemented Battlebond dual lands 2018-05-18 11:58:53 -04:00
Evan Kranzler
d36d87eb15 fixed ninjutsu ability being usable after blockers have been removed 2018-05-17 15:41:11 -04:00
Oleg Agafonov
9d0aff8395 AI: fixed outcome for lose ability effect 2018-05-17 19:32:47 +04:00
theelk801
93b57033b9
Merge pull request #4943 from magefree/master
merge
2018-05-16 09:21:36 -04:00
LevelX2
049a578f37
Merge pull request #4935 from magefree/rystan-fix-horn
Fix for Herald's Horn's spell reduction
2018-05-15 18:04:24 +02:00
LevelX2
e2f22d3bc9 Reworked some card movement handling (#4866). 2018-05-15 17:56:55 +02:00
Evan Kranzler
ac97e4c600 fixed Sagas being sacrificed before their trigger has left the stack 2018-05-14 17:36:41 -04:00
theelk801
fbde510bac
Merge pull request #4940 from magefree/master
merge
2018-05-14 14:08:30 -04:00
Evan Kranzler
342b4486e8 fixed Damping Sphere not reducing sources of conditional mana (such as Eldrazi Temple and Mishra's Workshop) 2018-05-14 13:53:09 -04:00
Evan Kranzler
40ff146764 fixed Death's Shadow getting bigger from negative life totals (no longer how the rules work) 2018-05-14 11:39:27 -04:00
Evan Kranzler
9a66f1713b refactored instances of various types of counters 2018-05-14 11:11:11 -04:00
Oleg Agafonov
ec4bee43d2 * Daxos's Torment - fixed that it can't get Vampire type from Mephidross Vampire; 2018-05-14 02:42:57 +04:00
Oleg Agafonov
4851ba9e84 Test framework: added commands for real time checks/assertions:
* new checks: color, subtype, ability, PT, permanent and hand count;
 * more info in #4936;
2018-05-14 02:31:19 +04:00
LevelX2
f30c0a7054 Merge origin/master 2018-05-13 22:52:40 +02:00
LevelX2
21e5591e29 * Some rework of handling of mana effects. 2018-05-13 22:52:14 +02:00
Michael Simons
1c3fea2e3e
Fix for Herald's Horn's spell reduction
Correctly reduces chosen type of controlled spells again after change in last release.
As mentioned multiple times in #4895.
2018-05-13 00:23:07 -04:00
Oleg Agafonov
321f82a381 Refactoring: replace custom creature tokens with basic class (9 cards) 2018-05-11 21:58:45 +04:00
LevelX2
fe32fc7cc3 Merge origin/master 2018-05-11 00:52:28 +02:00
LevelX2
75c8ee35f6 * Some more fixed/reworked card movement handling. 2018-05-11 00:52:09 +02:00
Oleg Agafonov
591de4d468 Refactoring: replace custom creature tokens with basic class (4 cards) 2018-05-10 14:03:44 +04:00
Oleg Agafonov
256dc94c80 * Fixed 10 cards with "all permanents becomes" effect that it revoke colors instead doesn't change that;
* Affected cards: Jolrael, Empress of Beasts, Life // Death, Living Lands, Living Plane, Natural Affinity, Natural Emergence, Nature's Revolt, Rude Awakening,
Sylvan Awakening, Thelonite Druid
2018-05-10 13:41:05 +04:00
Oleg Agafonov
cf421aba22 * Fixed deck import that can't recognize some cards with umlauts in name; 2018-05-10 11:46:21 +04:00
LevelX2
74f05d438f * Fixed that cast conditions of legendary sorceries were checked correctly if you cast a card owned by another player e.g. from exile (fixes #4921). 2018-05-10 08:55:10 +02:00
Michael Simons
f2f9661a91 Token image changes for DOM 2018-05-10 00:32:53 -04:00
Michael Simons
09e0877c1b Token image changes for DOM 2018-05-10 00:32:31 -04:00
Michael Simons
ae69f3ea69 Token image changes for DOM 2018-05-10 00:31:47 -04:00
Michael Simons
fc488e63a3 Token image changes for DOM 2018-05-10 00:31:25 -04:00
Michael Simons
63df286680 Token image changes for DOM 2018-05-10 00:30:50 -04:00
Michael Simons
8477a56c54 Token image changes for DOM 2018-05-10 00:30:27 -04:00
Michael Simons
801d2c39a4 Token image changes for DOM 2018-05-10 00:29:51 -04:00
Michael Simons
af31f86b10 Token image changes for DOM 2018-05-10 00:29:12 -04:00
Michael Simons
43d99b5caa Token image changes for DOM 2018-05-10 00:28:17 -04:00
Michael Simons
bc70a5e4ad Token image changes for DOM 2018-05-10 00:27:53 -04:00
Michael Simons
b773599614 Token image changes for DOM 2018-05-10 00:27:26 -04:00
Michael Simons
969bf282cd Merge dom_tokens 2018-05-09 23:33:10 -04:00
Michael Simons
c8d2c2f25f Token changes for C17 2018-05-09 22:12:56 -04:00
Michael Simons
5274436938 Token changes for C17 2018-05-09 22:12:46 -04:00
Michael Simons
d73b1c2987 Token changes for C17 2018-05-09 22:12:40 -04:00
Michael Simons
31419dbc76 Token changes for C17 2018-05-09 22:12:23 -04:00
Michael Simons
4a6cdbe560 Token changes for C17 2018-05-09 22:12:13 -04:00
Michael Simons
ba57aeb820 Token changes for C17 2018-05-09 22:12:06 -04:00
Michael Simons
b93bbb6e3c Token changes for C17 2018-05-09 22:11:56 -04:00
Michael Simons
849fb5a14a Token changes for C17 2018-05-09 22:11:50 -04:00
Michael Simons
fde9b1cda5 Token changes for C17 2018-05-09 22:11:40 -04:00
LevelX2
dcd3e7c039 * Some more fixed/reworked card movement handling. 2018-05-08 23:46:34 +02:00
LevelX2
df987049c0 * Fixed some card movement (fixes #4910). 2018-05-08 18:01:15 +02:00
LevelX2
48d0c6ec5e
Merge pull request #4882 from tcontis/master
Cephalid Snitch Torment
2018-05-07 00:53:17 +02:00
LevelX2
1ab3d24e7c
Merge pull request #4890 from Zzooouhh/master
Implemented old cards
2018-05-07 00:52:56 +02:00
LevelX2
8f06fd130a * Some formatting. 2018-05-07 00:48:41 +02:00
LevelX2
8afd51fa04 Merge origin/master 2018-05-07 00:45:05 +02:00
LevelX2
bb15176a84 * Fixed token ability (id handling) and token cardType (reset was not correctly done) handling (this fixed problems with copying Planeswalker with Helm of the Host). 2018-05-07 00:44:32 +02:00
Oleg Agafonov
721f37c5ae * Summon the Pack - fixed that it gives black color to cards (#4905); 2018-05-06 19:48:09 +04:00
Oleg Agafonov
72314a9512 * Fixed 8 cards with "becomes creature attached" effect that it adds colors instead replace it;
* Affected cards: Awaken the Ancient, Corrupted Zendikon, Crusher Zendikon, Deep Freeze, Guardian Zendikon, Living Terrain, Vastwood Zendikon, Wind Zendikon;
2018-05-06 19:07:45 +04:00
LevelX2
2b69f1a311 * Soul Ransom - Fixed handling of some rare cases (e.g. Vedalken Orrery in play using Boomerang and playing Soul Ransom again). 2018-05-06 09:43:47 +02:00
Oleg Agafonov
459ef9af94 Refactoring: added mana color check and fix 2018-05-06 00:48:16 +04:00
Evan Kranzler
7edcec0dc1 fixed ability word text formatting 2018-05-05 14:05:04 -04:00
Oleg Agafonov
69ba8cada4 Refactoring: replace custom creature tokens with basic class 2018-05-05 19:18:12 +04:00
Oleg Agafonov
7d8c9f5b13 Small fixes 2018-05-05 17:32:01 +04:00
Oleg Agafonov
578427a601 Refactoring: replace custom creature tokens with basic class 2018-05-05 17:25:33 +04:00
Oleg Agafonov
483853658b Refactoring: replace custom creature tokens with basic class 2018-05-05 14:37:24 +04:00
L_J
2fdfaa9138
Implemented Gauntlets of Chaos 2018-05-04 23:20:08 +02:00
LevelX2
a063889205 Merge origin/master 2018-05-03 01:33:39 +02:00
LevelX2
cddd81123b Some changes related to #4893. 2018-05-03 01:33:21 +02:00
Evan Kranzler
75bef57832 fixed Lich's Mastery preventing auto-win effects 2018-05-02 18:34:22 -04:00
Evan Kranzler
9b5b3afcb8 fixed Teferi, Hero of Dominaria's untap trigger 2018-05-02 17:42:41 -04:00
Oleg Agafonov
b6bad9ca96 * Fixed viewer's error on tokens show up (Mirage and other); Fixed some tokens. 2018-05-02 15:16:39 +04:00
spjspj
4b4d7989cd
Merge pull request #4879 from spjspj/master
Add planechase to new tournament window as well.
2018-05-02 18:31:59 +10:00
Oleg Agafonov
3549f958d4 Fixed NPE in Riptide Replicator and Volraths Laboratory tokens 2018-05-02 00:17:55 +04:00
L_J
58a829de0e
Implemented old cards 2018-05-01 02:07:45 +02:00
LevelX2
e767c79429 XMage 1.4.29V4 2018-05-01 01:20:52 +02:00
LevelX2
0ceb5fc88f * Drain Power - Improved conditonal mana handling. 2018-05-01 00:55:46 +02:00
LevelX2
940fe603c6 * Herald's Horn - Fixed that cast cost reduction was also applied to other players. 2018-04-30 23:15:48 +02:00
LevelX2
f27f32ec5e
Merge pull request #4880 from Zzooouhh/Zzooouhh-drain
Implemented Drain Power (with bugs)
2018-04-30 22:43:00 +02:00
LevelX2
dc91d6ff81 * Some updated to Psychic Battle handling. 2018-04-30 08:06:23 +02:00
spjspj
1dbffe70b5 Add planechase to tournaments 2018-04-29 23:47:08 +10:00
Thomas Contis
e2a5561a87 Began implementing Cephalid Snitch methods 2018-04-28 22:29:16 -04:00
Thomas Contis
24f6dc6031 Beginning of proper implementation of Cephalid Snitch Methods 2018-04-28 22:25:50 -04:00
Oleg Agafonov
c24ba742f6 Fixed equal or == errors -- 23 cards and more (see #4407) 2018-04-28 21:24:48 +04:00
L_J
4446adfadf
Made Mana#includesMana capable of comparing colorless to generic 2018-04-28 13:17:25 +00:00
LevelX2
15fa8fa124
Merge pull request #4803 from Zzooouhh/Zzooouhh-psy
Implemented Psychic Battle
2018-04-28 13:24:58 +02:00
LevelX2
29605bc5ae * Redirection effect - Added possibility to last for one applyEffect cycle instead of only one absolute use. 2018-04-28 13:21:58 +02:00
spjspj
1a9f12f576 Increase (by 1/3) the chance of getting either a chaos or planar roll for planechase. 2018-04-28 20:37:19 +10:00
LevelX2
7e73cf5d34 * Mana Vault - Fixed that it doesn't return mana if payment is cancelled (fixes #4473) 2018-04-28 00:52:04 +02:00
LevelX2
59b9449fb9 * Some rework of filter hanmdling. 2018-04-28 00:30:28 +02:00
Evan Kranzler
f2835685e9 updated how Saga abilities are added
still need to fix sacrificing works (#4875)
2018-04-27 18:22:49 -04:00
Evan Kranzler
4ac6e7d86c Fixing saga implementation
Related to #4875, still need to rework how the SBA removes the saga with respect to the final trigger
2018-04-27 15:12:11 -04:00
spjspj
26bc78dc8c
Merge pull request #4873 from spjspj/master
Remove plane from old player and add in new one
2018-04-27 13:26:20 +10:00
spjspj
ef281065a8 Remove plane from old player and add in new one 2018-04-27 09:10:02 +10:00
LevelX2
329116669a * Fixed a problem with stack abilities created by Designations eg. Monarch triggered ability (fixes #4457). 2018-04-26 23:35:26 +02:00
Evan Kranzler
1d69c2611d fixed more instances of Kwende, Pride of Femeref not granting double strike 2018-04-26 12:56:27 -04:00
LevelX2
90e9a21aa5 * Replaced some wrong card movement handling. 2018-04-26 17:30:44 +02:00
LevelX2
db077d68ca * Fixed Rat Colony deck valid check for all formats. 2018-04-25 16:34:55 +02:00
LevelX2
1048472736 * Torgaar, Famine Incarnate - Fixed that if used as commander one cannot pay additional costs (fixes #4815). 2018-04-25 11:57:31 +02:00
LevelX2
758634f5bb XMage 1.4.29V3 2018-04-24 23:43:24 +02:00
LevelX2
b496adcb11 * Corrosive Ooze - Fixed that the equipments were not destroyed. 2018-04-24 23:34:45 +02:00
LevelX2
242e55dcd4 * Fixed that Fall of the Thran allowed AI to get back dragons (fixes #4848). 2018-04-24 23:22:29 +02:00
LevelX2
26f4bf6867 Merge origin/master 2018-04-24 17:51:34 +02:00
LevelX2
7b2ff38225 * Grasp of Fate - Fixed rule text. Fixed that exiled permanents did not return to battlefeild if the Grasp left the battlefield because its owner lost or left the game. 2018-04-24 17:50:35 +02:00
spjspj
0082b3581b
Merge pull request #4858 from spjspj/master
Fix Tazeem Plane
2018-04-25 00:01:33 +10:00
spjspj
a08aeb6141 Fix Tazeem Plane 2018-04-24 23:59:42 +10:00
LevelX2
6ebd715e17 * Some minor clean ups. 2018-04-24 11:38:25 +02:00
LevelX2
6bd8f52b66 * Fixed a problem of becomes ColorTargetEffect that causes objects to not always reset to original color. 2018-04-24 11:35:33 +02:00
spjspj
229cad7330
Merge pull request #4853 from spjspj/master
One more plane
2018-04-24 14:12:48 +10:00
Evan Kranzler
95efa51197 fixed Phyrexian Scriptures exiling all graveyards rather than the opponents' 2018-04-23 23:28:03 -04:00
spjspj
5e70e73acd One more plane 2018-04-24 09:21:32 +10:00
Plopman
a5fc4d0741 Fix some DOM card text 2018-04-23 22:42:41 +02:00
Evan Kranzler
ea5155bb34 small text fix 2018-04-23 11:55:09 -04:00
Evan Kranzler
05070cff35 fixed adding saga counter not using the stack (this should be a state-based action though) 2018-04-22 21:16:09 -04:00
Evan Kranzler
35b78f8d11 Fixed Goblin Barrage not targeting correctly 2018-04-22 17:26:06 -04:00
Plopman
01295bb94b Fix some DOM card text 2018-04-22 22:47:37 +02:00
Oleg Agafonov
76b15e86af Fixed broken "any target" spells (can't target to planeswalkers) 2018-04-22 17:52:38 +04:00
Oleg Agafonov
885130b108 Texts update: target creature or player => any target 2018-04-22 08:34:27 +04:00
Oleg Agafonov
23becf1775 Texts update: to target creature or player => to any target 2018-04-22 08:15:40 +04:00
Evan Kranzler
63e7358eb5 fixed Deep Freeze overwriting color (fixes #4843) 2018-04-21 23:19:04 -04:00
Evan Kranzler
b54cebf6ab fixed filterplayerorplaneswalker and filteropponentorplaneswalker 2018-04-21 22:08:30 -04:00
Oleg Agafonov
4e12b06bc7 Fixed not working opponent or planeswalker filter (count all permanents instead planeswalkers); 2018-04-22 04:58:24 +04:00
Evan Kranzler
cf9ac754f0 small text fix 2018-04-21 18:49:10 -04:00
Evan Kranzler
7deb521a65 more mana pool errata 2018-04-21 18:36:22 -04:00
Evan Kranzler
2dcc50d592 more "this spell" errata 2018-04-21 18:24:07 -04:00
Evan Kranzler
b82475dcff updated additional cost text 2018-04-21 17:56:44 -04:00
LevelX2
52ae0a9be6 XMage 1.4.29V2 2018-04-21 23:04:50 +02:00
LevelX2
88b3efe759 * Phyrexian Scriptures - Fixed that wrongly also the card sfrom the controlling player were exiled. 2018-04-21 22:47:29 +02:00
LevelX2
92793327f3 * returned UUID of used THOUGHT AS effect instead of boolean. 2018-04-21 22:32:45 +02:00
LevelX2
968b10bd79
Merge pull request #4835 from spjspj/master
Two more planes
2018-04-21 22:24:32 +02:00
Evan Kranzler
61bb7d075b another small fix 2018-04-21 09:41:08 -04:00
Evan Kranzler
ef947493db small fix 2018-04-21 09:23:27 -04:00
Evan Kranzler
590e412550 fixed color identity function not working for transguild courier 2018-04-21 08:25:03 -04:00
LevelX2
290be87073 * Jaya Ballard - Fixed that the created emblem's ability did cause game breaking errors. 2018-04-21 11:16:19 +02:00
spjspj
82b9a26142 Two more planes 2018-04-21 18:32:28 +10:00
spjspj
618c89ee91
Merge pull request #4833 from spjspj/master
Fix for Agyrem Plane
2018-04-21 18:09:41 +10:00
spjspj
f3f9603b61 Fix for Cost reducing Planes 2018-04-21 17:58:39 +10:00
spjspj
b4d953525d Fix for Agyrem Plane 2018-04-21 12:10:30 +10:00
Evan Kranzler
16c081dbf5 fix all the tests 2018-04-20 20:10:26 -04:00
Evan Kranzler
e51b63aea8 a few changes to help with tests 2018-04-20 18:02:33 -04:00
Evan Kranzler
dc2d8145fd added copy methods that I accidentally removed 2018-04-20 17:17:51 -04:00
theelk801
95d2721421
Merge branch 'planeswalkerErrata' into master 2018-04-20 16:21:44 -04:00
LevelX2
e4f09a5358 * Fixed that casting Fervent Strike didn't give double strike to targeted creature with Kwende, Pride of Femeref onto battlefield (fixes #4813). 2018-04-20 20:09:25 +02:00
Evan Kranzler
d290c7f26b updated TargetPlayerOrPlaneswalker to be a subclass of TargetPlayerOrPermanent (as well as the respective filters) 2018-04-20 13:34:35 -04:00
Evan Kranzler
5f843eefcf removed Planeswalker Redirection Effect (leaving it commented for now) 2018-04-20 11:32:52 -04:00
Evan Kranzler
e6bb4f4b83 added damagePlayerOrPlaneswalker method to Game to make some things easier, fixed some more cards 2018-04-20 09:59:03 -04:00
LevelX2
c648ddd6e5 Fixed a problem with exiling copied spells from the stack (Time Stop and Hive Mind problem). 2018-04-20 15:40:02 +02:00
spjspj
43b7222ab6
Merge pull request #4824 from spjspj/master
Fix for Agyrem Plane
2018-04-20 20:18:47 +10:00
spjspj
7116182aa2 Fix for Agyrem Plane 2018-04-20 19:50:27 +10:00
LevelX2
e3750ad335 * Fixed Knight of Malice, Knight of Grace that boost only worked if all players had a permanent with the needed color (fixes #4811). 2018-04-20 08:04:49 +02:00
Evan Kranzler
4c2d2cf537 added TargetOpponentOrPlaneswalker and FilterOpponentOrPlaneswalker 2018-04-19 16:59:38 -04:00
LevelX2
19ad6da608 * Knight of Malice - Fixed that all controlled creatures were boost instead of only the Knight. 2018-04-19 22:33:51 +02:00
Evan Kranzler
6bc735c297 updated more "that player or that planeswalker's controller" cards 2018-04-19 16:22:51 -04:00
Evan Kranzler
1e27d7222a updated Bonfire of the Damned, added a new method for getting a player or planeswalker's controller 2018-04-19 16:01:44 -04:00
LevelX2
fe2220e19e Xmage 1.4.29V0 2018-04-19 21:07:14 +02:00
LevelX2
47ad1ea0ee Fixed a AI target selecting problem. 2018-04-19 21:02:34 +02:00
L_J
f64ec46742
Implemented Psychic Battle 2018-04-19 18:46:33 +00:00
L_J
9f5249cc73
Implemented Psychic Battle 2018-04-19 18:43:09 +00:00
Evan Kranzler
f072ba8d37 updated all cards that use any target (with a few possible exceptions, it's hard to tell) 2018-04-19 14:41:38 -04:00
LevelX2
e821d22fb6 [DOM] Some fixes and tooltip rule text changes. 2018-04-19 17:53:30 +02:00
Evan Kranzler
5fe607e852 updated targeting for cards that damage 2018-04-19 11:45:20 -04:00
Evan Kranzler
7212b02e53 initial changes, creation of branch, detailed in #4799 2018-04-19 11:20:18 -04:00
LevelX2
97b2b2feac Merge origin/master 2018-04-19 15:48:55 +02:00
theelk801
b001105b7b
Merge pull request #4794 from jpgunter/master
Fixup Firesong and Sunspeaker
2018-04-19 09:48:39 -04:00
LevelX2
4cc77c49c4 [DOM] Some fixes and tooltip rule text changes. 2018-04-19 15:48:25 +02:00
LevelX2
753e01598a Merge origin/master 2018-04-19 12:33:32 +02:00
LevelX2
265bcf5004 [DOM] Update Aryel, Knight of Windgrace. 2018-04-19 12:31:42 +02:00
spjspj
bc77b825cb Fix for Darkbarony plane (1 life) 2018-04-19 20:08:43 +10:00
spjspj
96472332a4 Fix for AkoumPlane (Any player). 2018-04-19 18:57:32 +10:00
spjspj
0c4f487db5 Fix for TrugaJunglePlane (Adding in new condition). 2018-04-19 18:36:09 +10:00
spjspj
8db079f430 Fix for Planes (Incorrectly appending continuous effects) 2018-04-19 18:01:46 +10:00
spjspj
fb4e23e9be Fix for BantPlane (Adding in new condition). 2018-04-19 17:28:14 +10:00
Jimmy Gunter
943a6f1740 Move GainAbilitySpellsEffect to common place 2018-04-18 20:40:23 -07:00
Evan Kranzler
3c2a8ee17d refactored Player.setLife() to include source, some more changes 2018-04-18 21:14:05 -04:00
Evan Kranzler
3798f34c38 refactored Player.gainLife() to include source 2018-04-18 20:30:59 -04:00
Evan Kranzler
254935da39 Implemented Darigaaz Reincarnated 2018-04-18 19:50:12 -04:00
LevelX2
da96ee7b05 [DOM] Added Haphazard Bombardment and Jaya Ballard. 2018-04-19 00:30:13 +02:00
Oleg Agafonov
f2c76b6b88 Removed static instance from dynamic KickerAbility 2018-04-18 23:23:13 +04:00
Evan Kranzler
356ee9ac4e updated Deep Freeze 2018-04-18 14:35:37 -04:00
theelk801
a5e6b04fbe
Merge pull request #4791 from jpgunter/master
Add Elfhame Druid
2018-04-18 13:56:56 -04:00
Oleg Agafonov
c11a16d115 Improved logs on card create exceptions, fixed broken tests 2018-04-18 20:37:05 +04:00
Jimmy Gunter
2a22e67754 Add Elfhame Druid 2018-04-18 09:28:30 -07:00
Oleg Agafonov
4d770d3aac [DOM] Refactor Corrosive Ooze to use standard effect 2018-04-18 19:56:39 +04:00
LevelX2
1eaa12aca4 [DOM] Added Rona, Disciple of Gix. 2018-04-18 17:12:27 +02:00
LevelX2
26ce05b42d [DOM] Added Shield of the Realm. 2018-04-18 15:18:23 +02:00
LevelX2
3daa66f396 [DOM] Added Seismic Shift. 2018-04-18 14:33:41 +02:00
LevelX2
f1e140761b [DOM] Added Muldrotha, the Gravetide. 2018-04-18 13:18:45 +02:00
LevelX2
5ecb34453d
Merge branch 'master' into Zzooouhh-rat 2018-04-18 11:12:09 +02:00
LevelX2
d2a51dc4c0 [DOM] Updated Corrosive Ooze. 2018-04-18 10:58:12 +02:00
LevelX2
de53977941 [DOM] Added Warcry Phoenix. 2018-04-18 10:47:29 +02:00
Evan Kranzler
99038825a0 Implemented Fight with Fire 2018-04-17 19:28:32 -04:00
Evan Kranzler
093c6c380b Implemented Chandra, Bold Pyromancer 2018-04-17 17:26:18 -04:00
Evan Kranzler
0c2132f7b9 Implemented Chainer's Torment 2018-04-17 16:58:49 -04:00
LevelX2
d51e8c70b4 [DOM] Aryel update. 2018-04-17 22:22:38 +02:00
LevelX2
731ee2db5a
Merge branch 'master' into master 2018-04-17 21:43:12 +02:00
LevelX2
89ac8cf62f Merge origin/master 2018-04-17 21:30:50 +02:00
LevelX2
bff7c56b49 [DOM] Added Goblin Barrage. 2018-04-17 21:27:46 +02:00
Evan Kranzler
6a0aadbea3 Dominaria packs will now be guaranteed to have at least one legendary creature 2018-04-17 15:16:30 -04:00
spjspj
889f1ce1c8 1 DOM card. 2018-04-18 01:40:23 +10:00
jack-the-BOSS
4e313e8792
Update CardImpl.java
Added adjustTargets case for Aryel, Knight of Windgrace
2018-04-17 08:59:08 -05:00
Evan Kranzler
a30c9cc682 Implemented Rite of Belzenlok 2018-04-16 21:50:41 -04:00
L_J
58c3cd59e2
Implemented Rat Colony 2018-04-17 01:37:05 +00:00
Plopman
36d69a96be Fix some card text 2018-04-16 21:03:16 +02:00
Evan Kranzler
240ac2c813 Implemented In Bolas's Clutches 2018-04-16 13:21:52 -04:00
spjspj
91cf3556d4
Merge pull request #4772 from spjspj/master
Continuing implementation of Planechase.
2018-04-17 02:43:45 +10:00
spjspj
776928c76c Continuing implementation of Planechase. 2018-04-17 02:13:48 +10:00
LevelX2
5b6e3cd72e Merge origin/master 2018-04-15 21:54:46 +02:00
LevelX2
9d7b2c808e [DOM] Added five cards. 2018-04-15 21:54:03 +02:00
Evan Kranzler
50b5377a8e fixed mana pool errata 2018-04-15 14:30:01 -04:00
Evan Kranzler
ef33472ee5 fixed some tests and text 2018-04-15 13:50:48 -04:00
spjspj
0ffd895be9 Minor revert. 2018-04-15 20:58:04 +10:00
spjspj
b7b70c2aec
Merge pull request #4761 from spjspj/master
Continuing implementation of Planechase.
2018-04-15 19:41:40 +10:00
spjspj
b45a409939 Continuing implementation of Planechase. 2018-04-15 19:40:15 +10:00
LevelX2
8facef4140 Merge origin/master 2018-04-15 11:34:25 +02:00
LevelX2
041ad9e036 [DOM] Added three cards. Some fixes to rule texts and some more minor fixes. 2018-04-15 11:33:57 +02:00
spjspj
2f966b7a2c
Merge pull request #4754 from spjspj/master
Continuing implementation of Planechase.
2018-04-15 17:26:03 +10:00
Evan Kranzler
455e859e97 Implemented Ancient Animus 2018-04-14 21:21:34 -04:00
Evan Kranzler
62869362e2 fixed parley count including players out of range (fixes #4757) 2018-04-14 21:04:25 -04:00
theelk801
c9a6903253
Merge pull request #4753 from jpgunter/master
Implement Multani, Yavimaya's Avatar
2018-04-14 20:52:29 -04:00
Evan Kranzler
2252353592 fixed an accidental error 2018-04-14 18:48:47 -04:00
Evan Kranzler
d753cffb01 Implemented Mishra's Self Replicator 2018-04-14 17:23:35 -04:00
spjspj
a828050ae1 Continuing implementation of Planechase. 2018-04-14 23:09:37 +10:00
LevelX2
245a3c5202 [DOM] Added Saga ability and Fall of the Thran. 2018-04-14 14:30:20 +02:00
Michael Simons
d9d9da1152 Merge origin/master 2018-04-14 00:21:07 -04:00
Michael Simons
c5c2d13bd6 Added EquipLegendaryAbility (used by Blackblade Reforged) 2018-04-14 00:13:33 -04:00
Jimmy Gunter
37ebdaa6b7 Implement Multani, Yavimaya's Avatar 2018-04-13 19:02:15 -07:00
spjspj
4f8d58d198
Merge pull request #4749 from spjspj/master
Continuing implementation of Planechase.
2018-04-14 11:09:40 +10:00
spjspj
611b48fd47 Continuing implementation of Planechase. 2018-04-14 10:47:49 +10:00
LevelX2
d83de60467 [DOM] Added 4 cards. 2018-04-13 23:53:35 +02:00
18ths
8cb26b1de6 Implemented Bestial Fury 2018-04-13 21:14:58 +02:00
spjspj
d97a3ebf04 Continuing implementation of Planechase. 2018-04-13 01:20:10 +10:00
spjspj
b5a7052697
Merge pull request #4747 from spjspj/master
Continuing implementation of Planechase.
2018-04-12 23:37:31 +10:00
spjspj
3e092c2211 Continuing implementation of Planechase. 2018-04-12 21:03:53 +10:00
Justin Herlehy
45a22e85ab
[DOM] Implement 3 Cards
Add: Academy Journeymage
Add: Adeliz, the Cinder Wind
Add: Befuddle
Update: Set file
Update: Knight Token
Update: Static Filter for Opponents Creatures
2018-04-11 23:20:16 -07:00
spjspj
87d19c7d51 Continuing implementation of Planechase. 2018-04-12 11:51:28 +10:00
spjspj
c8b741f0bf Continuing implementation of Planechase. 2018-04-12 00:07:24 +10:00
spjspj
dbbc5f255c
Merge pull request #4741 from spjspj/master
Beginning of implementation of Planechase.
2018-04-11 09:31:39 +10:00
LevelX2
03f5b8c2da * Vindictive Lich - Fixed that it did only execute the first effect (fixes #4742). 2018-04-10 23:17:19 +02:00
spjspj
dabef80af2 Beginning of implementation of Planechase. 2018-04-10 23:41:37 +10:00
LevelX2
8bee825d5c
Merge pull request #4734 from spjspj/master
Beginning of implementation of Planechase.
2018-04-10 10:45:26 +02:00
spjspj
334cfbc9d0 Beginning of implementation of Planechase. 2018-04-09 23:28:39 +10:00
spjspj
57354d83bb Beginning of implementation of Planechase.
10 or so initial planes that (mostly) have been tested, no phenomenons as yet and no modifying yet of chaos rolls.  Also no support for a user to be able to set if it is planechase (able to do so via the cheat button).
2018-04-09 19:38:37 +10:00
Michael Simons
c38dacb879
Update LookLibraryAndPickControllerEffect to support random order return
New Dominaria cards support looking in library and returning to bottom of library in random order.
2018-04-08 22:09:43 -04:00
Justin Herlehy
702756b4e7 [DOM] Implement Legendary Sorceries
Add: Target Any Target for damage spells
Add: Drudge Sentinel
Fix: Genesis Wave Filter
2018-04-08 18:37:11 -07:00
spjspj
e932c139d9 Beginning of implementation of Planechase.
10 or so initial planes that (mostly) have been tested, no phenomenons as yet and no modifying yet of chaos rolls.  Also no support for a user to be able to set if it is planechase (able to do so via the cheat button).
2018-04-09 08:44:48 +10:00
igoudt
49ee8f9856 add 3 DOM cards, added a token, updated card text 2018-04-08 02:16:52 +02:00
JRHerlehy
db8af2d4f7 [DOM] Implement 3 Cards
Add Grunn, the Lonely King
Add Naru Meha, Master Wizard
Add Verix Bladewing & Token
Fix Seal Away text
2018-04-06 00:01:46 -07:00
JRHerlehy
01c273ad20 Code DeDupe
Reorder Dominaria Set file to alphabetical to allow card gen script to execute as expected.
2018-04-04 22:11:22 -07:00
igoudt
d828427b8f remove T type from OptionalAdditionalCostImpl. The class was of a type that extended itself. No idea how to interpret that. 2018-04-04 23:29:25 +02:00
Oleg Agafonov
f6b8d0fea6
Merge pull request #4707 from delftswa2018/feature/SOLID-fix-in-Token-classes
SOLID violation fix in token classes
2018-04-04 18:31:52 +04:00
Oleg Agafonov
da919d5301 Fixed Elves type 2018-04-04 06:12:39 +04:00
Christiaan
7885fe42a0 Fixed subtype of Elvish Impersonator 2018-04-03 16:31:42 +02:00
Marc Zwart
1053db617b fixed missing linebreaks 2018-04-03 14:31:59 +02:00
Marc Zwart
3e32287f00 fixed Token/TokenImpl imports and references 2018-04-03 14:05:41 +02:00
Marc Zwart
d4d8a04694 Extracted Token interface and renamed Token implementation to TokenImpl + renamed tests 2018-04-03 14:04:08 +02:00
Marc Zwart
12becca27d removed unused / bad code + fixed implementations of new tokens 2018-04-03 12:55:45 +02:00
Marc Zwart
03eb170a04 made permanent tokens from framework compliant with new abstract superclass 2018-04-02 17:47:04 +02:00
Marc Zwart
2d922cb6af marked Token class as abstract and removed abstracted copy method 2018-04-02 17:45:56 +02:00
LevelX2
1e2e53073c * Deep Analysis - Fixed that its flashback costs did not work with mana casting cost modification effects (fixes #4677). 2018-04-02 15:30:57 +02:00
L_J
6c98f4802e
Fix for Cabal Slaver
Cabal Slaver's ability caused the damaging goblin's controller to discard
2018-03-31 00:06:44 +00:00
Plopman
1466cc2a81 Fix Axelrod Gunnarson 2018-03-27 00:07:13 +02:00
Plopman
a33916f3f4 Add StaticFilters.FILTER_CONTROLLED_LAND_SHORT_TEXT 2018-03-27 00:04:13 +02:00
spjspj
1340f75c1e
Merge pull request #4658 from spjspj/master
Karn, Scion of Urza (DOM)
2018-03-25 09:04:49 +11:00
spjspj
4527f791aa Karn, Scion of Urza (DOM) 2018-03-25 01:44:23 +11:00
igoudt
c535b81bff changed some == to .equals() 2018-03-22 23:37:07 +01:00
igoudt
00f91391e9 Homarid Drake, reprints, and rewriting his or her to their 2018-03-22 16:52:26 +01:00
igoudt
03355aee37 Merge branch 'master' of https://github.com/magefree/mage 2018-03-22 14:45:28 +01:00
ArcadeMode
5ac975c52e Blocker and Critical level bugfixes throughout the project (#4648)
* fixed https://sonarcloud.io/project/issues?id=org.xmage%3Amage-root&issues=AWIlv32RgrzAwlaaQ7rP&open=AWIlv32RgrzAwlaaQ7rP

* ensure closing of scanner if it was opened

* Refactored method in EmpyrialArchAngel to not always return same value.

* Refactored method in FalkenrathAristocrat to not always return same value.

* Refactored method in GilderBairn to not always return the same value.

* fixed left open resources, ensured quiet closing of the streams

* Refactored method in IceCave to not always return same value.

* Refactored method in KjeldoranRoyalGuard to not always return same value.

* Refactored method in LegionsInitiative to not always return same value.

* Refactored method in NaturesWill to not always return same value.

* added quiet closing method in new streamutils class, used to clean up the connectdialog

* Fix small typo

* added quiet closing to saveobjectutil

* closed resources in savegame method of gamecontroller

* properly close resources in loadGame method of GameReplay class

* further proper resource closing in ServerMessagesUtil

* fixed unclosed resources in copy method in mage framework Copier

* closed unclosed resources in copyCompressed method in Copier

* ensure closing of filewriter in manasymbols

* ensure proper closing of Stream in arcane UI

* ensure closing of datagram socket in arcane Util

* ensure resource closing in deckimport from clipboard

* ensure closing of plugin classloader

* ensured closing of zipinputstream resource

* ensure closing of fileoutputstream in ScryfallSymbolsSource

* ensure closing resources after finishing/canceling download of pictures

* remove commented code

* move locks to try block to ensure unlocking along all execution paths

* remove dangerous instance of double-checked locking

* removed dangerous instance of double checked locking in settingsmanager

* Removed dangerous instance of double-checked locking in ThemePluginImpl

* close resource which did not happen certainly

* close another stream

* ensure closing of inputstream
2018-03-22 08:13:13 -05:00
igoudt
af83a34c64 added Academy Drake, Knight of Malice, Hexproof from White 2018-03-22 12:06:45 +01:00
igoudt
ad8b046b05 a list that is null is just strange, just use an empty List 2018-03-22 12:06:45 +01:00