Commit graph

49199 commits

Author SHA1 Message Date
Oleg Agafonov
ea7e966c22 Remove time counter - fixed that it can't be selected for permanents with protection (example: Rift Elemental, close #13857); 2025-08-05 01:24:26 +04:00
Oleg Agafonov
c7a485b728 reworked AI, targeting and targets logic:
- refactor: simplified target implementation from a dozen canTarget, canChoose and possibleTargets methods to canTarget/possibleTargets only (part of #13638, #13766);
- refactor: fixed wrong target implementations in many cards (example: TargetCardInHand for opponent's hand, close #6210);
- AI: now human, AI and test players -- all use possibleTargets logic in most use cases instead filters or custom validation;
- AI: improved AI sims support for multiple targets abilities;
- AI: improved AI stability, freezes and targets errors in some use cases;
2025-08-04 23:56:23 +04:00
Oleg Agafonov
e866707912 test framework improves:
- now game logs will show stack ability on push and on resolve (before any choices);
- now game logs will show used choices made by cast/activate, setChoice, setMode and addTarget commands (not work for AI tests, part of #13832);
- improved choice logic for modes and yes/not dialogs (now it's use a more strictly checks, use TestPlayer.MODE_SKIP to stop mode selection);
- improved error logs and testable dialogs menu in cheat mode;
2025-08-04 23:53:16 +04:00
theelk801
a7a6ffd6f3 [ULG] fix Defense of the Heart triggering improperly 2025-08-03 19:53:28 -04:00
theelk801
32e2af685f [EOE] fix Surge Conductor triggering off of tokens and not off of nontokens 2025-08-02 09:11:27 -04:00
theelk801
4f374f8f4c fix verify failure 2025-07-31 09:08:03 -04:00
theelk801
2188fd48fb [SPM] Implement Kraven's Last Hunt 2025-07-31 08:50:20 -04:00
theelk801
2657ebf92c [SPM] update spoiler and reprints 2025-07-31 08:40:30 -04:00
theelk801
3d1400905b rework DrawNthCardTriggeredAbility, add test (closes #13885) 2025-07-30 10:52:43 -04:00
theelk801
6b2317839b [MID] [VOW] refactor some TDFCs 2025-07-29 13:42:52 -04:00
theelk801
18a852047f [RIX] refactor some TDFCs 2025-07-29 10:17:25 -04:00
theelk801
b70362416b [XLN] refactor some TDFCs 2025-07-29 09:54:50 -04:00
theelk801
f024e3b092 [EMN] refactor some TDFCs 2025-07-29 09:25:43 -04:00
theelk801
668e2bfe22 [SOI] refactor some TDFCs 2025-07-29 09:03:34 -04:00
theelk801
94b71e4c67 update duel commander ban list 2025-07-28 14:35:11 -04:00
theelk801
d29daa2f85 [ORI] refactor some TDFCs 2025-07-28 14:00:19 -04:00
theelk801
69b82f4068 [ISD] [DKA] refactor some TDFCs 2025-07-28 13:50:09 -04:00
theelk801
2ef506ea7f [SLD] add latest drops 2025-07-28 12:26:03 -04:00
Evan Kranzler
1700180455
Implement Mayhem mechanic (#13877) 2025-07-27 07:12:11 -04:00
xenohedron
e8cd6dbdad
Fix bugs associated with Foretell ability (#13879)
* add foretell tests

* rework foretell events and watcher

* refactor: not static inner classes

* refactor: move becomes foretold code from Ethereal Valkyrie to ForetellAbility

* add watcher for edge cases

* fix Ethereal Valkyrie to not leak face down card name in log

* fix some access modifiers

* refactor: make copy-pasted code common
2025-07-27 00:26:30 -04:00
ReSech
4a74353b0c
add EOE/Emblem Tezzeret token image (#13873) 2025-07-27 00:25:56 -04:00
theelk801
379a3b504d [SPM] Implement Marvel's Spider-Man 2025-07-26 08:43:20 -04:00
ssk97
100fff9c6a
improve and enable checkMissTargeted verify test (#13647)
* Add per-ability verify test

* Add check that the word target appears equally in both reference and card text
2025-07-25 23:44:28 -07:00
theelk801
106aa22fff fix error 2025-07-25 23:25:49 -04:00
theelk801
c8a38d88ea fix mistake in refactor 2025-07-25 23:13:07 -04:00
theelk801
be2acd79e4 [SPM] Implement Green Goblin, Revenant 2025-07-25 23:07:10 -04:00
theelk801
1bbf173058 [SPM] Implement Anti-Venom, Horrifying Healer 2025-07-25 23:04:17 -04:00
theelk801
69ca4f99e7 [SPM] Implement Iron Spider, Stark Upgrade 2025-07-25 22:55:46 -04:00
theelk801
186db5839e [SPM] Implement Spectacular Spider-Man 2025-07-25 22:50:39 -04:00
theelk801
bab86ef1d1 [SPM] Implement Web Warriors 2025-07-25 22:45:26 -04:00
theelk801
c7f1057267 [SPM] update spoiler 2025-07-25 22:42:29 -04:00
theelk801
8f4e8645fa refactor FilterBasicLandCard 2025-07-25 12:22:53 -04:00
theelk801
68f2d7468c remove FilterBySubtypeCard 2025-07-25 12:22:53 -04:00
Susucre
008aa810d9 add missing watcher to [EOE] Ragost, Deft Gastronaut and Bloodsoaked Reveler 2025-07-25 18:16:05 +02:00
theelk801
22b096cd04 fix verify failure 2025-07-24 16:56:50 -04:00
theelk801
41114c667b [SPM] Implement Spider-Man 2099 2025-07-24 16:24:44 -04:00
theelk801
788041c5b5 [SPE] Implement The Mary Janes 2025-07-24 14:15:31 -04:00
theelk801
8cd3256c65 [SPE] Implement Venom, Eddie Brock 2025-07-24 14:12:16 -04:00
theelk801
3b1a5bc8ce [SPE] Implement Spider-Man 2099, Miguel O'Hara 2025-07-24 14:07:58 -04:00
theelk801
f3ed594715 [SPE] Implement Rampaging Classmate 2025-07-24 14:06:23 -04:00
theelk801
d50db8bca9 [SPE] Implement Lethal Protection 2025-07-24 14:04:41 -04:00
theelk801
525e3aa7b1 [SPE] Implement Ghost-Spider, Gwen Stacy 2025-07-24 14:02:30 -04:00
theelk801
8a3d125021 [SPE] Implement Amazing Alliance 2025-07-24 13:58:52 -04:00
theelk801
447a5e33dd [SPE] Implement Double Trouble 2025-07-24 13:54:54 -04:00
theelk801
bb37e79665 [SPM] Implement Electro's Bolt 2025-07-24 13:50:59 -04:00
theelk801
3682805a80 [SPM] Implement Spider-Islanders 2025-07-24 13:50:12 -04:00
theelk801
f5902e8ee0 [SPM] Implement Stegron the Dinosaur Man 2025-07-24 13:39:34 -04:00
theelk801
8587bcc068 [SPM] Implement Spider-Man Noir 2025-07-24 13:36:38 -04:00
theelk801
24304c2880 [SPM] Implement Mechanical Mobster 2025-07-24 13:32:26 -04:00
theelk801
bd3519005f [SPM] add missing condition to Scorpion, Seething Striker 2025-07-24 13:31:06 -04:00