Commit graph

3654 commits

Author SHA1 Message Date
xenohedron
a3d4293e0d fix #12022 (Shipwreck Sentry) 2024-03-29 00:27:18 -04:00
Evan Kranzler
fa0f9f3d00
[OTJ] Implementing "commit crime" mechanic (#11859)
* [OTJ] Implement Oko the Ringleader

* [OTJ] Implement Duelist of the Mind

* update implementation of crime mechanic to match new info

* [OTJ] Implement Marauding Sphinx

* [OTJ] Implement Hardbristle Bandit

* [OTJ] Implement Intimidation Campaign

* [OTJ] Implement Freestrider Lookout

* add initial test

* add more tests

* apply requested changes

* applied requested changes

* fix verify failure
2024-03-28 11:19:27 -04:00
Matthew Wilson
d08b71642b
Update Laelia, the Blade Reforged to use ZONE_CHANGE_BATCH (#12010)
* Fix #11747

* Fix #12008
2024-03-27 23:28:30 -04:00
jimga150
50d8be1924
Add two more test cases for LIFE_LOST_BATCH event (#11991) 2024-03-25 21:34:20 -04:00
Oleg Agafonov
1e10d070ae Merge fix 2024-03-23 20:06:16 +04:00
Oleg Agafonov
6151ec3889 Merge fix 2024-03-23 19:32:53 +04:00
Oleg Agafonov
11bb5e6608 tests: added string replace freeze test for #11285 2024-03-23 19:24:45 +04:00
jimga150
50c75f05bd
[MAT] implemented Ob Nixilis, Captive Kingpin, refactored life lose and batches events (#11974) 2024-03-21 19:53:45 +04:00
xenohedron
5df392af64
fix face-down creature spells cost reduction to include disguise (#11962) 2024-03-18 23:09:52 -04:00
xenohedron
d5295b0de3
Improve handling of abilities that let you cast spells from not hand zone once per turn (#11946)
* fix name of existing test

* adjust class name

* generate text

* use common class for Danitha

* add test

* update Gisa and Geralf

* rework Cemetery Illuminator, add test

* simplify effects allowing play from top of library

* simplify common classes which were bloated to support a single card

* simplify another

* remove unused import from test

* rework to check spell ability

* add more test cases

* add test cases

* add failing test case

* common watcher and hint for "once each turn, you may cast..."

* fix Assemble the Players to check spell ability, add test

* apply same improvements to Johann, Apprentice Sorcerer
2024-03-18 23:09:31 -04:00
xenohedron
4b987150b2 fix #11953 (Ondu Rising), add test 2024-03-17 20:36:09 -04:00
xenohedron
c54f53553f fix #11956 (Qarsi Deceiver), add test 2024-03-17 20:00:00 -04:00
ssk97
b9bfe2ba48
Megamorph abilities - fixed that face down creatures show megamorph instead morph status (#11957)
* Megamorph should appear as if it were Morph

* review comment
2024-03-18 03:58:02 +04:00
jimga150
67286aa1a0
Implement Damage Batch for Permanent event (#11841)
* implement [WHO] Donna Noble

* Changed trigger to DAMAGED_BATCH_FOR_PERMANENTS, check for need of separate targets

* fix short circuit operator

* simplify control path in paired damage trigger

* Initial commit, missing tests

* use CardUtil.getEventTargets

* Implement Donna Noble using DamagedBatchForOnePermanentEvent

* fix double-effect bug

* remove unnecessary custom effect

* Fix addSimultaneousDamage to avoid adding damage events to existing DamagedBatchForOnePlayerEvent instances when they shouldnt

* Add clarifying comment

* Incorporate batching of DAMAGED_BATCH_FOR_ONE_PERMANENT into if-else if tree to match new logic

* Add tests

* make ability inline

* Move DamageBatchTests

* Change batch events to take first event in constructor
2024-03-17 16:15:50 -04:00
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