Commit graph

13110 commits

Author SHA1 Message Date
Oleg Agafonov
d4a1e27a44 GUI: improved choose X or number dialog (added source ability and card hint support, added limits info);
game: choose X - added source ability info to game logs;
2023-12-18 01:22:14 +04:00
Oleg Agafonov
d97b034711 cheats: fixed broken emblem commands (example: emblem:Human:ElspethSunsChampionEmblem:1) 2023-12-16 02:25:03 +04:00
Oleg Agafonov
595b0e0070 fixed few errors like NPE 2023-12-15 16:51:12 +04:00
Oleg Agafonov
0dbd86fb58 Merge fix 2023-12-14 22:25:45 +04:00
Oleg Agafonov
10641f8d63 GUI: hand - added default card sorting on mulligan (lands > other > creatures; mana value, name); 2023-12-14 22:13:07 +04:00
arcox
4e1a2218b2
[LCC] Implement March of the Canonized (#11540) 2023-12-12 00:00:53 -05:00
xenohedron
5a6c5b01b9 Revert "text fix"
This reverts commit 3bc28d63c3.
2023-12-10 21:53:00 -05:00
ssk97
ec0166bf7f
[LCI] Implement Fabrication Foundry; Unstable Glyphbridge (#11521)
* First pass at Fabrication Foundry

* misc cleanup

* First pass at Unstable Glyphbridge/Sandswirl Wanderglyph

* Set up backside correctly

* Fix Unstable Bridge cast condition

* Improve Fabrication Foundry to use Crew-like hint

* Fix equality check

Tested, though only manually.

Alongside the direct card implementations, I also:

-   Fix Oaken Siren's mana to not be able to pay for soft counterspells from artifact sources
-   Change PlayersAttackedThisTurnWatcher to follow the rules better and to have a separate section for planeswalkers' controllers who were attacked (needed for Sandswirl Wanderglyph)
-   Removed an unused constructor in ExileTargetCost (though I didn't end up using that cost in the end)
-   minor cleanup in CrewAbility
2023-12-10 21:30:20 -05:00
xenohedron
3bc28d63c3 text fix 2023-12-10 21:28:46 -05:00
Oleg Agafonov
d5b582c1b3 images: fixed miss images for double faced tokens like Incubator/Phyrexian (closes #11535); 2023-12-10 15:59:27 +04:00
Oleg Agafonov
725a27d6ad Double faced tokens - fixed wrong abilities on the back side (example: Incubator/Phyrexian tokens with transform, fixes #10351); 2023-12-10 15:01:00 +04:00
Oleg Agafonov
00a7cc645d Copy abilities - fixed wrong copy of transformed tokens like Incubator/Phyrexian (related to #11535, #11307, #10801, #10263); 2023-12-10 14:49:47 +04:00
Oleg Agafonov
50fd029c3b tests: improved show playable abilities to print playable list instead unique (see showAvailableAbilities), added custom effect for transform tests (see addCustomEffect_TransformTarget); 2023-12-10 14:31:55 +04:00
xenohedron
3b603595a2 fix #11532 (Animist's Might) 2023-12-09 16:14:32 -05:00
PurpleCrowbar
1006115912 Add Incubator token images. Related to #11535 2023-12-09 21:12:14 +00:00
Oleg Agafonov
f5c47686ac server: fixed broken games with banned players (regression) 2023-12-09 18:28:21 +04:00
ssk97
6cd8649857
GUI: lobby - improved details info about match (#11438) 2023-12-09 16:35:09 +04:00
Oleg Agafonov
6aaaa8cb46 GUI: improved main and battlefield menus (related to #11533):
- main menu: better naming for deck editor;
- battlefield menu: added deck view for computer players, better naming;
- network: improved experimental connection;
2023-12-09 15:20:29 +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
xenohedron
9e1645a1bc text fixes 2023-12-06 23:14:58 -05:00
xenohedron
6c5d5b8a90 fix The Everflowing Well, related cleanup 2023-12-06 22:28:00 -05:00
theelk801
62aad2bc25 [MKM] Implement Curious Cadaver 2023-12-06 18:21:49 -05:00
xenohedron
8deb441f6f merge cleanup 2023-12-05 20:37:15 -05:00
ssk97
898952515e
[LCI] Implement Intrepid Paleontologist (#11508)
* Improve some "mana spent -> give effect to permanent spell" cards
make effect source be the SpellAbility itself

* Implement Intrepid Paleontologist and tests

* Use a common class for the "specific MOR ETBs with counter" effect

* Prevent casting non-owned dinosuars

* Rename AddCounterEnteringMOR to AddCounterEnteringCreature

* fixes from review
2023-12-05 20:27:49 -05:00
Jeff Wadsworth
fe09873631 Added The Everflowing Well // The Myriad Pools. Perhaps someone knows why the ability keyword won't show up on the card. Works fine, though. 2023-12-04 18:53:12 -06:00
xenohedron
73394485cf remove unneeded case (related to #11326) 2023-12-04 19:33:26 -05:00
Grath
5c83818cba
[LCC] Implement Topography Tracker (#11504)
* Refactor replacement effects on ExploreEvent by using a queue of events
2023-12-04 00:46:21 -05:00
ssk97
d806a6a3be
Counter text improvements (plus a Magus Lucea Kane gameplay fix) (#11503)
* Improve text generation for some counter abilities

* Magus Lucea Kane must apply to permanent spells (bugfix, related to #11440)

* Further improve text generation of counter text

* Text improvements to a couple cards

* Graft text improvements

* Further remove unused variable

* Be consistent on Backup ability setup, revert Thalia's Lieutenant (filter reuse means it doesn't work)

* Thalia's Lieutenant original text was slightly wrong, fixed
2023-12-03 21:42:16 -05:00
Oleg Agafonov
eaa510b265 GUI: added restriction card icon to permanent (contains all applied restrictions and requirements, #7471) 2023-12-03 00:01:47 +04:00
xenohedron
264b73355a
refactor: improved targets that find a [type1] card and/or a [type2] card (#11497) 2023-12-01 19:26:30 +04:00
ssk97
f3e310cfd3
Fixed tags cost and MageObjectReference usage (#11500)
* Fix costs tag clearing while permanent still on the battlefield
* Improved version of game.getPermanentOrLKIBattlefield with MageObjectReference
* Improve documentation
2023-12-01 19:24:39 +04:00
xenohedron
35f4a898f9
Small rework for autochoosing color of mana to add (#11495)
fix #11494
2023-12-01 00:49:42 -05:00
xenohedron
b4a58a339d
Merge pull request #11492 from xenohedron/clean-watchers
refactor: align game default watchers with usage
2023-12-01 00:49:11 -05:00
Jeff Wadsworth
9131347698 Fixed #11491 2023-11-30 22:23:48 -06:00
xenohedron
201c1ef443 (can't remove PlanarRollWatcher without test rework) 2023-11-30 01:00:48 -05:00
xenohedron
6155f2d403 remove DamageDoneWatcher from default watchers 2023-11-30 00:59:21 -05:00
xenohedron
c164d70135 remove PlayersAttackedThisTurnWatcher from default watchers 2023-11-30 00:56:32 -05:00
xenohedron
1f764515f6 merge MorbidWatcher with CreaturesDiedWatcher 2023-11-30 00:11:10 -05:00
xenohedron
1ac4fe4e4a add doc comments for usage of default watchers 2023-11-29 20:57:12 -05:00
xenohedron
a4cc086775 cleanup usages of BlockedAttackerWatcher 2023-11-29 20:43:17 -05:00
xenohedron
cd439ab8c8 remove another game default watcher with one usage 2023-11-29 20:40:57 -05:00
xenohedron
f801c9851e move watchers used only in Arboria effect 2023-11-29 20:37:47 -05:00
xenohedron
37722a58c2 more watcher cleanup 2023-11-29 20:32:36 -05:00
xenohedron
f7d70a7b11 refactor: AttackedThisTurnWatcher is a default watcher
close #10982
2023-11-29 20:27:30 -05:00
xenohedron
9fbdede64b text cleanup: additional combat phase 2023-11-28 22:20:49 -05:00
Jeff Wadsworth
70069f2937 Fixed #11451 2023-11-28 17:13:15 -06:00
xenohedron
395d858056 text fix 2023-11-28 17:28:38 -05:00
xenohedron
05e2cf11e7
refactor: replacement effects don't use apply method now (#11484) 2023-11-28 11:17:28 +04:00
xenohedron
02eafaf062 simplify text gen for DamageCantBePreventedEffect 2023-11-27 23:47:10 -05:00
ssk97
2abe61643c
[LTC] Implementations part 2/4 (#11470)
* Aragorn, Hornburg Hero
* Minas Morgul, Dark Fortress
* Rohirrim Chargers
2023-11-27 23:41:20 -05:00