Commit graph

4167 commits

Author SHA1 Message Date
theelk801
7609c3087c Merge branch 'master' into refactor/transforming-dfc-partial-refactor 2025-07-31 10:17:11 -04:00
theelk801
f46c84d41c convert a few more cards and add tests 2025-07-30 11:33:15 -04:00
theelk801
3d1400905b rework DrawNthCardTriggeredAbility, add test (closes #13885) 2025-07-30 10:52:43 -04:00
theelk801
acdc774e40 add new TDFC class which allows for gradual transition to new refactor 2025-07-29 16:21:33 -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
Susucre
35e0ca2561 refactor "counter [spell] unless its controller pays [...]. If they do, [effect]"
closes #13861
2025-07-19 17:42:04 +02:00
Steven Knipe
2c91ec65b0 Didn't fix enough, failure was still possible (though incredibly unlikely) 2025-07-19 00:40:50 -07:00
Steven Knipe
5486bb5e00 Fix rare AlaniaDivergentStormTest failure 2025-07-19 00:39:26 -07:00
Evan Kranzler
df70ab7c8a
[Ready for review] Implementing Warp mechanic (#13847)
* add initial warp mechanic implementation

* a few small changes

* add hand restriction

* add void support

* add test

* [EOE] Implement Timeline Culler

* add void test

* [EOE] Implement Close Encounter

* [EOE] Implement Tannuk, Steadfast Second

* a few requested changes

* add comment

* [EOE] Implement Full Bore

* small rewrite

* merge fix

* remove reminder text

* small code rewrite
2025-07-18 21:01:50 -04:00
Susucre
08c729178f add check to Lightstall Inquisitor tests that nonlands are not tapped 2025-07-19 02:20:26 +02:00
Susucre
5c08d310a7 implement [EOE] Lightstall Inquisitor 2025-07-19 02:15:03 +02:00
Susucre
bf7b232861 implement [EOE] Depressurize 2025-07-18 21:00:26 +02:00
Susucre
1a7d8ce397 implement [EOE] Cryoshatter 2025-07-18 18:43:21 +02:00
Susucre
432b5f5559 implement [EOE] Territorial Bruntar 2025-07-18 17:50:13 +02:00
theelk801
61fe216569 add tests for Doctor's companion 2025-07-16 10:20:09 -04:00
theelk801
284ae05e5d add tests for vehicles and spacecraft in commander 2025-07-15 20:53:47 -04:00
theelk801
a672172907 fix test failure 2025-07-14 18:37:13 -04:00
theelk801
ce35717f1f [EOE] Implement Tapestry Warden 2025-07-13 17:05:54 -04:00
theelk801
ff17fb1125 add test for station mechanic 2025-07-13 17:03:42 -04:00
Susucre
ae0e0c873b fix NPE for token copy of Mirror Golem
fixes #13850
2025-07-13 15:42:56 +02:00
Susucre
0dceeb78bd implement [EOE] Kav Landseeker; fix & test Meandering Towershell along the way 2025-07-11 20:40:59 +02:00
Susucre
a0b62d7b63 implement [EOC] Baloth Prime 2025-07-09 21:53:55 +02:00
Susucre
5b58f07196 implement [EOE] Seedship Impact 2025-07-09 21:25:15 +02:00
Susucre
a75a95a7f1 implement [EOE] Sami, Wildcat Captain 2025-07-09 21:13:11 +02:00
Steven Knipe
3bc22b9f9c Fix 'M' cards with card name instead of {this}, fix random test failure in TaigamMasterOpportunistTest 2025-07-07 00:46:33 -07:00
Steven Knipe
57df155a79 Fix cards 'H' to 'L' with card name instead of {this} (plus a couple more split cards), fix ImpelledGiantTest 2025-07-07 00:25:06 -07:00
Oleg Agafonov
e49063228d
Revert "Fix saga first chapter zcc (#13710)"
This reverts commit 19f980c2ce.
2025-07-07 09:51:14 +04:00
ssk97
19f980c2ce
Fix saga first chapter zcc (#13710)
* Enable disabled tests

* Enable zcc Saga fix

* Remove existing zcc hacks
2025-07-06 22:49:51 -07:00
Oleg Agafonov
52180d1393 Added data collectors, AI and testing tools improves:
- dev: added data collectors API to collect and process game data in real time;
- tests: added game logs output in all unit tests (enabled by default);
- tests: added games history storage (decks, game logs, chats - disabled by default);
2025-07-05 21:44:55 +04:00
ssk97
7d7e517084
More target adding, reattach improves (#13807)
* Add Target to Provoke, Soulshift, remove from AttachableToRestrictedAbility

* Add Target to CurseOfInertia, FarrelsMantle, Incendiary, JubilantMascot, MantleOfTheAncients, MuseVessel, SoulSeizer. Fix DreamEater text.

* Fix CardImpl.cantBeAttachedBy to not early return with Protection abilities

* Improve tests
2025-07-01 22:08:27 -07:00
Oleg Agafonov
450f7bd907 AI: fixed game freeze on free cast of multiple cards (part of #13638, #13766);
refactor: fixed that TargetCard doesn't work with Zone.ALL;
2025-06-29 15:24:27 +04:00
Oleg Agafonov
c3a0c731d6 AI, tests: added stability tests to make sure AI simulations can process errors and freezes (part of #13638, #13766); 2025-06-28 22:51:34 +04:00
Oleg Agafonov
f3e18e245f AI: improved target amount targeting (part of #13638, #13766):
- refactor: migrated AI's target amount code to shared selection logic;
- ai: fixed game freezes on some use cases;
- tests: added AI's testable dialogs for target amount;
- tests: improved load tests result table, added game cycles stats;
- Dwarven Catapult - fixed game error on usage;
2025-06-27 01:11:10 +04:00
xenohedron
a8f0a545b9 rework Homicidal Brute to common classes 2025-06-24 23:56:38 -04:00
xenohedron
8a805c62b3 add test for Aurelia's Fury 2025-06-24 23:56:33 -04:00
xenohedron
7883d90cc8 fix Cathedral Membrane, add test
use game default BlockedAttackerWatcher
2025-06-24 23:56:29 -04:00
Steven Knipe
bc365c25c9 Fix CometStellarPupTest ability text 2025-06-21 23:28:55 -07:00
ssk97
a935045e1f
More targets (#13776) 2025-06-21 06:08:51 -07:00
ssk97
5db4beac6c
Adding targets (Part 3/3) (#13769)
Adds target and/or target adjuster to cards whose abilities have the word "target", cards S-Z.
Add `spellCast` value to `CastSpellPaidBySourceTriggeredAbility`.
2025-06-20 18:58:13 -07:00
theelk801
d0226dc0ea fix test failures 2025-06-19 11:34:56 -04:00
ssk97
219cc53cf4
Adding targets (Part 2/3) (#13765)
Adds target and/or target adjuster to cards whose abilities have the word "target", cards H-R.
fix EffectKeyValue text, NestOfScarabs
Add X value to effects for CycleTriggeredAbility, use with ValorsFlagship and SharkTyphoon, add test
2025-06-18 21:14:16 -07:00
Oleg Agafonov
ffe902d25e
AI: purged whole targeting code and replaced with simple and shared logic (part of #13638) (#13766)
- refactor: removed outdated/unused code from AI, battlefield score, targeting, etc;
- ai: removed all targeting and filters related logic from ComputerPlayer;
- ai: improved targeting with shared and simple logic due effect's outcome and possible targets priority;
- ai: improved get amount selection (now AI will not choose big and useless values);
- ai: improved spell selection on free cast (now AI will try to cast spells with valid targets only);
- tests: improved result table with first bad dialog info for fast access (part of #13638);
2025-06-18 21:03:58 +04:00
ssk97
1fe0d92c86
Attacks player with creatures triggered ability, Implement [BLC] Echoing Assault (#13764)
Create AttacksPlayerWithCreaturesTriggeredAbility, and tests for that ability via Soaring Lightbringer.
Implement Echoing Assault.
2025-06-18 05:54:36 -07:00
ssk97
9ce5dd212a
Adding targets (Part 1/3) (#13680)
Adds target and/or target adjuster to cards whose abilities have the word "target", cards A-G.
Creates SourceDealsNoncombatDamageToOpponentTriggeredAbility and DefineByTriggerTargetAdjuster
2025-06-17 22:35:49 -07:00
Oleg Agafonov
d893d52190 tests: improved testable dialogs (added source code ref in result table for better IDE navigation, part of #13643, #13638); 2025-06-15 14:08:43 +04:00
Oleg Agafonov
4f8eb30e4c tests: removed outdated/unused code 2025-06-15 11:24:09 +04:00
Oleg Agafonov
4732fdf527 tests: improved testable dialogs (added assert messages in result table, added single dialog debugging, part of #13643, #13638); 2025-06-15 11:02:50 +04:00
xenohedron
7a44ee2a97 fix #12974 (zcc check in ReturnToBattlefieldUnderOwnerControlAttachedEffect)
add test
2025-06-14 21:20:17 -04:00
Oleg Agafonov
a98f72649a tests: improved testable dialogs with better/colored logs and asserts (part of #13643, #13638); 2025-06-14 21:10:32 +04:00