Commit graph

10598 commits

Author SHA1 Message Date
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
Ingmar Goudt
e8303d551d Merge branch 'copy_constructor_watchers' of https://github.com/magefree/mage into copy_constructor_watchers 2019-12-16 23:03:56 +01:00
Oleg Agafonov
0885a01849 Fixed that TargetCard ignore filter in some calls 2019-12-16 02:55:13 +04:00
LevelX2
2413f956ee Fixed a problem with bosster generation for boosters with partners and basic lands. 2019-12-15 16:18:04 +01:00
LevelX2
8d46f46cf8 Fixed a problem that DiesTriggeredAbilities from Tokens that were removed by an effect did nevertheless trigger (fixes #5825). 2019-12-15 13:10:11 +01:00
Oleg Agafonov
2549634443 Fixed NPE errors 2019-12-15 15:12:13 +04:00
Oleg Agafonov
be6a588a7f Fixed NPE errors 2019-12-15 15:00:31 +04:00
LevelX2
ca0297d7c8
Merge pull request #6015 from t-schroeder/crownoffury
Implemented Crown of Fury
2019-12-15 08:36:12 +01:00
LevelX2
81ff37ad17 Fixed a bug that sometimes wrongly power of new source instance was used to determine a number and fixed also a bug that counters were added wrongly to an already new instance of the source object (fixes #6035). 2019-12-15 00:50:44 +01:00
LevelX2
515b55f088 Fixed handling of Guardian Beast, fixed rule text display (fixes #5922). 2019-12-14 22:20:59 +01:00
LevelX2
b7b3bc4474 Merge origin/master
Conflicts:
	Mage/src/main/java/mage/players/PlayerImpl.java
2019-12-14 18:41:12 +01:00
LevelX2
da9f24e008 Removed deprecated AdjustingSourceCosts interface. 2019-12-14 18:33:11 +01:00
Evan Kranzler
f1b9b5aba7 Implemented Daxos, Blessed by the Sun 2019-12-14 11:14:13 -05:00
Oleg Agafonov
732a48e936 Fixed and improved tests for latest changes like asThough and adventure cards; 2019-12-14 19:19:32 +04:00
Oleg Agafonov
b3e17ba85f Improved "play the top card" to support adventure and split cards; 2019-12-14 19:11:40 +04:00
Oleg Agafonov
a05da68493 Improved alternative cost from dynamic effects (it's like #5913 PR):
* Game: added multiple cards/effects support (old version supported only 1 effect per game);
 * Game: added combo support with split and adventure cards;
 * AI: computer can see and play cards with dynamic added alternative cost (like Bolas's Citadel);
 * UI: users can see playable cards with alternative cost.
2019-12-14 19:09:25 +04:00
Oleg Agafonov
d271feb0cb Reworked asThough effects:
* Game: improved asThough effects processing and combo with different cards/abilities (e.g. adventure cards, play from non own hand, etc);
 * AI: computer can see and play non hand cards with dynamic effects in all zones (not only graveyard);
 * AI: computer can see and play "as though" mana and alternative costs;
 * UI: added non hand cards highlights of available abilities/cards;
2019-12-14 18:47:56 +04:00
Evan Kranzler
447002ee67 Implemented Setessan Champion 2019-12-13 08:17:37 -05:00
Patrick Hulin
27bb6fa432 Conform AdventureCard to new getAbilities plan. 2019-12-11 22:42:32 -05:00
Patrick Hulin
383069f5eb Merge branch 'master' of https://github.com/magefree/mage into adventures 2019-12-11 22:15:38 -05:00
Patrick Hulin
f63561cfb7 Add canActivate flag. 2019-12-11 22:15:07 -05:00
Evan Kranzler
3965061234 Implemented Elspeth, Sun's Nemesis 2019-12-11 20:08:07 -05:00
Oleg Agafonov
be7dea2d16 * UI: fixed that split cards doesn't marks as playable; 2019-12-11 04:44:25 +04:00
Oleg Agafonov
6b5a9846b9 Fixed rules generation 2019-12-11 04:40:07 +04:00
Patrick Hulin
b17bf1ac9f Save and restore controller ID in cardPlayableAbilities. 2019-12-10 16:35:53 -05:00
Patrick Hulin
fbc88f152e Fix Teferi, Time Raveler behavior and ignore W6 emblem failure for now. 2019-12-10 14:24:35 -05:00
Patrick Hulin
2f138a04ae Fix issue with casting opponents' cards. 2019-12-10 13:33:27 -05:00
Patrick Hulin
cd890d329a Fix behavior for Garruk's Horde, Melek, W6. 2019-12-10 11:34:19 -05:00
jeffwadsworth
ca22a7750a - Fixed #5925 and related issues. 2019-12-10 10:25:07 -06:00
Patrick Hulin
19ca9f555c Remove duplicated ability text. 2019-12-10 00:17:22 -05:00
Patrick Hulin
317a81678f Remove cast ability when adventure is a permanent.
This prevents the adventure ability text from displaying when the card is on the battlefield.
2019-12-10 00:10:34 -05:00
Patrick Hulin
abcd0512a5 Unused import. 2019-12-09 21:35:43 -05:00
Patrick Hulin
d2cb10d7b7 Clean up visual details. 2019-12-09 21:12:21 -05:00
Patrick Hulin
a2a569195a Fix issue where you could cast Adventure from exile. 2019-12-09 19:38:41 -05:00
Patrick Hulin
af5ccf6914 Implement AdventurePredicate.
This adds support for Edgewall Innkeeper (and similar cards) and Memory Theft.
2019-12-09 13:50:07 -05:00
Patrick Hulin
6160bc25ef Remove unused file. 2019-12-09 12:48:05 -05:00
Patrick Hulin
19a9d98287 Adventures basically working.
No graphics yet.
2019-12-09 12:46:43 -05:00
Patrick Hulin
04a4b91a59 Begin implementing adventures. 2019-12-09 11:30:11 -05:00
Oleg Agafonov
899cde4d54
Merge pull request #6073 from ssouders412/pronoun-fixes
Updated pronouns to reflect current rules and oracle text
2019-12-07 01:07:11 +01:00
Oleg Agafonov
1d20069ddf * Fixed wrong selection count in choose ability mode dialog (cards like Planewide Celebration); 2019-12-07 01:48:39 +04:00
ssouders412
50bd6cbc32
More pronoun fixes 2019-12-06 15:17:44 -05:00
jeffwadsworth
57cb023f78 - Fixed an issue with AffinityEffect and multiplayer games. See #5931 2019-12-06 14:16:32 -06:00
ssouders412
2d3247d732
Updated pronouns to reflect current rules and oracle text
Replaced all instances of "her or she", "him or her", and "his or her", with "they", "them", and "their", or sometimes "that player". Updated verbs where appropriate.
2019-12-06 14:29:36 -05:00
jeffwadsworth
30e8fec8df - Fixed #5931 2019-12-06 11:43:12 -06:00
Oleg Agafonov
bf5e603fcb Merge fix 2019-12-06 21:08:20 +04:00
Oleg Agafonov
a8d707b469 Additional watchers fixes for #6065, see comments in f21151bca5 2019-12-06 21:02:41 +04:00
jeffwadsworth
ba78d41034 - Fixed #5969 2019-12-05 11:25:38 -06:00
Sarah Souders
b208dc332f Fixed Rankle's triggered ability (#6064)
* Fixed Rankle's triggered ability

Any number of available modes can now be selected, including zero.

* Update AbilityImpl.java

* getTargets now returns empty Target for null Mode

Reverted null Target check changes in StackAbility.

* Update HumanPlayer.java
2019-12-04 20:59:03 -06:00
Sarah Souders
e437577b5a K'rrik fixes, payment for triggered abilities (#6060)
* K'rrik fixes, payment for triggered abilities

K'rrik's Phyrexian ability is now handled separately from actual Phyrexian mana costs. It can now be used to pay for triggered abilities like Extort.

* K'rrik tests added

Tests include:
- only usable by 1 player
- usable with activated/triggered abilities
- usable as an alternative to true Phyrexian mana, getting around Trinisphere
2019-12-04 16:27:41 -06:00
jeffwadsworth
f21151bca5 - Fixed #6065 2019-12-03 16:05:30 -06:00
jeffwadsworth
2de7c136ea - Fixed #6056. Please test when you can. Now you will see other abilities/spellAbilities from cards presented during the cast from exile. Overload, Emerge, Surge, etc. 2019-12-01 21:53:01 -06:00
jeffwadsworth
fda5ac170a - Fixed #5985 2019-11-30 06:58:52 -06:00
jeffwadsworth
5a1fb5f90e - Fixed #6059 2019-11-30 05:27:00 -06:00
Oleg Agafonov
7469d59eee Prepare new release 2019-11-30 01:32:54 +04:00
Oleg Agafonov
236cb46125 Additional token fixes for #6032:
- fixed wrong Elemental token images in BFZ's cards (Omnath, Locus of Rage and Seed Guardian);
 - fixed wrong Elemental token image in OGW's cards (Chandra Flamecaller);
 - removed unnecessary tokens from AKH, HOU and EMN (card duplicates);
 - fixed missing Goblin token in DOM;
 - fixed missing Bird Illusion token in GRN;
 - fixed same Zombie token in C19;
2019-11-28 23:42:39 +04:00
jeffwadsworth
792af6d331 - Fixed #5854 2019-11-27 23:56:22 -06:00
jeffwadsworth
a97ae1b0c6 Fixed an issue related to putting cards into the graveyard in the order wished. The amount was set to >3 for some odd reason. Made it >1. 2019-11-27 10:34:35 -06:00
jeffwadsworth
133b5495f9 Fixed #6051 2019-11-25 11:55:07 -06:00
jeffwadsworth
75b82018e1 - Fixed #6034 2019-11-24 15:37:20 -06:00
jeffwadsworth
d2115b0425 - Fixed #6037 2019-11-24 13:42:03 -06:00
jeffwadsworth
6d21c9d3dc Fixed #6045 - Note that an addition was made to MorphAbility 2019-11-21 17:39:42 -06:00
Jeff
3f9f860f85 Fixed #6047 2019-11-19 15:32:44 -06:00
ssouders412
84701cfbab Fixed K'rrik, Son of Yawgmoth
K'rrik's second ability is no longer active after he leaves the battlefield.

KNOWN ISSUE: Cards you would not normally be able to play without this ability are still not highlighted as playable.
2019-11-13 02:01:24 -05:00
ssouders412
6fd9cab283 Implemented K'rrik, Son of Yawgmoth
KNOWN ISSUE: K'rrik's ability allowing the player to pay Phyrexian for black mana remains active after K'rrik leaves the battlefield.
2019-11-11 00:17:57 -05:00
Tim Schroeder
54552a94ad implemented Crown of Fury 2019-10-16 04:41:06 +02:00
Evan Kranzler
193182aa3d Implemented Mtenda Lion 2019-10-03 19:42:09 -04:00
Evan Kranzler
3d224ffb61 reverted change to triggered abilities (#6001) 2019-09-30 18:45:10 -04:00
Oleg Agafonov
9d2d318a6c [ELD] added tokens 2019-09-27 22:50:18 +04:00
Oleg Agafonov
2227490413 Food token - fixed that it doesn't use multiple images; 2019-09-27 22:49:17 +04:00
Oleg Agafonov
f719503a89 Prepare new release 2019-09-27 21:19:03 +04:00
Evan Kranzler
9170df1344 fixed cost modifying effects requiring snow mana unnecessarily (fixes #6000) 2019-09-25 17:32:49 -04:00
Evan Kranzler
3d5925826c temporary workaround for Rankle, Master of Pranks (still can't choose zero modes) #5979 2019-09-24 22:26:28 -04:00
Evan Kranzler
b245b493b8 Implemented Outlaws' Merriment 2019-09-24 21:41:02 -04:00
Evan Kranzler
84206205ad updated TargetAmount for permanents 2019-09-24 19:45:31 -04:00
Oleg Agafonov
6cc2472ed6 * UI: improved choose target amount dialog (selected targets can be removed/de-selected); 2019-09-24 08:40:58 +04:00
Oleg Agafonov
bad26b182a Added max targets limit support in TargetAmount 2019-09-24 07:44:14 +04:00
Evan Kranzler
316f823ebf cleaned up the TargetAmount classes in preparation for updating them 2019-09-22 20:54:29 -04:00
Evan Kranzler
13ba8b0900 used reset method on triggered abilities 2019-09-21 21:29:08 -04:00
Evan Kranzler
48a678fad9 Implemented Covetous Urge 2019-09-21 19:40:19 -04:00
Evan Kranzler
4afc35caf0 fixed ETB untapped triggered abilities 2019-09-21 10:40:57 -04:00
Evan Kranzler
61bf0f758d Implemented Dwarven Mine 2019-09-20 19:36:09 -04:00
Evan Kranzler
788a879c7f Implemented Festive Funeral 2019-09-19 20:04:53 -04:00
Evan Kranzler
c3d141d83c Implemented The Great Henge 2019-09-18 19:58:19 -04:00
Evan Kranzler
0982e36002 improved implementation of second draw triggers 2019-09-18 13:08:26 -04:00
Evan Kranzler
d557e6a27e Implemented Lucky Clover 2019-09-17 17:28:01 -04:00
Evan Kranzler
ce920fa542 Implemented Fires of Invention 2019-09-16 16:13:40 -04:00
Evan Kranzler
275d28d22c Implemented Idyllic Grange 2019-09-16 15:40:02 -04:00
Evan Kranzler
64dcfb840d Implemented Giant Opportunity 2019-09-16 10:01:06 -04:00
Evan Kranzler
6af989d6a0 Implemented Henge Walker 2019-09-15 10:22:04 -04:00
Evan Kranzler
575b0bca30 updated Adamant implementation 2019-09-14 19:28:26 -04:00
Evan Kranzler
a03e5f11fb Implemented Seven Dwarves 2019-09-14 19:07:41 -04:00
Evan Kranzler
3491b36ae8 Implemented Oathsworn Knight 2019-09-14 18:30:51 -04:00
Evan Kranzler
3867937b38 Implemented Clockwork Servant 2019-09-14 12:32:05 -04:00
Evan Kranzler
0dabd08984 Implemented The Magic Mirror 2019-09-14 11:40:21 -04:00
Evan Kranzler
5579407144 Implemented Bonecrusher Giant 2019-09-13 23:46:50 -04:00
Evan Kranzler
9604aa9bef Implemented Wolf's Quarry 2019-09-13 08:12:09 -04:00
Evan Kranzler
4b8e9d0a09 Implemented Wandermare 2019-09-12 17:41:59 -04:00
Evan Kranzler
d9a934ac4f Implemented Doom Foretold 2019-09-11 13:27:18 -04:00
Evan Kranzler
f7ebf80627 Implemented Giant Killer 2019-09-09 18:23:35 -04:00
Oleg Agafonov
8dc6e152af Prepare next release 2019-09-10 00:33:47 +04:00
Oleg Agafonov
127af50427 Prepare next release 2019-09-09 23:40:22 +04:00
Evan Kranzler
793f0cff67 Implemented Enchanted Carriage 2019-09-09 12:42:00 -04:00
Evan Kranzler
0947df181e Implemented Oko, Thief of Crowns 2019-09-07 08:09:37 -04:00
Evan Kranzler
71a917a5d4 Implemented Steelclaw Lance 2019-09-06 21:08:26 -04:00
Evan Kranzler
cf59a151c8 updated Adventure constructor 2019-09-05 21:54:52 -04:00
Evan Kranzler
c4cea99bea Implemented Lovestruck Beast 2019-09-05 21:19:44 -04:00
Evan Kranzler
aa1190ddba Implemented Order of Midnight 2019-09-05 21:02:04 -04:00
Evan Kranzler
3f31efafcd Implemented Foulmire Knight, added a rudimentary nonfunctional implementation of Adventure cards 2019-09-05 20:54:34 -04:00
Evan Kranzler
a366ec019f Implemented Savvy Hunter 2019-09-05 20:13:13 -04:00
Evan Kranzler
1e272361c0 Implemented Tome of Legends 2019-09-05 19:56:48 -04:00
Evan Kranzler
39ce76f82a Implemented Garruk, Cursed Huntsman 2019-09-05 18:07:52 -04:00
Evan Kranzler
65fee9df99 fixed Food Token errors 2019-09-05 16:39:42 -04:00
Evan Kranzler
2e5e224c93
Merge pull request #5963 from jmharmon/master
Fixed minor errors for ELD cards
2019-09-05 15:24:00 -04:00
jmharmon
f189bd77a0
Remove custom token wording from code 2019-09-04 20:19:30 -07:00
Evan Kranzler
3179d35167 Implemented Slaying Fire 2019-09-04 23:12:11 -04:00
jmharmon
7de8506923
Implement Warlock creature type 2019-09-04 18:49:36 -07:00
Evan Kranzler
52279895cf Implemented Rankle, Master of Pranks 2019-09-04 10:11:49 -04:00
Evan Kranzler
845cca9938 added missing import to Food token 2019-09-04 07:28:46 -04:00
jmharmon
9f304bf4ae
Add TapSourceCost 2019-09-04 00:15:49 -07:00
jmharmon
a10fbc765f
Implement Food Token 2019-09-03 23:38:08 -07:00
jmharmon
52f2d6399c
Implement Food artifact subtype 2019-09-03 23:36:51 -07:00
Patrick Hulin
c085cabbb0 Fix creature type on Rekindling Phoenix token.
Type should be Elemental, not Thrull.
2019-08-17 15:04:16 -04:00
Iain Monro
48fbd30f2d #5935 Fix and standardise firing of TAPPED_FOR_MANA event 2019-08-16 15:26:40 +01:00
Oleg Agafonov
e53ce49327
Merge pull request #5916 from jgray1206/aether_gust_fix
add aether gust unit tests + fix issue #5902
2019-08-14 19:08:25 +02:00
Iain Monro
d53b9fd656 Fix rules text for abilities with up to one target 2019-08-14 17:16:01 +01:00
Evan Kranzler
7bf03781aa Implemented Atla Palani, Nest Tender 2019-08-09 21:41:46 -04:00
Evan Kranzler
c75a689efd Implemented Bone Miser 2019-08-09 21:14:05 -04:00
Evan Kranzler
1d39b28563 updated C19 spoiler and reprints 2019-08-07 23:06:33 -04:00
Evan Kranzler
b6b65215e8 Implemented Doomed Artisan 2019-08-07 09:21:21 -04:00
Evan Kranzler
1e8b6ea3b4 Implemented Apex Altisaur 2019-08-05 17:03:30 -04:00
Evan Kranzler
b2bc60efcb Implemented Grismold, the Dreadsower 2019-08-05 16:53:21 -04:00
Oleg Agafonov
2d3804079f Fix missing reset code 2019-08-03 00:44:27 +04:00
Evan Kranzler
2fab876d05 Implemented Ghired's Belligerence 2019-08-02 14:43:23 -04:00
Evan Kranzler
607cef0e79 Implemented Ghired, Conclave Exile 2019-08-01 20:07:25 -04:00
Evan Kranzler
5caf8f79d5 a few more text fixes 2019-07-22 20:22:17 -04:00
Evan Kranzler
aa2c712272 more text fixes 2019-07-22 19:53:15 -04:00
Evan Kranzler
61fa056165 various text fixes for M20 cards 2019-07-22 18:17:34 -04:00
John Gray
7155977cd2 add aether gust unit tests + fix issue #5902 2019-07-21 22:26:11 -04:00
John Gray
b05981020c add unit test for hapatra vizier of poisons + fix issue #5886 2019-07-20 13:21:14 -04:00
Oleg Agafonov
7ac58f9787 * UI: fixed missing text for tokens in Card Viewer; 2019-07-19 10:32:09 +04:00
Oleg Agafonov
181806d16e Fixed tests 2019-07-17 20:56:22 +04:00
Ingmar Goudt
a509e25c16 small text fix for London Mulligan 1st mulligan to show 'card', others after that show 'cards' 2019-07-16 14:49:43 +02:00
Ingmar Goudt
5ba206111a add missing Override annotations 2019-07-14 20:28:48 +02:00
Oleg Agafonov
528ba66e16 Commander abilities - fixed rules text for alternative spells; 2019-07-14 01:21:55 +04:00
Oleg Agafonov
9db80a0cf3 * Commander abilities - added support of cards with alternative spells like overload; 2019-07-14 01:06:07 +04:00
Oleg Agafonov
d6d67b78db * Added London mulligan as default mulligan type for all games (except Canadian Highlander); 2019-07-13 18:46:41 +04:00
Oleg Agafonov
abbbb5dafd * London mulligan - fixed wrong cards number in logs; 2019-07-13 12:48:26 +04:00
Oleg Agafonov
8c40a1d1a7 * Commander abilities - fixed that it increases commander tax after cast/play from non-command zone (as example: after Remand effect); 2019-07-13 10:47:02 +04:00
Oleg Agafonov
2197d8ee4a * Praetor's Grasp - fixed that it freeze the game after cast; 2019-07-12 21:49:00 +04:00
Ingmar Goudt
61ece61c15 remove assignation as parameter 2019-07-11 15:54:33 +02:00
Ingmar Goudt
3163bfa310 move default case down 2019-07-11 15:45:22 +02:00
Ingmar Goudt
b704618f32 small complexity rewrite 2019-07-11 15:44:46 +02:00
Ingmar Goudt
464e9c67c4 remove nullcheck as this happens in the method itself 2019-07-09 22:30:40 +02:00
Ingmar Goudt
178da75e4d Sonar fixes 2019-07-09 21:57:55 +02:00
Evan Kranzler
1621704b12 updated Modular text 2019-07-08 16:51:03 -04:00
Evan Kranzler
62d2426267 updated Treasure token text 2019-07-08 16:46:11 -04:00
Oleg Agafonov
79d40754ed * Library of Leng - fixed that it triggers on discarded cards from cost part instead only effect part (#3047); 2019-07-08 08:31:55 +04:00
Oleg Agafonov
0d6be669de
Merge pull request #5881 from jgray1206/vizier_fix
add vizier of the menagerie unit tests + fix for issue #5816
2019-07-07 03:34:24 +02:00
Oleg Agafonov
aad5099a45
Merge pull request #5884 from jgray1206/chandras_embercat_fix
fixed chandras embercat issue #5880 + added unit tests for it
2019-07-07 03:31:38 +02:00
John Hitchings
1230e29ec9 remove nashorn import. 2019-07-06 15:28:36 -07:00
John Gray
f564c522a3 added chandras embercat unit tests + fix for issue #5880 2019-07-06 11:30:26 -04:00
Oleg Agafonov
bce01ce053 Sonar's fixes 2019-07-06 13:09:27 +04:00
Oleg Agafonov
f166724562 Fixed type cast 2019-07-06 12:36:28 +04:00
John Gray
3a7419d870 add vizier of the menagerie unit tests + fix for issue #5816 2019-07-05 12:06:42 -04:00
Oleg Agafonov
e195bddf09 * Grenzo, Havoc Raiser - added triggered player info in logs and choose mode dialog (#4116, #5282); 2019-07-05 15:37:17 +04:00
Oleg Agafonov
39edc3feef Fixed texts 2019-07-05 15:03:24 +04:00
Oleg Agafonov
cdf7f6df6c * Goad abilities - fixed missing text; 2019-07-05 13:55:10 +04:00
Oleg Agafonov
da66fa351a * UI: fixed that cards with same names doesn't selected as playable in hand/graveyard; 2019-07-04 22:04:01 +04:00
Oleg Agafonov
6848626c4b Merge fix 2019-07-04 18:19:46 +04:00
Oleg Agafonov
6e5ba7a446 * Affinity abilities - added support of other cost modification effects like combo with commander tax (#5856);
* Affinity abilities - added artifact/land count hints to card;
2019-07-04 14:02:25 +04:00
Evan Kranzler
14c4981c72 fixed Hexproof from color abilities not working on players (fixes Veil of Summer issues) 2019-07-01 13:00:35 -04:00
Oleg Agafonov
e3f5071738 * UI: fixed wrong deck import from cubes and other sources without cards amount; 2019-07-01 12:40:34 +04:00
Oleg Agafonov
699329f522 * Woodland Champion - fixed that it doesn't trigger on tokens put (#5871); 2019-07-01 12:00:10 +04:00
Oleg Agafonov
628b668ad3 [M20] fixed wrong texts 2019-06-30 22:13:31 +04:00
Oleg Agafonov
9c2714da53 * Images: added tokens from Modern Horizons (MH1); 2019-06-30 20:26:16 +04:00
Oleg Agafonov
4148a572cf [M20] added tokens 2019-06-30 19:53:48 +04:00
Oleg Agafonov
716b929877 Prepare new release 2019-06-30 18:33:29 +04:00
Oleg Agafonov
46d030d37a [M20] added Thunderkin Awakener 2019-06-29 18:03:12 +04:00
richard.coates
1c9aa7904b Implement Tale's End 2019-06-29 13:07:31 +01:00
Oleg Agafonov
f6123037ec * UI: added playable/activatable cards highlight in all zone and windows (mana abilities, commander, graveyard, revealed, etc); 2019-06-28 03:30:57 +04:00
Oleg Agafonov
2ec3036abe * Fixed AI game freeze if it can't pay X mana (#5023); 2019-06-27 21:17:53 +04:00
Oleg Agafonov
073b003b37 * AI: planeswalkers gets more priority in targets selection; 2019-06-26 21:45:15 +04:00
Oleg Agafonov
7e08b3c3d5 Test framework: added support to create custom instant/sorcery; 2019-06-26 21:40:17 +04:00
Evan Kranzler
61287046f4 Implemented Veil of Summer 2019-06-23 19:29:28 -04:00
Ingmar Goudt
1cf6d99515 fix couple of sonar issues 2019-06-23 23:22:21 +02:00
Evan Kranzler
189aed29b5 Implemented Cavalier of Thorns 2019-06-23 14:33:02 -04:00
Oleg Agafonov
63a9a505e1 Fixed that alternative spell always selected to cast if available; 2019-06-23 17:20:04 +04:00
Evan Kranzler
5c36acd190 Implemented Aether Gust 2019-06-22 20:36:02 -04:00
Oleg Agafonov
d25ae47104 Alternative spell abilities: added support of modes and other extra things in commander, awaken, jump-start, spectacle, retrace and surge abilities; 2019-06-21 17:11:44 +04:00
Oleg Agafonov
bb1c9c072c Improved interactions between pay X and other effects; 2019-06-21 11:41:56 +04:00
Oleg Agafonov
04591a24f7 Improved interactions between pay X and other effects; 2019-06-21 11:40:36 +04:00
Evan Kranzler
33986bebfe Implemented Mu Yanling, Sky Dancer 2019-06-20 19:18:02 -04:00
Oleg Agafonov
af4ec9b3e7 * Do unless any player pays - fixed that it asks to pay remaining players even after payed; 2019-06-20 23:16:17 +04:00
Oleg Agafonov
437861ec20 Improved and fixed X mana cost and pays, mana pool:
* Pay X abilities - fixed that it spends all available mana pool instead only needed;
 * Pay X abilities - added support of interactions with other X effects like Rosheen Meanderer's mana usage for "pay X to prevent";
 * Rosheen Meanderer - fixed that it can't use mana for "you may pay X" like Flameblast Dragon's effect (#5206);
 * Devs: added support to use VariableManaCost to pay X in code (without generic's workaround, use ManaUtil.createManaCost to generate cost to pay);
2019-06-20 21:18:01 +04:00
Evan Kranzler
8ef3ebfc3c Implemented Ajani, Strength of the Pride 2019-06-19 21:10:33 -04:00
Oleg Agafonov
cc54a92daa * Kicker - added support of X and mana cost interactions like Rosheen Meanderer + Verdeloth the Ancient combo (#3538);
* Rosheen Meanderer - fixed that mana can be payed for mana cost with X instead any cost with X (#3538);
2019-06-18 11:28:41 +04:00
Oleg Agafonov
92517cc371 Merge fix 2019-06-17 15:29:58 +04:00
Oleg Agafonov
fe28c9c7d9 * Flashback ability -- added support of additional cost like flashback with kicker combo (#5389); 2019-06-17 15:03:37 +04:00
Oleg Agafonov
e39dc1124b Fixed NPE errors 2019-06-17 12:23:10 +04:00
Oleg Agafonov
dc7ccc6c4e * Buyback ability - fixed that it doesn't work after rollbacks (#5835, #5836); 2019-06-16 22:08:32 +04:00
Evan Kranzler
1887bc149e Implemented Chandra, Awakened Inferno 2019-06-15 16:22:48 -04:00
Oleg Agafonov
75e5ad3d7b * Commander: fixed that spells with dynamic/X targets doesn't work from command zone (#5852); 2019-06-14 21:50:36 +04:00
Oleg Agafonov
1d7cac3059 * Oathbreaker: fixed that signature spell can moves to graveyard instead forced move to command zone (#5819); 2019-06-14 21:20:16 +04:00
Evan Kranzler
0636d470e2 fixed Splice onto Instant or Sorcery causing rollbacks, still need to fix it not working (#5830) 2019-06-07 22:08:41 -04:00
Oleg Agafonov
90a5a55a72 * Move cards from battlefield - fixed that some abilities can duplicates moving cards (#4655); For devs: all cards with CardsImpl and moveCards calls like Winds of Abandon; 2019-06-07 18:35:30 +04:00
Oleg Agafonov
1c41f6418d * Overload - fixed that some cards was able to cast overload price as instant instead sorcery (Winds of Abandon, Mind Rake, Scale Up); 2019-06-07 16:56:51 +04:00
Oleg Agafonov
ecdc47ad68 * Scale Up - fixed that creatures doesn't lose types after overload pay; 2019-06-07 16:56:06 +04:00
Oleg Agafonov
1895a33966 [MH1] fixed Scale Up that it removes abilities; 2019-06-07 16:31:51 +04:00
Oleg Agafonov
55bc61000a Prepare new release 2019-06-06 23:03:38 +04:00
Oleg Agafonov
77e92d9186 * Fixed that snow lands can be added in draft and sealed modes (#5831); 2019-06-06 22:50:16 +04:00
Oleg Agafonov
0e2cfb7def Fixed tests with multiple X values 2019-06-06 21:07:51 +04:00
Oleg Agafonov
b64a75aa4b Typo fix 2019-06-06 16:55:17 +04:00
Oleg Agafonov
12fc854777 [MH1] added Unbound Flourishing 2019-06-06 16:52:06 +04:00
Evan Kranzler
7130b5acd4 Implemented Watcher for Tomorrow 2019-06-01 19:43:39 -04:00
Evan Kranzler
9def59486e Implemented Birthing Boughs 2019-05-31 21:31:36 -04:00
Evan Kranzler
ba47fee11e Implemented Rotwidow Pack 2019-05-31 08:17:32 -04:00
Oleg Agafonov
12be28483f
Merge pull request #5805 from hitch17/mtga-deck-import
Support for importing mtga decks.
2019-05-30 19:08:04 +02:00
Oleg Agafonov
d313327b21 * Fixed two face card images that it uses wrong image from random set; 2019-05-29 12:13:44 +04:00
Oleg Agafonov
a9329c130d Oathbreaker: added support of 2 partners with 2 spells, improved signature spell hint and checks; 2019-05-29 03:03:17 +04:00
Oleg Agafonov
7154e685d1 * Fixed Zendikar lands download from scryfall 2019-05-28 16:37:21 +04:00
Oleg Agafonov
9a9b304fd5 * UI: improved hand request dialog (users can ask your hand once per game, reset it by re-activate button); 2019-05-28 13:46:29 +04:00
Evan Kranzler
a18c3e1d88 Implemented Kaya's Guile 2019-05-27 21:00:15 -04:00
Oleg Agafonov
913ee65f36 Cards compatibility with oathbreaker format; 2019-05-27 17:21:17 +04:00
Oleg Agafonov
07cf5201ba * Added new game mode: Oathbreaker (#5678); 2019-05-27 16:17:15 +04:00
Evan Kranzler
bf528dfc59 Implemented Splicer's Skill 2019-05-26 17:18:18 -04:00
Evan Kranzler
6abfb1370f Implemented Sword of Sinew and Steel 2019-05-25 20:23:56 -04:00
Evan Kranzler
ca9197b783 Implemented Wrenn and Six 2019-05-25 10:23:31 -04:00
Evan Kranzler
b5f96cacc9 Implemented Fists of Flame 2019-05-25 10:00:15 -04:00
Evan Kranzler
79dd09b0dc Implemented Etchings of the Chosen 2019-05-24 21:10:38 -04:00
Oleg Agafonov
97c8622311 Commander: improved lands compatibility with cost modification and restriction effects; 2019-05-23 14:57:26 +04:00
Oleg Agafonov
42ed14df52 * Commander: added support of lands as commander (#5795); 2019-05-23 12:40:45 +04:00
John Hitchings
6e0e3899b8 Merge branch 'master' into mtga-deck-import 2019-05-19 13:28:27 -07:00
John Hitchings
ce23500ef8 Normalize card names, use specific cards when numbers when possible. 2019-05-19 13:26:12 -07:00
Oleg Agafonov
f1e204408f Fixed umlaut 2019-05-19 22:51:18 +04:00
John Hitchings
b62d4fd20d Support for importing mtga decks. 2019-05-19 11:18:09 -07:00
Oleg Agafonov
085211035f * Ugin, the Ineffable - improved +1 ability (one window for all exiled cards, card's id in lookup window); 2019-05-18 22:24:37 +04:00
Oleg Agafonov
e80ba6383f Added verify tests for watchers copy; 2019-05-18 10:58:30 +04:00
spjspj
1ff1833343
Merge pull request #5800 from gunnim/gunni/cant-attack-unless-pay-typo
Fixed typo in cant attack unless you pay mana hover tooltip.
2019-05-18 15:39:56 +10:00
Oleg Agafonov
85c6528d2d Merge branch 'master' into copy_constructor_watchers 2019-05-18 09:13:42 +04:00
Oleg Agafonov
ec9198fb22 Merge fix 2019-05-17 21:52:50 +04:00
Oleg Agafonov
4d95d72c66 Test framework: added support of commander cards (just add card to command zone by addCard); 2019-05-17 21:42:35 +04:00
Oleg Agafonov
ffbd5d373b * Planeswalker abilities - fixed that plus cost's counters is not affected by replacement effects (#5802, example combo: Planeswalker + Pir, Imaginative Rascal + Doubling Season); 2019-05-17 16:10:34 +04:00
Gunnar Már Óttarsson
9f8c969f29 Fixed typo in cant attack unless you pay mana hover tooltip.
also minor code comment fix
2019-05-16 15:04:57 +00:00
LevelX2
bf8dd78b6e * Fixed player Hexproof ThoughtAsIf handling (fixes #5796). 2019-05-15 17:33:34 +02:00
Oleg Agafonov
1dcdff58d2 Fixed html visible title in choose cards dialog; 2019-05-14 15:36:33 +04:00
Oleg Agafonov
06c9d7941c * Ascend ability - added card hint with permanents count; 2019-05-14 15:03:25 +04:00
Oleg Agafonov
28924c1cb7 * Commander - fixed that instant/sourcery/enchantment don't work from command zone (#5795); 2019-05-13 16:07:29 +04:00
Oleg Agafonov
8448afc709 Test framework: added commander games support (quick start button, "commander" command to put card as commander); 2019-05-13 13:20:41 +04:00
Oleg Agafonov
5c48803ef9 * UI: improved cards appearance:
* added colorized PT values (boosted is green, unboosted is red);
  * added toughness with damage calcs (damaged is red);
  * image render: now title and PT texts are readable/big in small cards;
  * mtgo render: improved image quality (less pixelated now);
  * mtgo render: improved PT font (bold now);
2019-05-10 10:01:51 +04:00
LevelX2
060766bb0a * Updated UntapAllDuringEachOtherPlayersUntapStepEffect to also work correct with EndTurn effects played last turn. 2019-05-08 17:36:31 +02:00
Oleg Agafonov
051c3c4ac0 UI: added test card render modes dialog (available from debug menu); 2019-05-06 20:15:39 +04:00
Oleg Agafonov
7089a09061 * Standard Bearer - fixed that it can broke spells on false Flagbearer checks (#5784); 2019-05-06 01:41:28 +04:00
John Hitchings
0a2c81ad7b DOM set codes get exported as DAR for MTGA. 2019-05-04 14:08:27 -07:00
Oleg Agafonov
878d602b58 Fixed potentional NPE error 2019-05-03 19:10:17 +04:00
Oleg Agafonov
648026ac0b Test framework: fixed not working choices for replacement effects; 2019-05-02 23:14:56 +04:00
Oleg Agafonov
3ff871c6de * Proliferate - fixed that it highlights all permanents instead with counters only; 2019-05-02 17:25:46 +04:00
Oleg Agafonov
14274d8eaf * Threshold abilities - fixed that restriction part of ability is not apply in some cards (#5738); 2019-05-01 20:55:21 +04:00
Oleg Agafonov
0aeab75552 Added ConditionalCostModificationEffect to support cost modification effects with conditions (#5738) 2019-05-01 19:53:54 +04:00
LevelX2
53341c5519 [ICE] Added Fylgja 2019-05-01 17:12:24 +02:00
Oleg Agafonov
367a1fd189 Added ConditionalPreventionEffect to support prevention effects with conditions (#5738) 2019-05-01 12:49:19 +04:00
Ingmar Goudt
853bdac0e1 simplify some of the field setters 2019-04-30 20:28:57 +02:00
Ingmar Goudt
6703ba693d refactor the copy functionality for no-args watchers 2019-04-30 20:28:57 +02:00
Oleg Agafonov
07faf872ea Fixed that some cards doesn't trigger counter remove events; 2019-04-30 18:50:03 +04:00
Ingmar Goudt
a8708e61d7 simplify some of the field setters 2019-04-30 16:41:06 +02:00
Oleg Agafonov
ec5134a663 * Chandra, Fire Artisan - fixed that it doesn't triggers on own damage; 2019-04-30 18:26:37 +04:00
Oleg Agafonov
f7622d3c4a * Awakening of Vitu-Ghazi - fixed that it creates non legendary tokens 2019-04-30 14:40:19 +04:00
Jeff
7a35a76248 - The Adapt effect now works correctly when the permanent is blinked. 2019-04-29 14:18:44 -05:00
Oleg Agafonov
9ef2e0bda7 * No more continuous effects stay on battlefield after player leave the game;
Test framework: added real time check for player in game or not;
2019-04-28 19:32:25 +04:00
Oleg Agafonov
534037e095 * Until end of your turn - fixed that effects discarded too early in multiplayer games (#5759, #5676);
Tests: added dozen tests for end of turn effects and related cards.
2019-04-28 11:27:08 +04:00
Oleg Agafonov
4288e45c23 * AI: improved work with "must attack" player effects, with pay to attack blockers (#5435); 2019-04-28 11:21:34 +04:00
Oleg Agafonov
488ed9ee00 * Melee - fixed that it don't triggers on unblocked attacks and don't untap it; 2019-04-28 11:12:39 +04:00
Oleg Agafonov
dc04092fce Test framework: many improvements and fixes:
* added support to use custom cards with any abilities/effects (addCustomCardWithAbility);
 * added support of multiplayer games with all range (CardTestMultiPlayerBaseWithRangeAll);
 * added realtime checks for permanent counters (checkPermanentCounters);
 * added wrong attack commands check in strict mode;
 * fixed that added by addCard command cards don't init continues effects;
 * fixed that block commands don't removed from actions queue;
2019-04-28 11:10:28 +04:00
Jeff
d8a928051a - ReturnFromGraveyardToHandTargetEffect() will now check to verify the target card is still in the graveyard. 2019-04-25 15:22:08 -05:00
Oleg Agafonov
21c99fae3b Prepare hotfix release 2019-04-24 23:13:51 +04:00
Oleg Agafonov
e51b054249 * Oath of Kaya - fixed that it doesn't triggers on attacks; 2019-04-24 21:41:24 +04:00
Antoni Gierczak
e885bd0e02 Refactor Ugin's Conjurant, Protean Hydra with a new ability. Fixed Ashiok, Dream Renderer (#5737)
* Refactor Ugin's Conjurant, Protean Hydra with a new ability

* pushing bugfix for Ashiok, Dream Renderer not milling correctly.
2019-04-23 17:12:20 -05:00
Oleg Agafonov
a602e2d377 Prepare release 1.4.35 2019-04-24 00:51:05 +04:00
Oleg Agafonov
bbf1c1343a Prepare release 1.4.35 2019-04-23 23:32:54 +04:00
Oleg Agafonov
c6d32bd33d [WAR] added tokens images 2019-04-23 23:32:09 +04:00
Oleg Agafonov
0ef003a4a7 Fixed Awakening of Vitu-Ghazi that it doesn't change the name of the land it is cast on 2019-04-23 17:58:34 +04:00
Oleg Agafonov
e49be97879 * Look at card abilities -- improved dialog (now it's shown that card have extra abilities to call on "no" button); 2019-04-23 17:09:26 +04:00
Oleg Agafonov
081ac7ca3c Fixed Single Combat that it does not prevent cast on next turn; 2019-04-23 16:05:34 +04:00
Oleg Agafonov
33af8939af * Copy effects - fixed that it copy current P/T values (e.g. after effects applied) instead printed/selected values; 2019-04-23 12:03:16 +04:00
Oleg Agafonov
7b7c80c80a [WAR] added God-Eternal Kefnet 2019-04-23 01:02:58 +04:00
Oleg Agafonov
4c899a25bd Test framework: added real time card type check (#4936); 2019-04-22 19:42:25 +04:00
Ian Kahn
ab2995d569
Fix log text with ProliferateEffect
Previously the number of counters would increase: (e.g. "Foo had 1 +1/+1 counter added. Bar had 2 +1/+1 counters added. ...3...")
2019-04-21 13:47:56 -04:00
Oleg Agafonov
eea55c2f76 Fixed Tomik, Distinguished Advokist that it cause wrong class cast error with lands; 2019-04-21 04:42:23 +04:00
Oleg Agafonov
73f7855e4d Fixed that amass don't create token is opponent have it; 2019-04-20 20:15:21 +04:00
Evan Kranzler
d0dc6c7731 fixed Vraska's Assassin token not destroying planeswalkers (fixes #5732) 2019-04-20 09:27:37 -04:00
Evan Kranzler
8bc01775dd fixed Kasmina token creation text (fixes #5731) 2019-04-20 08:57:28 -04:00
Evan Kranzler
7cea71d6f2
Merge branch 'master' into master 2019-04-20 08:52:33 -04:00
Oleg Agafonov
08616b6ec9 * Mind's Desire - improved exile windows; 2019-04-20 09:00:04 +04:00
Oleg Agafonov
8db2e63ae4 Fixed error with card texts 2019-04-19 19:35:16 +04:00
Oleg Agafonov
03795f1aae * Fixed AI game freeze on choose new targets (#5023); 2019-04-19 18:57:36 +04:00
Evan Kranzler
a2592ef36e implemented Sarkhan the Masterless 2019-04-19 08:36:52 -04:00
Oleg Agafonov
7912d217cb
Merge pull request #5714 from ketsuban/alliances
Implement some Alliances cards
2019-04-19 14:25:43 +02:00
antonig@sas.upenn.edu
fcf3fb672b implemented and tested Finale of Devastation. 2019-04-19 02:42:30 -04:00
Oleg Agafonov
ec202e1bc3 Fixed proliferate texts 2019-04-19 09:24:22 +04:00
Oleg Agafonov
ac286a586d Fixed mode text, added 4 modes support; 2019-04-19 09:03:16 +04:00
Oleg Agafonov
03b28cfc1c Fixed amass text 2019-04-19 08:40:35 +04:00
Evan Kranzler
41acfbb2fd Implemented Planewide Celebration 2019-04-18 22:26:36 -04:00
Evan Kranzler
d2a74e9062 Implemented Ugin, the Ineffable 2019-04-18 19:51:25 -04:00
Evan Kranzler
45526c5cc9 Implemented God-Eternal Oketra 2019-04-18 08:08:25 -04:00
Oleg Agafonov
184af3f681 * Fixed AI game freeze on put cards to library (#5023); 2019-04-18 15:46:48 +04:00
Oleg Agafonov
886b96072e God-Eternal Bontu - fixed game freeze with NPE error 2019-04-18 08:44:44 +04:00
Evan Kranzler
e6138d7e7f Implemented Finale of Glory 2019-04-17 18:27:44 -04:00
Evan Kranzler
892a39a2ed Implemented Huatli, Heart of the Sun 2019-04-16 08:47:38 -04:00
Oleg Agafonov
108fba8ab6 Firemind Vessel - fixed AI game freeze, improved choose logic (#5023); 2019-04-16 10:52:48 +04:00
Evan Kranzler
fe83f6ac25 Implemented The Elderspell 2019-04-15 19:14:09 -04:00
Evan Kranzler
254972be77 Implemented Ashiok, Dream Render 2019-04-15 14:10:06 -04:00
LevelX2
c1b2ffdaa7 Merge origin/master 2019-04-14 19:19:25 +02:00
LevelX2
8c11ab8505 * Some minor rule text fixes to WAR cards. 2019-04-14 19:18:46 +02:00
Oleg Agafonov
688a3fa516 * Fixed AI game freeze on random targets selection (#5023); 2019-04-14 18:52:09 +04:00
Evan Kranzler
a4d035100c fixed Revel of the Fallen God creating incorrect tokens (fixes #5715) 2019-04-13 20:59:14 -04:00
Thomas Winwood
fad76ba4e0 Implement Rogue Skycaptain 2019-04-14 01:47:40 +01:00
Evan Kranzler
0b11df3a00 broke out LookAtTopCardOfLibraryAnyTimeEffect into its own class 2019-04-13 15:03:54 -04:00
Evan Kranzler
c780838d29 Implemented God-Eternal Rhonas 2019-04-13 13:15:39 -04:00
Evan Kranzler
b28bef8f62 Implemented Nissa, Who Shakes the World 2019-04-13 12:56:33 -04:00
Evan Kranzler
15d389a5ba Implemented Tamiyo, Collector of Tales 2019-04-13 12:01:31 -04:00
Evan Kranzler
09bf817f1a Implemented God-Eternal Bontu 2019-04-13 11:02:01 -04:00
Oleg Agafonov
bd06d3df51
Merge pull request #5711 from hitch17/draft-log-deck-importer
Ability to import draft logs as decks.
2019-04-13 05:23:33 +02:00
Oleg Agafonov
ba54654ac1 * UI: added support to import deck without card amount numbers (txt-format and clipboard); 2019-04-13 05:48:04 +04:00
John Hitchings
61d40902ab Ability to import draft logs as decks. 2019-04-11 22:27:21 -07:00
Oleg Agafonov
35f705e07b Fixed copy 2019-04-12 08:53:58 +04:00
Oleg Agafonov
9eb8dd6ce5 * Delve ability - improved text; 2019-04-12 08:45:12 +04:00
Evan Kranzler
708b1a6dc9 Implemented Gideon's Company 2019-04-11 22:05:56 -04:00
Evan Kranzler
785917deb6 Implemented Chandra, Fire Artisan 2019-04-10 16:14:34 -04:00
Jeff
59deea27e3 - added message to inform players of a Proliferate event. 2019-04-09 11:55:19 -05:00
Evan Kranzler
ed2612e01a Implemented Tolsimir, Friend to Wolves 2019-04-09 10:55:14 -04:00
Jeff
6e681ab615 - Fixed #5697 2019-04-09 09:50:48 -05:00
Oleg Agafonov
42f5847ba7
Merge pull request #5694 from ketsuban/unglued
Implement two Unglued cards
2019-04-09 03:31:19 +02:00
Evan Kranzler
7e2724ed59 Implemented Kasmina, Enigmatic Mentor 2019-04-08 18:26:19 -04:00
Thomas Winwood
4881b8b08b Set customSet=true for Lady of Proper Etiquette type 2019-04-08 19:24:42 +01:00
Evan Kranzler
53fbe7e502 updated WAR booster checking to guarantee exactly one walker in every pack 2019-04-08 13:43:28 -04:00
Oleg Agafonov
98f29f7c8a * UI: increased richman draft time limits from 75->25 to 70->40 (#5672); 2019-04-08 20:59:03 +04:00
Oleg Agafonov
7a556ea58f * UI: added save/load packs list in random/richman mode (#5672); 2019-04-08 20:15:34 +04:00
Thomas Winwood
44214d65fc Implement Miss Demeanour 2019-04-08 05:10:32 +01:00
Ingmar Goudt
1852de2f47 refactor the copy functionality for no-args watchers 2019-04-07 20:22:14 +02:00
Evan Kranzler
36f5fd365e Implemented Tenth District Legionnaire 2019-04-05 20:14:50 -04:00
Evan Kranzler
ec9b6ac135 Implemented Courage in Crisis 2019-04-05 14:18:39 -04:00
Evan Kranzler
2ec5a47f05 Merge branch 'master' of https://github.com/magefree/mage 2019-04-05 08:00:33 -04:00
Oleg Agafonov
57283c3cca * UI: fixed infinite popup messages about illegal action while skip button activated (#4685); 2019-04-05 13:11:27 +04:00
Evan Kranzler
0b703b1be0 Implemented Role Reversal 2019-04-04 22:15:33 -04:00
Evan Kranzler
997bf86f20 small change to last update 2019-04-03 11:21:30 -04:00
Evan Kranzler
e0ce04c436 updated damage triggers to include planeswalker damage 2019-04-03 11:18:11 -04:00
Oleg Agafonov
6c3b48b2a7 [WAR] - added token image; 2019-04-03 13:02:21 +04:00
Oleg Agafonov
3ca57533b5 Fixed wrong class package, pom config and broken code (visual studio code compatibility) 2019-04-03 02:45:52 +04:00
Evan Kranzler
25627183a2
Merge pull request #5671 from ketsuban/proliferate
Proliferate now doesn't choose a type of counter
2019-04-02 08:14:33 -04:00
Thomas Winwood
be2898d2f9 Proliferate now doesn't choose a type of counter 2019-04-02 03:46:15 +01:00
Evan Kranzler
3e18305890 Implemented Angrath's Wrath 2019-04-01 22:44:38 -04:00
Evan Kranzler
86f651b871 Implemented Teyo, the Shieldmage 2019-04-01 19:03:25 -04:00
Evan Kranzler
7fec2e9837 Implemented Davriel, Rogue Shadowmage 2019-04-01 18:52:22 -04:00
Evan Kranzler
9b43285df4 Implemented The Wanderer 2019-04-01 16:32:57 -04:00
Oleg Agafonov
ef4c223bcf * Jace's Archivist - fixed AI freeze the game (#5023); 2019-04-01 21:52:11 +04:00
Thomas Winwood
dfcb795ada Implement some WAR cards 2019-04-01 18:33:16 +01:00
Jeff
8fea509ed7 - little text fix. 2019-04-01 11:48:33 -05:00
Oleg Agafonov
de4befb9c2 * Sideboarding: fixed that it possible to auto-submit 40 cards deck instead 60 in constructed formats (#5579);
Sideboarding: fixed that cheated deck with sideboard can be used instead lose the game;
2019-04-01 07:34:46 +04:00
Evan Kranzler
3dd6836559 Implemented Vraska, Swarm's Eminence 2019-03-31 20:13:39 -04:00
Evan Kranzler
54a1010c36 updated WAR details 2019-03-31 17:59:28 -04:00
Evan Kranzler
c4efb77e1f Implemented Tibalt, Rakish Instigator 2019-03-31 16:02:37 -04:00
Evan Kranzler
fb20ac0998 Implemented Dreadhorde Invasion 2019-03-31 13:32:34 -04:00
Evan Kranzler
ffef19fe43 Implemented Invade the City 2019-03-31 12:43:00 -04:00
Evan Kranzler
bebc8a8ac4 implemented Herald of the Dreadhorde 2019-03-31 12:29:23 -04:00
Oleg Agafonov
b8782d572d Tests: added test to check copy() methods removes; 2019-03-30 20:26:35 +04:00
Oleg Agafonov
6f4d000518
Merge pull request #5643 from magefree/copy-rewrite
initial rewrite for copy method
2019-03-30 11:45:57 +01:00
Oleg Agafonov
65bb9b2161 Prepare new release 1.4.34 2019-03-29 18:31:00 +04:00
Oleg Agafonov
ff640a942e UI: improved skips and stops for declare blocker step:
* added options to STOP skip on any or zero blockers available;
 * added auto-stop before declare blockers step (e.g. user can cast instants and crew abilities);
2019-03-29 18:10:00 +04:00
Oleg Agafonov
893e9384b1 * Urza, Academy Headmaster - fixed that it freeze the game (#5589); 2019-03-28 19:59:38 +04:00
Jeff
5a3fd7c558 - Added requested card Mercadian Lift. 2019-03-27 15:48:05 -05:00
Jeff
07adaa06ab - Fixed #5654 2019-03-25 11:02:37 -05:00
Oleg Agafonov
70f41c7807 Little fixes 2019-03-23 15:44:55 +04:00
Oleg Agafonov
42658d5cff UI: added mulligan option to new tournament dialog, added mulligan type saving; 2019-03-23 05:49:21 +04:00
Oleg Agafonov
3330680e81
Merge pull request #5644 from hitch17/additional-mulligan-support-5600
Additional mulligan support #5600
2019-03-22 22:48:18 +01:00
Oleg Agafonov
270ec615af Sync old changes 2019-03-22 21:51:26 +04:00
Oleg Agafonov
caf1a98759 * UI: added deck export to MTG Arena format (#4243); 2019-03-22 20:33:36 +04:00
Oleg Agafonov
b26132f300 Fixed text deck import (empty lines); 2019-03-22 20:12:35 +04:00
Oleg Agafonov
a2feda38ce Fixed mtgo deck export (sorting, empty lines); 2019-03-22 20:12:06 +04:00
Jeff
263c9acfcc - Fixed #5538 and #5629 2019-03-21 16:21:46 -05:00
Oleg Agafonov
04cb20f46a UI: improved deck editor exports:
* added deck export to files (#4243);
 * fixed wrong card sorting in deck files after save (#3719);
2019-03-21 19:17:41 +04:00
John Hitchings
1ca876c2ed Fixed LondonMulligan to give mulligan choice after discarding to bottom, which fixes the interaction with Serum Powder. 2019-03-20 23:23:28 -07:00
John Hitchings
47c9aab877 Merge branch 'master' into additional-mulligan-support-5600 2019-03-19 23:39:39 -07:00
John Hitchings
f7d785e406 Add rules comments and handle mulliganing to less than 0 cards for London. 2019-03-19 23:32:18 -07:00
Ingmar Goudt
75dbdbdd32 initial rewrite for copy method 2019-03-19 23:35:38 +01:00
Oleg Agafonov
a260030069 Fix tests 2019-03-19 21:44:06 +04:00
John Hitchings
4a232b148c Add mulligan options to NewTableDialog, passing mulligan information to games. 2019-03-19 06:08:12 -07:00
Oleg Agafonov
7140a41445
Merge pull request #5636 from hitch17/deck-exporters
Refactor Sets.saveDeck into a deck exporter series of classes.
2019-03-19 03:32:54 +01:00
Jeff
a5197ec954 - Fixed the emblem of Garruk, Apex Predator. 2019-03-18 15:23:13 -05:00
Ingmar Goudt
72c8c267a1 move Google Guava to mage-root pom in dependencyManagement, so other modules can use it 2019-03-18 15:48:35 +01:00
Jeff
efb357747d - Fixed #5637 2019-03-18 09:18:39 -05:00
Ingmar Goudt
b638ef4fad delete old performance debug code 2019-03-18 12:54:19 +01:00
John Hitchings
7885a42168 Refactor mulligans out of GameImpl and add Paris, Vancouver, London, and Canadian Highlander. Refactor GameImpls to use their specific mulligan. 2019-03-17 23:23:52 -07:00
Oleg Agafonov
410fd68996 Fixed that triggered abilities shows cancel button in target definition; 2019-03-18 06:10:08 +04:00
John Hitchings
0ea73b19df Refactor Sets.saveDeck into a deck exporter series of classes. 2019-03-17 14:58:05 -07:00
Oleg Agafonov
83d8f5a538 * UI: improved mulligan dialog with color, added free mulligan info in game log; 2019-03-17 06:11:20 +04:00
Oleg Agafonov
bf2861c309 * UI: improved skip buttons and preferences:
* added new setting for STACK skip button: stops on full empty stack (default) or on new objects added;
 * added new dynamic hints for skip buttons to see current settings and modes;
 * fixed that some skip buttons not de-activated after goal was achieved;
 * fixed wrong default render mode for cards, MTGO must be default (#4409);
2019-03-17 04:38:31 +04:00
Ingmar Goudt
c4eeec1bb2 changed the constructor for a Watcher. Before, you had to explictly pass the name of the watcher as an argument. But most of the time this was the name of the class itself. So the watcher now determines internally its name. The method 'getBasicKey' can be overridden. Also updated some encapsulation 2019-03-16 08:35:26 +01:00
Jeff
5c1f41f3a7 - First steps towards fixing Phased/Phased indirectly permanents. 2019-03-15 10:01:02 -05:00
Oleg Agafonov
b6f075c505 * UI: added drag & drop text to deck editor (like drag & drop deck file); 2019-03-13 04:21:31 +04:00
Jeff
678f77c2a3 - little spelling fix 2019-03-12 11:43:16 -05:00
Oleg Agafonov
0f4c6c0260 Improved scry and surveils text dialog; 2019-03-11 18:18:40 +04:00
Jeff
c784753ee6 - little fixes. #5625 2019-03-11 08:50:05 -05:00
Oleg Agafonov
3fb18b334d * Tap cost abilities - added cancel button; 2019-03-11 02:04:49 +04:00
Oleg Agafonov
dab481ee17 * UI: added cancel button for all target definition abilities; 2019-03-10 23:31:11 +04:00
Oleg Agafonov
904660e624 Fixed freeze while disconnects on choose target and card in library dialogs; 2019-03-10 16:04:25 +04:00
Oleg Agafonov
9d5fade2fb * Abilities with sacrifice cost - added cancel button to sacrifice target dialog; 2019-03-10 15:55:33 +04:00
Oleg Agafonov
b432b4b431 Fixed freeze and npe error while disconnects on choose target dialog; 2019-03-10 15:53:53 +04:00
Oleg Agafonov
83afca8bda * Crew ability - added selected and needed power info while choosing, colorozing; 2019-03-10 15:33:04 +04:00
Oleg Agafonov
e08fe53672
Merge pull request #5612 from hitch17/dnd-deck-lists
Ability to drag-and-drop decklists onto DeckEditorPanel in deck editor.
2019-03-08 01:03:07 +01:00
Oleg Agafonov
fa75ac2727 Typo fix 2019-03-07 12:14:27 +04:00
Jeff
5220e44b16 - little fixes 2019-03-06 17:11:45 -06:00
Oleg Agafonov
e68b79336a Typo fix 2019-03-06 14:06:47 +04:00