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
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