master #17

Merged
Failure merged 124 commits from External/mage:master into master 2025-02-12 10:32:12 -08:00

124 commits

Author SHA1 Message Date
Oleg Agafonov
ba0e5a1aed Delve abilities - removed unnecessary windows with exiled cards (except few cards that can use it); 2025-02-11 22:21:07 +04:00
padfoothelix
e2557c1d1b
[WHO] Implement Wilfred Mott (#13320) 2025-02-10 21:51:04 +04:00
padfoothelix
01f8308199
[WHO] Implement The First Doctor (#13330) 2025-02-10 21:46:57 +04:00
Oleg Agafonov
37cb2e38f6 bump version 2025-02-09 20:02:07 +04:00
Oleg Agafonov
62ba9f02ba connection: disabled outdated proxy settings (#13323) 2025-02-09 19:51:10 +04:00
Oleg Agafonov
19269b22b0 refactor: improved ETB rules generations, fixed some cards/abilities (related to #12791) 2025-02-09 17:25:48 +04:00
Oleg Agafonov
0d0661cc92 refactor: added code example for rules auto-replacement in creature's ETB (related to #12791) 2025-02-09 13:51:22 +04:00
padfoothelix
1774c2ec36
Sinister Concierge - improved text, card logic and game logs (#13312) 2025-02-09 03:43:43 +04:00
Mikołaj Sobiech
57c1fc9ef2
[DRC] implement Aetheric Amplifier (#13316) 2025-02-09 02:10:03 +04:00
theelk801
bc120a34c7 [DFT] various text fixes 2025-02-08 16:42:10 -05:00
Oleg Agafonov
06f24515cc refactor: added param to hide activate text in ActivateAsSorceryActivatedAbility (related to #13316); 2025-02-08 23:35:50 +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
85b92a5c3b server: removed outdated settings with MaxPermSize (#13314) 2025-02-08 18:47:32 +04:00
Oleg Agafonov
0e1a384dfe bump version 2025-02-08 17:54:10 +04:00
Mikołaj Sobiech
c57e5ad6c0
[DRC] Implement Aetherflux Conduit (#13311) 2025-02-08 02:29:00 +04:00
Oleg Agafonov
c54fcde72a GUI, game: added source info in choose mode dialogs 2025-02-08 02:04:37 +04:00
Oleg Agafonov
0612431ab2 [PIP] Implement Struggle for Project Purity (part of #11324) 2025-02-08 02:00:43 +04:00
Oleg Agafonov
e408836a19 game: added defenders info in declared attackers log 2025-02-08 01:57:00 +04:00
Mikołaj Sobiech
e9273295ee
[DRC] Implement Accursed Duneyard (#13303) 2025-02-07 22:15:03 +04:00
PurpleCrowbar
aa5c2279e7
Decayed ability - improved rules text (#13296) 2025-02-07 21:52:48 +04:00
Mikołaj Sobiech
25a2ea6347
[DRC] implement Adaptive Omnitool (#13310) 2025-02-07 21:44:01 +04:00
Mikołaj Sobiech
c9a7a337bd
[DRC] Implement Rhet-Tomb Mystic (#13304) 2025-02-07 21:40:43 +04:00
Oleg Agafonov
7caa44a5c7 Greatest power among creatures - added card hints in all related cards 2025-02-07 20:09:48 +04:00
Mikołaj Sobiech
fbc206acda
[DRC] Implement Peema Trailblazer (#13302) 2025-02-07 20:00:24 +04:00
Alexander Novotny
1d6c096ab5
Ballad of the Black Flag - fixed wrong text (#13300) 2025-02-07 19:56:44 +04:00
jackd149
78fa8e1cb0
[DFT] Implement Lifecraft Engine (#13294) 2025-02-07 19:51:30 +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
89be55c816 tests: fixed randomly fail test 2025-02-07 15:13:58 +04:00
Oleg Agafonov
9f2cfc9e09 tests: added runtime check for OrTriggeredAbility (related to #12826, 13309) 2025-02-07 14:34:45 +04:00
Bruno Pinheiro
a63ad8f99c
Heaped Harvest - fixed that it trigger only once on enters and sacrifice (#13309) 2025-02-07 14:24:13 +04:00
Oleg Agafonov
30af2ef2c8 tests: improved stability 2025-02-07 08:12:43 +04:00
Oleg Agafonov
4a3429b792 Shadow Kin - fixed game error on usage with MDF cards (related to #13308) 2025-02-07 08:12:43 +04:00
Wesley Mauk
b31a6c834a
Shifting Woodland - fixed game error on usage with MDF cards (#13308) 2025-02-07 08:12:30 +04:00
Oleg Agafonov
25e4930bd5 Number of card types in graveyards - added card hint for cards like Tarmogoyf 2025-02-07 07:37:27 +04:00
Przemyslaw Hugh Kaznowski
4a960995f7
dev: improved makefile for better build process (#13306)
Co-authored-by: Hugh Kaznowski <hugh@rapidrecast.io>
2025-02-07 05:56:49 +04:00
Grath
f8c5d04dc8 [UNF] Implement Priority Boarding 2025-02-06 18:44:41 -05: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
d018566324 Dredge - fixed game error in some use cases 2025-02-06 22:23:27 +04:00
PurpleCrowbar
f3420035d4 [BLC] Implement Thickest in the Thicket 2025-02-06 17:18:09 +00:00
Oleg Agafonov
c207f6c3ef [DFT] added booster 2025-02-06 18:51:03 +04:00
Callumvl
f2e3ce5c8a
[DFT] Implement Repurposing Bay (#13301) 2025-02-06 18:36:01 +04:00
Oleg Agafonov
703d275356 merge fix 2025-02-06 18:01:52 +04:00
Oleg Agafonov
f17cbbe72b AI: improved performance and fixed crashes on use cases with too much target options like "deals 5 damage divided as you choose" (related to #11285):
* added DebugUtil.AI_ENABLE_DEBUG_MODE for better IDE's debugging AI code;
 * it's a target amount optimizations;
 * it's use a grouping of possible targets due same static and dynamic stats (name, abilities, rules, damage, etc);
 * instead of going through all possible combinations, AI uses only meaningful targets from particular groups;
2025-02-06 17:40:22 +04:00
Oleg Agafonov
b4fa6ace66 AI: reworked blockers selections:
* now computer will use simplified 1 vs 1 combat damage simulations to choose better blockers (due better game score after combat);
* it's not a full combat simulation, but support many things like non-stack abilities, damage replacement effects and SBA -- much better than older PT compare (related to #13290);
* now AI correctly use a blockers with deathtouth, indestructible, first/double strike and other abilities;
* chump blocks also supported (chump logic implemented before in 92b7ed8efc, related to #4485);
2025-02-06 07:03:16 +04:00
Oleg Agafonov
7d229e511c tests: added AI performance tests to reproduce bad use cases with too much possible targets 2025-02-05 13:12:22 +04:00
Oleg Agafonov
416beb741c tests: improved load tests (added deck gen from all sets support, added network errors support, e.g. on server crash) 2025-02-05 13:05:37 +04:00
PurpleCrowbar
b3397a84b4 Add INR token images 2025-02-04 22:56:43 +00:00
Oleg Agafonov
033668b296 Name Sticker Goblin - fixed that it was illegal in commander games (close #13295) 2025-02-05 00:05:42 +04:00
theelk801
741c0875cf [DFT] Implement Carrion Cruiser 2025-02-04 14:22:41 -05:00
theelk801
844c6a3321 [DFT] Implement The Aetherspark 2025-02-04 14:15:52 -05:00
theelk801
194ff4b073 [DFT] Implement Thunderhead Gunner 2025-02-04 13:51:06 -05:00
theelk801
8d042af13c [DFT] Implement Pothole Mole 2025-02-04 13:48:09 -05:00
theelk801
e719cd03a3 fix test failure 2025-02-04 11:11:40 -05:00
theelk801
d1b1a0092b [DFT] Implement Pit Automaton 2025-02-04 10:57:01 -05:00
theelk801
d098ca5346 [DFT] Implement Redshift, Rocketeer Chief 2025-02-04 10:50:42 -05:00
theelk801
6e98d9ea34 [DFT] Implement Far Fortune, End Boss 2025-02-04 10:38:20 -05:00
jackd149
cc30159019
[DFT] Implement Boommobile (#13287) 2025-02-04 19:17:35 +04:00
jackd149
f112525ae8
[DFT] Implement Autarch Mammoth (#13275) 2025-02-04 18:43:12 +04:00
Oleg Agafonov
b62ac065c1 AI: improved performance in tournament games (now computer will play AI vs AI games at the same time); 2025-02-04 14:26:17 +04:00
Oleg Agafonov
690bc36023 tests: improved load tests (better logs) 2025-02-04 14:23:15 +04:00
Oleg Agafonov
b29a969fdb [DFT] fixed miss emblem 2025-02-04 13:48:55 +04:00
Oleg Agafonov
2b659cd72c tests: improved load tests (added finish step in result table, fixed outdated game data) 2025-02-04 12:26:24 +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
f5b901beb4 tests: improved load tests (added creature stats, improved progress bar) 2025-02-04 10:23:00 +04:00
Oleg Agafonov
7035736a6c AI: improved game stability on blocking (related to #13290) 2025-02-04 10:21:13 +04:00
theelk801
8aa432067a fix verify failure 2025-02-03 20:56:23 -05:00
theelk801
f01a13eed5 [DFT] Implement Voyager Glidecar 2025-02-03 20:33:23 -05:00
theelk801
a45511d7eb [DFT] Implement Webstrike Elite 2025-02-03 20:27:37 -05:00
theelk801
d9280a1122 [DFT] Implement Mu Yanling, Wind Rider 2025-02-03 20:11:58 -05:00
theelk801
ff3e4d9d35 [DFT] Implement Grim Javelineer 2025-02-03 20:03:26 -05:00
theelk801
a41b8b9e8b [DFT] Implement Chitin Gravestalker 2025-02-03 19:50:10 -05:00
theelk801
c3f7619fbf [DFT] Implement Samut, the Driving Force 2025-02-03 19:43:06 -05:00
theelk801
2d60bc6db8 [DFT] Implement Reckless Velocitaur 2025-02-03 19:34:34 -05:00
Oleg Agafonov
92b7ed8efc AI: reworked blockers selections:
* fixed game freezes for no-possible block configurations like Menace (#13290);
* fixed computer cheating to ignore block requirements like Menace (now AI will choose all required blockers instead 1);
* improved computer logic for blockers selection (try to sacrifice a creature instead game loose, simple use cases only);
* added freeze protection for bad or unsupported attacker-block configuration;
* refactor: deleted outdated AI code;
2025-02-04 01:14:59 +04:00
theelk801
a99871988d [DFT] Implement Ticket Tortoise 2025-02-03 15:02:22 -05:00
theelk801
9ef584c02b [DFT] Implement Scrounging Skyray 2025-02-03 14:58:25 -05:00
theelk801
c082edd663 [DFT] Implement Adrenaline Jockey 2025-02-03 14:56:46 -05:00
theelk801
c0ccbe2a2b [DFT] Implement Chandra, Spark Hunter 2025-02-03 14:19:17 -05:00
theelk801
70868ad4ab [DFT] Implement Trip Up 2025-02-03 11:56:12 -05:00
theelk801
2451244827 [DFT] Implement Sabotage Strategist 2025-02-03 11:51:58 -05:00
theelk801
a19fd3465b [DFT] Implement Rise from the Wreck 2025-02-03 11:44:18 -05:00
theelk801
0ae3b7b370 [DFT] Implement Hour of Victory 2025-02-03 11:35:08 -05:00
theelk801
6a55ee95a4 [DFT] Implement Haunt the Network 2025-02-03 11:35:08 -05:00
theelk801
45ac890d7d [DFT] Implement Fang Guardian 2025-02-03 11:35:07 -05:00
theelk801
12502e3587 [DFT] Implement Marauding Mako 2025-02-03 11:35:07 -05:00
theelk801
a41aefa1b1 [DFT] Implement Magmakin Artillerist 2025-02-03 11:35:07 -05:00
theelk801
cf6ba1895a [DFT] Implement Cryptcaller Chariot 2025-02-03 11:35:07 -05:00
Oleg Agafonov
356d677dac tests: added AI reproduceable bug from #13290 2025-02-03 20:01:38 +04:00
Oleg Agafonov
58fbfdd529 refactor: improved usage of getOpponents to ignore leaved players in one short effects 2025-02-03 17:46:57 +04:00
theelk801
81f802febc [DFT] Implement Vnwxt, Verbose Host 2025-02-02 19:23:23 -05:00
theelk801
fc4d919ca0 [DFT] Implement Trade the Helm 2025-02-02 19:18:04 -05:00
theelk801
737a31b64b [DFT] Implement Pactdoll Terror 2025-02-02 19:05:30 -05:00
theelk801
b56f071414 [DFT] Implement Perilous Snare 2025-02-02 19:02:50 -05:00
theelk801
6c524c35b7 [DFT] Implement Ooze Patrol 2025-02-02 18:42:03 -05:00
theelk801
651ab8e093 [DFT] Implement Lumbering Worldwagon 2025-02-02 18:36:10 -05:00
theelk801
f57c53c88d [DFT] Implement Kickoff Celebrations 2025-02-02 18:32:16 -05:00
theelk801
ee5e436c8b [DFT] Implement Cloudspire Coordinator 2025-02-02 18:25:00 -05:00
theelk801
f1b5ca4948 [SPG] update set 2025-02-02 17:45:11 -05:00
PurpleCrowbar
0a37d84051 Add all Wizards Play Network, Judge Gift Cards, and Game Day Promos reprints 2025-02-02 22:06:00 +00:00
theelk801
4b35b2a588 [DFT] Implement Run Over 2025-02-02 10:23:51 -05:00
theelk801
5fde30378e [DFT] Implement Road Rage 2025-02-02 10:19:27 -05:00
theelk801
b908e790f4 [DFT] Implement Scrap Compactor 2025-02-02 10:10:34 -05:00
theelk801
175ca742b0 [DFT] Implement Lightwheel Enhancements 2025-02-02 10:00:44 -05:00
theelk801
d33f104985 [DFT] Implement Lotusguard Disciple 2025-02-02 09:41:52 -05:00
Cameron Merkel
ec5e982d7e
Choose card name - added support to choose names from adventure spells (example: Anointed Peacekeeper) (#13286) 2025-02-02 17:02:26 +04:00
Johannes Wolf
550c9ba1ae
Crypt of Agadeem - added card hint (#13283) 2025-02-02 10:29:19 +04:00
theelk801
3776a39683 [DFT] Implement Spikeshell Harrier 2025-02-01 19:21:46 -05:00
theelk801
b2be328e92 [DFT] Implement Zahur, Glory's Past 2025-02-01 19:09:55 -05:00
theelk801
64f599886f [DFT] Implement Stall Out 2025-02-01 19:04:03 -05:00
theelk801
27f6332fc2 [DFT] Implement Slick Imitator 2025-02-01 19:00:26 -05:00
theelk801
69f8b4a9bb [DFT] Implement Oviya, Automech Artisan 2025-02-01 18:51:50 -05:00
theelk801
71768abb78 [DFT] Implement Point the Way 2025-02-01 18:37:49 -05:00
theelk801
2f92c3b7a3 [DFT] Implement Outpace Oblivion 2025-02-01 18:30:06 -05:00
theelk801
12c38e3b82 [DFT] Implement Gastal Blockbuster 2025-02-01 18:22:42 -05:00
Evan Kranzler
ef213b1bef
Implementing "Start your engines!" mechanic (#13259)
* add initial speed handling

* finish speed implementation

* remove skip list

* add initial test

* add some more tests

* change speed initialization to state-based action

* add opponent speed check

* add control change test

* add check for speed 5
2025-02-01 13:49:47 -05:00
theelk801
655af10b2e [DFT] Implement Howlsquad Heavy 2025-02-01 12:08:47 -05:00
theelk801
cd7772832a [DFT] Implement Guidelight Synergist 2025-02-01 12:00:27 -05:00
theelk801
c47c1eac94 [DFT] Implement Gastal Raider 2025-02-01 11:57:33 -05:00
theelk801
cae34480b0 [DFT] Implement Flood the Engine 2025-02-01 11:54:01 -05:00
theelk801
a0a01c0e3e [DFT] Implement Gastal Thrillseeker 2025-02-01 11:50:37 -05:00
theelk801
11edf9dd7a [DFT] Implement Broodheart Engine 2025-02-01 11:43:51 -05:00
theelk801
13ce2aacd2 [DFT] Implement Burner Rocket 2025-02-01 11:40:54 -05:00
theelk801
93e8bbf6e7 [DFT] update spoiler 2025-02-01 11:37:30 -05:00
Oleg Agafonov
fc159728c7 version bump 2025-02-01 20:16:27 +04:00