Commit graph

10608 commits

Author SHA1 Message Date
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
Oleg Agafonov
5a5c7f6224
Merge pull request #6998 from magefree/dependabot/maven/com.github.os72-protoc-jar-maven-plugin-3.11.4
Bump protoc-jar-maven-plugin from 3.6.0.1 to 3.11.4
2020-08-31 09:31:20 +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
dependabot[bot]
d1ace6df07
Bump protoc-jar-maven-plugin from 3.6.0.1 to 3.11.4
Bumps [protoc-jar-maven-plugin](https://github.com/os72/protoc-jar-maven-plugin) from 3.6.0.1 to 3.11.4.
- [Release notes](https://github.com/os72/protoc-jar-maven-plugin/releases)
- [Changelog](https://github.com/os72/protoc-jar-maven-plugin/blob/master/RELEASE_NOTES.md)
- [Commits](https://github.com/os72/protoc-jar-maven-plugin/compare/v3.6.0.1...v3.11.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-24 06:35:01 +00: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
27db13605e Reverted broken h2database dependency version (error on existed databases: Unsupported type 17) 2020-08-18 00:44:44 +04: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
Oleg Agafonov
583f9957f4
Merge pull request #6932 from magefree/dependabot/maven/com.h2database-h2-1.4.200
Bump h2 from 1.4.197 to 1.4.200
2020-08-15 21:17:47 +02: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
dependabot[bot]
8435c6579a
Bump h2 from 1.4.197 to 1.4.200
Bumps [h2](https://github.com/h2database/h2database) from 1.4.197 to 1.4.200.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-1.4.197...version-1.4.200)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-03 07:21:00 +00: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
dependabot[bot]
cc66aeeb9b
Bump protobuf-java from 3.7.0-rc1 to 4.0.0-rc-2
Bumps [protobuf-java](https://github.com/protocolbuffers/protobuf) from 3.7.0-rc1 to 4.0.0-rc-2.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/master/generate_changelog.py)
- [Commits](https://github.com/protocolbuffers/protobuf/compare/v3.7.0rc1...v4.0.0-rc2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-27 06:44:07 +00: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
cb3757d0db
Merge pull request #6795 from magefree/dependabot/maven/org.codehaus.mojo-build-helper-maven-plugin-3.2.0
Bump build-helper-maven-plugin from 1.12 to 3.2.0
2020-07-09 01:38:49 +02: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
13f7f2a035 Revert "removed some of unused dependencies"
This reverts commit d6ad722266.
2020-07-08 17:16:16 +02:00
18ths
d6ad722266 removed some of unused dependencies 2020-07-07 20:11:45 +02:00
18ths
543ac206be Added hint to monstrous. Fixes #6765 2020-07-07 17:57:25 +02:00
dependabot[bot]
66e47d8910
Bump build-helper-maven-plugin from 1.12 to 3.2.0
Bumps [build-helper-maven-plugin](https://github.com/mojohaus/build-helper-maven-plugin) from 1.12 to 3.2.0.
- [Release notes](https://github.com/mojohaus/build-helper-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/build-helper-maven-plugin/compare/build-helper-maven-plugin-1.12...build-helper-maven-plugin-3.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-07 08:55:33 +00: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
LevelX2
033f80c6ed * Use for automatic mana payment of generic mana costs first abilities without additional costs (fixes #6408). 2020-06-14 09:34:29 +02:00
LevelX2
aaf1f7da7b * Bronzehide Lion - Fixed that activated ability of enchanted form applied Indestructibility while on battlefield if activated instead of end of the turn.
* Tectonic Giant - Fixed that it also triggerd on activated abilities instead only for spells. 
(fixes #6397)
2020-06-14 08:46:25 +02:00
Oleg Agafonov
ad4be5a9fe Fixed effect texts 2020-06-14 04:28:58 +04:00
LevelX2
f480d0bebb * Some minor code and text clean up. 2020-06-12 15:14:28 +02:00
Evan Kranzler
63851b73a1
Updated commander zone change rules (ready for review) (#6620)
* updated commander zone change rules

* moved commander tracking into game state

* fixed a zone change error

* fixed some more tests for new commander rule

* updated variable names

* updated a test name
2020-06-12 07:42:36 -04:00
John
717b3da6f9
swap green and white in color order choices. (#6630) 2020-06-11 18:59:54 -04:00
htrajan
6fa21415fe
Implement Basri cards (#6622)
* Implement Basri Ket

* Implement Basri's Lieutenant
2020-06-11 18:36:52 -04:00
18ths
e68a20c5fb
fixed and refactored balance effect (#6595)
* fixed and refactored balance effect

* inversed logic in balance effect - now players choose cards to keep instead to sacrifice/discard
2020-06-12 01:19:45 +04:00
Oleg Agafonov
642cdea2f8 Added single cards support in constructed format (like historic, see #6626); 2020-06-12 00:18:40 +04:00
Evan Kranzler
c592542ff6 a few more mill changes 2020-06-11 08:20:33 -04:00
Evan Kranzler
36b31d097e reinstated new mill wording 2020-06-10 22:38:59 -04:00
Evan Kranzler
eab57783ed Implemented Warden of the Woods 2020-06-10 20:38:43 -04:00
Evan Kranzler
7cf52ce136 Implemented Pursued Whale 2020-06-10 20:21:03 -04:00
LevelX2
94c8b7a558 * Some comment formatting. 2020-06-10 22:37:47 +02:00
LevelX2
1e36b39434 - Reworked SourceOnBattlefieldControlUnchangedCondition checking now the LOST_CONTROL event which solves the problem with the old code to not be able to detect all controller changes of layered changeController effects when applied later.
- Simplified and fixed some problems of the handling of the "Until end of your next turn" duration.
- Fixed that some continous effects changed controller but shouldn't dependant from their duration type. Controller chnage will now done duration type dependant.
  (that change fixes #6581 in a more general way undoing the effect specific changes of 2e8ece1dbd).
2020-06-10 22:28:23 +02:00
LevelX2
25802dc105 * Updated some failing tests with old text after fix of 5a17b9665e. 2020-06-10 22:08:51 +02:00
LevelX2
5a17b9665e * Fixed text generation for cards going from library to graveyard. 2020-06-10 17:17:40 +02:00
LevelX2
5c65ee31d9 * Mirari - Fixed that the triggering spell was not copied (fixes #6338). 2020-06-10 10:17:55 +02:00
Oleg Agafonov
a75d08283f * Split cards - added spliced effects support for fused spells, no more double splice pays (#6493, #6549); 2020-06-10 09:58:21 +04:00
Oleg Agafonov
b38ac2f575 * Split cards - added cost modification effects support for fused spells (#227, #2242, #6603, #6549); 2020-06-10 08:28:18 +04:00
Oleg Agafonov
85e90e8edf Code cleanup 2020-06-10 00:24:58 +04:00
jeffwadsworth
2e8ece1dbd - Fixed #6581 2020-06-09 10:04:59 -05:00
LevelX2
eb846c0499 * Added ID name instead of only the name to the replacement effect selector list. Otherwise you can't identify the related source if you have multiple sources with the same name (related #6298). 2020-06-09 16:37:42 +02:00
Evan Kranzler
e879233ea1 Implemented Jolrael, Mwonvuli Recluse 2020-06-09 10:03:23 -04:00
LevelX2
6c90eb1b3c * Changed the method for step end processing of spells with multiple steps (608.2) from game.applyEffects() to game.getState().processAction(game);
Added d8fb962 change for two more effects.
2020-06-09 14:49:46 +02:00
johnmeat
3119e7e78c
Fixed Unlicensed Disintegration damage part (#6614)
* Damage to creature's controller abilities -- fixed that damage part can be skipped if that creature died/destroyed (example: Unlicensed Disintegration, see #6614)

Co-authored-by: johnm <johnm@WINDOWS-QR5QIIL.lan>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2020-06-09 05:51:58 +04:00
jeffwadsworth
84ec743b07 - Fixed #6599 #6405 #4999 #4270 2020-06-08 17:05:51 -05:00
htrajan
5185d71638
Implement liliana4 and necromentia (#6616)
* LilianaWakerOfTheDead init commit

* Necromentia init commit

* benefit outcome

* fix text

* fix Liliana

* don't change VerifyCardDataTest

* use hasOpponent

* add hint and fix name chooser

* use positive # for hint

* don't change test
2020-06-07 21:16:53 -04:00
Evan Kranzler
0590243d6d updated some more of the mill templating 2020-06-07 19:29:00 -04:00
Evan Kranzler
c4283cd591 Implemented Carrion Grub 2020-06-07 19:21:19 -04:00
Eric Nelson
bc9da1d11f
Text correction on UntapLandsEffect
UntapLandsEffect asks you to choose untapped lands to untap; by changing the fillter from "untapped lands" to "tapped lands" (technically you can choose already untapped lands but...) it will now ask you to choose tapped lands to untap.
2020-06-07 17:52:38 -04:00
htrajan
8369184cac
Implement more m21 cards (#6612)
* init commit

* AdherentOfHope init commit

* BasrisAegis init commit

* don't change test

* FungalRebirth init commit

* GarruksWarsteed init commit

* KeralKeepDisciples init commit

* ChromaticOrrery init commit

* add back filter names

* fix GolgariFindbroker text

* address comments

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2020-06-07 16:02:07 -04:00
Evan Kranzler
65d2f3c9c4 Implemented Teferi's Tutelage (mill errata not complete) 2020-06-07 13:40:19 -04:00
etpalmer63
046d63732d removed comments about punctuation. 2020-06-06 23:07:24 -07:00
htrajan
a897df7c79
Implement 6 cmc pws (except Teferi) and rin (#6611)
[M21] Implement 6 cmc pws (except Teferi) and rin
2020-06-07 06:13:20 +04:00
Oleg Agafonov
54cb5cfbc9
Merge pull request #6597 from emerald000/companion
New Companion rule
2020-06-06 06:34:14 +02:00
Evan Kranzler
74b6626020 changed Hound to Dog 2020-06-05 20:17:41 -04:00
LevelX2
67b4e8d668 * Marrow-Gnawer - Fixed casting cost order and rules text. 2020-06-05 15:12:42 +02:00
Oleg Agafonov
ecac9295ec Additional card fixed for named abilities support, also added face down spells support (see #6569); 2020-06-05 01:13:17 +04:00
Oleg Agafonov
4b77cb0fa8 * Name card abilities - fixed that it can't find split cards or fused spells with entered name (part of #6603, #6549); 2020-06-05 00:06:57 +04:00
Oleg Agafonov
e95ae2675b Fixed different ZCC in split card's parts (flashback fix, see 95075cf33e);
Improve moveToZone code and fixed some cards with wrong commands queue (e.g. directly removes card from zone and then calls moveToZone again);
2020-06-04 23:47:50 +04:00
Oleg Agafonov
95075cf33e Additional fix flashback and split cards (see cce467a5ec) 2020-06-04 11:34:59 +04:00
Oleg Agafonov
cce467a5ec Additional fix and simplified for playable abilities (see comments b94344341b) 2020-06-04 03:21:18 +04:00
LevelX2
bd40d90286
Merge pull request #6590 from 18ths/world_rule_range_of_influence
fixed world rule with range of influence
2020-06-03 22:39:56 +02:00
LevelX2
238152d6c4 Merge origin/master 2020-06-03 15:08:42 +02:00
LevelX2
07386cce8d * Shifting Shadows - Fixed not proper handling of gained triggered abilities during step resolution of Shifting Shadows effect (fixes #6571). 2020-06-03 15:07:52 +02:00
LevelX2
f65f4a4344 * Fixed that calling the destroy method for an object of the class permanent did move the card in game but shouldn't (#6571). 2020-06-03 15:06:12 +02:00
Oleg Agafonov
b94344341b Improved playable abilities and split cards:
* Now human player uses same code for playable abilities search as test framework (old version used different code, so it could not work in one of the modes);
* Split cards - improves playable highlights;
* Split cards - fixed that it doesn't work with dynamic added abilities like flashback (#6327, #6470, #6549);
2020-06-03 12:44:58 +04:00
emerald000
c40ef8b39f New Companion rule
"Once per game, any time you could cast a sorcery (during your main phase when the stack is empty), you can pay 3 generic mana to put your companion from your sideboard into your hand. This is a special action, not an activated ability."
2020-06-01 13:32:44 -04:00
Oleg Agafonov
121dc3501e * Split cards - fixed not working combo with suspend/delay abilities (#946, #6549); 2020-06-01 09:41:48 +04:00
Oleg Agafonov
e7684e4bba Test framework improves:
* added command to check graveyard count command;
* added wrong cast/activate command auto-checks in strict mode;
2020-06-01 09:37:17 +04:00
18ths
d5c46816be fixed world rule with range of influence 2020-05-30 21:52:22 +02:00
LevelX2
32ce1d85e9 * Fix of some problems of zone change related triggered abilities that had not been correctly implemented (fixes #6586). 2020-05-29 14:41:24 +02:00
Oleg Agafonov
2b448cea6a
Merge pull request #6539 from etpalmer63/TogetherFixTwo
Added method to SupportAbility class to allow for removal of 'other' …
2020-05-29 07:09:46 +02:00
Oleg Agafonov
c656bea31c Ability refactor: removed deprecated code 2020-05-28 23:38:16 +04:00
Oleg Agafonov
d63a3e88ce Ability refactor: fixed broken effects timestamp in some use cases 2020-05-28 23:07:36 +04:00
Oleg Agafonov
f3f1c29926 Ability refactor: face down; 2020-05-28 23:02:20 +04:00
Oleg Agafonov
eea808d2d6 Ability refactor: source improves, deprecated code removed; 2020-05-28 22:38:31 +04:00
Oleg Agafonov
8af43dc13a Ability refactor: new code to search abilities in cards and permanents; 2020-05-28 22:34:27 +04:00
Oleg Agafonov
978118148b Ability refactor: new code to remove abilities from permanent; 2020-05-28 22:31:54 +04:00
LevelX2
f04c0bbc2a * Fixed some rule text problems. 2020-05-27 18:06:04 +02:00
LevelX2
e1c96efa1e * Fixed a problem with selecting cards from other players hand, failing because canTarget check with wrong player id. Changed/simplified canTarget method of TargetCardInHand to solve that problem. (#6532 Gruesome Discovery and Distended Mindbender and probably other changed made with 75577cdbe9). 2020-05-27 13:59:16 +02:00
LevelX2
9933420f57 * Emerge Ability - Fixed that the creature to sacrifice had to be selcted twice. 2020-05-27 10:24:21 +02:00
LevelX2
5e63c44c5d * Abondon Hope - Fixed rule text (#6532). 2020-05-26 19:29:46 +02:00
LevelX2
3aefbfb360 * Fixed problems with win / lose restrictions in relation to empty draw condition (fixes #1681 #6553). 2020-05-26 16:38:01 +02:00
LevelX2
d2b8928e60 * Fixed a bug that the win method for a player did not handle the range correctly and did erroneously end the game while still multiple players alive (related to #6553). 2020-05-25 18:09:28 +02:00
LevelX2
5743e4361e * Some minor fixes/code cleanups to IKO cards. 2020-05-25 16:51:23 +02:00
Oleg Agafonov
abda99e203 Fixed that fused cards allows to cast from graveyard (see prev commit 63dbf5f40b); 2020-05-24 09:21:49 +04:00
Oleg Agafonov
63dbf5f40b * Split cards improves:
* Fixed that fused spells can't be played from non hand zone;
 * Fixed double choose spell dialog (#5506, #6549);
2020-05-19 01:30:46 +04:00
Evan Kranzler
c24851b4a9 fixed a bunch of discard issues (#6532) 2020-05-15 21:19:04 -04:00
Evan Kranzler
713a7ab35d fixed a null pointer exception when multiple players discard 2020-05-15 20:51:42 -04:00
etpalmer63
25db5f11eb Changed old constructor to call the new one to prevent code duplication 2020-05-15 11:29:51 -07:00
gp66
877abe087a removed copy/paste code 2020-05-15 12:57:28 -05:00
gp66
162907b9da missing token images in thb and war 2020-05-13 15:44:40 -05:00
gp66
3865c52974 missing token images in thb and war 2020-05-13 15:44:26 -05:00
etpalmer63
235c5aa86f Added method to SupportAbility class to allow for removal of 'other' text in rule generation 2020-05-11 10:52:34 -07:00
etpalmer63
120915c949 removed captialization in effect rule generation to see if it passes tests 2020-05-08 22:04:28 -07:00
etpalmer63
abc5a601d8 removed print out statement used in debugging 2020-05-08 12:14:37 -07:00
etpalmer63
b51b5272b3 cleaned up comments and spacing 2020-05-08 11:50:19 -07:00
etpalmer63
16fa496c04 changes to auto-text generation, unclean 2020-05-08 11:22:17 -07:00
Oleg Agafonov
e3b75a445f
Merge pull request #6520 from emerald000/londonMulligan
Streamline London Mulligan UX.
2020-05-07 15:52:16 +02:00
emerald000
a904b7c890 Fix StubPlayer handling of London mulligans and fix related tests. 2020-05-05 23:15:45 -04:00
Evan Kranzler
b4fd4aab58 fixed bookmark usage in DoWhenCostPaid 2020-05-05 10:04:07 -04:00
emerald000
75bc19d4a7 Add a button on the deck editor to change your cards to the oldest versions. 2020-05-05 01:24:34 -04:00
emerald000
1e8f006448 Streamline London Mulligan UX.
- Choose cards to put on bottom directly from hand.
- Put cards on bottom in order chosen instead of asking afterwards.
2020-05-04 22:57:50 -04:00
Evan Kranzler
bde65d6279
Created class for reflexive triggered abilities (Ready for review) (#6500)
* added class for reflexive triggered abilities

* added DoWhenCostPaid

* a few more refactors

* some more refactoring

* almost all refactors done

* finished refactoring

* updated text generation

* Delete SendOptionUsedEventEffect.java

* fixed Wildborn Preserver text
2020-05-04 20:51:38 -04:00
Oleg Agafonov
8a3ba6729f
Merge pull request #6507 from emerald000/abilityResolved
Refactor and add hint for "Ability resolved X times"
2020-05-04 08:54:40 +02:00
emerald000
3465493ccf Rename, move and comment resolving ability event creation.
Should be clearer now.
2020-05-03 18:56:35 -04:00
etpalmer63
ee74d76a3e Fix typos in Glittering Lion abilities rules 2020-05-03 13:02:45 -07:00
Evan Kranzler
75577cdbe9
Added new method for discarding cards to handle batch triggers (ready for review) (#6489)
* added new discard method

* started refactoring to use new discard method

* refactored A through I

* fixed some issues

* separated balance effect into its own class

* refactored J through R

* refactored S through Z

* applied requested changes
2020-05-03 14:35:26 -04:00
Oleg Agafonov
2739391b1d
Merge pull request #6510 from gp66/completed-suggestions-iko-tokens
Completed suggestions iko tokens
2020-05-03 20:10:11 +02:00
Oleg Agafonov
f3990caf22
Merge pull request #6502 from SpeedProg/angel_of_serenity_mp_fix
Multiplayer test and fix for Angel of Serenity leaves battlefied trig…
2020-05-03 19:56:21 +02:00
gp66
f3bde1dbab completed suggestions for IKO tokens 2020-05-03 12:52:51 -05:00
emerald000
111114e338 Refactor and add hint for "Ability resolved X times"
Affects Ashling the Pilgrim, Inner-Flame Igniter and Soulbright Flamekin.
2020-05-03 09:42:16 -04:00
SpeedProg
724287360c Multiplayer test and fix for Angel of Serenity leaves battlefied trigger when controlled by other then owner and owner leaves game 2020-05-03 11:20:48 +02:00
gp66
8bea930a69 added IKO tokens 2020-05-02 21:59:22 -05:00
SpeedProg
9597e95b8d fixed TargetCardInOpponentsGraveyard not working properly
fixed ignoring allFromOneOpponent in canChoose
fixed including own graveyard in canChoose
fixed including own graveyard for possibleTargets
fixed not overriding one canTarget at all which allowed targeting cards in different graveyards
should also fix #6472
2020-05-02 19:46:13 +02:00
Evan Kranzler
4ceaeeebad added a new static filter 2020-05-01 18:28:43 -04:00
Evan Kranzler
bc2ef9492e fixed a few errors with urza lands 2020-05-01 07:55:18 -04:00
Evan Kranzler
8b09f99708 small fix 2020-04-30 20:58:51 -04:00
Evan Kranzler
40d3e14416 fixed implementation of tron lands 2020-04-30 20:47:52 -04:00
Evan Kranzler
ef31fde7a7 fixed Predatory Impetus 2020-04-30 18:20:41 -04:00
Tim Haering
7310e0ad96 remove not needed quotes 2020-04-30 08:58:38 +02:00
Evan Kranzler
c7140d1ace fixed Impetus texts 2020-04-29 21:13:33 -04:00
Evan Kranzler
8712ab7578 fixed Flawless Maneuver et al. causing an error when cast 2020-04-29 20:53:30 -04:00
Evan Kranzler
a239fd0dda fixed graveyard count not correctly using filters 2020-04-29 18:42:29 -04:00
Tim Haering
17c40ead3c add import support for mtgjson deck files 2020-04-29 20:29:15 +02:00
Evan Kranzler
4d1f37d0fe reworked implementation of Ashling the Pilgrim and similar cards, added a test 2020-04-27 18:33:57 -04:00
Evan Kranzler
ed66104575 more misc text fixes 2020-04-25 20:39:45 -04:00
Evan Kranzler
4afefea1f5 misc text fixes 2020-04-25 20:24:46 -04:00
Evan Kranzler
8bbdae4af6 updated "play from top of library" effects 2020-04-25 18:49:23 -04:00
Evan Kranzler
83f3d7c692 so many text fixes seriously like so many 2020-04-24 21:38:46 -04:00
Evan Kranzler
5af57d29e8 changed BasicManaAbility to only be used for basic mana abilities 2020-04-24 20:39:08 -04:00
AsterAether
1804b8df01
Implemented Xyris and Kalamax (#6430)
* Implemented Xyris, the Writhing Storm

* Name change for Xyris's draw ability.

* Implemented Kalamax, the Stormsire.

* Added Kalamax and Xyris to Commander2020Edition Set.

* Updated XyrisTheWrithingStorm drawCards implementation.

* Fixed bug where "First card drawn" was not enforced.

* Removed unnecessary Predicates.or, and replaced custom effect with CreateTokenEffect
2020-04-24 09:39:53 -04:00
Evan Kranzler
cdb615acba fixed Vivien Reid text 2020-04-23 20:43:10 -04:00
Evan Kranzler
0f5d025699 fixed banding lands text 2020-04-23 20:33:20 -04:00
Evan Kranzler
7f32ea0be2
Updated implementation of Hexproof abilities (#6451)
* updated implementation of hexproof abilities

* added hexproof from color test

* updated generic in AbilityPredicate
2020-04-23 20:01:13 -04:00
Evan Kranzler
9978b9bec9 fixed issue with dependecies of continuous effects 2020-04-23 17:37:31 -04:00
Evan Kranzler
7522c0a049 Implemented Twinning Staff 2020-04-23 17:36:26 -04:00
Evan Kranzler
c88a087c7e Implemented Pako, Arcane Retriever 2020-04-22 20:31:35 -04:00
Evan Kranzler
a1074f5759 fixed populate copying noncreature tokens 2020-04-22 19:58:49 -04:00
Evan Kranzler
8b70ae8298 fixed Thwart the Enemy preventing all damage 2020-04-22 08:06:05 -04:00
Evan Kranzler
5986014026 fixed Skycat Sovereign token name 2020-04-22 08:04:21 -04:00
htrajan
f6872732f2
C20 Gavi Nest Warden (#6452)
* C20 Gavi Nest Warden

* remove unneeded predicate; set text in effect; remove unneeded constructor param for static ability

* staticText

* rebuild
2020-04-22 07:38:34 -04:00
htrajan
a1118292f2
C20 Tayam, Luminous Enigma (#6453)
* C20 Tayam, Luminous Enigma WIP

* fix counter removal cost

* add author tag

* static

* staticText
2020-04-22 07:36:36 -04:00
AsterAether
e1fd213e0f
Implemented Akim, the Soaring Wind, and new CreatedTokenEvent (#6431)
* Implemented Akim, the Soaring Wind, and new CreatedTokenEvent, that can be used to for TriggeredEvents.

* Formatting, and added Condition to Akim triggered Ability.

* Added Condition and ConditionHint to Akim.
2020-04-21 22:20:11 -04:00
Evan Kranzler
599c5cf742 fixed Yidaro, Wandering Monster 2020-04-21 21:56:38 -04:00
Evan Kranzler
618af9b365 Implemented Rielle, the Everwise 2020-04-21 20:12:41 -04:00
Evan Kranzler
fde0873895 Implemented Capricopian 2020-04-21 17:34:18 -04:00
Evan Kranzler
09cf95f793 fixed Song of Creation text 2020-04-20 21:47:36 -04:00
Evan Kranzler
83a0df735b fixed Mythos of Vadrok text 2020-04-20 21:34:49 -04:00
Evan Kranzler
58541b8a24 fixed menace counters not working 2020-04-20 19:21:01 -04:00
Evan Kranzler
37b79bc6ad updated text generation for ability counters 2020-04-20 18:19:56 -04:00
Evan Kranzler
5d8d9291ae fixed ability counter creation not using amount 2020-04-20 17:53:50 -04:00
Evan Kranzler
1f85dcb334 fixed implementation of Cradle of Vitality (fixes #6428) 2020-04-20 17:51:50 -04:00
Oleg Agafonov
ba86bf0c15 * Gain abilities - fixed wrong text with quotes; 2020-04-19 23:50:31 +04:00
Oleg Agafonov
dfdc1e5e06 [IKO] Jubilant Skybonder - fixed text; 2020-04-19 23:18:34 +04:00
Oleg Agafonov
ccd95cdd71 * Boost effects - fixed wrong text for zero values (-0/-1, -1/-0, etc); 2020-04-19 22:27:03 +04:00
Oleg Agafonov
cba3f0ee12 * As an additional cost to cast - fixed wrong text (reveal cost, etc); 2020-04-19 21:32:51 +04:00
Oleg Agafonov
39894c6394 * As an additional cost to cast discard X cards abilities - fixed wrong text (Firestorm, etc); 2020-04-19 21:18:57 +04:00
Oleg Agafonov
4b940fb2fe
Merge pull request #6432 from htrajan/c20-sanctuary-blade-and-verge-rangers
C20 sanctuary blade and verge rangers
2020-04-18 23:31:10 +02:00
htrajan
874ff7179f -don't static import static filters
-use existing choose color and gain protection from color attached effects
-update naming and add null check for AttachedToCreatureSourceTriggeredAbility
2020-04-18 13:13:02 -07:00
Oleg Agafonov
80ffa1652f * Can't attack or block until pay abilities - fixed missing card texts (Floodtide Serpent, Qal Sisma Behemoth); 2020-04-18 22:11:32 +04:00
htrajan
c567fc2ee1 update author tags, remove unneeded static text 2020-04-17 22:30:39 -07:00
htrajan
e09a922e31 wip 2020-04-17 21:51:21 -07:00
htrajan
5a1b40a42f add filter copy to GameState's copy constructor and restore method 2020-04-16 19:54:07 -07:00
htrajan
1dc305f329 -setStrictChooseMode and assertAllCommandsUsed in every test
-store filter info in GameState
-put instead of putIfAbsent
2020-04-16 19:21:54 -07:00
htrajan
5eeffc1fcf unstar import 2020-04-16 17:59:17 -07:00
htrajan
ddb14d8d56 unused imports 2020-04-16 17:55:24 -07:00
htrajan
92d6326316 finish 2020-04-16 17:50:17 -07:00
htrajan
a08bd34582 Merge branch 'master' into implement-zilortha
# Conflicts:
#	Mage/src/main/java/mage/game/GameImpl.java
2020-04-16 15:55:24 -07:00
htrajan
cab436e9e5 wip 2020-04-16 15:53:51 -07:00
Evan Kranzler
8494e98693
Implemented Yorion, Sky Nomad (#6407)
* Implemented Yorion, Sky Nomad

* Implemented Yorion, Sky Nomad (but for real this time)

* updated game creation to use the correct deck size for limited
2020-04-16 08:10:18 -04:00
Evan Kranzler
378dfbf89a
Updated implementation of Unpredictable Cyclone (#6423)
* updated implementation of Unpredictable Cyclone, refactored drawCard method

* fixed another small implementation error

* added test for Unpredictable Cyclone

* updated Unpredictable Cyclone test
2020-04-16 08:04:21 -04:00
Oleg Agafonov
10348faaec Fixed missing serialization settings (#6420); 2020-04-16 09:17:41 +04:00
Evan Kranzler
1874a8404a Implemented Quartzwood Crasher 2020-04-15 08:32:17 -04:00
Evan Kranzler
fd02d66227 Implemented The Ozolith 2020-04-14 23:11:29 -04:00
Evan Kranzler
a689646735 Implemented Unpredictable Cyclone 2020-04-14 22:16:52 -04:00
Evan Kranzler
cae39848b9 updated Raid text 2020-04-13 18:18:55 -04:00
Evan Kranzler
8e3f029df6 Implemented Narset of the Ancient Way 2020-04-13 18:00:32 -04:00
Oleg Agafonov
8b664adce6 Merge fix 2020-04-13 22:12:47 +04:00
Oleg Agafonov
beb7ab852f * Planechase: added info about planechase mode in game's startup logs; 2020-04-13 21:56:53 +04:00
Oleg Agafonov
823d677068 Planechase: refactor planes; 2020-04-13 21:50:40 +04:00
Evan Kranzler
b6557201b4 Implemented Lukka, Coppercoat Outcast 2020-04-13 08:42:10 -04:00
Evan Kranzler
f3ea9c15cf Implemented Startling Development 2020-04-12 20:24:30 -04:00
Evan Kranzler
297710c7fa Implemented Yidaro, Wandering Monster 2020-04-12 18:21:27 -04:00
Evan Kranzler
7e86626f1d Implemented Shark Typhoon 2020-04-12 17:21:25 -04:00
emerald000
c3684a732b [IKO] Implement Companion and 2 companions
Keruga, the Macrosage and Umori, the Collector
2020-04-12 08:29:25 -04:00
Evan Kranzler
395ae9ec11 fixed an error 2020-04-11 22:14:24 -04:00
Evan Kranzler
d76dc5785c Implemented Rumbling Rockslide 2020-04-11 21:57:33 -04:00
Evan Kranzler
d3ac65b68b Implemented Mythos of Illuna 2020-04-11 20:58:00 -04:00
Evan Kranzler
b139e5b0e1 Implemented Boot Nipper 2020-04-10 21:52:23 -04:00
Evan Kranzler
5702a02af0 Implemented Skycat Sovereign 2020-04-09 21:03:31 -04:00
Evan Kranzler
affbb93b3e Implemented Extinction Event 2020-04-08 18:24:40 -04:00
Evan Kranzler
71b69b9308 Implemented Ominous Seas 2020-04-08 08:31:48 -04:00
Evan Kranzler
23582b4a09 Implemented Psychic Impetus 2020-04-07 22:00:13 -04:00
Evan Kranzler
2d11f69d0e Implemented Crystalline Resonance 2020-04-07 20:52:03 -04:00
Evan Kranzler
d8d8e7c174 Implemented Forbidden Friendship 2020-04-06 20:59:53 -04:00
Evan Kranzler
0ab6951b9e Implemented Barrier Breach 2020-04-06 17:38:40 -04:00
Evan Kranzler
e91fc7d636 Implemented Everquill Phoenix 2020-04-05 17:28:53 -04:00
Evan Kranzler
9ba949369e Implemented Insatiable Hemophage 2020-04-05 16:20:52 -04:00
Evan Kranzler
a4e9b21b82 Implemented Drannith Stinger 2020-04-05 09:22:01 -04:00
Evan Kranzler
0f6f810c24 Implemented Thieving Otter 2020-04-04 22:40:37 -04:00
Evan Kranzler
176f06c1dc Implemented Jirina Kudro 2020-04-04 22:32:47 -04:00
Evan Kranzler
381de68563 Implemented Kathril, Aspect Warper 2020-04-04 21:25:06 -04:00
Evan Kranzler
5b58e6df0c Implemented Flawless Maneuver 2020-04-04 19:31:45 -04:00
Evan Kranzler
14a33f11aa Implemented Netherborn Altar 2020-04-04 18:04:07 -04:00
Evan Kranzler
1e43371470 Implemented Wingfold Pteron 2020-04-04 00:34:19 -04:00
Evan Kranzler
6507e86715 Implemented Voracious Greatshark 2020-04-03 17:33:39 -04:00
Evan Kranzler
06f5ad8cab Implemented Grimdancer 2020-04-02 19:19:47 -04:00
Evan Kranzler
00214ef80c Implemented Cloudpiercer 2020-04-02 17:25:37 -04:00
Evan Kranzler
aa1a3b3353 Implemented Zagoth Mamba 2020-04-02 17:16:42 -04:00
Evan Kranzler
272f78e88a Implemented Void Beckoner 2020-04-02 15:10:56 -04:00
Evan Kranzler
2483fd9c8d Implemented Fully Grown 2020-04-02 15:04:28 -04:00
Antonio Alonzi
f86529bbb9 #6256: Do not create new Set/Map 2020-03-30 09:22:02 +01:00
Antonio Alonzi
76c9d38f57 #6256: Fixed Watcher copy method for JDK11 2020-03-28 19:56:25 +00:00
Thomas Hess
529552dd2c
Fixed set codes for the Duel Deck Anthology deck sets.
The decks now use the set codes from Scryfall.
2020-03-24 17:32:06 +01:00
Thomas Hess
3f288ef04e
Added the Secret Lair (SLD, PSLD, SLU) sets. 2020-03-24 17:32:05 +01:00
Oleg Agafonov
2b78ec745c * Mind's Desire - fixed that it doesn't work with split cards (#6337); 2020-03-12 04:07:17 +04:00
Oleg Agafonov
a20bca1b21 Test framework: fixed ai play commands, added more tests 2020-03-12 02:05:06 +04:00
Oleg Agafonov
14ddb6eb28 * AI: fixed wrong targeting for gain control abilities (#6340); 2020-03-11 18:22:58 +04:00
Oleg Agafonov
86f6d39f5a * AI: fixed rollback errors on play cards with target stack (Diplomatic Escort, Not of This World, etc); 2020-03-09 13:49:07 +04:00
Oleg Agafonov
ff3df35467 Fixed NPE errors on empty sourceId in mage reference object; 2020-03-07 00:24:16 +04:00
Oleg Agafonov
d7a48efa89 * Rules: chicken subtype replaced by bird subtype (Chicken à la King, Chicken Egg, Fowl Play, Free-Range Chicken, Poultrygeist); 2020-03-04 00:59:37 +04:00
jeffwadsworth
8e41215fa5 - Refactor to resolve failing test 2020-03-02 16:02:56 -06:00
jeffwadsworth
26439bef95 - Fixed #6325 2020-03-02 14:50:20 -06:00
Oleg Agafonov
8ee1dd20d3 * UI: added preferences to enable or disable turn number and step info in game logs; 2020-02-28 21:04:37 +04:00
Oleg Agafonov
2e73f9d1c5 * UI: added turn number and step info in game logs 2020-02-28 20:27:07 +04:00
Oleg Agafonov
169d9bf761 * Non basic mana abilities - fixed rollback errors in AI games (#6300); 2020-02-25 12:41:45 +04:00
jeffwadsworth
39ea0ec65d - Fixed #6292 2020-02-21 10:59:03 -06:00
Oleg Agafonov
bd0974eecd * Cost increasing - fixed rollback error (#6284); 2020-02-17 20:43:51 +04:00
Oleg Agafonov
30ab06bd26 Little fix 2020-02-15 16:11:20 +04:00
jeffwadsworth
033ad94b8b - Fixed Disciple of Phenax and Ghastlord of Fugue. 2020-02-13 09:34:56 -06:00
Oleg Agafonov
5a5c49229e Merge fix 2020-02-11 23:02:46 +04:00
Oleg Agafonov
b5acf64772 * Monohybrid mana cost improves:
* fixed wrong manually pay by mana pool (it pays generic cost instead colored part of monohybrid);
 * fixed not working cost reduction effects (now monohybrid cost will be reduced correctly with some limitation, see #6130);
2020-02-11 22:33:32 +04:00
Samuel Sandeen
d56f6b991b
Fix Sevinne's Reclamation. (#6275)
This also handles the rather unique case caused by Sevinne's Reclamation where the original spell resolves before the copy of it.
Also fixes a couple typos.
2020-02-10 08:18:12 -05:00
Ingmar Goudt
ae7919cd07 program towards Interface rather than implementations 2020-02-10 10:40:06 +01:00
Oleg Agafonov
b04c436801 Merge pull request #6274 from Dilnu/Rider
Check zone change counters in PutOnLibrarySourceEffect
2020-02-09 19:49:29 +01:00
dilnu
a089b70d64 Use getSourceObjectIfItStillExists. 2020-02-09 13:40:26 -05:00
dilnu
847df3eeb8 Check zone change counters in PutOnLibrarySourceEffect 2020-02-09 11:56:13 -05:00
Samuel Sandeen
29ce4b1ad4
Fix Lifelink so it triggers per source instead of per recipient in combat. (#6272)
* Fix Lifelink so it triggers once per source instead of once per recipient in combat.

* Undo an import collapse.

* Add more tests for lifelink.
2020-02-08 20:31:50 -06:00
Oleg Agafonov
6674ca5d20
Merge pull request #6251 from Dilnu/Bonecrusher
Only fire one TARGETTED event per target selected while changing targets.
2020-02-08 16:31:04 +01:00
jeffwadsworth
b11e2a0fe9 - refactor some cards and an effect 2020-02-07 08:52:04 -06:00
jeffwadsworth
d6c2f031d0 - Fixed #6236 2020-02-06 17:47:08 -06:00
Oleg Agafonov
b75a5d86b1 * Dymanic mana abilities - fixed missing mana text (affected cards Priest of Titania); 2020-02-06 21:44:25 +04:00
Oleg Agafonov
dc43707a4d * Prevent all damage - fixed text; 2020-02-06 21:26:52 +04:00
Oleg Agafonov
1cbabacc23
Merge pull request #6243 from Dilnu/master
Fix the Divine Visitation replacement effect.
2020-02-05 12:40:32 +01:00
Oleg Agafonov
5adab75324
Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
Leandro Doctors
8a0a9acff7 format: organize imports 2020-02-04 16:21:48 -03:00
dilnu
0d382d3875 Move the Token field added from GameEvent to a subclass. 2020-02-03 21:57:10 -05:00
dilnu
b6af571779 Only fire one Targetted event per target
This specifically addresses changing the target of a spell or ability on the stack.
Fixes https://github.com/magefree/mage/issues/6158
2020-02-02 19:40:25 -05:00
dilnu
06e77bd7d6 Allow players to block creatures attacking destroyed planeswalkers.
See Comprehensive rules: 506.4c
Fixes https://github.com/magefree/mage/issues/6240
2020-02-01 17:30:30 -05:00
dilnu
cc9629ed51 Fix the Divine Visitation replacement effect.
This also gives the CREATE_TOKEN game events access to the Token being created and updates the GatherSpecimens replacement effect to use that access.
2020-02-01 15:15:52 -05:00
Oleg Agafonov
f0ff8154f3 * Can't cast prevention effects - fixed that UI marked affected cards as playable, but they're not; 2020-02-01 12:17:04 +04:00
Oleg Agafonov
9cd3eeb898 * UI: improved prevention effect messages (now it shows source object name in message window); 2020-02-01 11:37:10 +04:00
Oleg Agafonov
89394ffe0a Improved ability outcome processing; 2020-01-29 07:33:33 +04:00
Oleg Agafonov
cae3081123 Additional card hints for 68326c8554 2020-01-29 07:08:52 +04:00
Oleg Agafonov
68326c8554 * UI: added card hints about active requirement effects (permanent must attack or must block); 2020-01-29 06:51:39 +04:00
Oleg Agafonov
8ca6fd8552 Can't be target/attached effects - fixed that user gets multiple warning message about prevention effect; 2020-01-28 05:31:32 +04:00
Oleg Agafonov
105062beb7 Fixed multiple NPE errors in cards; 2020-01-28 03:37:49 +04:00
Oleg Agafonov
cc1840b109 * Glory Bearers - fixed that it boost itself too; 2020-01-28 01:46:40 +04:00
Oleg Agafonov
9ec6aa83c4 * Infected counters - fixed rollback error on usage; 2020-01-26 18:41:01 +04:00
Oleg Agafonov
ab2fb29270 Code cleanup (removed unused log4j setting files, added extra info, samples and instructions, removed java logs) 2020-01-26 16:30:42 +04:00
jeffwadsworth
cb340e4709 - Revert changes made for bug #5437. See 2ca1643b54 2020-01-23 08:31:22 -06:00
Oleg Agafonov
2ca1643b54 * Delay triggered abilities - fixed that copied spell with multiple delayed triggered abilities can freeze the game or missing from stack (#5437); 2020-01-23 07:04:19 +04:00
jeffwadsworth
5aaec29361 - Workaround for #5437. The delayed triggers work correctly now and the game will no longer freeze. TODO: Cards that are copied and then cast do not retain the correct sourceObject. They instead point to the spell on the stack which fails when delayed triggers are used. 2020-01-22 16:57:01 -06:00
Oleg Agafonov
c835fb409d * Bolas's Citadel - fixed that it can't play cards with cycling (#6215); 2020-01-22 14:45:44 +04:00
Oleg Agafonov
cf759e0443 * War's Toll - fixed that is applies restriction attack effect from any zone (from command, hand, etc); 2020-01-22 12:33:03 +04:00
jeffwadsworth
a7c4e44632 - Fixed #6218 2020-01-21 16:12:01 -06:00
Oleg Agafonov
eaaa37db11 Card render testing dialog improves:
* Added chooseable render testing (click by mouse on cards);
* Added column style render testing (many cards mode);
* Added tapped, face down and manifested render testing for permanents;
* CardView: fixed missing copy data (NPE for transformed cards);
* CardArea: added support to draw permanents;
* CardArea: added support of offsets between cards/columns;
2020-01-22 00:44:25 +04:00
jeffwadsworth
91e892588b - Fixed #6203 2020-01-20 14:39:18 -06:00
LevelX2
d87a4e4c9b * Karn Liberated - Fixed that a with Karn's ability exiled commander was not put to battlefield after game restart. 2020-01-19 16:48:58 +01:00
Oleg Agafonov
8c0a023831 Revert 2020-01-18 11:24:12 +04:00
Oleg Agafonov
b2ab3a2ba4 Fixed multiple card texts; 2020-01-18 11:01:33 +04:00
Oleg Agafonov
8add25fa12 * UI: choose modes dialog improves:
* Added hotkeys to select options (1-9 for choice, SPACE/ENTER for done, ESC for cancel);
 * "Up to" modes choose dialog - added "done" button in dialog;
 * "Up to" modes choose dialog - fixed that user can't cancel if already selected one mode;
 * Added extra info about source object, selected and remaining modes to select, ability number for hotkey;
 * Fixed that mode choose dialog doesn't close on cancel (#6199);
2020-01-18 06:30:44 +04:00
Oleg Agafonov
bc899e7ea5 Added THB tokens 2020-01-16 18:51:20 +04:00
Oleg Agafonov
12aec087b2 Prepare new release 2020-01-16 18:26:38 +04:00
Oleg Agafonov
a31da48084 Little fixes 2020-01-16 17:11:19 +04:00
Oleg Agafonov
5d52f0ace3 * Conqueror's Galleon - fixed that it returns under owner control instead your; 2020-01-16 08:54:59 +04:00
Oleg Agafonov
d20a20fb6a Refactor related to #6187 2020-01-15 11:47:22 +04:00
Oleg Agafonov
745bfa2836 Fixed NPE errors on missing card (game.getCard can't find card); 2020-01-15 07:08:56 +04:00
Oleg Agafonov
2d4b2d0699 Fixed text 2020-01-15 06:55:20 +04:00
Oleg Agafonov
b0a45e7c31 * Escape abilities - removed additional cost text from card rules; 2020-01-15 06:49:51 +04:00
Oleg Agafonov
bcb5be77be Fixed NPE on empty net mana returns (from some effects); 2020-01-15 03:50:27 +04:00
Oleg Agafonov
3fdaf043a1 fixed Taranika, Akroan Veteran (wrong text); 2020-01-14 20:52:13 +04:00
LevelX2
55fe1db60d Merge origin/master 2020-01-14 17:43:43 +01:00
LevelX2
6455180765 * Some code clean up and a new test. 2020-01-14 17:42:58 +01:00
Oleg Agafonov
b1b6bd600e Improved rules text generation and removed static texts for some cards with effects:
* ExileTargetForSourceEffect
 * ReturnFromExileForSourceEffect
 * ReturnToBattlefieldUnderOwnerControlTargetEffect
 * ReturnToBattlefieldUnderYourControlTargetEffect
2020-01-14 20:38:45 +04:00
Oleg Agafonov
ce3f6d8e41 Fixed wrong ends symbols in combined effects rules like IfDoCost; 2020-01-14 20:35:16 +04:00
Oleg Agafonov
3a681d565a * Displace - fixed that it return cards under your control instead owner; 2020-01-14 19:15:42 +04:00
Oleg Agafonov
748d14e55e * Thassa, Deep-Dwelling - fixed text; 2020-01-14 18:53:47 +04:00
Oleg Agafonov
92eba9861d fixed Uro, Titan of Nature's Wrath (getSpellOrLKIStack return ability instead spell after card triggers); 2020-01-14 11:48:15 +04:00
Oleg Agafonov
11976b5c89 Refactor: move player.damage params to default (same as permanent.damage); 2020-01-14 09:15:33 +04:00
Oleg Agafonov
76387057b7 * Deals damage to player - fixed that some cards deals combat damage instead non-combat; 2020-01-14 08:53:09 +04:00
LevelX2
42265d78d8 * Haktos the Unscarred - Fixed some problems with the protection ability not working correctly. 2020-01-14 00:34:48 +01:00
Oleg Agafonov
cf072f0b1a * Deck editor: fixed error message "layout mismatch" for decks with special cards number (PUMA set and other); 2020-01-14 03:05:11 +04:00
Oleg Agafonov
4d2790be3f * Thirst for Meaning - fixed that it doesn't allow to discard artifact card as pay;
* Thirst for Knowledge - fixed that it doesn't allow to discard enchantment card as pay;
2020-01-13 15:03:01 +04:00
Oleg Agafonov
4a004a27b3 Refactor damage with power effect, added checking for wrong targets; 2020-01-13 13:49:40 +04:00
Oleg Agafonov
69e52815b6 Tests: added check that filter card must not contain controller predicate; 2020-01-13 10:41:00 +04:00
Evan Kranzler
595b438faa updated SagaChapter getChapter method 2020-01-12 13:30:18 -05:00
Oleg Agafonov
6736f5f3b8 * My turn condition - added card hints about turn; 2020-01-12 21:59:56 +04:00
Oleg Agafonov
1a82eba77c * My turn condition - added card hints about turn; 2020-01-12 21:36:23 +04:00
Oleg Agafonov
3eb4493a45 * My turn condition - added card hints about turn; 2020-01-12 21:25:50 +04:00
LevelX2
62062367e2 Implemented Furious Rise. 2020-01-12 13:19:09 +01:00
LevelX2
7d3f17d578 Implemented Gravebreaker Lamia. 2020-01-12 11:29:43 +01:00
Oleg Agafonov
860c57d9d9 * Chrom Mox - fixed that tapped for mana replacement effects ignore his mana; 2020-01-12 10:09:51 +04:00
Oleg Agafonov
f237c4f388 * Escape abilities - fixed missing game log about cast with Escape; 2020-01-12 07:44:17 +04:00
Evan Kranzler
e3192a7361 fixed Escape not working with targets 2020-01-11 22:02:09 -05:00
Evan Kranzler
0533854d1d Implemented Nightmare Shepherd 2020-01-11 18:08:37 -05:00
Evan Kranzler
35100c2532 Implemented Calix, Destiny's Hand 2020-01-11 18:08:36 -05:00
Oleg Agafonov
a7aa14b125 Merge remote-tracking branch 'origin/master' 2020-01-12 01:18:04 +04:00
Oleg Agafonov
e1fea330dd Test framework - multiple improves:
* Added support of spell ability choice in free cast (chooseSpellAbilityForCast);
* Added support of "up to" targets setup in addTargetAmount (use TestPlayer.TARGET_SKIP to stop target choose);
* Restored multiple checks for addTargetAmount;
* Fixed many wrong tests (wrong order or missing commands);
2020-01-12 01:17:39 +04:00
LevelX2
955c10a91d Merge origin/master 2020-01-11 22:12:11 +01:00
LevelX2
946aff50a2 Implemented Heliod's Punishment, Hydra's Growth, Ilysian Caryatid, Impending Doom and Incendiary Oracle. Fixed Irreverent Revelers. 2020-01-11 22:11:44 +01:00
Evan Kranzler
11c3d33ac0 Implemented Alirios, Enraptured 2020-01-11 12:48:13 -05:00
LevelX2
86f2d22baa Implemented Underworld Fires and Wings of Hubris 2020-01-11 18:22:30 +01:00
Oleg Agafonov
5f5d9046f9 * Choose card in hand - fixed rollback error for some cards like Nicol Bolas, Dragon-God; 2020-01-11 08:47:54 +04:00
LevelX2
1f7a7a10b0 * Panopticon Plane - Fixed draw card abilities. 2020-01-11 01:25:26 +01:00
LevelX2
d3a925d2c9 * Marisi, Breaker of the Coil - Fixed can't cast ability. 2020-01-10 21:11:22 +01:00
LevelX2
35628c205a * Venarian Gold - Fixed rule text according #6170. 2020-01-10 20:43:19 +01:00
LevelX2
8d8d02b07a * Added game to getSharedAbilities() method of split and adventure cards . 2020-01-10 20:03:32 +01:00
LevelX2
eded48648f * Fixed a problem with checkPlayableState (could be reset to early) and fixed a problem of getUsableAcitavedAbilities. 2020-01-10 15:51:44 +01:00
LevelX2
e91639a478 * Implemented handling of up to for TargetAmount. 2020-01-10 15:49:10 +01:00
LevelX2
bd76e54e9d * Xantcha, Sleeper Agent - Fixed wording of the replacement effect (Oracle changes from 2019-09-27) and generalized the effect for 3 cards. 2020-01-10 14:18:56 +01:00
LevelX2
766c4f8bf6 * Fixed card movement handling. 2020-01-10 08:53:35 +01:00
LevelX2
47a8686958 * Some more move actions replaced and added missing methods for move to command zone. 2020-01-09 23:17:39 +01:00
LevelX2
349a2cc612 * Leadership Vacuum - Fixed that the movement of the commanders were not reported in the game log. 2020-01-09 22:46:20 +01:00
Evan Kranzler
3d991635e8 updated Gold token errata 2020-01-09 12:41:48 -05:00
LevelX2
7ce7c2ad70 * Fixed a problem with P/T of permanets that transform back again to the original source card (fixes #6156). 2020-01-09 08:25:29 +01:00
Oleg Agafonov
b366a83a45 Prepare new release 2020-01-09 08:55:26 +04:00
Oleg Agafonov
ab1475d7e0 Little fixes 2020-01-09 08:52:25 +04:00
jeffwadsworth
292a0a2912 - Fixed #6157 2020-01-08 16:47:05 -06:00
Evan Kranzler
23b2bd8b7e Implemented Dryad of Ilysian Grove 2020-01-08 12:23:23 -05:00
Oleg Agafonov
00da778484 Fixed NPE with empty library 2020-01-08 18:48:41 +04:00
Evan Kranzler
6bdd395e8f Implemented Altar of the Pantheon 2020-01-07 22:45:53 -05:00
Evan Kranzler
a9739f12f1 Implemented Kiora Bests the Sea God 2020-01-07 22:45:53 -05:00
Oleg Agafonov
85e65c8f44 Code cleanup 2020-01-08 05:19:52 +04:00
Oleg Agafonov
ca4a4528fb * Play with top card library - fixed that player can see next top card before casting current top card; 2020-01-08 04:54:17 +04:00
Oleg Agafonov
d3b1be2f75 * Adventure cards - added player name to adventure exile window; 2020-01-07 22:43:15 +04:00
LevelX2
3d998a85b8 Merge origin/master 2020-01-07 17:56:57 +01:00
LevelX2
d4ec65cddb Added Test and changed some log messages from info to debug. 2020-01-07 17:56:26 +01:00
Evan Kranzler
463c208a39 removed lazy loading of predicates from TargetController 2020-01-07 10:32:34 -05:00
Oleg Agafonov
339c419d4b * UI: multiple improves for adventure/split cards:
* Split cards shows left and right mana cost (in deck editor, hand, etc);
 * Adventure cards shows adventure and normal cost (in deck editor, hand, etc);
 * Adventure cards shows adventure spell name in deck editor's list;
 * Fixed missing loading cursor in deck editor searching;
2020-01-07 11:49:55 +04:00
Oleg Agafonov
c4ad761ebb Merge fix 2020-01-07 11:41:25 +04:00
Evan Kranzler
14c22137ce Implemented Anax, Hardened in the Forge 2020-01-06 21:55:11 -05:00
Evan Kranzler
48a43a8360
Merge pull request #6152 from magefree/refactorTargetController
Refactored TargetController predicates
2020-01-06 21:56:26 -05:00
Oleg Agafonov
854eaadcc4 Additional fixed for #6147 2020-01-07 06:52:01 +04:00
Oleg Agafonov
b6d76a7c02 * Gain abilities - fixed wrong order effects with changeling ability (all creature type effect, #6147); 2020-01-07 06:38:34 +04:00
Evan Kranzler
41407a4aee added lazy loading to getter methods 2020-01-06 21:05:11 -05:00
Evan Kranzler
dff5c73e1c pulled out DamagedPlayerThisTurnPredicate 2020-01-06 21:00:57 -05:00
Evan Kranzler
5239d0258b fixed another compilation error 2020-01-06 20:50:14 -05:00
Evan Kranzler
9e7fcd33cd fixed some import errors 2020-01-06 20:21:10 -05:00
Evan Kranzler
9c3b923b3f refactored ControllerPredicate 2020-01-06 20:04:56 -05:00
Evan Kranzler
c14a079cc5 refactored OwnerPredicate 2020-01-06 19:59:56 -05:00
Evan Kranzler
3f0547a7fa refactored DamagedPlayerThisTurnPredicate 2020-01-06 19:56:08 -05:00
Evan Kranzler
13d76bfc06 refactored PlayerPredicate 2020-01-06 19:53:29 -05:00
Evan Kranzler
8e29454916 add predicates to TargetController 2020-01-06 19:47:34 -05:00
Evan Kranzler
ecf26585b5 refactored SupertypePredicate to be part of SuperType 2020-01-06 19:21:27 -05:00
Evan Kranzler
aa72251627 Implemented Archon of Sun's Grace 2020-01-06 18:53:35 -05:00
Evan Kranzler
5a6f9022c0
Merge pull request #6151 from magefree/refactorSubTypePredicate
Refactored SubTypePredicate to be part of SubType
2020-01-06 18:27:03 -05:00
LevelX2
b68110f60b * Removed redundant applies check. 2020-01-06 23:16:33 +01:00
LevelX2
b2a8d4293a * War's Toll - Fixed the implementation of the restriction effect. 2020-01-06 23:16:10 +01:00
Evan Kranzler
86906ec25f refactored all instances of SubtypePredicate 2020-01-06 16:48:00 -05:00
Evan Kranzler
3b8298e7c2 moved SubTypePredicate into SubType 2020-01-06 14:59:10 -05:00
Evan Kranzler
688be783aa refactored all usages of CardTypePredicate to match the new implementation 2020-01-06 13:18:17 -05:00
Evan Kranzler
f685ee3d69 moved CardTypePredicate to the CardType class 2020-01-06 13:17:45 -05:00
Evan Kranzler
943e8dd827
Merge pull request #6144 from magefree/staticValueRefactor
Replaced instances StaticValue with singletons (ready to merge)
2020-01-06 08:37:53 -05:00
LevelX2
e565863bd2 Added test for Nissa, Sage Animist -7 ability. 2020-01-06 12:58:50 +01:00
Evan Kranzler
06e069c5db updated implementation as suggested 2020-01-05 22:35:20 -05:00
Evan Kranzler
690e042b36 Implemented Arena Trickster 2020-01-05 21:55:44 -05:00
Evan Kranzler
38fe022fc0 Merge branch 'master' into staticValueRefactor 2020-01-05 20:46:59 -05:00
Evan Kranzler
724acc4e14 fixed failing tests 2020-01-05 20:44:43 -05:00
Evan Kranzler
9a603fbaab replaced StaticValue with singletons 2020-01-05 11:33:21 -05:00
LevelX2
7f0d793544 * Fixed a problem with Licid creatures not dying if the enchanted creature dies. 2020-01-05 17:06:36 +01:00
Evan Kranzler
dccc17fac9 Implemented Purphoros's Intervention 2020-01-05 09:30:26 -05:00
LevelX2
ebdba3c57e * Added logic to check if a card had a triggered ability in the graveyard if it was moved from graveyard to a hidden zone. Because if not, the ability does not trigger. 2020-01-04 23:53:47 +01:00
Oleg Agafonov
9110f70e2d Fixed NPE errors in deck editor; 2020-01-05 02:03:01 +04:00
Oleg Agafonov
2dd64cf5cd * Kicker abilities - fixed that AI can't cast cards with kicker for normal cost (AI don't use kicker now); 2020-01-05 01:04:35 +04:00
Oleg Agafonov
bb59cedbd9 AI fixes:
* Gain control abilities - fixed wrong target chooses by AI (selects weakest permanent instead most powerful);
* Target of an opponent’s choice abilities - fixed that AI was able to cancel card cast, fixed wrong target chooses (Evangelize, Echo Chamber, Arena, Preacher, etc);
2020-01-04 22:37:16 +04:00
Oleg Agafonov
bcb37992cc * Buyback abilities - fixed that AI can't cast cards with buyback for normal cost (AI don't use buyback now); 2020-01-04 20:26:59 +04:00
Oleg Agafonov
1ae9fc883e * Replicate abilities - fixed that AI can freeze the game after play card with replicate (AI don't use it now); 2020-01-04 20:22:49 +04:00
Oleg Agafonov
a249dcffd8 Fixed error with no abilities 2020-01-04 20:18:16 +04:00
Oleg Agafonov
13da4fd2b3 fixed Archon of Falling Stars (must be return to battlefield instead hand) 2020-01-04 19:40:25 +04:00
Evan Kranzler
bfdbac5552 updated THB spoiler 2020-01-04 08:56:21 -05:00
Evan Kranzler
d5474df005 Implemented Shimmerwing Chimera 2020-01-03 22:10:45 -05:00
jeffwadsworth
5ed5bce718 - Fixed #6127 2020-01-03 11:30:29 -06:00
Evan Kranzler
9a3d085a81 Implemented Triumph of Anax 2020-01-03 11:13:54 -05:00
jeffwadsworth
a37c9da789 - Fixed issue where one could see the "next" card on top of the library while casting the current one. Example, Bolas's Citadel ability. 2020-01-03 09:05:08 -06:00
LevelX2
19060954ae Merge origin/master 2020-01-03 15:24:27 +01:00
LevelX2
8854871c15 * Fixed problems of Yixlid Jailer that removed abilities from cards in graveyard permanently (fixes #1147). 2020-01-03 15:23:52 +01:00
Oleg Agafonov
c1351c2339 * Play from top library - fixed that unplayable lands marks as playable; 2020-01-03 17:33:03 +04:00
Oleg Agafonov
a381c1954c * Bolas's Citadel - fixed that it can't play cards with mana abilities; 2020-01-03 17:20:46 +04:00
Oleg Agafonov
893bcbb01f fixed The Birth of Meletis (missing defender ability in token) 2020-01-03 12:20:40 +04:00
Oleg Agafonov
65d914ffe7 Fixed missing watchers 2020-01-03 12:18:19 +04:00
Oleg Agafonov
dceb93e7a6 Additional fixes for getNetMana from #6132 (final) 2020-01-03 06:27:39 +04:00
Evan Kranzler
64ae38c632 Implemented Nessian Boar 2020-01-02 18:56:25 -05:00
Evan Kranzler
be32db8a80 Implemented Inspire Awe 2020-01-02 16:40:42 -05:00
Evan Kranzler
9948aca713 Implemented The Birth of Meletis 2020-01-02 16:40:40 -05:00
Oleg Agafonov
62636b5071 Additional fixes for getNetMana from #6132 2020-01-02 23:33:20 +04:00
Oleg Agafonov
0930bdd016
Merge pull request #5690 from magefree/copy_constructor_watchers
refactor the copy functionality for no-args watchers
2020-01-02 18:51:37 +01:00
Evan Kranzler
86fe25e68b Implemented Pharika's Spawn 2020-01-02 09:45:04 -05:00
Oleg Agafonov
862fe69b53 * Adventure cards - improved game logs (card hint works with adventure spell now, added original card info to cast's log); 2020-01-02 14:48:28 +04:00
Oleg Agafonov
b4c55039e5 * Adventure cards - added adventure spell info in permanent's rules on battlefield; 2020-01-02 06:15:17 +04:00
Oleg Agafonov
d860c026bd * Adventure cards - added missing adventure card type info into rules (instant or sorcery); 2020-01-02 05:53:56 +04:00
Oleg Agafonov
50195e8f35 * AI: fixed that computer can't target cards on battlefield if it contains tokens; 2020-01-02 04:46:20 +04:00
Evan Kranzler
14b002bce6 Implemented Glimpse of Freedom 2020-01-01 10:32:40 -05:00
LevelX2
12c4bacc07 * Reworked GainControlAllEffect that fixed a problem of Varchild, Betrayer of Kjeldor gaining control of creatures entering the battlefield after the Varchild left the battlefield. 2020-01-01 13:37:04 +01:00
Oleg Agafonov
3c727eb06b Fixed missing rates for some cards 2020-01-01 14:28:58 +04:00
Oleg Agafonov
4d51d379fe Fixed wrong symbols in rules 2020-01-01 14:28:12 +04:00
spjspj
5b40ca867e
Merge pull request #6110 from spjspj/master
Add an information format for deck
2020-01-01 17:48:37 +08:00
Oleg Agafonov
f5ef16c8cf Additional fixes for getNetMana from #6132, added TODO task for next mana improves; 2020-01-01 02:27:54 +04:00
jeffwadsworth
13cb86d69f - See b9bee56 2019-12-31 15:40:13 -06:00
Evan Kranzler
8b8a05d1c9 Implemented Nadir Kraken 2019-12-31 12:37:56 -05:00
Oleg Agafonov
4445f8556e Fixed multiple calls of mana choice dialogs, related to #6132 2019-12-31 20:24:25 +04:00
Oleg Agafonov
a7233df1c5 Fixed Empowered Autogenerator with new getNetMana 2019-12-31 18:02:52 +04:00
Oleg Agafonov
60781604f3
Merge branch 'master' into fix-tapped-for-mana-event 2019-12-31 12:12:25 +01:00
Oleg Agafonov
dca3e034f4 Refactor: fixed targets from cards list (support filters with player predicate); 2019-12-31 05:11:45 +04:00
LevelX2
b068d10c44 * Nissa, Vastwood Seer - Fixed a bug of the Nissa, Sage Animist that the animated lands lost the creature type as soon as Nissa was cast again from command zone or from hand (fixes #5677). 2019-12-30 21:35:10 +01:00
Evan Kranzler
a0888af73a
Merge pull request #6124 from magefree/updateDevotion
Refactor Devotion dynamic value to enum (ready to merge)
2019-12-30 11:30:37 -05:00
Ingmar Goudt
978309827b remove deprecated discard method 2019-12-30 00:22:33 +01:00
Ingmar Goudt
813aded7f9 Add missing generic 2019-12-29 23:18:38 +01:00
Ingmar Goudt
ee71495a3f fix latest cards from master 2019-12-29 23:08:47 +01:00
Ingmar Goudt
998c3be2a5 Merge branch 'master' of https://github.com/magefree/mage into copy_constructor_watchers 2019-12-29 21:05:37 +01:00
Ingmar Goudt
1a8723697e fix for Set as value of Map, make sure the set is new 2019-12-29 21:05:28 +01:00
Oleg Agafonov
87db04adfc Fixed typo 2019-12-29 23:36:28 +04:00
Ingmar Goudt
ce23f6900d fix conflicts 2019-12-29 19:28:20 +01:00
Ingmar Goudt
702a1f2498 remove all copy constructors and copy methods for all watchers 2019-12-29 19:18:20 +01:00
Evan Kranzler
d9e0b75545 built hints into devotion class 2019-12-29 10:27:23 -05:00
LevelX2
2508de1f82 * Aminatous Augury - Fixed a problem that the cards could not be cast from exile. Added logic so the player could select the card types to consume for the cast from exile. 2019-12-29 16:22:52 +01:00
LevelX2
8710bb5ca2 * PutCardFromHandOntoBattlefieldEffect - Fixed that the rule text did not show if the card entered the battlefield tapped (e.g. for Arboreal Grazer). 2019-12-29 14:30:16 +01:00
LevelX2
42a9aed977 * Tragic Arrogance - Fixed a problem that under some circumstances permanents of the wrong player were sacrificed. 2019-12-29 14:20:24 +01:00
LevelX2
554c5baf25 * Fixed a problem of triggered effects that detect if a creature was exiled but the creature ended in a another zone (e.g. commander) (fixes #5905), 2019-12-28 18:21:32 +01:00
LevelX2
cadae9ee92 * Added checks in all the methods that wait for human response to prevent endless loops if the method is called from a the get playable actions. 2019-12-27 23:28:53 +01:00
LevelX2
1f82e7a4ae Merge origin/master 2019-12-27 23:23:09 +01:00
LevelX2
1dc8f37d20 * Expropriate - Fixed a strange problem that the prompt text of the select permanent selection to get the control of the permanent was not shown. Still not clear what the exact reason was but using a player list to save the voters seemed to cause the problem. 2019-12-27 23:22:32 +01:00
Evan Kranzler
d3cfca6226 begin refactor of Devotion to enum 2019-12-27 10:53:31 -05:00
Evan Kranzler
5856d0744b
Merge pull request #6123 from ssouders412/FaeOfWIshesFix
Fae of Wishes//Granted fix
2019-12-27 10:52:36 -05:00
ssouders412
cfdae6ee9d
Fixed Fae of Wishes//Granted, added Noncreature card filter
Updated Drekavac and Entomber Exarch to use the new filter.
2019-12-27 10:34:27 -05:00
jeffwadsworth
b9bee56c89 - Starting the process of migrating cards that use the player.cast() method to access the full abilities of a card not cast from the hand zone. 2019-12-26 15:54:22 -06:00
LevelX2
06ed2f5927 * Improved display of vote for Council's Dilemma cards. 2019-12-26 14:31:51 +01:00
LevelX2
1798f5a151 * setCheckPlayableState(false) in finally error handling (related to 133cc7342d). 2019-12-26 14:26:16 +01:00
Oleg Agafonov
2460408da8 * Until your next turn effects - fixed that continuous effects of lost/leaved players can be discarded by combat or some cards before next turn starts; 2019-12-26 07:44:46 +04:00
Oleg Agafonov
61a58d36c2 Refactor: added missing getPlayersInRange in cards code (to ignore leaved/lost players); 2019-12-26 05:24:44 +04:00
LevelX2
133cc7342d * Fixed a problem with check playable methods causing e.g. endless loop if Shared Fate was on the battlefield. 2019-12-25 16:01:02 +01:00
Oleg Agafonov
5b9f0c970c Removed bloated logs 2019-12-24 21:12:20 +04:00
Oleg Agafonov
49ea0205d0 * Enters battlefield, played land triggered abilities - fixed multiple rollback errors on missing target; 2019-12-24 16:19:57 +04:00
Oleg Agafonov
9cf1ee2f42 Questing Beast - fixed rollback error on damage prevent (#6116); 2019-12-24 10:53:51 +04:00
Oleg Agafonov
5cb040607e Refactor PreventAllDamageToAllEffect 2019-12-24 10:48:08 +04:00
Oleg Agafonov
70b37d1d71 * You may choose card from outside or in exile - fixed that it doesn't allows to choose cards from exiled zone (Karn, the Great Creator and Coax from the Blind Eternities); 2019-12-24 02:06:33 +04:00
LevelX2
82371456cd * Commented out showXXX commands in tests to reduce the output. 2019-12-23 19:22:56 +01:00
LevelX2
7fe357708a * Some minor source code updates. 2019-12-23 16:38:54 +01:00
LevelX2
2f998060a2 * Fixed a problem with power/toughness setting of copied transformed permanents (fixes #5893). 2019-12-23 15:35:53 +01:00
spjspj
844500accf Add an information format for deck 2019-12-23 01:12:31 +11:00
Evan Kranzler
51b55fc8b8 Implemented Athreos, Shroud-Veiled 2019-12-21 10:13:11 -05:00
Oleg Agafonov
d26fde8dbc Prepare new release 2019-12-21 18:23:15 +04:00
Oleg Agafonov
bd71c98e3e Fixed AI freeze with non available targets 2019-12-21 18:10:29 +04:00
Evan Kranzler
88a1b9fe22 Implemented Underworld Rage-Hound 2019-12-20 20:10:08 -05:00
LevelX2
0a8a9ed00d * Replaced some filters by StaticFilters instances. 2019-12-20 23:50:01 +01:00
LevelX2
43a11cd115 * Enduring Ideal - Improved filter prompt text. 2019-12-20 22:56:11 +01:00
LevelX2
e80cfbeb2c * Fixed a problem of the card filtering of RevealLibraryPutIntoHand (fixes a problem of Brass Herald moving all cards to hand). 2019-12-20 20:54:23 +01:00
Oleg Agafonov
8cce5a3648 * AI: reworked computer choices for "target permanent" targets:
* Fixed that computer was able to target own permanents for bad effects and opponent permanents for good effect;
 * Improved target choices on card score (as example: boost most valuable, discard most weaker);
 * Tests: fixed false positive tests (AI depended);
 * Tests: fixed that test player can't find permanents for some filters/predicates;
2019-12-20 20:20:16 +04:00
jeffwadsworth
27a505ced9 - Fixed #6096. 2019-12-19 15:31:48 -06:00
jeffwadsworth
4ef9a75fe7 - Fixed #6101 2019-12-18 15:41:08 -06:00
Oleg Agafonov
cde9957f54 * UI: added playable card marks in look-at windows; 2019-12-18 22:44:42 +04:00
Oleg Agafonov
ff1299cca9 * Copy activated ability - fixed that it raise error on triggering on copied permanents; 2019-12-18 18:16:16 +04:00
Oleg Agafonov
23ef0e4269 * Spark Double - fixed that copy of spark contains legendary type (#6097) 2019-12-18 17:57:41 +04:00
Evan Kranzler
0bd2a5c270 Implemented Ashiok, Nightmare Muse 2019-12-16 22:31:25 -05:00