Commit graph

3663 commits

Author SHA1 Message Date
Susucre
12e08411ec [OTJ] Implement Vraska, the Silencer 2024-04-01 22:22:03 +02:00
Susucre
86ca3673ff [OTJ] Implement Obeka, Splitter of Seconds 2024-04-01 19:54:59 +02:00
Susucre
569d693177
Refactor and test [AVR] Outwit & [OTJ] Ertha Jo, Frontier Mentor. (#12036) 2024-04-01 14:55:01 +02:00
theelk801
20865c4c3e [OTJ] add test for saddled this turn 2024-03-31 14:33:36 -04:00
Evan Kranzler
ba20e97b71
[OTJ] Implementing "spree" mechanic (#12018)
* [OTJ] Implement Unfortunate Accident

* fix errors

* a few more things

* [OTJ] Implement Three Steps Ahead

* [OTJ] Implement Caught in the Crossfire

* [OTJ] Implement Insatiable Avarice

* add test

* [OTJ] Implement Explosive Derailment

* [OTJ] Implement Requisition Raid

* [OTJ] Implement Rustler Rampage

* add comment to test

* [OTJ] Implement Metamorphic Blast

* [OTJ] Implement Final Showdown

* rework cost addition, add test

* move cost application to its own loop
2024-03-31 12:11:34 -04:00
Susucre
97ab8074b3
[OTJ] Implement Plot mechanic (+8 cards) (#12017)
[OTJ] Implement Aloe Alchemist
[OTJ] Implement Aven Interrupter
[OTJ] Implement Longhorn Shapshooter
[OTJ] Implement Kellan Joins Up
[OTJ] Implement Make Your Own Luck
[OTJ] Implement Jace Reawakened
[OTJ] Implement Lilah, Undefeated Slickshot
[OTJ] Implement Doc Aurlock, Grizzled Genius
2024-03-31 17:06:55 +02:00
Susucre
559be38b00 [OTJ] Implement Vengeful Townsfolk 2024-03-30 20:43:33 +01:00
Susucre
5a16d319d2 [OTJ] Implement Slick Sequence 2024-03-30 16:29:09 +01:00
Evan Kranzler
8fbc7c9507
[OTJ] Implementing "saddle" mechanic (#12012)
* [OTJ] Implement Trained Arynx

* implement saddle cost

* update saddled effect

* add test

* add sorcery speed to saddle ability

* apply requested changes

* [OTJ] Implement Quilled Charger

* rework test
2024-03-29 23:00:22 -04:00
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