Commit graph

10594 commits

Author SHA1 Message Date
PurpleCrowbar
4ba695e741 Added DD1 token images 2022-06-04 16:53:11 +01:00
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
Evan Kranzler
e820d9f4f0 reworked champion ability 2022-03-07 20:48:35 -05:00
Evan Kranzler
50b3d3d8d9 [LRW] various text fixes 2022-03-07 20:19:20 -05:00
Alex W. Jackson
baece6e241 [CON] Remove a duplicate token 2022-03-07 14:59:01 -05:00
Alex W. Jackson
813e1816ea [RIX] Remove a duplicate token 2022-03-07 14:26:12 -05:00
Evan Kranzler
87a999ca0e [M10] various text fixes 2022-03-07 09:00:39 -05:00
Evan Kranzler
1582321d26 [ARB] various text fixes 2022-03-06 22:24:16 -05:00
Evan Kranzler
3833d7bab3 updated implementation of Domain value 2022-03-06 18:31:07 -05:00
Evan Kranzler
c8cdc0a502 [CON] various text fixes 2022-03-06 18:07:25 -05:00
Evan Kranzler
edaaac53d9 [ALA] various text fixes 2022-03-06 15:29:47 -05:00
Evan Kranzler
84261a1731 various fixes to look and pick effect text 2022-03-03 18:33:04 -05:00
Evan Kranzler
2675b75c60 various text fixes 2022-03-03 17:57:39 -05:00
Evan Kranzler
d8137e7e05 [M21] a few text fixes 2022-03-03 09:19:17 -05:00
Evan Kranzler
f574e6fc1d [THB] various text fixes 2022-03-03 09:06:05 -05:00
Evan Kranzler
32bf246e77 [NEO] fixed bugs with Kotose, the Silent Spider and March of Reckless Joy (fixes #8737, fixes #8736) 2022-03-02 18:10:26 -05:00
Evan Kranzler
0cc1b152c4 [ONS] Implemented Graxiplon 2022-03-01 19:02:45 -05:00
Evan Kranzler
a7fa431d19 [Y22] Implemented Soulstealer Axe 2022-03-01 17:55:19 -05:00
Evan Kranzler
f4b95d8e2c [Y22] Implemented Faithful Disciple 2022-03-01 17:47:28 -05:00
Evan Kranzler
6094c6eed7 [NEO] reworked implementation of Nashi, Moon Sage's Scion 2022-03-01 08:31:54 -05:00
Evan Kranzler
6c643fdc5e [EVE] fixed implementation of Hotheaded Giant 2022-02-28 08:45:13 -05:00
Alex W. Jackson
2025bca358 Fix more double semicolons in java code 2022-02-25 10:08:18 -05:00
Evan Kranzler
bf699b5559 fixed test failures 2022-02-24 21:12:33 -05:00
Evan Kranzler
eb4366013b reworked auras which grant protection but don't remove themselves 2022-02-24 20:15:16 -05:00
Evan Kranzler
48d139393d [FUT] reworked Daybreak Coronet 2022-02-24 20:15:15 -05:00
Evan Kranzler
3cbfe4d623 [BOK] reworked implementation of Shirei, Shizo's Caretaker and added test 2022-02-24 20:15:15 -05:00
Evan Kranzler
f32d0b3e6e fixed issues with Conspire, added additional tests 2022-02-23 21:37:42 -05:00
Evan Kranzler
86b20185f5 [SHM] reworked implementation of Conspire ability 2022-02-23 09:18:25 -05:00
Alex W. Jackson
15a6d939b7 [BOK] Fix Waxmane Baku ability to be targeted, not choose on resolution 2022-02-22 22:59:21 -05:00
Alex W. Jackson
840058b246 Remove another unused, duplicate Ability class 2022-02-22 20:51:22 -05:00
Alex W. Jackson
7cddea8c63 Intimidate text fixes 2022-02-22 19:47:53 -05:00
Jeff Wadsworth
83e18393f7 - changed to lower-case and added <i> to intimidate keyword. 2022-02-22 17:21:01 -06:00
Evan Kranzler
414018db13 fixed the text on various sliver cards 2022-02-22 17:53:31 -05:00
Evan Kranzler
abc6618cba [SLD] a few more text fixes 2022-02-22 17:51:02 -05:00
Jeff Wadsworth
cf2b6f8366 - Fixed #8707 2022-02-22 16:36:34 -06:00
Alex W. Jackson
dd8d86ba95 Fix Navigator's Compass not working while casting spells 2022-02-20 13:24:57 -05:00
Evan Kranzler
cc8ddbfd7c [KLD] various text fixes 2022-02-20 09:37:58 -05:00
Evan Kranzler
014a4b6941 [AER] various text fixes 2022-02-20 08:43:01 -05:00
Evan Kranzler
d3ebac1776 [SHM] fixed Repel Intruders not being able to be cast when stack is empty (fixes #8715) 2022-02-19 18:32:43 -05:00
Evan Kranzler
3f37b5aa76 updated Heart of Kiran text generation 2022-02-19 17:42:19 -05:00
Evan Kranzler
4868afe0e0 some changes to payment text generation 2022-02-19 17:41:57 -05:00
Evan Kranzler
82b67a2548 [SLD] some more text fixes 2022-02-19 12:59:37 -05:00
Evan Kranzler
ac56e8dd24 [NEO] fixed Mechtitan Core error when exiling only tokens 2022-02-19 09:49:50 -05:00
Evan Kranzler
77cc5646b1 small fix to previous refactor 2022-02-18 22:23:24 -05:00
Evan Kranzler
8040e7d1e8 [NEC] fixed Kotori, Pilot Prodigy's granted crew ability not animating vehicles (fixes #8713) 2022-02-18 22:22:44 -05:00
Jeff Wadsworth
001e8a24e0 - Fixed #8675 2022-02-18 14:34:42 -06:00
Evan Kranzler
e91c6ad65c [SLD] various text fixes 2022-02-18 10:13:15 -05:00
Evan Kranzler
c276e8479b [SLD] Implemented Ken, Burning Brawler 2022-02-17 21:36:59 -05:00
Evan Kranzler
87aa1b326b [SLD] Implemented Chun-Li, Countless Kicks 2022-02-17 21:26:17 -05:00
Evan Kranzler
5f3cb1c9f8 [SLD] Implemented Zangief, the Red Cyclone 2022-02-17 20:55:50 -05:00
Evan Kranzler
4ede390e40 some reworking of Equip, Fortify, and Reconfigure 2022-02-17 18:08:22 -05:00
Evan Kranzler
9c8943384a small nonfunctional cleanup to continuous effects handling 2022-02-17 08:19:52 -05:00
Evan Kranzler
4591ac07cc
Reworking goad effects (ready for review) (#8034)
* changing goad to designation, refactored goad effects to be continuous

* [AFC] Implemented Vengeful Ancestor

* reworked effects which goad an attached creature

* updated goading implementation

* updated combat with new goad logic

* some more changes, added a test

* another fix

* update to test, still fails

* added more failing tests

* more failing tests

* added additional goad check

* small fix to two tests (still failing

* added a regular combat test (passes and fails randomly)

* fixed bug in computer player random selection

* some changes to how TargetDefender is handled

* removed unnecessary class

* more combat fixes, tests pass now

* removed tests which no longer work due to combat changes

* small merge fix

* [NEC] Implemented Komainu Battle Armor

* [NEC] Implemented Kaima, the Fractured Calm

* [NEC] added all variants
2022-02-15 09:18:21 -05:00
Alex W. Jackson
5725873aeb
Fix #8305, #8692 (#8698) 2022-02-15 03:29:27 -05:00
Evan Kranzler
3b6a9c0a9b fixed test failure 2022-02-14 22:29:21 -05:00
Evan Kranzler
8da3a78273 fixed text on various cards which draw and discard 2022-02-14 21:56:07 -05:00
Evan Kranzler
c28da75ac1 some more text fixes for adding counter effects 2022-02-14 21:35:07 -05:00
Evan Kranzler
99e8b80184 [NEO] various text fixes 2022-02-14 21:10:48 -05:00
Evan Kranzler
a2a0466212 [NEC] various text fixes 2022-02-14 20:49:07 -05:00
Evan Kranzler
21dd720336 [NEC] Implemented Smoke Spirits' Aid 2022-02-14 19:15:05 -05:00
Evan Kranzler
3b1b5cec9e [NEC] Implemented Ruthless Technomancer 2022-02-14 17:34:46 -05:00
Evan Kranzler
957eca8d87 [NEO] fixed Go-Shintai of Lost Wisdom milling controller instead of targeted player (fixes #8701) 2022-02-14 17:08:20 -05:00
Daniel Bomar
0694fd3ef7
[NEO] Implemented Kumano Faces Kakkazan / Etching of Kumano (#8674)
* [NEO] Implemented Kumano Faces Kakkazan / Etching of Kumano

* [NEO] Etching of Kumano - Clean up watcher controller check

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2022-02-12 15:05:04 -05:00
Evan Kranzler
cff38b74b9 [NEO] fixed implementation of March additional costs (#8524) 2022-02-12 14:27:35 -05:00
Evan Kranzler
3349c5d327 [NEO] added missing condition to Reconfigure unattach ability 2022-02-10 21:37:50 -05:00
Evan Kranzler
42592072c2 fixed test failure 2022-02-10 19:27:19 -05:00
Evan Kranzler
fcd38fd512 [AER] reworked Heart of Kiran implementation 2022-02-10 18:12:42 -05:00
Evan Kranzler
5ba82fa698 [NEO] updated vehicle crewed trigger to trigger on resolution rather than cost paid 2022-02-10 17:43:05 -05:00
Evan Kranzler
54203c16d3
[NEO] Implementing Compleated mechanic and hybrid phyrexian mana (ready for review) (#8677)
* [NEO] Implemented Tamiyo, Compleated Sage

* replaced PhyrexianManaCost calls with ManaCostsImpl calls

* updated phyrexian mana implementation

* added phyrexian hybrid symbol support

* updated starting loyalty implementation for planeswalkers

* change compleated to singleton

* implemented Compleated ability

* added some missing loyalty setters

* changed when loyalty is added to a walker to fix bugs

* slight change to some tests to fix them from failing

* fixed token issue
2022-02-10 10:25:23 -05:00
Alex Vasile
3709b5c098
[NEO] Implemented Myojin of Cryptic Dreams and Myojin of Grim Betrayal (#8680)
* - Implemented Myojin of Cryptic Dreams and Myojin of Grim Betrayal.
- Updated CardsPutIntoGraveyardWatcher to keep track of all cards that entered the graveyard.
- Added documentation to CardsPutIntoGraveyardWatcher.

* Fixed add indestructible counter ability
2022-02-10 09:23:13 -05:00
Evan Kranzler
6851e553d8 [NEO] various text fixes 2022-02-08 19:41:26 -05:00
Evan Kranzler
b100890cdf [NEO] Implemented Mechtitan Core 2022-02-08 18:38:49 -05:00
Jeff Wadsworth
b83d76bb08 - [NEO] added Eater of Virtue 2022-02-08 09:08:50 -06:00
Evan Kranzler
8bdfff89d0 [NEC] Implemented Go-Shintai of Life's Origin 2022-02-08 08:58:13 -05:00
Evan Kranzler
4f2671f475 [NEC] Implemented Aerial Surveyor 2022-02-08 08:43:47 -05:00
Evan Kranzler
76a1187c8e [NEO] Implemented Fable of the Mirror Breaker / Reflection of Kiki-Jiki 2022-02-07 20:38:03 -05:00
Evan Kranzler
442859497b [NEO] Implemented Invoke Justice 2022-02-07 19:09:06 -05:00
Evan Kranzler
c44d101cfd [NEO] Implemented Tezzeret, Betrayer of Flesh 2022-02-07 17:54:06 -05:00
Daniel Bomar
a64741ff49
[NEO] Implemented Lethal Exploit 2022-02-07 16:49:56 -06:00
Evan Kranzler
c1d5a310d5 [NEO] Implemented Tatsunari, Toad Rider 2022-02-07 08:48:58 -05:00
Alex Vasile
919f320086 Made hint optional for Equip 2022-02-06 21:10:37 -05:00
Evan Kranzler
b130e01187 [NEO] Implemented Crackling Emergence 2022-02-06 19:21:09 -05:00
Alex Vasile
4dc0a21e7b
Implemented empty functions setIsAllCreatureTypes for Commander. (#8660)
* Implemented empty functions `setIsAllCreatureTypes` for Commander.

* Rather than copy and pasting the code, call source object

* Add pass-through for isAllCreatureTypes
2022-02-06 18:16:41 -05:00
Evan Kranzler
f7b1078210 removed unfinished text changing implementation 2022-02-06 18:09:41 -05:00
Alex Vasile
24ff47c803 Fixed hints on ward 2022-02-06 17:04:25 -05:00
Evan Kranzler
c7f65031a1 [NEO] Implemented March of Swirling Mist 2022-02-06 16:07:58 -05:00
Evan Kranzler
2783f55765 [NEO] Implemented March of Otherworldly Light 2022-02-06 16:01:37 -05:00
Evan Kranzler
5ed88aae91 fixed #8662 2022-02-06 15:40:49 -05:00
Evan Kranzler
495fc57540 [NEO] Implemented Reconfigure abliity 2022-02-06 12:27:12 -05:00
Alex Vasile
5945aaeda4
[VOC] Implemented Shadowgrange Archfiend AND Changed MadnessAbility (#8628)
* Implemented Shadowgrange Archfiend

* Changed MadnessAbility to work with cards which also require life to be paid as part of the madness cost (so far only Shadowgrange Archfiend).

* Updated Shadowgrange Archfiend to work with new Madness implementation (and actually cost life to cast using madness)

* Removed unnecessary variable
2022-02-06 11:36:19 -05:00
Evan Kranzler
9ec6b617b8 [NEO] Implemented Shigeki, Jukai Visionary 2022-02-06 11:10:40 -05:00
Alex Vasile
2996b0f76f Changed getTopCards to use LinkedHashSet to always return cards in the same order that they are in the library. 2022-02-06 10:08:17 -05:00
Evan Kranzler
5940ff7cfd [NEO] Implemented Kura, the Boundless Sky 2022-02-05 21:02:13 -05:00
Alex Vasile
5611f41949
[VOC] Implemented Mirage Phalanx (#8654)
* Implemented Mirage Phalanx

* Changed based on first set of comments

* Reordered variables in alphabetical order

* Added support for removing abilities from a token before creating it.

* Fixed typo in CreateTokenCopyTargetEffect, should have been getAddedPermanents not getAddedPermanent (with the s).

* Updated how soulbond is removed from MiragePhalanx tokens

* Fixed missing fields in the copy constructor

* - Refactoring the exileTokensCreated function to exile all tokens as a single trigger.
- Changed Mirage Phalanx to use the new exileTokensCreated function
- changed ’ to '
2022-02-05 20:38:12 -05:00
Evan Kranzler
b92128dd41 [NEO] Implemented Bronze Cudgels 2022-02-05 18:22:42 -05:00
Evan Kranzler
266addb4e1 small update to crew ability to reflect rule change 2022-02-05 17:50:51 -05:00
Evan Kranzler
be7e936fc1 [NEO] Implemented Inventive Iteration / Living Breakthrough 2022-02-05 17:50:50 -05:00
Daniel Bomar
dfb3f87bb3
[NEO] Implemented Flame Discharge 2022-02-05 15:14:04 -06:00
Evan Kranzler
f20cbd934f [NEO] Implemented Dragonspark Reactor 2022-02-05 15:08:00 -05:00
Alex Vasile
331728c238
[VOC] Implemented Donal, Herald of Wings (#8653)
* Implemented Donal, Herald of Wings

* Made the spell work only once per turn

* Made the spell work only once per turn

* - Changed based on Nykthos Paragon
- Fixed properly adjusting power and toughness
- Fixed card text
2022-02-05 14:55:27 -05:00
Evan Kranzler
60e75f5bc5 [NEO] Implemented Careful Cultivation 2022-02-05 10:12:04 -05:00
Evan Kranzler
a00e4430d2 [NEO] Implemented Gift of Wrath 2022-02-05 09:25:30 -05:00
Oleg Agafonov
3cb721fbd9 [VOW] added tokens and images support 2022-02-05 14:44:46 +04:00
Oleg Agafonov
dd72e078b5 [VOW] Dorothea's Retribution - fixed wrong token 2022-02-05 14:26:28 +04:00
Oleg Agafonov
424fc919a7 [VOC] added tokens and images support 2022-02-05 13:03:35 +04:00
Oleg Agafonov
1fcdbe4b63 Fixed miss default token constructors 2022-02-05 12:33:40 +04:00
Oleg Agafonov
54a1efec63 [MID] added tokens and images support 2022-02-05 12:22:39 +04:00
Evan Kranzler
6d1c7595bf small fix to saga text generation 2022-02-04 20:52:00 -05:00
Evan Kranzler
0345580fa7 [NEO] Implemented Farewell 2022-02-04 17:41:45 -05:00
Jeff Wadsworth
93f14cdf61 - Fixed #8624 2022-02-04 11:49:34 -06:00
Evan Kranzler
6c9fc1679d [NEO] Implemented The Long Reach of Night / Animus of Night's Reach 2022-02-04 09:16:57 -05:00
Evan Kranzler
be8fec609d [NEO] Implemented Invoke the Ancients 2022-02-04 07:50:49 -05:00
Evan Kranzler
c75431f27b [NEO] Implemented Weaver of Harmony 2022-02-03 20:07:31 -05:00
Evan Kranzler
04129c55fa [NEO] Implemented Mobilizer Mech 2022-02-03 20:07:31 -05:00
Daniel Bomar
8477260070
[NEO] Implemented Azusa's Many Journeys / Likeness of the Seeker 2022-02-03 14:04:48 -06:00
Daniel Bomar
0e23fae634
[NEO] Implemented Tribute to Horobi / Echo of Death's Wail 2022-02-03 12:57:27 -06:00
Oleg Agafonov
be114bb592 [MIC] added tokens and images support 2022-02-03 21:40:34 +04:00
Evan Kranzler
25f47bde63 refacted SourceTappedCondition to use a single enum 2022-02-02 21:35:20 -05:00
Evan Kranzler
ba05bc13c4 [NEO] Implemented Behold the Unspeakable / Vision of the Unspeakable 2022-02-02 19:59:59 -05:00
Evan Kranzler
076b08d07b [NEO] Implemented The Fall of Lord Konda / Fragment of Konda 2022-02-02 19:59:57 -05:00
Oleg Agafonov
0cb9266a15 [AFC] added tokens and images support 2022-02-02 13:13:49 +04:00
Oleg Agafonov
edd6fba06f
Merge pull request #8618 from Alex-Vasile/fix-dual-face-card-import
Added support for importing double-faced cards in the deck-editor.
2022-02-01 21:02:59 +04:00
Daniel Bomar
2a3efadad0
[NEO] Implemented Awakened Awareness 2022-02-01 10:34:06 -06:00
Evan Kranzler
b4b7a937eb [NEO] Implemented Prodigy's Prototype 2022-02-01 09:28:46 -05:00
Evan Kranzler
4409a0aa95 [NEO] Implemented Hotshot Mechanic 2022-02-01 09:21:33 -05:00
Evan Kranzler
577da37f6e [NEO] Implemented Sokenzan Smelter 2022-01-31 20:32:53 -05:00
Evan Kranzler
27ee3d1c93 [NEO] Implemented Guardians of Oboro 2022-01-31 20:10:04 -05:00
Alex W. Jackson
de3f7cbbfb Fix #6671 2022-01-31 16:55:58 -05:00
Evan Kranzler
89b5678cf4 [NEO] Implemented Life of Toshiro Umezawa / Memory of Toshiro 2022-01-31 08:35:03 -05:00
Evan Kranzler
87d74a4cf9 simplified default saga constructor 2022-01-31 08:22:43 -05:00
Alex W. Jackson
86160b7613 Text fixes 2022-01-31 01:00:38 -05:00
Alex Vasile
3a9543d847
Replaced several custom "noncreature spell" filters with the main static one available. (#8625) 2022-01-30 22:23:46 -05:00
Evan Kranzler
d030848552
Reworking "as long as you control this" effects (WIP) (#8620)
* added WhileControlled duration, removed SourceOnBattlefieldControlUnchangedCondition

* refactored effects which keep things tapped

* a few additional missed cards

* refactored cards which check for being controlled and tapped

* [NEO] Implemented Kyodai, Soul of Kamigawa
2022-01-30 22:00:10 -05:00
Alex W. Jackson
2b7a67d6e6 [M14] Remove a duplicate token 2022-01-30 19:28:48 -05:00
Evan Kranzler
a76f6fbdf8 [NEO] Implemented Naomi, Pillar of Order 2022-01-30 16:30:08 -05:00
Evan Kranzler
6a6b591549 [NEO] Implemented Sokenzan, Crucible of Defiance 2022-01-30 16:10:12 -05:00
Evan Kranzler
2f189c1dec [NEO] Implemented Banishing Slash 2022-01-30 15:32:58 -05:00
Evan Kranzler
c77459b7a0 [NEC] Implemented Chishiro, the Shattered Blade 2022-01-30 14:14:40 -05:00
Evan Kranzler
6402845e27 [NEO] Implemented Michiko's Reign of Truth / Portrait of Michiko 2022-01-30 10:09:49 -05:00
Evan Kranzler
c459578a68 [NEO] Implemented The Wandering Emperor 2022-01-29 21:38:14 -05:00
Alex Vasile
6647c36f07 Added support for importing double-faced cards in the deck-editor. 2022-01-29 19:39:11 -05:00
Evan Kranzler
5cbc93b67e [NEO] Implemented Imperial Subduer 2022-01-29 17:29:05 -05:00
Evan Kranzler
62fa79cfd8 added AttacksAloneControlledTriggeredAbility 2022-01-29 17:13:15 -05:00
Evan Kranzler
37c7573acd [NEO] Implemented Leech Gauntlet 2022-01-29 10:17:34 -05:00
Alex Vasile
d24dc008a8
Replaced several created filters inside card classes with pre-built static filters and simplified 3 cards (#8612) 2022-01-29 00:05:12 -05:00
Alex W. Jackson
140be70fb8 Improve WishEffect text and refactor ctors (if filter exists, wished for card must be revealed) 2022-01-28 23:54:32 -05:00
Alex W. Jackson
8376e7a1a3 fix FightTargetsEffect copy constructor 2022-01-28 20:04:20 -05:00
Alex W. Jackson
2941487219 Improve DiscardCardYouChooseTargetEffect and use it for many cards that were using custom effects 2022-01-28 13:43:46 -05:00
Oleg Agafonov
1b98b9fde3
Merge pull request #8608 from Alex-Vasile/znr-fix-text-issues
Znr fix text issues
2022-01-28 18:56:49 +04:00
Evan Kranzler
e09d32c325 [NEO] Implemented Greater Tanuki 2022-01-28 08:41:55 -05:00
Alex Vasile
ffa05bf9db - Fixed Khalni Ambush
- Added Effect hint for FightTargetsEffect
- Added test for FightTargetsEffect hint to VerifyCardDataTest (for #6728)
2022-01-28 00:55:23 -05:00
Evan Kranzler
b60b7525c0 [NEO] Implemented Goro-Goro, Disciple of Ryusei 2022-01-27 22:17:04 -05:00
Evan Kranzler
68edee6d32 [NEO] Implemented The Shattered States Era / Nameless Conqueror 2022-01-27 21:08:19 -05:00
Evan Kranzler
6eda309765 renamed gender class to pronoun class 2022-01-27 20:36:53 -05:00
Evan Kranzler
47bbb70675 [STX] fixed Lukka, Wayward Bonder emblem not damaging players 2022-01-27 20:13:44 -05:00
Alex Vasile
d33acc7c80
Fixed Wording on 2 cards and removed duplicate StaticFilter (#8596)
Closes #6643
2022-01-25 21:08:46 -05:00
Alex W. Jackson
26a2e0a5ed Various text fixes found while closing #6885 2022-01-24 00:40:25 -05:00
Alex W. Jackson
faf2e4ec82 Improve text generation for DamageMultiEffect 2022-01-22 11:55:20 -05:00
Oleg Agafonov
d995be0ee6 Dev: downgraded protobuf lib for build compatibility (fix #8575); 2022-01-22 00:10:18 +04:00
Alex Vasile
25344b9ca3 Updated com.google.protobuf from 3.0.0 to 3.18.0 2022-01-21 13:43:11 -05:00
Alex W. Jackson
fa1051cec3 Fix #8556 2022-01-14 18:45:43 -05:00
Alex W. Jackson
d4c4b95206 [ALA] fix some card text 2022-01-13 05:42:28 -05:00
Jeff Wadsworth
1810c2c778 - Fixed #8157 2022-01-11 14:42:45 -06:00
Alex W. Jackson
13baf726e9 Fix log message for 'put into library N from top' effects 2022-01-09 00:42:14 -05:00
Jeff Wadsworth
5b70f36041 - removed debugging line 2022-01-07 10:25:48 -06:00
Jeff Wadsworth
75375f2ed5 - Fixed #8497 2022-01-07 10:24:17 -06:00
Alex W. Jackson
f1ff4dbd0e Remove an unused and functionally duplicated Filter class 2022-01-06 03:51:46 -05:00
Alex W. Jackson
6892776e28 Fix Slate Street Ruffian and Thresher Beast. Simplify various similar cards 2022-01-04 06:17:42 -05:00
Alex W. Jackson
635e70e77e Deleted two duplicate Ability classes 2022-01-02 14:54:56 -05:00
Evan Kranzler
e8bc3d01ad changed ninjutsu ability cost to mana string 2021-12-27 21:43:45 -05:00
Evan Kranzler
a6fcaab698 fixed various instances of getting source name (fixes #8531, fixes #8528) 2021-12-24 19:30:31 -05:00
Alex W. Jackson
d357f4a0b0 Add MDFC support to CardCriteria and use it for ZNR 2021-12-24 03:38:48 -05:00
Alex W. Jackson
a4ced51058 CardCriteria: fix subtype 2021-12-24 03:06:33 -05:00
Alex W. Jackson
881fdcaa08 Remove no longer needed CardCriteria workaround 2021-12-24 03:05:28 -05:00
Alex W. Jackson
3ac82adb4d Fix Nivix Cyclops and clean up some similar cards 2021-12-18 19:53:27 -05:00
Evan Kranzler
5845630af9 [NEO] Implemented Kaito Shizuki 2021-12-17 18:45:39 -05:00
Alex W. Jackson
f1390faf58 Rework Cephalid Snitch. Fixes #8520 2021-12-15 04:16:29 -05:00
Alex W. Jackson
743f9e4b3b Remove unused (but memory leaking) static field from ProtectionAbility 2021-12-14 22:33:32 -05:00
Alex W. Jackson
ed47416972 Add static filter for 'nonblack creature' 2021-12-11 15:30:15 -05:00
Alex W. Jackson
62bc6ed848 Fix Spectral Prison rules text. Add filter support to BecomesTargetAttachedTriggeredAbility 2021-12-05 02:10:21 -05:00
Daniel Bomar
fe3595c3f6
Fixed cards with multiple kicker costs not being copied correctly 2021-12-04 09:36:58 -06:00
Daniel Bomar
a8f7cfa17d
Fixed kicker costs not getting reset correctly (fixes #8495) 2021-12-03 19:10:02 -06:00
Evan Kranzler
c93af17190 updated static filter test to detect multiple errors at once 2021-12-02 09:11:08 -05:00
Evan Kranzler
2d54a2e313 [UNF] Implemented Saw in Half 2021-11-30 09:36:02 -05:00
Evan Kranzler
e3b2ac15ba added cardutil method for incrementing map values 2021-11-29 21:34:04 -05:00
Evan Kranzler
90ae244fa5 [UNF] Implemented The Space Family Goblinson 2021-11-29 21:05:33 -05:00
Oleg Agafonov
a6b2bea8af Images: added direct image links support in scryfall, added SLD's alternative images from second sides (example: Zndrsplt, Eye of Wisdom); 2021-11-28 01:17:54 +04:00
Evan Kranzler
fba68a7255 removed instances of incorrect quote characters, expanded test 2021-11-24 20:56:31 -05:00
Jeff Wadsworth
cb6498e0d7 - Fixed #8468 2021-11-19 11:52:24 -06:00
Evan Kranzler
8e3c04cac2 fixed a test failure 2021-11-17 22:31:32 -05:00
Evan Kranzler
1aa1d71a96 [VOC] Implemented Breath of the Sleepless 2021-11-17 20:55:11 -05:00
Evan Kranzler
2d14d0647d renamed a static filter 2021-11-17 08:32:38 -05:00
Evan Kranzler
dcb08be4c3 added static filter test, a few other small changes 2021-11-17 08:31:50 -05:00
Oleg Agafonov
afdae939c3 * Becomes a copy abilities: improved support with MDF cards (#8335); 2021-11-17 16:27:18 +04:00
Oleg Agafonov
35b257bd8f Fixed miss lock code in static filters; 2021-11-17 16:00:14 +04:00
Oleg Agafonov
f911a42903 Fixed outdated db version 2021-11-17 15:59:35 +04:00
Jeff Wadsworth
e989c05247 - Fixed #8455 2021-11-15 11:27:47 -06:00
Evan Kranzler
b625aa05c5 updated some fight effect text 2021-11-14 15:30:27 -05:00
Evan Kranzler
7b184a76fa a few more exile from graveyard fixes 2021-11-14 11:10:23 -05:00
Evan Kranzler
53f6bc372a [VOC] various text fixes 2021-11-13 18:58:28 -05:00
Evan Kranzler
652dd49940 updated fight effect text 2021-11-13 18:30:42 -05:00