Commit graph

376 commits

Author SHA1 Message Date
Oleg Agafonov
ff640a942e UI: improved skips and stops for declare blocker step:
* added options to STOP skip on any or zero blockers available;
 * added auto-stop before declare blockers step (e.g. user can cast instants and crew abilities);
2019-03-29 18:10:00 +04:00
Oleg Agafonov
0e6dbb4eed * UI: improved and fixed possible targets highlighting:
* added blockers highlighting on declare blockers step;
   * fixed that blocker targets highlights all attackers instead real;
   * fixed wrong attackers draw in images render mode;
2019-03-28 09:29:15 +04: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
Oleg Agafonov
d8bee36892 * Multiple choosing abilities - added de-selection (click on selected permanent to de-select it); 2019-03-10 15:36:53 +04:00
Ingmar Goudt
63718e7a6e Sonar fixes
remove the deprecated GameState.getWatchers()
2019-02-02 22:09:55 +01:00
Oleg Agafonov
004c2ba0c3 Upgraded all projects to same java 8 version 2019-02-01 17:54:59 +04: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
Oleg Agafonov
14f66029f8 Missing v33 commit 2019-01-16 20:59:45 +04:00
LevelX2
e6ce58d6bf XMage 1.4.32V0 2018-11-26 19:30:22 +01:00
LevelX2
deb675a74a Xmage 1.4.30V0 2018-08-15 11:35:40 +02:00
spjspj
aae3930ef4
Merge pull request #5145 from spjspj/master
Check if there are actually different replacement effects and only ask then if there are.  Having two Mana Reflections out makes the game unplayable atm.
2018-07-12 23:30:30 +10:00
spjspj
1c540bbc77 Check if actually different replacement effects 2018-07-12 23:21:00 +10:00
igoudt
ca1ebeb55e add method Game.isActivePlayer(UUID playerId) 2018-06-29 14:59:11 +02:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
LevelX2
a19c257e50 XMage 1.4.30V0 2018-05-27 01:28:42 +02:00
Oleg Agafonov
c24ba742f6 Fixed equal or == errors -- 23 cards and more (see #4407) 2018-04-28 21:24:48 +04:00
Evan Kranzler
198be1549d Revert "Revert "Merge branch 'planeswalkerErrata' into master""
This reverts commit f10b62f3da.
2018-04-20 20:42:04 -04:00
Evan Kranzler
f10b62f3da Revert "Merge branch 'planeswalkerErrata' into master"
This reverts commit 95d2721421, reversing
changes made to fc4986a589.
2018-04-20 16:41:29 -04:00
theelk801
95d2721421
Merge branch 'planeswalkerErrata' into master 2018-04-20 16:21:44 -04:00
LevelX2
fe2220e19e Xmage 1.4.29V0 2018-04-19 21:07:14 +02:00
Evan Kranzler
5fe607e852 updated targeting for cards that damage 2018-04-19 11:45:20 -04:00
Oleg Agafonov
ddc43d05f6 Removed unnecessary log info on user's freeze (#4646) 2018-03-22 11:58:14 +04:00
LevelX2
fed2d1a259 XMage 1.4.28V0 2018-03-10 20:42:29 +01:00
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