Commit graph

7887 commits

Author SHA1 Message Date
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