forked from External/mage
[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>
This commit is contained in:
parent
06eeb90b3d
commit
b40bde5e12
6 changed files with 932 additions and 1 deletions
|
|
@ -228,6 +228,8 @@ public final class ForgottenRealmsCommander extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Serum Visions", 94, Rarity.UNCOMMON, mage.cards.s.SerumVisions.class));
|
||||
cards.add(new SetCardInfo("Shadowblood Ridge", 259, Rarity.RARE, mage.cards.s.ShadowbloodRidge.class));
|
||||
cards.add(new SetCardInfo("Shamanic Revelation", 171, Rarity.RARE, mage.cards.s.ShamanicRevelation.class));
|
||||
cards.add(new SetCardInfo("Share the Spoils",34, Rarity.RARE, mage.cards.s.ShareTheSpoils.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Share the Spoils",303, Rarity.RARE, mage.cards.s.ShareTheSpoils.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Shielding Plax", 192, Rarity.COMMON, mage.cards.s.ShieldingPlax.class));
|
||||
cards.add(new SetCardInfo("Shiny Impetus", 138, Rarity.UNCOMMON, mage.cards.s.ShinyImpetus.class));
|
||||
cards.add(new SetCardInfo("Shivan Hellkite", 139, Rarity.RARE, mage.cards.s.ShivanHellkite.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue