Commit graph

9817 commits

Author SHA1 Message Date
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
dependabot[bot]
711b76ec49
Bump ormlite-jdbc from 5.1 to 5.6
Bumps [ormlite-jdbc](https://github.com/j256/ormlite-jdbc) from 5.1 to 5.6.
- [Release notes](https://github.com/j256/ormlite-jdbc/releases)
- [Commits](https://github.com/j256/ormlite-jdbc/compare/ormlite-jdbc-5.1...ormlite-jdbc-5.6)

---
updated-dependencies:
- dependency-name: com.j256.ormlite:ormlite-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 11:01:05 +00: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