Commit graph

10308 commits

Author SHA1 Message Date
Evan Kranzler
1c665caa00 [CLB] Implemented Bronze Walrus 2022-05-29 18:48:37 -04:00
Alex Vasile
63aaf44f93 [CLB] Fix initiativeId not being set when a player first takes the initiative. Added documentation to related functions. For #9010. 2022-05-29 12:30:09 -06:00
Alex Vasile
fdbca7048a [CLB] Fix Forge section of Undercity not giving 2 +1/+1 counters. For #9010. 2022-05-29 12:01:24 -06:00
PurpleCrowbar
cee6bc3cfe
Token images and fixes for some sets (#9027)
* Fixed CMR's phyrexian horror token not displaying in game

* Added support for and assigned MED token images

* Added support for and assigned BBD token images

* Added support for and assigned DDU token images

* Fixed some M19 tokens not displaying correctly
2022-05-29 09:08:09 +04:00
PurpleCrowbar
c667458198
Added NCC Token Images (#9026)
* Removed BOK as a token image source as it has no token images

* Fixed zombie tokens from C20 not showing in game

* Fixed alphabetically misplaced C21 token in card viewer

* Added support for and assigned NCC token images
2022-05-29 02:27:50 +04:00
DeepCrimson
9084180937
Fix 'chosen' spelling (#9021) 2022-05-27 21:45:07 -06:00
PurpleCrowbar
74a16d179f
Removed duplicate squid token class for #8996 (#9020) 2022-05-27 20:38:15 -06:00
Alex Vasile
7643ff5597 - Fixed AddManaInAnyCombinationEffect and DynamicManaEffect to not let you click Choose until you've selected the correct amount.
- Added an extra constructor to Mana using ColoredManaSymbols and a count so that a for loop isn't needed in AddManaInAnyCombinationEffect.
2022-05-27 17:16:43 -06:00
Evan Kranzler
1cf297a15c [CLB] Implemented Altar of Bhaal 2022-05-27 06:30:37 -04:00
Oleg Agafonov
94dc91d8e1 Fixed miss code for reversed turn order (see Aeon Engine, #8804) 2022-05-27 09:35:30 +04:00
PurpleCrowbar
f003c93cb2
Added / fixed token images for several commander sets (#9000)
* Stopped OGW tokens which don't have images being used as image sources

* Removed C13 as a token image source as it has no related token images

* Added support for and assigned C14 token images

* Added support for and assigned C15 token images

* Added support for and assigned C16 token images

* Added support for and assigned C17 token images

* Fixed C18 token images

* Fixed C19 token images
2022-05-26 20:34:45 +04:00
Alex Vasile
561a5a3d0e Fixed error I introduced in canTarget() 2022-05-25 23:18:01 -06:00
DeepCrimson
49c02387d4
Remove redundant branch in TargetPermanent canTarget method (#9003) 2022-05-25 23:03:47 -06:00
DeepCrimson
0c8ef41012
Fix spelling of doneChoosing() (#9002) 2022-05-25 22:25:15 -06:00
Evan Kranzler
e6e74c2000 [CLB] Implemented Tomb of Horrors Adventurer 2022-05-25 21:19:14 -04:00
teskogi
7ec94425df
Implement Aeon Engine (#8804)
Co-authored-by: teskogi <tojile7269@yeafam.com>
2022-05-25 15:33:28 -05:00
Alex Vasile
015cdf3136
Revert "Added missing fields to many copy constructors. (#8957)" (#8999)
This reverts commit 82708e4273.

Some of these (AI related result in bloated memory usage, needs more investigation).
2022-05-25 12:57:24 -06:00
Alex Vasile
eb63ea1e32 - Improved TargetCardInASingleGraveyard to restrict all targets after the 1st to the same graveyard as the first chosen target
- Added slight documentation to Target and TargetCard
- Minor cleanup to Unlicensedhearse
2022-05-25 10:57:13 -06:00
Alex Vasile
82708e4273
Added missing fields to many copy constructors. (#8957) 2022-05-25 09:51:18 -06:00
Evan Kranzler
a38c0bea3e [CLB] Implemented Agent of the Shadow Thieves 2022-05-25 07:40:27 -04:00
Evan Kranzler
185d645ba7 [CLB] Implemented Street Urchin 2022-05-24 21:39:35 -04:00
Evan Kranzler
b6bf6aaf49 [CLB] Implemented Gut, True Soul Zealot 2022-05-24 21:23:23 -04:00
DeepCrimson
ccfd25cffa
Fix 'filename' param, formatting in PlainTextDeckImporter (#8986) 2022-05-24 07:13:24 -06:00
PurpleCrowbar
4a167b3a17
Added token images for SNC (#8946)
* Fixed knight token images from the DOM set not displaying

* Fixed the name reference of RNA's thopter token

* Fixed misspelling regarding Tibalt, Cosmic Impostor's emblem token causing it not to show in game

* Updated Faerie Dragon token to be present in game

* Removed redundant code regarding KLD constructs and improved thematic consistency

* Added Scryfall token download links for DTK

* Added support for and assigned SNC token images
2022-05-24 09:06:51 +04:00
Evan Kranzler
758f1cb896 [CLB] Implemented Alora, Merry Thief 2022-05-23 21:20:49 -04:00
Evan Kranzler
2b876c20a9 [CLB] updated spoiler 2022-05-23 07:33:21 -04:00
Evan Kranzler
12af6ab2e5 [CLB] Implemented The Council of Four 2022-05-20 20:55:41 -04:00
Evan Kranzler
8442d3280f [CLB] Implemented Ellyn Harbreeze, Busybody 2022-05-20 18:02:36 -04:00
Evan Kranzler
662857c5f8 [CLB] Implemented Nautiloid Ship 2022-05-20 17:44:43 -04:00
Evan Kranzler
50ddb27f5d [CLB] Implemented Sarevok, Deathbringer 2022-05-20 17:32:06 -04:00
Evan Kranzler
fdfd5c9c23 [CLB] Implemented Cadira, Caller of the Small 2022-05-20 17:31:10 -04:00
Evan Kranzler
3a36477606 [CLB] Implemented Elminster 2022-05-20 17:30:37 -04:00
Evan Kranzler
0540503fd4 [CLB] Implemented Cloakwood Hermit 2022-05-19 20:40:18 -04:00
Evan Kranzler
b797768b19 [CLB] Implemented Tasha, the Witch Queen 2022-05-19 19:09:09 -04:00
Evan Kranzler
5496a05d60 [CLB] Implemented Lulu, Loyal Hollyphant 2022-05-19 18:52:01 -04:00
Evan Kranzler
aec14bb5fb [CLB] Implemented Lae'zel, Vlaakith's Champion 2022-05-18 22:15:33 -04:00
Evan Kranzler
d16b28bad2 [CLB] Implemented Irenicus's Vile Duplication 2022-05-18 22:00:12 -04:00
Evan Kranzler
a6e231d509 [CLB] fixed Undercity skeleton token 2022-05-18 18:02:10 -04:00
Alex Vasile
e3acfa4344 Added test for Proliferate hint. 2022-05-18 12:27:46 -06:00
Evan Kranzler
0332673883 [SNC] fixed Bouncer's Betrayal getting sum of power rather than maximum (fixes #8965) 2022-05-18 09:35:40 -04:00
Evan Kranzler
6437ca119c [CLB] Implemented Raised by Giants 2022-05-18 08:19:40 -04:00
Evan Kranzler
edbd27c2fe [CLB] Implemented Passageway Seer 2022-05-17 22:39:50 -04:00
Evan Kranzler
31288f8717 [CLB] Implemented Wilson, Refined Grizzly 2022-05-17 22:13:29 -04:00
Evan Kranzler
86dad5e54f [CLB] Implemented White Plume Adventurer 2022-05-17 20:18:18 -04:00
Evan Kranzler
4777466b50 [CLB] Implemented Faceless One 2022-05-17 20:05:18 -04:00
Andrew Callahan
705816ead1
Use 'addAll' instead of for-loop in getCardRulesWithAdditionalInfo (#8963) 2022-05-17 10:45:57 -06:00
Alex Vasile
5e26066b24 - Improving performance Mana.toString().
- Slightly improved performance of  getPossiblePayCombinations().
- Flattened getNetMana slightly.

For #7710.
2022-05-16 21:03:39 -06:00
teskogi
e955d47821
Fix import of cards with o with diaeresis (#8803) 2022-05-15 09:03:11 -06:00
Alex W. Jackson
adfb01149a Fix #8936 2022-05-14 12:06:54 -04:00
Alex W. Jackson
b59885731d Remove unused field from EnchantedPlayerAttackedTriggeredAbility 2022-05-14 09:57:13 -04:00
Alex W. Jackson
8eff633a9c Remove redundant fields from AffinityForLandTypeAbility 2022-05-14 09:14:39 -04:00
Grath
ac2eb9056d
Reflection of Kiki-Jiki token being sacrificed incorrectly for #8742 (#8743)
Reflection of Kiki-Jiki tokens were being sacrificed even if not under the control of Reflection of Kiki-Jiki controller.
2022-05-13 14:56:47 -06:00
Evan Kranzler
e15db2b9b4 fixed free spell effects allowing lands to be selected even if not castable (fixes #8944) (#8934) 2022-05-13 16:50:19 -04:00
Alex Vasile
d6db77724f
Implemented Optimistic getNetMana for Selvala, Explorer Returned (#8951)
Based on wording of Oracle ruling.
2022-05-13 09:54:00 -06:00
Evan Kranzler
8c9012d192 [40K] Implemented Abaddon the Despoiler 2022-05-12 21:36:11 -04:00
Alex Vasile
b8c9f8eaa8 Merge branch 'master' into fix_hints_on_ward
# Conflicts:
#	Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java
2022-05-12 09:24:22 -06:00
Alex Vasile
5ac8032445
Made Equip reminder text optional (#8667) 2022-05-12 09:22:59 -06:00
Alex Vasile
b605d8e66b
Fixes net mana calculation for AddManaOfTwoDifferentColorsEffect (#8949) 2022-05-12 08:53:21 -06:00
Alex Vasile
f0b28ff21b Merge branch 'master' into fix_hints_on_ward
# Conflicts:
#	Mage.Sets/src/mage/cards/g/GavonyDawnguard.java
2022-05-12 08:35:45 -06:00
Alex Vasile
642111a80d
Changed getTopCards to return cards in the order they're in the deck (#8658) 2022-05-12 08:31:03 -06:00
Alex Vasile
b3bf42389b Merge branch 'master' into fix_hints_equip
# Conflicts:
#	Mage.Sets/src/mage/cards/b/BehemothSledge.java
#	Mage.Sets/src/mage/cards/d/DivinersWand.java
#	Mage.Sets/src/mage/cards/u/UmbralMantle.java
#	Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java
#	Mage.Sets/src/mage/cards/w/WandOfOrcus.java
#	Mage/src/main/java/mage/abilities/keyword/EquipAbility.java
2022-05-12 08:12:25 -06:00
Alex Vasile
3f7a259c2f Add fix 2022-05-11 19:32:11 -06:00
Alex Vasile
b895958abf
Fixed Blitz casting speed. (#8935) 2022-05-11 19:10:32 -04:00
Evan Kranzler
6aa793d53d [SNC] fixed Ballroom Brawlers targeting restriction (fixes #8906) 2022-05-11 19:09:27 -04:00
Evan Kranzler
5316da040d fixed issues with alternate cost text generation (fixes #8943) 2022-05-11 18:38:00 -04:00
Evan Kranzler
bd38a1d851 [CLB] Implemented Zevlor, Elturel Exile 2022-05-11 18:36:08 -04:00
teskogi
1538714555
Fractured powerstone (#8805)
* Implement Fractured Powerstone

* Rebase fix FracturedPowerstone

Co-authored-by: teskogi <tojile7269@yeafam.com>
2022-05-06 11:25:46 -05:00
Jeff Wadsworth
b279d4b318 - Fixed #8839 and added test for it. 2022-05-06 10:23:10 -05:00
Jeff Wadsworth
63023a3e29 - Fixed #8876 2022-05-02 11:54:20 -05:00
Evan Kranzler
f73f3c502f [NCC] various text fixes 2022-04-30 07:58:09 -04:00
Evan Kranzler
1cc7405a7b [NCC] Implemented Vivien's Stampede 2022-04-27 19:16:16 -04:00
Evan Kranzler
04dbdcc1db [NCC] Implemented Life of the Party 2022-04-27 08:57:35 -04:00
Evan Kranzler
913f88d573 [SNC] fixed NPE with Rocco, Cabaretti Caterer (fixes #8886) 2022-04-27 08:30:14 -04:00
Evan Kranzler
72f8c2f543 [NCC] Implemented Park Heights Maverick 2022-04-26 18:54:55 -04:00
PurpleCrowbar
80f6ceccff
Add token images for several sets (#8873)
* Added support for and assigned UMA token images

* Added Scryfall token download links for MMA

* Added Scryfall token download links for SHM

* Fixed last commit and Oona token names

* Added support for and assigned NEO token images

* Added support for and assigned NEC token images

* Added support for and assigned SLD token images

* Added support for and assigned 2XM token images

* Fixed Tuktuk and some naming inconsistencies

* Fixed WalkerOfTheGroveToken's available image set codes

* Fixed WalkerOfTheGroveToken's available image set codes

* Fixed tokens with same names not displaying correctly
2022-04-26 18:34:21 +04:00
Alex W. Jackson
d95d8378fb Various text fixes 2022-04-26 07:10:13 -04:00
Evan Kranzler
4304b4a66a fixed test failure 2022-04-25 22:38:28 -04:00
Evan Kranzler
bfc0b2094a [NCC] Implemented Determined Iteration 2022-04-25 22:17:42 -04:00
Evan Kranzler
1ef485be6f [NCC] Implemented Currency Converter 2022-04-25 21:47:19 -04:00
Evan Kranzler
3e0f305e0b [NCC] Implemented Gavel of the Righteous 2022-04-25 21:47:15 -04:00
Evan Kranzler
44596dba06 moved addAbilities method into the only class that uses it to make my IDE's autocomplete less annoying 2022-04-25 09:09:29 -04:00
Evan Kranzler
914b69bda9 [NCC] Implemented Cabaretti Confluence 2022-04-24 22:37:50 -04:00
Evan Kranzler
48def52084 [SNC] additional text fixes 2022-04-24 19:56:01 -04:00
Evan Kranzler
6ba07e6607 [SNC] Implemented Evelyn the Covetous 2022-04-24 19:18:45 -04:00
Evan Kranzler
cec8c54401 [SNC] Implemented Ziatora's Envoy 2022-04-24 17:20:57 -04:00
Evan Kranzler
0e3252d256
Implementing Blitz mechanic (WIP) (#8835)
* added blitz mechanic (mostly copy/paste of dash)

* renamed class

* reworked alt cost abilities, greatly reduced redundant code

* updated text generation

* removed all skips

* added test for blitz

* changed blitz implementation

* [SNC] Implemented Tenacious Underdog
2022-04-24 12:03:25 -04:00
Evan Kranzler
a27a59355b [SNC] removed unnnecessary ConniveTargetEffect class 2022-04-24 08:10:30 -04:00
Evan Kranzler
cf885a3312 [SNC] various text fixes 2022-04-24 08:10:29 -04:00
Alex W. Jackson
62655793da BlocksSourceTriggeredAbility now triggers only once when the source somehow blocks multiple creatures. Cards that need the other way now use BlocksCreatureTriggeredAbility instead. Fixes #8874. Fixes #8875. 2022-04-24 05:35:01 -04:00
Alex W. Jackson
212bb075ee fix inverted filter check in BlocksCreatureTriggeredAbility 2022-04-23 23:42:08 -04:00
Hidde van Bavel
53e5e2cd74
[SNC] Implement High-Rise Sawjack. (#8847)
* [SNC] Implement High-Rise Sawjack. Add BlocksCreatureWithFlyingTriggeredAbility.

* [SNC] Implement more generic BlocksCreatureTriggeredAbility

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2022-04-23 16:43:26 -04:00
Evan Kranzler
aa2215fefb [SNC] Implemented Mysterious Limousine 2022-04-23 16:37:09 -04:00
Evan Kranzler
0b50f15923 [SNC] Implemented Riveteers Ascendancy 2022-04-22 09:17:09 -04:00
Alex W. Jackson
77832d3a83 Remove an unused field from OrTriggeredAbility 2022-04-21 02:09:50 -04:00
Alex W. Jackson
735b1cce69 Fix #8864 2022-04-21 00:57:12 -04:00
Alex W. Jackson
dbfc047698 Make ExileCardYouChooseTargetOpponentEffect respect TargetPointer 2022-04-20 21:16:54 -04:00
Jeff Wadsworth
3650b19936 - Fixed #8848 2022-04-20 15:01:42 -05:00
Evan Kranzler
c9aa98af09 [SNC] Implemented Jinnie Fay, Jetmir's Second 2022-04-19 18:59:10 -04:00
Evan Kranzler
9ead88bacb [SNC] Implemented Endless Detour 2022-04-19 18:40:45 -04:00
Evan Kranzler
342eabbfa7 [SNC] Implemented Dusk Mangler 2022-04-19 08:37:50 -04:00
Alex W. Jackson
95056edf22 Remove some obsolete (or possibly never correct) code from AuraReplacementEffect. Fixes #8859 2022-04-19 01:28:47 -04:00
Daniel Bomar
d745141b7b
(WIP) [SNC] Implemented Ob Nixilis, the Adversary (#8838)
* [SNC] Implemented Ob Nixilis, the Adversary

* Allow starting loyalty to be changed on the stack

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2022-04-18 22:04:51 -04:00
Evan Kranzler
e6fd22d6b1 [SNC] Implemented Spara's Adjudicators 2022-04-18 21:08:12 -04:00
Evan Kranzler
c12057af55 [SNC] Implemented Rakish Revelers 2022-04-18 20:58:59 -04:00
Evan Kranzler
9bfd17e653 [NCC] Implemented Extravagant Replication 2022-04-18 19:03:55 -04:00
Evan Kranzler
639febac1e [NCC] Implemented Bennie Bracks, Zoologist 2022-04-18 18:52:59 -04:00
Evan Kranzler
371874b7e3 [SNC] Implemented Paragon of Modernity 2022-04-17 21:09:36 -04:00
Evan Kranzler
33a3aab75f [SNC] Implemented Sizzling Soloist 2022-04-17 20:42:47 -04:00
Evan Kranzler
b4cfd43763 [SNC] Implemented Girder Goons 2022-04-17 20:24:04 -04:00
Evan Kranzler
b333dd981b [SNC] Implemented Bouncer's Beatdown 2022-04-16 13:25:37 -04:00
Daniel Bomar
441c3dffa3
[SNC] Implemented Glittering Stockpile 2022-04-16 12:02:57 -05:00
Alex W. Jackson
dc7dcec39a
Refactor LookLibraryAndPickControllerEffect (#8841) 2022-04-16 00:32:24 -04:00
Daniel Bomar
8eccb669f9
[SNC] Implemented Extract the Truth 2022-04-15 17:18:19 -05:00
Daniel Bomar
21a1cfbea9
[SNC] Fixed shield counter interaction with damage can't be prevented effects 2022-04-15 08:27:21 -05:00
Alex W. Jackson
d345240de4 Fix Shrine Token name (fixes #8845) 2022-04-15 07:36:44 -04:00
Evan Kranzler
fd98037fd2 [SNC] Implemented Slip Out the Back 2022-04-14 20:19:18 -04:00
Daniel Bomar
63239fe8e6
[SNC] Implemented shield counter mechanic (#8830)
* [SNC] Implemented shield counter mechanic

* Rework shield counter to be a global replacement effect

* Add unit test for shield counter

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2022-04-14 09:43:12 -04:00
Evan Kranzler
1fb421be76 [SNC] Implemented Cabaretti Initiate 2022-04-13 22:45:39 -04:00
Evan Kranzler
15dfa5cec9 [SNC] Implemented Night Clubber 2022-04-13 22:35:00 -04:00
Alex W. Jackson
66aa7f9083 Fix #8569 2022-04-13 19:48:52 -04:00
Daniel Bomar
a8ee7b3046
[SNC] Implemented Obscura Ascendancy 2022-04-13 12:23:50 -05:00
Evan Kranzler
f26c1d7bc0 fixed issue with ExileCardYouChooseTargetOpponentEffect not revealing hand when no matching cards (fixes #8840) 2022-04-13 08:29:21 -04:00
Evan Kranzler
93d5026ed8 [SNC] Implemented Rooftop Nuisance 2022-04-11 20:03:51 -04:00
Evan Kranzler
6e5a5baa3d [SNC] Implemented Obscura Interceptor 2022-04-11 19:27:33 -04:00
Evan Kranzler
2619333ff5 [SNC] Implemented Psychic Pickpocket 2022-04-11 18:36:38 -04:00
Evan Kranzler
a34747257c [SNC] Implemented Exotic Pets 2022-04-10 21:40:41 -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
b658d60bfd [SNC] Implemented Graveyard Shift 2022-04-10 09:52:12 -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
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
7ff6fd98f3 [SNC] Implemented Mage's Attendant 2022-04-09 09:16:05 -04:00
Evan Kranzler
d444ae69c7 [SNC] Implemented Cut Your Losses 2022-04-09 09:02:22 -04:00
Evan Kranzler
c5cb6eac8e [SNC] Implemented Join the Maestros 2022-04-09 01:06:58 -04:00
Evan Kranzler
1ac7eab68d [SNC] Implemented Halo Fountain 2022-04-08 18:43:14 -04:00
Evan Kranzler
5f3cb23476 [SNC] Implemented Vivien on the Hunt 2022-04-08 09:28:13 -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
85c3c4f5ee [SNC] Implemented Nimble Larcenist 2022-04-08 08:40:11 -04:00
Evan Kranzler
5b92f4d0fb [SNC] Implemented Maestros Theater 2022-04-08 08:26:43 -04:00
Alex W. Jackson
a48dedcd76 [ALA] Finish fixing Death Baron and add test 2022-04-08 01:42:41 -04:00
Evan Kranzler
7f6fc11411 fixed test failures 2022-04-07 20:40:35 -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
6d5e2d9297 [SNC] Implemented Cut of the Profits 2022-04-07 19:42:45 -04:00
Evan Kranzler
13b47f45dc [ALA] fixed Death Baron granting a boost to non-Zombie, non-Skeleton creatures (fixes #8822) 2022-04-07 19:38:16 -04:00
Evan Kranzler
1c41e16e58 reworked hideaway to match rule change 2022-04-07 17:57:30 -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
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
Evan Kranzler
be6dd5263d [SNC] Implemented Riveteers Charm 2022-04-04 19:27:14 -04: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
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
24478afbe1 [TSP] various text fixes 2022-04-01 08:42:38 -04:00
Evan Kranzler
a581d55160 removed unnecessary lastAddedToken method from TokenImpl, reworked Warren Weirding 2022-03-31 20:12:09 -04:00
Evan Kranzler
676c3a8bb4 fixed interactions between effects which replace a token and effects which care about tokens after they've been made 2022-03-31 19:58:20 -04:00
Evan Kranzler
97bf230464 [SNC] Implemented Raffine, Scheming Seer 2022-03-31 19:22:05 -04:00
Alex W. Jackson
2640877ddc Fix #8811 2022-03-31 17:10:38 -04:00
Alex W. Jackson
6ca93d1936 [VOW] Fix Howlpack Avenger; replace various custom abilities with SavedDamageValue 2022-03-31 08:56:12 -04:00
Evan Kranzler
063bf51bb5 [SNC] Implemented Cabaretti Charm 2022-03-30 22:05:52 -04:00
Alex W. Jackson
09b37a94f8 Fix #8202 2022-03-30 19:49:45 -04:00
Evan Kranzler
ec4feaddfe [SNC] Implemented Obscura Charm 2022-03-29 20:17:07 -04:00
Evan Kranzler
21cf9369ab fixed BBD/CMR duals counting opponents incorrectly (fixes #8796) 2022-03-28 18:28:21 -04:00
Evan Kranzler
124bd261e9 [NEO] fixed Invoke Calamity counting mana value incorrectly 2022-03-28 18:24:28 -04:00
Evan Kranzler
f6306630b3 [TSP] fixed implementation of Weatherseed Totem 2022-03-25 22:21:21 -04:00
Evan Kranzler
945b60c8d0 fixed some NPE issues with player target choosing 2022-03-25 21:16:38 -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
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
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
0f1375ca60 fixed various instances of mana costs which don't include braces 2022-03-21 19:10:38 -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
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
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