Commit graph

4676 commits

Author SHA1 Message Date
Balázs Kristóf
52bb919cd4
[FIN] Implement spoilers (#13616)
* [FIN] Implement Commune with Beavers

* [FIN] Implement Adventurer's Inn

* [FIN] Implement Job Select keyword ability

* [FIN] Implement White Mage's Staff

* [FIN] Implement Black Mage's Rod

* [FIN] Implement Ultimecia, Time Sorceress / Ultimecia, Omnipotent
2025-05-10 15:26:25 -04:00
Balázs Kristóf
145c88ac90
[FIN] Implement Emet-Selch, Unsundered / Hades, Sorcerer of Eld (#13439) 2025-05-10 14:55:23 -04:00
Susucre
826830b905 Implement [FIC] Hildibrand Manderville 2025-05-09 18:40:10 +02:00
theelk801
5eb188185c update read ahead reminder text 2025-05-08 19:31:17 -04:00
Evan Kranzler
5a7d6805e0
[WHO] Implement Barbara Wright (#13602)
* [WHO] Implement Barbara Wright

* add test

* add more tests

* update reminder text
2025-05-08 12:38:10 -04:00
theelk801
ada8211b4b [FIN] Implement Zenos yae Galvus / Shinryu, Transcendent Rival 2025-05-07 17:31:22 -04:00
Oleg Agafonov
00dc6f4742 refactor: removed useless getNumberOfTargets from Target (replaced with getMinNumberOfTargets) 2025-05-07 02:55:02 +04:00
Evan Kranzler
264eb58644
Rework cards which exile cards and add suspend to them (Ready for review) (#13600)
* rework effects which exile cards and give suspend

* fix test failure

* remove extra zone change

* [WHO] Implement The Wedding of River Song

* [WHO] Implement The Eleventh Doctor

* [WHO] Implement The Parting of the Ways
2025-05-06 17:49:43 -04:00
theelk801
550562b1a9 [WHO] Implement Day of the Moon 2025-05-05 14:39:38 -04:00
Susucre
507991b9e2
Implement [DSK] Valgavoth, Terror Eater (#13593) 2025-05-05 20:37:57 +02:00
Susucre
bc2ba3e4eb Implement [40K] The Red Terror 2025-05-03 17:37:50 +02:00
theelk801
67baf777ce [WHO] Implement Vislor Turlough 2025-05-02 10:04:53 -04:00
theelk801
0fdd167ba2 [TDC] fix Arbor Adherent counting its own toughness 2025-05-01 18:16:50 -04:00
Oleg Agafonov
d0fd0c4023 tests: added test and todo for Devoted Druid bug (related to #13583) 2025-04-30 07:45:18 +04:00
theelk801
8115de2bac [M3C] Implement Overclocked Electromancer 2025-04-29 12:06:54 -04:00
theelk801
951f804110 miscellaneous text fixes 2025-04-29 10:21:52 -04:00
theelk801
6bfeea47c9 [AER] update revolt wording and simplify implementations 2025-04-29 10:21:33 -04:00
theelk801
0d10708635 refactor all cards with affinity errata 2025-04-28 19:29:55 -04:00
theelk801
33012783a6 [FDN] various text fixes 2025-04-28 19:03:26 -04:00
theelk801
0013e075be [TDC] various text fixes 2025-04-28 14:46:18 -04:00
theelk801
0b5144d0d2 [TDM] various text fixes 2025-04-28 11:08:42 -04:00
Oleg Agafonov
49c28458ec Can block any number of creatures - fixed that it can be broken with some of "can block an additional creature" effects 2025-04-27 23:34:58 +04:00
jmlundeen
b0b508fd27 Spell Abilities respect ruleAtTop boolean 2025-04-25 14:36:15 -05:00
theelk801
dfd3e5e10d [WHO] Implement Sycorax Commander 2025-04-23 14:20:46 -04:00
theelk801
46aa2a043d [ACR] Implement Havi, the All-Father 2025-04-23 09:55:01 -04:00
theelk801
5e8c63ad2c [DSK] Implement Keys to the House 2025-04-23 09:49:50 -04:00
Oleg Agafonov
3dc606501d AI: improved stability and bug fixes (related to #13290):
- bug's reason: wrong usage of canTarget, add/addTarget, getOpponents, etc;
- fixed that it can target dead players in some use cases (close #13507);
- fixed that it wrongly choose targets in bad/good effects in some use cases;
- fixed that it can't find valid targets in some use cases;
- fixed game freezes and errors with some cards;
2025-04-19 07:04:55 +04:00
theelk801
6932a798d8 [FIN] Implement Cloud, Planet's Champion 2025-04-17 09:51:56 -04:00
theelk801
d4954bf784 rework effects and abilities which care about controlling your own commander (fixes #13542) 2025-04-16 12:13:15 -04:00
Oleg Agafonov
c0c27c81fa refactor: simplified code (related to 6bf8aedce7) 2025-04-16 10:11:22 +04:00
xenohedron
74d2265c12
refactor: find targeting stack object (#13534)
* refactor: simplify finding targeting stack object
related to #11185, 8e1805c

* clarify docs

---------

Co-authored-by: xenohedron <12538125+xenohedron@users.noreply.github.com>
2025-04-14 10:19:57 -05:00
theelk801
5876040be7 fix harmonize implementation (fixes #13531) 2025-04-14 10:19:08 -04:00
theelk801
af512ce3f4 [TDM] Implement Rite of Renewal 2025-04-13 18:09:01 -04:00
theelk801
e54210ad2e [TDM] Implement Desperate Measures 2025-04-13 18:00:14 -04:00
jmlundeen
4d38f6b942 Fix Riptide Gearhulk not bouncing all targets
Reported on Discord, PutIntoLibraryNFromTopTargetEffect was only processing the first target. The effect now supports multiple targets.
2025-04-12 14:59:25 -05:00
jmlundeen
6335cee30c [TDC] Implement Kotis, Sibsig Champion
* Give ability to add another cost to CastFromGraveyardOnceEachTurnAbility
2025-04-12 10:35:41 -05:00
androosss
482745928e
implement [TDM] All-Out Assault (#13512)
- new main phase condition
- Added when you attack delayed triggered ability
2025-04-11 22:39:21 -04:00
Jmlundeen
1b06813997
Reworked Suspend ability: (#13527)
* Updated Delay and Gandalf Of The Secret Fire to get the main card since they target spells

* Suspend now properly lets you play either side of mdfc and spell parts from adventure/omen cards utilizing CardUtil.castSpellWithAttributesForFree method

* Removed extra code in SuspendPlayCardEffect since the referenced bug for Epochrasite does not seem to appear. Removed related gainedTemporary variable also.

* Added tests for Omen and Suspend With Taigam, Master Opportunists as well as an Epochrasite test for recasting after suspend.
2025-04-11 15:22:13 +04:00
theelk801
9285b7e78a [TDM] Implement Perennation 2025-04-10 18:26:13 -04:00
theelk801
5ae4d7c0bc [TDM] Implement Severance Priest 2025-04-10 15:52:11 -04:00
Evan Kranzler
4d8028adb9
[TDM] Implement harmonize mechanic (#13475)
* add initial ability

* remove skip list

* update harmonize ability

* add reminder text

* remove skip list

* add harmonize test

* update tests

* create base class for flashback-like abilities
2025-04-10 13:39:21 -04:00
theelk801
3b959c25b9 fix verify failure 2025-04-10 08:23:18 -04:00
theelk801
2363fd6390 [TDC] Implement Arbor Adherent 2025-04-10 07:44:23 -04:00
Jmlundeen
e552a54e6f
[TDM] Focus the Mind and Sage of the Skies (#13524)
* [TDM] Implement Focus the Mind
* [TDM] Implement Sage of the Skies
* Extracted cast another spell this turn condition from Rally the Monastery
* Add condition to Rally the Monastery and Slick Sequence
2025-04-09 13:16:48 -05:00
Evan Kranzler
56a05a7843
Rework implementation of anchor words (#13518)
* refactor anchor word implementation

* fix error

* [TDM] Implement Windcrag Siege
2025-04-09 13:24:57 -04:00
theelk801
3c6e055f41 [TDC] Implement Become the Avalanche 2025-04-09 08:36:38 -04:00
theelk801
04f9ab75ba [TDM] Implement Krumar Initiate 2025-04-08 17:47:02 -04:00
Oleg Agafonov
d674c592ea refactor: improved Aladdin's Lamp 2025-04-08 23:11:43 +04:00
Oleg Agafonov
36cec8961e refactor: better naming in CardsInControllerHandCount 2025-04-08 22:42:31 +04:00
Oleg Agafonov
bae3089abb Reworked cost adjuster logic for better support of X and cost modification effects:
Improves:
* refactor: split CostAdjuster logic in multiple parts - prepare X, prepare cost, increase cost, reduce cost;
* refactor: improved VariableManaCost to support min/max values, playable and AI calculations, test framework;
* refactor: improved EarlyTargetCost to support mana costs too (related to #13023);
* refactor: migrated some cards with CostAdjuster and X to EarlyTargetCost (Knollspine Invocation, etc - related to #13023);
* refactor: added shared code for "As an additional cost to cast this spell, discard X creature cards";
* refactor: added shared code for "X is the converted mana cost of the exiled card";
* tests: added dozens tests with cost adjusters;

Bug fixes:
* game: fixed that some cards with CostAdjuster ignore min/max limits for X (allow to choose any X, example: Scorched Earth, Open The Way);
* game: fixed that some cards ask to announce already defined X values (example: Bargaining Table);
* game: fixed that some cards with CostAdjuster do not support combo with other cost modification effects;
* game, gui: fixed missing game logs about predefined X values;
* game, gui: fixed wrong X icon for predefined X values;

Test framework:
* test framework: added X min/max check for wrong values;
* test framework: added X min/max info in miss X value announce;
* test framework: added check to find duplicated effect bugs (see assertNoDuplicatedEffects);

Cards:
* Open The Way - fixed that it allow to choose any X without limits (close #12810);
* Unbound Flourishing - improved combo support for activated abilities with predefined X mana costs like Bargaining Table;
2025-04-08 22:39:10 +04:00