Commit graph

13123 commits

Author SHA1 Message Date
xenohedron
313651cfc8 fix #14045 (Ultima, Origin of Oblivion)
rename method to correct typo
2025-10-26 18:33:13 -04:00
PurpleCrowbar
b839c7bf87
Fix AI crashing server on too many target calculations. Closes #9539, #14031 (#14044) 2025-10-24 16:02:44 +01:00
Grath
2092f3857e
Fix Saga first chapter ZCC
I've given JayDi enough opportunity to find his own fix, I'm merging this with a TODO to consider fixing it another way that JayDi's happy with.
2025-10-21 12:30:47 -04:00
Grath
9e475fccd1
Update AbilityImpl.java 2025-10-21 12:27:38 -04:00
PurpleCrowbar
94471f3126 [DSK] Implement Unholy Annex // Ritual Chamber 2025-10-17 21:17:00 +01:00
PurpleCrowbar
d63cfa56f8 [DSK] Implement Dollmaker's Shop // Porcelain Gallery 2025-10-17 20:28:16 +01:00
oscscull
f7be842008
feature: implement Rooms (#13786)
- Adds Room + Room half card types
- Adds Room unlock ability
- Adds Room special functionality (locking halves, unlocking, changing names, changing mana values)
- Adjusts name predicate handling for Room name handling (Rooms have between 0 and 2 names on the battlefield depending on their state. They have 1 name on the stack as a normal split card does). Allows cards to match these names properly
- Adds Room game events (Unlock, Fully Unlock) and unlock triggers
- Updates Split card constructor to allow a single type line as with Rooms
- Adds empty name constant for fully unlocked rooms
- Updates Permanent to include the door unlock states (that all permanents have) that are relevant when a permanent is or becomes a Room.
- Updates ZonesHandler to properly move Room card parts onto and off of the battlefield.
- Updated Eerie ability to function properly with Rooms
- Implemented Bottomless Pool // Locker Room
- Implemented Surgical Suite // Hospital Room
- Added Room card tests
2025-10-16 01:36:31 -04:00
theelk801
3cf6da1735 [TMC] Implement Heroes in a Half Shell 2025-10-12 10:02:03 -04:00
theelk801
41c5076755 [TMC] Implement Splinter, the Mentor 2025-10-10 17:08:41 -04:00
theelk801
8bb8eba43d [TMT] Implement Krang, Master Mind 2025-10-10 16:47:23 -04:00
theelk801
159933cc8a [TMT] Implement Raphael's Technique 2025-10-10 16:30:48 -04:00
theelk801
89c5b54d32 [TMC] Implement Leonardo, the Balance 2025-10-10 14:24:06 -04:00
theelk801
8375d6b606 rework partner variants, add tests 2025-10-10 13:56:39 -04:00
Oleg Agafonov
4e29f4f241 version bump 2025-10-06 23:53:07 +04:00
Oleg Agafonov
9caa43dfac deck: updated infinite combos list for bracket levels 2025-10-06 05:37:52 +04:00
theelk801
8bae73cea3 [FIC] Implement Amarant Coral 2025-10-01 13:26:41 -04:00
theelk801
29ab28fd74 [ECL] Implement Figure of Fable 2025-09-30 08:51:01 -04:00
theelk801
1498dded50 [ECL] Implement Emptiness 2025-09-29 11:49:38 -04:00
theelk801
4a81ca7c78 [SLD] Implement Abby, Merciless Soldier 2025-09-29 11:14:03 -04:00
theelk801
7c114272d7 [SLD] Implement Ellie, Vengeful Hunter 2025-09-28 19:43:28 -04:00
theelk801
7b131673be [SLD] Implement Atreus, Impulsive Son 2025-09-28 19:39:48 -04:00
theelk801
dd316ee61f [ECL] Implement Mutable Explorer 2025-09-28 19:11:23 -04:00
theelk801
454c7e0116 [ECL] Implement Bitterbloom Bearer 2025-09-28 18:59:41 -04:00
ssk97
8cd1bec19d
Bestow rework/fixes (#13973)
* New Bestow test, minor improvements

* Partially rework Bestow to not rely on perpetual card modifications

* Add Bestow subtype tests, improve PrototypeTest

* Fix Subtype existing without required card type

* Improve docs, improve aura spell copy target copying check, improve subtype handling

* Add additional test

* Review improvements

* Remove subtype/type check

* Consolidate temporary becomeAura into function

* Add Enchant Creature ability
2025-09-27 23:57:31 -07:00
Steven Knipe
aa6c97f8f2 Fix Pyrohemia, add note in docs about default "onlyControlled" behavior 2025-09-20 05:10:04 -07:00
Jmlundeen
d886da6e52
[SPM] Implement The Soul Stone (#13936)
* [SPM] Implement The Soul Stone

* update to use permanent designation instead of game state

* update The Soul Stone according to release notes

* infinity ability is no longer on the card unless harnessed, which is only on the battlefield

* fix text on soul stone conditional ability

* update The Soul Stone

* create common effects for future Infinity cards
2025-09-18 12:56:17 -04:00
xenohedron
49d65c1a88 more text fixes 2025-09-13 20:06:08 -04:00
xenohedron
18a050fb70 general text gen fixes 2025-09-13 19:47:29 -04:00
xenohedron
9a6504c1fa fix some card text 2025-09-13 19:47:29 -04:00
Evan Kranzler
652ca6c9e1
[FIN] Implement Summon: Brynhildr (#13699)
* [FIN] Implement Summon: Brynhildr

* cleanup of common classes and constructors

---------

Co-authored-by: xenohedron <12538125+xenohedron@users.noreply.github.com>
2025-09-12 18:28:09 -04:00
padfoothelix
b41a4872a5
[WHO] Implement The Fourth Doctor (#13731)
* Implement The Fourth Doctor

* Fix triggered ability

* Change hint and PlayFromTop effect in The Fourth Doctor

* null check

* whitespace fix

---------

Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2025-09-12 17:07:17 -04:00
xenohedron
34c26f09c8
refactor methods to find cards in exile (#13967)
* refactor exile method names, add comments

* fix card effects checking exile with filter to process ObjectSourcePlayerPredicates

* fix card effects checking exile to respect range of influence
2025-09-12 17:06:53 -04:00
PurpleCrowbar
6b7a757c2f Fix Maarika showing all enemy untapped, noncreature permanents as being required to block her
Now only creatures get the "Must block Maarika" hint in their tooltip on mouseover
2025-09-09 17:38:43 +01:00
PurpleCrowbar
c03f3502df Fix Cultivate (and like cards) effect prompt text 2025-09-09 17:32:43 +01:00
PurpleCrowbar
38c0cc973d Fix Warp ability's exile zone name 2025-09-08 15:07:33 +01:00
ReSech
7e7b519f49
Add tokens from TSPM (#13958) 2025-09-07 19:41:16 -05:00
Jmlundeen
4dd7e963bc
update RemoveCountersSourceCost, Gwen Stacy, and Price of Betrayal (#13941)
* update RemoveCountersSourceCost, Gwen Stacy, and Price of Betrayal

* added support for choosing multiple counters to RemoveCountersSourceCost

* changed Price of Betrayal to use player.getMultiAmount method

* added REMOVE_COUNTERS to MultiAmountType

* create common RemoveUpToAmountCountersEffect and update cards

* update default target wording on RemoveUpToAmountCountersEffect
2025-09-07 17:50:46 -04:00
Jmlundeen
432de6f9fe
[SPM] implement Terrific Team-Up and create a shared effect (#13954)
* create common TargetsDamageTargetsEffect

* [SPM] implement Superior Terrific Team-Up

* fix band together second target predicate

* remove unnecessary checks in TargetsDamageTargetsEffect
2025-09-07 17:50:34 -04:00
Jmlundeen
d2a7991f8e
[SPM] implement The Death of Gwen Stacy and update ExileGraveyardTargetPlayerEffect (#13955)
* refactor ExileGraveyardAllTargetPlayerEffect to allow multiple targets

* [SPM] implement The Death of Gwen Stacy

* change ExileGraveyardAllTargetPlayerEffect to do one batch movement
2025-09-07 17:50:21 -04:00
xenohedron
f92af2b9cd refactor: consistent logic for delayed triggers that sacrifice/exile tokens
single trigger for multiple tokens
2025-09-07 00:36:08 -04:00
jmlundeen
8f1050a834 [SPM] implement The Spot, Living Portal 2025-09-06 22:34:30 -05:00
jmlundeen
3ac86997b2 create common ExileTopCardPlayUntilExileAnotherEffect 2025-09-05 17:15:47 -05:00
jmlundeen
73205c4be2 [SPM] implement Alien Symbiosis 2025-09-04 22:42:55 -05:00
jmlundeen
d1b11cad4f [SPM] implement Biorganic Carapace 2025-09-04 15:35:20 -05:00
jmlundeen
37cffc3895 [SPM] implement Arachne, Psionic Weaver 2025-09-04 15:35:20 -05:00
jmlundeen
ed134cbfc6 [SPM] implement Scarlet Spider, Ben Reilly 2025-09-04 15:35:19 -05:00
theelk801
84526973d9 remove unnecessary TargetTriggeredAbility class 2025-09-04 09:05:21 -04:00
theelk801
30ca433785 [SPM] Implement Robotics Mastery 2025-09-04 09:05:21 -04:00
jmlundeen
c952311df0 [SPM] implement Passenger Ferry 2025-09-04 07:57:11 -05:00
jmlundeen
0df165604b [SPM] implement Living Brain, Mechanical Marvel 2025-09-04 07:41:39 -05:00