Commit graph

274 commits

Author SHA1 Message Date
Oleg Agafonov
b315b46871 gui: deck editor - improved popup menu naming, added commander hint to sideboard, fixed generate/random deck dialog on cancel, removed outdated logs; 2024-03-08 00:48:25 +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
Oleg Agafonov
a4073a83c6 GUI: added custom tooltip support on mouse move over table's cell (related to #11438); 2023-11-22 07:37:04 +04:00
xenohedron
0baf89cb0d reduce default skill level of AI (from 6 to 2)
(higher skill level takes longer without making better decisions)
2023-09-30 16:18:57 -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
Oleg Agafonov
c328c71ef9 GUI: chats code upgraded to use new popup hint code; 2021-08-15 10:47:19 +04:00
ddzn
0f91524c26 Add Eurolander to others button in tables panel 2021-02-21 14:09:01 +01:00
Oleg Agafonov
a1da5ef437 * GUI: new reworked GUI and card render engine, card icons and dozens of other fixes (see full list in related PR); 2021-01-30 16:38:55 +04:00
vyacheslav.raskulin
b3dc0f5eca excessive lambda usage 2020-09-09 15:06:49 +03:00
vyacheslav.raskulin
8b31333d9d Collection creation is simplified 2020-09-09 15:03:01 +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
ac0bb713d7 * GUI: fixed auto-generated names for AI in new tournament dialog; 2020-07-10 17:57:56 +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
johnm
adcd9d84c6 Single setPlayerName method. 2020-05-25 16:49:12 +01:00
johnm
9df5c9ba68 Default unique name for AI. 2020-05-24 13:52:48 +01: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
Oleg Agafonov
b56587a383 Code cleanup (removed outdated client's config.properties settings) 2020-01-26 15:19:22 +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
Oleg Agafonov
04cb20f46a UI: improved deck editor exports:
* added deck export to files (#4243);
 * fixed wrong card sorting in deck files after save (#3719);
2019-03-21 19:17:41 +04:00
Oleg Agafonov
8b5993805a * UI: improved deck editor buttons and dialogs, prepared for export; 2019-03-21 05:20:57 +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
Ingmar Goudt
a64e31e697 sonar fixed 25022019 2019-02-26 09:20:15 +01:00
Oleg Agafonov
8cf681dff2 Updated libraries to latest versions and code compatibility fixes; 2019-02-17 16:12:57 +04:00