Commit graph

9868 commits

Author SHA1 Message Date
Evan Kranzler
8b7a5c370a added shared class for cards which search for different names 2022-03-16 16:52:13 -04:00
Evan Kranzler
d1b328a2da added common class for searching and exiling 2022-03-16 09:10:30 -04:00
Evan Kranzler
6e132c999c [AFC] reverted change to Sefris of the Hidden Ways, changed 2022-03-15 18:57:24 -04:00
Alex Vasile
b40bde5e12
[AFC] Implemented Share the Spoils (#8583)
* Preliminary implementation of Share the Spoils.

* Added tracking of cards in exile to MageTestPlayerBase in order to help with testing of cards such as Share the Spoils which put and take cards out of exile a lot.

* Moved Share the Spoils to the correct set list.

* Fixed bug with using ’ instead of ' for card text.

* Add method to assert number of cards exiled into a specific exile zone.

* Further implementation of ShareTheSpoils and it's tests.

* Fixed a bug in the calcualtiong of exileNUmber. (I misunderstood what the copy() method was for)

* - Added a watcher which should limit player to only cast the spell once per turn.
- Fixed the tests to run properly (using .LOST instead of .LOSES for the GameEvent).
- A bit of cleaning up of the class

* Updated tests and card to capture both conceding and losing the game through other means.

* Further implementation. All parts are working (though not correctly).

* All pieces are now working. But, both the spend any mana and exile a card off the top of library activate when ANY card is played from exile, not just one exiled with Share the Spoils.

* Replaced changed how I move card from top of library to correct exile zone. Instead of using moveCards() and moveToAnotherZone(), I am not using moveCardsToExile().

* A new card is now properly exiled whenever one is played with Share the Spoils

* Moved inner class out and passing exileId as parameter instead

* Updated text based on comments

* Added several more tests

* Made changes to how exileId is handled based on comments

* Made changes based on comments

* Further changes based on comments

* Add a few more tests (will have to fix them once the exile zone issue is fixed)

* Added workaround for #8706

* Get most of the tests working

* Simplified cardId handling

* Reformat file based on comment

* - Added setStrictChooseMode to all tests
- Properly using checkPlayableAbility for all checks where things can't be played/cast.

* Fixed a missing getMainCardId call that made difficult cards unplayable

* - Simplified handling of casting only once per turn. I don't see the point to keeping the MageReference object. using a simple boolean instead
- This also fixes a bug where multiple cards could be played in the same turn.

* Fixed test for difficult cards.

* Reworked spend mana effect based on Dead Man's chest

* Added a check again a null watcher

* Fixed typo in checkManaSpendingForOtherExileSource

* Fixed tests to use proper checkPlayableAbility syntax.

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2022-03-15 18:34:36 -04:00
Evan Kranzler
06eeb90b3d replaced some more card moving method calls 2022-03-15 18:08:36 -04:00
Alex W. Jackson
77433d7ee6 Remove more duplicate tokens and rename some tokens to more generic names 2022-03-15 04:23:10 -04:00
Evan Kranzler
9e0ea945ca
Refactoring token names to reflect new rule (ready for review) (#8446)
* updated Riptide Replicator and Volrath's Laboratory

* refactored token names

* some test fixes

* more test fixes

* even more test fixes

* the final test fixes

* fixed a few missed tokens

* merge fix

* fixed a test failure

* fixed test failure

* updated ignored verify test

* fixed token images not appearing

* updated tests
2022-03-14 22:37:21 -04:00
Evan Kranzler
83c94322c6 refactored some instances of Player::moveCardToExileWithInfo 2022-03-14 21:14:12 -04:00
Evan Kranzler
8198322ba5 some changes to ExileSourceCost 2022-03-14 20:31:40 -04:00
Alex W. Jackson
9af399eadb Better changeling token workaround; add additional test (fixes #8766) 2022-03-14 02:43:12 -04:00
Evan Kranzler
82832046b3 fixed issues with changeling tokens not counting as they enter 2022-03-13 22:25:44 -04:00
Alex W. Jackson
79b7a0a627 Remove obsolete adjustCosts and adjustTargets methods from MageObject interface 2022-03-12 19:01:59 -05:00
Evan Kranzler
a5e21b8c9e [DGM] fixed Legion's Initiative not returning exiled creatures (fixes #8761) 2022-03-12 11:21:01 -05:00
Alex W. Jackson
7f4e691685 Fix #8758 2022-03-12 04:08:48 -05:00
Evan Kranzler
783ddb5bdc added split card halves back to database (fixes #8541) 2022-03-11 09:25:35 -05:00
Evan Kranzler
f45e90ad1b fixed a test failure 2022-03-10 23:29:07 -05:00
Evan Kranzler
3535d023b7 removed empty mode constructor 2022-03-10 16:15:08 -05:00
Evan Kranzler
ccecda52fd replaced various instances of ReturnToHandTargetEffect with ReturnFromGraveyardToHandTargetEffect 2022-03-10 15:35:46 -05:00
Evan Kranzler
09636d7332 fixed starting loyalty display in mock card 2022-03-09 20:32:48 -05:00
Evan Kranzler
f94c79f6b4 [ROE] various text fixes 2022-03-09 19:16:33 -05:00
Evan Kranzler
08411b122c [ROE] updated level up text 2022-03-09 18:30:54 -05:00
Evan Kranzler
e67a4f26b4 small change to eternalize and embalm 2022-03-09 17:08:28 -05:00
Evan Kranzler
ef9d79e712 replaced various flavor words with ability words 2022-03-09 16:34:49 -05:00
Evan Kranzler
bbb9382150
Reworking effects which allow casting spells from a selection of cards (ready for review) (#8136)
* added function for casting spells with specific attributes from a selection of cards

* updated cascade to use new method

* refactored various cards to use new methods

* added TestPlayer method

* fixed a small error

* text fix

* broke out some repeated code

* added missing notTarget setting

* add additional retain zone check

* some more cards refactored

* more refactoring

* added interface for split/modal cards

* reworked spell casting methods

* reworked multiple cast to prevent unnecessary dialogs

* fixed test failures due to change in functionality

* add AI code

* small nonfunctional change

* reworked Kaya, the Inexorable

* added currently failing test

* added more tests

* updated Geode Golem implementation

* fixed adventure/cascade interaction, added/updated tests

* some nonfunctional refactoring

* added interface for subcards

* [AFC] Implemented Fevered Suspicion

* [AFC] Implemented Extract Brain

* [AFC] updated Arcane Endeavor implementation

* [C17] reworked implementation of Izzet Chemister

* [ZEN] reworked implemented of Chandra Ablaze

* additional merge fix

* [SLD] updated Eleven, the Mage

* [NEO] Implemented Discover the Impossible

* [NEO] Implemented The Dragon-Kami Reborn / Dragon-Kami's Egg

* [NEO] Implemented Invoke Calamity

* [AFR] Implemented Rod of Absorption

* [VOC] Implemented Spectral Arcanist

* [VOC] added additional printings

* [NEO] added all variants

* [SLD] updated implementation of Ken, Burning Brawler
2022-03-09 08:03:54 -05:00
Evan Kranzler
7fb089db48 [WWK] various text fixes 2022-03-08 21:24:22 -05:00
Evan Kranzler
caa1b7a8d7 [ZEN] various text fixes 2022-03-08 20:59:01 -05:00
Evan Kranzler
6b72142ef2 [MOR] various text fixes 2022-03-08 08:33:09 -05:00
Evan Kranzler
8999a6e647 [SHM] various text fixes 2022-03-07 22:53:52 -05:00
Evan Kranzler
7f95929288 [EVE] various text fixes 2022-03-07 21:04:59 -05:00
Evan Kranzler
e820d9f4f0 reworked champion ability 2022-03-07 20:48:35 -05:00
Evan Kranzler
50b3d3d8d9 [LRW] various text fixes 2022-03-07 20:19:20 -05:00
Alex W. Jackson
baece6e241 [CON] Remove a duplicate token 2022-03-07 14:59:01 -05:00
Alex W. Jackson
813e1816ea [RIX] Remove a duplicate token 2022-03-07 14:26:12 -05:00
Evan Kranzler
87a999ca0e [M10] various text fixes 2022-03-07 09:00:39 -05:00
Evan Kranzler
1582321d26 [ARB] various text fixes 2022-03-06 22:24:16 -05:00
Evan Kranzler
3833d7bab3 updated implementation of Domain value 2022-03-06 18:31:07 -05:00
Evan Kranzler
c8cdc0a502 [CON] various text fixes 2022-03-06 18:07:25 -05:00
Evan Kranzler
edaaac53d9 [ALA] various text fixes 2022-03-06 15:29:47 -05:00
Evan Kranzler
84261a1731 various fixes to look and pick effect text 2022-03-03 18:33:04 -05:00
Evan Kranzler
2675b75c60 various text fixes 2022-03-03 17:57:39 -05:00
Evan Kranzler
d8137e7e05 [M21] a few text fixes 2022-03-03 09:19:17 -05:00
Evan Kranzler
f574e6fc1d [THB] various text fixes 2022-03-03 09:06:05 -05:00
Evan Kranzler
32bf246e77 [NEO] fixed bugs with Kotose, the Silent Spider and March of Reckless Joy (fixes #8737, fixes #8736) 2022-03-02 18:10:26 -05:00
Evan Kranzler
0cc1b152c4 [ONS] Implemented Graxiplon 2022-03-01 19:02:45 -05:00
Evan Kranzler
a7fa431d19 [Y22] Implemented Soulstealer Axe 2022-03-01 17:55:19 -05:00
Evan Kranzler
f4b95d8e2c [Y22] Implemented Faithful Disciple 2022-03-01 17:47:28 -05:00
Evan Kranzler
6094c6eed7 [NEO] reworked implementation of Nashi, Moon Sage's Scion 2022-03-01 08:31:54 -05:00
Evan Kranzler
6c643fdc5e [EVE] fixed implementation of Hotheaded Giant 2022-02-28 08:45:13 -05:00
Alex W. Jackson
2025bca358 Fix more double semicolons in java code 2022-02-25 10:08:18 -05:00
Evan Kranzler
bf699b5559 fixed test failures 2022-02-24 21:12:33 -05:00