Commit graph

9756 commits

Author SHA1 Message Date
Oleg Agafonov
1c6eb10bd1 Dev: migrated to single json lib (removed json-simple from deck import code), clean up guava lib usage in cards; 2021-10-01 17:57:54 +04:00
Oleg Agafonov
fa70af6131 Dev: removed test data from resources to data folder; 2021-10-01 14:10:39 +04:00
Evan Kranzler
7b1e3fae7b [MIC] Implemented Wall of Mourning 2021-09-30 08:52:24 -04:00
Daniel Bomar
4943a16464
Merge pull request #8330 from weirddan455/prevent-damage
Removed game.preventDamage method (fixes #8280)
2021-09-29 15:32:50 -05:00
Jeff Wadsworth
970125c5c4 - small refactor Foretell ability 2021-09-29 09:45:08 -05:00
Alex W. Jackson
edbb99f0ba
Implement booster collation for (original) Innistrad and Dark Ascension (#8339) 2021-09-29 09:03:46 -04:00
Oleg Agafonov
f9beed6a89 Dev: clear pom files, fixed wrong test packages and scope, added zip tests; 2021-09-29 16:01:36 +04:00
Jeff Wadsworth
6f76c3371e - Fixed #8334. Refactored and simplified some aspects of the Foretell ability. 2021-09-28 16:49:43 -05:00
Jeff Wadsworth
7ba3a8f637 Merge branch 'master' of https://github.com/magefree/mage 2021-09-27 16:35:23 -05:00
Jeff Wadsworth
7ca17020ef - Fixed #8317 2021-09-27 16:35:10 -05:00
Daniel Bomar
eec3c44f1e
Removed game.preventDamage method (fixes #8280) 2021-09-27 16:01:28 -05:00
Oleg Agafonov
0e1abaec5d Dauthi Voidwalker - fixed that it doesn't work with cards (related to a3ca9fc03a); 2021-09-27 23:29:41 +04:00
Evan Kranzler
11d5fc7eae [MIC] Implemented Prowling Geistcatcher 2021-09-27 08:40:16 -04:00
Evan Kranzler
a87b28f348 [MID] various text fixes 2021-09-26 14:34:32 -04:00
Oleg Agafonov
f3b8f0a44a * Hextproof from color - improved card icon, added details in icon's popup text; 2021-09-26 00:31:17 +04:00
Oleg Agafonov
95b782d519 Tests for #5630 2021-09-25 18:09:21 +04:00
Evan Kranzler
b895611c4d
Updating standard (don't merge until 9/24) (#8297)
* removed rotated cards from standard ban list

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

* some more updates to standard

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

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

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

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

Co-authored-by: Daniel Bomar <dbdaniel42@gmail.com>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-08-26 14:06:10 +04:00
Evan Kranzler
12219cff01 [AFC] Implemented Mantle of the Ancients 2021-08-25 08:11:54 -04:00
Evan Kranzler
002a7af6d0 fixed a test failure 2021-08-23 19:27:27 -04:00
Evan Kranzler
85dfa58e5d [AFR] more text fixes 2021-08-23 19:14:50 -04:00
Evan Kranzler
31a559be23 [AFC] more text fixes 2021-08-23 18:53:35 -04:00
Evan Kranzler
8fe0467893 reworked mana text generation to fit canonical symbol order 2021-08-23 18:32:21 -04:00
Evan Kranzler
2db0da8429 updated AttacksOrBlocksAttachedTriggeredAbility 2021-08-22 18:08:40 -04:00
Evan Kranzler
13949d8e3e [AFC] various text fixes 2021-08-22 17:56:22 -04:00
Ingmar Goudt
fed7c2b288 small Sonar fixes 2021-08-22 12:20:28 +02:00
Ingmar Goudt
271f7b812f fix #8097,
the sacrifice target cost was optional, but SacrificeCost.canPay first checks if there are valid targets. In this scenario there were none, but the spell should still be playable
2021-08-22 12:01:10 +02:00
Evan Kranzler
b1bbe96536 fixed an error 2021-08-21 17:13:03 -04:00
Evan Kranzler
0bd402876d [AFC] Implemented Nihiloor 2021-08-21 16:35:09 -04:00
Oleg Agafonov
2b2a2d085a [AFR] added dungeon support in image/card view, images download, Card Viewer, verify tests; 2021-08-21 20:29:47 +04:00
Oleg Agafonov
654ee7791c [AFR] added tokens and images download support; 2021-08-21 20:29:47 +04:00
Evan Kranzler
d20b15c7b6 [AFC] Implemented Hellish Rebuke 2021-08-21 11:20:31 -04:00
Evan Kranzler
b9550a7387 made a util function more generic because why not 2021-08-21 11:20:30 -04:00
Oleg Agafonov
e9c68d2a5c Test framework improves (related to #7896):
* added real time command to check card's counters (example: suspended cards with Time counters, see checkCardCounters);
* added target type support: TargetPermanentOrSuspendedCard;
* improves error logs for miss modes and unsupported target types;
2021-08-21 15:02:42 +04:00
Oleg Agafonov
33380f09c2 Improved canActivate support:
* added support of non controller activates in ActivatedManaAbility (mayActivate);
* removed custom code from ActivatedManaAbility;
* removed custom code from Mana Cache;
* added additional comments;
2021-08-21 10:52:00 +04:00
Evan Kranzler
bdeb0dde66 refactored TokenPredicate to contain its own inverse 2021-08-20 09:33:38 -04:00
Evan Kranzler
cb5d873fea [AFC] Implemented Bag of Devouring 2021-08-20 09:27:30 -04:00
Evan Kranzler
f740cf0d12 [AFC] Implemented Lorcan, Warlock Collector 2021-08-20 09:11:18 -04:00
Evan Kranzler
e4f0a485a6 [C21] fixed Rousing Refrain mana not staying until end of turn 2021-08-20 08:52:20 -04:00
Oleg Agafonov
ebe02c310a Merge fix 2021-08-20 15:52:16 +04:00
Oleg Agafonov
9fa487e60a * Suspend ability - fixed that suspend can be activated from opponent's hand; 2021-08-20 15:40:42 +04:00
Oleg Agafonov
fb4065ba66 Little fixes 2021-08-20 09:38:16 +04:00
Oleg Agafonov
3da525520c * Author of Shadows - added window with exiled and castable cards; 2021-08-18 11:02:30 +04:00
Oleg Agafonov
1d60c2039b * Game: fixed priority lost on rollback (example: game skips to next step instead current step after a rollback error);
* Game: added game logs on rollback error;
2021-08-18 10:58:43 +04:00
Evan Kranzler
4c4168ac1f [AFC] Implemented Hurl Through Hell 2021-08-16 09:26:25 -04:00
Oleg Agafonov
f21c492ce2 Refactor: added docs for a copy stack object code (#7662); 2021-08-15 17:12:59 +04:00