Commit graph

36751 commits

Author SHA1 Message Date
The Bear
9e60e98fb5
Added the Khans Expanded Cube for booster draft (#8780)
* Added the MTGO Khans Expanded Cube for boosterdraft.

* Fixed Obscuring Aether character
2022-03-19 10:33:38 -04:00
Evan Kranzler
286b3dad2a [NEO] fixed Mirror Box not boosting creatures (fixes #8779) 2022-03-19 09:58:36 -04:00
Evan Kranzler
36a41a81a3 reorganized ban lists 2022-03-18 17:23:02 -04:00
Evan Kranzler
0d038b1737 reorganized various constructed formats 2022-03-18 09:49:34 -04:00
Evan Kranzler
4967750669 fixed CycleOrDiesTriggeredAbility not differentiating between different types of trigger events 2022-03-17 18:15:36 -04:00
Evan Kranzler
02017b9a88
Implementing The Prismatic Piper (Ready for review) (#8164)
* [CMR] Implemented The Prismatic Piper

* updated commander validation to handle The Prismatic Piper

* created abstract base class for commander variants

* added ability to prismatic piper

* added game init handling

* small revert

* small reorganization of tests

* added some validation tests for piper

* added more tests for piper

* add another test

* added decklist comments to tests

* added some more piper tests

* added another test

* added mana option tests

* added a companion test

* fix conflict

* updated abstract commander to work with Friends forever

* merge fix

* Deck: added details for illegal validation of companion card;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2022-03-17 18:02:29 -04:00
Evan Kranzler
966cb7ccb7 replaced some cast for free effects with newer method 2022-03-16 17:29:49 -04:00
Evan Kranzler
8b7a5c370a added shared class for cards which search for different names 2022-03-16 16:52:13 -04:00
Evan Kranzler
ddabfacbe7 refactored a few more remove instances 2022-03-16 09:56:55 -04:00
Evan Kranzler
d1b328a2da added common class for searching and exiling 2022-03-16 09:10:30 -04:00
Evan Kranzler
3ea7f5df3b replaced some instances of library.remove 2022-03-15 21:34:30 -04:00
Evan Kranzler
53f2c0ee69 removed temporary test skip 2022-03-15 19:04:49 -04:00
Evan Kranzler
8736340ecd [AFC] added all card versions 2022-03-15 19:00:20 -04:00
Evan Kranzler
4ef8d51a58 [AFC] various text fixes 2022-03-15 18:59:09 -04:00
Evan Kranzler
6e132c999c [AFC] reverted change to Sefris of the Hidden Ways, changed 2022-03-15 18:57:24 -04:00
Evan Kranzler
bb03ed4e19 [NEO] fixed Blossom Prancer not moving card to hand (fixes #8773) 2022-03-15 18:44:11 -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 Vasile
6a7b2e80ac
Refactoring + Fix of several cards (#8699)
* Simplified Azorius Aethermage

* - Flattened the if statements
- Renamed the custom effects and abilities to be more readable
- Changed certain functiosn to be private

* Flatten Thieves Auction

* Flatten Possibility Storm

* Flatten Aminatous Augury

* Minor refactoring

* Flattening and adjusting access modifiers

* Aetherspouts should have been using getPlayersInRange. Current implementation was affecting all players

* Simplified Akoum Hellkite

* Simplified Ali From Cairo

* Flattened An-Havva Constable

* Flattened Aura Finesse and Autum Willow

* Fixed All Hallow's Eve since it didn't work.

* Several small simplifications

* Flattening/Simplification of several classes

* Added test for Azorius Aethermage

* Added test for Abandoned Sarcophagus

* Updated test with docstring instead of comment

* Update AzoriusAethermageTest.java

* Update BattlegateMimic.java

* Update AetherworksMarvel.java

* Update AetherworksMarvel.java

* Update AzoriusAethermageTest.java

* Update AzoriusAethermageTest.java

Co-authored-by: Jeff Wadsworth <jeffwadsworth@users.noreply.github.com>
2022-03-15 16:57:16 -05:00
Evan Kranzler
8dc99256d5 [NEC] fixed Impostor Mech not losing and gaining types correctly (fixes #8770) 2022-03-15 09:55:16 -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
Alex W. Jackson
6b0115157b Fix other cards affected by #8769 2022-03-15 01:34:04 -04:00
Evan Kranzler
22e1cf4c88 [ALA] fixed Rafiq of the Many not granting double strike (fixes #8769) 2022-03-14 22:46:04 -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
Evan Kranzler
448d0914dc [MH2] fixed Dauthi Voidwalker exiling tokens (fixes #8768) 2022-03-14 19:34:46 -04:00
Jeff Wadsworth
fe089a9972 - added test for Foretell keyword 2022-03-14 16:51:44 -05:00
Evan Kranzler
8974f5bfde [NEC] fixed Aerial Surveyor not triggering (fixes #8767) 2022-03-14 09:49:34 -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
1599b2a49f Fix #8167 2022-03-13 00:38:21 -05:00
Alex W. Jackson
5d289469a5 Fix #8764 2022-03-13 00:37:07 -05: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
Alex W. Jackson
2bd82864b1 [CMR] Fix Explosion of Riches (#8760) 2022-03-12 03:32:08 -05:00
Alex W. Jackson
57d1c1455b [CN2] Add Kaya, Ghost Assassin variant (fixes #2312) 2022-03-12 00:57:40 -05:00
Oleg Agafonov
7aceffcc6c Fixed miss config settings from #8731 2022-03-12 09:21:47 +04:00
Alex W. Jackson
447e7e999f Implement collation for A25 2022-03-11 13:45:13 -05:00
Alex W. Jackson
d6f0dfd65c Replace some custom effects with CantBeBlockedByTargetSourceEffect 2022-03-11 11:43:52 -05:00
Evan Kranzler
db7eb398cc fixed multicolored split cards rendering 2022-03-11 09:25:54 -05:00
Evan Kranzler
783ddb5bdc added split card halves back to database (fixes #8541) 2022-03-11 09:25:35 -05:00
Alex W. Jackson
dc17e3fb90 Implement collation for MM3 and IMA 2022-03-11 03:37:46 -05:00
Evan Kranzler
f45e90ad1b fixed a test failure 2022-03-10 23:29:07 -05:00
Evan Kranzler
dfefc04305 changed name of star wars revenge card 2022-03-10 21:39:28 -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
Oleg Agafonov
daea494f41
Merge pull request #8751 from weirddan455/image-scaling
Remove dead image scaling library
2022-03-10 10:04:28 +04:00
Daniel Bomar
e0008fdcb2
Remove dead image scaling library 2022-03-09 19:33:35 -06:00