Commit graph

4250 commits

Author SHA1 Message Date
theelk801
f82f465c00 [UNF] add test for Embiggen 2025-11-17 08:10:50 -05:00
xenohedron
71269f972e add failing tests using lifelink 2025-11-10 02:02:59 -05:00
xenohedron
cd1f3985fd add test cases (not depending on lifelink) 2025-11-09 23:59:55 -05:00
Steven Knipe
00ff663c40 implement Orcish Conscripts, rework can't block alone ability 2025-11-09 20:48:13 -05:00
Steven Knipe
d785193b97 implement Orcish Farmer 2025-11-09 20:48:13 -05:00
Steven Knipe
066fb6dd46 implement Sacred Boon and Scars of the Veteran 2025-11-09 20:48:13 -05:00
xenohedron
8ac800b08b fix Shadow of the Goblin 2025-11-08 14:59:52 -05:00
jmlundeen
d98d59cc55 rework MayhemLandAbility to work properly 2025-10-29 21:00:11 -05:00
jmlundeen
ef4d48a654 Fix Knowledge Pool exile target 2025-10-26 16:25:45 -05: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
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
xenohedron
cb900eb799 fix Glamer Spinners, add test (fix #14022) 2025-10-16 01:07:21 -04:00
jmlundeen
89f5e84ba7 Fix Electro, Assaulting Battery spell filter
closes #14010
2025-10-12 08:50:12 -05: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
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
db823de8cd Fix ArachnePsionicWeaver incorrectly targeting 2025-09-21 20:17:05 -07:00
Steven Knipe
23f32bcd61 Fix nondeterministic testBlinkSoulStone 2025-09-21 19:49:26 -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
Steven Knipe
ff5e7f2d16 Use AttachedToAttachedPredicate from 49a3b11 for GolemSkinGauntlets and BrassKnuckles, improve GolemSkinGauntletsTest 2025-09-13 17:59:29 -07: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
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
jmlundeen
8f1050a834 [SPM] implement The Spot, Living Portal 2025-09-06 22:34:30 -05:00
jmlundeen
f7c239c1fe [SPM] implement Superior Spider-Man 2025-09-05 17:15:47 -05:00
jmlundeen
721b9b90c9 [SPM] update Mister Negative name and text 2025-09-05 13:28:51 -05:00
jmlundeen
2f15477214 [SPM] implement Spider-Verse 2025-09-05 13:27:43 -05:00
theelk801
9092518aa9 small extra fix 2025-09-05 14:21:52 -04:00
theelk801
33852c72e7 fix test failure 2025-09-05 14:21:35 -04:00
jmlundeen
b63660e022 [SPM] implement Shadow of the Goblin 2025-09-05 10:57:26 -05:00
jmlundeen
d5fa369e4d [SPM] implement Mr. Negative 2025-09-05 10:08:04 -05:00
jmlundeen
73205c4be2 [SPM] implement Alien Symbiosis 2025-09-04 22:42:55 -05:00
jmlundeen
54a8e8ef31 [SPM] implement Maximum Carnage 2025-09-04 15:35:20 -05:00
jmlundeen
2fb8a97e6a [SPM] implement Jackal, Genius Geneticist 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
jmlundeen
8b6b90c8d8 [SPM] implement Rhino's Rampage 2025-09-04 15:35:19 -05:00
jmlundeen
43d315861d [SPM] implement Sandman's Quicksand 2025-09-04 15:35:19 -05:00
jmlundeen
fb4303fbe6 [SPM] fix Oscorp Industries test 2025-09-03 22:04:45 -05:00
jmlundeen
0b5638fbae [SPM] Implement Parker Luck 2025-09-03 20:59:42 -05:00
jmlundeen
9e60c50771 [SPM] Cheering Crowd 2025-09-03 20:59:42 -05:00
jmlundeen
4b8b1a95ad [SPM] Implement Hydro-Man, Fluid Felon 2025-09-03 20:59:42 -05:00
jmlundeen
538debf2e0 [SPM] Implement Black Cat, Cunning Thief 2025-09-03 20:59:42 -05:00
jmlundeen
6e29b8e7fa [SPM] Implement Oscorp Industries 2025-09-03 20:59:42 -05:00
jmlundeen
e19c454aa3 [SPM] Implement Interdimensional Web Watch 2025-09-03 20:59:42 -05:00
jmlundeen
e7636fb17d [SPM] Implement Lady Octopus, Inspired Inventor 2025-09-03 20:59:42 -05:00
jmlundeen
a740a2b2dc [DSK] fix Unidentified Hovership 2025-09-03 20:59:42 -05:00
jmlundeen
693a6f2213 [TDC] fix Parapet Thrasher triggered Ability 2025-09-02 07:52:32 -05:00