Commit graph

10393 commits

Author SHA1 Message Date
PurpleCrowbar
a35e31ae56 Added MOR token images 2022-06-04 16:46:57 +01:00
PurpleCrowbar
bb3065afd9 Added ALA token images 2022-06-04 16:31:05 +01:00
PurpleCrowbar
98f0ff8871 Added DDC token images 2022-06-04 15:53:39 +01:00
PurpleCrowbar
d138833029 Added M11 token images 2022-06-04 15:27:03 +01:00
Evan Kranzler
e3301a6485 [CLB] Implemented Trailblazer's Torch 2022-06-04 10:10:33 -04:00
Evan Kranzler
23ed717c8c [CLB] Implemented Majestic Genesis 2022-06-04 09:57:47 -04:00
Evan Kranzler
e9044d69e9 [CLB] various text fixes 2022-06-03 19:44:29 -04:00
Hidde vb
a9d1a92abc
Fix Tundra Kavu (for #9030) and Death or Glory (#9055) 2022-06-03 15:34:52 -04:00
PurpleCrowbar
9a1ce358e7
Merge pull request #9053 from PurpleCrowbar/moretokensets
More token images
2022-06-03 13:48:07 +01:00
Evan Kranzler
aa5a2b1c29 [ELD] various text fixes 2022-06-03 08:26:04 -04:00
Evan Kranzler
0b5c42dffa [CLB] Implemented Fraying Line 2022-06-02 21:32:17 -04:00
Evan Kranzler
72d7b8794e [CLB] Implemented Sivriss, Nightmare Speaker 2022-06-02 21:02:19 -04:00
Evan Kranzler
1a6a17fa0f [CLB] Implemented Descent into Avernus 2022-06-02 08:25:43 -04:00
Evan Kranzler
07a8cc6bc9 [CLB] Implemented Vexing Puzzlebox 2022-06-02 07:57:16 -04:00
Evan Kranzler
921865a8f9 [CLB] Implemented Scaled Nurturer 2022-06-01 20:22:02 -04:00
PurpleCrowbar
aacec6a89f Added support for and assigned PCA token images 2022-06-02 00:31:52 +01:00
PurpleCrowbar
8a4482ae93 Added support for and assigned CMA token images 2022-06-01 23:43:53 +01:00
PurpleCrowbar
a8309f38f7
Token images for a couple of sets (#9047)
* Added support for and assigned IMA token images

* Added support for and assigned CM2 token images

* Fixed M19 DragonEggDragonToken not displaying in game
2022-06-02 00:55:17 +04:00
Alex Vasile
e679574a15
Fixes for Mana.enough and Mana.needed. For #8153 (#8663)
Fixes to Mana.enough:

mana of any color (ManaType.Any) was being used to pay for colourless mana.
Fixes for Mana.needed:

mana of any color (ManaType.Any) was being used to pay for colourless mana.
calculation for generic mana remaining was using min(0, available) instead of max(0, available) meaning that leftover mana of other types was never used to pay for any leftover generic costs.
Other:

Added tests for both .needed and .enough.
Moved tests some tests from ManaUtilTest to ManaTest
Simplified Mana.subtractCosts by calling Mana.substract first to make use of common functionality.
Added more documentation
Added tests for both .needed
Added more tests for .enough to cover the changes with colourless mana.
2022-06-01 08:13:37 -06:00
Evan Kranzler
2bf4139a31 [CLB] Implemented Black Market Connections 2022-06-01 09:32:11 -04:00
Evan Kranzler
2f640f2b05 [CLB] Implemented Guildsworn Prowler 2022-05-31 19:33:05 -04:00
Evan Kranzler
80c9c33b78 fixed issues with cards that goad multiple creatures at once (fixes #9007, fixes #8958) 2022-05-31 18:11:15 -04:00
Evan Kranzler
e22648a385 [CLB] Implemented Zellix, Sanity Flayer 2022-05-31 18:06:29 -04:00
Oleg Agafonov
da6e5260ec
Merge pull request #9045 from PurpleCrowbar/imagefixes
Specific token image bug fixes
2022-05-31 23:55:07 +04:00
PurpleCrowbar
9a02f6cb90 Fixed C20 Locust God insects' images not displaying 2022-05-31 20:28:48 +01:00
PurpleCrowbar
6c02923c15 Fixed M20 emblem images not showing in game 2022-05-31 20:22:49 +01:00
Evan Kranzler
eee9fb9f25 [CLB] Implemented Contraband Livestock 2022-05-31 09:19:33 -04:00
Evan Kranzler
b48a023a94 [CLB] Implemented Bothersome Quasit 2022-05-31 08:48:49 -04:00
Evan Kranzler
027bd439b4 [CLB] fixed Moonshae Pixie text generation 2022-05-31 07:34:32 -04:00
Evan Kranzler
ecbfc4edc4 removed locked in parameter from BoostAllEffect 2022-05-30 22:20:50 -04:00
Evan Kranzler
ca7de23eb5 [CLB] Implemented Nimblewright Schematic 2022-05-30 11:20:46 -04:00
Evan Kranzler
3350c5d8d8 [CLB] Implemented Javelin of Lightning 2022-05-30 11:20:44 -04:00
DeepCrimson
a5b7fce429
Renamed param 'sourceId' to 'source' in payOrRollback method (#9014) 2022-05-30 09:06:58 -06:00
PurpleCrowbar
9ed04cc3c5
Removed duplicate djinn monk token class, for #8996 (#9029) 2022-05-30 09:05:17 -06:00
DeepCrimson
853cf591aa
Remove redundant variable controllerOfFirstTarget (#9039) 2022-05-30 07:54:13 -06:00
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
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