Commit graph

3493 commits

Author SHA1 Message Date
xenohedron
9893032a36
rework Ghastly Conscription and Jeskai Infiltrator to common manifest code (#11898) 2024-03-03 21:16:46 -05:00
xenohedron
cfc6808dde
update Suspend Ability for optional casting (#11892)
* update Suspend Ability for optional casting

per latest rules update

* fix another test
2024-03-02 23:47:45 -05:00
Oleg Agafonov
11ddfa0087 Manifest abilities - improved combo support for MDF, split and other cards (related to #10803, part of #11873) 2024-03-02 14:49:17 +04:00
Oleg Agafonov
00c3efedcf refactor: improved Manifest effects to use shared code, added docs, todos and tests for all simple usages (part of #11873) 2024-03-02 12:01:05 +04:00
Oleg Agafonov
4556af26a2 merge fix 2024-03-01 17:20:42 +04:00
Oleg Agafonov
55f1d36695 game: improved visible rules of face down cards, removed visible face up cost (part of #10653, #11884) 2024-03-01 16:47:59 +04:00
Oleg Agafonov
9ea3356b77 [WHO] implemented Disguise ability (new face down type, ability and token image, #10653) 2024-03-01 16:47:59 +04:00
Oleg Agafonov
ab787a2b8b tests: improved test framework to support same target aliases from diff players (example: target face down objects); 2024-03-01 16:47:59 +04:00
Oleg Agafonov
7696839724 gui: fixed that faced-down permanents don't show acquired characteristics like color from Painter's Servant (part of #11873) 2024-02-29 09:50:18 +04:00
Oleg Agafonov
2aea44da2c gui: fixed token render in mtgo mode (part of #11873) 2024-02-29 07:10:59 +04:00
Oleg Agafonov
ed99e6cde9 tests: enabled miss test (related to #11828, part of #11873) 2024-02-29 06:48:07 +04:00
Oleg Agafonov
e38a79f231
Face down images and cards rework (#11873)
Face down changes:
* GUI: added visible face down type and real card name for controller/owner (opponent can see it after game ends);
* GUI: added day/night button to view real card for controller/owner (opponent can see it after game ends);
* game: fixed that faced-down card can render symbols, abilities and other hidden data from a real card;
* images: added image support for normal faced-down cards;
* images: added image support for morph and megamorph faced-down cards;
* images: added image support for foretell faced-down cards;

Other changes:
* images: fixed missing tokens from DDD set;
* images: no more client restart to apply newly downloaded images or render settings;
* images: improved backface image quality (use main menu -> symbols to download it);
2024-02-29 01:14:54 +04:00
Matthew Wilson
9bad12e6cd
[MKM] Implement Kaya, Spirits' Justice and new zone change batch event (#11753)
---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-02-21 20:55:51 -05:00
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