Commit graph

898 commits

Author SHA1 Message Date
spjspj
8c46f23e02 Increased performance function for finding a card in DB with a specific set. Cube from deck (custom cube) now respects chosen set for a given card. 2017-04-18 20:58:03 +10:00
fireshoes
ea6e2ecbe7 Updated the Duel Commander banlist. 2017-04-17 19:10:50 -05:00
LevelX2
ef4cf90a0f Release 1.4.23V0 2017-04-17 10:53:59 +02:00
LevelX2
ed341528d9 [AKH] Fixed that Aftermath card images were shown wrongly rotated. 2017-04-16 22:57:08 +02:00
fireshoes
20772ff370 Added Legacy Cube April 2017.[AKH] Added 4/11 spoilers to mtg-cards-data.txt. 2017-04-11 16:14:31 -05:00
Jeff
8072e79571 - Fixed #3064 2017-04-06 10:57:24 -05:00
ingmargoudt
6f8f10fcc3 move static function to CardImpl, and other api fixes 2017-03-30 20:09:47 +02:00
fireshoes
55b433ae36 [AKH] Added 3/27 spoilers to mtg-cards-data.txt. Implemented several of the new cards. 2017-03-28 22:25:29 -05:00
vraskulin
d3214c65e4 Merge remote-tracking branch 'fork/master' 2017-03-22 14:51:31 +03:00
vraskulin
d93061c0bc Equals should be compared with == but not equals() 2017-03-22 14:50:50 +03:00
vraskulin
c783614cba NotifyAll 2017-03-20 15:17:30 +03:00
LevelX2
9d8a8a33f1 Xmage 1.4.22V0 2017-03-11 13:38:55 +01:00
spjspj
17aa9e3f6c Merge pull request #2954 from spjspj/master
Slight fix for modern cube
2017-03-09 23:14:51 +11:00
spjspj
1646fb491f Slight fix for modern cube 2017-03-09 23:13:56 +11:00
Nathaniel Brandes
2ecb415b4d Removed potential integer overflow.
If the number passed into max is Integer.MAX_VALUE, like it is with
ChoiceOfDamnation, the random number will overflow. So let's not do
that.
2017-03-08 21:43:37 -08:00
Nathaniel Brandes
ce1f4a3bf8 Phyrexian mana now correctly a payment choice.
Per rule 601.2b, it is not determined at the pay costs step,
but at the "choice" step, long before costs are determined.

This fixes trinisphere interactions and should be consistent with the
rules.
2017-03-08 20:03:28 -08:00
Nathaniel Brandes
733de2d27f Remove generated folder. 2017-03-04 23:31:55 -08:00
fireshoes
010be2b53f Added 3/2/17 MM3 reprints. 2017-03-02 21:39:14 -06:00
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
fireshoes
95a1146947 Added Vintage Cube June 2016. [EMN] Added Thalia, ~Identity Impersonator, and Hanweir, the Writhing Township to mtg-cards-data.txt. 2016-06-23 11:37:23 -05:00
LevelX2
70a22da8e3 Fixed possible null pointer exception. 2016-06-18 11:31:50 +02:00
LevelX2
7750bc2cd9 Fixed possible null pointer exception. 2016-06-18 10:01:38 +02:00
fireshoes
e05f8e04f7 Updated Jim Davis's Cube for SOI. 2016-06-16 17:32:30 -05:00
fireshoes
5d2973f616 Updated Adam's Styborski's Pauper Cube for SOI and EMA. 2016-06-16 12:21:47 -05:00
LevelX2
266a0870ca Xmage 1.4.12v0 2016-05-29 10:59:39 +02:00
fireshoes
e77817b67a Fixed collector numbers of basic lands in DD: Blessed vs Cursed. 2016-05-15 12:58:07 -05:00
spjspj
f9e363fb30 spjspj - Update Rich Man draft to allow Random packs 2016-05-15 23:52:13 +10:00
spjspj
5ee4b5193e spjspj - Modify Rich Man draft to be random 2016-05-15 18:50:59 +10:00
spjspj
218fd088b8 spjspj - Makes no sense to force RichMan to be 4 players - 2's actually better I think 2016-05-15 17:18:18 +10:00
LevelX2
773decf593 * Fixed a problem with the AI handling of TARGETED event (e.g. Silverfur Partisan not triggering - fixes #1916). 2016-04-30 11:42:01 +02:00
emerald000
9d380331d7 Removed choices that should not be made while casting of a spell.
For example: color choices for protection abilities.
2016-04-28 01:32:48 -04:00
LevelX2
e2a8ddef0f Merge pull request #1905 from KWottrich/clean-up-java-imports
Clean up java imports
2016-04-26 11:37:35 +02:00
LevelX2
1fcd26fc60 xmage 1.4.11v0 2016-04-26 00:59:03 +02:00
Kenny Wottrich
ec5d986ef8 comment out URL in code 2016-04-24 20:27:55 -05:00
Kenny Wottrich
f3c83d54f5 Remove Unused Imports
Delete unused java imports that cause compiler warnings
2016-04-24 19:50:29 -05:00
fireshoes
a4e1444d63 Added Freeform constructed format (same requirements as limited), Shadows over Innistrad block constructed format, and added Wastes as a valid basic land for Momir Basic. 2016-04-18 20:16:44 -05:00
emerald000
8823839a42 Added framework method for copying a StackAbility without casting it.
Modified the effects doing so with the new method.
2016-04-17 23:55:11 -04:00
drmDev
5ab54142de W16 fix. Eldrazi Obligator fix and test 2016-04-15 12:24:04 -04:00
Fenhl
430ae503c7 Change all line endings to LF 2016-04-14 16:18:01 +00:00
spjspj
bd12d17d44 spjspj - Implement new form of draft in which you simulate opening a full booster box (36 boosters) and take one at a time. Known (to me at least) colloquially as 'Rich Man's Draft' as it requires you to buy a full booster box. 2016-04-14 22:48:54 +10:00
Jared Hall
3f2611de76 Fixes #1836 2016-04-12 08:16:15 -04:00
LevelX2
ed3b63652f MTG Cube - Fixed wrong name of Fire // Ice. 2016-04-09 13:13:18 +02:00
LevelX2
d99d35b9c9 Legendary Cube 2016 fixed wrong card name of Opalescence. 2016-04-09 13:12:50 +02:00
fireshoes
2778ae2381 Added Legendary Cube April 2016. 2016-04-06 22:41:15 -05:00
LevelX2
bcdde0a945 XMage version 1.4.10v0 2016-04-06 22:56:02 +02:00
spjspj
822917322c spjspj - Use first Mana ability fixes 2016-04-05 21:37:04 +10:00
LevelX2
20f77b8662 Updated banlist changes 2016-04-04. 2016-04-04 20:32:12 +02:00
spjspj
e5ca1bd6d2 spjspj - Implement a 'Use the first available mana ability for a land mode'.
This allows people to float mana more easily and to not have to get the popup forcing them to select which mana ability they would like to activate.
There's a new option in the menu system under the Mana Payment section which is set via pressing 'Alt' and the number '1' key (aka Alt+1) (and is unset by releasing Alt+1).
Or they can set it from the right click menu as well.
2016-04-04 20:30:28 +10:00
spjspj
3dfe9de05f spjspj - Add the 'Skip to End Step of Previous Player' button to the GamePanel and associated changes 2016-03-27 00:07:23 +11:00
fireshoes
e1e6c3b9be Updated Adam Styborski's Pauper Cube for OGW. 2016-03-11 12:38:32 -06:00
LevelX2
3f57012c85 Merge origin/master
Conflicts:
	Mage.Client/src/main/java/org/mage/card/arcane/ManaSymbols.java
2016-03-03 23:22:06 +01:00