Commit graph

234 commits

Author SHA1 Message Date
ReSech
0cee5127dc
deck: added Freeform Unlimited deck type to play games with any cards amount (#13815) 2025-07-02 07:21:25 +04:00
Oleg Agafonov
2e7e78d1e5 GUI, table: allow unlimited draft bots amount, fixed computer names in 10+ tables (part of #13701) 2025-05-31 13:10:03 +04:00
Oleg Agafonov
f2826cc676
GUI, table: added drafts with single multiplayer and multiple 1vs1 games support (#13701)
- new tourney's single game mode allow to play tourneys/drafts with all players in one game without multiple rounds;
- it's allow to setup classic drafts with 1 vs 1 games and multiple rounds
- added AI opponents supported including draft bots from a public servers;
2025-05-31 10:39:23 +04:00
Oleg Agafonov
8d6ba84556 dev: added support of client code debugging without disconnection (no more connection/pings validation in server's test mode);
server: improved disconnection logs, fixed some race conditional bugs;
2024-10-09 16:03:38 +04:00
Oleg Agafonov
6625db1be1 GUI: reworked GUI to support non-blocking UI:
- GUI: added non-blocking UI to almost all app and game dialogs;
- GUI: it allows to switch between UI dialogs and use any UI elements at any moment;
- GUI: it allows to use chat, card popup, battlefield, concede and other features while choosing (related to #12670);
- GUI: it allows to download images while playing (related to #4160, not fully tested);
- GUI: enabled by default, can be disabled by java option: -Dxmage.guiModalMode=true
- connection: auto-connect will be visible in main menu on startup;
- connection: removed some unused features (auto-connect by command line);
- connection: added <ESC> button to close connection dialog;
- download: added background images download (see non-blocking UI);
- download: improved cancel stability and fixes that it can't stop preparing/downloading process in some use cases;
- app: fixed freezes on macOS systems in some use cases (related to #12431, #11292, #9300, #4920);
2024-09-08 00:40:13 +04:00
Oleg Agafonov
8f7abe2dc5 GUI: added old what's new page (build-in window on startup); 2024-08-05 00:01:38 +04:00
Oleg Agafonov
53a072b759 GUI, preferences: removed 4 useless size settings, fixed wrong fonts in few places like miss image path (part of #969, #6887) 2024-07-27 21:35:33 +04:00
Oleg Agafonov
f0c38cdb87 GUI: fixed that server's lobby do not remember divider position after app restart (tables, matches and chat sizes) 2024-06-23 15:55:46 +04:00
Oleg Agafonov
c8b5c1fa35 AI: fixed wrong quick start button for MCTS game 2024-06-10 21:51:55 +04:00
Oleg Agafonov
88a451bb4f GUI: fixed wrong font size in debug menu and quick game buttons 2024-06-10 21:51:05 +04:00
Oleg Agafonov
fef37cdc73 admin tools improves (#5388):
* added game ids and created time to tables list;
* added popup hints support to tables list;
* fixed wrong sorting and columns resizing in tables list;
* refactored some modules to share table related code between client and admin console;
2024-03-22 16:56:29 +04:00
ssk97
6cd8649857
GUI: lobby - improved details info about match (#11438) 2023-12-09 16:35:09 +04:00
Oleg Agafonov
960e896903
Network upgrade and new reconnection mode (#11527)
Network upgrade and new reconnection mode:
* users can disconnect or close app without game progress loose now;
* disconnect dialog will show active tables stats and additional options;
* all active tables will be restored on reconnect (tables, tourneys, games, drafts, sideboarding, constructing);
* user must use same server and username on next connection;
* there are few minutes for reconnect until server kick off a disconnected player from all player's tables (concede/loose);
* now you can safety reconnect after IP change (after proxy/vpn/wifi/router restart);

Other improvements and fixes:
* gui: main menu - improved switch panel button, added stats about current tables/panels;
* gui: improved data sync and updates (fixes many use cases with empty battlefield, not started games/drafts/tourneys, not updatable drafts, etc);
* gui: improved stability on game updates (fixes some random errors related to wrong threads);
* server: fixed miss messages about player's disconnection problems for other players in the chat;
* refactor: simplified and improved connection and network related code, deleted outdated code, added docs;
* tests: improved load test to support lands only set for more stable performance/network testing (set TEST_AI_RANDOM_DECK_SETS = PELP and run test_TwoAIPlayGame_Multiple);
2023-12-07 20:56:52 +04:00
Oleg Agafonov
b695f8906c GUI: improved game logs, added mouse cursor and hover style over active card names like browsers 2023-11-29 03:10:53 +04:00
Oleg Agafonov
a0ed89035f GUI: fixed wrong clicks from additional mouse buttons (now only left clicks are allowed, closes #11455) 2023-11-23 09:23:01 +04:00
Artemis Kearney
41874b0b4b
new feature: Emblem Cards (#10498)
* new feature: Emblem Cards

Allows match/tournament creator to specify cards to give each player
emblem versions of (or just the starting player for symmetric effects).

Technical details:
- new UI for specifying emblem cards (.dck files)
  - available for all match/tournament types
- new class `EmblemOfCard`
- new method `copyWithZone` on `AbilityImpl` (used to make abilities
  work from command zone)
- new fields on `GameOptions` and `MatchOptions` for emblem cards
- emblems are granted after mulligans, before first turn (technically
  after Planechase starting plane creation)

* fixes

* defaults for emblem cards in match options (fixes quick game buttons)

* minor fixes

* use DeckCardInfo instead of Card for emblem cards options

* restore accessible parent properties

* fix images for card emblems

* look up cards in a way that preserves which art

* fix typos; make Emblem.sourceObject protected

* add descriptions to planechase and emblem cards

* fixes

* add some unit tests for known working cards

* fix author name

* add explanation comment

* fix up tests

* copyWithZone: no longer modifies zone for singleton abilities

* directly check for MageSingleton
2023-09-26 22:47:13 -04:00
Alexander Novotny
519b3988be
game timer: Add chess-style buffer time option (#10598)
* UI Changes

* Add new buffer time options

* Main functionality

* Final implementation

Also added player UI for when they are using their buffer time (timer turns green)
2023-07-28 22:05:21 -04:00
Alex Vasile
cb268a25ee Removed dependency on JavaFX. What's New button now opens the link in the system browser. 2022-07-25 09:09:43 -04:00
Alex Vasile
a294f80baf Fix name changes to be compatible with old scripts 2022-07-12 22:49:40 -04:00
Alex Vasile
9e3549fbe1 Made computer names easier to type for testing and lower difficulty to speed up thinking 2022-07-12 21:56:36 -04:00
Alex Vasile
4f0e0a2ec6
Made quick start commander be multiplayer (#9200) 2022-07-08 21:59:10 -04:00
sprangg
22de97aa18 Make it possible to join a constructed tournament when the decktype is set to "limited". 2022-06-23 00:36:37 +03:00
ddzn
0f91524c26 Add Eurolander to others button in tables panel 2021-02-21 14:09:01 +01:00
vyacheslav.raskulin
b3dc0f5eca excessive lambda usage 2020-09-09 15:06:49 +03:00
Oleg Agafonov
40fe3b137e * GUI: fixed that Historic games aren't visible in lobby list (now it visible under "other" filter); 2020-08-23 21:54:34 +04:00
LevelX2
445f824424 * Added column hints to the headers of the list of active tables. Added some more details to the info column about rollback, spectators or planechase activated. 2020-08-22 00:48:13 +02:00
Oleg Agafonov
c5d7a3e9f9 * GUI: added auto-fix for deck files on usage (if deck contains wrong card numbers then it will be fixed and saved automaticity); 2020-08-08 21:27:20 +04:00
Oleg Agafonov
c011ff92ad GUI: fixed that jumpstart tournament don't show up in the tables list (#6816); 2020-07-10 11:51:26 +04:00
Oleg Agafonov
80b7f8493b UI: fixed font size in what's new button 2020-04-16 11:10:50 +04:00
Oleg Agafonov
79c5c7a6a5 Test framework improves (Monte Carlo AI):
* Added support to test Monte Carlo AI (CardTestPlayerBaseWithMonteCarloAIHelps - any aiXXX commands);
* Added Quick Start button to test Monte Carlo AI games (MCTS);
2020-04-14 20:09:36 +04:00
Oleg Agafonov
f50bc8f36f * UI: ignore list improved:
* Added support of usernames with spaces (#6305);
 * Increased max limit from 50 to 100;
 * Added list size info on connection or command usage;
2020-02-27 02:05:16 +04:00
michaelrfarcasin
c3cb54f371 Add Freeform Unlimited Commander game type
Currently there's no multiplayer format that allows players to cast
spells from the command zone and also allows any deck size.

This is a problem for players who want to test EDH Cube decks. These
decks:
- can have any size - often between 40 and 100 - with no standard
- can have cards outside the commander's color identity
- may break the singleton rule

Create a game and deck type to accommodate these types of decks.

Notable differences from Freeform Commander in addition to the above:
- Decks can have any number of cards in the maindeck or sideboard
- Sideboard cards can be any type
- There are no illegal expansions
- Games can have a minimum 2 players
2020-01-20 22:47:27 -06: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
Oleg Agafonov
4ab598a7c9 Fixed missing code in Pioneer format 2019-11-05 22:29:22 +04:00
Evan Kranzler
b49bf569ce added Pioneer format 2019-10-21 21:46:37 -04:00
acosta
35a4f1a2fd Add Centurion banlist 2019-10-16 10:44:59 +02:00
Oleg Agafonov
8ca5a3ec2e UI: added filter button for oathbreaker format 2019-05-27 18:17:34 +04:00
Oleg Agafonov
bf20e7d656 Test button fix 2019-05-13 13:30:18 +04:00
Oleg Agafonov
8448afc709 Test framework: added commander games support (quick start button, "commander" command to put card as commander); 2019-05-13 13:20:41 +04:00
Oleg Agafonov
24b221ff34 Test framework: added default test deck (no more test.dck file required to start test game); 2019-05-13 10:47:53 +04:00
Oleg Agafonov
3fa97d47c6 Improved timeout updates for slow server 2019-04-19 18:19:02 +04:00
Oleg Agafonov
c95f14f64c * UI: fixed that server messages and tables list is not refresh after re-connect (#4194); 2019-04-19 17:37:26 +04:00
Oleg Agafonov
fe9c3fbae8 Fixed bloated connection errors in logs;
Fixed that data update tasks runs after disconnect;
2019-04-12 15:38:33 +04:00
Oleg Agafonov
b7e68f3e0a * Fixed client crush on old systems without JavaFX supports like MacOS 10.9; 2019-04-02 08:20:48 +04:00
Oleg Agafonov
6606b586a4 UI: added what's new button to message of the day panel and connection dialog; 2019-03-29 10:41:49 +04:00
Ingmar Goudt
553d263526 add missing diamond operators 2019-03-04 11:57:53 +01:00
Oleg Agafonov
38293e4659 * Improved network performance (traffic reduced from lobby by 60%); 2019-03-01 19:40:39 +04:00
Oleg Agafonov
8cf681dff2 Updated libraries to latest versions and code compatibility fixes; 2019-02-17 16:12:57 +04:00
Oleg Agafonov
067b0d75b5 UI: added premodern filter to tables list (#5301); 2019-02-09 21:08:22 +04:00
Oleg Agafonov
c7ccc332d5 UI: tables with free seats always shows on top of the games list; 2019-02-01 20:56:27 +04:00