Commit graph

24909 commits

Author SHA1 Message Date
Evan Kranzler
6cc2380628 [SNC] Implemented Raffine's Informant 2022-04-11 18:24:30 -04:00
Evan Kranzler
9fd44217b9 [SNC] updated spoiler and reprints 2022-04-11 18:22:11 -04:00
Evan Kranzler
a34747257c [SNC] Implemented Exotic Pets 2022-04-10 21:40:41 -04:00
Evan Kranzler
1ed3bce6e0 [SNC] Implemented Unlucky Witness 2022-04-10 18:09:07 -04:00
Evan Kranzler
6e65db284c
Implemented "Until your next end step" duration (#8831)
* initial implementation of until next end step duration

* added test, reworked effect duration
2022-04-10 17:57:58 -04:00
Evan Kranzler
1807565ef0 [SNC] Implemented Evolving Door 2022-04-10 15:49:04 -04:00
Evan Kranzler
b658d60bfd [SNC] Implemented Graveyard Shift 2022-04-10 09:52:12 -04:00
Evan Kranzler
c451ae88c7 [SNC] Implemented Witness Protection 2022-04-10 09:28:43 -04:00
Evan Kranzler
c471ed0ef9 [SNC] Implemented Grisly Sigil 2022-04-09 19:46:24 -04:00
Evan Kranzler
df5cddf157 [SNC] Implemented Errant, Street Artist 2022-04-09 19:19:33 -04:00
Evan Kranzler
2b00797cff [SNC] Implemented Jaxis, the Troublemaker 2022-04-09 18:57:24 -04:00
Evan Kranzler
2d2763ebf6 [NCC] Implemented Kitt Kanto, Mayhem Diva 2022-04-09 11:23:48 -04:00
Evan Kranzler
4a6fa15b37 fixed verify failure 2022-04-09 11:11:15 -04:00
Evan Kranzler
7eb8236efa [NCC] updated spoiler, added shield counter skip 2022-04-09 11:07:06 -04:00
Evan Kranzler
32f12d3508 [SNC] Implemented Professional Face-Breaker 2022-04-09 10:57:01 -04:00
Evan Kranzler
20a577fc5a [SNC] Implemented Incriminate 2022-04-09 10:08:23 -04:00
Evan Kranzler
7e4c438c51 [SNC] Implemented Luxurious Libation 2022-04-09 09:39:47 -04:00
Evan Kranzler
7ff6fd98f3 [SNC] Implemented Mage's Attendant 2022-04-09 09:16:05 -04:00
Evan Kranzler
46c613625d [SNC] Implemented Rob the Archives 2022-04-09 09:04:49 -04:00
Evan Kranzler
d444ae69c7 [SNC] Implemented Cut Your Losses 2022-04-09 09:02:22 -04:00
Evan Kranzler
32fc7cd3c1 [SNC] Implemented Snooping Newsie 2022-04-09 01:19:31 -04:00
Evan Kranzler
c5cb6eac8e [SNC] Implemented Join the Maestros 2022-04-09 01:06:58 -04:00
Evan Kranzler
cd2535e99b [SNC] updated spoiler and reprints 2022-04-09 00:59:39 -04:00
Evan Kranzler
25c167261a [SNC] Implemented Fight Rigging 2022-04-08 19:39:54 -04:00
Evan Kranzler
74ff79dd28 [SNC] Implemented Cormela, Glamour Thief 2022-04-08 19:08:31 -04:00
Evan Kranzler
92ef1af611 [SNC] Implemented Make Disappear 2022-04-08 19:00:09 -04:00
Evan Kranzler
1ac7eab68d [SNC] Implemented Halo Fountain 2022-04-08 18:43:14 -04:00
Evan Kranzler
527365ec6f [SNC] Implemented Maestros Initiate 2022-04-08 18:21:13 -04:00
Evan Kranzler
808aa771f5 [SNC] Implemented Maestros Diabolist 2022-04-08 18:15:20 -04:00
Evan Kranzler
c74e4e89f6 [SNC] updated spoiler 2022-04-08 18:06:28 -04:00
Evan Kranzler
f81c104eab [SNC] Implemented Urabrask, Heretic Praetor 2022-04-08 18:00:37 -04:00
Evan Kranzler
83ae254083 [SNC] Implemented Getaway Car 2022-04-08 09:44:24 -04:00
Evan Kranzler
5f3cb23476 [SNC] Implemented Vivien on the Hunt 2022-04-08 09:28:13 -04:00
Evan Kranzler
7a8feb5017 [SNC] Implemented Ziatora, the Incinerator 2022-04-08 09:05:02 -04:00
Evan Kranzler
df10113a6f [SNC] Implemented Disciplined Duelist 2022-04-08 08:49:47 -04:00
Evan Kranzler
8b4494fde1 [DIS] renamed Palliation Accord counters (confirmed by magic lead editor) 2022-04-08 08:45:26 -04:00
Evan Kranzler
100250f8b3 added skip for shield counters 2022-04-08 08:43:30 -04:00
Evan Kranzler
85c3c4f5ee [SNC] Implemented Nimble Larcenist 2022-04-08 08:40:11 -04:00
Evan Kranzler
79846a1a00 [NEC] fixed Komainu Battle Armor ability not triggering (fixes #8824) 2022-04-08 08:29:55 -04:00
Evan Kranzler
5b92f4d0fb [SNC] Implemented Maestros Theater 2022-04-08 08:26:43 -04:00
Alex W. Jackson
5f4de26044 Fix various counterspell effects not respecting replacement effects 2022-04-08 02:00:26 -04:00
Alex W. Jackson
a48dedcd76 [ALA] Finish fixing Death Baron and add test 2022-04-08 01:42:41 -04:00
Evan Kranzler
ff5efb525a [SNC] updated spoiler 2022-04-07 22:22:02 -04:00
Evan Kranzler
64e8c965ac [SNC] Implemented An Offer You Can't Refuse 2022-04-07 22:21:30 -04:00
Evan Kranzler
9cdcc6b35d deduplicated code with CastSecondSpellTriggeredAbility 2022-04-07 22:11:22 -04:00
Evan Kranzler
5ba97c089d [SNC] Implemented Courier's Briefcase 2022-04-07 22:06:10 -04:00
Evan Kranzler
71cf4a69cc [SNC] Implemented A Little Chat 2022-04-07 21:24:05 -04:00
Evan Kranzler
160c45ba15 [SNC] Implemented Gala Greeters 2022-04-07 20:27:58 -04:00
Evan Kranzler
4e24b2832d [SNC] Implemented Rumor Gatherer 2022-04-07 20:25:44 -04:00
Evan Kranzler
d383cb4ff1 [SNC] Implemented Waterfront District 2022-04-07 20:21:04 -04:00
Evan Kranzler
060b6472f6 [SNC] Implemented Botanical Plaza 2022-04-07 20:19:58 -04:00
Evan Kranzler
df67f8f519 [SNC] Implemented Tramway Station 2022-04-07 20:18:22 -04:00
Evan Kranzler
4a57716b59 [SNC] Implemented Skybridge Towers 2022-04-07 20:16:34 -04:00
Evan Kranzler
656853d984 [SNC] Implemented Racers' Ring 2022-04-07 20:14:59 -04:00
Evan Kranzler
7936846802 [SNC] Implemented Light 'Em Up 2022-04-07 20:11:36 -04:00
Evan Kranzler
75bd6cf906 [SNC] Implemented Ledger Shredder 2022-04-07 19:58:37 -04:00
Evan Kranzler
495a0ab776 [SNC] Implemented Devilish Valet 2022-04-07 19:47:53 -04:00
Evan Kranzler
d174dfaef9 [SNC] Implemented Strangle 2022-04-07 19:45:06 -04:00
Evan Kranzler
e9f1c0a881 [SNC] Implemented Chrome Cat 2022-04-07 19:44:13 -04:00
Evan Kranzler
6d5e2d9297 [SNC] Implemented Cut of the Profits 2022-04-07 19:42:45 -04:00
Evan Kranzler
fea3fd4cc2 [SNC] updated spoiler 2022-04-07 19:40:24 -04:00
Evan Kranzler
92a9604ed4 [NCC] added set 2022-04-07 19:20:37 -04:00
Evan Kranzler
1c41e16e58 reworked hideaway to match rule change 2022-04-07 17:57:30 -04:00
Hidde van Bavel
2cd196d652
Fix PressIntoService #8776 (#8820) 2022-04-07 01:00:09 -04:00
Evan Kranzler
df7b9ed9d0 [SLD] added latest drops 2022-04-06 19:30:54 -04:00
Evan Kranzler
9f08fdda7f [ALL] fixed text generation on "opponent chooses" cards 2022-04-06 07:12:06 -04:00
Evan Kranzler
80f9fdfb79 [ALL] reworked Fatal Lore and Misfortune to use mode selection 2022-04-05 20:27:38 -04:00
Evan Kranzler
3fe6a60616 [SNC] Implemented Brokers Charm 2022-04-05 18:26:55 -04:00
Alex W. Jackson
8d2723729b [NEO] Use correct class for Tameshi's triggered ability and remove unneeded custom code 2022-04-05 17:51:02 -04:00
Jeff Wadsworth
4a15f88a43 - Fixed #8819 2022-04-05 15:21:15 -05:00
Alex W. Jackson
ad4b6a8e29 [ROE] Fix Reality Spasm so targets are chosen on casting rather than on resolution 2022-04-05 08:39:07 -04:00
Alex W. Jackson
42f0b5ce17 Rework Cryptic Gateway (fixes #7022) 2022-04-05 06:07:38 -04:00
Evan Kranzler
09402609ef [DTK] reworked Living Lore, fixed death trigger 2022-04-04 23:04:09 -04:00
Evan Kranzler
e7a9988fe7 [SCG] fixed random test failure for Grip of Chaos 2022-04-04 21:02:54 -04:00
Evan Kranzler
be6dd5263d [SNC] Implemented Riveteers Charm 2022-04-04 19:27:14 -04:00
Jeff Wadsworth
28e62abcce - outcome fix for Condemn. 2022-04-04 17:21:30 -05:00
Evan Kranzler
69189e5a59 removed unnecessary card argument from various abilities 2022-04-03 11:18:30 -04:00
Evan Kranzler
26ae7b7281 replaced various instances of instanceof lambda functions with 2022-04-03 11:11:07 -04:00
Evan Kranzler
26ef55c1bc [DTK] added italics to Warbringer reminder text 2022-04-03 11:06:02 -04:00
Alex W. Jackson
c58eeef77d Fix that Warbringer's cost reduction doesn't apply when checking playable (for real this time) 2022-04-03 10:19:22 -04:00
Alex W. Jackson
081b2f2f39 Replace more custom effects with SavedDamageValue 2022-04-02 02:11:12 -04:00
Evan Kranzler
ca9b2ea135 [FUT] various text fixes 2022-04-01 09:33:11 -04:00
Evan Kranzler
27338dc620 [PLC] various text fixes 2022-04-01 08:53:00 -04:00
Evan Kranzler
24478afbe1 [TSP] various text fixes 2022-04-01 08:42:38 -04:00
Alex W. Jackson
46f98a0f88 Fix #8812 and add test 2022-03-31 21:30:46 -04:00
Evan Kranzler
a581d55160 removed unnecessary lastAddedToken method from TokenImpl, reworked Warren Weirding 2022-03-31 20:12:09 -04:00
Evan Kranzler
0540557455 [SNC] Implemented Jetmir, Nexus of Revels 2022-03-31 19:22:07 -04:00
Evan Kranzler
3b44fb1967 [SNC] Implemented Lord Xander, the Collector 2022-03-31 19:22:06 -04:00
Evan Kranzler
97bf230464 [SNC] Implemented Raffine, Scheming Seer 2022-03-31 19:22:05 -04:00
Jeff Wadsworth
cf931cb0b1 - Fixed #8807 2022-03-31 14:43:18 -05:00
Alex W. Jackson
6ca93d1936 [VOW] Fix Howlpack Avenger; replace various custom abilities with SavedDamageValue 2022-03-31 08:56:12 -04:00
Alex W. Jackson
5854bd45dd Merge branch 'master' of https://github.com/magefree/mage 2022-03-30 22:35:11 -04:00
Alex W. Jackson
1c077c07d0 [NPH] Fix Caged Sun text 2022-03-30 22:35:03 -04:00
Evan Kranzler
063bf51bb5 [SNC] Implemented Cabaretti Charm 2022-03-30 22:05:52 -04:00
Evan Kranzler
ec4feaddfe [SNC] Implemented Obscura Charm 2022-03-29 20:17:07 -04:00
Evan Kranzler
defc1a40b7 [GTC] small rework of Luminate Primordial (#8798) 2022-03-29 18:43:49 -04:00
Evan Kranzler
254ed6a94e [MIC] fixed Prowling Geistcatcher error when no cards are exiled (fixes #8797) 2022-03-28 18:58:04 -04:00
Evan Kranzler
dafbed3581 [SNC] Implemented Maestros Charm 2022-03-28 18:33:14 -04:00
Evan Kranzler
8f2a9433e2 [AER] fixed Quicksmith Spy ability (fixes #8794) 2022-03-28 18:18:36 -04:00
Evan Kranzler
f6306630b3 [TSP] fixed implementation of Weatherseed Totem 2022-03-25 22:21:21 -04:00
Evan Kranzler
60a7ea797f fixed a verify error 2022-03-25 21:30:15 -04:00
Evan Kranzler
945b60c8d0 fixed some NPE issues with player target choosing 2022-03-25 21:16:38 -04:00
Alex W. Jackson
a6c2daeb5e Fix #8027 (Aquamorph Entity) 2022-03-25 20:27:50 -04:00
Alex W. Jackson
4da6cb2731 [FUT] Fix Gift of Granite 2022-03-25 20:02:44 -04:00
Evan Kranzler
39daeaacae [CLB] Implemented Elder Brain 2022-03-25 19:48:18 -04:00
Evan Kranzler
9e38671b54 [CLB] Implemented Ancient Brass Dragon 2022-03-25 19:23:14 -04:00
Evan Kranzler
0bfce64ede [CLB] Implemented Wand of Wonder 2022-03-25 18:09:18 -04:00
Evan Kranzler
57cf2b64e2 [MID] fixed Jerren, Corrupted Bishop triggering repeatedly (fixes #8787) 2022-03-25 17:47:04 -04:00
Evan Kranzler
effdf14579 [VOW] fixed Savior of Ollenbock issues (fixes #8786) 2022-03-25 17:35:27 -04:00
Evan Kranzler
f28643d0f6 [CLB] Implemented Minsc & Boo, Timeless Heroes 2022-03-25 08:21:32 -04:00
Evan Kranzler
b312de69e5 [CLB] updated spoiler and reprints 2022-03-25 07:41:58 -04:00
Evan Kranzler
9d46caee9c [CLB] added set 2022-03-25 07:37:05 -04:00
Evan Kranzler
80e11b2052
(WIP) Replacing blocking/blocked by predicates (#8729)
* replaced blocking/blocked by predicates

* added test for knight of dusk (currently fails)

* added source parameter to filters and everything else that needs it

* some changes to various predicates

* test fix

* small changes to filter code

* merge fix

* fixed a test failure

* small change to Karn, Scion of Urza

* removed sourceId from filter methods and other similar places

* added new getobject method to fix some test failures

* a few more fixes

* fixed merge conflicts

* merge fix
2022-03-23 18:45:02 -04:00
Evan Kranzler
53877424a0 [TSP] small change to paradox haze to not use watcher with argument 2022-03-23 18:44:32 -04:00
Evan Kranzler
474c9655a4 some additional text fixes 2022-03-22 08:46:02 -04:00
Evan Kranzler
313a19865a [HOU] added shared predicate class for Desert controlled or in graveyard 2022-03-21 20:58:39 -04:00
Evan Kranzler
511b42a6ce fixed some instances of ability words being doubled 2022-03-21 20:32:31 -04:00
Evan Kranzler
59d718f49e fixed a few more cards which are missing ability text 2022-03-21 19:52:16 -04:00
Evan Kranzler
0f1375ca60 fixed various instances of mana costs which don't include braces 2022-03-21 19:10:38 -04:00
Evan Kranzler
d0b90379f6 fixed various cards which don't add an ability 2022-03-21 18:35:47 -04:00
Evan Kranzler
a5afba5d5a fixed some cards with malformed mana strings 2022-03-21 18:07:50 -04:00
Evan Kranzler
b61125c0f3 [NEO] added hint to channel lands 2022-03-21 16:32:42 -04:00
Alex W. Jackson
4863eb3170 [ROE] Fix Bear Umbra 2022-03-21 13:33:57 -04:00
Evan Kranzler
1d6bff1177 [NEC] fixed Katsumasa, the Animator setting p/t of vehicles (fixes #8777) 2022-03-19 15:44:09 -04:00
Evan Kranzler
286b3dad2a [NEO] fixed Mirror Box not boosting creatures (fixes #8779) 2022-03-19 09:58: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
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
Evan Kranzler
8974f5bfde [NEC] fixed Aerial Surveyor not triggering (fixes #8767) 2022-03-14 09:49:34 -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