Commit graph

1169 commits

Author SHA1 Message Date
Jmlundeen
0df5f17603
[TDM] Implement omen mechanic (#13501)
* Abstract AdventureCard to SingleFaceSplitCard

* Fix AdventureCardSpellImpl

* Finish converting adventure card and adventure spell

* Update Brightcap Badger

change finalize call to adventure card

* Update Darksteel Monolith

being cast from hand condition referencing AdventureCardSpell

* Update Tlincalli Hunter

exiled creature condition referencing AdventureCardSpell

* Update Twice Upon a Time

finalizeAdventure called from Adventure card

* Finish abstracting Adventure

missed some more references to adventure cards

* Implement Omen cards

* Implement Dirgur Island Dragon

* Missed some adventureSpellName references

* OmenCardSpell had wrong comma symbol

* Add tests for Omen Cards

* Rename two part card components

change from SingleFaceSplitCard to CardWithSpellOption

* Update comments and variable name
2025-04-08 08:54:18 -04:00
ssk97
969ffa1c98
FDN New Combat Rules (#13279)
* Remove all combat ordering code

* Use MultiAmount division for damage

* Remove damage selection division skipping in tests

* Fix Banding, Multi-block, add tests

* Fix test

* Fix random iteration order, fix new tests

* Add more info to choose dialog, make MultiAmountType class instead of enum

* Don't prompt for trample damage assignment if none possible

* Mark "Assign default damage" on tests, minor other test improvements
2025-03-30 14:42:05 -07:00
Oleg Agafonov
fe52d824b4 GUI: fixed error on mouse move over some table headers
(close #13331, close #13282, close #13272, close #13256, close #13246, close #13163, close #13107)
2025-02-17 00:23:48 +04:00
Oleg Agafonov
37cb2e38f6 bump version 2025-02-09 20:02:07 +04:00
Oleg Agafonov
07f68fbf38 server: fixed error on server startup from a launcher (temporary fix, #13315); 2025-02-08 21:41:43 +04:00
Oleg Agafonov
0e1a384dfe bump version 2025-02-08 17:54:10 +04:00
Grath
145bda842b
[DSK] Implement Hauntwoods Shrieker, added support to reveal face down permanents (#13277)
* [DSK] Implement Hauntwoods Shrieker.
* Change RevealedView and PlayerImpl.revealCards to reveal face-down permanents.
* Fix #13273 using the new RevealCards capability.
2025-02-07 19:18:31 +04:00
Oleg Agafonov
bf0b957948 [DFT] added image support for designations, added Speed image (visible on triggered abilities) 2025-02-07 00:45:06 +04:00
Oleg Agafonov
3405b51aaf tests: improved load tests (improved progress bar, added effects stats) 2025-02-04 11:41:42 +04:00
Oleg Agafonov
fc159728c7 version bump 2025-02-01 20:16:27 +04:00
Oleg Agafonov
1f1d1088a1 Turn under control reworked:
- game: fixed game freezes when computer try to take control over another computer or human (added game logs, related to #12878);
 - cheats: improved take and give control commands, now you can give control under yourself to another player;
 - cheats: improved take and give control commands, now you can return control to computer in the same priority;
 - cheats: deleted useless and unused command to activate opponent's ability;
2025-01-11 22:21:58 +04:00
Oleg Agafonov
0c8d49ce56 merge fix 2025-01-07 20:05:27 +04:00
Oleg Agafonov
5626c5f932 cheats: added default commands to take and remove control over another player (related to #12878) 2025-01-07 19:47:25 +04:00
Oleg Agafonov
2aa64f252c bump version 2024-12-17 00:13:21 +04:00
Oleg Agafonov
996de811da version bump 2024-12-01 21:16:21 +04:00
Oleg Agafonov
b1f914bbf4 version bump 2024-11-30 22:42:47 +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
b42d65fbb7 bump version 2024-09-25 16:57:20 +04:00
Oleg Agafonov
e1ab0be505 images: fixed wrong miss image message in card hints for dungeons and other command objects (part of #12274); 2024-09-20 17:23:14 +04:00
Oleg Agafonov
b40e7222b3 Dungeon improves:
* Dungeons: added dungeon name hint to room's game log and choices (part of #12274);
* GUI, game: added card popup hints support in feedback panel (yes/no choices);
* Images: fixed miss images for dungeons in command zone, game logs and choice dialogs;
2024-09-19 13:42:23 +04:00
Oleg Agafonov
350b41391a connection: added error message for failed connection on wrongly configured server (related to #12768, #6197) 2024-09-13 14:54:44 +04:00
Oleg Agafonov
eeada9043e version bump 2024-09-09 15:40:25 +04:00
Oleg Agafonov
278bda4c36 version bump 2024-09-08 22:13:45 +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
2fc4e94b3a GUI, game: fixed wrong number of targets in stack ability for some use cases (example: cumulative upkeep, close #12824) 2024-09-07 20:49:25 +04:00
xenohedron
54874a59b0
refactor: rename "remixed" to "reshuffled" (#12755) 2024-09-01 01:08:26 -04:00
Oleg Agafonov
e290bc8c1a connection: added wrong connection message for wrong java versions 2024-08-31 20:07:26 +04:00
Oleg Agafonov
de5de0e103 version bump 2024-08-16 19:35:42 +04:00
Oleg Agafonov
754e5fc41a GUI, preferences: removed rare/useless settings:
* Show ability picker forced - removed and keep enabled for all;
* Show turn info in logs - removed and keep enabled for all;
2024-08-12 21:25:16 +04:00
Oleg Agafonov
7916af0e52 server, refactor: added client side info about current table and parent table (tourney's sub-tables with matches); 2024-08-11 19:29:42 +04:00
Oleg Agafonov
e1cffbde40 download: reworked connection:
- added shareable code with default proxy, headers and other settings for download tasks like images, symbols, mtgjson, etc;
- use XmageURLConnection.downloadText for text resources
- use XmageURLConnection.downloadBinary for any file resources
- added user agent with app version for all requests;
- added http logs and improved error messages;
2024-07-31 21:25:56 +04:00
Oleg Agafonov
ba929d5692 GUI: improved GUI scale support (fixed font sizes in card icons popup, ability picker dialog, part of #969) 2024-07-27 17:05:54 +04:00
Oleg Agafonov
393dbc4047 Can't be activated effects - fixed that some restricted effects show abilities as playable (example: Sharkey, Tyrant of the Shire and Karakas, fixed #10642) 2024-07-27 15:38:13 +04:00
Oleg Agafonov
2bf6e3e3a2 GUI: added mana and other symbols support in choose spell dialog (closes #12155) 2024-07-27 10:17:22 +04:00
Oleg Agafonov
521a0f6e32 GUI: introduced default card hints:
* refactor: added helper emblems instead rad counter's inherent emblems (use initGameDefaultHelperEmblems to define new card hints or other fake objects);
* refactor: added card hints support for emblems, planes and other command objects;
* GUI: added storm counter as default card hint (use hints tool to see it, closes #12360);
2024-07-27 09:40:41 +04:00
Oleg Agafonov
1f3fad6594 GUI, preferences: reworked size settings:
- added size settings for player's panel size (closes #12455, closes #12451, closes #5605);
- size settings can be edit by slider or by text edit;
- size settings for fonts has preview button with real text sample;
- improved some tabs and hints for better UX;
- improved GUI rendering performance;
2024-07-26 03:27:10 +04:00
ssk97
e8808c3ae3
Remove duplicate code for X costs (#12551)
* Replace "([a-zA-Z]+).getManaCostsToPay().getX()" with CardUtil.getSourceCostsTag(game, $1, "X", 0)
Fix Disrupting Shoal

* Change final card .getX() calls

* Condense all ManacostVariableValue enum values into "instance"

* Further removal of getX, Display X symbol for non-mana X cards

* Fix test

* Fully remove ManaCosts.getX

* Replace all different X dynamic values with GetXValue

* Remove individual cards checking getAmount for X values (leaving cost reduction that does not use X)

* Add null check for game object inside getSourceCostsTagsMap

* fix build errors

* fix Vicious Betrayal

* text fix
2024-07-23 01:57:47 -04:00
Oleg Agafonov
77df387e06 GUI: improved pick choice (dialogs with searchable list, related to #12420):
- dialog: added mana symbols and html support in headers and list;
- dialog: added custom hints for each list's item (use setHintData);
- dialog: added game object hint type (use object id as hint value);
- dialog: added fast way to add key, value, sort and hint data (use choice.withItem());
- cheats: added commands list in popup hint;
2024-07-18 23:04:47 +04:00
Oleg Agafonov
bf3f26ccc1 server: database improves:
- fixed broken database in some use cases (example: AI and choose name dialog, related to #11285);
- added docs and debug tools for sql queries, caches and memory analyse (see DebugUtil);
- refactor code to use shared settings;
- deleted outdated and un-used code (db logs, stats, etc);
2024-07-18 21:22:10 +04:00
Oleg Agafonov
6c0f7ebb90 GUI: reworked error dialog:
* added client version and improved stack trace;
* added copy to clipboard button;
* added button to create new issue on github (with prefilled form fields like error text);
* added GUI size settings support;
* some old errors now use new error dialog instead message box;
2024-07-05 17:42:36 +04:00
Oleg Agafonov
dc86ec1081 GUI: fixed that some triggered stack abilities do not show related/targeted objects in card hint (related to #12544) 2024-07-01 22:28:04 +04:00
Oleg Agafonov
1e2d179410 multiple player/opponent choose - fixed that game ask players in random order instead APNAP (closes #12532);
game: fixed wrong player restore for TestPlayer and SimulatedPlayer2;
2024-07-01 13:22:58 +04:00
xenohedron
9863e23435 refactor: ChoiceImpl constructor must specify whether required
changed a few others to required where clearly applicable
2024-06-29 22:57:47 -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
ssk97
32d7122e59
Fix looking at face-down creatures; implement [MKM] Lumbering Laundry (#12479) 2024-06-18 22:23:50 -04:00
Evan Kranzler
cdf91e66fb
Change tribal card type to kindred, update viashino and naga (#12271)
* change tribal card type to kindred

* update viashino to lizard

* update naga to snake
2024-06-08 13:55:52 -04:00
Oleg Agafonov
a3194970ca additional fix for commander colors from #12429 2024-06-07 23:48:27 +04:00
Susucre
ab280ad2ba
implement [MKM] Cryptic Coat (#12164) and Cloak ability 2024-06-06 12:47:07 +02:00
Susucre
20b7a115da
prevent direct access of Player->counters ; some cleanup on counter removal effects ; implement [MH3] Izzet Generatorium (#12314) 2024-05-29 22:34:54 +02:00
Oleg Agafonov
2298ebc5f5 Playable mana calculation improved:
* server: fixed server crashes on usage of multiple permanents with {Any} mana abilities (example: Energy Refractor, related to #11285);
* AI: fixed game freezes and errors on computer's {Any} mana usage (closes #9467, closes #6419);
2024-05-27 22:24:58 +04:00