Commit graph

8493 commits

Author SHA1 Message Date
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
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