Commit graph

3627 commits

Author SHA1 Message Date
xenohedron
07c2cda853 temporarily ignore failing test 2024-02-20 22:31:41 -05:00
xenohedron
55084a70ba add test for #11822 2024-02-20 00:56:03 -05:00
Oleg Agafonov
ad8e7daf97 refactor: improved card info 2024-02-18 22:40:30 +04:00
xenohedron
ead385a03b fix #11811 (Mob Rule) with new common class to handle logic 2024-02-18 00:32:44 -05:00
xenohedron
b0e8fec79f increase test coverage on Worldheart Phoenix 2024-02-17 22:31:24 -05:00
Oleg Agafonov
99cfca6bfb tests, refactor: removed outdated code 2024-02-17 20:49:04 +04:00
Oleg Agafonov
1f36a32a6e tests, refactor: removed outdated code 2024-02-17 20:41:57 +04:00
Oleg Agafonov
229e8d3075 game engine, tests and other fixes:
tests: fixed wrong permanent structure for battlefield cards (addCard command);
tests: added docs and additional runtime checks;
game: Modal double-faced cards - improved support, no more other side effects on battlefield;
game: Copy abilities - improved stability and cards support;
game: Player under control - improved stability and related cards support (possible NPE errors, additional runtime checks);
server: fixed bloated logs with game timer;
AI: fixed wrong timer in computer games;
2024-02-17 19:35:44 +04:00
xenohedron
29679434ad add test for Unbreakable Bond 2024-02-05 22:09:04 -05:00
Matthew Wilson
5192e23a59
Fix #11721 (Myojin of Grim Betrayal) (#11740)
Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-31 19:14:01 -05:00
Matthew Wilson
0db2599fa5
tests: allow cards to be added to exile during a card test (#11739) 2024-01-31 10:50:04 +04:00
theelk801
3d94ce84d4 [MKM] Implement Tenth District Hero 2024-01-30 11:24:06 -05:00
Matthew Wilson
99fa058742
[MKM] Implement Case of the Gorgon's Kiss (#11720)
* [MKM] Implement Case of the Gorgon's Kiss

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-30 01:53:20 -05:00
Matthew Wilson
f8d15cd6ba
[MKM] Implement Cases (#11713)
* Implementing "case" mechanic

* [MKM] Implement Case of the Burning Masks

* [MKM] Implement Case of the Filched Falcon

* [MKM] Implement Case of the Crimson Pulse

* [MKM] Implement Case of the Locked Hothouse

* Address PR comments

* some minor adjustments

* adjustments to hints

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2024-01-28 23:41:23 -05:00
Evan Kranzler
99c2ffa231
Implementing "collect evidence" mechanic (#11671)
* [MKM] Implement Axebane Ferox

* add exile to cost, fix text

* add targeting message copied from crew ability

* [MKM] Implement Forensic Researcher

* [MKM] Implement Izoni, Center of the Web

* implement requested changes

* merge fix

* [MKM] Implement Sample Collector

* [MKM] Implement Evidence Examiner

* [MKM] Implement Surveillance Monitor

* [MKM] Implement Vitu-Ghazi Inspector

* [MKM] Implement Crimestopper Sprite

* [MKM] Implement Urgent Necropsy

* [MKM] Implement Analyze the Pollen

* implement requested changes

* add can pay cost check to counter unless pays effect

* fix test failure

* add tests

* fix prompt message
2024-01-27 20:26:14 -05:00
xenohedron
ce15e4d957 clarify comment 2024-01-26 22:00:50 -05:00
xenohedron
1a7edda03d new common class for life drain effects
"Each opponent loses X life. You gain life equal to the life lost this way."
2024-01-26 21:41:30 -05:00
xenohedron
473d899bf6 adjust CardsLeftGraveyardWatcher
related to #10550
2024-01-26 20:12:07 -05:00
Matthew Wilson
91312228d7
[MKM] Implement A Killer Among Us (#11704)
* [MKM] Implement A Killer Among Us

* Address PR comments

* Address PR comments

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-26 19:47:43 -05:00
xenohedron
e431cd90ab
Rework face down effect to layer 1b (#11689)
* add test case for face-down permanent losing abilities

* rework BecomesFaceDownCreatureEffect to layer 1b

* add test for becoming Treasure

* small refactor: Minimus Containment

* add mycosynth lattice test
2024-01-26 19:47:23 -05:00
Susucre
3343aebf79 Fix Emblem Cards not adding Watcher to GameState 2024-01-26 13:39:10 +01:00
Evan Kranzler
5a809f6fe4
Implementing "suspected" mechanic (#11670)
* [MKM] Implement Agrus Kos, Spirit of Justice

* rework effects

* [MKM] Implement Airtight Alibi

* [MKM] Implement Convenient Target

* [MKM] Implement Repeat Offender

* add test

* add more tests

* add tooltip for suspected

* implement requested changes
2024-01-25 20:30:51 -05:00
Susucre
7df86e91a0 [CLU] Implement Sludge Titan
Introduced TargetCardAndOrCardInGraveyard, derived from the Library one.
Did not achieved everything I wanted in the tests, as the choice seems to be accepted.
Tested it live, no particular issue, you can't select more than one per category.
2024-01-23 19:51:13 +01:00
Matthew Wilson
81f3366ae8
[LCC] Implement Don Andres, the Renegade (#11697)
Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-22 00:14:26 -05:00
Matthew Wilson
4c0f497fd3
[LCC] Implement Charismatic Conqueror (#11693)
* [LCC] Implement Charismatic Conqueror

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-21 02:42:58 -05:00
xenohedron
038cf01aa8 partial fix for Syrix, Carrier of the Flame
closes #10057, related to #10550
2024-01-21 00:11:16 -05:00
xenohedron
7008f0a7f0 implement [40K] Redemptor Dreadnought
closes #10071
2024-01-20 23:12:34 -05:00
Matthew Wilson
7628c6618f
[LCC] Implement Ore-Rich Stalactite (#11687)
* [LCC] Implement Ore-Rich Stalactite

* Address PR comments

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-20 13:20:55 -05:00
Matthew Wilson
784a5fb1e4
Fix Sanctuary Blade ability causing a trigger (#11682)
* Fix Sanctuary Blade ability causing a trigger

* Remove unnecessary logic and correct test

* Re-add strict choose mode

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-20 13:20:17 -05:00
Oleg Agafonov
5229cf300a tests: fixed goldberry test 2024-01-20 16:59:34 +04:00
Grath
bbe452352f Fix Goldberry, River-Daughter
If the Goldberry and the target permanent had different counts of counters, they would not be filtered out from her first ability's effect. Fix this by using the Keys (counter name strings) rather than the Values (Counters).
2024-01-20 02:17:35 -05:00
xenohedron
8cef411c70
fix LoseLifeControllerAttachedEffect (#11680)
add test for Pooling Venom
2024-01-19 18:32:01 -05:00
Oleg Agafonov
e4157fefb8 AI: improved combat support:
* added support to attack battle permanents (#10246);
* fixed that AI was able to attack multiple targets by single creature (#7434);
* added docs;
* added todos with another bugs or possible problems with AI combat;
2024-01-20 00:17:14 +04:00
Oleg Agafonov
2186a49a0f tests: added todo and PoC test for multi target definition (see test_JadeSeedstonesAndMultiTargets) 2024-01-16 17:52:17 +04:00
Oleg Agafonov
7838e2b7cf tests: enabled and fixed randomly failed test with battle cards, fixed wrong blocker declare in multiplayer game; 2024-01-16 01:33:07 +04:00
Oleg Agafonov
482a56f3ea Karn Liberated - improved game restart support in commander games (#11628, #11081); 2024-01-15 05:03:21 +04:00
Oleg Agafonov
08b99fcbf7 AI: removed outdated AIMinimax project (#7075), removed some useless player classes, code and config files, improved docs; 2024-01-15 05:03:21 +04:00
Oleg Agafonov
6ac2f44cc1 game, refactor: improved player related code, fixed miss reset fields between games like commanderIds (#11081, #11628) 2024-01-15 05:03:21 +04:00
Matthew Wilson
1da9b03810
[LCC] Implement Ripples of Potential (#11650)
---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-14 19:56:18 -05:00
xenohedron
f0043ee9d9
cleanup The Tomb of Aclazotz without breaking it (#11648)
* add test for Tarrian's Journal // The Tomb of Aclazotz

* re-apply cleanup without breaking this time
2024-01-14 19:55:55 -05:00
xenohedron
341d8b9add fix #11643 (choice for add mana of any type produced) 2024-01-13 16:26:54 -05:00
Matthew Wilson
2a59c22cb5
fix #11581 (copies of hydras must ETB with counters) (#11639)
* fix: Issue 11581

* Add `setStrictChooseMode(true)` to unit tests

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-13 15:42:36 -05:00
Oleg Agafonov
95481cd736 Mana Maze - fixed game error on usage (closes #11572, closes #11575); 2024-01-13 11:42:22 +04:00
xenohedron
7d821ef922 fix #11626 (Runadi, Behemoth Caller) 2024-01-11 00:34:02 -05:00
Oleg Agafonov
b6042f7b22 tests: improved load tests with AI games, added parallel option (play multiple AI games at the same time and show final result table, auto-generated decks can be repeatable by random seed - see test_TwoAIPlayGame_Multiple); 2024-01-10 18:53:44 +04:00
Oleg Agafonov
eedb9e6054 server, tests: improved game error and AI logs, added docs, added error stats in load test's result table (related to #11572); 2024-01-08 23:21:44 +04:00
Oleg Agafonov
b3c55555a1 tests: fixed error on load tests end (related to #11572), improved logs, improved session lifecycle on load tests;
tests: added additional test for Mana Maze and deep copy (related to #11572);
docs: added more info to network related code;
2024-01-08 04:14:27 +04:00
xenohedron
98a3d8b947
fix that Manamorphose can't be used to cast Imperiosaur (#11620) 2024-01-07 14:22:20 -05:00
xenohedron
3712d2319d add test for Fight 2024-01-06 16:21:10 -05:00
xenohedron
784a0f564b fix #11606 (PreventDamageToSourceEffect zcc check) 2024-01-06 14:57:56 -05:00