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