- 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
* [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
* 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
* 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
* create common TargetsDamageTargetsEffect
* [SPM] implement Superior Terrific Team-Up
* fix band together second target predicate
* remove unnecessary checks in TargetsDamageTargetsEffect
* refactor ExileGraveyardAllTargetPlayerEffect to allow multiple targets
* [SPM] implement The Death of Gwen Stacy
* change ExileGraveyardAllTargetPlayerEffect to do one batch movement