Commit graph

10883 commits

Author SHA1 Message Date
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
Evan Kranzler
b286d70447 some text fixes for exile graveyards 2021-11-13 18:01:41 -05:00
Oleg Agafonov
a480e10bd8 DB: added numerical card number field for min/max query (#8383); 2021-11-14 01:27:58 +04:00
Oleg Agafonov
23bcc9dbb5 * GUI: fixed that card viewer or deck editor doesn't show transform button for some cards (#8448); 2021-11-14 00:33:37 +04:00
Evan Kranzler
9c5f63403a [VOC] Implemented Rhoda, Geist Avenger 2021-11-13 12:39:14 -05:00
Evan Kranzler
6b2fc867f4 [VOW] some more text fixes 2021-11-12 19:58:50 -05:00
Evan Kranzler
783a818cb7 [VOW] Implemented Alchemist's Gambit 2021-11-12 09:11:00 -05:00
Evan Kranzler
5260d6d363 [VOW] Implemented Curse of Hospitality 2021-11-12 08:52:57 -05:00
Evan Kranzler
38f0e83274 [VOW] various text fixes 2021-11-11 21:59:56 -05:00
Evan Kranzler
8de8a24227 [VOW] Implemented Ill-Tempered Loner / Howlpack Avenger 2021-11-11 20:04:22 -05:00
Evan Kranzler
03926f114f [VOW] Implemented Voltaic Visionary / Volt-Charged Berserker 2021-11-11 19:47:20 -05:00
Jeff Wadsworth
0600c0e7d5 - Fixed #8436 2021-11-11 16:35:15 -06:00
Daniel Bomar
24fab24440
[VOW] Implemented Jacob Hauken, Inspector / Hauken's Insight 2021-11-11 10:49:26 -06:00
Alex W. Jackson
e1a345339d Merge branch 'master' of https://github.com/magefree/mage 2021-11-11 08:49:00 -05:00
Alex W. Jackson
379550689f Refactor generation of boosters with a special uncommon/rare slot (e.g. WAR planeswalker slot) 2021-11-11 08:48:50 -05:00
Evan Kranzler
ffc3c07b41 fixed a test failure 2021-11-11 08:46:59 -05:00
Evan Kranzler
51e88b8e19 [VOW] Implemented Savior of Ollenbock 2021-11-11 08:14:39 -05:00
Evan Kranzler
ca16f363c8 refactored effects which cause other permanents to enter tapped 2021-11-11 07:51:12 -05:00
Alex W. Jackson
5287e1aa4d CardCriteria: use constants instead of strings for supertype and subtype 2021-11-11 05:50:13 -05:00
Evan Kranzler
f5141843ff [VOW] Implemented Biolume Egg / Biolume Serpent 2021-11-10 21:10:01 -05:00
Daniel Bomar
91300cebed
[VOW] Implemented Chandra, Dressed to Kill 2021-11-10 12:00:38 -06:00
Daniel Bomar
395136259f
[VOW] Implemented Cemetery Illuminator 2021-11-10 09:13:02 -06:00
Evan Kranzler
599e5c2a4f [VOW] Implemented Howlpack Piper / WIldsong Howler 2021-11-10 09:47:45 -05:00
Evan Kranzler
e30ba1b62a [VOW] Implemented Toxrill, the Corrosive 2021-11-10 08:09:57 -05:00
Alex W. Jackson
bb2546badd
Refactor rules text generation for P/T boost effects. Fixes #8421 2021-11-10 06:40:11 -05:00
Evan Kranzler
900f9d845c [VOC] Implemented Ethereal Investigator 2021-11-09 07:49:24 -05:00
Oleg Agafonov
3284cb5b24 GUI: fixed wrong card sides, data and errors for transform and double side cards; 2021-11-09 10:16:39 +04:00
Daniel Bomar
7082b86eb3
[MID] Implemented Disturb mechanic (#8201)
* [MID] Implemented Disturb mechanic

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2021-11-09 10:12:50 +04:00
Evan Kranzler
1195016399 [VOW] Implemented Kaya, Geist Hunter 2021-11-08 20:50:13 -05:00
Evan Kranzler
1656324329 [VOW] Implemented Undead Butler 2021-11-08 20:30:30 -05:00
Evan Kranzler
5dbc8f11f3 [VOW] Implemented Hiveheart Shaman 2021-11-08 20:15:55 -05:00
Daniel Bomar
902fec22dd
[VOW] Implemented Spiked Ripsaw 2021-11-08 09:58:20 -06:00
Evan Kranzler
8856d0a0ea [VOW] Implemented Edgar, Charmed Groom / Edgar Markov's Coffin 2021-11-08 08:33:14 -05:00
Evan Kranzler
10185a0999 [VOW] Implemented Screaming Swarm 2021-11-08 08:04:16 -05:00
Evan Kranzler
3801325a04 added TransformIntoSourceTriggeredAbility to simplify copied code 2021-11-07 08:31:23 -05:00
Evan Kranzler
81c7a29947 [VOW] Implemented Faithbound Judge / Sinner's Judgment 2021-11-06 21:34:31 -04:00
Evan Kranzler
1f2fa8d8dc [VOW] Implemented Gutter Skulker / Gutter Shortcut 2021-11-06 19:30:49 -04:00
Evan Kranzler
fcc1481679 [VOW] Implemented Lacerate Flesh 2021-11-06 13:57:47 -04:00
Evan Kranzler
12588ea40b [VOW] Implemented Rural Recruit 2021-11-05 20:18:36 -04:00
Evan Kranzler
ecfe08cee0 moved TransformAbility into DayboundAbility for simplicity 2021-11-05 19:59:00 -04:00
Evan Kranzler
30afb11cd2
Implementing Daybound/Nightbound mechanic (#8200)
* adding initial day/night support in game state

* remove card exclusion for testing

* added functional implementation to abilities from main branch

* functionally implemented NightCondition

* updated DayNightHint

* added support for nightbound entering transformed at night

* [MID] Implemented Unnatural Moonrise

* [MID] Implemented The Celestus

* added some docs

* changed access for state day/night methods

* added transformation to day/night switch

* re-added unfinished filter, removed day/night cards

* fixed some errors with transforming

* added hints to all day/night cards

* added transformation prevention plus a test

* added Immerwolf test

* [MID] Implemented Tovolar, Dire Overlord / Tovolar, The Midnight Scourge

* refactored some cards to not use isTransformable

* removed transformable parameter

* simplified some transform code

* fixed null pointer exception

* removed unnecessary canTransform method

* fixed a small error

* reworked implementation of rule 701.28f

* small change in transform logic

* fixed failiing test

* fixed verify failure

* small merge change

* added support for day/night switching based on spells cast

* [MID] Implemented Curse of Leeches / Leeching Lurkers

* moved day/night handling to untap step

* added tests for cards which set day and trigger from a change

* [MID] Implemented Ludevic, Necrogenius / Olag, Ludevic's Hubris

* added support for creatures transforming to match day/night when necessary

* fixed verify failures

* fixed another verify failure

* remove temporary verify skip

* added transform message

* removed unnecessary transform message

* [MID] Implemented Angelic Enforcer / Enduring Angel

* updated DayNightHint with more information

* fixed verify failure

* merge fix

* fixed Startled Awake / Persistent Nightmare / Moonmist interaction

* added another test for Moonmist

* merge fix

* merge fix

* [MID] Implemented Baneblade Scoundrel / Baneclaw Marauder

* merge fix

* [MID] various text fixes

* [MID] a few more text fixes

* Merge fix

* Improved transform game logs (hints, source), fixed day/night logs, fixed miss game param (due code style);

* fixed a test failure

* Merge fix

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-11-05 23:11:23 +04:00
Evan Kranzler
950aacd6fc [VOW] Implemented Sanguine Statuette 2021-11-05 09:31:54 -04:00
Evan Kranzler
8091538bbc [VOW] Implemented Sigardian Palading 2021-11-05 08:52:58 -04:00
Evan Kranzler
4088159bf9 [VOW] Implemented Wash Away 2021-11-04 21:56:33 -04:00
Daniel Bomar
b4f81efef8
[VOW] Implemented Manaform Hellkite 2021-11-03 16:10:34 -05:00
Evan Kranzler
6a3b768ca6 [VOW] Implemented Ancient Lumberknot 2021-11-02 19:27:30 -04:00
Evan Kranzler
ee09285d54 small reworking to PermanentsOnTheBattlefieldCondition 2021-11-02 19:00:54 -04:00
Evan Kranzler
fb38ee9b8d [VOW] Implemented Groom's Finery 2021-11-02 09:12:35 -04:00
Daniel Bomar
d0466ff6f3
[VOW] Implemented Investigator's Journal 2021-11-01 09:23:30 -05:00
Evan Kranzler
e36dac83f2 [VOW] Implemented Kessig Wolf Rider 2021-11-01 09:02:51 -04:00
Evan Kranzler
5203714d07 [VOW] Implemented Rending Flame 2021-10-31 15:22:40 -04:00
Daniel Bomar
3bac561d07
[VOW] Implemented Hallowed Haunting 2021-10-31 10:38:08 -05:00
Daniel Bomar
105e1f8ed9
[MID] Teferi, Who Slows the Sunset - Fixed targets on +1 ability (fixes #8423) 2021-10-31 08:28:58 -05:00
Evan Kranzler
492d1ce957 [VOW] Implemented Torens, Fist of the Angels 2021-10-29 22:34:59 -04:00
Daniel Bomar
af290a4771
[VOW] Implemented Grolnok, the Omnivore 2021-10-29 21:24:12 -05:00
Alex W. Jackson
91176a19dd ObjectColor objects are mutable, so let's not assign the 'constant' ones to variables 2021-10-29 13:56:48 -04:00
Daniel Bomar
096a2868a9
[VOW] Implemented Sorin the Mirthless 2021-10-29 12:25:52 -05:00
Alex W. Jackson
1e6709de46
New booster color validation algorithm, fixes #8177 (#8413) 2021-10-29 11:51:37 -04:00
Daniel Bomar
5fd961aefe
[VOW] Implemented Wedding Announcement 2021-10-29 09:20:42 -05:00
Evan Kranzler
6d488d9900 [VOW] Implemented Fell Stinger 2021-10-29 08:10:37 -04:00
Evan Kranzler
d8718a5fb5 [VOW] Implemented Apprentice Sharpshooter 2021-10-28 20:29:15 -04:00
Evan Kranzler
06f76eadec [VOW] Implemented Gluttonous Guest 2021-10-28 20:19:40 -04:00
Evan Kranzler
d289348483 [VOW] Implemented Dig Up 2021-10-28 20:10:31 -04:00
Oleg Agafonov
05222f3bdc
Merge pull request #8400 from weirddan455/decayed
Add sub abilities in TokenImpl.addAbility and PermanentImpl.addAbility (fixes #8343)
2021-10-23 10:27:49 +04:00
Daniel Bomar
bcacb870af
Text fixes (fixes #8399) 2021-10-22 23:50:30 -05:00
Daniel Bomar
5a6bfb710e
Fixed more instances of missing sub abilities 2021-10-22 19:12:19 -05:00
Daniel Bomar
060ea7da83
Add sub abilities in TokenImpl.addAbility and PermanentImpl.addAbility (fixes #8343) 2021-10-22 17:32:51 -05:00
Daniel Bomar
27d4fb13c3
Fixed combat information not being preserved in LKI and added unit test 2021-10-21 20:24:51 -05:00
Daniel Bomar
5e67314c96
[AFC] Implemented Death Tyrant 2021-10-21 15:26:01 -05:00
Daniel Bomar
e8db40bb8d
[C21] Fixed Fractal Harness adding too many counters on attack (fixes #8377) 2021-10-20 14:38:05 -05:00
Daniel Bomar
aa4397dee5
BalanceEffect - Fixed effect when a player has 0 permanents/cards (fixes #7950) 2021-10-19 21:53:25 -05:00
Oleg Agafonov
fa79c1eba5
Merge pull request #8394 from weirddan455/ward
Fixed Ward countering wrong ability (fixes #8378)
2021-10-19 10:32:03 +04:00
Jeff Wadsworth
328b1f1eec - non-card refactoring related to #8375 2021-10-18 14:02:57 -05:00
Daniel Bomar
aa96a4af86
Fixed Ward countering wrong ability (fixes #8378) 2021-10-17 19:08:50 -05:00
Evan Kranzler
3bba2a308d [SLD] Implemented Dustin, Gadget Genius 2021-10-14 18:57:44 -04:00
Alex W. Jackson
7926193e34
Refactor ExpansionSet and its subclasses (#8382)
* Don't purge cards-by-rarity cache between tournaments

* Move DOM and WAR specific checks out of base ExpansionSet class

* Move Battlebond specific methods out of base ExpansionSet class

* Refactor ExpansionSet and subclasses

* Zendikar boosters also only have full-art basic lands

* Fix Eldritch Moon (#8171)
2021-10-13 11:47:23 -04:00
Evan Kranzler
ce88658495 [GRN] various text fixes 2021-10-12 10:16:20 -04:00
Evan Kranzler
f98069e829 [ZNR] a few text fixes 2021-10-10 17:16:03 -04:00
Evan Kranzler
79235d9ad6 small change to conditional triggered ability text generation 2021-10-10 16:07:34 -04:00
Evan Kranzler
f7e821be2f
Reworking effects that allow controlling combat (WIP) (#8159)
* reworked effects that allow controlling combat

* [AFC] Implemented Berserker's Frenzy

* [AFC] updated Berserker's Frenzy to roll correctly
2021-10-10 10:25:10 -04:00
Evan Kranzler
f14e15d33a replace some instances of getPlayers with getPlayersInRange (#8348) 2021-10-07 19:20:18 -04:00
Evan Kranzler
2506261063 [MIC] Implemented Gorex, the Tombshell 2021-10-07 09:32:26 -04:00
Jeff Wadsworth
22493c22af - Fixed #8299 2021-10-05 16:54:49 -05:00
Evan Kranzler
f3d643a351 [MID] a few more text fixes 2021-10-05 08:20:37 -04:00
Evan Kranzler
4fe2904f3f [MIC] various text fixes 2021-10-04 21:16:14 -04:00
Evan Kranzler
53540b9b36 [MID] various text fixes 2021-10-04 20:37:31 -04:00
Oleg Agafonov
58ab020065 Dev: pom clean up, improved parent/child structure; 2021-10-03 18:11:56 +04:00
Jeff Wadsworth
c45f8c91a3 - Fixed #8329 2021-10-01 15:56:40 -05:00
Oleg Agafonov
93bc20ee5a
Merge pull request #7945 from magefree/dependabot/maven/com.j256.ormlite-ormlite-jdbc-5.6
Bump ormlite-jdbc from 5.1 to 5.6
2021-10-01 22:09:57 +04:00
Oleg Agafonov
1c6eb10bd1 Dev: migrated to single json lib (removed json-simple from deck import code), clean up guava lib usage in cards; 2021-10-01 17:57:54 +04:00
Oleg Agafonov
fa70af6131 Dev: removed test data from resources to data folder; 2021-10-01 14:10:39 +04:00
Evan Kranzler
7b1e3fae7b [MIC] Implemented Wall of Mourning 2021-09-30 08:52:24 -04:00
Daniel Bomar
4943a16464
Merge pull request #8330 from weirddan455/prevent-damage
Removed game.preventDamage method (fixes #8280)
2021-09-29 15:32:50 -05:00
Jeff Wadsworth
970125c5c4 - small refactor Foretell ability 2021-09-29 09:45:08 -05:00
Alex W. Jackson
edbb99f0ba
Implement booster collation for (original) Innistrad and Dark Ascension (#8339) 2021-09-29 09:03:46 -04:00
Oleg Agafonov
f9beed6a89 Dev: clear pom files, fixed wrong test packages and scope, added zip tests; 2021-09-29 16:01:36 +04:00
Jeff Wadsworth
6f76c3371e - Fixed #8334. Refactored and simplified some aspects of the Foretell ability. 2021-09-28 16:49:43 -05:00
Jeff Wadsworth
7ba3a8f637 Merge branch 'master' of https://github.com/magefree/mage 2021-09-27 16:35:23 -05:00
Jeff Wadsworth
7ca17020ef - Fixed #8317 2021-09-27 16:35:10 -05:00
Daniel Bomar
eec3c44f1e
Removed game.preventDamage method (fixes #8280) 2021-09-27 16:01:28 -05:00
Oleg Agafonov
0e1abaec5d Dauthi Voidwalker - fixed that it doesn't work with cards (related to a3ca9fc03a); 2021-09-27 23:29:41 +04:00
Evan Kranzler
11d5fc7eae [MIC] Implemented Prowling Geistcatcher 2021-09-27 08:40:16 -04:00
Evan Kranzler
a87b28f348 [MID] various text fixes 2021-09-26 14:34:32 -04:00
Oleg Agafonov
f3b8f0a44a * Hextproof from color - improved card icon, added details in icon's popup text; 2021-09-26 00:31:17 +04:00
Oleg Agafonov
95b782d519 Tests for #5630 2021-09-25 18:09:21 +04:00
Evan Kranzler
b895611c4d
Updating standard (don't merge until 9/24) (#8297)
* removed rotated cards from standard ban list

* updated standard legality to handle sets releasing after fall set inn the same year

* some more updates to standard

* small change
2021-09-24 22:07:12 -04:00
jeff@delmarus.com
b963168f35 - hopefully line spacing is rectified on my client 2021-09-23 19:26:01 -05:00
Evan Kranzler
3a3e3fda48 various files converted from CRLF to LF 2021-09-23 19:37:47 -04:00
Jeff Wadsworth
ea561892f5 - Fixed #8293 2021-09-23 16:45:35 -05:00
Jeff Wadsworth
4c88d2ae5e - a real fix for #5630 2021-09-23 12:02:29 -05:00
Alex W. Jackson
384051d9eb
Make BoosterCollator not share state between tables on a server (#8312) 2021-09-23 08:06:08 -04:00
Evan Kranzler
bcb42b8f46 simplified ObjectSourcePlayerPredicate interface 2021-09-22 21:20:55 -04:00
Jeff Wadsworth
b0094331b4 Fixed #5630 2021-09-22 16:46:52 -05:00
Evan Kranzler
4ab41a5b12 [MID] updated Teferi, Who Slows the Sunset emblem 2021-09-22 09:39:21 -04:00
Raphael "who?!" Kehldorfer
aec68ac9d5
[MID] Implemented Teferi, Who Slows the Sunset (#8267)
* [MID] Implemented Teferi, Who Slows the Sunset

* [MID] Refactored Teferi, Who Slows the Sunset:
- Add Targets during activation
? Don't know where / how to properly implement the Emblem effect yet

* [MID] Refactored Teferi, Who Slows the Sunset:
- Add Targets during activation
? Don't know where / how to properly implement the Emblem effect yet
2021-09-22 08:54:13 -04:00
Evan Kranzler
863d8166f1 [MID] fixed Foul Play only targeting creatures with power 1 or less (fixes #8308) 2021-09-22 07:52:32 -04:00
Oleg Agafonov
d35e1fbfb1 * Play card without mana - fixed that some cards did not allow to choose a casting spell from split/mdfc cards (#7410); 2021-09-21 15:30:40 +04:00
Oleg Agafonov
6bc5a00e8a * Alternative costs - fixed that it can be activated on free cast (example: cascade with overload, #6925, #7410, #7741, #6342); 2021-09-21 14:22:46 +04:00
Evan Kranzler
658ae06e6f removed ObjectPlayer and ObjectPlayerPredicate 2021-09-20 23:38:31 -04:00
Evan Kranzler
c6feab68da refactored all instances of BeginningOfUpkeepAttachedTriggeredAbility 2021-09-20 21:22:17 -04:00
Evan Kranzler
bd22c4a3ae [MIC] Implemented Curse of Obsession 2021-09-20 21:06:41 -04:00
Evan Kranzler
541511692e [MIC] Implemented Curse of Unbinding 2021-09-20 20:57:37 -04:00
Evan Kranzler
b43bb44b27 [MIC] Implemented Curse of Clinging Webs 2021-09-20 19:53:02 -04:00
Jeff Wadsworth
77845bd1df Fixed #8286. 2021-09-20 15:54:52 -05:00
Evan Kranzler
a88427a6d9 [MIC] Implemented Visions of Dominance 2021-09-20 08:48:28 -04:00
Oleg Agafonov
46081d9185 GUI related improves:
* GUI: fixed that choose triggers/piles dialog doesn't close correctly before cast mode choose (#8225);
* GUI: fixed that some choose dialogs doesn't update battlefield state (example: choose amount, choose mana);
* Game: fixed duplicated json logs at the game's end;
2021-09-20 02:17:22 +04:00
Oleg Agafonov
a3ca9fc03a Dauthi Voidwalker - correct code for #8141 and same cards (see comments in fd719ad287); 2021-09-19 04:01:01 +04:00
Evan Kranzler
affd33c23b [MIC] Implemented Cleaver Skaab 2021-09-18 16:58:59 -04:00
Evan Kranzler
3d0571d5e9 [MIC] Implemented Tomb Tyrant 2021-09-18 16:41:48 -04:00
Oleg Agafonov
2cf005f971 Tests: improved performance in game tests; 2021-09-18 22:10:55 +04:00
Evan Kranzler
2fa76fc7be reworked Clockwork creature implementations (fixes #8292) 2021-09-18 11:08:17 -04:00
Oleg Agafonov
f107c1e4db Tests: improved performance in game tests; 2021-09-18 00:24:10 +04:00
Oleg Agafonov
021a2d251c Improves in some effects:
* ConditionalAsThoughEffect - improved support with target effects (see comments from e6e802033b);
* TargetCardInLibrary - added additional checks on wrong usage (must be used inside effects only, not as ability's target);
* PlayFromNotOwnHandZone - fixed wrong playable mark on battlefield's permanents (AI related too);
2021-09-17 21:21:37 +04:00
Evan Kranzler
7c2db3c5fc [MID] Implemented Sungold Sentinel 2021-09-17 08:43:49 -04:00
jeffwadsworth
025395788c - Fixed #8165. There are other cards that handle exiling sequentially, but this is a refactoring starting point. 2021-09-16 11:05:32 -05:00
Evan Kranzler
645779376f [MIC] Implemented Visions of Glory 2021-09-16 09:34:22 -04:00
Evan Kranzler
244cacfe3b [MIC] Implemented Sigardian Zealot 2021-09-16 09:09:41 -04:00
ciaccona007
08e8a34e8b [MID] Implement Ominous Roost 2021-09-15 12:51:08 -04:00
Evan Kranzler
698079f480 [MIC] Implemented Eloise, Nephalia Sleuth 2021-09-15 08:32:11 -04:00
Daniel Bomar
1b5ad66ae5
[MID] Implemented Light Up the Night 2021-09-14 18:17:22 -05:00
Evan Kranzler
5f32fe5308 [MID] changed daybound/nightbound from being singleton 2021-09-12 18:06:46 -04:00
Evan Kranzler
165a347092 [MID] Implemented Moonrager's Slash 2021-09-12 17:46:43 -04:00
Evan Kranzler
520528293a [MID] Implemented Seize the Storm 2021-09-12 13:51:47 -04:00
ciaccona007
eb065bc0e7 [MID] Implement Consuming Blob 2021-09-12 12:04:06 -04:00
Evan Kranzler
7e89d620b8 [MID] Implemented Shipwreck Sifters 2021-09-12 11:18:10 -04:00
Evan Kranzler
07e0a4ef54 [MID] Implemented Smoldering Egg / Ashmouth Dragon 2021-09-12 10:59:25 -04:00
Evan Kranzler
72cb83e615 [MID] Implemented Rise of the Ants 2021-09-12 10:00:35 -04:00
Evan Kranzler
e9d78fc5ac [MID] Implemented Silver Bolt 2021-09-12 08:58:52 -04:00
Evan Kranzler
4c69286c14 [MID] Implemented Bereaved Survivor / Dauntless Avenger 2021-09-12 07:42:55 -04:00
spjspj
3463b720ce
No final blank line in jumpstart
Worked out it can't have the final blank line or you can get blank packs being presented (so you will get a pack of 20 cards and a pack of 0 cards).
2021-09-12 15:21:03 +10:00
Evan Kranzler
d93475a5bb refactored flashback to remove unnecessary timing rule argument 2021-09-11 18:08:35 -04:00
Evan Kranzler
9e68649c32 [MID] Implemented Siege Zombie 2021-09-11 13:53:25 -04:00
Oleg Agafonov
b6f9d57216
Merge pull request #8251 from fearphage/preferred-has-3-rs
corrected typo: prefered -> preferred
2021-09-11 19:24:38 +04:00
Phred
2b2f30a88a
corrected typo: prefered -> preferred
ag -l prefered | xargs sed -i 's/refered/referred/g'
2021-09-11 10:03:10 -05:00
Evan Kranzler
835ee5514c [MID] Implemented Malevolent Hermit / Benevolent Geist 2021-09-11 09:27:50 -04:00
Daniel Bomar
a001b91ea6
[MID] Implemented Intrepid Adversary 2021-09-10 18:10:44 -05:00
Evan Kranzler
4ee219e787 [MID] Implemented Baithook Angler / Hook-Haunt Drifter 2021-09-10 09:40:50 -04:00
Evan Kranzler
a6dad60d48 [MID] added placeholder disturb mechanic 2021-09-10 09:37:30 -04:00
Evan Kranzler
7721aec9cc [MID] Implemented Grizzly Ghoul 2021-09-10 09:20:23 -04:00
Evan Kranzler
f38b0b3e3a [MID] Implemented Sunstreak Phoenix 2021-09-10 08:53:52 -04:00
Evan Kranzler
11238333b5 [MID] Implemented Burn Down the House 2021-09-10 08:42:44 -04:00
Evan Kranzler
a305511b13 [MID] Implemented Heirloom Mirror / Inherited Fiend 2021-09-09 21:00:14 -04:00
Evan Kranzler
03dfa50f23 [MID] Implemented Geistflame Reservoir 2021-09-09 20:37:01 -04:00
Daniel Bomar
bd67b7af22
[MID] Implemented Corpse Cobble 2021-09-09 15:37:01 -05:00
jeffwadsworth
2df79a95dd - Fixed #8213 2021-09-09 12:00:59 -05:00
jeffwadsworth
ae35c1b228 - small fix to the last commit. 2021-09-09 09:56:08 -05:00
jeffwadsworth
a04035036e - Fixed #8230 2021-09-09 09:39:33 -05:00
Daniel Bomar
0bb41a34fd
Merge pull request #8234 from weirddan455/bloodthirsty-adversary
[MID] Implemented Bloodthirsty Adversary
2021-09-08 23:12:59 -05:00
Evan Kranzler
743db172cd [MID] Implemented Hungry for More 2021-09-08 20:33:05 -04:00
Evan Kranzler
937271f066 [MID] Implemented Falkenrath Perforator 2021-09-08 20:33:04 -04:00
Daniel Bomar
8b9c77e129
[MID] Implemented Curse of Surveillance 2021-09-08 19:10:21 -05:00
Daniel Bomar
d829094f90
[MID] Implemented Bloodthirsty Adversary 2021-09-08 13:02:04 -05:00
Daniel Bomar
e6e802033b
[MID] Implemented Augur of Autumn 2021-09-07 15:43:22 -05:00
Evan Kranzler
3e679afcfa [MID] Implemented Flame Channeler / Embodiment of Flame 2021-09-07 08:17:22 -04:00
Evan Kranzler
586fd51179 [MID] Implemented Brimstone Vandal 2021-09-06 19:25:45 -04:00
Evan Kranzler
a38a09fcde [MID] Implemented Ritual Guardian 2021-09-06 18:55:05 -04:00
Daniel Bomar
187e0736a0
AttacksWithCreaturesTriggeredAbility - Fixed incorrect comparison to minAttackers (fixes #8228) 2021-09-06 11:06:48 -05:00
Oleg Agafonov
c9eacfda26 Prepare new release 2021-09-05 22:49:33 +04:00
Oleg Agafonov
b739694c93 Server: added stack info to logs for rollback error; 2021-09-05 22:25:42 +04:00
Oleg Agafonov
58566d2a7c * Game: fixed rollback and game freeze on select attackers step with disconnected people; 2021-09-05 20:03:36 +04:00
Oleg Agafonov
4f5e43b630 Fixed NPE 2021-09-05 19:53:51 +04:00
Oleg Agafonov
83017e3c51 Devs: added docs and todo about short living LKI, LKI and current problems; 2021-09-05 18:49:44 +04:00
Oleg Agafonov
a129aaf4ee Dungeons: fixed rollback error on disconnects while choosing dungeon; 2021-09-05 14:43:21 +04:00
Oleg Agafonov
e209822190 * Hurl Through Hell - fixed that it doesn't exile a creature (#8211); 2021-09-05 13:29:52 +04:00
Oleg Agafonov
dc0427acd1 Mana spent to cast - fixed commanders support; 2021-09-05 11:13:08 +04:00
Oleg Agafonov
cdf6fbb5d8 * GUI: fixed that announced X card icon info shows X=0 on next turns (example: Engineered Explosives, #8046); 2021-09-05 01:20:46 +04:00
Oleg Agafonov
5d003dad88 Merge fix 2021-09-04 20:42:24 +04:00
Oleg Agafonov
473a81e13c * Mana pay to cast - fixed random values in games with AI (example: Marath, Will of the Wild, see #8204); 2021-09-04 20:34:32 +04:00
Oleg Agafonov
3a8e04f2bc * Mana pay to cast - fixed wrong mana calc for commanders (example: Marath, Will of the Wild, see #8204); 2021-09-04 19:24:35 +04:00
Oleg Agafonov
21a9735aaf Painters Servant - removed duplicated code; 2021-09-04 18:01:20 +04:00
Oleg Agafonov
84ea133ec5 * Commander storm abilities - fixed rollback error on card usage in non commander games; 2021-09-04 17:15:51 +04:00
Oleg Agafonov
261f32d9b9 Fixed wrong targetId in CAST_SPELL, fixed miss code from 7b7bbcadd69dd717d980e1981031cb29d7c7b891; 2021-09-04 03:01:20 +04:00
Jeff
ea58f2d65f Merge branch 'master' of https://github.com/magefree/mage 2021-09-03 16:34:40 -05:00
jeff@delmarus.com
7b7bbcadd6 - Fixed #8193 2021-09-03 16:34:21 -05:00
Evan Kranzler
be4715918c [MID] Implemented Secrets of the Key 2021-09-03 11:13:15 -04:00
Evan Kranzler
dd45977a9b [MID] Implemented Tavern Ruffian // Tavern Smasher 2021-09-02 21:22:54 -04:00
Evan Kranzler
250f425909 [MID] Implemented Jadar, Ghoulcaller of Nephalia 2021-09-02 20:39:10 -04:00
Evan Kranzler
b11c8b5c70 [MID] Implemented Arrogant Outlaw 2021-09-02 19:53:29 -04:00
Evan Kranzler
c3531dbb2c [MID] Implemented Candlelit Cavalry 2021-09-02 19:27:37 -04:00
Oleg Agafonov
421cac0ce3 * AI: fixed that computer can broke some non mana pays (Echo, Escalate, Recover, Tap source unless pay, Slow Motion, #8182); 2021-09-03 02:11:21 +04:00
Evan Kranzler
ef6069c3e6 improved die roll messages to communicate ignored rolls 2021-09-01 09:28:04 -04:00
Evan Kranzler
600b4fe110 reworked AttacksWithCreaturesTriggeredAbility implementation and text generation, fixed issues where it could trigger when nothing attacked 2021-08-30 19:51:46 -04:00
Oleg Agafonov
2158d682cc Prepare new release 2021-08-30 14:44:03 +04:00
Oleg Agafonov
1809fb516a * GUI: added card hints with current and next rooms in card rules (#8012); 2021-08-29 01:01:01 +04:00
Jeff
f35ca8112c Merge branch 'master' of https://github.com/magefree/mage 2021-08-28 15:41:20 -05:00
jeff@delmarus.com
5a87664a55 - Fixed #8166 2021-08-28 15:40:46 -05:00
Raphael-Schulz
f03a410b9e
[AFR] Implemented Xanathar, Guild Kingpin (#8045)
* [AFR] Implemented Xanathar, Guild Kingpin

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-08-28 23:55:41 +04:00
Oleg Agafonov
65761b085f * Game: fixed wrong booster pass order in drafts (#8075); 2021-08-28 13:17:57 +04:00
Oleg Agafonov
2efdb464fc Little refactor, additional logs for CheckPlayableState error; 2021-08-28 12:09:22 +04:00
Evan Kranzler
bbcccf4b58 [AFC] Implemented Galea, Kindler of Hope 2021-08-27 09:08:20 -04:00
Evan Kranzler
f8d030bef4
Adding dice rolling trigger/replacement (ready for review) (#7989)
* [AFR] Implemented DiceRolledTriggeredAbility
* [AFR] Implemented Brazen Dwarf
* [AFR] Implemented Feywild Trickster
* [AFC] Implemented Reckless Endeavor
* [AFR] Implemented Pixie Guide
* [AFR] Implemented Critical Hit
* [AFR] Implemented Netherese Puzzle Ward
* [AFC] Implemented Neverwinter Hydra
* [AFR] Implemented Farideh, Devil's Chosen
* [AFR] Implemented Barbarian Class
* [AFC] Implemented Vrondiss, Rage of Ancients
* [AFC] Implemented Arcane Endeavor
* Test framework: added planar die rolls support
* Test framework: added random results set up support in AI simulated games;
* AI: improved roll die results chooses in computer games;
* Roll die: improved combo support for planar die and roll die effects;

Co-authored-by: Daniel Bomar <dbdaniel42@gmail.com>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-08-26 14:06:10 +04:00
Evan Kranzler
12219cff01 [AFC] Implemented Mantle of the Ancients 2021-08-25 08:11:54 -04:00
Evan Kranzler
002a7af6d0 fixed a test failure 2021-08-23 19:27:27 -04:00
Evan Kranzler
85dfa58e5d [AFR] more text fixes 2021-08-23 19:14:50 -04:00
Evan Kranzler
31a559be23 [AFC] more text fixes 2021-08-23 18:53:35 -04:00
Evan Kranzler
8fe0467893 reworked mana text generation to fit canonical symbol order 2021-08-23 18:32:21 -04:00
Evan Kranzler
2db0da8429 updated AttacksOrBlocksAttachedTriggeredAbility 2021-08-22 18:08:40 -04:00
Evan Kranzler
13949d8e3e [AFC] various text fixes 2021-08-22 17:56:22 -04:00
Ingmar Goudt
fed7c2b288 small Sonar fixes 2021-08-22 12:20:28 +02:00
Ingmar Goudt
271f7b812f fix #8097,
the sacrifice target cost was optional, but SacrificeCost.canPay first checks if there are valid targets. In this scenario there were none, but the spell should still be playable
2021-08-22 12:01:10 +02:00
Evan Kranzler
b1bbe96536 fixed an error 2021-08-21 17:13:03 -04:00
Evan Kranzler
0bd402876d [AFC] Implemented Nihiloor 2021-08-21 16:35:09 -04:00
Oleg Agafonov
2b2a2d085a [AFR] added dungeon support in image/card view, images download, Card Viewer, verify tests; 2021-08-21 20:29:47 +04:00
Oleg Agafonov
654ee7791c [AFR] added tokens and images download support; 2021-08-21 20:29:47 +04:00
Evan Kranzler
d20b15c7b6 [AFC] Implemented Hellish Rebuke 2021-08-21 11:20:31 -04:00
Evan Kranzler
b9550a7387 made a util function more generic because why not 2021-08-21 11:20:30 -04:00
Oleg Agafonov
e9c68d2a5c Test framework improves (related to #7896):
* added real time command to check card's counters (example: suspended cards with Time counters, see checkCardCounters);
* added target type support: TargetPermanentOrSuspendedCard;
* improves error logs for miss modes and unsupported target types;
2021-08-21 15:02:42 +04:00
Oleg Agafonov
33380f09c2 Improved canActivate support:
* added support of non controller activates in ActivatedManaAbility (mayActivate);
* removed custom code from ActivatedManaAbility;
* removed custom code from Mana Cache;
* added additional comments;
2021-08-21 10:52:00 +04:00
Evan Kranzler
bdeb0dde66 refactored TokenPredicate to contain its own inverse 2021-08-20 09:33:38 -04:00
Evan Kranzler
cb5d873fea [AFC] Implemented Bag of Devouring 2021-08-20 09:27:30 -04:00
Evan Kranzler
f740cf0d12 [AFC] Implemented Lorcan, Warlock Collector 2021-08-20 09:11:18 -04:00
Evan Kranzler
e4f0a485a6 [C21] fixed Rousing Refrain mana not staying until end of turn 2021-08-20 08:52:20 -04:00
Oleg Agafonov
ebe02c310a Merge fix 2021-08-20 15:52:16 +04:00
Oleg Agafonov
9fa487e60a * Suspend ability - fixed that suspend can be activated from opponent's hand; 2021-08-20 15:40:42 +04:00
Oleg Agafonov
fb4065ba66 Little fixes 2021-08-20 09:38:16 +04:00
Oleg Agafonov
3da525520c * Author of Shadows - added window with exiled and castable cards; 2021-08-18 11:02:30 +04:00
Oleg Agafonov
1d60c2039b * Game: fixed priority lost on rollback (example: game skips to next step instead current step after a rollback error);
* Game: added game logs on rollback error;
2021-08-18 10:58:43 +04:00
Evan Kranzler
4c4168ac1f [AFC] Implemented Hurl Through Hell 2021-08-16 09:26:25 -04:00
Oleg Agafonov
f21c492ce2 Refactor: added docs for a copy stack object code (#7662); 2021-08-15 17:12:59 +04:00
Oleg Agafonov
5725e15771 GUI: added card hints in choice dialogs (additional to d587cc9151); 2021-08-14 21:57:32 +04:00
jeff@delmarus.com
ef010bc2f3 Wrenn and Six emblem can now add the retrace ability to their legal sides. But, the issue with casting fused split-cards remains. It should not be allowed from the graveyard zone, only the hand. 2021-08-14 12:15:58 -05:00
Oleg Agafonov
62474c12a4 * GUI: fixed non-closeable choose dialog with empty list on server's error (example: Cabal Therapy, see #8065); 2021-08-14 19:10:23 +04:00
Oleg Agafonov
d587cc9151 * GUI: added card popup info in choose dialog (example: choose dungeon, #8012);
* GUI: added texts popup info in choose dialog (example: choose from any list);
2021-08-14 09:18:50 +04:00
jeffwadsworth
d05104ff61 - Fixed #8124 2021-08-13 11:30:57 -05:00
Oleg Agafonov
76e57d009e Multiple changes:
- game: fixed possible empty pay text in custom costs;
- debug: improved debug info for CardInfo objects;
- db: removed unused split sides from cards database;
- db: fixed constant cards adding on each cards database scan (e.g. on tests start);
2021-08-13 14:54:10 +04:00
spjspj
cd22dfd4cc
Merge pull request #8121 from spjspj/master
Add in decreasing rectangle spiral for paper original dual lands
2021-08-13 18:49:09 +10:00
Oleg Agafonov
b9db36eb22 Tests: improved performance 2021-08-13 09:17:33 +04:00
Oleg Agafonov
49308bcd4f * Performance: optimized cards database to increase tests and boosters generation; 2021-08-12 23:59:08 +04:00
Oleg Agafonov
1664ee01cf Fixed miss copy code in Game object (lki, cards), removed unused code. Possible fixes:
* simulated games was able to change objects from another games (ConcurrentModificationException, related to d202278ccd, details in 3a6cdd2615);
* AI: fixed cards disappear in multiplayer games with computer (details in #6738);
2021-08-12 00:08:08 +04:00
Oleg Agafonov
9f882824a0 * Gain ability effect: fixed rollback error with AI games and too many cards (related to d202278ccd); 2021-08-12 00:08:08 +04:00
Oleg Agafonov
8a69ea97e7 Tests: fixed that some game errors can't be caught by test framework (related to d202278ccd) 2021-08-12 00:08:08 +04:00
spjspj
e29b22df6e Add in decreasing rectangle spiral for paper original dual lands 2021-08-12 00:21:41 +10:00
Oleg Agafonov
9b98565e8a Miss synchronized, can be related to ConcurrentModificationException problem in d202278ccd 2021-08-10 14:31:06 +04:00
Evan Kranzler
fe4edbd664 [AFC] Implemented Sword of Hours 2021-08-09 08:49:31 -04:00
Oleg Agafonov
c9ab896d24 * GUI: added auto-choose for replacement effects (remember answer in dialog + reset answer in popup menu + new option in preferences; #4360, #328, #4219, #6676, #7914); 2021-08-09 11:26:11 +04:00
Evan Kranzler
17100261e2 updated setText method for Cost to return itself 2021-08-06 20:57:34 -04:00
Evan Kranzler
b45514ecfb [J21] Implemented Wingsteed Trainer 2021-08-06 17:35:43 -04:00
Evan Kranzler
51c054b286 remove arena only cards from eternal formats 2021-08-06 17:35:42 -04:00
Oleg Agafonov
3406ef6b4e Added miss code and comments for alternative code (additional to b6a3f7edc1) 2021-08-06 18:56:29 +04:00
Oleg Agafonov
b073ff8617 Pay {0} - fixed that it doesn't work for alternative cost (related to b6a3f7edc1); 2021-08-06 18:17:13 +04:00
Evan Kranzler
f5687acfad [J21] Implemented Faceless Agent 2021-08-06 08:52:31 -04:00
Evan Kranzler
3065679f3d [MID] Implemented Wrenn and Seven 2021-08-05 22:02:36 -04:00
Evan Kranzler
3910dae6e0 [MID] Implemented Triskaidekaphile 2021-08-05 21:47:34 -04:00
Evan Kranzler
5e569b597a made randomutil method generic 2021-08-05 20:35:18 -04:00
jeffwadsworth
98aaa78081 - Fixed #8044 and #7842 2021-08-05 15:38:39 -05:00
Oleg Agafonov
53aababd44 * Additional costs - added support of X costs on free cast (example: Kicker X, see Thieving Skydiver and Etali, Primal Storm combo);
* As an additional cost discard X cards - fixed wrong text (example: Channeled Force, Firestorm);
2021-08-05 16:18:04 +04:00
Oleg Agafonov
615ab2d97e * Target colored cards/creatures - fixed game freeze on cards in deck (example: Angel's Herald and other Herald cards); 2021-08-04 22:40:24 +04:00
LevelX2
b6a3f7edc1 * Fixed a problem that the playable check for some alternate costs (e.g. Devastating Master) was not done with the correct mana cost and wrongly shown as playable without enough avalable mana. 2021-08-03 16:35:47 +02:00
Evan Kranzler
e61f019cd3 [AFC] Implemented Maddening Hex 2021-08-02 20:13:54 -04:00
Oleg Agafonov
a5b41ea920 * Marshland Bloodcaster - fixed game freeze on usage;
* Kentaro, the Smiling Cat - fixed game freeze on usage;
2021-08-02 17:40:35 +04:00
Raphael-Schulz
e1f018d53d Adjust canLookAtNextTopLibraryCard 2021-08-01 17:05:52 +02:00
jeffwadsworth
237e8344b3 - added test for Kardur, Doomscourge and Kithkin Mourncaller. it was quite useful find another issue that was fixed. removed sim() check from Abandoned Sarcophagus. 2021-07-31 21:27:58 -05:00
Oleg Agafonov
790aef9c37 Improved watcher copy support of Cards fields (example: Abandoned Sarcophagus, see 43dbaf405b); 2021-08-01 03:32:16 +04:00
jeffwadsworth
df07ad4418 - added fix by JayDi for gameState().value and Lists. 2021-07-31 18:16:09 -05:00
Oleg Agafonov
73db223ca7 * Server: fixed wrong timeouts in drafts; 2021-08-01 03:06:07 +04:00
jeffwadsworth
43dbaf405b - Fixed #8067. Included weirddan455 fixes to Kardur Doomscourge as well. Added support for "remove from combat" to the 2 cards. Note that attacking creatures put into the graveyard is a special case. Test will follow. 2021-07-31 16:46:11 -05:00
Oleg Agafonov
5e91099f62 Tests: added additional checks on boosters (see #8081); 2021-07-31 19:50:57 +04:00
Oleg Agafonov
530cd627cc * Copy spell - improved support for some cards and abilities (#8074); 2021-07-31 15:48:57 +04:00
Oleg Agafonov
6e0184a38d Real fix for 4125d1eb46, updated outdated comments. 2021-07-31 09:47:29 +04:00
Evan Kranzler
4125d1eb46 fixed tapped for mana events not working for sacrificed tokens 2021-07-30 21:54:00 -04:00
jeffwadsworth
1d443b231c - Fixed #8038 2021-07-28 16:45:32 -05:00
Evan Kranzler
b72febb316 [AFC] Implemented Minn, Wily Illusionist 2021-07-27 21:13:09 -04:00
Evan Kranzler
70b040473b updated ManaSpentToCastCount, added tests 2021-07-27 20:53:43 -04:00
Oleg Agafonov
6acfe2ae5f * Delitium, card types in graveyard - fixed wrong text in card hint (fix #8053); 2021-07-27 05:52:31 +04:00
Ingmar Goudt
01f785f4d0 small AFR rulestext fixes 2021-07-27 00:31:29 +02:00
Oleg Agafonov
f334b81de6 * GUI: fixed that users can select empty timing option in new tourney dialog; 2021-07-26 14:42:42 +04:00
SharkeyMyrl
199f449836
Update TombOfAnnihilation.java
Oubliette leads to Cradle Of The Death God, not Sandfall Cell
2021-07-25 20:10:08 -07:00
jeffwadsworth
f3609416cf - Fixed #8047 2021-07-25 20:05:10 -05:00
Oleg Agafonov
5dcdbcfd4f * GUI: fixed wrong deck validation in Deck Editor for partners and planeswalker's commanders; 2021-07-25 10:31:22 +04:00
jeffwadsworth
4b0381e074 - removed test code 2021-07-24 21:01:31 -05:00
jeffwadsworth
d334504131 - Fixed #8001 2021-07-24 20:58:59 -05:00
Oleg Agafonov
1e4f3524a9 Merge fix 2021-07-25 01:16:12 +04:00
Oleg Agafonov
c6a3d5e588 Prepare new release 2021-07-25 01:15:33 +04:00
Oleg Agafonov
96c84413df Merge fix 2021-07-24 16:23:26 +04:00
Oleg Agafonov
560b56a391 Refactor: moved ManaPaidSourceWatcher to default watchers, added additional checks; 2021-07-24 16:22:18 +04:00
Oleg Agafonov
9698e3488f Merge fix 2021-07-24 15:01:26 +04:00
Oleg Agafonov
ac8d3de474 * Game: tiny leaders game mode improves (fixed AI games errors, fixed commander dupes on game restart with Karn Liberated, #6113); 2021-07-24 14:32:00 +04:00
Oleg Agafonov
d41ccd11bc Game: fixed empty range error on game startup 2021-07-24 05:36:56 +04:00
Oleg Agafonov
4d1985476f * GUI: added card icon for commander on battlefield;
Card icons: added support of custom card icon colors;
2021-07-23 19:51:45 +04:00
Oleg Agafonov
06ae494c5b Drafts: refactor to use same pack/pick number logic (#8039); 2021-07-23 16:18:56 +04:00
Oleg Agafonov
400acae0c1 * Draft improves:
* added additional and improved timing options for pick timeouts (x1.0, x1.5, x2.0, see #8033);
 * added pick timing info in tables list (info column);
 * fixed that booster draft starts with wrong pick timeout (#8036);
2021-07-22 23:14:08 +04:00
Evan Kranzler
214b688fdb
Update effects and abilities which involve tapping permanents for mana (#7679)
Abilities which use trigger from or replace tapping for mana now save the permanent in case it leaves the battlefield.
fixes #7671, fixes #7770
* Merge fix and additional comments, Winter's Night fixed

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-22 05:09:07 +04:00
Oleg Agafonov
81193148e9
Merge pull request #8013 from weirddan455/wish
[AFR] Implemented Wish
2021-07-21 20:53:41 +04:00
Oleg Agafonov
5985e6cfcc * Choose from outside - added card hints about sideboard stats and howto view a cards list; 2021-07-21 20:40:31 +04:00
Oleg Agafonov
28473c7bd0 * GUI: added popup menu to view player's outside/sideboard at any time (allows to view only own or computer's sideboards); 2021-07-21 13:44:35 +04:00
Oleg Agafonov
eda50cc7b1 Merge remote-tracking branch 'weirddan455/wish' into wish 2021-07-21 03:35:22 +04:00
Oleg Agafonov
f48da4c923 * GUI: fixed that look at and reveals dialogs doesn't show card's playable status; 2021-07-21 03:34:43 +04:00
Evan Kranzler
e2f1743c6b a few more triggered ability text fixes 2021-07-20 19:06:44 -04:00
Daniel Bomar
aac4cd00ce
Fixed more triggered ability text 2021-07-20 13:58:11 -05:00
Daniel Bomar
3414aa9959
[AFR] Wish - Add watcher to limit for single use 2021-07-20 13:30:38 -05:00
Daniel Bomar
27e1f2c457
Fixed madness triggered ability text (fixes #8029) 2021-07-20 12:19:00 -05:00
Oleg Agafonov
96ca260109 Merge branch 'master' into wish 2021-07-20 09:52:18 +04:00