Commit graph

306 commits

Author SHA1 Message Date
Oleg Agafonov
28473c7bd0 * GUI: added popup menu to view player's outside/sideboard at any time (allows to view only own or computer's sideboards); 2021-07-21 13:44:35 +04:00
Oleg Agafonov
fc0ff6c22d Test framework: added support to test client side data in unit tests (getGameView -> CardView, etc); 2021-07-19 13:07:09 +04:00
Daniel Bomar
600cac6fc7
[READY FOR REVIEW] Implement a "multi-amount" dialog (#7528)
* Implemented chooseTargetAmount and new GUI dialog (distribute damage, distribute mana)
* Added tests and AI support;
* Test framework: added aliases support in TargetAmount dialogs;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-04-17 14:28:01 +04:00
Oleg Agafonov
81e0cc6403
Merge pull request #7158 from fburato/app-wiring-refactor
Application wiring refactor and externalise configuration path for server
2020-12-26 07:42:46 +01:00
Oleg Agafonov
a87c0b1ff6 Fixed potentially rollback errors with missing game data (#7273); 2020-12-24 23:43:53 +04:00
Francesco Burato
6e3750d50a [app-wiring-refactor]: Apply review comments:
- Add reference to original library in `FluentBuilder`.
- Change `I<Name>` notation to `<Name>Impl` notation.
- Move error config to test resources
- Add comment with config instruction
- Add config to the documentation
2020-11-12 20:12:50 +00:00
Francesco Burato
d0c2135e17 [app-wiring-refactor]: Remove static initialisation
- Remove all enum static managers
- Introduce interfaces for the managers
- Define new application wiring class (`ManagerFactory`)
- Externalise the configuration
2020-11-12 20:12:48 +00:00
Oleg Agafonov
a95e92455c Fixed NPE on freeze fix in non started games 2020-09-18 22:00:11 +04:00
Oleg Agafonov
3abe5e796a Server: removed unnecessary logs, extra comments 2020-07-25 19:06:38 +04:00
Oleg Agafonov
adbe84c540 Improved freeze checks and canRespond/isInGame usage 2020-07-01 13:48:22 +04:00
LevelX2
b0ad0126ca * Phase info added to the /Fix command. Some code cleanup. 2020-06-05 10:24:29 +02:00
Oleg Agafonov
2e73f9d1c5 * UI: added turn number and step info in game logs 2020-02-28 20:27:07 +04:00
Oleg Agafonov
d202df1649 Code cleanup 2020-02-21 19:34:04 +04:00
Oleg Agafonov
459524b565 * Game: improved forced join on connection problem (player must leave game, more info in join message); 2020-02-21 12:41:20 +04:00
Oleg Agafonov
58d7a96031 * Game: improved fix command (more info and fixes);
* Game: improved game startup message (more info about private messages and players stats);
2020-02-21 12:10:54 +04:00
Oleg Agafonov
f4a0c70cf3 Server: improved ping info (added last activity time) 2020-02-01 10:49:00 +04:00
Oleg Agafonov
2079065af3 * Server: added /pings chat command to show players and watchers ping info; 2020-01-31 22:30:31 +04:00
Oleg Agafonov
56c0dc485c Return old working version of force join (join all the time) 2020-01-18 09:52:07 +04:00
Oleg Agafonov
ce60a9d75b * UI: choose ability to play improves (see 8add25fa12) 2020-01-18 08:02:31 +04:00
Oleg Agafonov
8add25fa12 * UI: choose modes dialog improves:
* Added hotkeys to select options (1-9 for choice, SPACE/ENTER for done, ESC for cancel);
 * "Up to" modes choose dialog - added "done" button in dialog;
 * "Up to" modes choose dialog - fixed that user can't cancel if already selected one mode;
 * Added extra info about source object, selected and remaining modes to select, ability number for hotkey;
 * Fixed that mode choose dialog doesn't close on cancel (#6199);
2020-01-18 06:30:44 +04:00
Oleg Agafonov
4eacadb9f1 Server: added fix command call result to logs; 2020-01-15 07:22:36 +04:00
Patrick Hulin
1c9cd592bd Send message to client instead of forcing rejoin if player is still connected. 2020-01-09 23:33:38 -05:00
Oleg Agafonov
6ce1e973f3 Additional improves to #6150 2020-01-07 12:01:34 +04:00
Patrick Hulin
dda8c904b6 Force-join players to a game if they haven't joined after 5 seconds.
This check has always occurred for disconnected players; expand it to all players.
2020-01-06 17:39:34 -05:00
Oleg Agafonov
d6f2b52f1e Merge fix 2020-01-03 19:06:21 +04:00
Oleg Agafonov
cc0679b6d3 Server: added logs about fix command usage; 2020-01-03 18:59:10 +04:00
Oleg Agafonov
0faecb2fb6 Server: fixed missing data compress for some server's responses; 2019-12-31 04:11:23 +04:00
Oleg Agafonov
335f046357 Server improves:
* improved /fix command to support disconnected/freezed players;
 * added chat messages about connection problem with opponents (checks players status every minute);
 * reduced timeout before remove disconnected player from waiting game dialog (from 4 to 2 minutes);
 * reduced timeout between client's pings (from 60 secs to 20 secs);
2019-12-31 03:23:10 +04:00
ssouders412
50bd6cbc32
More pronoun fixes 2019-12-06 15:17:44 -05:00
Ingmar Goudt
178da75e4d Sonar fixes 2019-07-09 21:57:55 +02:00
Oleg Agafonov
f6123037ec * UI: added playable/activatable cards highlight in all zone and windows (mana abilities, commander, graveyard, revealed, etc); 2019-06-28 03:30:57 +04:00
Oleg Agafonov
9a9b304fd5 * UI: improved hand request dialog (users can ask your hand once per game, reset it by re-activate button); 2019-05-28 13:46:29 +04:00
Oleg Agafonov
6206616af4 Added some comments and timeouts info 2019-04-22 15:58:32 +04:00
Oleg Agafonov
de4befb9c2 * Sideboarding: fixed that it possible to auto-submit 40 cards deck instead 60 in constructed formats (#5579);
Sideboarding: fixed that cheated deck with sideboard can be used instead lose the game;
2019-04-01 07:34:46 +04:00
Oleg Agafonov
1ccd1c2f2d Fixed NPE error on "/FIX" chat command; 2019-03-11 20:34:22 +04:00
Ingmar Goudt
056226d83c Sonar fixes 19022019 2019-02-19 21:51:45 +01:00
Ingmar Goudt
2cd9e25229 better use of the CardsImpl constructor 2019-02-03 21:08:31 +01:00
Ingmar Goudt
7c2f55eda0 couple of sonar fixes 2019-01-17 12:03:22 +01:00
Oleg Agafonov
452b889fe7 Fixed some exceptions on slow servers; 2018-12-15 18:45:00 +04:00
Ingmar Goudt
7b4acbe386 clean up some null checks 2018-09-27 22:16:32 +02:00
spjspj
ec1dc44327 Hopefully fix the /fix command .. 2018-07-13 00:02:26 +10:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
spjspj
b45a409939 Continuing implementation of Planechase. 2018-04-15 19:40:15 +10:00
spjspj
a828050ae1 Continuing implementation of Planechase. 2018-04-14 23:09:37 +10:00
spjspj
471d49892f Attempt to allow players to fix the game if the active/choosing/person with priority has left or has run down the clock 2018-04-02 19:31:05 +10:00
ArcadeMode
5ac975c52e Blocker and Critical level bugfixes throughout the project (#4648)
* fixed https://sonarcloud.io/project/issues?id=org.xmage%3Amage-root&issues=AWIlv32RgrzAwlaaQ7rP&open=AWIlv32RgrzAwlaaQ7rP

* ensure closing of scanner if it was opened

* Refactored method in EmpyrialArchAngel to not always return same value.

* Refactored method in FalkenrathAristocrat to not always return same value.

* Refactored method in GilderBairn to not always return the same value.

* fixed left open resources, ensured quiet closing of the streams

* Refactored method in IceCave to not always return same value.

* Refactored method in KjeldoranRoyalGuard to not always return same value.

* Refactored method in LegionsInitiative to not always return same value.

* Refactored method in NaturesWill to not always return same value.

* added quiet closing method in new streamutils class, used to clean up the connectdialog

* Fix small typo

* added quiet closing to saveobjectutil

* closed resources in savegame method of gamecontroller

* properly close resources in loadGame method of GameReplay class

* further proper resource closing in ServerMessagesUtil

* fixed unclosed resources in copy method in mage framework Copier

* closed unclosed resources in copyCompressed method in Copier

* ensure closing of filewriter in manasymbols

* ensure proper closing of Stream in arcane UI

* ensure closing of datagram socket in arcane Util

* ensure resource closing in deckimport from clipboard

* ensure closing of plugin classloader

* ensured closing of zipinputstream resource

* ensure closing of fileoutputstream in ScryfallSymbolsSource

* ensure closing resources after finishing/canceling download of pictures

* remove commented code

* move locks to try block to ensure unlocking along all execution paths

* remove dangerous instance of double-checked locking

* removed dangerous instance of double checked locking in settingsmanager

* Removed dangerous instance of double-checked locking in ThemePluginImpl

* close resource which did not happen certainly

* close another stream

* ensure closing of inputstream
2018-03-22 08:13:13 -05:00
spjspj
f1967de231 This allows hidden information out from the game state. 2018-03-14 01:41:46 +11:00
spjspj
bb512faa98 Add option to get debug information from game state in chat 2018-02-19 12:12:18 +11:00
Oleg Agafonov
eae85e71bc UI: added new cheat engine for manual testing (see #4334) 2018-01-04 01:35:33 +04:00
LevelX2
4c5e5d1367 GamManager added lock handling. 2017-09-01 23:22:39 +02:00