Commit graph

10669 commits

Author SHA1 Message Date
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
Oleg Agafonov
19693c94f7 * Path of Ancestry - fixed that it doesn't triggers a scry on commander cast (#7917, #7538, #7750); 2021-07-20 01:01:16 +04:00
Evan Kranzler
66cebe64b0 [AFC] Implemented Clay Golem 2021-07-19 16:35:39 -04:00
Evan Kranzler
34a0e9546a [AFC] Implemented Sefris of the Hidden Ways 2021-07-19 12:50:18 -04:00
Oleg Agafonov
76082e1d7a * GUI: added card icon for announced X value (card cast); 2021-07-19 13:40:21 +04:00
Oleg Agafonov
fc0ff6c22d Test framework: added support to test client side data in unit tests (getGameView -> CardView, etc); 2021-07-19 13:07:09 +04:00
Oleg Agafonov
12aa3b82b8 * GUI: added card icon for face down permanents; 2021-07-18 21:13:03 +04:00
Evan Kranzler
9ce81dca3a [AFC] Implemented Prosper, Tome-Bound 2021-07-18 11:02:09 -04:00
Evan Kranzler
d4ef2ec414 [AFC] Implemented Midnight Pathlighter 2021-07-18 10:46:05 -04:00
Oleg Agafonov
f2ba76ca75 Tests: fixed miss commands, fixed debug info for permanents on battlefield; 2021-07-17 19:43:05 +04:00
Oleg Agafonov
daed98fb0b Fixed missing clear code in combat (maybe related to #7997); 2021-07-17 19:41:25 +04:00
Evan Kranzler
f57693392c various ability word text fixes 2021-07-17 11:17:49 -04:00
Joseph Zeffiro
86e5c5cb50
Fixing multiple triggers during combat (#8017)
* Fixing multiple triggers during combat

* Damage to Source Logic

* Removing unused references
2021-07-17 08:33:30 -05:00
Evan Kranzler
4150a5bb12 small change to test failure fix 2021-07-16 18:43:09 -04:00
Evan Kranzler
d3b5c51428 fixed test failures (fixes #8016) 2021-07-16 13:08:24 -04:00
Daniel Bomar
c08c4bbb36
[AFR] Implemented Demilich 2021-07-16 11:00:59 -05:00
Evan Kranzler
a47af7a5a9 [AFR] Implemented Spare Dagger 2021-07-16 08:09:39 -04:00
Evan Kranzler
d42fd2e505 [AFR] Implemented Ochre Jelly 2021-07-15 20:24:46 -04:00
Evan Kranzler
f9bf84e6f6 [AFR] Implemented Zariel, Archduke of Avernus 2021-07-15 19:28:40 -04:00
Evan Kranzler
3299641ad4 [AFR] various text fixes 2021-07-15 18:39:46 -04:00
Oleg Agafonov
ad7eb55460 [AFR] fixed empty class level up logs, added levelled logs (#7808) 2021-07-16 00:13:27 +04:00
Oleg Agafonov
2d8be6663b [AFR] added card icons with class level info (#7808) 2021-07-15 23:46:19 +04:00
Daniel Bomar
1c3b42996d
[AFR] Implemented Wish 2021-07-15 10:36:17 -05:00
Evan Kranzler
3df1373bee [AFR] Implemented Delina, Wild Mage 2021-07-15 09:25:28 -04:00
Evan Kranzler
ca80806400
Reworking triggered ability text generation to allow for ability words and flavor words to be added more easily (#8010)
* refactor all instances of getRule in triggered abilities using new getTriggerPrefix method

* updated triggered ability rules generation

* renamed method

* fixed a test failure

* some more refactoring

* simplified some instances of ability word usage
2021-07-15 07:46:38 -04:00
jeffwadsworth
f84805d487 - Removed test log 2021-07-14 17:17:16 -05:00
jeffwadsworth
ffe75f77ed - Fixed #7572 2021-07-14 16:44:28 -05:00
Daniel Bomar
29d3f96340
[MH2] Implemented Carth the Lion (#7848)
* [MH2] Implemented Carth the Lion

* [MH2] Carth the Lion - Fixed loyalty cost modification

* Fix copy constructor and add getters/setters

* Call sourceObject.adjustCosts before checking cost modifications

* Add unit test

* Added additional comments, checks and tests;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-15 00:12:25 +04:00
Evan Kranzler
5b88484cb6
[AFR] Implementing Class enchantments (ready for review) (#7992)
* [AFR] Implemented Druid Class

* [AFR] Implemented Wizard Class

* [AFR] Implemented Cleric Class

* [AFR] Implemented Fighter Class

* reworked class ability implementation

* fixed an error with setting class level

* small reworking of class triggers

* added class level hint

* added tests

* small change

* added common class for reminder text
2021-07-14 09:17:07 -04:00
Evan Kranzler
d7b2d2208d [AFC] Implemented Thorough Investigation 2021-07-14 09:07:05 -04:00
Evan Kranzler
aa06893f4d [AFC] Implemented Diviner's Portent 2021-07-13 08:19:27 -04:00
Evan Kranzler
f991e0e89a [AFC] Implemented Component Pouch 2021-07-13 08:00:45 -04:00
Daniel Bomar
66b224622a
[AFR] Implemented Plate Armor 2021-07-12 08:48:12 -05:00
jeffwadsworth
799980dff5 - added game param back to addSubType() 2021-07-11 11:39:02 -05:00
jeffwadsworth
9300d07160 - addSubType() already checks for duplicates 2021-07-11 10:05:55 -05:00
jeffwadsworth
ca8fdde793 - Fixed #7995 2021-07-10 20:29:51 -05:00
Daniel Bomar
08aead581c
[AFR] Implemented Mordenkainen (#7990)
* [AFR] Implemented Mordenkainen

* [AFR] Mordenkainen - Use putCardsOnTopOfLibrary method
2021-07-10 19:43:31 -04:00
Evan Kranzler
9d9bf3e88c [AFR] Implemented Minimus Containment 2021-07-10 17:14:36 -04:00
Evan Kranzler
b193ffc627 [AFR] fixed game log issue with +2 Mace 2021-07-10 08:44:59 -04:00
Evan Kranzler
22bf922076 [AFR] Implemented The Book of Vile Darkness 2021-07-09 09:24:51 -04:00
Oleg Agafonov
30bb7cd42e Merge fix, additional comments 2021-07-09 07:36:40 +04:00
Evan Kranzler
572104b8fc
Reworking card types in preparation for implementing Grist, the Hunger Tide (#7899)
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-09 07:28:43 +04:00
Evan Kranzler
07e1dff10c added an additional subtype verification test 2021-07-08 18:46:42 -04:00
Evan Kranzler
d3640103b2 updated legendary token generators 2021-07-08 07:56:35 -04:00
Evan Kranzler
dff5b201d5 [AFR] Implemented The Book of Exalted Deeds 2021-07-07 19:39:00 -04:00
Evan Kranzler
1f93a6cd6f [AFR] Implemented Power of Persuasion 2021-07-07 19:10:03 -04:00
Evan Kranzler
d846f6113a [AFR] Implemented Keen-Eared Sentry 2021-07-07 18:52:55 -04:00
Evan Kranzler
7bc4c42976 [AFR] Implemented Grand Master of Flowers 2021-07-07 17:49:35 -04:00
Evan Kranzler
ace3a8be86 [AFR] Implemented Minsc, Beloved Ranger 2021-07-07 17:26:29 -04:00
Daniel Bomar
7f68cef222
[AFR] Implemented Leather Armor 2021-07-07 13:53:44 -05:00
Daniel Bomar
3bf876b520
[AFR] Implemented Instrument of the Bards 2021-07-07 11:09:10 -05:00
Evan Kranzler
b0e075b738 [AFR] Implemented Hand of Vecna 2021-07-07 09:45:17 -04:00
Oleg Agafonov
07ddad6e48 Game: fixed rare bugs in some cards after rollback or cancel actions:
* Cumulative upkeep cost - fixed that it can lost payed state (cards: Aboroth, Karplusan Minotaur, Psychic Vortex, Sheltering Ancient);
 * Effects - fixed that it can lost selected targets or other settings (cards: Citadel of Pain, Crimson Honor Guard, Curfew, Leveler, Mana Cache, Monsoon, Paradigm Shift, Saprazzan Bailiff);
 * Exile all cards from graveyard ability - fixed that it can lost targets (example: Agent of Erebos);
 * Melee ability - fixed that it can lost targets (example: Adriana, Captain of the Guard).
2021-07-07 16:51:53 +04:00
Evan Kranzler
b4355b8f6e
Added treasure mana check (#7979)
* add treasure mana support to mana code

* [AFR] Implemented Hired Hexblade

* [AFR] Implemented Jaded Sell-Sword

* [AFR] Implemented Forsword Paladin

* added test

* fixed test failure

* another test fix

* completely reworked tracking mana sources
2021-07-06 19:43:32 -04:00
Oleg Agafonov
bb4f36fddf Game: fixed mulligan's copy code (can potentially fix empty hands or loses on game start in rare use cases, e.g. with AI); 2021-07-06 13:58:04 +04:00
Oleg Agafonov
fa8c0259d0 * Chroma ability - added card hints about color amount in permanents cost (example: Outrage Shaman); 2021-07-06 11:39:07 +04:00
Evan Kranzler
5b93f25206 fixed text generation for TapTargetEffect to fit with other effects 2021-07-05 22:09:16 -04:00
Evan Kranzler
cff3c54979 [AFR] Implemented Spike Pit Trap 2021-07-05 17:52:34 -04:00
Evan Kranzler
5b1a38b426 [AFR] Implemented Death-Priest of Myrkul 2021-07-05 16:36:36 -04:00
Evan Kranzler
9fef2a1692 [AFR] Implemented Sylvan Shepherd 2021-07-05 16:19:34 -04:00
Oleg Agafonov
6e26a8d7a6 [MH2] added tokens and images download; 2021-07-05 22:21:03 +04:00
Oleg Agafonov
9624b27b3a * Images: fixed that amass ability uses single Zombie Army token instead different; 2021-07-05 22:21:03 +04:00
Daniel Bomar
364b456ef6
[AFR] Implemented Yuan-Ti Malison 2021-07-05 12:33:09 -05:00
Oleg Agafonov
18db51eb4c Fixed NPE error in Escape ability (#7969); 2021-07-04 22:57:51 +04:00
Evan Kranzler
f8e9be311f [AFR] Implemented Herald of Hadar 2021-07-04 10:24:32 -04:00
Daniel Bomar
fc5e096ebf
[AFR] Fixed Pack Tactics not triggering correctly (#7954) 2021-07-04 10:07:38 -04:00
Oleg Agafonov
27a55529a9 [STX] added tokens and images download; 2021-07-03 23:28:34 +04:00
Oleg Agafonov
6a3f2ff420 * Images: added Commander 2021 tokens; 2021-07-03 22:49:15 +04:00
Evan Kranzler
ec6cb4919f [AFR] Implemented Eccentric Apprentice 2021-07-02 09:09:30 -04:00
Evan Kranzler
4b8a419d28 [AFR] Implemented Treasure Chest 2021-07-02 08:58:48 -04:00
Evan Kranzler
e79e9f1194 [AFR] Implemented The Deck of Many Things 2021-07-02 07:38:09 -04:00
Oleg Agafonov
b929b28e43 * AI: fixed game freezes with Karn Liberated in the game (#7922); 2021-07-02 15:03:06 +04:00
Oleg Agafonov
d9e414db34 Fixed miss counter's copy in some effects; 2021-07-02 14:55:49 +04:00
Evan Kranzler
41cbb7580a [AFR] Implemented Djinni Windseeker 2021-07-01 21:16:03 -04:00
Daniel Bomar
d93bcc12cd
[AFR] Implemented Feign Death 2021-07-01 10:26:50 -05:00
Oleg Agafonov
62d6675be6 AI: fixed that computer can't play commanders (#7955); 2021-07-01 18:21:15 +04:00
Evan Kranzler
d8fdfead8e [AFR] Implemented Gnoll Hunter 2021-07-01 08:49:17 -04:00
Evan Kranzler
2e254d524d [AFR] Implemented Icingdeath, Frost Tyrant 2021-06-30 22:46:58 -04:00
Oleg Agafonov
bbd3f266f0 [AFR] improved flavor words, added support in ETB abilities (#7952, #7808); 2021-06-30 17:47:27 +04:00
Evan Kranzler
74bb1f895c [AFR] Implemented Purple Worm 2021-06-30 09:10:49 -04:00
Evan Kranzler
4f38338fa6 [AFR] Implemented You Come to a River 2021-06-30 09:10:48 -04:00
Oleg Agafonov
a1de8cc85a Refactor: fixed flavor word for ability (related to comments from 6dafb3ad81); 2021-06-30 16:30:39 +04:00
Oleg Agafonov
6dafb3ad81 Refactor: moved flavor word from effects list to ability/mode; 2021-06-30 08:57:06 +04:00
Evan Kranzler
b0214e939a [AFR] Implemented Inspiring Bard 2021-06-29 21:46:36 -04:00
Evan Kranzler
b5ee72b658 fixed an error 2021-06-29 20:38:44 -04:00
Evan Kranzler
48c2633eda [AFR] Implemented Guild Thief 2021-06-29 20:28:34 -04:00
Evan Kranzler
01a30ca8b5 [AFR] Implemented Minion of the Mighty 2021-06-29 20:16:50 -04:00
Evan Kranzler
f60d76569a [AFR] Implemented Dawnbringer Cleric 2021-06-29 19:45:20 -04:00
Oleg Agafonov
62dad3730f * Cards: updated Arena New Player Experience sets by new cards and structure; 2021-06-30 03:02:19 +04:00
Evan Kranzler
24cfed8a0a [AFR] Implemented Trelassara Moon Dancer 2021-06-29 08:53:01 -04:00
Evan Kranzler
ea84d1f5fe [AFR] Implemented Hive of the Eye Tyrant 2021-06-29 08:48:58 -04:00
Evan Kranzler
bb591dd038
[AFR] Implementing dungeon mechanic (ready for review) (#7937)
* added dungeon and dungeon room class

* [AFR] Implemented Tomb of Annihilation

* [AFR] Implemented Shortcut Seeker

* [AFR] Implemented Gloom Stalker

* [AFR] Implemented Nadaar, Selfless Paladin

* added room triggers

* added more venturing code, currently untested

* fixed error

* moved venture into dungeon from player class to game class

* removed unnecessary sourceobject from dungeon

* fixed npe error

* added dungeon completion

* fixed concurrent modification exception

* added logging

* added proper copy methods

* added views

* updated room text generation

* added some missing code

* finished implementing CompletedDungeonCondition

* [AFR] Implemented Ellywick Tumblestrum

* [AFR] Implemented Lost Mine of Phandelver

* added choice dialog for dungeons

* [AFR] Implemented Dungeon of the Mad Mage

* small text fix

* added initial dungeon test

* [AFR] Implemented Cloister Gargoyle

* [AFR] Implemented Dungeon Crawler

* small text change for dungeon rooms

* added more tests

* some simplification to dungeon props

* updated testing helper functions

* added currently failing test for venturing on separate steps and turns

* added tests for dungeon completion

* fixed missing trigger visual and dungeons not persisting through turns

* some text updates

* added rollback test

* added a test for multiple dungeons at once

* added one more condition test
2021-06-29 06:57:43 -04:00
Evan Kranzler
2ab78b9f03 [STX] fixed Shadrix Silverquill not allowing players to choose no modes (fixes #7874) 2021-06-27 11:46:36 -04:00
Oleg Agafonov
9a4489b47f * Cast an instant or sorcery spell this turn - fixed rollback error when you cast graveyard spell as first in turn (#7918); 2021-06-23 05:05:51 +04:00
Evan Kranzler
daf77b2ee8 [MH2] various text fixes 2021-06-22 09:20:05 -04:00
Evan Kranzler
91eb324847 updated ManaSpentToCastWatcher to default watcher list, reworked it to be game scope 2021-06-21 20:26:39 -04:00
Evan Kranzler
943c67fbca moved ManaSpentToCastWatcher to default watcher list 2021-06-21 20:22:57 -04:00
Evan Kranzler
6ebfe78090 updated protection ability rules generation 2021-06-18 20:52:33 -04:00
Evan Kranzler
1701093d45 [MH1] various text fixes 2021-06-18 19:13:46 -04:00
Evan Kranzler
6ca7b06ab9 some reworking of sagas, added tests 2021-06-18 18:27:37 -04:00
Evan Kranzler
546173ee45 [AFR] Implemented Drizzt Do'Urden 2021-06-17 08:17:26 -04:00
Evan Kranzler
c2c3f6497b [AFR] Implemented Lolth, Spider Queen 2021-06-17 07:53:53 -04:00
Evan Kranzler
dfc2624d32 [MH2] fixed Urza's Saga not being sacrificed immediately when Blood Moon is on battlefield (ability still triggers on etb, related to Blood Moon issue) 2021-06-13 21:22:28 -04:00
Evan Kranzler
b75c09688c [MH2] Implemented Chef's Kiss 2021-06-13 14:51:03 -04:00
Evan Kranzler
d202278ccd change to containsKey method to prevent stream exceptions (fixes #7904, fixes #7880, fixes #7844, fixes #7810, fixes #7805, fixes #7675, fixes #7669, fixes #7654, fixes #7651) 2021-06-13 10:13:41 -04:00
Evan Kranzler
9fd29bae06 [MH1] various text fixes 2021-06-12 19:26:02 -04:00
Evan Kranzler
2c7a04b346 [MH2] Implemented Caprichrome 2021-06-11 08:59:48 -04:00
Evan Kranzler
0acc2d4f36 consolidated card type in graveyard count to a single class 2021-06-11 08:35:38 -04:00
Evan Kranzler
5f8d746fc0 updated tokens with phyrexian subtype 2021-06-10 20:29:07 -04:00
Evan Kranzler
7d07c220b0 fixed while on stack effects of copied spells not discarding when copy has left stack 2021-06-10 18:42:47 -04:00
Evan Kranzler
bd92ced539 [MH2] fixed Garth One-Eye permanent spells not becoming tokens 2021-06-10 18:42:02 -04:00
Evan Kranzler
fd495299db added ranger creature type errata 2021-06-09 21:25:50 -04:00
Daniel Bomar
91df970a87
ReturnToHandAttachedEffect - Fixed incorrect zcc check (Fixes #7885 #7890) 2021-06-08 15:49:32 -05:00
Daniel Bomar
df5bf2fa25
[MH2] Implemented Sanctifier en-Vec (#7893)
* [MH2] Implemented Sanctifier en-Vec

* [MH2] Sanctifier en-Vec - Remove unused filter
2021-06-06 18:38:48 -04:00
Evan Kranzler
0bbc904de0 changed subtype assertion implementation (fixes #7892) 2021-06-06 11:18:43 -04:00
Evan Kranzler
ffd681a0ec [MH2] Implemented Dauthi Voidwalker 2021-06-05 11:58:07 -04:00
Evan Kranzler
ac04c27133 [MH2] Implemented Yavimaya, Cradle of Growth 2021-06-05 09:02:04 -04:00
Daniel Bomar
59678389df
[MH2] Implemented Persist (#7889) 2021-06-05 08:03:04 -04:00
Evan Kranzler
f6cdbd6b4d [MH2] Implemented Necrogoyf 2021-06-04 08:22:40 -04:00
Daniel Bomar
90f09dd816
[MH2] Implemented Kaldra Compleat (#7883) 2021-06-03 21:50:34 -04:00
Evan Kranzler
1c6f8ae035 [MH2] Implemented Sojourner's Companion 2021-06-03 20:10:38 -04:00
Evan Kranzler
390075efd4 [MH2] Implemented Dihada's Ploy 2021-06-03 09:05:07 -04:00
Evan Kranzler
798b578125 [MH2] Implemented Vile Entomber 2021-06-03 08:44:01 -04:00
Evan Kranzler
d3be492f8c [MH2] Implemented Gilt-Blade Prowler 2021-06-03 07:53:10 -04:00
Evan Kranzler
acb8070d6b [MH2] Implemented Recalibrate 2021-06-03 07:48:38 -04:00
Daniel Bomar
71ea4a51d6
[MH2] Implemented Academy Manufactor (#7864)
* [MH2] Implemented Academy Manufactor

* [MH2] Implemented Chatterfang, Squirrel General
2021-06-02 21:46:51 -04:00
Evan Kranzler
58a297ec5c fixed a test failure 2021-06-02 09:11:12 -04:00
Evan Kranzler
e7adae42ef [MH2] Implemented Tavern Scoundrel 2021-06-02 08:48:49 -04:00
Daniel Bomar
03db612f83
[MH2] Implemented Geyadrone Dihada (#7873) 2021-06-01 18:04:06 -04:00
Daniel Bomar
a522eca984
[MH2] Implemented Chitterspitter (#7867)
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2021-05-31 18:51:01 -04:00
Daniel Bomar
4972e050dd
[MH2] Implemented General Ferrous Rokiric (#7868)
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2021-05-31 18:50:24 -04:00
Evan Kranzler
870d0338f8 [MH2] Implemented Nettlecyst 2021-05-31 09:32:07 -04:00
Daniel Bomar
03f8c34002
[MH2] Implemented Dress Down (#7856) 2021-05-28 21:43:37 -04:00
Evan Kranzler
0350f42b4c [MH2] Implemented Scuttletide 2021-05-28 09:46:39 -04:00
Evan Kranzler
55a3b03c5e [MH2] Implemented Dragon's Rage Channeler 2021-05-27 08:47:40 -04:00
Evan Kranzler
988740ab53 added hint for domain 2021-05-26 18:23:40 -04:00
Evan Kranzler
4127030c9d [MH2] Implemented Lucid Dreams 2021-05-24 20:28:40 -04:00
Max Behling
d3e57b7fb9
Implemented Thrasta, Tempest's Roar (#7835)
* Implemented ThrastaTempestsRoar
2021-05-24 11:42:11 +04:00
Evan Kranzler
19c5750b01 [MH2] Implemented Dakkon, Shadow Slayer 2021-05-22 08:47:36 -04:00
Evan Kranzler
af3bd24f03 [MH2] Implemented Grief 2021-05-21 07:52:08 -04:00
Evan Kranzler
a60aba3458 some user dialog changes 2021-05-20 20:36:37 -04:00
Evan Kranzler
a85bf3af79 [STX] fixed Journey to the Oracle not returning to hand (fixes #7827) 2021-05-18 18:42:18 -04:00
Ingmar Goudt
895430b554 remove the SimpleTriggeredAbility class and rewrite old cards using it 2021-05-13 21:48:58 +02:00
Evan Kranzler
d1f51cae2f [ZNR] fixed Ashaya, Soul of the Wild and Volrath's Shapeshifter interaction (fixes #7812) 2021-05-12 09:41:06 -04:00
Evan Kranzler
a673ebffc5 refactored TappedPredicate to use single enum for both conditions 2021-05-11 09:33:45 -04:00
Evan Kranzler
35e7f649d4 [AFR] Implemented Prosperous Innkeeper 2021-05-07 08:13:17 -04:00
Evan Kranzler
071f03c491 [AFR] Implemented Vorpal Sword 2021-05-07 08:10:29 -04:00
Evan Kranzler
6bb474a6d0 [LGN] fixed Berserk Murlodont not functioning correctly (fixes #7801) 2021-05-05 09:59:43 -04:00
Evan Kranzler
f33b333e13 [STX] fixed Dragon's Approach (fixes #7796) 2021-05-02 22:49:07 -04:00
Evan Kranzler
ed759d7a63 fixed several cards which use an invalid UUID to find a player 2021-04-30 08:39:54 -04:00
Evan Kranzler
77d792bbaf fixed a test failure 2021-04-30 08:32:26 -04:00
Evan Kranzler
8f9afcb617 text fixes 2021-04-30 07:58:19 -04:00
Evan Kranzler
9604a9c3ea refactored and encapsulated card name choosing effects 2021-04-29 19:43:44 -04:00
Evan Kranzler
0297a00156 all text and no fix makes elk a dull boy 2021-04-29 19:43:44 -04:00
Evan Kranzler
731e948841 [C21] various text fixes 2021-04-28 21:00:36 -04:00
Ingmar Goudt
96d026e4af remove explicit null checks, match(..) checks on null itself by instanceof calls 2021-04-28 20:53:50 +02:00
Ingmar Goudt
b4d806211c use staticfilter for 'a spell' 2021-04-28 20:53:49 +02:00
Evan Kranzler
dfc290a206 fixed a change left out from previous commit failure 2021-04-28 13:26:55 -04:00
Evan Kranzler
bf2e90feae [C21] Implemented Yedora, Grave Gardener 2021-04-28 09:21:39 -04:00
Evan Kranzler
7778e867f8 fixed effects counting opponents no longer in the game 2021-04-28 08:18:07 -04:00
Evan Kranzler
0c3b294527 [C21] Implemented Combat Calligrapher 2021-04-27 20:06:49 -04:00
Evan Kranzler
1fad23b9fb [C21] Implemented Fractal Harness 2021-04-27 20:06:49 -04:00
Evan Kranzler
92007f0132 updated copy implementation to work with stack objects 2021-04-26 18:55:48 -04:00
Ingmar Goudt
30086a5f60 rewrite some dies events cards 2021-04-26 09:39:06 +02:00
Evan Kranzler
d6c3ef33f0 [STX] added booster collation 2021-04-25 22:19:00 -04:00
Evan Kranzler
c3983dac63 [ONS] fixed Thrashing Mudspawn null pointer exception (fixes #7775) 2021-04-25 14:58:58 -04:00
Evan Kranzler
b0fdb4ef5a text fixes 2021-04-25 14:26:22 -04:00
Ingmar Goudt
f74dfcb8b6 rewrite loop to stream 2021-04-25 12:32:44 +02:00
Evan Kranzler
01b797f494 reworked alara heralds 2021-04-23 09:42:06 -04:00
Evan Kranzler
cd4f11e909 more text fixes 2021-04-22 19:31:06 -04:00
Evan Kranzler
a8096fc0a7 text fix for fetch lands 2021-04-22 17:34:22 -04:00
Evan Kranzler
97b8871122 text fix for ReturnFromGraveyardToBattlefieldTargetEffect 2021-04-22 09:50:22 -04:00
Evan Kranzler
f7340a946e text fixes 2021-04-22 08:41:54 -04:00
Evan Kranzler
4e248e75e9 fixed another test failure 2021-04-21 09:47:50 -04:00
Evan Kranzler
28524ce2ed more text fixes 2021-04-21 07:27:26 -04:00
Evan Kranzler
f96f5bf548 small text update 2021-04-20 19:40:52 -04:00
Evan Kranzler
42132bb852 [C21] Implemented Guardian Archon 2021-04-20 19:39:45 -04:00
Evan Kranzler
ad5d1e498f [C21] Implemented Elementalist's Palette 2021-04-20 08:47:41 -04:00
Evan Kranzler
de3388348e [C21] Implemented Battlemage's Braces 2021-04-19 18:07:23 -04:00
Evan Kranzler
ccd1c38004 more text fixes 2021-04-18 22:03:53 -04:00
Evan Kranzler
05a7c83a77 if you're having text problems I feel bad for you son, I've got 99 problems and they're all text-related and I've only dealt with a small amount of them 2021-04-18 18:17:38 -04:00
Evan Kranzler
c2ae2f89f0 many find/replace "shuffle" fixes 2021-04-18 17:29:28 -04:00
Evan Kranzler
5540461397 some more text fixes 2021-04-18 16:03:44 -04:00
Evan Kranzler
cae1b271c2 [STX] some final text fixes 2021-04-18 15:09:18 -04:00
Evan Kranzler
9a40ea0335 [C21] Implemented Geometric Nexus 2021-04-18 14:51:54 -04:00
Evan Kranzler
40a374b407 un-reverted change, fixed test failure 2021-04-18 08:12:32 -04:00
Evan Kranzler
402733d6e7 revert change to fix test, will investigate later 2021-04-17 22:12:14 -04:00
Evan Kranzler
efb2a7f3de [STX] more text fixes 2021-04-17 21:56:26 -04:00
Evan Kranzler
213564f8cd changed ExileSpellEffect from being singleton 2021-04-17 18:47:45 -04:00
Evan Kranzler
b5e3ad2814 fixed Ward ability text (fixes #7715) 2021-04-17 18:36:11 -04:00
Evan Kranzler
326c17fe4d [STX] various text fixes 2021-04-17 18:22:43 -04:00
Evan Kranzler
a61d5543fa replaced all instances of converted mana cost with mana value 2021-04-17 17:02:27 -04:00
Evan Kranzler
cb0df438dd [STA] text fixes 2021-04-17 16:34:21 -04:00
Evan Kranzler
cbc949c08e removed deprecated method for adding delayed triggered abilities 2021-04-17 12:13:37 -04:00
Evan Kranzler
4304ba8cce [STX] Implemented Uvilda, Dean of Perfect / Nassari, Dean of Expression 2021-04-17 09:07:09 -04:00
Daniel Bomar
600cac6fc7
[READY FOR REVIEW] Implement a "multi-amount" dialog (#7528)
* Implemented chooseTargetAmount and new GUI dialog (distribute damage, distribute mana)
* Added tests and AI support;
* Test framework: added aliases support in TargetAmount dialogs;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-04-17 14:28:01 +04:00
htrajan
042aa61ad4
[STX] Implement Efreet Flamepainter (#7747)
* [STX] Implement Efreet Flamepainter

* Add null check

* Target needs to be chosen before ability resolution
2021-04-16 22:16:02 -04:00
Evan Kranzler
b8b8deaec2 [STX] Implemented Shadrix Silverquill 2021-04-16 20:43:14 -04:00
Evan Kranzler
f9467d5142 [STX] Implemented Strict Proctor 2021-04-16 18:48:40 -04:00
Evan Kranzler
c408776ad7 [STX] Implemented Mavinda, Students' Advocate 2021-04-15 09:21:01 -04:00
Evan Kranzler
802dacea29 [C21] Implemented Scholarship Sponsor 2021-04-14 18:33:28 -04:00
Evan Kranzler
a3bbc0b470 [STX] Implemented Strixhaven Stadium 2021-04-13 09:47:21 -04:00
Evan Kranzler
ae22f99b54 [STX] Implemented Rowan, Scholar of Sparks / Will, Scholar of Frost 2021-04-13 09:12:10 -04:00
Evan Kranzler
dc42107962 [STX] Implemented Mila, Crafty Companion / Lukka, Wayward Bonder 2021-04-12 22:07:19 -04:00
Evan Kranzler
7d3dfe5b15 [C21] Implemented Ruxa, Patient Professor 2021-04-12 17:16:29 -04:00
Evan Kranzler
e51ebbec93 [C21] Implemented Felisa, Fang of Silverquill 2021-04-12 09:47:27 -04:00
Evan Kranzler
c8e21a8c6a [C21] Implemented Triplicate Titan 2021-04-12 09:32:44 -04:00
Evan Kranzler
f4dd6ba1e7 added new EachTargetPointer object 2021-04-12 09:08:50 -04:00
Evan Kranzler
dab3dfdc5a [STX] Implemented Extus, Oriq Overlord / Awaken the Blood Avatar 2021-04-11 10:52:16 -04:00
Evan Kranzler
f97b6bf538 [STX] Implemented Wandering Archaic / Explore the Vastlands 2021-04-11 10:28:39 -04:00
Evan Kranzler
ed7a91cd60 [ODY] fixed Aven Windreader effect #7733 2021-04-11 09:32:01 -04:00
Evan Kranzler
79b7d49e83 [STX] Implemented Show of Confidence 2021-04-10 21:55:32 -04:00
Evan Kranzler
f37628c5cb [STX] Implemented Plumb the Forbidden 2021-04-10 21:30:26 -04:00
htrajan
af0f705b5e
[STX] Implement Conspiracy Theorist (#7728)
* [STX] Implement Conspiracy Theorist
2021-04-11 04:52:18 +04:00
Evan Kranzler
167d2579ac [C21] Implemented Trudge Garden 2021-04-10 10:19:59 -04:00
htrajan
10cd439955
[STX] add more cards (#7720)
* implement AcademicProbation
* implement AugmenterPugilist // EchoingEquation
* Implement BalefulMastery
* implement BasicConjuration
* implement ClosingStatement
* Test framework: added custom effect to return card from any zone to hand;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-04-09 17:56:34 +04:00
Evan Kranzler
c83db2cad3 [STX] Implemented Dragon's Approach 2021-04-09 08:20:59 -04:00
Evan Kranzler
6ff3ca5c1e [STX] Implemented Dramatic Finale 2021-04-08 18:56:18 -04:00
Evan Kranzler
cf3b3cbb76 [C21] Implemented Archaeomancer's Map 2021-04-08 17:21:41 -04:00
Evan Kranzler
689efae076 [C21] Implemented Paradox Zone 2021-04-08 09:03:28 -04:00
Evan Kranzler
77d22b9960 [C21] Implemented Deekah, Fractal Theorist 2021-04-08 08:22:25 -04:00
Evan Kranzler
bea736aa54 [STX] Implemented Retriever Phoenix 2021-04-07 19:24:41 -04:00
Evan Kranzler
8950d35ec7 [STX] Implemented Test of Talents 2021-04-07 09:18:36 -04:00
Evan Kranzler
2f50958e53 [STX] Implemented Reject 2021-04-07 08:53:03 -04:00
Evan Kranzler
37a4ae27f1 [STX] Implemented Explosive Welcome 2021-04-07 08:33:53 -04:00
Evan Kranzler
5ee335f011 [STX] Implemented Willowdusk, Essence Seer 2021-04-06 18:41:01 -04:00
Evan Kranzler
bcb9e410dd [C21] Implemented Adrix and Nev, Twincasters 2021-04-06 18:23:08 -04:00
Evan Kranzler
1d4fc1369a [STX] Implemented Silverquill Silencer 2021-04-06 09:25:48 -04:00
Evan Kranzler
bffe1b2ce6 [STX] Implemented Pillardrop Warden 2021-04-05 20:43:52 -04:00
Evan Kranzler
cf2771e9fa [STX] Implemented Hall of Oracles 2021-04-05 20:37:06 -04:00
Evan Kranzler
3914aa656a [STX] Implemented Brackish Trudge 2021-04-05 19:13:27 -04:00
Evan Kranzler
f2f04be08b [STX] Implemented Spell Satchel 2021-04-05 19:04:52 -04:00
Evan Kranzler
33b7fa3eda [C21] Implemented Excavation Technique 2021-04-05 18:11:24 -04:00
Evan Kranzler
4a184a94b3 [STX] Implemented Tend the Pests 2021-04-04 23:34:21 -04:00
Evan Kranzler
734bd6f118 fixed Blatant Thievery test failure 2021-04-04 13:19:15 -04:00
Evan Kranzler
8699b847d8 [STX] Implemented Promising Duskmage 2021-04-04 12:45:00 -04:00
Evan Kranzler
2184a18c04 [STX] Implemented Flame Spill 2021-04-04 10:40:13 -04:00
Evan Kranzler
1461a875ff [STX] Implemented Leyline Invocation 2021-04-04 10:19:32 -04:00
Evan Kranzler
ceabb02270 [STX] Implemented Divide by Zero 2021-04-03 21:50:06 -04:00
Evan Kranzler
548ac048d7 [STX] Implemented Sedgemoor Witch 2021-04-03 07:32:12 -04:00
htrajan
0a3a4bc189
Stx add cards (#7709)
* WIP

* Implement Confront the Past

* Don't modify test

* Implement Plargg // Augusta

* Implement Shaile // Embrose

* Fix FDoC

* Fix CtP

* fix ordering

* remove extra plains

* FDoC PR fixes

* Augusta PR fixes

* Shaile PR fixes

* don't capitalize "learn"
2021-04-02 18:07:30 -04:00
Oleg Agafonov
05b1366c39 Fixed missing override, restored and additional comments 2021-04-02 11:43:42 +04:00
Oleg Agafonov
fbb08ab1a8 Devs: added todo with mana calculation freezes (Cascading Cataracts) 2021-04-02 11:32:35 +04:00
Evan Kranzler
dbbb696abf added some hints 2021-04-01 20:43:10 -04:00
Evan Kranzler
01bde741d4 [STX] Implemented Inkling Summoning 2021-04-01 09:21:47 -04:00
Evan Kranzler
b6ca0ca222 [STX] Implemented Manifestation Sage 2021-04-01 07:49:10 -04:00
Evan Kranzler
85684c6bf1 [STX] Implemented Kelpie Guide 2021-03-31 09:09:00 -04:00
Evan Kranzler
8e3f4d89c9 revert changes to dynamic value calculations (will investigate more thoroughly later) 2021-03-31 08:55:49 -04:00
Evan Kranzler
3d078dce93 [STX] Implemented Tanazir Quandrix 2021-03-31 08:15:38 -04:00
Evan Kranzler
2567e56db8 [STX] Implemented Thunderous Orator 2021-03-30 20:34:32 -04:00
Evan Kranzler
f831eac6fc [STX] Implemented Magma Opus 2021-03-30 19:34:16 -04:00
Evan Kranzler
63c7c52d92 [STX] Implemented Stonebound Mentor 2021-03-30 08:08:53 -04:00
Evan Kranzler
b8c83b4b51 [STX] Implemented Illustrious Historian 2021-03-30 07:44:14 -04:00
Evan Kranzler
97af948932 simplified and condensed various effects which discard variable amounts of cards 2021-03-29 21:35:27 -04:00
Evan Kranzler
a55ed17beb [STX] Implemented Torrent Sculptor / Flamethrower Sonata 2021-03-27 11:33:08 -04:00
Evan Kranzler
730ac37930 [STX] Implemented Prismari Apprentice 2021-03-27 08:06:26 -04:00
Evan Kranzler
7dc8133eec [STX] Implemented Waterfall Aerialist 2021-03-26 07:01:14 -04:00
Evan Kranzler
aa271876d0 [STX] Implemented Dragonsguard Elite 2021-03-25 20:43:30 -04:00
Evan Kranzler
69e38a84ce [STX] Implemented Pest Summoning 2021-03-25 20:12:43 -04:00
Evan Kranzler
6d99f28bef [STX] Implemented Pop Quiz 2021-03-25 19:55:55 -04:00
Evan Kranzler
73888133eb [STX] implemented Eager First-Year 2021-03-25 19:40:35 -04:00
Evan Kranzler
83993500e0 [EMN] fixed Imprisoned in the Moon not correctly removing subtypes 2021-03-25 08:25:00 -04:00
Evan Kranzler
3feb2017d3 removed unnecessary overrides of adjustTargets and adjustCosts 2021-03-23 20:43:16 -04:00
Evan Kranzler
043aae6dff updated phrasing on player choice messages 2021-03-23 19:46:47 -04:00
Evan Kranzler
d54e1c6eac [DTK] updated implementation of spells which reveal dragon cards as a cost 2021-03-23 19:44:45 -04:00
Evan Kranzler
707de23436 cleaned up some methods for effects and abilities 2021-03-22 21:47:08 -04:00
Evan Kranzler
2a42bec1f2 simplified various cards to use isInstantOrSorcery method 2021-03-22 20:01:20 -04:00
Evan Kranzler
df866f858e [STX] Implemented Professor Onyx 2021-03-22 19:25:55 -04:00
Evan Kranzler
aa527ea8b2 [STX] Implemented Kasmina, Enigma Sage 2021-03-22 19:23:02 -04:00
Evan Kranzler
9f9cb3327f [IKO] fixed Kaheera, the Orphanguard not correctly counting changelings 2021-03-22 08:53:40 -04:00
Evan Kranzler
583475dfd2 [ORI] fixed Chief of the Foundry text (fixes #7681) 2021-03-21 11:34:26 -04:00
Oleg Agafonov
8a06be7e28 Merge fix 2021-03-20 18:40:22 +04:00
Evan Kranzler
1cbbcddcc6
Improving implementation of cards which use voting (WIP) (#7566)
* created interface for handling voting

* created class for two choice votes, refactored a card to use it

* refactored all cards which use two choice votes

* updated VoteHandler to an abstract class to encapsulate more of its functions

* refactored cards which vote for more than two things

* [CNS] Implemented Brago's Representative

* [CN2] Implemented Ballot Broker

* [CN2] Implemented Illusion of Choice

* [CNS] Implemented Grudge Keeper

* added vote outcomes

* updated implementation of Illusion of Choice to work correctly in multiples

* added test for voting

* updated implementation of extra votes

* simplified vote message handling

* Improved names, additional comments

* Votes: fixed not working getMostVoted

* Votes: added final vote results to game logs;

* Votes: added additional info for the vote choices;

* Votes: added vote step info in choose dialogs, added AI support example for Tyrant's Choice;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-03-20 18:32:54 +04:00
Evan Kranzler
d4792e3665 reworked/simplified/consolidated effects which exchange life totals, added test (fixes #7668) 2021-03-14 15:56:48 -04:00
Evan Kranzler
e0336d4d65 [ROE] fixed Tuktuk, the Explorer token creature type (fixes #7673) 2021-03-13 08:40:30 -05:00
Evan Kranzler
19ec3e399e fixed text on wish effects 2021-03-12 15:05:37 -05:00
Evan Kranzler
9c56a98dc9
Refactor implementation of spell copies for cards like Twinning Staff as well as refactor handling of target changing (WIP) (#7662)
* refactored createCopyOnStack to be void

* added new interface for modifying copied spellsspells

* update implementation of Fork to use new applier

* reworked epic effect

* add applier to spell copy code

* updated implementation of Beamsplitter Mage

* updated cards which copy for each possible target

* added support for additional copies having targets changed

* fixed/ignored failing tests

* updated target changing to prevent unnecessary choosing

* added test for Twinning Staff

* updated implementation of spell copy applier

* added new method for choosing order of copies on stack

* fixed test failures

* [TSR] various text fixes

* fixed a test failure

* [SLD] fixed Rick, Steadfast Leader only counting Human creatures

* updated test framework to handle skips without affecting starting player choice

* fixed another test failure

* updated copy messaging for consistency

* added copy messaging to stack abilities
2021-03-12 12:47:49 -05:00
Evan Kranzler
1dfde6d622 [TSR] various text fixes 2021-03-09 20:01:32 -05:00
Oleg Agafonov
0ab8d0d16f Fixed NPE 2021-03-07 23:45:50 +04:00
Oleg Agafonov
2906f86324 Test framework: simplified AI logic and tests, added usage comments. Devs recommendations:
* in card's code use player.isComputer instead player.isHuman (it help to split Human/AI logic and test both by unit tests);
* usage example: AI hint to skip or auto-calculate choices instead call of real choose dialogs;
* unit tests for Human logic: call normal commands;
* unit tests for AI logic: call aiXXX commands;
2021-03-07 23:38:10 +04:00
Oleg Agafonov
6e661e6d97 * Halvar, God of Battle - fixed rollback error on attached permanent die; 2021-03-07 18:28:19 +04:00
Oleg Agafonov
0e916b6e29 Dev: added additional info to some classes for easy debug; 2021-03-07 17:16:54 +04:00
Oleg Agafonov
ccc85c1acb [TSR] added tokens 2021-03-07 03:08:17 +04:00
Oleg Agafonov
7e72ba95bc Fixed typos 2021-03-07 03:08:17 +04:00
Evan Kranzler
f54145ad42 [LRW] reworked abilities which trigger off of clashing 2021-03-06 14:49:55 -05:00
Evan Kranzler
02f04e541c a few small text fixes 2021-03-06 14:35:01 -05:00
Oleg Agafonov
b36f915d74 * Copy spell - improved support, now all copied spells are independent (bug example: Seasons Past fizzled after copy resolve, see #7634, 10f8022043); 2021-03-06 19:32:17 +04:00
Evan Kranzler
6894ad96bc [TSR] various text fixes 2021-03-05 19:10:29 -05:00
Evan Kranzler
425c1eda26 [TSR] added set 2021-03-05 18:17:01 -05:00
Oleg Agafonov
712cf4576d * Gain abilities - fixed that objects can get only one instance of triggered ability instead multiple (example: 2+ cascades from copies of Imoti, Celebrant of Bounty, f52753ad61); 2021-03-05 16:22:46 +04:00
Oleg Agafonov
4e79c83784 Test framework: fixed missing range info for added cards (some ETB effects were broken on "put to battlefield" command usage); 2021-03-05 15:12:47 +04:00
Oleg Agafonov
654c0be1ac Additional fixes for 4a3679285e (#7645) 2021-03-04 23:49:00 +04:00
Daniel Bomar
4a3679285e
Fixed Crucible of Worlds allowing lands to be played from opponent's graveyard (fixes #7645) 2021-03-04 12:55:49 -06:00
Evan Kranzler
afcdc0f23a simplified and consolidated werewolf triggered abilities 2021-03-03 22:13:16 -05:00
Evan Kranzler
3b5147f6ee updated some methods to support collections of card subclasses 2021-03-02 09:41:39 -05:00
Daniel Bomar
10f8022043
ReturnToLibrarySpellEffect - Do not apply to spell copies (fixes #7634) 2021-03-01 16:40:40 -06:00
Evan Kranzler
f52753ad61 [CMR] fixed multiple copies of Imoti, Celebrant of Bounty only giving cascade once 2021-03-01 08:45:42 -05:00
Evan Kranzler
9567b19b01 refactored card.moveToExile usages E-F 2021-02-28 17:09:37 -05:00
Evan Kranzler
129a477f56 reworked some abilities which use card.moveToExile 2021-02-28 17:06:13 -05:00
Oleg Agafonov
098796f86e * Commander: fixed that non hand abilities are castable from command zone (example: Escape, Jumpstart, see #7632); 2021-03-01 01:14:00 +04:00
Daniel Bomar
f739eedc46
Fixed Escape being castable from command zone (fixes #7632) 2021-02-28 14:20:44 -06:00
Evan Kranzler
6091c7eae3 fixed trample and deathtouch not working when deathtouch is gained by an outside source (fixes #7633) 2021-02-28 09:34:09 -05:00
Evan Kranzler
2daf1945e7 [RTR] reworked Nivmagus Elemental and added test 2021-02-27 15:35:04 -05:00
Oleg Agafonov
c4750ff6c9 prepare new release 2021-02-27 22:27:11 +04:00
Oleg Agafonov
dda69cd009 * AI: improved support of "as though mana" abilities (now computer can choose correct mana ability to pay, example: Draugr Necromancer);
* Dev: added card's LKI support of multi part cards (mdf/split/adventure);
* Dev: improved support of adding/removing counters from mdf cards;
* Draugr Necromancer - fixed support of mdf/split/adventure cards (#7620);
2021-02-27 20:14:12 +04:00
Evan Kranzler
adc945748b a few more card refactors for card.moveToZone 2021-02-27 10:13:24 -05:00
Evan Kranzler
bb04962144 finished the last few refactors for card.moveToZone 2021-02-27 09:57:45 -05:00
Evan Kranzler
ffd5f68220 refactored zone changes, letters M through P
most cards are minor refactors except for Puppet Master which was heavily reworked
2021-02-27 09:24:31 -05:00
Evan Kranzler
1f6332d658 fixed incomplete code 2021-02-25 10:50:29 -05:00
Evan Kranzler
35be23537f simplified and consolidated effects which check cards put into graveyards from the battlefield 2021-02-25 10:45:26 -05:00
Evan Kranzler
5f23ccf24c fixed a test failure 2021-02-24 16:32:30 -05:00
Evan Kranzler
746d5eef3b refactored more zone changes, letters C and D (#7572)
Decaying Soil has been heavily reworked
2021-02-24 14:37:22 -05:00
Evan Kranzler
bac2585d83 [KHM] fixed Draugr Necromancer not allowing snow mana to be used for exiled cards 2021-02-23 13:47:23 -05:00
Evan Kranzler
5736b00f0f combined "enchanted player's upkeep" triggers into one class 2021-02-23 09:44:26 -05:00
Evan Kranzler
2ffa719278 fixed issue with Kruphix, God of Horizons and Horizon Stone causing endless replacement effect loop 2021-02-23 08:41:54 -05:00
Oleg Agafonov
51c9121f5e Fixed test 2021-02-23 03:27:37 +04:00
Evan Kranzler
5390963d38
Fix handling of damage to permanents (WIP) (#7592)
* initial refactor of damage events

* cleaned up some instances of classes that need to be removed

* removed old damage event classes

* removed outdated imports

* temporarily refactor Everlasting Torment (this will need to be changed more)

* updated damage handling to use new changes

* some reworking of lethal/excess damage plus a test

* updated damage marking to handle planeswalkers

* updated implementation of Phyrexian Unlife

* updated implementation of Everlasting Torment

* added some more excess damage tests

* small change to wither check
2021-02-22 17:11:24 -05:00
Oleg Agafonov
39f6b69391
Merge pull request #7584 from weirddan455/cascade
Implemented updated Cascade ruling 702.84a
2021-02-22 23:03:56 +01:00
Oleg Agafonov
91f4d78992 Changes related to Cascade ability (#7583):
* Cascade: added correct spell ability choose for forced cast of mdf and adventure cards (can contains one or both sides);
* Cascade: added tests from latest oracle changes;
* AI: improved spell ability choose for forced cast (example: cast target card without mana cost);
* GUI: improved spell ability choose for forced cast (now you can see only castable spells to choose);
* Other: fixed wrong PlayFromNotOwnHandZone in some cards, fixed NPE;
2021-02-23 02:00:38 +04:00
Evan Kranzler
bd3777997e
updated various cards to improve how they handle exiling with info (#7615) 2021-02-22 15:26:58 -05:00
Daniel Bomar
bb0a995541
Tibalt, Cosmic Impostor - fixed that emblem can't cast not owned cards (#7598)
* Fixed ability.canChooseTarget not using correct playerId

* Fixed Necrotic Plague

* Revert "Fixed Necrotic Plague"

This reverts commit 7659039670293ce1ea428dad042511d9d75f9da6.

* Set target controller on Necrotic Plague and add check in canChooseTarget

* Add test for Tibalt + Ephemerate interaction

* Tests improved

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-02-22 23:06:43 +04:00
Oleg Agafonov
2accab79c5 * Spark Double - fixed duplicated counters on copying of another Spark Double (#7553); 2021-02-22 21:22:31 +04:00
Oleg Agafonov
f6c0f4c712 * Geode Golem - fixed duplicated commander tax on damage trigger (#7593); 2021-02-22 16:11:13 +04:00
Oleg Agafonov
650acf9e1e Test framework: fixed support of chooseAbilityForCast for commanders, added destroy target custom effect (#7593); 2021-02-22 16:05:48 +04:00
Oleg Agafonov
a377999f57 * Desertion - fixed rollback error on fizzled counter spell (#7613); 2021-02-22 08:51:07 +04:00
Oleg Agafonov
eb4f6d99dd Fixed missing watcher error; 2021-02-22 08:08:19 +04:00
Oleg Agafonov
65ad97ced5 * King Narfi's Betrayal - fixed rollback error on no targets for exile; 2021-02-22 07:58:31 +04:00
Oleg Agafonov
b6cb5cef9c Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
Oleg Agafonov
2dfde7f41a Refactor: correct predicate packages 2021-02-21 08:00:21 +04:00
Oleg Agafonov
d343511d73 * Elsha of the Infinite - fixed that it gives flash ability to cards in the hand instead library's top card (closes #7605); 2021-02-21 07:43:29 +04:00
Oleg Agafonov
48e9cc3e07 PlayTheTopCard improves: added correct usage check, fixed outdated rule texts, Bolas's Citadel simplified (related to #7605); 2021-02-21 05:48:09 +04:00
Daniel Bomar
bfe91ad32b
Fixed Foretold cards with cost reduced to 0 being uncastable (fixes #7607) 2021-02-20 11:42:49 -06:00
Daniel Bomar
238ab4fcc8
Fixed clones not triggering death ability of Old-Growth Troll (fixes #7601) 2021-02-19 15:49:25 -06:00
Evan Kranzler
a8bda04daf [GTC] updated implementation of Bane Alley Broker 2021-02-19 14:47:47 -05:00
Evan Kranzler
09d3cee8fc [STX] Implemented Lorehold Command 2021-02-19 09:38:59 -05:00
Evan Kranzler
223c576359 [STX] Implemented Quandrix Command 2021-02-19 09:08:14 -05:00
Daniel Bomar
20968c299c
Tibalt, Cosmic Impostor - Fixed misspelled card name 2021-02-18 22:27:26 -06:00
jeffwadsworth
0e0ace14b5 - Fixed #7596 2021-02-18 21:40:49 -06:00
Evan Kranzler
8dde735851 fixed an issue with modular keyword and LKI 2021-02-18 13:35:49 -05:00
Evan Kranzler
9426da5ad3 [LRW] added test for Aquitect's Will (partially fails) (#7597) 2021-02-18 09:16:30 -05:00
Evan Kranzler
bb696b4210 fixed implementation of cards which trigger on unblocked attackers 2021-02-15 19:04:17 -05:00
Daniel Bomar
0c65a6fb7e
Implemented updated Cascade ruling 702.84a 2021-02-15 14:11:16 -06:00
Evan Kranzler
a6255402e3 updated language for various user choices 2021-02-15 10:19:43 -05:00
Oleg Agafonov
eb64a7bb73 GUI: fixed broken add lands and random deck dialogs in deck editor (#7562); 2021-02-13 20:26:06 +04:00
Oleg Agafonov
e94fd1b456 Prepare new release 2021-02-13 19:35:26 +04:00
Evan Kranzler
073ec1cdb9 changed collation to strings to allow non-int collector numbers 2021-02-13 09:03:52 -05:00
Evan Kranzler
8a16eda062
Implement new way to generate boosters using box mapping info (WIP) (#7529)
* [THB] added initial common/uncommon collation mechanism

* [THB] added rare/mythic and lands to pack generation

* fixed some card names

* broke out collation into its own separate classes

* built collation into ExpansionSet

* added note about collation information

* [KHM] added collation info

* updated collation to use collector number rather than name

* added shuffle to set constructor

* added some notes on collation methods
2021-02-12 17:35:28 -05:00
Oleg Agafonov
10e557b873 * Performance: memory usage optimization for deck editor (part 2 of removed bloated usage of ManaCosts -> ManaColor objects, see #7515); 2021-02-12 22:12:18 +04:00
Oleg Agafonov
275e996c08 * Performance: memory usage optimization for deck editor (removed bloated usage of ManaCosts -> ManaColor objects, see #7515); 2021-02-12 22:00:16 +04:00
jeffwadsworth
78bae348e8 - Fixed #7544, #7536, #6798 2021-02-11 09:36:45 -06:00
Evan Kranzler
5b02430837 updated ZNR and KHM boosters to use new mythic rare likelihood 2021-02-08 18:44:47 -05:00
Daniel Bomar
0d0d14856a
Fixed flicker effects not working with MDFCs (fixes #7516) 2021-02-08 10:33:38 -06:00
Daniel Bomar
10306787e2
[KHM] Foretell - Remove un-used import 2021-02-08 09:12:57 -06:00
Daniel Bomar
ec01caece1
[KHM] Foretell - Do not show card name in game log (fixes #7522) 2021-02-08 09:09:11 -06:00
Oleg Agafonov
b2b88bf2e8 Improved card icons (fix ambiguous interpretation of vigilance, first and double strikes, #7471); 2021-02-07 23:11:35 +04:00
Oleg Agafonov
cf216c6802 Prepare new release 2021-02-07 22:24:40 +04:00
Oleg Agafonov
0496ea9509 Server: fixed correct game finish on no players in game (rare race conditional); 2021-02-07 04:42:12 +04:00
Oleg Agafonov
0eac8eb530
Merge pull request #7511 from spjspj/master
Final line of jumpstart should be blank
2021-02-07 01:14:17 +01:00
spjspj
6056a6adb4 Final line of jumpstart should be blank or final pack won't be added in to pool. Add a sample (the original jumpstart.txt) file for users to more easily modify if necessary. 2021-02-07 11:05:16 +11:00
Oleg Agafonov
03952ae0d6 [KHC] added tokens and download support; 2021-02-06 20:54:32 +04:00
Oleg Agafonov
f7bc745f10 [KHM] added tokens and download support; 2021-02-06 20:30:19 +04:00
Evan Kranzler
5f80dba107 fixed landwalk abilities counting all lands and not just defending player's (fixes #7427) 2021-02-06 10:40:55 -05:00
Oleg Agafonov
9b8df48183 Improved commander support for mdf/split/adventure cards (additional fixes for ac98a3a31a) 2021-02-06 17:07:10 +04:00
Oleg Agafonov
9416c6140a [KHM] fixed Reidane, God of the Worthy - rollback error on some events check without sourceId; 2021-02-06 13:04:20 +04:00
Oleg Agafonov
ac98a3a31a * Commander: fixed duplicated triggers after play (example: Esika, God of the Tree, see #7501, #7503, #7505); 2021-02-06 10:51:41 +04:00
jeffwadsworth
aa13b06af9 - refactored Ethereal Valkyrie to work with Split/MDFC/Adventure cards as per weirddan455 commit. 2021-02-05 16:37:44 -06:00
Evan Kranzler
ece9108695 [KHM] fixed Orvar, the All-Form triggered ability not working correctly 2021-02-05 11:33:42 -05:00
Daniel Bomar
25f929d70e
[CMR] Imoti, Celebrant of Bounty - Give Cascade to X spells (fixes #7409) 2021-02-05 10:27:55 -06:00
spjspj
7d267061d9
Merge pull request #7499 from spjspj/master
Adding in Jumpstart Elimination Custom Tournament option.  Creator of the table will be able to upload a Jumpstart Pack text file that uses the same format as here: https://github.com/magefree/mage/blob/master/Mage/src/main/resources/jumpstart/jumpstart.txt
2021-02-06 00:57:25 +11:00
spjspj
b64806606c Adding in Jumpstart Custom (requested fixes) 2021-02-06 00:19:36 +11:00
Oleg Agafonov
dc0a29007c Commanders improves:
* [KHM] fixed that some effects can't find mdf commanders on battlefield (example: Fierce Guardianship, #7504);
* Oathbreaker: fixed that some cards that refer to commander can affects signature spells too;
2021-02-05 17:19:30 +04:00
Daniel Bomar
cd9c57fead
[KHM] Dream Devourer - Fixed being unable to cast foretold MDFCs, split cards, and adventure cards (#7498)
* [KHM] Dream Devourer - Fixed being unable to cast foretold MDFCs, split cards, and adventure cards

* [KHM] Dream Devourer - Fixed mana costs and added check for MDFC lands

* [KHM] ForetellAbility - Add text when selecting which half of split card to cast

* Updated test for Dream Devourer
2021-02-04 16:27:51 -06:00
Oleg Agafonov
0de71e0348 * Flashback ability - fixed that split cards shows duplicated abilities in choose dialog (#7500); 2021-02-04 21:55:56 +04:00
Evan Kranzler
bc99de1a48 [KHM] fixed Frostpyre Arcanist being used incorrectly by AI (#7488) 2021-02-04 10:50:10 -05:00
Evan Kranzler
3727e2ea42 small optimization to DoIfCostPaid text generation 2021-02-04 10:18:39 -05:00
Oleg Agafonov
f38639e1db Token's zone change counter (ZCC) improves:
* Now token's zcc uses same logic as card's zcc: enters to battlefield with +1 zcc instead +0 zcc
* It can improve support of copied spells that store zcc related data (bug example: lost kicked status for copied spell/token);
* Kicker abilities - improved support with copied creature spells (example: Verazol, the Split Current, #7431, #7433);
* Refactor: simplified kicker code;
2021-02-04 19:15:54 +04:00
spjspj
1e428105d5 Adding in Jumpstart Custom 2021-02-04 23:55:59 +11:00
Daniel Bomar
978f20a199
[KHM] Tibalt, Cosmic Impostor - Fixed MDFCs not being playable from exile (fixes #7494) 2021-02-03 18:29:23 -06:00
Daniel Bomar
7da65b38b2
Fixed GoadAttachedAbility in a 2 player game (fixes #7466) 2021-02-03 16:00:21 -06:00
jeffwadsworth
1c2f8f4caa - little refactor of Ethereal Valkyrie 2021-02-03 15:21:18 -06:00
Oleg Agafonov
c381ea7716 [KHM] improved Cosima, God of the Voyage - "to the voyage" exile window, user friendly choose dialog, visible counters in exile, AI support (#7248); 2021-02-03 14:59:52 +04:00
Oleg Agafonov
4b9de96a6b Test framework: added support to put mdf cards on battlefield by cheats or unit tests; 2021-02-03 14:23:50 +04:00
Oleg Agafonov
cc03cbbb67 GUI: fixed not working clicks in commander zone for mdf cards (#7489, #7485); 2021-02-03 08:24:00 +04:00
Evan Kranzler
bb1a085962 more text fixes 2021-02-02 16:30:12 -05:00
Evan Kranzler
fbab9f069e some assorted text fixes 2021-02-02 12:41:05 -05:00
Oleg Agafonov
31d134843a * Modal double faces cards - fixed that color identity doesn't contains second side colors; 2021-02-02 20:22:12 +04:00
Oleg Agafonov
10ac8ab86f Fixed toLowerCase usage 2021-02-02 19:38:54 +04:00
Oleg Agafonov
b6f6bac5e0 Refactor: overflow method naming 2021-02-02 19:26:50 +04:00
Oleg Agafonov
2393485320 * Mana increase effects - fixed that some infinite mana combos gives 0 mana on too much permanents/effects (example: Nyxbloom Ancient); 2021-02-02 19:26:49 +04:00
Evan Kranzler
cda79866ad [ZNR] a few text fixes 2021-02-02 10:24:54 -05:00
Evan Kranzler
16450f9952 [ZNC] some text fixes 2021-02-02 10:14:44 -05:00
Oleg Agafonov
50e5809a79 New commander types support:
* [KHM] fixed legendary status of mdf cards (closes #7370, #7404, #7465, #7481);
* Game: added support of split cards as commander (signature spell);
* Game: added support of adventure cards as commander;
* Game: added support of modal double faces cards as commander;
2021-02-02 06:40:49 +04:00
Oleg Agafonov
e941ce108b [KHM] fixed Old-Growth Troll - correct addAbility usage for permanents; 2021-02-02 04:05:38 +04:00
jeffwadsworth
03979f77bb - little refactor of Hero of Bretagard condition 2021-02-01 17:40:33 -06:00
Evan Kranzler
98f1ed0a4c [KHM] made Icy Manalith be snow (#7478) 2021-02-01 15:21:12 -05:00
Evan Kranzler
3b057473bc [KHM] fixed Svella, Ice Shaper token being legendary (fixes #7478) 2021-02-01 15:19:48 -05:00
jeffwadsworth
3b8e67c670 - [KHC] Added Cosmic Intervention, Ethereal Valkyrie, Hero of Bretagard, and Ranar, the Ever-Watchful. 2021-01-31 23:23:55 -06:00
Evan Kranzler
14f7c02b1f [KHM] fixed Codespell Cleric not triggering correctly 2021-01-31 21:26:27 -05:00
Evan Kranzler
df38d7213e [KHC] text fixes 2021-01-31 15:01:02 -05:00
smartinsempere
68613672b1
Fire discard cards event when discarding as a cost (#7436)
Fire discard cards event when discarding as a cost, fixes #7368
2021-01-31 23:03:30 +04:00
Oleg Agafonov
2d96d36ec8 AsThough effects improves and fixes:
* AsThough: added documentation about code usage and restrictions;
* AsThough: added additional checks for correct usage;
* AsThough: simplified some code;
* PlayFromNotOwnHandZoneTargetEffect - added permanents support as targets;
* Release to the Wind - fixed that it can't cast exiled cards (#7415, #7416);
* Test framework: fixed that checkExileCount checking card's owner;
* GUI: fixed typo in Trample card icons;
2021-01-31 22:32:23 +04:00
Evan Kranzler
b8a95765fc fixed a test failure 2021-01-31 13:13:53 -05:00
Evan Kranzler
3a4b0159a9
Add a limit to how many tokens are made (#7469)
* added a simple token limit

* updated implementation of token limit

* added token limit test
2021-01-31 12:55:30 -05:00
Evan Kranzler
7286593c64 some more counter text changes 2021-01-31 11:55:33 -05:00
Evan Kranzler
f76107702f updated counter adding text to handle articles correctly 2021-01-31 11:46:32 -05:00
Evan Kranzler
f9dfb56d4e [KHM] more text fixes 2021-01-31 11:28:44 -05:00
Oleg Agafonov
e5863eb99f [KHM] fixed GreatestSharedCreatureTypeCount's rollback errors; 2021-01-31 06:19:25 +04:00
Evan Kranzler
175e15ff98 updated a test failure fix 2021-01-30 13:37:29 -05:00
Evan Kranzler
4df7bc157c fixed some test failures 2021-01-30 13:21:49 -05:00
Evan Kranzler
bcdaebf3ee fixed some more text 2021-01-30 11:08:35 -05:00
Evan Kranzler
b33bf171f8 changed library searching text to be in line with more cards 2021-01-30 10:28:08 -05:00
Oleg Agafonov
a1da5ef437 * GUI: new reworked GUI and card render engine, card icons and dozens of other fixes (see full list in related PR); 2021-01-30 16:38:55 +04:00
Oleg Agafonov
df98cc3e62 [KHM] foretell improves (related to bc25c3d60a):
* reverted code format of AsThoughEffectType;
 * fixed disabled test;
 * added test for Dream Devourer;
 * simplified some code;
2021-01-30 11:21:51 +04:00
jeffwadsworth
bc25c3d60a - [KHM] Added Cosmos Charger and Dream Devourer. Refactored ForetellAbility to work with Dream Devourer. Text fixes are required in some cases. Ignored a test for foretell. 2021-01-29 20:35:35 -06:00
Evan Kranzler
d5822a7246 [KHM] various text fixes 2021-01-29 17:37:56 -05:00
Evan Kranzler
47f289fb34 [MIR] Implemented Unerring Sling (#7459) 2021-01-29 09:23:42 -05:00
Oleg Agafonov
6f2ce47885 Tests: added verify test for wrong mdash usage and fixed related cards (#7457), added tests for (#7460); 2021-01-29 11:35:13 +04:00
Evan Kranzler
d056f6cec2 [KHM] Implemented Cosima, God of the Voyage 2021-01-28 10:50:14 -05:00
Evan Kranzler
826e509ee6 [KHM] Implemented Wolverine Riders 2021-01-27 10:12:08 -05:00
Jozsef Kerekes
f1bb76b40d
[KHM] Implemented King Narfi's Betrayal (#7446)
* [KHM] Implemented King Narfi's Betrayal

* [KHM] Corrected rules text for King Narfi's Betrayal

* [KHM] Allow adventure cards to go on adventures when exiled with King Narfi's Betrayal

* CanPlayCardControllerEffect - Fixed handling of Adventure/Split Cards

* [KHM] King Narfi's Betrayal - Added null check and fixed rules text

Co-authored-by: Daniel Bomar <dbdaniel42@gmail.com>
2021-01-27 06:40:55 -06:00
Oleg Agafonov
e3db50f111 * Double faces and adventure cards: improved support with some "exile and cast" effects like Hostage Taker (#7446); 2021-01-27 10:13:10 +04:00
Evan Kranzler
a535cb5adc
Refactoring methods which add counters to track which player adds the counters (ready for review) (#7448)
* added parameter for player adding counters to players

* added parameter for player adding counters to cards/permanents

* updated methods to use new parameter

* fixed a few initial errors

* refactored instances of cards that add counters by a player other than the controller

* fixed some instances of incorrect arguments

* refactored abilities that trigger off of a particular player adding counters

* a few more cards that were missed

* [KHM] Implemented Vorinclex, Monstrous Raider

* added test for Vorinclex, Monstrous Raider

* fixed a test failure
2021-01-26 19:06:13 -05:00
Evan Kranzler
4db79ae3c1 [MIR] fixed Jungle Wurm calculating incorrectly (fixes #7449) 2021-01-26 17:05:32 -05:00
Jozsef Kerekes
c5cc99144d
[KHM] Implemented Giant Ox (#7447)
* [KHM] Implemented Giant Ox

* [KHM] Giant Ox rework after review
2021-01-26 15:31:52 -05:00
jeffwadsworth
68f2a3d032 - Added ForetoldWatcher, ForetoldCondition. Added card from
weirddan455 [KHM] Poison the Cup that uses it.
2021-01-26 10:59:46 -06:00
Evan Kranzler
dacf30f4b9
Refactoring subtypes to make Maskwood Nexus work (ready for review) (#7432)
* removed and renamed SubTypeList

* updated subtype test

* refactored Changeling to be an ability that actually does something

* moved isAllCreatureTypes into SubTypes class

* renamed copyTo method to copyFrom

* added removeAllCreatureTypes where usable

* replaced some subtype methods

* replaced some more subtype methods

* replaced subtype mass add/remove methods

* updated more subtype methods

* fixed some errors

* made common shared creature type predicate

* refactored another card involving subtypes

* Added usage of object attribute in subTypes's write operations;

* Refactor: use same param styles in subtype methods

* Refactor: simplified usage of copy appliers;

* Refactor: fixed code usage in CopyApplier

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-01-26 08:52:35 -05:00
Jeff
6f42b90305 - Added another sanity check for Foretell keyword. 2021-01-25 21:32:43 -06:00
jeffwadsworth
3f42d24e2c - Fixed Foretell keyword. #7439 #7442 2021-01-25 14:37:48 -06:00
Jeff
79a2815aef - [KHM} - Added Alrund, God of the Cosmos 2021-01-23 21:26:37 -06:00
Jeff
432f9f5a67 - fixed a null pointer in ForetellAbility 2021-01-23 20:36:47 -06:00
Jeff
99c41d78ad - [KHM] added Foretell keyword ability. Just getting it up here so it can be tweaked. 2021-01-23 12:00:40 -06:00
Daniel Bomar
c5dc43630f
Fixed missing variables in copy constructor 2021-01-22 18:34:10 -06:00
Evan Kranzler
7e7078b0ae [KHM] Implemented Littjara Mirrorlake 2021-01-22 15:55:03 -05:00
Daniel Bomar
c3a862d336
[KHM] Implemented Blood on the Snow (#7428)
* [KHM] Implemented Blood on the Snow

* [KHM] Blood on the Snow - Changed target text

* [KHM] Blood on the Snow - Fixed rule text
2021-01-22 13:43:33 -05:00
Daniel Bomar
a26d9b2fd0
[KHM] Implemented The Raven's Warning (#7425) 2021-01-22 13:13:20 -05:00
Evan Kranzler
ca05fb9253 [KHM] Implemented Codespell Cleric 2021-01-22 12:52:54 -05:00
jeffwadsworth
08da78d184 - fixed Szat's Will. 2021-01-22 10:49:14 -06:00
Evan Kranzler
747c1c096c [KHC] Implemented Lathril, Blade of the Elves 2021-01-22 10:13:22 -05:00
Evan Kranzler
567059ea82 [KHM] Implemented Boreal Outrider 2021-01-21 19:16:04 -05:00
Evan Kranzler
e5344b7a96
Refactoring snow mana to allow tracking how much is spent (Ready for Review) (#7406)
* refactored mana methods to WUBRG order

* more WUBRG refactoring

* added new mana tracking object

* fixed code error

* fixed missing mana count

* fixed null pointer exception in tests

* fixed issue with equality

* more equality fixes

* some cosmetic changes to ManaTest

* added copy method to setToMana

* fixed some initialization issues

* fixed serialization issue

* [KHM] Implemented Search for Glory

* updated mana handling to track snow

* added tests for snow mana tracking

* updated implementation of setter methods

* updated paramater to use copy methods

* fixed snow mana test to ensure proper mana tapping

* replaced instances of getPayment with getUsedManaToPay

* updated tracking of snow mana

* reverted snow mana tracking removal

* finished reverting change
2021-01-21 18:13:51 -05:00
Daniel Bomar
5e4b5239d8
ExileFromGraveCost - Support multiple targets for setTargetPointer 2021-01-21 16:09:45 -06:00
Daniel Bomar
30b3e2e658
[KHM] Implemented Resplendent Marshal (#7419) 2021-01-21 10:40:31 -05:00
Daniel Bomar
be23f19a32
Fixed text for costs starting with "and" 2021-01-20 09:52:02 -06:00
jeffwadsworth
2a23e81e9c - refactor a few parts of Valki, God of Lies and its emblem 2021-01-19 09:28:00 -06:00
Evan Kranzler
2efa8e4356 [KHM] Implemented Svella, Ice Shaper 2021-01-19 09:30:04 -05:00
Evan Kranzler
63c3664629 [KHM] Implemented Crippling Fear 2021-01-19 08:55:34 -05:00
Evan Kranzler
6837a02518 [KHM] Implemented Birgi, God of Storytelling 2021-01-19 08:42:36 -05:00
jeffwadsworth
b750bb93d5 - [KHM] Added Valki, God of Lies 2021-01-18 18:02:48 -06:00
Evan Kranzler
163d7b07fa [KHM] Implemented The Bloodsky Massacre 2021-01-18 08:00:03 -05:00
Evan Kranzler
07b5898bdc [KHM] Implemented Jarl of the Forsaken 2021-01-18 07:10:55 -05:00
ddzn
e05875c7e5
Add detrimental P/T counter types from older sets (#7381)
* Add debuff counter types from older sets

* Make cards use new counter types
2021-01-17 12:59:34 -05:00
Evan Kranzler
e8a15e6491 [KHM] Implemented Immersturm Predator 2021-01-17 11:20:17 -05:00
Daniel Bomar
65aa3e95ec
Refactored 4 exisiting cards to use ExileTopXMayPlayUntilEndOfTurnEffect (#7401) 2021-01-16 16:49:52 -05:00
Evan Kranzler
bc464c5ed4 [KHM] Implemented Ascendant Spirit 2021-01-16 12:39:27 -05:00
Daniel Bomar
4e66d4877c
[KHM] Implemented Tuskeri Firewalker (#7400)
* Refactored ExileTop3 -> ExileTopXMayPlayUntilEndOfTurnEffect

* [KHM] Implemented Tuskeri Firewalker
2021-01-16 12:39:10 -05:00
Daniel Bomar
c510df37e4
[KHM] Implemented Firja's Retribution (#7396) 2021-01-15 17:47:18 -05:00
Daniel Bomar
0168453eed CreateTokenAttachSourceEffect - Remove redundant setText 2021-01-15 18:04:06 +01:00
Daniel Bomar
9165cab00a
[KHM] Implemented Draugr's Helm (#7393)
* [KHM] Implemented Draugr's Helm

* Implemented CreateTokenAttachSourceEffect and refactored existing cards to use it
2021-01-15 09:07:25 -05:00
Evan Kranzler
14651c1816 [KHM] Implemented Fearless Liberator 2021-01-14 18:02:49 -05:00
Evan Kranzler
5105fec8e3 [KHM] Implemented Usher of the Fallen 2021-01-14 17:55:36 -05:00
Evan Kranzler
5d7fc394fd [KHM] Implemented Rune of Flight 2021-01-14 17:14:07 -05:00
Daniel Bomar
69eed4cc2e
Fixed test errors and fixed newlines (#7391)
* Fixed test errors

* Fixed newlines
2021-01-14 16:35:28 -05:00
jeffwadsworth
708a486eb6 - [KHM] Added Withercrown 2021-01-14 10:50:30 -06:00
Evan Kranzler
495bc13078 [KHM] Implemented Duskwielder 2021-01-13 21:02:15 -05:00
Evan Kranzler
c0efada19a [KHM] Implemented Toralf, God of Fury / Toralf's Hammer 2021-01-13 19:32:56 -05:00
Evan Kranzler
e18e3c79d4 [KHM] Implemented Glittering Frost 2021-01-13 18:02:25 -05:00
LevelX2
9fc0e2f25a * Added some trace output for continous effects and triggered abilities. Changed duration of AffinityEffect to WhileOnStack to prevent wrong handling for removement of the effect. 2021-01-13 09:14:29 +01:00
Evan Kranzler
4b2b36cf7d [KHM] Implemented Waking the Trolls 2021-01-12 20:52:12 -05:00
Daniel Bomar
2bd682dcbf
[KHM] Implemented Egon, God of Death (#7377) 2021-01-12 20:49:06 -05:00
Evan Kranzler
8c9d285d80 [KHM] Implemented Rise of the Dread Marn 2021-01-12 17:44:17 -05:00
Evan Kranzler
d515496b6e [KHM] Implemented Skemfar Shadowsage 2021-01-12 17:28:52 -05:00
Oleg Agafonov
2e611b98f6
Merge pull request #7372 from weirddan455/koma
[KHM] Implemented Koma, Cosmos Serpent
2021-01-12 05:21:05 +01:00
Oleg Agafonov
b184fa7842
Merge branch 'master' into tyvar-kell 2021-01-12 01:45:58 +01:00
Oleg Agafonov
6dcbcbe962 Tyvar Kell and gain ability fixes:
* GainAbilityTargetEffect - reworked to support static/dynamic targets, added support of spells (card + related permanent);
* SpellCastControllerTriggeredAbility - now it can setup the target to a card instead a spell;
* Added checks/errors on wrong ability adding code (example: if you add permanent's ability by game state instead permanent's method);
* Tyvar Kell Emblem now use a standard code;
* Test framework: added additional logs for some errors;
2021-01-12 04:41:35 +04:00
Daniel Bomar
ed1133c338
Removed redundant CantBeCounteredAbility (#7373) 2021-01-11 19:28:26 -05:00
Daniel Bomar
efca24d617
[KHM] Implemented Koma, Cosmos Serpent 2021-01-11 18:02:18 -06:00
Daniel Bomar
4f4ea502e1
[KHM] Implemented Eradicator Valkyrie (#7367) 2021-01-10 22:07:18 -05:00
Evan Kranzler
065dc3da0e [KHM] Implemented Maskwood Nexus 2021-01-10 21:33:14 -05:00
Daniel Bomar
e7a557f287
[KHM] Implemented Vega, the Watcher (#7366) 2021-01-10 20:36:32 -05:00
Evan Kranzler
01261575a8 [KHM] Niko Aris 2021-01-10 17:25:17 -05:00
Daniel Bomar
f131fd0d12
[KHM] Tyvar Kell - Added check for zone change counters in emblem effect 2021-01-10 15:30:18 -06:00
Daniel Bomar
6d3e29078c
[KHM] Implemented Tyvar Kell 2021-01-10 14:04:21 -06:00
ciaccona007
1825747b45
[KHM] Implement Esika's Chariot (#7363) 2021-01-10 13:42:18 -05:00
Evan Kranzler
4ea5898360 [KHM] Implemented Replicating Ring 2021-01-10 08:58:39 -05:00
Evan Kranzler
a7b610d59d [KHM] Implemented The Trickster-God's Heist 2021-01-09 16:36:34 -05:00
ciaccona007
bad00742b2
[KHM] Implement Giant's Amulet (#7357) 2021-01-09 16:30:47 -05:00
Oleg Agafonov
6b3de78db8 [KHM] fixed Boast hint's text style (#7341) 2021-01-09 20:22:03 +04:00
Evan Kranzler
36fa356bd0 [KHM] Implemented Koma's Faithful 2021-01-09 11:20:02 -05:00
Evan Kranzler
91c8e1f5b5 [KHM] Implemented Doomskar Oracle 2021-01-09 11:20:01 -05:00
Oleg Agafonov
924663f27e Reverted #7324 2021-01-09 20:10:51 +04:00
Evan Kranzler
bb827eafbf [KHM] added Foretell placeholder ability 2021-01-08 08:49:08 -05:00
Daniel Bomar
0f4d90b871
[KHM] Implemented Varragoth, Bloodsky Sire (#7341)
* [KHM] Implemented Boast mechanic

* BoastAbility - Added author tag

* [KHM] Implemented Varragoth, Bloodsky Sire

* [KHM] Fixup BoastAbility and added BoastHint

* [KHM] BoastAbility - Call super instead of copying code
2021-01-08 08:04:47 -05:00
LevelX2
c67ce93ec4 * Fixed some problems with color changes of cards and spells - e.g. Painter's Servant (fixes #7325 fixes #6487). 2021-01-08 11:03:39 +01:00
Evan Kranzler
f6c70d5d4a [KHM] fixed verify error 2021-01-07 22:02:26 -05:00
Evan Kranzler
dd558970ac fixed text for forecast ability 2021-01-07 19:17:46 -05:00
Evan Kranzler
65ace87a83 [KHM] Implemented Invasion of the Giants 2021-01-06 22:52:19 -05:00
cheeses-fries
d231eb0c23
Fixed other Xs grammar for GainAbilityControlledEffect (#7324) 2021-01-04 15:54:34 -06:00
Daniel Bomar
923cf1e3ac
Allow morph lands to be cast face down at instant speed (#7169) 2021-01-01 11:42:54 -06:00
Daniel Bomar
2e4baeed93
Fixed escape being castable from non graveyard zones ex. Cascade (fixes #7225) (#7319) 2021-01-01 00:21:59 -06:00
weirddan455
57c8094fa1
Fixed rule text on BecomesTappedSourceTriggeredAbility (#7312) 2020-12-29 14:25:10 -05:00
Evan Kranzler
84b32a8ee7 [KHM] Implemented Warchanter Skald 2020-12-28 15:46:34 -05:00
LevelX2
c48a03ddfc Merge origin/master 2020-12-28 18:36:41 +01:00
LevelX2
8098dd690c * Fixed that effects with custom duration are not automatically removed from the game if source permanents leaves the game (fixes #6997). 2020-12-28 18:36:05 +01:00
Oleg Agafonov
ee8d459c8a Additional comment for #7014 2020-12-28 18:36:07 +04:00
LevelX2
dbea1e35eb * Momir format - Fixed that AI turn calculation caused H2 DB errors (fixes #7014). 2020-12-28 15:11:39 +01:00
Oleg Agafonov
aa7226a1af * Archive Trap - fixed that it doesn't apply alternative cost after searched library (#7274); 2020-12-28 07:10:15 +04:00
Oleg Agafonov
ced4f44213 * Halana, Kessig Ranger - fixed that it doesn't do damage on trigger (#7286); 2020-12-28 06:17:35 +04:00
Oleg Agafonov
9c83b3bc11
Merge pull request #7278 from weirddan455/kaya
[KHM] Implemented Kaya the Inexorable
2020-12-27 12:22:24 +01:00
Mike Simons
9a6d520ebc 2020 Commander precon decklists 2020-12-26 20:06:38 -05:00
Oleg Agafonov
46e0bb9473 Fixed player names in some game logs; 2020-12-27 02:00:52 +04:00
Oleg Agafonov
a307e5934f Improved some source related filters in effects:
* Fixed that some cards ignore range of influence or source related filters;
* Improved ChosenSubtypePredicate to work with gain abilities;
2020-12-25 19:06:36 +04:00
Oleg Agafonov
64e948e4b3 * AI: improved game performance by x10 for cards with target amount;
AI: added targeting name and amount info to simulation logs;
AI: removed duplicated target variations from target amount simulations;
2020-12-24 15:02:28 +04:00
Daniel Bomar
0a28963aa3 [KHM] KayaTheInexorableEmblem - Move choices to static 2020-12-23 14:29:03 -06:00
LevelX2
2ce90b1e0a * Fixed that the dies trigger of Ashen Rider also triggers if Ashen Rider is copied by other creatures (e.g. Volrath the Shapestealer) (fixes #7107). 2020-12-23 18:02:00 +01:00
LevelX2
2daa5aae50 * Fixed that AI fired targeting event twice (fixes #7094). 2020-12-23 15:53:55 +01:00
LevelX2
dfa035d9dc * Heartsone - Fixed that mana cost was reduced to less than one mana (fixes #7070). 2020-12-23 13:20:00 +01:00
Oleg Agafonov
dd7c1939d3 * Game: fixed that Snow-Covered lands can be added to auto-generated or submitted/timeout decks (#7222); 2020-12-23 10:26:49 +04:00
Oleg Agafonov
10cf9c4a4e * Genesis Ultimatum - fixed rollback error on usage with modal double faces cards (#7275); 2020-12-23 09:15:04 +04:00
Daniel Bomar
a1318663d6 [KHM] Implemented Kaya the Inexorable 2020-12-22 18:04:43 -06:00
Oleg Agafonov
255c292104 * Deals damage divided as you choose - fixed that some cards can't choose planeswalkers (example: Arc Lightning, see #7276);
Refactor: simplified FilterCreaturePlayerOrPlaneswalker to use single permanent filter;
2020-12-23 02:31:41 +04:00
Oleg Agafonov
347a3b1e1a * Jeweled Lotus - fixed that mana can't be used to cast commanders without normal mana (#7272); 2020-12-22 23:22:41 +04:00
Oleg Agafonov
0ac4a9d87a * Activate spell's ability on the stack - fixed that it can't be activated by humans (example: Lightning Storm); 2020-12-22 17:13:00 +04:00
LevelX2
29184316f2 * Cumulative Upkeep - Fixed that a permanent with CU was wrongly sacrificed if the control of the permanent has changed since CU begin of upkeep trigger was put on the stack. Added tests for CU. 2020-12-21 14:36:22 +01:00
Oleg Agafonov
e02089464f * Offering ability - fixed rollback error on usage with lands; 2020-12-20 16:12:40 +04:00
Oleg Agafonov
a2c046993d * Cards drawn this turn - fixed rollback error on some cards usage; 2020-12-20 14:30:42 +04:00
Oleg Agafonov
cc5fce4256 Prepare new release 2020-12-19 23:59:44 +04:00
Oleg Agafonov
9dd09c970a [CMR] added tokens support, added tokens download 2020-12-19 21:42:31 +04:00
Oleg Agafonov
9f67765e2d [CMR] fixed Armix, Filigree Thrasher - not working card, missing target (#7234); 2020-12-19 18:18:47 +04:00
Oleg Agafonov
1b830032ac * Militant Angel - fixed rollback error on usage (#7239); 2020-12-19 04:48:55 +04:00
Oleg Agafonov
384ff2e7ac * Gain cost modification abilities - fixed that commanders can't be played without full mana (example: gained Affinity by Mycosynth Golem, gained Convoke by Chief Engineer, see #7249 #7171, #6698); 2020-12-18 18:33:44 +04:00
Oleg Agafonov
53c5abea14 Added additional test for #7251;
Added last error info in too many errors game message;
2020-12-18 16:46:05 +04:00
Oleg Agafonov
c13d07b73d [CMR] fixed Rakshasa Debaser - class cast exception in filter on usage; 2020-12-18 15:54:59 +04:00
LevelX2
d39575c24e * Fixed bug in DamagedBatchEvent (fixes #7241). Fixed some spelling in test classes. 2020-12-17 17:39:17 +01:00
LevelX2
991019088f * Bojuka Bog - Fixed card movement to exile missing group movement handling (fixes #7243). 2020-12-17 16:41:22 +01:00
Oleg Agafonov
3f44d9eef3 * Exile card and return it from exile - fixed rollback error on commander creature exile (#7250);
[CMR] fixed PromiseOfTomorrow - not working ability;
2020-12-17 10:07:15 +04:00
Oleg Agafonov
a6f79580d7 * Monarch ability - fixed rollback error on monarch player leaves the game; 2020-12-17 06:58:01 +04:00
Oleg Agafonov
926f5f0621 * Copy spell for each other permanents that it could target - fixed that AI can freeze the game, fixed wrong highlighting; 2020-12-17 06:37:41 +04:00
Oleg Agafonov
a0a1dcb39f * GUI: added additional target arrows to stack objects (now you can see triggered or affected permanents and another related links, see #6918);
* Amulet of Vigor - improved combo support for multi triggers (now you can see triggered land name and chooses stack order, see #6918);
2020-12-17 03:05:58 +04:00
Oleg Agafonov
9c56ff90d3 * Gruul Ragebeast - added your fighting creature name to stack trigger as additional hint and arrow (#6918); 2020-12-16 19:51:05 +04:00
Oleg Agafonov
0c2c33e940 * Kicker abilities - fixed that some cards don't see kicked status of multikicker spells (example: Hallar, the Firefletcher, #4895); 2020-12-15 21:23:09 +04:00
Oleg Agafonov
4d362d7edc * Copy spells - improved combo support with other abilities like Kicker or Entwine (#7192):
* Now ZCC of copied spells syncs with source card or coping spell (allows to keep ability settings that depends on ZCC);
  * Fixed bug that allows to lost kicked status in copied spells after counter the original spell or moves the original card (see #7192);
  * Test framework: improved support of targeting copy or non copy spells on stack;
2020-12-15 20:06:53 +04:00
Oleg Agafonov
c1dfbbda63 Test framework: added support for flip coin tests (command: setFlipCoinResult); 2020-12-14 03:00:38 +04:00
Oleg Agafonov
fde24f349f * Modal Double Faces cards - fixed that it can be returned to battlefield as second side instead the main side only (#7212); 2020-12-14 00:57:30 +04:00
Oleg Agafonov
35f5a8257b Refactor: replaced sourceId by source and introduced source param in some methods (part 2); 2020-12-13 02:01:49 +04:00
Oleg Agafonov
db239a1055 Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
LevelX2
24a7e13806 * Added log messages of battlefield aura placement attached to an object. 2020-12-04 15:41:28 +01:00
Oleg Agafonov
3cef33bd5a * Gain life for the first time each turn - added card hint about conditional; 2020-11-29 00:10:31 +04:00
Oleg Agafonov
c548b3fd1d [CMR] fixed Hellkite Courser - missing command zone support in target (#7198); 2020-11-28 23:14:24 +04:00
Oleg Agafonov
2b78388eab [CMR] fixed Akroma's Will - missing copy of new condition in modes (#7210);
Improved compatibility of new modes condition with choose dialogs and test framework;
2020-11-28 19:49:16 +04:00
Oleg Agafonov
513609b12a * Negan, The Cold Blooded - fixed that it triggers on own creatures instead opponents (#7207); 2020-11-27 14:24:04 +04:00
Oleg Agafonov
31fac18a9b Fixed test 2020-11-25 01:45:37 +04:00
Oleg Agafonov
c2a636e2b2 [CMR] implemented Opposition Agent and other changes:
* You may play cards and you may spend mana of any color - refactored cards to use same code;
* Library search event allows to change searching controller (gives full game control for another player);
* Library searched event allows to remove founded cards from result;
* Improved library searching effects with Panglacial Wurm's effects;
* Little changes to test framework;
2020-11-24 23:49:19 +04:00
LevelX2
13fa98ec44 * Added missing check for damage prevention by protection for planeswalkers (fixes #7194). 2020-11-24 17:33:03 +01:00
LevelX2
137070d523 * Chorus of the Conclave - Fixed a problem with game copy logic (related to rollback and AI) (fixed #7195). 2020-11-24 16:07:53 +01:00
Oleg Agafonov
c1e7a08c68 * Modal Double Faces cards - fixed that a second side can't be played from non hand zones in some cases (#7200);
Play lands from graveyard effect - reworked as AsThoughEffect;
2020-11-23 02:30:54 +04:00
Oleg Agafonov
24e2728fca * Double lands - fixed duplicated choices in choose dialog (#7197); 2020-11-21 12:44:23 +04:00
Oleg Agafonov
39a556f233 * Long-Term Plans and Volrath's Dungeon - fixed that it shows card name in game logs to other players (#7179); 2020-11-18 12:44:58 +04:00
Oleg Agafonov
0fade0ed8c
Merge pull request #7190 from MusaBrt/master
Fixing some dirty codes
2020-11-18 07:28:25 +01:00
MusaBrt
c965a60963
unnecessary boxed boolean 2020-11-18 01:19:54 +03:00
Oleg Agafonov
656653f38b Modal Double Faces cards fixes:
* Fixed that mdf card can duplicate triggers (example: Skyclave Cleric, see #7187);
 * Fixed that mdf card can raise triggers from another side (example: Kazandu Mammoth, see #7180);
2020-11-18 02:04:32 +04:00
Evan Kranzler
01a0d23a55 removed method for preventing library search triggers 2020-11-13 09:40:18 -05:00
Evan Kranzler
2ca3a8a62a updated some more cards with Role Assignment 2020-11-13 09:10:10 -05:00
Evan Kranzler
dfdacfe5de reworked Conflux to use new RoleAssigner class 2020-11-12 22:18:11 -05:00
Evan Kranzler
a6300e30e5 reworked Gaea's Balance, broke out main party count algorithm for more general use 2020-11-12 22:01:07 -05:00
Evan Kranzler
35902ee84a [CMR] more text fixes 2020-11-11 20:37:42 -05:00
Evan Kranzler
d227932ff3 [CMR] various text fixes 2020-11-11 09:08:16 -05:00
Evan Kranzler
067cbabbbc [CMR] fixed Encore ability not sacrificing tokens (fixes #7178) 2020-11-10 20:51:16 -05:00
Evan Kranzler
8b3064fc17 [CMR] Implemented Malcolm, Keen-Eyed Navigator 2020-11-10 20:31:54 -05:00
Oleg Agafonov
ea46afbe62 Prepare new release 2020-11-10 13:11:45 +04:00
Evan Kranzler
17169e0bec [CMR] Implemented Frenzied Saddlebrute 2020-11-08 18:21:58 -05:00
Evan Kranzler
319775c0b4 [CMR] Implemented Benevolent Blessing 2020-11-08 18:06:30 -05:00
Evan Kranzler
b8feae7f3a [CMR] Implemented Liesa, Shroud of Dusk 2020-11-08 17:45:33 -05:00
Evan Kranzler
e387cf3c54 [CMR] Implemented Yurlock of Scorch Thrash 2020-11-08 16:35:12 -05:00
Evan Kranzler
ea83757b41 [CMR] Implemented Jared Carthalion, True Heir 2020-11-07 20:08:27 -05:00
Evan Kranzler
72cb50fce0 [CMR] Implemented Stumpsquall Hydra 2020-11-07 16:31:26 -05:00
Evan Kranzler
2dea1b173d [CMR] Implemented Anointer of Valor 2020-11-07 15:19:57 -05:00
Evan Kranzler
3585853968 [CMR] Implemented Reyav, Master Smith 2020-11-07 12:47:38 -05:00
Oleg Agafonov
cff67085b7 [ZNR] Fixed MDF cards with put to battlefield effects (#7174) 2020-11-07 21:24:59 +04:00
Daniel Bomar
aa2b10c7e5 [CMR] Fix Zara, Renegade Recruiter 2020-11-06 19:49:19 -06:00
Evan Kranzler
bea8549058 [CMR] Implemented Fin-Clade Fugitives 2020-11-06 08:03:41 -05:00
Evan Kranzler
76324b080e [ELD] fixed Midnight Clock error (fixes #7168) 2020-11-06 07:09:31 -05:00
Evan Kranzler
c994b82ce3 [CMR] Implemented Toggo, Goblin Weaponsmith 2020-11-05 09:03:48 -05:00
Oleg Agafonov
8fa0ba1cfd [ZNC] Added images and tokens support/download 2020-11-05 12:55:08 +04:00
Oleg Agafonov
6bc040ef6c [ZNR] Added tokens support and download 2020-11-05 12:22:55 +04:00
Evan Kranzler
0da9751728 [CMR] Implemented Nevinyrral, Urborg Tyrant 2020-11-03 08:37:06 -05:00
Evan Kranzler
9dba89f37d [CMR] Implemented Zara, Renegade Recruiter 2020-11-02 21:47:20 -05:00
Evan Kranzler
fec9da5cfe [CMR] Implemented Jeska's WIll 2020-11-02 09:26:27 -05:00
Evan Kranzler
dc18160af4 [CMR] Implemented Reshape the Earth 2020-11-01 21:59:16 -05:00
Evan Kranzler
de4958a725 [CMR] Implemented Rakshasa Debaser 2020-11-01 17:50:40 -05:00
Evan Kranzler
96092d84bc [CMR] Implemented Jeska, Thrice Reborn 2020-11-01 16:30:07 -05:00
Oleg Agafonov
2f5a8659b6
Merge pull request #7146 from weirddan455/target-text-fix
Targeting interface now says "Select up to one..." when the target is optional (bug #7046).
2020-11-01 10:30:47 +01:00
Oleg Agafonov
b3cc1f49a7
Merge branch 'master' into omniscience-fix 2020-11-01 10:14:50 +01:00
Oleg Agafonov
4893c5b1ac [ZNR] Improved modal double faces cards in GUI (#7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
02e19f0a3f [ZNR] Improved modal double faces cards implementation and more tests (#7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
391d9f09ef * GUI: added card's second side names in choose name dialogs; 2020-11-01 10:03:09 +01:00
Oleg Agafonov
e4c8ba046a [ZNR] Improved modal double faces cards implementation and more tests (#7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
898d271c36 [ZNR] Improved GUI for modal double faces cards (#7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
c60bf3ccef [ZNR] Added images download for modal double faces cards (#7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
a73c9bddae [ZNR] Added all modal double faces cards (#7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
8ac78b4b9e Added modal double faces cards implementation (MDF cards, #7012) 2020-11-01 10:03:09 +01:00
Evan Kranzler
9a7a828c01 [CMR] Implemented Livio, Oathsworn Sentinel 2020-10-31 09:48:54 -04:00
Evan Kranzler
8617bc128e
Fixing issues with Changelings and general problems with creature types (ready to merge) (#7098)
* updated Changelings to use setIsAllCreatureTypes

* updated Dr Julius Jumblemorph and Mistform Ultimus to not use changeling

* added test for Mistform Ultimus

* updated effects which give all creature types to controlled creatures

* updated effects which give all creature types to targeted creatures

* Update LoseAllCreatureTypesTargetEffect.java

* updated effects which give all creature types to attached creatures

* Update EgoErasure.java

* added another test for changelings

* updated two tokens I left out before

* updated hasSubtype

* updated shareCreatureTypes

* fixed an incorrect test

* cleaned up some cards which check for shared creature types

* added new changeling test

* fixed issue with shareCreatureTypes

* fixed a text issue

* added new tests for subtype effects

* various individual card fixes and cleanups

* fixed and updated various effects

* many more fixes

* a few more fixes

* added test for One with the Stars

* added changeling verify test

* updated effects which add additional subtypes

* more miscellaneous fixes

* added additional test

* some fixes for card type checks

* updated methods for adding types to make it easier to avoid duplicates and illegal additions

* small test update

* fixed a recursive loop issue

* fixed another error

* fixed it for real this time

* streamlined type removal process

* streamlined subtype set generation
2020-10-30 22:32:59 -04:00
Evan Kranzler
f234dd47e0 [CMR] Implemented Eligeth, Crossroads Augur 2020-10-30 20:42:06 -04:00
Evan Kranzler
c2e0a5e8e6 [CMR] Implemented Numa, Joraga Chieftain 2020-10-30 19:28:19 -04:00
Evan Kranzler
f76910b827 [CMR] Implemented Krark, the Thumbless 2020-10-29 21:10:12 -04:00
Evan Kranzler
20cc5571e4 [CMR] Implemented Jeweled Lotus 2020-10-29 19:48:39 -04:00
Evan Kranzler
7803d92aa6 [CMR] Implemented Sweet-Gum Recluse 2020-10-29 19:13:03 -04:00
Evan Kranzler
64a49712b2 [CMR] Implemented Ghost of Ramirez DePietro 2020-10-29 18:13:45 -04:00
Evan Kranzler
0c6891e323 [CMR] Implemented Amphin Mutineer 2020-10-29 08:26:40 -04:00
Evan Kranzler
ee03e4e862 [CMR] Implemented Averna, the Chaos Bloom 2020-10-29 08:12:12 -04:00
Daniel Bomar
6380e80a5e Fix adventures not being castable with Omniscience 2020-10-27 13:49:07 -05:00
Evan Kranzler
bce7efb8cf [CMR] Implemented Rebbec, Architect of Ascension 2020-10-27 09:27:39 -04:00
Evan Kranzler
debd8f2b29 [CMR] Implemented Tevesh Szat, Doom of Fools 2020-10-26 22:06:52 -04:00
Evan Kranzler
fcfd569dc6 [CMR] Implemented Phyrexian Triniform 2020-10-26 19:22:47 -04:00
Evan Kranzler
1c4de38b92 fixed some abilities not being properly copiable 2020-10-26 18:18:35 -04:00
weirddan455
b52415b737
Fixed Firesong and Sunspeaker's first ability staying active through Frogify effects (bug# 7137) (#7149) 2020-10-26 09:17:19 -04:00
Daniel Bomar
6b508ecacc Targeting interface now says "Select up to one..." when the target is optional (bug #7046). 2020-10-24 20:38:46 -05:00
Evan Kranzler
a66428b2b6 updated implementation of equipment which use themself in a gained ability 2020-10-22 21:37:03 -04:00
Kyle Boutette
45b84f1e8d Fixes #7126 Introduce and use new lower_name column for card import
Profiling deck import revealed we spend most of the time running sql.
The specific query compared against `lower(name)` which is not under an index.
As a result, importing a deck could be quite slow since we were looking at
every single card in the game.

This change introduces a new indexed column, `lower_name`, and swaps
findCardsCaseInsensitive to run against it.

Optimally, we'd introduce an index here on `lower(name)` to avoid the
unnecessary column. ie,
`CREATE INDEX IF NOT EXISTS lower_name_index ON card (lower(name))`
However, H2 does not currently support indices on expressions.
2020-10-10 20:17:06 -05:00
Evan Kranzler
8c7d7f0b77 [M20] various text fixes 2020-10-08 09:15:38 -04:00
Evan Kranzler
50a0954606 [ELD] various text fixes 2020-10-07 20:57:43 -04:00
Evan Kranzler
6a3240fad3 [ZNR] various text fixes 2020-10-07 20:04:34 -04:00
Evan Kranzler
665528b251 [M21] some more text fixes 2020-10-07 09:28:12 -04:00
Evan Kranzler
524b9fcd44 [M21] various text fixes 2020-10-06 21:12:07 -04:00
Evan Kranzler
5187636672 [THB] various text fixes 2020-10-06 20:12:06 -04:00
Evan Kranzler
d3484ddc5d fixed life payment cost text 2020-10-06 19:53:21 -04:00
Evan Kranzler
57022068d3 fixed cost reduction text 2020-10-06 19:49:45 -04:00
Gösta
f750dc9c42 improved grammar of AddMana* Effects
Fixes #7051
2020-10-02 21:43:31 +02:00
Gösta
6c11d67980 Fixes ChooseCardTypeEffect always showing all card types 2020-10-02 15:45:43 +02:00
Evan Kranzler
042376d146 replaced hacky fix with a better one 2020-09-29 22:44:38 -04:00
Evan Kranzler
3f4698434b fixed random mystery booster test failures 2020-09-29 19:35:32 -04:00
Evan Kranzler
827ffb5fb2 changed how effects are applied for triggered abilities, added test (fixes #7083) 2020-09-29 18:55:51 -04:00
Evan Kranzler
bd5d3954b1 [SLD] Implemented Michonne, Ruthless Survivor 2020-09-28 20:01:10 -04:00
Evan Kranzler
4162c3e5cb [ZNC] fixed Whispersteel Dagger, added test (#7085) 2020-09-28 19:22:30 -04:00
Evan Kranzler
7647a3d8f0
Support for copying permanent spells (WIP, do not merge) (#7084)
* added initial support for permanent tokens

* [ZNR] Implemented Lithoform Engine

* [ZNR] Implemented Verazol, the Split Current

* permanent spell tokens no longer count as created

* small change to token generation

* added test, currently incomplete

* found a potential solution for kicker issue, possibly too much of a hack

* fixed a test failure

* reversed hack changes

* skipped failing tests

* added more tests
2020-09-27 10:54:44 -04:00
Evan Kranzler
0c4350afb1 [ZNR] fixed issue with Ashaya, Soul of the Wild and Kenrith's Transformation (#7046) 2020-09-24 20:39:03 -04:00
Evan Kranzler
40e663e2cf [ZNR] fixed Crawling Barrens giving multiple instances of added subtypes and card types (#7046) 2020-09-24 20:00:58 -04:00
Evan Kranzler
44a8954edf re-implemented O-Kagachi, Vengeful Kami (fixes #7082) 2020-09-23 21:57:44 -04:00
Evan Kranzler
be3834e762 updated implementation of abilities which trigger on gaining life for the first time in a turn 2020-09-23 19:53:09 -04:00
Evan Kranzler
b7e5d44b9d updated implementation of abilities which trigger on the second card in a turn being drawn 2020-09-23 19:52:30 -04:00
Evan Kranzler
f450de0d51 [ZNR] fixed Inscriptions kicker cost text (#7044) 2020-09-23 19:51:44 -04:00
Evan Kranzler
20e7c7cda3 [ZNR] fixed Moraug, Fury of Akoum bugs with combat (#7046) 2020-09-22 18:50:21 -04:00
Evan Kranzler
c7ebb4851f fixed null pointer exception with Pako, Arcane Retriever (fixes #7062) 2020-09-22 17:41:35 -04:00
Evan Kranzler
87b1efa546 [ZNR] fixed Malakir Blood-Priest text 2020-09-21 17:41:28 -04:00
Evan Kranzler
0ca95bb794 [ZNR] fixed Relic Robber text (#7044) 2020-09-21 17:37:18 -04:00
Evan Kranzler
0986a98022 [ZNR] fixed Ancient Greenwarden text (#7044) 2020-09-21 17:18:39 -04:00
Evan Kranzler
45a2532a89 [ZNR] fixed issues with Thieving Skydiver cost limitations and text (#7046) 2020-09-21 17:01:55 -04:00
Evan Kranzler
19344b00a4 [ZNR] fixed Moraug, Fury of Akoum creating extra turns incorrectly (#7046) 2020-09-20 21:31:21 -04:00
LevelX2
0f4cf84d93 * Some code cleanup. 2020-09-18 16:19:03 +02:00
LevelX2
2fec825523 * Some standardisation of dies trigger handling (fixes #7063 Midnight Reaper triggers when dies face down). 2020-09-18 16:15:21 +02:00
Evan Kranzler
42d6faf646 [ZNR] fixed Kargan Intimidator issues (#7046) 2020-09-17 17:10:25 -04:00
Evan Kranzler
9baaa8d214 [ZNR] added small additional fix for mdfc testing 2020-09-17 13:12:10 -04:00
LevelX2
75c4ff7d8e Using unique/special new event type for taking special actions and special mana payment(fixes #6753). 2020-09-17 17:01:59 +02:00
jeffwadsworth
08d9e8cfa0 - Fixed #7031. 2020-09-17 09:41:40 -05:00
LevelX2
1125d9cca1 Added a test. Some mionor changes. 2020-09-17 10:02:08 +02:00
LevelX2
4050631807 Fixed that some AlternativeCostSourceAbilities had no sourceId set. 2020-09-17 10:00:46 +02:00
LevelX2
0a66f1fca0 * Fixed some problems of player restore/rollback. 2020-09-17 08:05:56 +02:00
Evan Kranzler
c11ba5b82a fixed some card type hints (#7050) 2020-09-16 17:16:17 -04:00
Oleg Agafonov
1db8d07cbd * GUI: fixed broken mtgjson decks import (#7065);
Fixed typos in comments;
2020-09-16 02:15:40 +04:00
Evan Kranzler
5da085c975 fixed text formatting on some ability word cards 2020-09-15 15:56:32 -04:00
Evan Kranzler
29b5d15ca1 [ZNR] Implemented Moraug, Fury of Akoum 2020-09-13 09:45:49 -04:00
Oleg Agafonov
c325a6d2f0 Removed unused code (optionalCost); 2020-09-13 10:33:13 +04:00
Oleg Agafonov
6e0c7e868c Additional and alternative costs improved:
* Now player must choose additional costs before ability's modes;
* Fixed broken kicker ability from ZNR (see comments from d4ca287f0f);
* Improved compatibility of additional cost with cost modification effects (fixed that optional multi-costs doesn't affected by cost modification);
* Improved compatibility of additional cost with alternative cost (some cards ignores additional cost on alternative usage, e.g. on play free);
2020-09-13 09:57:17 +04:00
Evan Kranzler
5fa660a1d8 removed some redundant classes 2020-09-12 21:21:57 -04:00
Evan Kranzler
29efa7b067 fixed two small refactor errors 2020-09-12 20:56:46 -04:00
Evan Kranzler
8876d39491 move CounterPredicate to be within CounterType class 2020-09-12 20:48:13 -04:00
Evan Kranzler
3b52b4b833 [ZNR] Implemented Grakmaw, Skyclave Ravager 2020-09-12 18:20:49 -04:00
Evan Kranzler
0369a8dfb4 [ZNR] fixed Jace, Mirror Mage token dying on entry (#7046) 2020-09-12 09:26:44 -04:00
Evan Kranzler
c6e4a309fe updated discard effect to prevent unnecessary choosing from an empty hand (fixes #7064) 2020-09-11 22:34:16 -04:00
Evan Kranzler
5c0e7d6b2e fixed copy constructor for RemoveAllCountersSourceCost 2020-09-10 17:09:00 -04:00
Evan Kranzler
cc946a9148 [ZNR] Implemented Vine Gecko 2020-09-10 16:27:35 -04:00
Evan Kranzler
100c130cec [ZNR] fixed party count including opposing creatures, updated test (fixes #7061) 2020-09-10 12:40:01 -04:00
Evan Kranzler
8d9a62f259 [ZNR] Implemented Coveted Prize 2020-09-10 12:12:13 -04:00
Evan Kranzler
7008392a49 refactored mill effect names 2020-09-10 11:53:11 -04:00
Evan Kranzler
8d89c99f17 refactored cards which remove all counters to use a single class 2020-09-10 10:50:56 -04:00
Evan Kranzler
e6c1d502fc [ZNR] Implemented Myriad Construct 2020-09-09 09:54:46 -04:00
Evan Kranzler
0bf6949328 [ZNR] Implemented Thundering Sparkmage 2020-09-09 09:45:45 -04:00
Evan Kranzler
73f9a82938 [ZNR] small change to modes 2020-09-08 21:29:57 -04:00
Evan Kranzler
661119e462 [ZNR] Implemented Emeria's Call / Emeria, Shattered Skyclave 2020-09-08 17:28:17 -04:00
Oleg Agafonov
615fba5a72 * Explore abilities - fixed wrong ability hint text in some cards like Jadelight Ranger (#6958, #6986); 2020-09-09 01:17:43 +04:00
Evan Kranzler
21454f9b58 [ZNR] Implemented Nahiri's Binding 2020-09-08 11:27:40 -04:00
Evan Kranzler
f1cd9ca881 [ZNR] Implemented Kargan Intimidator 2020-09-08 11:10:48 -04:00
Evan Kranzler
ed65b8dea8 [ZNR] Implemented Inscription of Insight 2020-09-08 10:52:53 -04:00
Evan Kranzler
895453169b [ZNR] Implemented Felidar Retreat 2020-09-08 10:32:42 -04:00
LevelX2
8e465acb11 Primordial Mist - Fixed selection of face down targets (fixes #7045). 2020-09-08 13:14:15 +02:00
Evan Kranzler
ce4073d810 Implemented Skyclave Relic 2020-09-07 21:20:57 -04:00
Evan Kranzler
d4ca287f0f [ZNR] Implemented Inscription of Abundance 2020-09-07 16:29:18 -04:00
Evan Kranzler
9cf96bd391 [ZNR] Implemented Attended Healer 2020-09-07 16:08:19 -04:00
Evan Kranzler
5c78ed49a1 fix small error 2020-09-06 21:41:26 -04:00
Evan Kranzler
a15249f5d1 [ZNR] Implemented Phylath, World Sculptor 2020-09-06 21:11:00 -04:00
Evan Kranzler
5dffa447d1 updated delirium hint (#7050) 2020-09-06 20:20:25 -04:00
Oleg Agafonov
394e88f041 Fixed class names 2020-09-07 00:25:45 +04:00
Oleg Agafonov
01c7ed3e70 [ZNR] fixed text and hint colors (#7047); 2020-09-07 00:22:26 +04:00
Evan Kranzler
f977decf6e [ZNR] Implemented Relic Robber 2020-09-06 15:06:35 -04:00
Evan Kranzler
579e341944 [ZNR] Implemented Coralhelm Chronicler 2020-09-04 16:26:42 -04:00
Evan Kranzler
88f6ea6ee9 [ZNR] Implemented Umara Mystic 2020-09-04 10:36:11 -04:00
Evan Kranzler
d4ca4553d1 fixed a few recursion issues with party count computations 2020-09-03 20:44:24 -04:00
Evan Kranzler
cc0bb84dad
[ZNR] Implemented party mechanic (#7036)
* added incomplete party count implementation

* updated party count implementation

* added party count test

* fixed tests, updated test framework

* added an additional test

* fixed some errors in party count computation, should be good now

* fixed a small error with test generation

* fixed an NPE issue
2020-09-03 19:22:05 -04:00
Evan Kranzler
84609b74e0 fixed some errors in party count computation, should be good now 2020-09-03 18:25:59 -04:00
Oleg Agafonov
535e49b89f Test framework: added aliases support for activated abilities (related to #7036); 2020-09-04 02:18:40 +04:00
Oleg Agafonov
7a1795660a Fixed missing copy fields in CardImpl (morph, modaldfc, art; related to rollback); 2020-09-04 01:29:31 +04:00
Evan Kranzler
e254371f91 updated party count implementation 2020-09-03 16:34:15 -04:00
Evan Kranzler
42e38a4e8a some more changes to modal DFC implementation 2020-09-03 14:06:11 -04:00
Evan Kranzler
db11e2d92e Update CardsInOpponentGraveCondition.java 2020-09-03 13:02:19 -04:00
Evan Kranzler
b54c9449ef [ZNR] Implemented Mind Carver 2020-09-03 10:08:13 -04:00
Evan Kranzler
f9f845cb44 [ZNR] Implemented Prowling Felidar 2020-09-02 15:54:49 -04:00
Evan Kranzler
025a3edf9f [ZNR] Implemented Archpriest of Iona 2020-09-01 22:30:01 -04:00
Evan Kranzler
3a1239ba38 [ZNR] Implemented Spoils of Adventure 2020-09-01 19:49:43 -04:00
Evan Kranzler
73d37f0b70 added incomplete party count implementation 2020-09-01 17:36:40 -04:00
Evan Kranzler
b4c2898b39 [ZNR] Implemented Shepherd of Heroes 2020-09-01 17:30:48 -04:00
jeffwadsworth
34cece1107 - Fixed #7033 2020-08-31 15:38:46 -05:00
LevelX2
61315ec741 * Improved some FixedTarget initializations. 2020-08-31 10:54:59 +02:00
LevelX2
50668a548f * FixedTarget - Added check for missing init of zoneChangeCounter on use of getFirstTargetPermanentOrLKI (this fixes the problem with missing counter for Pelt Collector). 2020-08-31 10:54:08 +02:00
LevelX2
bbf30c6f74
Merge pull request #7026 from acabaca24/branch-for-issue6643
Duplicated code in "return to its owner's hand" effect
2020-08-31 09:18:10 +02:00
André Cabaça
7926c7c7d7
Missing 's' in effect
In the line 'sb.append(" to their owners' hand");' changed "hand" to "hands".
2020-08-31 00:56:30 +01:00
Andre Cabaca
36a3008f4c Optimized "Return to hand" effect text
Signed-off-by: Andre Cabaca <andre.cabaca24@gmail.com>
2020-08-30 12:49:24 +01:00
Andre Cabaca
0f6b8bbe9e Fixing an issue with the "return to its owner's hand" that was duplicating the target text.
Signed-off-by: Andre Cabaca <andre.cabaca24@gmail.com>
2020-08-30 11:54:13 +01:00
Oleg Agafonov
0cad4acf31
Merge pull request #7017 from acabaca24/branch-for-issue6643
Correcting some M21 text issues
2020-08-29 21:34:59 +02:00
Oleg Agafonov
29242ec759 * Monarch designations - improved effects stability after game rollback or in AI games; 2020-08-29 21:21:13 +04:00
Oleg Agafonov
e1c7943636 * God-Eternal dies abilities - fixed rollback error in rare cases 2020-08-29 21:17:06 +04:00
Oleg Agafonov
87d8383eb8 * Undercity Reaches - fixed rollback error on plane's draw trigger 2020-08-29 20:40:02 +04:00
Oleg Agafonov
ede06098e0 Fixed typos in tests and additional refactor 2020-08-29 19:04:26 +04:00
Oleg Agafonov
ab8a4eb26a Little fixes and code refactor 2020-08-29 18:09:44 +04:00
LevelX2
cd5c1c282c * Angel of Jubilation - Fixed possible Null Pointer Exception in Player.canPayLifeCost method (fixed #7019). 2020-08-28 09:26:38 +02:00
Andre Cabaca
c069cf4235 Fixed Caged Zombie in issue #6643
Fixed also cards with the same condition in an activated ability like Skirsdag High Priest

Signed-off-by: Andre Cabaca <andre.cabaca24@gmail.com>
2020-08-27 20:23:41 +01:00
Andre Cabaca
219cfdc583 Fixed BarrinTolarianArchmage oracle in #6643
Fixed all the "return up to one (...) to **their** owners and" to "return up to one (...) to **its** owners and" found in cards like Teferi Time Raveler or Barrin Tolarian Archmage

Signed-off-by: Andre Cabaca <andre.cabaca24@gmail.com>
2020-08-27 20:23:39 +01:00
Evan Kranzler
f4da18df89 [ZNR] Implemented Nahiri, Heir of the Ancients 2020-08-27 12:07:43 -04:00
LevelX2
e32396bbb6
Merge pull request #6991 from acabaca24/equipped_creature_dies_errata
Changed description of "when equipped creature dies"
2020-08-27 08:50:05 +02:00
Evan Kranzler
f1272ee8ac fixed a few more errors 2020-08-26 19:28:12 -04:00
Evan Kranzler
cc84efa017 fixed an error 2020-08-26 18:57:35 -04:00
Evan Kranzler
6903dad861 Implemented Jace, Mirror Mage 2020-08-26 18:48:59 -04:00
Oleg Agafonov
8ce5c7f907 Fixed NPE on game.getState() usage 2020-08-26 13:34:08 +04:00
Oleg Agafonov
cf5b474c29 Fixed NPE on playersList usage 2020-08-25 23:41:41 +04:00
Oleg Agafonov
6fa4c0b8f2 Fixed NPE on playerList.getNext usage 2020-08-25 23:38:51 +04:00
LevelX2
f1d2d2fb22 * Safe Passage - Fixed a problem that damage to player was not prevented (fixes #6995). 2020-08-25 16:30:48 +02:00
LevelX2
6b4336a00a * Fixed some tooltip rule texts. 2020-08-24 22:45:54 +02:00
LevelX2
bd413d2749 * Workaround for StackOverflowError #6994. Don't know yet why the loop happens - why the LookAtTopCardOfLibraryAnyTimeEffect is called during mana calculation.. 2020-08-24 16:53:08 +02:00
LevelX2
dc45aaf02c * Fixed possible null pointer exception. 2020-08-24 16:50:29 +02:00
LevelX2
234fabb81e * Fixed that frame color of lands is set again to their mana colors in non game contect like editor. 2020-08-24 14:15:36 +02:00
LevelX2
b7d86a71da * Made choose a card name choices mandatory (not selecting a name could cause null pointer exceptions e.g. Meddling Mage). 2020-08-23 12:14:13 +02:00
Oleg Agafonov
920697d2e5 Prepare new release 2020-08-23 01:52:55 +04:00
Oleg Agafonov
4e174e25be Merge fix 2020-08-22 19:21:25 +04:00
Oleg Agafonov
1b430e5d99 Added verify test to check missing second face cards in sets, fixed missing cards; 2020-08-22 18:48:15 +04:00
Oleg Agafonov
7aac355f4a Tests: added many verify checks for missing cards, names, numbers, download settings:
* check wrong card numbers in sets;
* check missing cards from set;
* check wrong full art settings;
* check missing and unknown sets in scryfall download settings;
* check missing and unknown direct download links in scryfall download settings;
* improved ability text check results;
* removed unused tests for word checks;
2020-08-22 15:16:30 +04:00
Oleg Agafonov
b083dd48e6 Fixed wrong card numbers, names and missing reprints in sets 2020-08-22 15:03:40 +04:00
LevelX2
c16fb75668 * replaces all [source} by {this}. ATTENTION !!!: Only supporting [this} from now on in rule text. 2020-08-22 12:52:49 +02:00
LevelX2
d51acbf090 * Removed unused imports. 2020-08-22 11:51:34 +02:00
LevelX2
90c6637dc2 * Implemeented consumable flag for asThoughtEffects and a player choice which effect to use if multiple consumable effects allow the same action. 2020-08-21 21:24:42 +02:00
Andre Cabaca
90cc44cacf Changed DiesAttachedTriggeredAbility.java to check if description has "equipped", if so, writes "Whenever" instead of "When"
resolves#6990
and fixes Malefic Scythe in #6643

Signed-off-by: Andre Cabaca <andre.cabaca24@gmail.com>
2020-08-21 17:23:39 +01:00
LevelX2
8105d8b26c * Improved handling of asThoughtAs approval by abilities that allows a clear and easy assignment of the approving effect. 2020-08-21 14:58:22 +02:00
LevelX2
783239e79e * Aminatou's Augury - Fixed that spells in exile where not shown as castable and that AI usage prevented casting of multiple spells from exile (fixes #6987). 2020-08-20 16:48:13 +02:00
LevelX2
22e6fee101 * Fixed a bug that non permanent cards could be moved to battlefield instead of staying in the zone they are. 2020-08-18 19:02:15 +02:00
LevelX2
c19af65431 * Added calculation of mana sources of hand cards (related to #6698). 2020-08-18 14:52:26 +02:00
LevelX2
818952bf2d * Fixed a bug that prevented to show cards as playable if castable by alternateSourceCosts (fixes Dream Halls problem related to #6698). 2020-08-18 14:00:06 +02:00
LevelX2
c48331f216 * Doubling Cube - Added support for possible mana calculation (related to #6698). 2020-08-18 00:22:53 +02:00
Oleg Agafonov
486c0d7c2c GUI: added problem cards selection on legality label clicks (#6854) 2020-08-17 05:15:31 +04:00
Oleg Agafonov
a4af5501f9 * If you control a commander - added card hints; 2020-08-17 04:03:54 +04:00
Oleg Agafonov
fcaacd8c1e GUI: deck legality improves:
* Fixed wrong sorting;
 * Added tooltip errors limit (#6854);
 * Added tooltip size restrictions (#6854);
2020-08-17 02:55:51 +04:00
LevelX2
768f1bec4f * Fixed available mana calculation for Cryptic Trilobite and Titans' Nest. Added some improvements for available mana calculation of conditional mana. 2020-08-16 01:16:52 +02:00
Erik
3d989b24ac
Text corrections from issue #6654 (WIP) (#6707)
* Collective restraint typo fix

* set text for EndlessSwarm. Add starts with vowel cond case to CountersSourceEffect

* Teferi's Curse, added text option to GainAbilityAttachEffect

* added set text to several cards. Implement reviewer suggestions in GainAbilityAttachedEffect

* Remove period from rule text (undo my lazy coding fix)
2020-08-16 00:55:59 +04:00
Thomas Winwood
81e348360c Fix a bunch of card text errors (magefree#6643) 2020-08-15 23:56:53 +04:00
Evan Kranzler
8240e956dc updated historic legality implementation 2020-08-15 14:03:11 -04:00
htrajan
6bfa212bf3 add Amonkhet Remastered 2020-08-15 00:27:09 -07:00
Oleg Agafonov
d8c9d10066 * Do if cost paid - fixed that some cards asks player about pay two times (fixed ~30 cards); 2020-08-14 16:36:00 +04:00
Oleg Agafonov
61bfdf8108 Tests: added verify check for wrong optional settings on DoIfCostPaid usage; 2020-08-14 16:22:34 +04:00
Oleg Agafonov
9dc3d514bd * Do if cost paid - added logs message if the player decided to pay the cost; 2020-08-14 15:57:47 +04:00
LevelX2
27b5c920f7 * Offering - Fixed handling of hybrid mana in casting costs of offered creatures (fixes #6961). 2020-08-14 10:25:47 +02:00
jeffwadsworth
0cda2d9635 - Fixed #6889 2020-08-13 16:35:24 -05:00
jeffwadsworth
f795e7649f - Fixed #6959 2020-08-12 17:09:07 -05:00
LevelX2
cc684ad6bb Merge origin/master 2020-08-12 16:26:52 +02:00
LevelX2
3e498e23e6 * Offering ability - Fixed use in available mana calculation (related to #6698). 2020-08-12 16:26:22 +02:00
jeffwadsworth
79592d2b0a - Fixed #6861 2020-08-12 09:24:40 -05:00
LevelX2
6a65e5bb23 * Mana Clash - Fixed use in available mana calculation (related to #6698). 2020-08-12 13:58:06 +02:00
jeffwadsworth
36468044f4 - Fixed #6946 2020-08-11 21:56:49 -05:00
jeffwadsworth
f0149c6a19 - Added Pretender's Claim and Unnatural Hunger 2020-08-11 18:13:30 -05:00
jeffwadsworth
3d0cd99655 - Refactor EnchantedCreatureBlockedTriggeredAbility to BecomesBlockedAttachedTriggeredAbility 2020-08-11 08:26:47 -05:00
jeffwadsworth
d3ba7d4dd5 - Added Righteous Indignation and Insubordination 2020-08-10 17:13:00 -05:00
LevelX2
9abbdae032 Merge origin/master 2020-08-10 21:12:34 +02:00
LevelX2
973c19c81f * Fixed possible game exception with empty library and commander movement (fixes #6952). 2020-08-10 21:12:12 +02:00
jeffwadsworth
3b90c48c75 - Refactored BlocksTriggeredAbility to BlocksSourceTriggeredAbility 2020-08-10 11:49:03 -05:00
LevelX2
12c50420bf * Fixed possible game exception with empty library and commander movement (fixes #6952). 2020-08-10 17:25:48 +02:00
Oleg Agafonov
b16d30b79b
Merge pull request #6190 from luziferius/refactor_promo_sets
[RFC] Refactor promo sets, add missing sets as listed on Scryfall
2020-08-10 16:57:00 +02:00
Oleg Agafonov
ad6797d3c0 GUI: added more error checks while import/load deck file; 2020-08-08 23:12:06 +04:00
Oleg Agafonov
c5d7a3e9f9 * GUI: added auto-fix for deck files on usage (if deck contains wrong card numbers then it will be fixed and saved automaticity); 2020-08-08 21:27:20 +04:00
Oleg Agafonov
66a8994318 Tests: added sets implementation statistics in test_checkMissingSets 2020-08-08 14:02:28 +04:00
Oleg Agafonov
7599acf1c8 Removed duplicated sets that was split into multiple (Champs, Game Day, Launch Party, Media Inserts, Super Series) 2020-08-08 11:00:07 +04:00
LevelX2
fcf27e55d6 * Archetype cards - Fixed layer to interact correctly with ability adding/removing continuous effects. 2020-08-07 22:52:45 +02:00
jeffwadsworth
2abeb43449 - Added Port Inspector and Robber Fly 2020-08-07 15:36:43 -05:00
LevelX2
457557852e * Benthic Explorer - Fixed mana type calculation.
* DynamicManaEffect - Fixed mana type calculation.
Some code clean up.
2020-08-07 17:15:06 +02:00
LevelX2
66d5b915db * Some code clean up. 2020-08-07 15:08:19 +02:00
Oleg Agafonov
9e6a348cb1
Merge branch 'master' into refactor_promo_sets 2020-08-07 02:48:40 +02:00
jeffwadsworth
bfa54c3418 - Fixed #6872. ¯\_(ツ)_/¯ 2020-08-06 16:06:48 -05:00
Oleg Agafonov
83f7ae377a Refactored restore state code, added additional error check for mana undo param; 2020-08-06 22:17:37 +04:00
Oleg Agafonov
2eeefd91ef Added additional test for prevent damage effects, improved 3358e2da80 (#6915) 2020-08-06 21:16:59 +04:00
jeffwadsworth
bfbb76fcf1 - Fixed #6935 2020-08-04 14:55:25 -05:00
jeffwadsworth
c3de6bf8a0 - Fixed #6919. Fixed other cards with the same issue. 2020-08-04 14:15:50 -05:00
Oleg Agafonov
2a7ac3fc9e Additional to #6937 2020-08-04 22:39:12 +04:00
Oleg Agafonov
bb148c9cb5 * Special mana abilities: fixed that it can be used to skip card's mana payments (#6937); 2020-08-04 22:09:57 +04:00
Oleg Agafonov
3430013f8d * Server: fixed that too much permanents or mana sources on battlefield can crush or slow down the server (#6938); 2020-08-04 05:36:43 +04:00
LevelX2
985d4205bf * Harvest Mage - Fixed available mana generation (#6698). 2020-08-03 21:26:47 +02:00
LevelX2
244cf2a1e9 * K'rrik, Son of Yawgmoth - Fixe phyrexian mana like payment of mana costs (closes #6928 related to #6698). 2020-08-03 19:17:07 +02:00
LevelX2
cbc1c02cde * Fixed bug that caused some tests to fail introduced with 67dd45c1c7. 2020-08-03 08:32:26 +02:00
Oleg Agafonov
e95b9f145c GUI: deck legality improves:
* Added partly valid status for deck legality panel (if all cards are fine but user must add more cards to complete, see #6854);
 * Improved legality errors sorting (important errors visible at the top now, e.g. commander's errors);
2020-08-03 02:03:54 +04:00
Oleg Agafonov
309b3f5636 GUI: deck legality and themes improves:
* Improved formats list in deck legality panel (#6854);
 * Added hide button to deck legality panel (#6854);
 * Fixed themes names and added theme info in startup logs;
2020-08-03 00:07:13 +04:00
Oleg Agafonov
00411b4a9b * Regeneration abilities improved:
* Fixed that regeneration shield isn't added to permanent on aura sacrifice cost (example: Stamina, Carapace, see #2221);
 * Fixed that regeneration shields accumulated in attached aura instead permanent (bug example: re-attached aura gives old shields to new permanent, see #6846);
 * Added card hint with regeneration shields amount (#6846);
2020-08-02 14:01:58 +04:00
LevelX2
516a4104f1 * Treasonous Ogre - Fixed available mana generation (#6698). 2020-08-02 11:34:19 +02:00
LevelX2
67dd45c1c7 * Added getProducableManaTypes method for mana effects to handle Squandered Resources or Reflecting Pool like abilities.
* Fixes to Soldevi Adnate, Skirge Familiar, Mana Web.
2020-08-02 10:51:22 +02:00
jeffwadsworth
121e1043ab - RegenerateSourceEffect() will now be discarded if the source permanent is blinked or changes zone. 2020-08-01 16:12:58 -05:00
jeffwadsworth
2a35f833a7 - RegenerateSourceEffect() will now be discarded if the source permanent is blinked or changes zone. 2020-08-01 16:11:55 -05:00
Oleg Agafonov
c7595ca476 * Regeneration abilities - added card hint about activated and used regeneration; 2020-08-01 21:29:08 +04:00
Oleg Agafonov
4ba7c18d43 * Discard cost - added hint text in card choose dialog about discard; 2020-08-01 21:07:37 +04:00
LevelX2
c343767e8e * Fixed available mana generation of Jungle Patrol (was no mana ability) and Priest of Yawgmoth (#6698). 2020-07-31 13:53:07 +02:00
LevelX2
06968ad921 * Fixed a problem of available mana generation caused by order of usage of mana sourced with costs (example Coal Golem and then Dromar's Attendant - related to #6698). 2020-07-30 23:37:04 +02:00
Oleg Agafonov
8e929d4e9d Fixed not working cost modification effects in get playable calcs from some cards (#6684):
* Kasmina, Enigmatic Mentor
* Kopala, Warden of Waves
* Monastery Siege
* Senator Lott Dod
* Terror of the Peaks
2020-07-30 22:06:12 +04:00
Oleg Agafonov
0824d2901a * Transform abilities - fixed duplicated triggered abilities from transformed permanents;
* Accursed Witch // Infectious Curse - fixed wrong cost modification effect (#6684);
2020-07-30 12:13:32 +04:00
LevelX2
7cfe39ae21 * Fixed that not all Equip abilities were correctly identified for abilities that changed Equip timig (e.g. Leonin Shikari - fixes #6907). 2020-07-29 16:16:47 +02:00
LevelX2
ffa837ae95 * Angel of Jubilation - Fixed that it did not only prevent life payment from casting spells or activating abilities (fixes #3663). 2020-07-29 14:48:14 +02:00
LevelX2
307d4a6283 Merge origin/master 2020-07-28 16:31:46 +02:00
LevelX2
9903944804 * Reworked retrieving spell characteristics (related to 98ebcc07ca). 2020-07-28 16:29:44 +02:00
Oleg Agafonov
a5a5256cff Code cleanup 2020-07-28 18:15:32 +04:00
LevelX2
0458778c44 * Fixed bug of Druids Repository (related to b5c93cf2da), 2020-07-28 13:28:24 +02:00
Oleg Agafonov
fdc32f891e * Raid abilities - added card hints about raid condition, fixed missing ability words; 2020-07-28 04:25:43 +04:00
LevelX2
b5c93cf2da * Fixed available mana generation of Druids Repository, Workhouse, Iceberg, Krak Clan Ironworks, Rasputin Dreamweaver and Sirk Prospector (#6698). 2020-07-28 01:03:33 +02:00
LevelX2
82a9726a35 * Fixed available mana generation of Virdian Joiner (#6698). 2020-07-27 23:50:07 +02:00
LevelX2
82dfd76ee3 * Fervent Champion - Fixed that it's possible to equip the Champion also without having the regular mana (#6698). 2020-07-27 22:27:11 +02:00
LevelX2
6e68e038b6 * Bartered Cow - Fixed that it does nothing when discarded (fixes #6884). 2020-07-27 21:47:31 +02:00
Oleg Agafonov
96155ec799 Cheat engine: fixed that it doesn't init effects and other staff from battlefield permanents (#6888); 2020-07-27 20:46:21 +04:00
LevelX2
7a78be8c6a * Some target pointer changes and code clean up. 2020-07-26 00:16:14 +02:00
LevelX2
85d18899b1 * Fixed a problem that conditional mana could not be correctly used with AsThoughEffects (fixes #6880). 2020-07-25 22:11:30 +02:00
Oleg Agafonov
3abe5e796a Server: removed unnecessary logs, extra comments 2020-07-25 19:06:38 +04:00
Oleg Agafonov
848c5b6052 Fixed missing watchers from DelayedTriggeredAbility:
* Planeswalkers Mischief - fixed rollback error on play;
* Psychic Theft - fixed rollback error on play;
2020-07-25 19:01:49 +04:00
Oleg Agafonov
32b7c592c8 * Sanguine Indulgence - fixed rollback error on play, fixed card text (#6643); 2020-07-25 17:26:10 +04:00
Oleg Agafonov
043785b1d1 * Metalcraft abilities - added card hints about artifacts count, fixed missing ability word; 2020-07-25 05:40:59 +04:00
Oleg Agafonov
97c427375d Fixed face down cost modification (related to 653a2dd7b2) 2020-07-24 21:30:03 +04:00
LevelX2
4d43914673 * Morselhoarder - Fixed calculation of available mana and some cleanup to other mana abilities (#6698). 2020-07-24 16:41:36 +02:00
LevelX2
98ebcc07ca * Fixed spell cost reduction for bestow not working during calculation of castable spells (#6698). 2020-07-24 16:04:52 +02:00
LevelX2
653a2dd7b2 * Available mana calculation - Fixed a problem with repeatable mana converting abilities (e.g. Farrelite Priest) that were only considered once (#6698). 2020-07-24 12:06:14 +02:00
LevelX2
329352f36b Hunters' Feast - Fixed rule text (fixes #6878). 2020-07-23 12:22:07 +02:00
LevelX2
b965bddf92 * Oathbreaker: Signature spell did not return to command zone if exiled (fixes #6870). 2020-07-21 23:46:55 +02:00
LevelX2
d721c0bea3 * Commander state-based action -Fixed that commander movement did not always work correctly after rollback (#6866). 2020-07-20 22:22:20 +02:00
LevelX2
5cb950e53f * Basri's Lieutenant - Fixed that it created also the token if Lieutenant dies without a +1/+1 token (fixes #6863). 2020-07-20 10:35:36 +02:00
jeffwadsworth
048ce3f2a7 - Fixed #6326 2020-07-18 11:01:53 -05:00
bubba
c84a913858 - Fixed #6326 2020-07-18 11:01:03 -05:00
LevelX2
5decfa3964 * Traumatize, Bond of Insights, Enter The God-Etrenals and Flint Golem - Changed to mill method. 2020-07-18 17:27:15 +02:00
LevelX2
ba31b956dc * Meld Keyword - Fixed that the melt status was not correctly handled related to rollbacks or AI game simulation (fixes #6723). 2020-07-18 16:33:28 +02:00
LevelX2
a2ae232b43 * Fixed some corner cases for Worl Enchantment State-Based actions (704.5k). 2020-07-18 12:23:19 +02:00
18ths
99d5eafc8a
GUI enchancements (themes, sound notification, deck validation) (#6755)
GUI enchancements (themes, sound notification, deck validation)
2020-07-17 19:15:02 +02:00
LevelX2
621d8c188d * Reworked rollback handling - possible fix for #2072 #5383, #4309 and fixes #5883, fixes #1983, fixes #5917. 2020-07-17 17:42:49 +02:00
LevelX2
e4ae2f3fec * Fixed Rollback UI bug with ManaPool's autoPayment and autoPaymentRestricted (fixes #5002). 2020-07-16 23:56:43 +02:00
LevelX2
23087e6c23 * Used ManaOptions to calculate possible mana combinations (related to comment of 7ad7d5f03d). 2020-07-16 22:56:33 +02:00
LevelX2
3a82840e66 * Fixed some more available mana calculation problems. Mana of the pool is now taken into account (e.g. Coal Golem problem). Crucible of the Spirit Dragon - Conditional mana curretnly not handled correctly in available mana calculation. Crystalline Crawler works now.Related to #6698. 2020-07-16 22:37:51 +02:00
18ths
ddf007e6f1 Removed redundant Living End effect. Fixes #6385 2020-07-16 16:56:12 +02:00
LevelX2
7ad7d5f03d * Fixed available mana generation for Caged Sun and storage lands (e.g. Calciform Pools) related to #6698. 2020-07-16 12:44:01 +02:00
LevelX2
b0cd69bb08 * Fixed missing imports of aad36dda19 commit. 2020-07-15 00:48:19 +02:00
LevelX2
083c4bc5d4 * Reworked some card movement to player methods (#4866). 2020-07-15 00:42:08 +02:00
LevelX2
aad36dda19 * Fixed possible problem with setting of the spellAbility during card copies (related to eecaa232f5). 2020-07-14 23:18:47 +02:00
LevelX2
24098bf8cc Merge origin/master 2020-07-14 23:06:35 +02:00
LevelX2
49ab4e0992 * Fixed possible problem with setting of the spellAbility during card copies (related to eecaa232f5). 2020-07-14 23:06:03 +02:00
jeffwadsworth
bfb7a1a24d - Fixed #6838 2020-07-14 15:49:30 -05:00
LevelX2
eecaa232f5 * Fixed a problem where for copies of cards/permanent the included spell ability was not correctly copied and the copied card had the spell ability twice. That could cause in some rare cases problems with spell ids of copies (this fixes #6824) or did allow on the other side some unproper handling of things (Animate Dead). 2020-07-14 21:28:45 +02:00
jeffwadsworth
2e0be17494 - small Refactor 2020-07-14 08:20:31 -05:00
jeffwadsworth
335acd4375 - Fixed #6832 2020-07-13 23:32:18 -05:00
jeffwadsworth
8818a12b6e - Fixed #6834 2020-07-13 16:54:08 -05:00
jeffwadsworth
a7b2c81db6 - Fixed #6834 2020-07-13 15:51:17 -05:00
LevelX2
f3fafbdb14 * Fixed that choose opponent was handled targeted but shouldn't (e.g.used for Stalking Leonin) fixed #6836. 2020-07-13 17:13:30 +02:00
Oleg Agafonov
362352954b
Merge pull request #6830 from magefree/Add-historic2
Add Historic format and Historic Anthologies
2020-07-13 15:37:52 +02:00
LevelX2
c6c1b0ed3a * Fixed a bug that by countering a copied spell (e.g. by copied Memory Lapse), the copy could be removed from stack instead the originally countered spell (fixes #6823). 2020-07-13 11:23:36 +02:00
LevelX2
1cdb715d92 * Fixed a problem how the color of mana paid from mana pool was recognized that could made problems to count the number of different colors used to pay a spell with convergence (e.g. if the mana was created with Cascading Cataracts) fixes #3816. 2020-07-13 00:10:09 +02:00
LevelX2
49d94cb84f * Crystalline Resonance - fixed that the duration of the copy effect erroneously didn't end on the next turn of the controller (fixes #6825). 2020-07-12 09:25:34 +02:00
LevelX2
31163eec6d * Fixed that mana sources that produce any mana type that other sources produce (e.g. Reflecting Pool) could erroneously produce colorless mana from mana sources that could only produce any color mana (fixes #6814). 2020-07-12 08:50:56 +02:00
Oleg Agafonov
219ab89bcc Fixed test 2020-07-11 21:03:32 +04:00
LevelX2
81e5650972 * Fixed calcultion of available mana for Goblin Clearcutter, Seton Krosan Protector, Urza, Lord High Artificer, Heritage Druid, Birchlore Ranger and Grand architect. 2020-07-11 16:43:38 +02:00
mikalinn777
bf293ca939 Add Historic format and Historic Anthologies 2020-07-11 12:06:01 +02:00
LevelX2
89249888b5 * Added handling of triggered mana to available mana calculation (fixes #585). 2020-07-11 00:53:47 +02:00
Oleg Agafonov
1cf57e0840 Fixed that AI can't play games in Jumptstart tourneys 2020-07-10 17:40:59 +04:00
Oleg Agafonov
c4f028ffa0 Prepare new release 2020-07-10 16:50:38 +04:00
Oleg Agafonov
06b6e482a0 * Exile and return to battlefield - fixed that some cards can return commander from command zone but they shouldn't (example: Cloudshift, Conjurer's Closet, see #5151, #5278); 2020-07-10 14:37:46 +04:00
LevelX2
40b7d723ef * Some minor code clean up and a test. 2020-07-10 09:06:25 +02:00
arcox
9c7982e8f6 Update *.sh and *.java files to use Unix line endings 2020-07-09 13:07:26 -04:00
jeffwadsworth
a6d03c925f - Fixed #6806 2020-07-09 11:10:28 -05:00
Oleg Agafonov
6c3162f140 Optimized sql for deck editor 2020-07-09 03:08:44 +04:00
Oleg Agafonov
99ceeb5076 Tokens improves:
* [M21] added tokens;
 * [M21] added tokens download support;
 * Fixed wrong images for some tokens (Angel, Beast, Bird, Cat, etc);
2020-07-09 02:38:37 +04:00
18ths
543ac206be Added hint to monstrous. Fixes #6765 2020-07-07 17:57:25 +02:00
Oleg Agafonov
ecaa5a5b42 Eon Frolicker - fixed rollback error on play (#6780); 2020-07-07 06:32:46 +04:00
Oleg Agafonov
55f2893fc4 * AI: fixed that computer can cancel "target player or planeswalker" spells on bad effects (can't choose himself); 2020-07-07 06:31:06 +04:00
Evan Kranzler
ff54141e97 fixed Chevill, Bane of Monsters not triggering off of planeswalkers dying 2020-07-06 19:22:04 -04:00
Oleg Agafonov
802aca942a Play card without mana cost - fixed that AI and other players can play cards without additional cost in some use cases (#6760); 2020-07-06 21:06:49 +04:00
jeffwadsworth
29eb93ad15 - Fixed #6781 2020-07-06 11:50:40 -05:00
LevelX2
2f77d1d14c * Fixed that Offering ability did not work from command zone (fixes #4909). 2020-07-06 15:15:02 +02:00
Oleg Agafonov
d1ccb621a1 * Bolas's Citadel - fixed that opponent can use Bolas's play ability for own cards (#6741); 2020-07-06 15:44:31 +04:00
Oleg Agafonov
49f4e54aaa * Amplify abilities - fixed that it allows reveal itself when put onto battlefield from hand (#6776); 2020-07-06 15:29:53 +04:00
Oleg Agafonov
4168e2714a Controlled spells gain ability -- fixed that gained cost modification effects doesn't allow to cast cards without mana (example: Inspiring Statuary, see #6698); 2020-07-06 11:17:09 +04:00
Oleg Agafonov
1e744a0aae Alternative cost - fixed that it doesn't allow to cast cards that was affected by cost modification effects (example: Prowl ability, see #6698); 2020-07-05 23:11:47 +04:00
Oleg Agafonov
f9a9a55f7b Cloud Key - fixed that it doesn't allow to cast cards without full mana available (#6698); 2020-07-05 19:39:05 +04:00
Oleg Agafonov
69d8fd1898 Battlefield Thaumaturge - fixed that it doesn't allow to cast spells without full available mana (#6698); 2020-07-05 01:08:43 +04:00
LevelX2
68f4d67600 * Fixed a problem with mana sources that blocked casting spells because their available mana calculation caused return of no available mana (Chrome Mox, Mox Amber #6698). 2020-07-03 15:31:16 +02:00
LevelX2
e937999b96 * Release to the Wind - Fixed that it doesn't let you cast the cards it exiles (fixes #6758). 2020-07-03 14:54:08 +02:00
LevelX2
299e664191 * Kestia, the Cultivator - Fixed bestow from the Command Zone doesn't attach her to the creature you target (fixes #6763). 2020-07-03 13:17:04 +02:00
htrajan
91571df264
[M21] Fix castability and selectability of EnthrallingHold (#6773) 2020-07-03 07:16:31 +04:00
Evan Kranzler
e471fef399 fixed a potential exception 2020-07-02 22:51:31 -04:00
Evan Kranzler
509bd39244 fixed Neyith of the Dire Hunt not working with cards that cause creatures to become blocked 2020-07-02 18:46:12 -04:00
Oleg Agafonov
e69a021c71 Fixed missing locale param in string operations (#4634) 2020-07-03 02:00:58 +04:00
Oleg Agafonov
da4a44445b Additional fixes for #6771 (modal spells resolve order) 2020-07-03 01:46:05 +04:00
Oleg Agafonov
6dccaee9a4 Ghostfire Blade - fixed that it can't be played without full available mana (#6698); 2020-07-02 20:37:59 +04:00
LevelX2
2a31e8063b * Spells with multiple modes resolve in the order the modes are added on the card (fixes #6771). 2020-07-02 17:23:00 +02:00
LevelX2
84370ee5ab * Allow to addd hint texts to stack abilities. Swicthed to html text format for text box of stack abilites. 2020-07-02 00:53:46 +02:00
Oleg Agafonov
f409f56c05 Potential game freeze fix 2020-07-02 01:27:53 +04:00
LevelX2
41abefa8e4 * Fixed spell's target still legal handling check as it begins to resolve (fixes problem of Sublime Epiphany #6646). 2020-07-01 12:57:29 +02:00
Oleg Agafonov
ae165e5197 Fixed that it possible to make damage to lose/leaved players 2020-07-01 14:09:43 +04:00
Oleg Agafonov
adbe84c540 Improved freeze checks and canRespond/isInGame usage 2020-07-01 13:48:22 +04:00
Oleg Agafonov
529153312f Fixed potential freeze on put cards order 2020-07-01 13:13:44 +04:00
18ths
653ca9cc5a
Merge branch 'master' into GlitterLionTextFix 2020-07-01 10:03:37 +02:00
Oleg Agafonov
7e9d4417f6 * Game: fixed game freeze on mulligan phase and disconnected player; 2020-07-01 11:44:27 +04:00
Evan Kranzler
73026b57b1 implemented Neyith of the Dire Hunt 2020-06-30 21:29:59 -04:00
LevelX2
60cce5c11b * Fixed wrong event attributes for special action ACITIVATE_ABILITY event (see also 6753). Fixed that Phyrexian Revoker also prevented using special actions (fixes #6747). 2020-06-30 15:34:29 +02:00
Oleg Agafonov
83135f347f Spellwild Ouphe - fixed cost reduction effect (#6698) 2020-06-30 08:51:59 +04:00
Oleg Agafonov
d5616a86f9
Merge pull request #6669 from hitch17/jumpstart-tournament-formats
Add jumpstart swiss and elimination tournament formats.
2020-06-30 06:29:33 +02:00
Oleg Agafonov
09bc2575d8 Cost increasing effects - refactor, removed redundant custom effects (related to #6684 and #6698); 2020-06-30 08:27:29 +04:00
LevelX2
b01a1ac3aa Merge origin/master 2020-06-29 19:42:27 +02:00
jeffwadsworth
a4d659176e - Refactored BlocksOrBecomesBlockedTriggeredAbility to BlocksOrBecomesBlockedSourceTriggeredAbility 2020-06-29 11:45:26 -05:00
LevelX2
92d1a6b9d8 Merge origin/master 2020-06-29 18:03:12 +02:00
LevelX2
368faa37dd * Added test for Dream Leash. 2020-06-29 18:02:18 +02:00
jeffwadsworth
d1cbfc51e1 - Refactored DiesTriggeredAbility to DiesSourceTriggeredAbility 2020-06-29 10:51:34 -05:00
LevelX2
c39bcf3d5a * Primal Might - Handled fizzled message for optional fight effect (#6646). 2020-06-29 15:25:55 +02:00
LevelX2
d1e31140cc * Fixed a problem that unintended allowed to cast spells with alternate cost to cast conditions (fixes #6739). 2020-06-29 14:54:29 +02:00
LevelX2
5661bb1bfe * Some minor code changes. 2020-06-29 14:50:46 +02:00
Oleg Agafonov
90965802d0 Cost increasing effects - refactor, removed redundant custom effects (related to #6684 and #6698); 2020-06-29 15:39:58 +04:00
Oleg Agafonov
4bdd8910a8 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	Mage.Sets/src/mage/cards/d/DreamLeash.java
2020-06-29 13:32:26 +04:00
Oleg Agafonov
cf3feff76a Cost reduction effects - refactor, removed redundant custom effects, added card hints; 2020-06-29 13:31:02 +04:00
htrajan
ca29e61b1d
[M21] actually fix Enthralling Hold (#6746) 2020-06-29 12:41:46 +04:00
Oleg Agafonov
e4ebf50d42 * Artifact you control effects - added card hints; 2020-06-29 09:28:46 +04:00
LevelX2
d2d892a7cb * Fixed that permanents under non owner control sine they are on the battlefield were no exiled if the controller left the game (e.g. Captive Audience) (fixes #5593). 2020-06-27 23:47:04 +02:00
Oleg Agafonov
e8dbd2a3c8 Refactor some cost modification effects 2020-06-27 19:22:45 +04:00
Oleg Agafonov
520d75dba9 * Cost reduction effects - fixed that some cards with cost reduction can't be played (example: Price of Fame, see #6685, #6684); 2020-06-27 05:40:45 +04:00
Oleg Agafonov
2252648f01 * Added card hints to Avatar of Might, Avatar of Will, Avatar of Woe, Dusk Feaster, Rekindled Flame;
* Refactor: removed custom spell cost reduction effects;
2020-06-27 05:36:04 +04:00
htrajan
6fa1ad3aaa
[M21] Implement more cards (#6730)
* EnthrallingHold

* ArchfiendsVessel

* ConspicuousSnoop

* HoodedBlightfang

* commit set updates

* fix text

* fix Archfiend's Vessel cast from graveyard trigger and Enthralling Hold text
2020-06-26 20:55:43 -04:00
LevelX2
8906f3be7b * Cloning a face-down creature should produce a plain 2/2 creature (fixes #3582). 2020-06-27 01:01:55 +02:00
jeffwadsworth
d02d8a4dfe - Fixed #6732 2020-06-26 16:51:17 -05:00
jeffwadsworth
2f5a4e0caf - Fixed text related to bug 6675 2020-06-26 11:10:54 -05:00
LevelX2
166d898168 * Added a test for #4659 - it's not reproducable (closes #4659). 2020-06-26 17:41:10 +02:00
Oleg Agafonov
329f7fd609 Little improves for tests 2020-06-26 18:58:13 +04:00
Oleg Agafonov
50c46e39a3 Improved game logs: added target hints, fixed spaces in target amount; 2020-06-26 10:59:22 +04:00
Oleg Agafonov
445686a1ad Improved scry effect text generation 2020-06-26 09:59:55 +04:00
Evan Kranzler
a379a06485 added new class for "this or another" triggered abilities 2020-06-25 20:14:48 -04:00
jeffwadsworth
6c69939c0d - Fixed some text issues related to Bug 6675... 2020-06-25 17:45:24 -05:00
jeffwadsworth
a20bc6c414 - Fixed some text issues related to Bug 6675. Not closed because it keep growing... 2020-06-25 16:45:38 -05:00
gp66
a003f95c35 m20 demon token 2020-06-25 08:46:27 -05:00
Evan Kranzler
a5f9b8fb64 Implemented Sethron, Hurloon General 2020-06-25 09:22:09 -04:00
Oleg Agafonov
aeef4e1193 Fixed some tokens image 2020-06-25 09:52:54 +04:00
Oleg Agafonov
dea739ecb0
Merge pull request #6683 from gp66/fix-iko-tokens
Fix iko tokens
2020-06-25 07:35:17 +02:00
htrajan
7bb7afe28a
[M21] Implement sanctum cards (#6708) 2020-06-25 09:31:09 +04:00
Oleg Agafonov
d8bbfefde6 * Search library and/or graveyard and put in hand - fixed that it shuffle library before card move; 2020-06-25 00:43:10 +04:00
Oleg Agafonov
6dfacfbca5 * Elspeth, Undaunted Hero - fixed wrong text; 2020-06-25 00:37:13 +04:00
LevelX2
e33505ff7d * Agyrem Plane - Fixed that the effect was not applied to creatures of all players (fixes #6486). 2020-06-24 22:20:55 +02:00
LevelX2
0b00ae8b9d
Merge pull request #6522 from emerald000/oldVersions
UI: Add a button on the deck editor to change your cards to the oldest versions.
2020-06-24 21:53:42 +02:00
Oleg Agafonov
72891a5bad Refactor: removed redundant temporary effects list (#6693, #6618) 2020-06-24 21:11:49 +04:00
18ths
40036271da
Implemented Allosaurus Shepherd and Blessed Sanctuary (#6711)
* added allosaurus shepherd and blessed sanctuary

* fixed nonascii apostrophes

* added continuous effect dependency
2020-06-24 10:17:32 -05:00
Evan Kranzler
785be83484
Refactoring cards that mill (WIP, do not merge) (#6713)
* added mill method

* updated mill effects to use new method

* refactored individual cards

* small updated to Grindstone and Sphinx's Tutelage

* another updated to Grindstone

* fixed a test

* fixed Countermand null check

* more refactoring

* updated dredge ability to use mill
2020-06-24 07:50:00 -04:00
LevelX2
8b5f4f28f0
Merge pull request #6693 from 18ths/force_mirrormade
#6618 - Creatures get +1/+1 when we cancel the cast of a spell.
2020-06-24 08:03:57 +02:00
Evan Kranzler
ba0e9af5fd Implemented Bruvac the Grandiloquent (still needs refactoring 2020-06-23 17:29:14 -04:00
18ths
5b9135ef71 fixed clearing temporary effects while rollbacks 2020-06-23 17:26:05 +02:00
LevelX2
4b14eb3724 * Delirum - Fixed wrong card type count. Added unit test for delirum (fixes #6704). 2020-06-23 10:09:37 +02:00
LevelX2
29e5230469 * Oathbreaker format - Fixed that signate spell didn't return to command zone. Added unit test for oathbreaker format (fixes #6695). 2020-06-23 09:18:40 +02:00
Oleg Agafonov
5ae041f39a Additional tests for morph and #6680 2020-06-23 09:29:38 +04:00
arcox
b6352953a8
Implement Nine Lives from M21 (#6706) 2020-06-22 19:42:00 -04:00
Oleg Agafonov
6e1da09023 * Morph ability - fixed that card with morph ability marked as playable all the time (#6680); 2020-06-23 00:59:17 +04:00
John Hitchings
426f207aac add final jumpstart card pool and additional comments on JumpstartPoolGenerator 2020-06-22 12:25:18 -07:00
Oleg Agafonov
8667d2a923 * Special mana payments like convoke/delve - fixed that it can't be used to cast card from command zone (example: Tasigur, the Golden Fang, see #6680); 2020-06-22 20:20:33 +04:00
jeffwadsworth
3c653d8b19 - First part of fix #6660 2020-06-22 09:40:39 -05:00
LevelX2
c8ddd62e3b * Reworked some card movement to player methods (#4866). 2020-06-22 15:38:36 +02:00
Oleg Agafonov
cd624b2158 * Special mana payments like convoke/delve - fixed that it can't be used to cast card from graveyard (example: Hogaak, Arisen Necropolis, see #6680); 2020-06-22 08:34:53 +04:00
Evan Kranzler
6754636f86 fixed an error 2020-06-21 22:39:09 -04:00
Evan Kranzler
d74c2c8355 Implemented Tinybones, Trinket Thief 2020-06-21 22:14:03 -04:00
gp66
b538aea848 beast token iko 2020-06-20 14:26:01 -05:00
Oleg Agafonov
3f2a5fc362 Prepare new release 2020-06-20 11:36:13 +04:00
LevelX2
305dab90b5 * Replaced some card.putOntoBattlefield by player.moveCard... methods (#4866). Added new player.shuffleCardsToLibrary method. 2020-06-20 08:58:29 +02:00
John Hitchings
c54c100b4d add docs/links for jumpstart, tweak the jumpstart packs file. 2020-06-19 22:10:09 -07:00
Oleg Agafonov
52579fd1f3 Fixed tests 2020-06-20 07:06:34 +04:00
Oleg Agafonov
05950dcc2f Improved text generation for TargetCardInASingleGraveyard (additional to #6557) 2020-06-20 02:17:20 +04:00
Oleg Agafonov
cd8d12365f * Add mana of the chosen color - added info about chosen color to ability choose dialog (#6677); 2020-06-20 00:29:33 +04:00
Oleg Agafonov
2e7d01965e * Madness ability - fixed that it ask about madness cast two times (fixes #6674); 2020-06-19 23:42:45 +04:00
Oleg Agafonov
85083a4433 * Devour abilities - fixed that it doesn't trigger simultaneous events after multiple permanents sacrifice (#6254, #6273) 2020-06-19 21:52:31 +04:00
Oleg Agafonov
d069bbd544 Code cleanup and test fixes 2020-06-19 13:24:52 +04:00
Oleg Agafonov
ce3f9e80d5 Reworked Improvise ability (#768) 2020-06-19 13:22:05 +04:00
Oleg Agafonov
56a5fd5851 Reworked Delve ability (#768) 2020-06-19 13:21:03 +04:00
Oleg Agafonov
fb1e284960 Reworked Assist ability (#768) 2020-06-19 13:20:32 +04:00
Oleg Agafonov
708b4e872a Reworked Convoke ability (#768, #6636) 2020-06-19 13:19:27 +04:00
Oleg Agafonov
c2e7b02e13 Reworked and improved special mana payment abilities (convoke, delve, assist, improvise):
* now it can be used to calc and find available mana and playable abilities;
* now tests and AI can use that abilities;
* now it follows mtg's rules and restrictions for mana activation order (rule 601.2f, see #768);
2020-06-19 13:09:45 +04:00
Oleg Agafonov
bdaf6454de Added commander's zone info in leave/keep message 2020-06-19 12:54:42 +04:00
John Hitchings
1bd98d6435 move jumpstart file to resources 2020-06-19 00:04:09 -07:00
John Hitchings
1695e6767d add jumpstart swiss and elimiation tournament formats. 2020-06-18 23:45:02 -07:00
LevelX2
1a8d325710
Merge pull request #6504 from SpeedProg/fix_target_card_in_opponent_graveyard
fixed TargetCardInOpponentsGraveyard not working properly
2020-06-19 00:34:37 +02:00
jeffwadsworth
266c25c876 - Text fix 2020-06-18 16:26:55 -05:00
LevelX2
c41fc0284d * Fixed missing check for restricting effects of activated abilities of permanents (fixes #6657). I guess that got lost by refactoring get playable abilities. 2020-06-18 22:59:42 +02:00
LevelX2
3beaec4525 * Fixed that effects with "as long as Intet remains on the battlefield" condition were reapplied as the card returned to battlefield.
Some other minor fixes.
2020-06-18 19:12:58 +02:00
jeffwadsworth
f231bcb05b - Text fix 2020-06-18 11:21:06 -05:00
Oleg Agafonov
1724740cc6 XML security (fixes #6662); 2020-06-18 18:06:53 +04:00
Evan Kranzler
d8370013af Implemented Thriving Heath 2020-06-17 20:49:36 -04:00
LevelX2
85709c0a16 * Some rework/clean up of the PlayFromNotOwnHandZone effects (fixes #6580). Some added tests. 2020-06-18 01:19:23 +02:00
Thomas ARBLAY
2f68db7086
[RFR] Correction of the text of some cards (#6602)
* Fix some cards

* Fix Clot Sliver

* Fix WarrenScourgeElf

* Fix Olivia Voldaren

* Fix Domri Rade Emblem

* Fix Broken Ambitions Missing text

Co-authored-by: Thomas ARBLAY <thomas.arblay@smile.fr>
2020-06-17 09:58:35 -05:00
Evan Kranzler
3839b0c665 Implemented Goblin Wizardry 2020-06-16 22:14:57 -04:00
Evan Kranzler
03a46ffec1 fixed Ghostly Pilferer triggered ability 2020-06-16 22:03:14 -04:00
htrajan
6804216ddc
Implement garruk cards (#6650)
* Implement Garruk's Harbinger

* inline ability

* Implement Garruk's Uprising

* Implement Garruk, Unleashed

* fix Garruk, Unleashed
2020-06-16 21:09:26 -04:00
LevelX2
1d0059fb53 * Watcher - Fixed a problem copying HashMaps in watcher deep copy (fixes bug of Muldrotha, the Gravetide #6461). 2020-06-16 22:47:52 +02:00
jeffwadsworth
d0553b3c3a - little cleanup 2020-06-16 11:14:28 -05:00
LevelX2
8e1d7c3ffb Renamed condition to prevent misuse. 2020-06-16 10:53:52 +02:00
Evan Kranzler
e8a99ec7f3 Implemented Experimental Overload 2020-06-15 20:09:31 -04:00
htrajan
d8f90f9196
Implement chandra cards (#6641)
* Implement Chandra, Heart of Fire

* Implement Chandra's Pyreling

* rename var
2020-06-15 18:56:01 -04:00
ingmargoudt
8b7db9b82d
Merge pull request #6644 from jasc7636/Watcher
Make watcher copy method deep copy Maps
2020-06-15 22:09:44 +02:00
LevelX2
2788eab082 * Fixed card type displaying order (fixes #6055). 2020-06-15 21:11:54 +02:00
Oleg Agafonov
4006e9e909 * Images: fixed that some tokens uses wrong images of Elemental (#5834); 2020-06-15 21:30:23 +04:00
Oleg Agafonov
f2f1abd0f3 * Images: fixed wrong Wurm token image for some sets (#5604); 2020-06-15 20:59:53 +04:00
Oleg Agafonov
c2487aec7d [C20] tokens support and fixes:
* Added tokens for C20;
* Added tokens images download for C20;
* Fixed that some tokens uses wrong images or images from wrong set (example: Elemental);
2020-06-15 20:29:52 +04:00
Oleg Agafonov
2b21298377 * UI: fixed that tokens in M15 render mode did not use a variety of images (all same named tokens uses same image); 2020-06-15 20:21:30 +04:00
jasc7636
cdcef4649d Make watcher copy method deepcopy collections 2020-06-15 10:08:56 +02:00
LevelX2
f9479993e2 * UntapLandsEffect - Changed filter message. 2020-06-14 19:41:18 +02:00
LevelX2
39ca6d0dcc
Merge pull request #6615 from Grath/patch-2
Text correction on UntapLandsEffect
2020-06-14 19:37:59 +02:00
LevelX2
3c43e544b0 * Fixed a bug that for mana abilities with multiple net mana entries wrongly no available mana was calculated (fixes #6617). 2020-06-14 16:29:05 +02:00