Commit graph

3832 commits

Author SHA1 Message Date
Tirth Bharatiya
6a1f4a35d4
refactor: extracted resource load methods from ModernCardRenderer to ModernCard (#11478) 2023-11-27 23:27:17 +04:00
Oleg Agafonov
c5632f6868 refactor: removed client side threads from a server, improved test log files rotation; 2023-11-27 18:13:05 +04:00
Oleg Agafonov
0470ae9799 GUI: fixed wrong ability text format for stack objects in popup image mode (closes #4057) 2023-11-27 01:54:38 +04:00
Oleg Agafonov
6e3fe7ec46 Cascade and other "cast spell without paying" abilities - added card popup support for casting card (closes #11355) 2023-11-27 00:49:37 +04:00
Oleg Agafonov
1dc040a2c9 GUI: added card popup support in feedback/choice panel (related to #9609) 2023-11-27 00:22:39 +04:00
Oleg Agafonov
550e97e1e3 refactor: removed some outdated GUI components and code 2023-11-27 00:20:11 +04:00
Oleg Agafonov
d016e4c4c3 GUI: added starting chat hints about popup hotkeys (hold <ALT+E> to force image, press <ALT+D> to show/hide right card panel) 2023-11-26 22:48:24 +04:00
Oleg Agafonov
f78c1ef08c GUI: improved stability of card popup in image mode (fixed errors in logs) 2023-11-26 22:32:39 +04:00
Oleg Agafonov
939ff7b441 GUI: added real objects in card popup for game logs and hints toolbox (workable hints, actual abilities, etc - closes #9529) 2023-11-26 14:42:49 +04:00
Oleg Agafonov
4500b79008 GUI: added changeable card popup mode for chats/logs by card name clicks (alternative to mouse wheel from game cards);
other: fixed duplicated chat popups in game, added miss error logs from popup related code, added additional checks for good code usage;
2023-11-26 12:48:41 +04:00
Oleg Agafonov
785f6973b9 GUI: fixed wrong popup card window in non-full screen; 2023-11-26 10:48:50 +04:00
Oleg Agafonov
ab515e60fe refactor: removed outdated code with databases sync (cards db downloads from a server); 2023-11-25 18:11:44 +04:00
Oleg Agafonov
d6adc6d051 GUI: player's panel - fixed wrong focus of hints button 2023-11-25 18:10:38 +04:00
Oleg Agafonov
63290d3ed6 GUI: fixed not working card popup near screen border, improved card popup for chat and choose dialogs; 2023-11-25 17:27:59 +04:00
Oleg Agafonov
7475ee922a GUI: improved chat messages with card names and popup supports (example: [[card name]], closes #4189); 2023-11-25 16:26:12 +04:00
Oleg Agafonov
d1f9e9cc90 Improved stability and other related fixes:
* server: added limit to max chat message (related to #11285);
* gui: fixed possible error after auto-submit deck;
* gui: fixed possible error after end game dialog;
* refactor: other code improves;
2023-11-25 12:29:54 +04:00
Oleg Agafonov
53add71826 Improved network stability and other related fixes:
* server: fixed that a critical errors ignored in user commands threads (now it will be added to the logs);
* network: fixed frozen user responses in some use cases;
* network: fixed accidental and incorrect user responses (only latest response will be used now);
* network: improved freeze logs, added problem method name and code's line number;
* cheats: removed outdated deck and card load logic (only init.txt commands supports now);
* cheats: fixed wrong priority after add card dialog (closes #11437);
* cheats: improved stability and random errors on cheat executes (related to #11437);
* docs: added details on network and thread logic, human feedback life cycle, etc (see HumanPlayer, ThreadExecutorImpl);
2023-11-24 21:22:16 +04:00
Oleg Agafonov
4ba3e1fec5 images: improved support of scryfall download (added timeout for compatibility with api rate limits) 2023-11-23 14:00:38 +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
75958e3710 refactor: improved and reorganized client-server api, added additional logs, fixed miss admin checks for some commands 2023-11-23 09:12:02 +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
Oleg Agafonov
7629e4bf7c tests: render dialog - added options for player panel (active status, controller, selectable, small mode) 2023-11-22 01:44:02 +04:00
Oleg Agafonov
c5bd8663d4 tests: render dialog - added player panel render (PoC, without any options) 2023-11-22 00:29:42 +04:00
Oleg Agafonov
a8ccbd4c63 gui: fixed miss monarch and initiative info in player's name/avatar tooltip (#11424); 2023-11-19 23:05:50 +04:00
Oleg Agafonov
6e99a3653a Initiative abilities - added card hint with initiative info to all related cards (closes #11424);
tests: added verify test for miss initiative card hint;
gui: fixed wrong max amount of card hint windows;
2023-11-19 23:00:42 +04:00
Oleg Agafonov
2bbe2b3c43 GUI - new card hints window features:
* new help window can be opened from a player panel;
* it collect and show all visible game hints from all players and all zones;
* it updates in real time on game update;
* allows to customize visible data;
* allows to open multiple windows (current limit is 5 windows, can be slow to render);
* allows to minimize opened windows;
* workable card popup on mouse move over card name or card id;
* filter modes:
  * all - show hints from all players;
  * player - show hints from single player;
* group mode:
  * by hints - show same hints as one with all used cards;
  * by cards - show full cards list with own hints;
* search mode:
  * allows to filter card hints by player name, card name, card id or card hint;
  * allows to search multiple words (equals to "or")
* current limitation:
  * card popup shows a card instead a real object, e.g. miss card hints in it (relelated to game logs problem);
  * unsupport of emblems, dungeons and other non card objects from a command zone;
  * unsupport of revealed and library's top cards;

GUI - player's panel improves:
* added hints helper button;
* added player hithlight as possible target in choose dialogs;
* improved player name button in small mode;
* fixed wrong height in small mode;

Other fixes:
* game logs: added card popup support for logs with custom object name;
2023-11-18 14:48:25 +04:00
Tirth Bharatiya
44b8a0faf4
refactor: improved code to increase readability. (#11418)
Moved the cardViewEquals method from CardPanelRenderModeMTGO to CardView
Decomposed conditional to increase readability.
Changed the variable/constant names to increase the readability.
2023-11-17 10:47:53 +04:00
xenohedron
2dffe58e41 remove AI from beta server button in connect dialog 2023-11-09 23:33:52 -05:00
Oleg Agafonov
81d44e615f gui: improved multi amount dialog (added cancel option, added mana symbols support in messages, improved form structure) 2023-11-02 12:30:40 +04:00
Oleg Agafonov
3abdb72910
dev: improved code coverage (jacoco) and static analyser (sonar) support (#11367):
* fixed code coverage data lost on failed tests;
* fixed code coverage report duplication and improved performance;
* fixed that sonar analyser can't see code coverage for some modules;
* added new aggregation module: Mage.Reports (used for code coverage report generation);
* reorganized pom and added additional instructions for jacoco and sonar usage;
2023-10-30 09:19:12 +04:00
Oleg Agafonov
a191668b09
Merge pull request #10968 from magefree/dependabot/maven/Mage.Client/org.apache.xmlgraphics-batik-transcoder-1.17
Bump org.apache.xmlgraphics:batik-transcoder from 1.13 to 1.17 in /Mage.Client
2023-10-30 05:40:33 +04:00
bobwoco
8bcff5841c
gui: improved svg Refactor css file URIs to comply with library change (#11366)
Co-authored-by: Ethan Ward <ethanandrewward@gmail.com>
2023-10-30 05:39:54 +04:00
xenohedron
18c6596cc0
Improvements to player selection of TargetAmount (#11341) 2023-10-26 02:12:15 -04:00
PurpleCrowbar
8fc880c23b Remove several invalid sets from token image database 2023-10-20 17:32:38 +01:00
theelk801
5bed13eb9f [PIP] add set 2023-10-19 16:26:48 -04:00
PurpleCrowbar
dc7d1450f2 Fix text on DFC button's tooltip 2023-10-14 18:39:45 +01:00
Oleg Agafonov
36ccfb0a2a Performance: fixed memory leaks on each card viewer or draft open (10 Mb per call, related to #11285, fixes #9548) 2023-10-14 12:39:49 +04:00
Oleg Agafonov
f653fd4c34 tests: improved game/chat logs in load tests (now it shows in txt format instead html, example: test_TwoAIPlayGame_Multiple) 2023-10-11 15:00:33 +04:00
Oleg Agafonov
fe8b8e1def server: fixed npe error on load tests (miss buffer timer), code refactor 2023-10-11 14:15:15 +04:00
xenohedron
ac4dae5061 adjust message wording 2023-10-09 23:52:57 -04:00
Susucre
f14479c53c
Add custom options for starting life total and starting hand size (#11259)
* add startHandSize / startLife to the custom option panel

* use the custom startLife/startHandsize in all Game Modes
2023-10-06 23:22:48 -04:00
xenohedron
2ec532b157 add tray message on match start if window inactive 2023-09-30 16:28:44 -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
xenohedron
4883679cc7 GUI: enhance visibility of timer (resolves #11236) 2023-09-30 16:18:57 -04:00
xenohedron
bec7c22990 slightly reduce draft protection timer 2023-09-28 00:03:27 -04:00
xenohedron
7c535658f0 more defensive null checking in draft panel 2023-09-27 23:54:29 -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
Susucre
1acb1d6c9a
Tweak the Pillar of the Paruns format (#11197) 2023-09-24 22:09:38 -04:00
Susucre
a58cac2fd5
draft improves: add protection timer (2 sec) to avoid double pick (#11188) 2023-09-23 20:25:48 -04:00
Susucre
35710efa60
Add new Set files, as well as add new entries to mtg-cards-data.txt (#11193)
[SPG] [LCI] [LCC] [REX]
2023-09-23 20:24:44 -04:00