Commit graph

402 commits

Author SHA1 Message Date
LevelX2
59f5851e73 Fixed a problem to pay costs for e.g. triggering abilities while casting a spell. 2018-03-10 12:39:44 +01:00
LevelX2
b752eacfaa * Optimized handling and call of player.choose choice to prevent problems if a player disconnects or left a game (#4263). 2018-02-04 17:51:12 +01:00
Oleg Agafonov
8596a92ed8 Added error logs for freezes ignoring timer (see #4476) 2018-02-03 13:54:39 +04:00
spjspj
aebc16dc82
Merge pull request #4476 from spjspj/master
Scenario I was testing for this fix:
2018-02-03 18:45:52 +11:00
Oleg Agafonov
3bfe5ec5d3 Fixed game and/or timer freeze on another player concede with 3+ games (see #4476) 2018-02-03 08:26:01 +04:00
spjspj
b924f4bb6b Scenario I was testing for this fix.
Local Server, EDH game with Player1, Player2, Player3.
Player1 has 2 mana reflections out, cast Torment of Hailfire for 15 and is tapping mana for it.
The 'choose replacement effect' popup comes up.
Whilst this is happening, Player2 concedes.
This will currently lock up the game and sits forever in waitResponseOpen.
 (With the time out now there, it will time out after 30 seconds or so.
2018-02-03 13:21:47 +11:00
LevelX2
db0fc1b439 * Some changes to skip handling. 2018-02-02 00:27:12 +01:00
Oleg Agafonov
6f175981ce Small fix 2018-01-28 15:12:41 +04:00
Oleg Agafonov
c2d661eca7 Fixed freeze on end game 2018-01-28 06:47:53 +04:00
Oleg Agafonov
ba4fee11f6 Fixed weird errors with server lost of player priority on lagged games (see #4448) 2018-01-27 13:59:38 +04:00
LevelX2
40afa04b24 xmage 1.4.27V0 2018-01-13 22:54:53 +01:00
igoudt
2564f61182 HumanPlayer constructor missed a reference to attribute 2018-01-07 21:47:00 +01:00
Oleg Agafonov
d1475f28b4 Fixed not working response result from key-value choice dialogs 2018-01-04 00:32:17 +04:00
LevelX2
0d46c68924 * Fixed some problems for handling concede during game init. 2017-11-04 18:19:41 +01:00
LevelX2
58d3fc2328 Fixed player leaving/conceding handling. 2017-10-21 16:13:45 +02:00
LevelX2
3ac7fc2726 * Some fixes to possible exceptions. 2017-09-23 23:48:25 +02:00
LevelX2
2d6bcd83f4 xmage 1.4.26V4 2017-09-16 16:55:58 +02:00
LevelX2
5996aa12e6 Trove of Temptation working for Human. 2017-09-15 17:51:54 +02:00
LevelX2
d9c601dd26 Trove of Temptation - Basic some changes to Combat and Human 2017-09-14 17:50:00 +02:00
LevelX2
5bf12d227c Some minor changes. 2017-09-01 23:50:07 +02:00
LevelX2
52897094b3 * Some chnages to chat, user and player handling. 2017-08-26 18:26:55 +02:00
LevelX2
1fb24116ae xmage 1.4.26V0 2017-08-15 01:27:06 +02:00
LevelX2
69e239d2ed Xmage 1.4.25V0 (update because of Log problem) 2017-07-30 08:54:37 +02:00
LevelX2
fe2ee5dfec Xmage 1.4.25V0 2017-07-29 20:35:16 +02:00
LevelX2
400bbba8e1 * Deactivated macro button, becuase it's not working correctly (#2147). 2017-07-29 17:39:13 +02:00
LevelX2
878ba90625 * Fixed a bug that prevented players from paying costs during spell resolution (e.g. Mana Leak) - (fixes #3715). 2017-07-23 19:48:04 +02:00
LevelX2
7d911ae803 XMage 1.4.24V0 2017-07-08 16:33:09 +02:00
Ben Homer
612d863883 Fixed bug where PlayerResponse toString throws an error sometimes. 2017-06-27 17:42:36 -05:00
Devon Richards
fee630a0ac Small cleanup 2017-06-24 11:23:58 -05:00
Devon Richards
63382aed93 Some stylistic fixes for code review 2017-06-21 23:51:59 -05:00
Devon Richards
0d98514550 Added better UI and made it work with most categories of combos 2017-06-21 01:09:54 -05:00
Devon Richards
028d7ed1f8 Initial working product. Doesn't handle skipping stack. 2017-06-20 19:54:16 -05:00
magenoxx
53228d2389 Added game state change in the loop 2017-05-13 18:56:48 +03: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
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
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
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
Achilles
c4737f11d0 - Fix for issue #2885 2017-02-28 10:25:10 -06:00
vraskulin
a15220d51e Bugfixes with != instead of equals and default toString calls 2017-02-15 19:52:20 +03: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
LevelX2
6625bf86be Xmage 1.4.21V0 2017-01-15 17:44:02 +01:00
LevelX2
ee203cf981 Xmage Release 1.4.20V0 2017-01-08 01:36:05 +01:00
LevelX2
c2852ca233 [AER] Added Battke at the Bridge. 2016-12-31 17:00:00 +01: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
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
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
LevelX2
c9e1b415e2 Xmage 1.4.18V0 2016-11-06 18:11:19 +01:00
LevelX2
d2561c1752 * Fixed a problem with triggered mana abilities. Fixed a problem that AI did not always select the needed mana color. Fixed a problem with Reflecting Pool not taking triggered mana abilities into account. 2016-11-03 22:37:54 +01:00
LevelX2
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
LevelX2
157827addc XMage 1.4.16v0 2016-10-08 11:14:13 +02: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
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
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
LevelX2
d0ecb473da Xmage 1.4.13v0 2016-07-11 22:54:43 +02: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
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
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
LevelX2
266a0870ca Xmage 1.4.12v0 2016-05-29 10:59:39 +02: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
f3c83d54f5 Remove Unused Imports
Delete unused java imports that cause compiler warnings
2016-04-24 19:50:29 -05:00
Fenhl
430ae503c7 Change all line endings to LF 2016-04-14 16:18:01 +00: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
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
LevelX2
e9638bcc4d Release 1.4.9v0 2016-02-21 12:58:58 +01:00
LevelX2
d2eb6151f1 Fixed some possible exceptions. 2016-02-06 02:12:51 +01:00
LevelX2
151e678e84 Changed history handling for user a bit. Added history to table waiting dialog and user avatar tooltip. 2016-01-23 13:37:34 +01:00
LevelX2
5981816a4b Switch to 1.4.8 for upcoming realease. 2016-01-22 22:33:58 +01:00
LevelX2
121f40c019 Prepared 1.4.7. 2016-01-10 22:13:59 +01:00
LevelX2
c8f82b49ff Added possibility to check kind of cost to pay for conditional mana use. 2016-01-10 12:01:58 +01:00
LevelX2
207f486afc * Xmage 1.4.6v0 2015-12-13 19:47:04 +01:00
LevelX2
0d86e8e063 Xmage 1.4.5v0 2015-11-21 10:33:43 +01:00
LevelX2
c06e86cd2f * Lurking Predators - Some minor rework. 2015-11-18 15:34:10 +01:00
LevelX2
4711e0cf99 Changed ability handling of modal spells to be able to select the same mode multiple times with different targets. 2015-11-14 01:56:56 +01:00
LevelX2
431d0005f2 Updated modes to handle selection of modes multiple times (not working yet if targets included). 2015-11-08 20:07:02 +01:00
LevelX2
7ac0fe65ef * Fixed bug that prevented to use mana abilities manually. 2015-10-21 23:24:04 +02:00
LevelX2
0176478441 * Fixed a bug that caused creatures forced to attack could prevent to attack by deselecting the forced creature or be able to attack another defender by using the Attack All button. 2015-10-06 22:22:37 +02:00
LevelX2
8f64a2ab54 * Fixed that a player doing a library search with a stated quality (701.15b) couldn't fail to find a card if cards with the stated quality did exist in the searched library. 2015-09-14 23:36:32 +02:00
LevelX2
de639cc1d6 * Suspend, added the card name to the rule text of the ability triggering, so different suspended cards were not auto put on the stack by the activated same rule text option. 2015-09-11 23:06:26 +02:00
LevelX2
9a37bd28ad Xmage 1.4.4v0 2015-09-05 12:51:07 +02:00
LevelX2
707c1acf6b * Added an option to auto order triggers with the same text. Added options to pass priority automatically after spell cast and ability activation. Fixed a problem of the tests with the new Scry mulligan. 2015-09-04 00:25:23 +02:00
LevelX2
5a812f022d Added the new mulligan rule with Scry. Litte Scry rework. 2015-09-03 17:27:43 +02:00
LevelX2
5f7f04be65 * Master of the Wild Hunt - Fixed that the damage that the controller of the targeted creature could assign was handled targeted and so hexproof could wrongly block that assignment. 2015-08-30 21:30:58 +02:00
LevelX2
423e1fd368 * Triggered abilities order selection is applied immediately now. 2015-08-28 15:16:24 +02:00
LevelX2
39e62095e4 Fixed some dialogs for human players that were not shown after a reconnect to a game (e.g choose mulligan, any use Yes/No choice, amount choice, Pile choice). 2015-08-28 14:29:54 +02:00
LevelX2
758f56792e * Added button popup menu to be able to automatically answer ability related "Yes" / "No" requests (related to #328). 2015-08-28 11:44:14 +02:00
LevelX2
532d4e0af0 * Added automatic handling for order of triggered abilities going to stack (fixes #701 / related to #328). 2015-08-22 19:29:57 +02:00
LevelX2
9df993bd3a * Intet, the Dreamer - Improved handling to look at face down cards exiled with Intet. Works now also if Intet has left the battlefield. 2015-08-19 00:59:05 +02:00
LevelX2
c98577cc6a Xmage 1.4.3v0 2015-08-06 22:18:01 +02:00
LevelX2
662ee7ca10 * Fixed handling of face down card selection (e.g. for Scroll Rack). 2015-08-05 17:45:45 +02:00
LevelX2
efb5e06e57 * Rollback - Fixed that UI is locked after a accepted rollback request (fixes #1158). 2015-08-02 12:39:02 +02:00
LevelX2
009f2a85fd Fixed weird replacement effects showing from otehr games (#643). 2015-07-30 16:46:24 +02:00
LevelX2
1ef74f3293 Fixed some possible null pointer exceptions. 2015-07-28 00:04:57 +02:00
LevelX2
eca37467a3 * Added a auto select color for color choices of mana abilities that ask the human player to select a colo (implements #690). 2015-07-21 17:23:10 +02:00
LevelX2
55966f3056 * Fixes to spend any mana to pay handling- 2015-07-12 19:49:53 +02:00
LevelX2
b80e27f3b3 * Fixed handling of Phyrexian mana. 2015-07-09 01:43:26 +02:00
LevelX2
cd0cba6ec7 XMage Release 1.4.2v0 2015-07-04 01:28:19 +02:00
LevelX2
0ac5777765 * Fixed a bug of All atack button if multiple players/Planeswalker could be attacked. 2015-07-03 22:06:14 +02:00
LevelX2
cea7bb4e87 Improved undo for All Attack action. 2015-07-03 21:05:59 +02:00
LevelX2
25ca463520 [ORI] Added Tainted Remedy and Liliana Planeswalker. Fix for build bug of Sigled Starfish. 2015-07-03 12:26:14 +02:00
LevelX2
3eb1fd4047 Added a button to attack with all available cratures. 2015-07-02 17:03:14 +02:00
LevelX2
0a0cb40783 * Fixed that creatures that have to pay costs to block were wrongly forced to block causing UI locks. 2015-07-01 23:00:22 +02:00
LevelX2
123d1e4ec6 [ORI] Added 6 black cards. 2015-06-30 01:24:51 +02:00
LevelX2
df3e6db569 Please test! Some changes to the display of user choices, showing also a longer text in tooltip window. 2015-06-28 21:55:48 +02:00
LevelX2
060a468d4b Update to release 1.4.1. 2015-06-14 02:43:16 +02:00
LevelX2
3b61a10237 Fixed some bugs and added a AI Test player class. 2015-06-08 18:31:54 +02:00
LevelX2
9da44a547d Added an option that player has to confirm if he passes priority with empty stack and has mana in his pool. Implements #707. 2015-06-07 22:37:12 +02:00
LevelX2
8acf28eed1 * Added optional rollback current turn and up to 3 previous turns to the battlefield menu. All other players have to agree to the rollback to let it happen. 2015-06-07 00:53:08 +02:00
LevelX2
b58d2e88ea * Novijen Sages - Fixed that it was not possible to pay the activated ability with the counters of Novijen Sages. 2015-06-03 23:49:54 +02:00
LevelX2
1b690e5c8c * Fixed target change handling (e.g. with opponent filter - fixes #574). Added some tests. 2015-05-31 18:44:02 +02:00
LevelX2
fa847e8feb * Update to version 1.4.0v0. 2015-05-12 23:11:25 +02:00
LevelX2
15efe14fd5 * Fixed human players controlling other human players turn (e.g. by Mindsliver). 2015-05-12 01:10:56 +02:00
LevelX2
25ef57570d [MM2] Added Worldhear Phoneix. 2015-05-10 01:33:02 +02:00
LevelX2
2f09b2859c Some minor changes. 2015-04-07 16:46:10 +02:00
betasteward
9ad8530dee moved faceDown property from Card to CardState 2015-03-12 22:09:12 -04:00
LevelX2
8849538723 * Fixed that library selections could not be deslected if multiple cards have to be selected. 2015-03-01 16:06:13 +01:00
LevelX2
4a5140d0ab Fixed a bug of cost paying handling not showing only the left over unpaid part of mana cost (fixes #185). Added the name of the object the cost is paid for to the feedback panel. 2015-02-26 13:52:02 +01:00
LevelX2
0c73076895 * Added AlternateManaPaymentAbility interface and handling. 2015-02-20 02:15:22 +01:00
LevelX2
ef147bc80c * Fixed a possible endless loop while player left game during damage distribution. 2015-02-12 12:16:56 +01:00
LevelX2
8d8a2074f0 * Lion's Eye Diamond - Fixed that it now only can be cast at the time an instant spell could be cast. 2014-12-27 03:51:10 +01:00
LevelX2
bda59fafcf * Fixed possible exception during choosing replacement effect resolve order. 2014-11-26 12:29:42 +01:00
LevelX2
67479bb5a4 * Fixed wrong timer handling while other player controlled a player's turn. Attackers now marked with blue frame. Playable cards have a violet frame. If a player has to select cards from hand, the possible cards are marked yellow now. Discard of multiple cards now marks already selected cards and happens in one selection. 2014-11-26 01:48:00 +01:00
LevelX2
a2484cc6d9 Added F10 to skip priority while the stack resolves. 2014-11-16 08:59:59 +01:00
LevelX2
df71237f46 * Added logic to auto select replacement effects. Some changes to counter size and font size handling. 2014-10-30 20:40:23 +01:00
LevelX2
0a23fe1e8a * Skip phase of preferences will only be applied if the stack is empty. 2014-10-10 14:25:44 +02:00
LevelX2
7f46323f67 * Added F7 to skip until next main phase. Added some preference options to skip handling. Clicking on phase bar opens now phase bar preferences. 2014-10-05 14:33:47 +02:00
LevelX2
f7535505dd * Allow deselection of target cards (eg. in graveyard using Delve). 2014-10-03 12:07:20 +02:00
LevelX2
f3ea64e27c * Changed handling of phases to stop to server based handling. 2014-09-25 00:33:58 +02:00
LevelX2
aa842efacc Added F5 button to skip priority until end step of opponent. Added PlayerAction handling. 2014-09-24 16:55:51 +02:00
LevelX2
17acc9f97d * Fixed that a player could wrongly not be chosen for not targeted effect, if the player had hexproof. 2014-09-22 22:27:10 +02:00
LevelX2
944de8140c * Added possibility for choose method to deselect cards. 2014-08-19 16:36:52 +02:00
LevelX2
d02f272bca * Fixed that attacker has not always to assign all damage to multiple blockers. Improved AI behaviour of assigning damage to multiple blockers. Tries to kill blocker if possible now. 2014-08-18 00:46:45 +02:00
LevelX2
797ee3d945 Some minor logging and comment changes. 2014-08-13 16:58:19 +02:00