Commit graph

1549 commits

Author SHA1 Message Date
xenohedron
5070f8bef7
Fix auto-choose targets for activated abilities and spells (#13036)
* rework Armory Automaton

* remove redundant "setRequired(false)" from effects that separate into piles

* replace setRequired(false) with minTargets 0

* remove setRequired(false) where minTargets already 0

* remove setRequired(false) where preceded by chooseUse

* Revert "Player auto-choose respects required targets (#10557)"

This reverts commit fb8424556e.
2024-10-26 20:23:50 -04:00
Oleg Agafonov
1ec277631f GUI, game: added card popup support in choose target amount dialogs (example: damage distribution, related to #9827) 2024-10-24 16:30:17 +04:00
Oleg Agafonov
2d9ac4e732 refactor: removed outdated Player::assignDamage by multi amount dialog, fixed getMultiAmount to work with min values, added additional checks 2024-10-24 15:31:04 +04:00
saltstonestorm
1f04e11eab
ban Tamiyo as commander (#12948) 2024-09-30 16:42:28 -04:00
Grath
dea500c11d Update Commander ban list.
https://mtgcommander.net/index.php/2024/09/23/september-2024-quarterly-update/
2024-09-23 12:20:25 -04:00
Oleg Agafonov
45ded61d6f server: improved compatibility to run server under java 9+ (related to #12768, #6197) 2024-09-13 14:53:05 +04:00
Oleg Agafonov
22c207bcd8 Lunar Convocation - fixed game error on usage (miss watcher); 2024-09-09 06:43:24 +04:00
Oleg Agafonov
278bda4c36 version bump 2024-09-08 22:13:45 +04:00
xenohedron
54874a59b0
refactor: rename "remixed" to "reshuffled" (#12755) 2024-09-01 01:08:26 -04:00
Wajih Ben Slama
3a70e0c405
update banned/restricted lists per August 26th 2024 update (#12739) 2024-08-27 01:02:55 -04:00
jimga150
4259b7fa39
[40K] Implement Seeker of Slaanesh; added new must attack option (#12712)
* Add player-based "must attack" requirement check

* Implement Seeker of Slaanesh and add (ignored) test

* Fix check for ability of any controlled creatures to attack

* rename misleading variable
2024-08-24 18:37:17 -04:00
xenohedron
9fcbfdeac6
Rework drawing cards and associated replacement effects; implement [WHO] River Song (#12700)
* remove unused scoring system code

* add test for Alms Collector replacement effect

* flatten draw cards into single method in PlayerImpl

* remove outdated MageAction framework

* clarify game event for drawing two or more cards

* clarify methods for getting cards from library

* implement [WHO] River Song

* fix error

* adjust library methods

* add lots of test cases for draw replacement effects

* fix #12616

* track cards drawn this way through multi draw replacement as well

* add test for River Song

* remove redundant comment
2024-08-24 01:02:55 -04:00
ssk97
b70638acc9
Unbound Flourishing's X doubling should be a triggered ability (and related refactors) (#12597)
Complete rework of Unbound Flourishing, removing the multiplier code for casting X spells.
Adds ActivateAbilityTriggeredAbility, NotManaAbilityPredicate, AbilitySourceAttachedPredicate
CopyStackObjectEffect now uses a MOR.
OrTriggeredAbility now works with target pointer setting abilities.
2024-08-22 13:33:39 -07:00
Oleg Agafonov
de5de0e103 version bump 2024-08-16 19:35:42 +04:00
jimga150
e976920e2d
[BLB] Implement Season of Gathering and Pawprints mechanic (#12617)
* Add skeleton

* Implement Pawprints modal functionality

* Implement Seasons of Gathering

* remove unused imports

* Add Pawprints test

* use withPawPRintValue() instead of setter

* use 0 for non-pawprint mode and modes classes and move mode validation to addMode

* Use GreatestPowerAmongControlledCreaturesValue

* Fix pawprints check

* calcualte sleected pawprint count based on selected modes

* move max pawprints check to getAvailableModes

* fix max pawprints checks
2024-08-14 21:13:09 -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
Evan Kranzler
8ed3c0c12d
Reworking standard legality (#12624)
* rework standard rotation

* add comment

* add flag to previous sets
2024-07-31 14:55:48 -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
saltstonestorm
fff7496322
game: updated cards ban list for duel commander (#12611) 2024-07-27 22:44:33 +04:00
Oleg Agafonov
a974af3c61 GUI: improved choose creature type dialog - important creature types added to the start of the list and marked as my/opponent (closes #8478) 2024-07-19 03:17:53 +04:00
Oleg Agafonov
7b2e9b390c GUI: added card hints in choose replacement effect dialog 2024-07-19 00:06:18 +04:00
Susucre
fad0271dbf update Canadian Highlander points list
closes #12557
2024-07-07 00:52:50 +02: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
Oleg Agafonov
7d675de876 server: fixed server app freeze on another instance already running, improved threads usage (related to #11285); 2024-06-23 15:58:25 +04:00
xenohedron
1b3ac1fc7f update duel commander banlist (part of #12483) 2024-06-18 22:14:55 -04:00
xenohedron
fdd244786b refactor: improve method name (related to 86fa9278) 2024-06-13 00:43:51 -04:00
Oleg Agafonov
e209ce1c97 server: fixed wrong cheater detection in some tourney sideboardings (closes #11877) 2024-06-11 00:30:00 +04:00
Oleg Agafonov
72cf60085c AI: fixed MCTS (Monte Carlo) errors in some simulations (#10154); 2024-06-10 21:54:53 +04:00
Oleg Agafonov
fe55e67ca3 AI: fixed any MCTS (Monte Carlo) simulations fail, added catch error on MCTS fails (#10154); 2024-06-10 20:37:32 +04:00
Oleg Agafonov
8f70039e3e AI: fixed error on targeting activated ability on stack (closes #12437); 2024-06-08 23:14:26 +04:00
Alexander Novotny
892ccddd35
game: fixed wrong commander colors with large color identity (#12429) 2024-06-07 23:46:32 +04:00
Susucre
0cd2fda764 add comment on why "Name Sticker" Goblin is banned, as it's a mtgo replacement for a banned card 2024-06-07 17:39:53 +02:00
Susucre
be58777f7b update formats banlist
https://magic.wizards.com/en/banned-restricted-list
https://magic.wizards.com/en/news/announcements/may-13-2024-banned-and-restricted-announcement
https://magic.wizards.com/en/news/announcements/pauper-bans-for-june-6-2024
2024-06-07 17:25:50 +02:00
Oleg Agafonov
de323a3577 fixed tests 2024-06-07 13:34:49 +04:00
Oleg Agafonov
c2ae1386ff server: improved conceding logic with more protection from game errors/freeze (related to #11285, #11460) 2024-06-07 12:52:42 +04:00
Oleg Agafonov
d54a549e43 fixed #12417 2024-06-06 23:48:15 +04:00
Evan Kranzler
27bea843a3
[M3C] Implement Ulalek, Fused Atrocity and new colorless hybrid mana (#12273)
* improved by (#12415)
* Added symbol downloads for new colorless hybrid
---------

Co-authored-by: Alexander Novotny <alexander_novo@mail.tmcc.edu>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2024-06-06 23:43:45 +04: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
add2d0473e dev, AI: improved AI logs:
* added object and targets info for possible actions;
* added detailed score for each action in possible action chains;
* added stack info;
* improved output for easy read and analyse;
2024-05-28 17:17:16 +04: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
Susucre
754b382e78
implement [MH3] Nethergoyf, refactor targets usages by game param (#12267) 2024-05-21 13:34:38 +02:00
Oleg Agafonov
ebe04dc3a6 tests: added tests for Chandra Ablaze card and some AI logic; 2024-05-12 14:37:10 +04:00
Oleg Agafonov
d1cca988c4 refactor, ai: removed outdated and unused code (suggest actions for AI simulations); 2024-05-05 20:47:54 +04:00
Susucre
85cad4ff1e
cleanup AbilityType for easier check that an ability is an activated ability (#12153)
* cleanup AbilityType

* further cleanup

* cleanup instanceof

* tweak formatting

* rework Rex

* fix mistake in PlayerImpl

* cleanup 'instanceof' for 'ActivatedManaAbilityImpl'
2024-05-03 22:13:34 -04:00
Alexander Novotny
8771d9b7f5
Fix NPE (#12190) 2024-04-28 04:53:38 +04:00
Alexander Novotny
42906f519b
Fixed remembering self-referential choices (#12167)
* Fixed remembering self-referential choices

* Rename filtered message to auto answer message

* Always use auto answer message
2024-04-22 23:58:26 -04:00
RaelCappra
52530b173d
Update Banned & Restricted List, March 2024 (#12136)
* Modern: ban Violent Outburst

* Vintage: unrestrict Ponder
2024-04-17 20:26:17 -04:00
Oleg Agafonov
e8e2f23284 server: improved server stability (#11285) and reworked triggers/playable logic (#8426):
* game: now all playable calculations done in game simulation, outside real game (no more freeze and ruined games by wrong Nyxbloom Ancient and other cards with wrong replacement dialog);
* game: fixed multiple problems with triggers (wrong order, duplicated calls or "too many mana" bugs, see #8426, #12087);
* tests: added data integrity checks for game's triggers (3 enabled and 3 disabled due current game engine logic);
2024-04-16 23:10:18 +04:00
Oleg Agafonov
7fa4648316 refactor: code clean 2024-04-11 22:46:25 +04:00
Oleg Agafonov
7817a5cac6 deck improves:
* gui: removed public deck hash info;
* gui: improved xmage dck-file - now it correctly load a card's amount (related to files from third party services);
* server: fixed wrong cheating warning on deck construction (closes #11877);
* refactor: removed outdated hash code and calculations;
* other: added docs, added multiple deck hash tests;
2024-04-10 22:18:07 +04:00