Commit graph

830 commits

Author SHA1 Message Date
spjspj
faee8fb298 Refactor color restriction in edh. Change to look at commander color identity. 2017-03-01 08:56:52 +11:00
Achilles
c4737f11d0 - Fix for issue #2885 2017-02-28 10:25:10 -06:00
vraskulin
11dc1e10f1 Few lambda's and removed explicit type from creating lists and hashmaps 2017-02-28 13:46:57 +03:00
vraskulin
0a3c95dde5 Inner classes should be static. It reduces memory usage and gives perfomance boost + DeckImporter rollback 2017-02-28 12:40:12 +03:00
vraskulin
04973ea5aa Checking String for emptiness with .lenght() is preferable since 1.6 2017-02-28 11:46:51 +03:00
ingmargoudt
afbf5ce2b6 Merge pull request #2891 from kubikrubikvkube/master
Nulls to optional. Also there was bug with AetherChaser
2017-02-27 17:51:35 +01:00
vraskulin
498c8cf60c Made utility classes final to explicitly forbid it's inheritance 2017-02-27 17:03:38 +03:00
spjspj
5365f9cac5 Allow limiting a colour in edh 2017-02-27 23:33:58 +11:00
vraskulin
a15220d51e Bugfixes with != instead of equals and default toString calls 2017-02-15 19:52:20 +03:00
vraskulin
752392fc46 Functional interfaces should be annotated as functional interfaces 2017-02-15 19:23:12 +03:00
spjspj
a897f2d91e Merge pull request #2851 from spjspj/master
Update some edh power levels
2017-02-11 00:53:46 +11:00
spjspj
dfbdc058cf Update some edh power levels 2017-02-11 00:52:58 +11:00
vraskulin
0557b5e89c list.size > 0 changed to !list.isEmpty
We care about if it's empty or not, not about it's size
2017-02-06 14:32:51 +03:00
vraskulin
f60ebfbb1f All 1-character strings converted to primitives
"b" + "r" now changed to 'b' + 'w'.  It's more straight-forward, and may cause perfomance improvements - character primitives allocation is faster and less expensive than string creation.
2017-02-06 14:32:51 +03:00
spjspj
c98bf163be Add Canadian Highlander Deck/Game implementation. Also implements the double-mulligan-on-6,5,4,3,2,1 rule. 2017-02-05 23:23:51 +11:00
spjspj
64ff81af75 Merge pull request #2825 from spjspj/master
Add Canadian Highlander format
2017-01-30 23:58:47 +11:00
spjspj
de6fae8c00 Add Canadian Highlander format 2017-01-30 23:57:59 +11:00
spjspj
4bad553249 Merge pull request #2824 from spjspj/master
Add Canadian Highlander format
2017-01-30 23:56:49 +11:00
spjspj
532eb3fdea Add Canadian Highlander format 2017-01-30 23:48:16 +11:00
LevelX2
e6b5c0aef6 * Fixed that wrongly custom set cards were used for Mormir random card selection (fixes #2809). 2017-01-19 23:51:33 +01:00
LevelX2
6625bf86be Xmage 1.4.21V0 2017-01-15 17:44:02 +01:00
LevelX2
eb802431fa * Duel Commander - Removed commander damage logic. 2017-01-13 23:36:22 +01:00
LevelX2
1a03c7ce07 * Fixed a targeting problem of AI (e.g. for Maulfist Revolutionary). 2017-01-13 21:31:31 +01:00
fireshoes
8845319903 Updated Legacy Cube 2017 to match a change Wizards made. Fixed Asylum Visitor's missing LoseLifeEffect. Fixed Rishkar's GainedAbilityEffect to be only controlled creatures. 2017-01-12 00:12:15 -06:00
LevelX2
1c4bf298eb Merge pull request #2762 from sotovdev/bigRefactoring
Big refactoring
2017-01-11 07:42:52 +01:00
fireshoes
76b28742cb Added Legacy Cube January 2017. Corrected the Legacy Cube Sept 2016 list. Fixed Wrangle's target filter. 2017-01-10 20:09:36 -06:00
sotovdev
fe7aaedf1c Merge branch 'master' into bigRefactoring 2017-01-10 15:37:43 +03:00
fireshoes
de3c6168d8 Updated Banned & Restricted lists. 2017-01-09 15:08:08 -06:00
vraskulin
076840df53 Big refactoring
I used Intellij IDEA to automatically refactor code to achive 3 goals.
1) get rid of anonymouse classes, and replace the with lamba to get more readeable and clean code (like in TableWaitingDialog).
2) make effectively final  variables actually final to avoid inadvertent changes on it in further releases and keep objects as immutable, as possible.
3)  Get rid of unused imports (most of the changes) in whole project classes.
2017-01-09 19:16:53 +03:00
LevelX2
ee203cf981 Xmage Release 1.4.20V0 2017-01-08 01:36:05 +01:00
LevelX2
2162fab114 * Fixed a problem of AI target handling (e.g. for Precursor Golem) 2017-01-01 14:56:34 +01:00
LevelX2
c2852ca233 [AER] Added Battke at the Bridge. 2016-12-31 17:00:00 +01:00
LevelX2
8075ea2e50 * Fixed a problem that Emblems created by permanents where its owner left the game caused errors in clients. Some handling cganges of emblems. 2016-12-27 16:00:22 +01:00
vraskulin
2e83930ace Creating new ArrayList is unneccesarry
We shouldn't create new arraylist with default size and no element in it to show that no elements found in database. It's one more object in heap, which will be never used. There is special method Collections.emptyList() - it's more readeable and returns empty immutable list
2016-12-19 12:23:23 +03:00
LevelX2
da9e9a1180 * Fixed some possible null pointer exceptions and some minor editing. 2016-12-18 15:02:19 +01:00
spjspj
6b0eb6397e Merge pull request #2666 from spjspj/master
spjspj - Final.. update to edh Power Level.
2016-12-08 17:08:54 +11:00
spjspj
8680ab212f spjspj - Final.. update to edh Power Level. 2016-12-08 17:08:10 +11:00
spjspj
14f6988227 Merge pull request #2664 from spjspj/master
spjspj - Final update to edh Power Level.
2016-12-08 11:58:23 +11:00
spjspj
9caaf0d5be spjspj - Final update to edh Power Level. 2016-12-08 11:57:45 +11:00
spjspj
2bec9aa4b1 Merge pull request #2663 from spjspj/master
spjspj - More updates to edh Power Level.
2016-12-08 10:55:26 +11:00
spjspj
a5c677f72a spjspj - More updates to edh Power Level. 2016-12-08 10:54:45 +11:00
spjspj
62e9aeec49 Merge pull request #2662 from spjspj/master
spjspj - More updates to edh Power Level.
2016-12-08 10:30:48 +11:00
spjspj
7d67351921 spjspj - More updates to edh Power Level. 2016-12-08 10:29:37 +11:00
fireshoes
11a705fda3 Added Borderland Explorer, Yaheeni's Expertise, and Vintage Cube Nov '16. 2016-12-07 09:46:27 -06:00
spjspj
02bfd09a0c spjspj - More updates to edh Power Level. 2016-12-05 22:58:35 +11:00
spjspj
6f0aafb449 spjspj - More updates to edh Power Level. 2016-12-03 19:29:57 +11:00
spjspj
2d1e776153 spjspj - Fix for must attack effects not forcing attacks in multiplayer 2016-12-03 18:48:41 +11:00
spjspj
9f66125cf9 spjspj - Fix for must attack effects not forcing attacks in multiplayer 2016-12-03 18:26:40 +11:00
LevelX2
b62ca1ed1f Xmage 1.4.19 2016-11-27 19:59:42 +01:00
spjspj
c0be640c4a spjspj - Implement Australian 7pt Highlander 2016-11-25 20:56:24 +11:00
spjspj
d4493ac5f0 Merge pull request #2620 from spjspj/master
Add 'EDH power level' rating to Commander tables
2016-11-22 19:30:54 +11:00
spjspj
1fd3ab68b6 Add 'EDH power level' rating to Commander tables 2016-11-22 19:30:02 +11:00
LevelX2
375699a379 * Changed/fixed handling of controlling other player's turn to prevent unwanted turn/phase skipping. 2016-11-21 22:41:00 +01:00
spjspj
713854bb43 Add 'EDH power level' rating to Commander tables 2016-11-21 19:40:08 +11:00
spjspj
9b80b1abb1 Add 'EDH power level' rating to Commander tables 2016-11-21 19:34:20 +11:00
spjspj
7fd2eeedcf Add 'EDH power level' rating to Commander tables 2016-11-20 23:13:16 +11:00
LevelX2
03c766a485 * Myriad - Fixed a bug that the token was also created to attack the definding player. 2016-11-19 23:12:02 +01:00
spjspj
47874a7f03 spjspj - Force stop and stop skip for when there's potential attackers 2016-11-15 23:20:51 +11:00
fireshoes
852eabaca2 Duel Commander - unbanned Balance, Necropotence, Yawgmoth's Bargain, Serra Ascendant, and Grindstone 2016-11-08 16:14:20 -06:00
fireshoes
4590c19b71 Update Adam Styborski's Cube through C16. 2016-11-08 12:09:48 -06:00
LevelX2
c9e1b415e2 Xmage 1.4.18V0 2016-11-06 18:11:19 +01:00
LevelX2
a4e1c7aefd Merge origin/master 2016-11-03 22:38:14 +01:00
LevelX2
d2561c1752 * Fixed a problem with triggered mana abilities. Fixed a problem that AI did not always select the needed mana color. Fixed a problem with Reflecting Pool not taking triggered mana abilities into account. 2016-11-03 22:37:54 +01:00
fireshoes
a5cb9ff037 Added Peregrine Drake to the Pauper banlist. 2016-11-03 10:19:22 -05:00
emerald000
c38f96ae55 [C16] Implemented Partner ability. 2016-11-01 22:59:39 -04:00
LevelX2
5090eaee0d Fixed that Commander and Tiny leader decks were not checked for valid sets. 2016-11-01 22:57:34 +01:00
LevelX2
8b62eece68 XMage 1.4.17V0 2016-10-23 10:03:01 +02:00
LevelX2
bf43ea9936 Added test and fixed some possible null pointer exception. 2016-10-22 12:45:50 +02:00
LevelX2
97b872d926 * Fixed that a spell that becomes a permanent didn't had the colors of the spell (e.g. ERsatz Gnomes). 2016-10-22 10:38:10 +02:00
fireshoes
3f0a97a778 Fixed cube name. 2016-10-18 19:29:18 -05:00
fireshoes
a13dc33342 Fixed cube name. 2016-10-18 19:27:25 -05:00
fireshoes
89dd981075 Merge 2016-10-17 23:45:47 -05:00
fireshoes
1f4c0eb1d9 Added the four finalists from You Make the Cube. 2016-10-17 23:10:01 -05:00
LevelX2
157827addc XMage 1.4.16v0 2016-10-08 11:14:13 +02:00
fireshoes
ae41a5fbbf Changed Duel Commander starting life total to 20. 2016-10-04 00:24:45 -05:00
LevelX2
9a00dd20ca Fixed some problems with constructed formats definition and custom sets. 2016-10-03 20:25:08 +02:00
LevelX2
16027d5fef [SWS] Added Star Wars Block Format. 2016-10-03 10:26:30 +02:00
fireshoes
783a278fca Added Frontier format (M15 forward). Added Kaladesh block constructed. 2016-09-27 01:54:49 -05:00
LevelX2
c9bb0be016 Reworked selected modes handling. That fixed the Subtle Strike targeting problem. 2016-09-24 01:12:01 +02:00
LevelX2
c82d6b5566 * Fixed some possible null pointer exceptions. 2016-09-20 23:40:25 +02:00
Fenhl
ab7e86cb27 Change AE to Ae 2016-09-17 16:59:24 +00:00
ingmargoudt
3128bd2b4b replace [list].size() == 0 and [string].length() == 0 to use .isEmpty() instead 2016-09-14 15:27:31 +02:00
fireshoes
69984a3d27 Added Legacy Cube September 2016. [KLD] Updated mtg-cards-data.txt with more 9/13 spoilers. 2016-09-13 14:19:57 -05:00
LevelX2
bb8326d46b XMage 1.4.15v0 2016-09-10 12:31:18 +02:00
emerald000
bc0f53973d Added an easier way to put custom text on buttons in a chooseUse prompt. 2016-09-06 02:07:59 -04:00
ingmargoudt
e2a479255a refactor : removed all instances of new Random() and replaced with RandomUtil for a ThreadLocal randomizer 2016-09-05 15:03:47 +02:00
Samuel Sandeen
148f633672 Make the Counters API for card and permanent consistent. 2016-09-03 10:33:54 -04:00
Samuel Sandeen
282443c231 Add Subtype to the CardAttribute Framework
This is a massive change. I’ve refrained from unrelated refactoring
when possible but there are still a lot of changes here.
2016-08-28 17:30:10 -04:00
fireshoes
e26a85187d Eldritch Moon update of Adam Styborski's Cube 2016-08-23 20:14:41 -05:00
LevelX2
539b03bd1d Xmage 1.4.14v0 2016-08-13 10:14:38 +02:00
Quercitron
c04bd6d64a Replace Yes/No text with Mulligan/Keep text on mulligan answer buttons to make options more clear. 2016-07-31 15:57:45 +03:00
spjspj
883b63a01d spjspj - Update to push deck List across from Client to Server for Custom Cube 2016-07-25 22:44:21 +10:00
fireshoes
1d206b8f2b Updated Duel Commander banlist. 2016-07-19 15:41:24 -05:00
LevelX2
d0ecb473da Xmage 1.4.13v0 2016-07-11 22:54:43 +02:00
spjspj
26d38f0773 spjspj - Add the option of having a .dck file as a cube 2016-07-04 00:20:31 +10:00
draxdyn
a7409f3d08 Hold priority on Ctrl+click
In most cases, it is not useful to hold priority after doing something,
since the spell or ability added to the stack can just be performed
beforehand.

Hence, automatically passing priority is the only comfortable setting.

However, in some cases it is useful (chiefly for Infernal Tutor +
Lion's Eye Diamond and similar interaction), and currently players
have to open Preferences, change the option and then change it back
whenever they need to hold priority, which is very annoying.

This change allows to temporarily hold priority by simply holding
Control while performing an action, which solves the issue in a
manner similar to other clients.

A "Hold" indicator next to the spells cast indicator is displayed so
that the user knows his Control key holding was registered.

The code works by adding a new HOLD_PRIORITY player action that causes
the automatic priority pass options to be ignored until the player is
given priority again.

The client sends the message whenever it's not already holding priority
and Ctrl+click/space/enter happens anywhere.

This is somewhat "loose" as it means that Ctrl+click on the background
also holds priority, but this might actually be desirable and it greatly
simplifies the code, since only a global AWT event listener is required,
and there is no need to change every place in the code that could add
something to the stack.

It is also possible to hold priority and stop holding priority using
the context menu.
2016-06-29 19:57:45 +02:00
LevelX2
f7cecdf050 Merge pull request #2033 from draxdyn/f6
Add support for F6
2016-06-28 09:16:09 +02:00
spjspj
b73d68437e spjspj - Add Rich Man Cube draft. This is a variation on the Rich Man set draft. It still (like cube) shouldn't let there be more than one copy of a card in the draft but will give each player a new pack from the cards that haven't been picked already each time. Allows 2 player cube drafts to be playable. 2016-06-26 12:57:52 +10:00
spjspj
2eb68403cf spjspj - Add Rich Man Cube draft. This is a variation on the Rich Man set draft. It still (like cube) shouldn't let there be more than one copy of a card in the draft but will give each player a new pack from the cards that haven't been picked already each time. Allows 2 player cube drafts to be playable. 2016-06-26 12:54:59 +10:00
draxdyn
62d5d45a45 Add support for F6
Skips everything until next turn, except for declare attackers and blockers.

F11 and F9 are a better design, but F6 is provided for compatibility with
established conventions.

There is currently no GUI button for it.
2016-06-24 21:34:30 +02:00