Ingmar Goudt
ffb649b414
Merge branch 'master' of https://github.com/magefree/mage
2020-07-25 22:22:07 +02:00
Ingmar Goudt
40f73375da
add comments, strictmode and assertAllCommandsUsed to m21 tests
2020-07-25 22:21:53 +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
Ingmar Goudt
41b7439403
Merge remote-tracking branch 'origin/master' into m21_test
2020-07-25 12:38:33 +02:00
Ingmar Goudt
9e7efc8da3
some m21 tests
2020-07-25 12:37:58 +02: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
a90dbd8533
* Some minot code clean up.
2020-07-24 12:08:08 +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
04176350db
* Pyromancer's Gauntlet - Fixed that the effect was applied to all damage of planeswalker not only to planeswalker of the Gauntlets's controller ( fixes #6877 ).
2020-07-23 11:52:09 +02:00
Ingmar Goudt
5dc707339e
move single tests to set package
2020-07-23 08:43:23 +02:00
LevelX2
a2511cad32
Merge pull request #6388 from nivertius/satyr-firedancer-multiple-opponents
...
Satyr Firedancer doesn't triggers for each opponent
2020-07-22 12:52:35 +02:00
LevelX2
7f3b24365e
* Essence of the Wild - Fixed the copy effect.
2020-07-21 00:20:12 +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
ecc05f9535
* Fixed some corner cases for Worl Enchantment State-Based actions (704.5k).
2020-07-18 12:36:35 +02:00
LevelX2
a2ae232b43
* Fixed some corner cases for Worl Enchantment State-Based actions (704.5k).
2020-07-18 12:23:19 +02:00
LevelX2
8c4c2728d6
* Improved rollback handling of the test framework. Test metadata will no longer rollbacked by a rollback and one can now define different actions after the executed rollback.
2020-07-17 17:44:52 +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
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
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
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
983019251e
* Added test for #6823 .
2020-07-13 01:23:48 +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
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
LevelX2
8db0c00b42
* Some comments removed.
2020-07-11 01:06:53 +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
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
Oleg Agafonov
589866c6a6
Fixed random test fail (Oath)
2020-07-10 14:34:18 +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
Oleg Agafonov
81452833f6
Merge pull request #6785 from aidan-coward/master
...
Add July 2020 Vintage Cube decklist
2020-07-07 20:08:46 +02:00
dependabot[bot]
68cf61fc92
Bump jaxb-impl from 2.3.2 to 2.3.3
...
Bumps jaxb-impl from 2.3.2 to 2.3.3.
Signed-off-by: dependabot[bot] <support@github.com>
2020-07-07 08:55:35 +00:00
Oleg Agafonov
ecaa5a5b42
Eon Frolicker - fixed rollback error on play ( #6780 );
2020-07-07 06:32:46 +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
Oleg Agafonov
1532daf9c4
Updated test for #6760
2020-07-06 20:33:48 +04: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
ad2d01b46f
Added tests for #6698 (Emrakul, the Promised End)
2020-07-06 10:49:57 +04:00
Aidan Coward
857c072ac1
grammar fix: freezed -> frozen
2020-07-05 18:23:16 -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
7b57865071
Benthic Explorers - fixed that it doesn't allow to cast spells with opponent's mana ( #6698 );
2020-07-05 06:25:07 +04:00
Oleg Agafonov
e2792881d5
Test framework: added realtime command to check tapped status (checkPermanentTapped)
2020-07-05 06:24:21 +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
SpikesCafe-google
8e819ee614
Add unit test demonstrating Amplify bug ( #6778 )
...
* Add unit test demonstrating Amplify bug
Recreate https://github.com/magefree/mage/issues/6776 .
* Update AmplifyTest.java
* Update AmplifyTest.java
2020-07-03 22:48:58 +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
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
Oleg Agafonov
126898f70a
Added test for #4499
2020-07-02 01:25:19 +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
Evan Kranzler
00c5162682
fixed some Idol of Endurance bugs, updated tests
2020-06-30 19:20:59 -04:00
Oleg Agafonov
345d10ad82
Fixed annoyed random fails of ThousandYearStormTest
2020-06-30 21:15:32 +04:00
Oleg Agafonov
841692fa6c
Fixed test
2020-06-30 21:01:42 +04:00
Oleg Agafonov
d99b0d7b80
Fixed annoyed random fails of ThousandYearStormTest
2020-06-30 20:56:14 +04:00
Oleg Agafonov
307cddcbee
Correct param name
2020-06-30 20:46:51 +04:00
Oleg Agafonov
429df8cf77
Test framework improves for stack and skips:
...
* Added realtime command to show stack objects: showStack;
* Added realtime command to check stack size or stack objects amount: checkStackSize, checkStackObject;
* Allows to skip stack resolves by steps: waitStackResolved with special oneTime param;
2020-06-30 20:41:48 +04: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
Evan Kranzler
e914c38986
Implemented Idol of Endurance
2020-06-29 20:05:38 -04:00
LevelX2
368faa37dd
* Added test for Dream Leash.
2020-06-29 18:02:18 +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
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
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
LevelX2
2c745109e4
* Added test for Reyhan, Last of the Abzan related to ( #6688 ).
2020-06-27 10:48:39 +02:00
LevelX2
81d0442ba1
* Added some tests for restoring objects after rollback.
2020-06-27 10:47:27 +02: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
LevelX2
8906f3be7b
* Cloning a face-down creature should produce a plain 2/2 creature ( fixes #3582 ).
2020-06-27 01:01:55 +02:00
LevelX2
029f47ec32
* Phage the Untouchable bug is not reproducable ( closes #3693 ).
2020-06-26 17:50:02 +02: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
6f3a6f1adb
Test for #6720
2020-06-26 14:52:32 +04: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
LevelX2
de9ecd58bd
* Added test for Trostani Descordant gain control triggerd ability.
2020-06-23 17:12:22 +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
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
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
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
18ths
028ea0e04c
added test for copy anthem effect issue
2020-06-21 20:00:53 +02:00
LevelX2
ce0a941156
* Fixed spelling of test command.
2020-06-21 11:50:32 +02:00
LevelX2
313829c826
* Elite Scaleguard - Fixed not working triggered ability ( fixes #6689 ).
2020-06-21 09:10:33 +02:00
Oleg Agafonov
3f2a5fc362
Prepare new release
2020-06-20 11:36:13 +04:00
LevelX2
1dde600cad
* Added test for "Rollback doesn't unflip a newly flipped Jace." The problem is not reproducible ( closes #1973 ).
2020-06-20 09:31:10 +02: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
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
LevelX2
c5cb7b97a7
* Added test for Ajani, Inspiring leader does not trigger Exquisite Blood + Defiant Bloodlord #6464 . Not reprodicable.
2020-06-19 12:59:06 +02:00
Oleg Agafonov
d069bbd544
Code cleanup and test fixes
2020-06-19 13:24:52 +04:00
Oleg Agafonov
5fdf9607ac
Added test for #5121
2020-06-19 13:23:18 +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
10cf884923
AI and test framework improved:
...
* Now AI can see and use special mana payments like convoke, delve, improvise pays;
* Now devs can test special mana payments (disable auto-payment and use choices for mana pool and special pays);
* Fixed broken TargetDiscard in tests;
* Fixed broken same named targets in tests;
2020-06-19 13:16:26 +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
jeffwadsworth
b84e0c03f8
- Fix test
2020-06-18 17:14:32 -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
85709c0a16
* Some rework/clean up of the PlayFromNotOwnHandZone effects ( fixes #6580 ). Some added tests.
2020-06-18 01:19:23 +02:00
LevelX2
5411e446e1
* Grip of Chaos - Fixed a problem of handling the target not correctly ( fixes #6344 ).
2020-06-15 22:44:17 +02:00
LevelX2
df42a4695d
* Added test for #6635 .
2020-06-14 15:53:12 +02:00
LevelX2
f7c24e8b7f
* Starfield of Nyx - Fixed that not only controlled permanents are effected. Fixed some layered effects problems ( fixes #6638 ).
2020-06-14 12:22:30 +02:00
Oleg Agafonov
b5f45f395f
Tests: improved showCardInfo to show texts from multiple card names
2020-06-14 04:32:10 +04:00
18ths
1e0ffe95e8
fixed #1219 - Cavern of Souls and Boseiju, Who Shelters All preventing counterspells even after permanent was bounced ( #6634 )
2020-06-12 23:13:42 +04:00
LevelX2
fe8a334ffe
* Added test for #6291 Unlicensed Disintigration.
2020-06-12 15:48:41 +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
Oleg Agafonov
8902fb1002
Added and fixed tests for Meddling Mage from #6570
2020-06-12 10:15:55 +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
Evan Kranzler
36b31d097e
reinstated new mill wording
2020-06-10 22:38:59 -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
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
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
LevelX2
9483bf2ba3
* Added test for #6344 . Problem not reproducable ( closes #6344 ).
2020-06-09 12:48:28 +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
LevelX2
0bdbd36d2d
* Added test from #6349 .
2020-06-08 17:16:12 +02:00
Evan Kranzler
64625654f4
fixed another test failure
2020-06-07 19:37:41 -04:00
Evan Kranzler
3b125def9c
one more test fix
2020-06-07 15:17:28 -04:00
Evan Kranzler
a6a9160139
fixed a fix
2020-06-07 15:08:22 -04:00
Evan Kranzler
47ccb6d07b
fixed some test failures
2020-06-07 14:57:56 -04: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
LevelX2
7594c4144c
* Ignoring failing test again.
2020-06-04 12:25:16 +02:00
LevelX2
d4dbf33d19
* Some minor code changes.
2020-06-04 10:57:36 +02: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
75d0926f4b
* Some minor changes.
2020-06-03 18:06:03 +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
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
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
3333cf3287
* Added test for #6581 .
2020-05-29 16:59:56 +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
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
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
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
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
Oleg Agafonov
0c2e08f54e
* UI: choose spell to cast dialog - added card name for spell abilities (split, adventure, additional spell, etc, see #6549 );
2020-05-18 06:46:39 +04:00
emerald000
a904b7c890
Fix StubPlayer handling of London mulligans and fix related tests.
2020-05-05 23:15:45 -04: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
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
Evan Kranzler
4e8d423bca
added more Ashling the Pilgrim tests
2020-04-28 19:09:05 -04: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
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
214765ddd8
added a test for The Ozolith
2020-04-21 18:58:58 -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
fa75a89946
Fixed tests
2020-04-18 17:10:15 +04: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
7c4d86f583
add author tag
2020-04-16 18:11:56 -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
916ff26070
Update UnpredictableCycloneTest.java
2020-04-16 08:15:52 -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
Oleg Agafonov
79c5c7a6a5
Test framework improves (Monte Carlo AI):
...
* Added support to test Monte Carlo AI (CardTestPlayerBaseWithMonteCarloAIHelps - any aiXXX commands);
* Added Quick Start button to test Monte Carlo AI games (MCTS);
2020-04-14 20:09:36 +04:00
Oleg Agafonov
a7ac35a82d
Test framework improves:
...
* Added AI commands support to play attacker and blocker steps;
* Fixed double triggers of blocker declared event (if block command used with block requirement effect);
2020-04-14 20:05:25 +04:00
Paweł Płazieński
64b979b0d7
Satyr Firedancer triggers for each opponent
...
Satyr Firedancer should trigger multiple times when single Instant or
Sorcery deals damage to multiple opponents, once for each opponent.
Cards like Price of Progress currently triggered first time for first
opponent in turn order, but not for others.
This commit changes how the ability handles multiple damage by single
source: single spell can trigger multiple times of a single stack
object, because it can represent multiple instances of damage.
2020-04-01 22:28:46 +02:00
Thomas Hess
7219d51572
Removed 6th Edition cards from Starter 2000 set.
...
These are indistinguishable from regular 6ED cards and not listed on Scryfall.
2020-03-24 17:32:08 +01:00
Thomas Hess
da98ac82ed
Aligned Guru Set code with Scryfall (GUR → PGRU).
2020-03-24 17:32:06 +01:00
Thomas Hess
2e08c1a9c4
Test for NULL values in test_CreateRandomDeck().
...
Sometimes, building a random deck fails and returns NULL.
Properly handle this case by adding some assert statements that
verify that a Deck instance is actually returned, before checking the cards.
Prevents NPEs during test runs.
2020-03-24 17:32:06 +01: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
6297650c3b
Split the Judge Gift Cards set (JP) into the individual sets as listed on Scryfall.
...
- Removed the JP set.
- Added G02-G11, J12-J20
- Fixed all usages in the test code
- Updated the sample decks that used these cards.
The deck lists now contain the updated references.
- Added all Judge Gift sets to the "bling" sets list
2020-03-24 17:31:54 +01:00
Thomas Hess
12d1bd4bb4
Split the cummulative Friday Night Magic set into the individual sets.
...
- Removed set FNMP
- Added sets F00 - F17 (F18 does not contain cards, only tokens)
2020-03-19 11:09:48 +01:00
Thomas Hess
e39a9706bc
Fix booster generation issues with Mystery Booster set.
...
- Split the foil sheet into a separate set as listed on Scryfall.
- Added unit test cases that verify booster generation.
2020-03-19 11:09:45 +01:00
Thomas Hess
6fd8b0a80b
Fix booster generation issues with Mystery Booster set.
...
- Split the foil sheet into a separate set as listed on Scryfall.
- Added unit test cases that verify booster generation.
2020-03-18 14:51:52 +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
a6ab40dc57
Test framework: added strict mode support for full simulation commands (aiXXX);
2020-03-09 12:34:05 +04:00
Oleg Agafonov
70bf13359a
Test framework: improved alias support:
...
* added alias support in castSpell command;
* added alias support in activateAbility command (example: `@ref ability text from ref card`);
* added alias support in activateMana command;
* added alias support in some assertXXX commands;
2020-03-09 05:49:03 +04:00
Oleg Agafonov
cb8d4dc340
* Non creature tokens - fixed rollback errors in AI games (example: Food token, see #6331 );
...
Fixed other potentially NPE errors with rarity;
2020-03-06 03:27:46 +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
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
Oleg Agafonov
13ad86cb21
Test framework improves:
...
* added aliases support to many assertXXX commands (check objects by alias/GUID instead card name);
* added mode to test/simulate human's mana pool usage without auto-payment (enable it by command disableManaAutoPayment, fill mana pool by activateManaAbility and simulate clicks on mana icon by setChoice);
* improves activateManaAbility command (you can activate it multiple times by one command);
* improves setChoice command (you can activate it multiple times by one command);
2020-02-11 20:04:19 +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
847df3eeb8
Check zone change counters in PutOnLibrarySourceEffect
2020-02-09 11:56:13 -05:00
Oleg Agafonov
db2a556fca
Additional comments and tests for #6268
2020-02-09 07:52:24 +04: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
Samuel Sandeen
51424b1460
Fix Irencrag Feat's spell casting effect. ( #6268 )
...
* Create a test for Irencrag Feat to ensure it functions correctly.
* Fix Irencrag Feat so it works correctly.
2020-02-08 18:28:10 -06:00
dilnu
78d45e16ad
Create a test to verify Grim Haruspex's ability.
...
See https://github.com/magefree/mage/issues/6214
2020-02-08 16:11:04 -05: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
7cbf999e9b
- Fixed Starfield of Nyx test.
2020-02-07 10:22:15 -06:00
dilnu
6d005bae1d
Add tests by JayDi85 and fix TestPlayer's Targetting code so it triggers Targetted Events.
2020-02-06 18:55:33 -05:00
jeffwadsworth
d6c2f031d0
- Fixed #6236
2020-02-06 17:47:08 -06:00
dilnu
fc46c0b288
Turn on strict mode for the test and Add documentation for the cards in the test.
2020-02-03 18:01:36 -05:00
Oleg Agafonov
78a9279438
Improved test for #6244
2020-02-04 02:22:26 +04:00
Oleg Agafonov
4c5ea62cea
Merge pull request #6244 from Dilnu/Chaos
...
Fix Chaos Wand
2020-02-03 23:19:34 +01:00
Oleg Agafonov
ee9abe4699
Fixed test
2020-02-04 01:37:21 +04:00
Oleg Agafonov
88f23bc0ee
Merge pull request #6245 from Dilnu/Despark
...
Allow players to block creatures attacking destroyed planeswalkers.
2020-02-03 22:34:45 +01: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
a8d8f4e621
Add tests to debug issues with Bonecrusher Giant
...
https://github.com/magefree/mage/issues/6158
2020-02-02 18:51:05 -05:00
dilnu
9a80b07d2a
Fix Skyfire Phoenix's triggered ability.
2020-02-01 19:05:46 -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
e3e68c4607
Fix Chaos Wand
...
Fixes https://github.com/magefree/mage/issues/6241
2020-02-01 16:51:19 -05:00
Oleg Agafonov
c767d19534
Test framework: added AI support in basic card tests:
...
* added new command to play one best action on priority by AI (aiPlayPriority);
* added new command to play all best actions on step by AI (aiPlayStep);
* now you can setup battlefield by standard commands and run AI simulations for single priority/step;
* CardTestPlayerBase - old default class for card tests, it uses simple AI for choosing, but do not play/simulate it;
* CardTestPlayerBaseAI - old default class for AI game tests, auto-playable playerA, you can control only playerB;
* CardTestPlayerBaseWithAIHelps - new improved class for card tests, it uses controllable and real AI with game simulations;
2020-01-29 07:42:20 +04:00
Oleg Agafonov
89394ffe0a
Improved ability outcome processing;
2020-01-29 07:33:33 +04:00
Oleg Agafonov
eb93c08a6f
Fixed tests
2020-01-28 16:42:44 +04:00
Oleg Agafonov
5c058d8f85
Cleanup code (added logs rotation to tests)
2020-01-28 12:02:56 +04:00
Oleg Agafonov
0525463faf
Test framework: added more aliases support, improved logs output for show commands;
2020-01-27 17:31:18 +04:00
Oleg Agafonov
ccdad1f5ca
Test framework: added alias support in chooseTarget;
2020-01-27 14:02:21 +04:00
Oleg Agafonov
ffdc884949
Logs cleanup (removed database logs)
2020-01-27 06:01:56 +04:00
Oleg Agafonov
ec6b0b94c6
Test framework: improved aliases support:
...
* added check commands support;
* added on of the choose method support;
* added todo and checks for wrong test commands setup;
2020-01-27 06:00:46 +04:00
Oleg Agafonov
016f5fa9f5
Merge fix
2020-01-26 20:39:19 +04:00
Oleg Agafonov
b86438b80d
Tests for #6222
2020-01-26 20:37:32 +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
Oleg Agafonov
c835fb409d
* Bolas's Citadel - fixed that it can't play cards with cycling ( #6215 );
2020-01-22 14:45:44 +04:00
michaelrfarcasin
cef3b9488f
Merge from origin/master
2020-01-20 23:01:31 -06:00
michaelrfarcasin
c3cb54f371
Add Freeform Unlimited Commander game type
...
Currently there's no multiplayer format that allows players to cast
spells from the command zone and also allows any deck size.
This is a problem for players who want to test EDH Cube decks. These
decks:
- can have any size - often between 40 and 100 - with no standard
- can have cards outside the commander's color identity
- may break the singleton rule
Create a game and deck type to accommodate these types of decks.
Notable differences from Freeform Commander in addition to the above:
- Decks can have any number of cards in the maindeck or sideboard
- Sideboard cards can be any type
- There are no illegal expansions
- Games can have a minimum 2 players
2020-01-20 22:47:27 -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
a31da48084
Little fixes
2020-01-16 17:11:19 +04:00
Oleg Agafonov
ec2ea7f070
Reverted some changes, related to #6187 , see comments from d20a20fb6a
2020-01-16 08:22:23 +04:00
LevelX2
180c7dfff6
* Updated UnequipEventTest.
2020-01-15 17:32:07 +01:00
LevelX2
7575510c85
* Fixed that Soulfire Grand Master did not work for adventure or split cards ( fixes #6182 ).
2020-01-14 23:26:04 +01: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
748d14e55e
* Thassa, Deep-Dwelling - fixed text;
2020-01-14 18:53:47 +04:00
Oleg Agafonov
e768c375dc
* Yorvo, Lord of Garenbrig - fixed that it doesn't add +1 counter is green creature dies before resolve;
2020-01-14 12:55:21 +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
fe0717cbc7
* Goblin Clearcutter - fixed that tapped for mana replacement effects ignore his mana;
2020-01-12 11:19:17 +04: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
589142aeb5
Real fix to prev commit
2020-01-12 09:26:52 +04:00
Oleg Agafonov
92e15283ea
* Tapped for mana abilities - fixed that it cause rollback error if you cast second card with that effect (Nyxbloom Ancient, etc);
2020-01-12 09:11:38 +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
044645aca2
* Added test for split card cast with fuse.
2020-01-10 20:50:24 +01:00
LevelX2
2a0723b7cd
* Vivien, Arkbow Ranger - Fixed target handling of +1 ability.
2020-01-10 15:49:55 +01:00
LevelX2
ac2a59fdc2
* Added better handling of TargetAmount for tests.
2020-01-10 15:48:21 +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
b6b2103b6c
* Kiss, Dissident Mage - Fixed that it did not exile from graveyard casted split cards.
2020-01-09 21:29:27 +01: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
LevelX2
d4ec65cddb
Added Test and changed some log messages from info to debug.
2020-01-07 17:56:26 +01: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
5a6f9022c0
Merge pull request #6151 from magefree/refactorSubTypePredicate
...
Refactored SubTypePredicate to be part of SubType
2020-01-06 18:27:03 -05:00
Evan Kranzler
86906ec25f
refactored all instances of SubtypePredicate
2020-01-06 16:48:00 -05:00
LevelX2
79f5d7a358
Merge origin/master
2020-01-06 21:16:09 +01:00
LevelX2
e565863bd2
Added test for Nissa, Sage Animist -7 ability.
2020-01-06 12:58:50 +01:00
LevelX2
7bf213c0ec
* Added Hideaway test.
2020-01-05 17:55:38 +01:00
LevelX2
7f0d793544
* Fixed a problem with Licid creatures not dying if the enchanted creature dies.
2020-01-05 17:06:36 +01: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
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
b3ec79f467
Test framework: added command to show available mana;
2020-01-04 20:15:43 +04: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
a381c1954c
* Bolas's Citadel - fixed that it can't play cards with mana abilities;
2020-01-03 17:20:46 +04:00
Oleg Agafonov
53296446a8
Test fix
2020-01-02 06:18:15 +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
50195e8f35
* AI: fixed that computer can't target cards on battlefield if it contains tokens;
2020-01-02 04:46:20 +04: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
f5ef16c8cf
Additional fixes for getNetMana from #6132 , added TODO task for next mana improves;
2020-01-01 02:27:54 +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
0faecb2fb6
Server: fixed missing data compress for some server's responses;
2019-12-31 04:11:23 +04:00
Oleg Agafonov
5524224d63
Tests: removed bloated logs from AI load tests;
2019-12-31 04:08:13 +04:00
Ingmar Goudt
978309827b
remove deprecated discard method
2019-12-30 00:22:33 +01:00
Oleg Agafonov
9b685cf14b
Tests: added chat messages processing in AI load tests;
2019-12-29 17:03:19 +04: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
12639bce26
* Added Test for #5905 .
2019-12-28 01:33:14 +01:00
LevelX2
b38242bf93
* Faerie Artisans - Fixed a problem that the triggering permanent was not copied if it already left the battlefield ( fixes #5904 ).
2019-12-28 00:44:38 +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
1977e7f986
* Opportunistic Dragon - Fixed that the can't attack effect was not discarded if the Opportunistic Dragon left the battlefield.
2019-12-25 17:05:52 +01: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
9cf1ee2f42
Questing Beast - fixed rollback error on damage prevent ( #6116 );
2019-12-24 10:53:51 +04:00
LevelX2
82371456cd
* Commented out showXXX commands in tests to reduce the output.
2019-12-23 19:22:56 +01:00
Oleg Agafonov
fac7ea1388
* AI: fixed rollback errors with copy spell abilities;
...
Tests: added copy spell support for test player;
2019-12-23 21:47:01 +04:00
LevelX2
2f998060a2
* Fixed a problem with power/toughness setting of copied transformed permanents ( fixes #5893 ).
2019-12-23 15:35:53 +01: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
Oleg Agafonov
7a7a9c20ec
Tests: fixed false positive tests (AI related, see prev commit);
2019-12-20 20:22:38 +04: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
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
Oleg Agafonov
419cbf3c28
* AI: fixed that computer was able to choose non valid targets/cards (from all graveyards, hands, etc);
2019-12-16 02:58:10 +04:00
Oleg Agafonov
0885a01849
Fixed that TargetCard ignore filter in some calls
2019-12-16 02:55:13 +04:00
LevelX2
af9f2c93dd
Merge pull request #5910 from magefree/set_lint
...
Fix various hints and warnings on many set & block classes (via Intel…
2019-12-15 13:21:08 +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
LevelX2
d458e73795
Merge pull request #5826 from drmDev/ut/trickster
...
Unit Tests for Merfolk Trickster, confirming #5825
2019-12-15 12:23:48 +01:00
Patrick Hulin
5d35ee675d
Fix Mysterious Pathlighter.
2019-12-14 23:31:39 -05: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
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
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
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
ddedabad85
Improved cards with "may spend mana as though":
...
* Game: added combo support with adventure and split cards;
* AI: computer can see and play it;
* UI: users can see playable cards for as though mana cost.
2019-12-14 18:59:18 +04:00
Oleg Agafonov
c9ea0f1877
Fixed Bolas's Citadel combo with adventure cards
2019-12-14 18:51:35 +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
Oleg Agafonov
cac761e45d
Test framework: added realtime check for playable ability
2019-12-13 13:42:41 +04:00
Patrick Hulin
555a177dd2
Ignore failing Bolas's Citadel test for now.
2019-12-11 22:49:50 -05:00
Patrick Hulin
b0bac1f751
Fix Bolas's Citadel and add test.
2019-12-10 18:01:32 -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
d3ee51c155
Add tests for W6 and flash effects like Teferi, Time Raveler.
2019-12-10 13:48:15 -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
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
1bbfc32886
Add test for multiple adventures.
2019-12-09 19:57:54 -05:00
Patrick Hulin
a2a569195a
Fix issue where you could cast Adventure from exile.
2019-12-09 19:38:41 -05:00
Patrick Hulin
5af4942d15
Add test for copying and more test comments.
2019-12-09 14:16:38 -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
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
ssouders412
50bd6cbc32
More pronoun fixes
2019-12-06 15:17:44 -05: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
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
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
Oleg Agafonov
7469d59eee
Prepare new release
2019-11-30 01:32:54 +04:00
Adrian Petrescu
272d72caae
Fix filtering bug in Leyline of Abundance.
...
Basically the abundance effect was triggering on your opponents' mana
creatures too. Now it should only trigger on your own. Added
previously-failing test as well.
Fixes #6052 .
2019-11-25 17:23:13 -05:00
Jeff
3f9f860f85
Fixed #6047
2019-11-19 15:32:44 -06:00
Oleg Agafonov
22fbe57d84
Merge pull request #6041 from ssouders412/MustBeBlockedFix
...
Irresistible Prey "must be blocked" fix
2019-11-14 01:33:58 +01:00
ssouders412
98c94a487b
Added Must Be Blocked test
2019-11-13 17:29:45 -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
Adrian Petrescu
00fd8d18da
Remove unneeded import in an unrelated test, just for kicks
2019-10-11 09:59:54 -04:00
Adrian Petrescu
69cff6c920
Fix buggy login in SyrKonradTheGrimTriggeredAbility.checkTrigger()
...
Basically needed to check that creatures leaving the graveyard belong to
the controlling player.
2019-10-11 09:59:06 -04:00
Adrian Petrescu
e9bbefb814
Adding incorrectly-failing test for SyrKonradTheGrim
...
His ability should only trigger on creatures leaving the controller's
graveyard, not any graveyard.
2019-10-11 09:48:26 -04:00
Oleg Agafonov
f719503a89
Prepare new release
2019-09-27 21:19:03 +04:00
Adrian Petrescu
12828b78d6
Check Archfiend of Spite trigger on CREATURE_DAMAGED
...
Currently, it ignored the trigger unless a player was also damaged (by
other unblocked attacking creatures, for example), so there are plenty
of situations where it will fail to occur.
The included test fails against current master, but passes with the
patch.
Fixes #5971 .
2019-09-12 15:53:13 -04:00
Oleg Agafonov
8dc6e152af
Prepare next release
2019-09-10 00:33:47 +04:00
Iain Monro
48fbd30f2d
#5935 Fix and standardise firing of TAPPED_FOR_MANA event
2019-08-16 15:26:40 +01:00
Iain Monro
8ab0b487f3
#5938 Make Identity Thief's ability optional
2019-08-15 09:18:28 +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
John Gray
d2005be8c2
add strictChoiceMode and allCommandsUsed
2019-07-26 23:55:05 -04:00
Oleg Agafonov
ff6b961e7c
Merge pull request #5914 from jgray1206/repeated_reverb_fix
...
added unit test for Repeated Reverberation + add fix for loyalty counter (issue #5882 )
2019-07-22 19:49:14 +02:00
John Gray
71464f4fcb
add strictChoiceMode and allCommandsUsed
2019-07-22 06:46:43 -04:00
John Gray
5b4ba490c3
add strictChoiceMode and allCommandsUsed
2019-07-22 06:45:11 -04:00
John Gray
7155977cd2
add aether gust unit tests + fix issue #5902
2019-07-21 22:26:11 -04:00
John Gray
ca79db489a
add better comments + refactor card names into variables
2019-07-21 21:33:38 -04:00
John Gray
f5d4046903
added unit test for Repeated Reverberation + add fix for loyalty counter (issue #5882 )
2019-07-21 11:51:16 -04:00
John Gray
b05981020c
add unit test for hapatra vizier of poisons + fix issue #5886
2019-07-20 13:21:14 -04:00
Mike Simons
8d08f005af
Fix various hints and warnings on many set & block classes (via IntelliJ IDEA linting):
...
- replacing hard coded strings of set codes with reference to 'mage.sets.<set>.getInstance().getCode()' allows for set class names to no longer show as unreferenced & adds for more consistence between other block units
- various protected variables were able to be changed to private to clean up additional warnings
- some JavaDoc comments were generating warnings due to missing documentation
- removed some unused imports and unused variables
- there were multiple conditional logic checks for 'rarity != Rarity.LAND' within an if block where the outer condition was 'if rarity == Rarity.COMMON' rendering the inner condition always true and thus redundant
- a few ExpansionSet.buildDate parameters wer using octal values (eg. '03' instead of '3') which triggered some warnings
- added a booster generation test for WarOfTheSparks to make sure every booster contains a planeswalker
- added a booster generation test for ModernHorizons to make sure every booster contains a snow land
- booster generation test for Battlbond set referenced the Coldsnap set class instead of Battlebond
2019-07-18 23:28:48 -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
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
Oleg Agafonov
9a08ccda95
Extra tests for AI;
2019-07-12 19:57:23 +04:00
Oleg Agafonov
5cf95d3ed1
Test framework: fixed that add counters command adds wrong amount of counters;
2019-07-12 19:41:06 +04:00
Oleg Agafonov
02b1e86f20
Extra tests for AI;
2019-07-12 19:09:26 +04:00
Oleg Agafonov
ae7623e118
AI: fixed that AI never use alpha strike to kill opponent (doesn't use "all in" attack, #4486 );
2019-07-12 18:36:32 +04:00
Oleg Agafonov
be281ff402
Test framework: added AI support for attack/block phases, added attack/block skip commands;
2019-07-12 13:54:24 +04:00
John Gray
1d0da973ac
added boneclad necromancer unit tests + fix for issue #5875
2019-07-07 22:48:51 -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
John Gray
f564c522a3
added chandras embercat unit tests + fix for issue #5880
2019-07-06 11:30:26 -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
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
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
716b929877
Prepare new release
2019-06-30 18:33:29 +04: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
34ff038053
AI: improved target amount abilities:
...
* added support to search targets from multiple opponents instead one;
* added support of TargetCreaturePermanentAmount and all new target types;
* added new priorities (kills most valuable first);
* added bad and good conditions (choose most valuable in good case and most weakest in bad case, e.g. damage yourself);
* fixed that AI targets opponent for good ability instead yourself;
2019-06-26 21:46:11 +04:00
Oleg Agafonov
7e08b3c3d5
Test framework: added support to create custom instant/sorcery;
2019-06-26 21:40:17 +04:00
Evan Kranzler
20d1aa4b91
fixed Embodiment of Agonies tests
2019-06-24 19:28:52 -04:00
Evan Kranzler
2f72726a7f
fixed implementation of Embodiment of Agonies, added a test
2019-06-24 19:20:03 -04:00
Oleg Agafonov
d0638e71af
Fixed symbols and images download from wizards;
2019-06-23 18:56:25 +04:00
Oleg Agafonov
63a9a505e1
Fixed that alternative spell always selected to cast if available;
2019-06-23 17:20:04 +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
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
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
fe28c9c7d9
* Flashback ability -- added support of additional cost like flashback with kicker combo ( #5389 );
2019-06-17 15:03:37 +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
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
Derek Monturo
03f572e946
moved footlightfiendtest outside of merfolktrickstertest
2019-06-13 17:45:12 -04:00
Oleg Agafonov
55bc61000a
Prepare new release
2019-06-06 23:03:38 +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
Derek Monturo
5e6e6211e6
minor adjustments
2019-06-03 19:27:34 -04:00
Derek Monturo
cf807e5bdf
Unit Tests for Merfolk Trickster interactions for issue #5825
2019-06-03 19:23:37 -04:00
Oleg Agafonov
958228e009
[MH1] added Silumgar Scavenger
2019-06-03 16:35:56 +04:00
Oleg Agafonov
02f4e39418
[MH1] added Face of Divinity
2019-06-03 14:06:12 +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
Oleg Agafonov
913ee65f36
Cards compatibility with oathbreaker format;
2019-05-27 17:21:17 +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
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
Derek Monturo
45c7d453b5
adjusted unit test phases
2019-05-15 20:59:55 -04:00
Derek Monturo
79a99a0866
Detection Tower and Witchbane Orb interaction bug confirmed for #5796
2019-05-14 08:12:31 -04: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
b9b8415c99
Extra tests to catch card creation errors;
2019-05-06 17:03:56 +04:00
Derek Monturo
e333aa2d45
UTs added for Challenger Troll block restrictions. closes #5730
2019-05-05 12:34:15 -04:00
Derek Monturo
dccea47889
UT for Kiora Behemoth untap ability
2019-05-05 05:39:27 -04:00
Oleg Agafonov
735d2a16a2
* Feather, the Redeemed - fixed that it returns to hand re-casted/blinked cards;
2019-05-02 23:15:43 +04:00
Oleg Agafonov
648026ac0b
Test framework: fixed not working choices for replacement effects;
2019-05-02 23:14:56 +04:00
Oleg Agafonov
a3fee30ed6
* Martyrs of Korlis - fixed that redirect damage effect doesn't work;
2019-05-01 21:02:12 +04:00
Oleg Agafonov
0aeab75552
Added ConditionalCostModificationEffect to support cost modification effects with conditions ( #5738 )
2019-05-01 19:53:54 +04:00
Oleg Agafonov
e6823e4423
Test framework: added realtime check for damage (checkDamage, #4936 )
2019-05-01 19:52:05 +04:00
Oleg Agafonov
367a1fd189
Added ConditionalPreventionEffect to support prevention effects with conditions ( #5738 )
2019-05-01 12:49:19 +04:00
Oleg Agafonov
3beac51ebf
Tests: added more tests with continuous effects and game leaving by players
2019-04-28 21:33:05 +04: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
73ad2fa969
Typo :-)
2019-04-28 12:06:52 +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
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
Oleg Agafonov
0bb735b482
Tests: added todo test for AI's playerMustBeAttackedIfAble ( #4496 )
2019-04-28 09:25:00 +04:00
Oleg Agafonov
b9be369bd3
* Paupers' Cage - fixed that counts controllers cards in hand instead opponents;
2019-04-24 22:14:59 +04:00
Oleg Agafonov
e51b054249
* Oath of Kaya - fixed that it doesn't triggers on attacks;
2019-04-24 21:41:24 +04:00
Oleg Agafonov
ef3689a225
Test "fix"
2019-04-23 23:51:02 +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
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
a2daa72678
Merge fix
2019-04-23 12:33:10 +04:00
Oleg Agafonov
0c0ead33a7
Merge fix
2019-04-23 12:22:33 +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
db2a3b7ac4
[WAR] added Spark Double
2019-04-22 19:43:53 +04:00
Oleg Agafonov
4c899a25bd
Test framework: added real time card type check ( #4936 );
2019-04-22 19:42:25 +04:00
Evan Kranzler
254972be77
Implemented Ashiok, Dream Render
2019-04-15 14:10:06 -04:00
Oleg Agafonov
f81142459d
* UI: fixed wrong server reconnect on multiple apps runs ( #5495 );
2019-04-12 12:15:48 +04: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
Oleg Agafonov
65bb9b2161
Prepare new release 1.4.34
2019-03-29 18:31:00 +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
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
d77ad0ce1f
Add mulligan tests.
2019-03-19 23:31:22 -07:00
John Hitchings
4a232b148c
Add mulligan options to NewTableDialog, passing mulligan information to games.
2019-03-19 06:08:12 -07:00
Oleg Agafonov
23271d9b9b
* Thousand-Year Storm - fixed that it don't counts spells on the same stack as storm ( #5620 );
2019-03-14 05:45:13 +04:00
Oleg Agafonov
e7984c6dd4
Test framework: added waitStackResolved
command to wait stack resolved before execute next command on the same step (devs can cast and check any number of commands without switch to next step).
2019-03-14 05:42:29 +04:00
Oleg Agafonov
43ba6685eb
Test framework: added setStrictChooseMode
setting for tests to disable AI selects in choose/target dialogs;
2019-03-14 05:36:57 +04:00
Oleg Agafonov
886f3d39f8
Test framework: added attached info in show command;
2019-03-10 02:09:19 +04:00
Oleg Agafonov
fa75ac2727
Typo fix
2019-03-07 12:14:27 +04:00
Oleg Agafonov
e68b79336a
Typo fix
2019-03-06 14:06:47 +04:00
Ingmar Goudt
9a1edf7689
fix compile loadphasemanager
2019-03-04 12:07:17 +01:00
Ingmar Goudt
553d263526
add missing diamond operators
2019-03-04 11:57:53 +01:00
Ingmar Goudt
4a14940414
use Static filter rather than new filter, add test for this filter
2019-03-01 00:08:15 +01:00
Oleg Agafonov
4504ad5e6f
* Fixed infinite AI choose if there are not enough different targets, e.g. Biomantic Mastery ( #5023 );
2019-02-22 03:29:01 +04:00
Ingmar Goudt
056226d83c
Sonar fixes 19022019
2019-02-19 21:51:45 +01:00
Oleg Agafonov
8cf681dff2
Updated libraries to latest versions and code compatibility fixes;
2019-02-17 16:12:57 +04:00
Jeff
6bded2404e
- Fixed #5586 .
2019-02-11 15:00:36 -06:00
Ingmar Goudt
c8a4e7a46b
update JSoup, added test for Polluted Bonds, remove explicit parent groupId from poms
2019-02-11 15:03:18 +01:00
Ingmar Goudt
ff6dd3626f
Client: use Rarity enum rather than a String
2019-02-11 14:14:36 +01:00
Oleg Agafonov
e285b2770d
* Curse cards - fixed that it triggers on planeswalker attack only ( #5566 );
2019-02-09 15:40:23 +04:00
Evan Kranzler
9d96efb936
fixed Gisela preventing damage from unpreventable damage sources ( fixes #5554 )
2019-01-27 19:43:14 -05:00
Oleg Agafonov
2ad90e44b0
Typo
2019-01-27 23:23:58 +04:00
Oleg Agafonov
c4877902c6
Tests: fixed tests with wrong stop command;
2019-01-27 23:18:18 +04:00
Oleg Agafonov
42e8ca2843
Tests: added checks on wrong/missing stop commands;
2019-01-27 23:16:52 +04:00
Oleg Agafonov
a38e149a55
Tests: improved tests for Banefire with Gisela
2019-01-27 22:21:00 +04:00
Evan Kranzler
0b674f18b8
temporary test skip while I fix things
2019-01-27 11:41:58 -05:00
Evan Kranzler
23f74c77ce
updated Gisela, Blade of Goldnight test to check Banefire interaction
2019-01-27 11:00:13 -05:00
Evan Kranzler
1c483c6f2a
small fix
2019-01-25 10:41:11 -05:00
Evan Kranzler
34e3bb42db
fixed Rhythm of the Wild not giving Riot to creatures that weren't cast
2019-01-25 10:32:29 -05:00
Oleg Agafonov
d25bca748d
Fixed Arrays.asList code
2019-01-23 19:15:03 +04:00
Ingmar Goudt
7c2f55eda0
couple of sonar fixes
2019-01-17 12:03:22 +01:00
Oleg Agafonov
975cff93e3
Merge remote-tracking branch 'origin/master'
2019-01-16 21:04:00 +04:00
Oleg Agafonov
14f66029f8
Missing v33 commit
2019-01-16 20:59:45 +04:00
Evan Kranzler
63fb5964d4
Merge pull request #5527 from magefree/coinFlips
...
Fixing coin flip implementation (WIP - Do Not Merge)
2019-01-16 11:44:01 -05:00
Ingmar Goudt
a5f46b8816
Urborg Syphon Mage makes opponents lose life, rather than damaging them
2019-01-16 13:33:44 +01:00
Evan Kranzler
535fe221e3
rewrote how coins are flipped
2019-01-15 15:56:40 -05:00
Evan Kranzler
f5fffcf417
initial refactor
2019-01-15 11:51:49 -05:00
Oleg Agafonov
f566f3af71
Fixed riot tests
2019-01-14 05:53:34 +04:00
Ingmar Goudt
4e4d46437c
update riot test
2019-01-14 00:18:21 +01:00
Evan Kranzler
8629977f14
refactored many other predicates to singleton enums
2019-01-12 16:30:49 -05:00
Evan Kranzler
58de14fbba
temporarily ignore broken tests (it works when tested manually)
2019-01-12 15:32:19 -05:00
LevelX2
c2472c0f9b
* Rhythm of the Wild - Fixed that the riot trigger did not work ( fixes #5514 ).
2019-01-12 16:35:28 +01:00
Oleg Agafonov
8f0351896c
Merge pull request #5502 from ZeldaZach/address_mage_stuff
...
Address Json Tests
2019-01-11 07:24:56 +04:00
Oleg Agafonov
11f93cf762
Merge pull request #5501 from hitch17/add-cockatrice-deck-format-5493
...
UI: add cockatrice deck format support for import (*.cod)
2019-01-11 07:17:48 +04:00
Zach Halpern
1712b05c33
Merge branch 'master' into address_mage_stuff
2019-01-10 21:35:12 -05:00
Zach Halpern
8a5f2288f9
Address crash points of JSON tests
2019-01-10 21:27:38 -05:00
Jeff
7f1267563b
- Fixed #5500 . If you note any interactions that I missed testing, do tell.
2019-01-10 17:10:25 -06:00
John Hitchings
58e629dca6
Refactored DeckImporter and obsoleted DeckImporterUtil. Added/refactored a PlainTestDeckImporter as a base class for text formatted importers to extend.
2019-01-10 08:27:05 -08:00
Oleg Agafonov
942ecc5328
Fixed errors on empty targets in some effects;
...
Added export code example for mtgjson4 project;
2019-01-09 10:54:59 +04:00
LevelX2
e938f91e3e
* Myth Unbound - Fixed the two working abilities(fixe #5347 ).
2019-01-07 16:39:49 +01:00
Oleg Agafonov
0293b91c25
Tests: added random results image generators (random, shuffle, dice, planar dice);
2019-01-05 13:12:59 +04:00
Oleg Agafonov
0670c401e0
* Fixed Brood Of Cockroaches text
2019-01-05 01:42:43 +04:00
Oleg Agafonov
207e95e001
Fixed card texts: instant or sorcery spell;
2019-01-05 00:46:53 +04:00
Evan Kranzler
0ad967a5b3
small update to previous commit
2019-01-04 12:31:10 -05:00
Oleg Agafonov
2ebad63595
Added seeds support to random util:
...
* all xmage code uses shared util to generate random values;
* tests can uses seeds to repeat "random" results like deck builds or AI plays;
2018-12-30 03:52:30 +04:00
Oleg Agafonov
0a2f312da7
Added build time to version info, cleanup manifest files;
2018-12-15 18:29:10 +04:00
Oleg Agafonov
1d450730c0
Merge origin/master
2018-12-07 01:21:32 +04:00
Oleg Agafonov
02b7e2cf10
Refactor: extract card names compare logic (is empty name, is same name)
...
Fixed last broken tests
2018-12-07 00:26:50 +04:00
Oleg Agafonov
96187ad3c0
Tests: fixed TidehollowScullerTest;
2018-12-03 06:16:34 +04:00
Oleg Agafonov
b172f3c44a
Test framework: added basic aliases support (see full info at #5451 ):
...
* generates aliases by addCard command (for one or multiple cards);
* added support of `castSpell` command;
* added show command to print aliases list with connected objects and zones;
* added check command to control alias's object exists;
2018-12-03 06:15:54 +04:00
Oleg Agafonov
86ac1fcb1a
Tests: fixed OmnathLocusOfRageTest;
2018-12-02 03:09:27 +04:00
Oleg Agafonov
c1804f810c
Tests: fixed BrainMaggotTest;
2018-12-01 09:08:35 +04:00
Oleg Agafonov
c1e4fce448
Tests: fixed SpellskiteTest and enabled missing tests;
2018-12-01 08:21:54 +04:00
Oleg Agafonov
d65dab9a95
Test framework: added choices support for multiple targets with multiple damage spells (targetName^X=3);
2018-12-01 08:20:46 +04:00
Oleg Agafonov
dca5b645aa
Test framework:
...
* added choices support for discard spells;
* fixes TargetCard choices (one choice record per target);
2018-12-01 04:19:05 +04:00
Oleg Agafonov
4484527d04
Test framework: add new real time check command to assert hand cards count;
2018-11-30 20:26:07 +04:00
Oleg Agafonov
bb18814c84
* Fixed wrong re-targeting on copy complex cards (fixed adjustTargets for copies)
...
* Oath Of Lieges - Fixed that copy of opponent's card don't work;
* Oath Of Lieges - Fixed that it can shuffle lib without search;
2018-11-29 19:39:13 +04:00
Oleg Agafonov
59bda7f1d5
Refactor: added copyFrom info for all objects (original card used for copy, copy of copy and etc);
2018-11-29 19:29:39 +04:00
Oleg Agafonov
28ac95cb10
Test framework: added new real time commands to prints info and checks:
...
* show player's library, hand, battlefield, graveyard (use showXXX);
* show exile zone, available abilities to activate (use showXXX);
* checks targets, choices and commands in queue (use assert).
2018-11-29 19:11:20 +04:00
Oleg Agafonov
b907d8a75c
Tests: fixed MorphTest;
2018-11-28 04:04:49 +04:00
LevelX2
e6ce58d6bf
XMage 1.4.32V0
2018-11-26 19:30:22 +01:00
LevelX2
c4cd4b8b6a
Merge branch 'master' into JaceArchitectOfThoughtFix
2018-11-26 17:29:31 +01:00
LevelX2
126610b6a8
Added handling of TargetCardInGraveyardOrBattlefield fpr TestPlayer.
2018-11-26 16:16:59 +01:00
Oleg Agafonov
1e40e6984d
Tests: fixed SweepTest;
2018-11-24 04:52:05 +04:00
Ingmar Goudt
ed69c04490
fix for #5417
2018-11-23 20:05:30 +01:00
Oleg Agafonov
fbdfeba9d8
Tests: fixed CastSplitCardsFromOtherZonesTest;
2018-11-23 17:03:03 +04:00
Oleg Agafonov
5cf1e5a7a0
Tests: added support to cast fused cards in tests (any selected side or fused);
2018-11-23 17:02:39 +04:00
Oleg Agafonov
1f1ba7ea8e
Tests: fixed SpelltwineTest (it's ignored and must be rewrited -- see todo);
2018-11-22 21:55:02 +04:00
Oleg Agafonov
9d7c59fed9
Tests: fixed SharuumTheHegemonTest;
2018-11-22 20:05:29 +04:00
Oleg Agafonov
fb8c7c5128
Tests: fixed ReversalOfFortuneTest;
2018-11-22 19:38:01 +04:00
Oleg Agafonov
b834094921
Tests: fixed IsochronScepterTest;
2018-11-22 19:36:45 +04:00
Oleg Agafonov
511b4b28c3
Tests: fixed CryptoplasmTest;
2018-11-22 06:52:28 +04:00
Oleg Agafonov
243ad8cddd
Tests: added support of zero targets in TestPlayer (empty string in addTarget);
...
Tests: fixed CopySpellTest;
2018-11-22 06:21:35 +04:00
Oleg Agafonov
5d6cc6dc72
Tests: fixed MasterThiefTest
2018-11-22 05:29:56 +04:00
Oleg Agafonov
ea65ed7367
Tests: fixed TragicSlipTest
2018-11-22 05:05:45 +04:00
Oleg Agafonov
81942aa300
Tests: fixed OblivionSowerTest
2018-11-22 04:57:51 +04:00
Oleg Agafonov
d9e79c20f9
Tests: fixed SpliceOnArcaneTest
2018-11-21 17:33:10 +04:00
Oleg Agafonov
62c156edb1
Tests: fixed FlashbackTest
2018-11-21 17:07:14 +04:00
Oleg Agafonov
c2158a2d9c
Tests: fixed PrizedAmalgamTest
2018-11-21 17:01:56 +04:00
Oleg Agafonov
079baa9495
Tests: fixed MyriadTest
2018-11-21 17:00:38 +04:00
Oleg Agafonov
92afbb3bc6
Tests: fixed EquipRestrictedTest
2018-11-21 16:58:59 +04:00
Oleg Agafonov
f86cfe9e3d
Tests: fixed EchoTest
2018-11-21 16:57:14 +04:00
Oleg Agafonov
be225f7def
Tests: fixed CipherTest
2018-11-21 16:54:05 +04:00
Oleg Agafonov
a9451711bb
Tests: added support of TargetCardInExile, TargetCardInGraveyard and variations;
2018-11-21 16:43:46 +04:00
Oleg Agafonov
21d7207551
Tests: added support of TargetDefender;
2018-11-21 16:39:59 +04:00
Oleg Agafonov
09c3e2d700
Tests: added checks for wrong addTarget definitions:
...
* non supported target types;
* non supported target definition;
* detail info about problem ablities;
2018-11-21 16:32:44 +04:00
Oleg Agafonov
7c2738cf9f
Merge fix
2018-11-21 02:59:24 +04:00
Oleg Agafonov
2bf0c1d98e
Tests: improved tests performance
2018-11-21 02:57:50 +04:00
Oleg Agafonov
cfb51def3d
Tests: added realtime checks for life and exile ( #4936 )
2018-11-13 03:38:54 +04:00
Oleg Agafonov
2ebe05c85e
[GNT] implemented Goblin Goliath, GNT set now fully implemented
2018-11-13 03:20:20 +04:00
brodee
bdf3394b84
changed the card used in summoner's egg test
...
this test uses ai to determine which card to imprint, with my other
changes to AI, the rarity of the cards changed the relative rating of
these two cards. I changed the merfolk to be a common merfolk so that
part of the card rating shouldn't affect it
2018-10-27 11:55:05 -07:00
brodee
1f31323f47
fixed bug in test that skipped manual targetting
...
addtarget was being ignored and AI was being used to determine a target.
the spell has a target so I think this is not a bug with add target but
rather the test itself
2018-10-27 11:53:05 -07:00
LevelX2
26a93d4427
Reworked ability source object handling.
2018-10-21 21:37:23 +02:00
Oleg Agafonov
9a4fb4adb1
Tests: fixed error on missing db files;
2018-10-12 22:19:45 +04:00
LevelX2
fde0ba284a
* Glarecaster - Fixed that its redirect ability allows for multiple redirects not only if damage is dealt at the same time ( fixes #5368 ).
2018-10-10 23:17:10 +02:00
Oleg Agafonov
43655845e7
Tests: fixed deck cards amount tests
2018-10-09 20:53:23 +04:00
Tyler Moore
2ed63a7184
Notifying players of library search, and giving controller choice to search
2018-10-04 15:14:43 -07:00
Tyler Moore
4057cc2859
Implementing new function in all classes implementing Player
2018-10-04 14:16:52 -07:00
Oleg Agafonov
6bb478c342
Tests: added many verify tests for sets and cards, e.g.:
...
* check set's class name/file (source code style);
* check set's hasBasicLands settings (missing lands in deck generation bug);
* check card's UsesVariousArt settings (same image for multi-images card bug);
* check card's missing abilities (forgot addAbility call bug);
* improved output messages;
2018-10-03 22:32:52 +04:00
LevelX2
c41c6e1fe9
Fixed a problem with casting split cards from non hand zone. Added some generic cast from non hand zone effects and started replacing card specific effects by the generic ones ( fixes #5356 and fixes #4493 ).
2018-10-03 13:44:01 +02:00
LevelX2
226019be89
* Desecrated Tomb - fixed that it did not produce bat tokens if a Zombie cards was cast from graveyard ( fixes #5318 ).
2018-09-27 17:26:22 +02:00
LevelX2
05dcfeaaa1
* Experimental Frenzy - Fixed a problem that casting cards from hand was not prevented ( #5338 ).
2018-09-26 17:29:43 +02:00
LevelX2
61b1b1ba05
* JumpStart - fixed that card was not always moved to exile after cast from graveyard.
2018-09-26 16:30:17 +02:00
Evan Kranzler
c303b5adf8
updated Mistveil Plains implementation
2018-09-25 14:17:52 -04:00
LevelX2
a365cee0f1
* Tawnos's Coffin - Fixed that it did not return the exiled targes if Tawnos's Coffin left the battlefield ( fixes #5243 ).
2018-09-14 14:52:21 +02:00
LevelX2
68dc82342c
Merge pull request #5276 from magefree/FixBestowTest
...
Fix bestow test
2018-09-14 14:26:39 +02:00
Evan Kranzler
e9045fb68e
fixed some incomplete implementations
2018-09-02 23:02:03 -04:00
Quercitron
9593462520
* One with the Machine - Fix that non-artifact permanents are considered in determining the amount of cards drawn ( fixes #5292 ).
2018-09-01 16:10:51 +03:00
Quercitron
470fd4c75a
* Reality Scramble - fix that the last matching card is put onto the battlefield instead of the first matching card ( fixes #5290 ).
2018-09-01 15:06:12 +03:00
Kevin Shin
3ffd812bc6
After some revisions, BestowTest is now fully passed! Now to fix the other tests that don't anymore...
2018-08-25 04:43:38 -05:00
Oleg Agafonov
c34c13f7b7
* Fixed battlebond boosters (sometime it's can gen wrong booster without partners/cards)
2018-08-25 07:49:32 +04:00
Oleg Agafonov
15d1f12126
Ignoring annoying broken tests (random land cast and not supported fused target).
2018-08-25 06:48:40 +04:00
LevelX2
deb675a74a
Xmage 1.4.30V0
2018-08-15 11:35:40 +02:00
LevelX2
2429425fd2
Merge origin/master
...
Conflicts:
Mage.Sets/src/mage/cards/s/SalvageTrader.java
Mage.Sets/src/mage/cards/t/ThermalDetonator.java
2018-08-15 10:51:21 +02:00
LevelX2
1322bd3c23
Merge pull request #5209 from tamaroth/master
...
Fix Tuvasa the Sunlit triggered ability.
2018-08-15 08:52:34 +02:00
LevelX2
8e040841a9
Merge pull request #5182 from Dilnu/Spell
...
Add methods to get information about potential spells.
2018-08-15 08:11:49 +02:00
LevelX2
fa13786fab
Merge pull request #5053 from Sedictious/Battlebond_Boos
...
Fix Battlebond Partner distribution
2018-08-15 08:09:03 +02:00
Oleg Agafonov
593df43758
Refactoring: replace custom creature tokens with basic class (1 card);
...
Added blink test;
2018-08-15 06:47:33 +04:00
dilnu
c4a68f23ec
Update a comment.
2018-08-14 21:26:44 -04:00
quercitron
db2db4c27a
Merge pull request #5212 from magefree/5189-recast-spells-keep-their-previous-targets
...
Fix that cards that are cast using alternative cost effects keep their previous targets
2018-08-11 02:48:07 +03:00
Quercitron
22de85aee1
Cards that are cast using alternative cost effects keep their previous targets ( #5189 ) - Add unit test.
2018-08-10 02:53:38 +03:00
tamaroth
566caedd61
Add a test for a triggered ability of Tuvasa the Sunlit
...
The test makes sure that a triggered ability of Tuvasa is triggered only once and
draws only one card when more than one enchantment spells are cast by the
controller of Tuvasa during a single turn.
2018-08-08 12:04:52 +02:00
Chatziargyriou Eleftheria
197020b162
Merge branch 'master' into Battlebond_Boos
2018-07-31 17:02:11 +03:00
dilnu
988b64866c
Fix a bug with Animar's cost reduction effect.
2018-07-29 11:22:41 -04:00
Samuel Sandeen
e5c1dfc4b7
Refactor ControlledCreaturesDealCombatDamagePlayerTriggeredAbility. ( #5163 )
...
It now triggers once for each player damaged.
Fixes https://github.com/magefree/mage/issues/5162
2018-07-29 08:16:07 -04:00
Samuel Sandeen
14520097a5
Fix issues with the ChosenSubtypePredicate and clone effects. ( #5164 )
...
Update ChosenSubtypePredicate to be an ObjectPlayer predicate. This fixes how cards that use it act when cloned.
Fixes https://github.com/magefree/mage/issues/5136
2018-07-29 07:44:19 -04:00
Samuel Sandeen
a164dad83f
Fix issues with Clone and Metallic Mimic ( #5160 )
...
Fix bugs with Metallic Mimic and Adaptive Automaton and clone effects.
Metallic Mimic and Adaptive Automaton were both using the technically correct EnterEventType specifier for their as enters the battlefield abilities. Despite it being technically correct this meant that their ability didn't trigger if they were cloned.
Additionally EnterAttributeAddChosenSubtypeEffect changed the subtype of the base object which meant that clones entered in with the chosen subtype of the original.
2018-07-29 07:40:48 -04:00
Samuel Sandeen
3875f42bac
Refactor addCounters to fix bugs in edge cases. ( #5154 )
...
Add code to check the controller of abilities on the stack instead of the controller of their source card or object.
This fixes https://github.com/magefree/mage/issues/5152
2018-07-29 07:31:59 -04:00
Evan Kranzler
c2c7aff4f7
fixed the formatting on some ability words
2018-07-28 15:01:20 -04:00
Quercitron
79120e7484
Make color distribution in booster more uniform
2018-07-25 02:46:31 +03:00
LevelX2
014a46ae72
* Unexpectedly Absent - Fixed that the target permanent was put to the wrong position in library.
2018-07-16 17:43:01 +02:00
igoudt
877a355a7d
rewrite some code to streams
2018-07-15 20:50:26 +02:00
LevelX2
7fa21ae9c2
Added some missing player methods.
2018-07-14 17:43:26 +02:00
LevelX2
a3c4c2365d
Merge pull request #5119 from NoahGleason/M19-oracle-changes
...
M19 oracle changes
2018-07-14 10:39:50 +02:00
igoudt
d6450eed94
change enum comparison
2018-07-08 13:11:39 +02:00
Quercitron
36c004122a
Fix dual lands generation in the Core Set 2019 boosters
2018-07-08 01:19:49 +03:00
Noah Gleason
8ee7965580
Fix tests
2018-07-07 11:52:38 -04:00
igoudt
9f06046f22
add isOwned and isControlled methods. remove some null-checks, remove some unnecessary casts
2018-07-04 14:24:11 +02:00
Evan Kranzler
4a233a701a
skip one more test
2018-06-25 21:49:30 -04:00
Evan Kranzler
ae9b5a75e8
skip failing tests until they're fixed
2018-06-25 21:40:04 -04:00
LevelX2
fdddbbbbe6
* Some rework/fixes/optimizations of calculation of available mana.
2018-06-24 01:23:49 +02:00
Chatziargyriou Eleftheria
a1a7b1c59b
Add test for Battlebond
...
Test Battlebond's partner mechanic
2018-06-22 18:57:44 +03:00
LevelX2
cd8e038679
* Changes for netMana null handling #5023 .
2018-06-21 16:27:05 +02:00
Evan Kranzler
d9dfef24ce
updated "can't be countered" text
2018-06-20 11:21:06 -04:00
LevelX2
74b126c940
* Tinder Wall - Fixed it's damage dealing ability always fizzles ( fixes #5005 ).
2018-06-19 17:35:53 +02:00
Oleg Agafonov
de9046f426
Fixed broken tests
2018-06-11 04:21:28 +04:00
Oleg Agafonov
21276a1d7a
Test framework: added realtime checks for mana pool amount
2018-06-11 04:20:21 +04:00
LevelX2
99864ccf5b
* Fixed a problem that tapped for mana event was sent twice (fixes problem of 2 created spirits for Forbidden Orchard).
2018-06-10 10:28:00 +02:00
LevelX2
717308ba12
* Fixed that commanders of players were not removed if a player left a game. Fixed a problem that continuous effects of objects of players that left the game were not removed immediately.
2018-06-09 14:10:48 +02:00
LevelX2
4ceffd17ef
* Sasaya's Essence - Fixed not correctly working mana production.
2018-06-09 12:04:22 +02:00
LevelX2
006af33625
Two minor fixes.
2018-06-09 12:01:33 +02:00
Evan Kranzler
3659a2dc0b
Implemented Journey for the Elixir
2018-06-08 13:22:23 -04:00
LevelX2
c745e654f9
* Fixed test that sometimes failed on onfortunate mana tapping done by computer player.
2018-06-07 17:59:09 +02:00
Evan Kranzler
c4a0d9f916
replaced apostrophes
2018-06-06 22:39:16 -04:00
LevelX2
78c288358b
Added some tests.
2018-06-06 17:34:51 +02:00
LevelX2
87e60f407b
Added some tests.
2018-06-06 17:30:03 +02:00
LevelX2
ae8fa6aa10
Added test to check for creatures not entering tapped but they should #5012 .
2018-06-06 17:00:33 +02:00
LevelX2
d18338edd5
Added test to check for creatures not entering tapped but they should #5012 .
2018-06-06 16:59:32 +02:00
LevelX2
df341bd0d6
* Fixed some mana handling problems of conditionalMana (GemstoneCavern) and possible exception of ChromeMox.Fixed some tests.
2018-06-05 23:59:39 +02:00
Evan Kranzler
8bdb6665d9
Temporarily ignoring a test that hasn't been fixed yet
2018-06-05 15:15:14 -04:00
LevelX2
2e72503b8c
* Fix of condtitional mana effect (not completed yet).
2018-06-05 18:12:31 +02:00
Michael Simons
0bf78830de
Changes to try and better handle X mana costs with minimum X values with AI decisions #4906
2018-06-03 22:44:06 -04:00
LevelX2
397a6ccfc4
* Grafted Exoskeleton - Fixed that if it left the battlefield it doesn't sacrifice its creature ( fixes #4997 ).
2018-06-03 23:51:09 +02:00
LevelX2
b17858d910
Some fixes to "Remove license headers" ( #4998 ).
2018-06-03 10:18:30 +02:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files
2018-06-02 17:59:49 +02:00
LevelX2
b6f7efe5e9
* Fixed a problem with Dash not giving Haste to the creature beginning with the second use of Dash ( fixes #4985 ).
2018-05-30 16:51:59 +02:00
LevelX2
27ced167fb
* Added logic to add permitting object to play/cast events.
2018-05-27 23:47:57 +02:00
LevelX2
a19c257e50
XMage 1.4.30V0
2018-05-27 01:28:42 +02:00
LevelX2
b28bf51c02
* Reworked some more card movement handling ( #4866 ).
2018-05-26 22:39:20 +02:00
Evan Kranzler
07886811f0
Merge branch 'master' of https://github.com/magefree/mage
2018-05-25 19:37:56 -04:00
Evan Kranzler
ac6c68180a
Replaced more mana pool errata
2018-05-25 19:37:54 -04:00
LevelX2
fcc6174e5e
Some null exceptions checking and fixed some other minor problems.
2018-05-26 01:22:28 +02:00
LevelX2
3972695428
* Some changes to improve mana use of AI.
2018-05-21 11:50:49 +02:00
L_J
994771049c
PlayerStub declareBlocker fix
2018-05-19 08:43:42 +00:00
L_J
bd2a2eebf4
TestPlayer declareBlocker fix
2018-05-19 08:42:07 +00:00
LevelX2
08b9f61749
Removed wrong import in TestPlayer.java.
2018-05-15 14:31:37 +02:00
Oleg Agafonov
ec4bee43d2
* Daxos's Torment - fixed that it can't get Vampire type from Mephidross Vampire;
2018-05-14 02:42:57 +04:00
Oleg Agafonov
4851ba9e84
Test framework: added commands for real time checks/assertions:
...
* new checks: color, subtype, ability, PT, permanent and hand count;
* more info in #4936 ;
2018-05-14 02:31:19 +04:00
LevelX2
21e5591e29
* Some rework of handling of mana effects.
2018-05-13 22:52:14 +02:00
LevelX2
7d7b13d5dd
* Updated decks from test project after change of collectors numbers.
2018-05-11 00:51:47 +02:00
LevelX2
74f05d438f
* Fixed that cast conditions of legendary sorceries were checked correctly if you cast a card owned by another player e.g. from exile ( fixes #4921 ).
2018-05-10 08:55:10 +02:00
LevelX2
dcd3e7c039
* Some more fixed/reworked card movement handling.
2018-05-08 23:46:34 +02:00
LevelX2
df987049c0
* Fixed some card movement ( fixes #4910 ).
2018-05-08 18:01:15 +02:00
LevelX2
8afd51fa04
Merge origin/master
2018-05-07 00:45:05 +02:00
LevelX2
bb15176a84
* Fixed token ability (id handling) and token cardType (reset was not correctly done) handling (this fixed problems with copying Planeswalker with Helm of the Host).
2018-05-07 00:44:32 +02:00
Oleg Agafonov
72314a9512
* Fixed 8 cards with "becomes creature attached" effect that it adds colors instead replace it;
...
* Affected cards: Awaken the Ancient, Corrupted Zendikon, Crusher Zendikon, Deep Freeze, Guardian Zendikon, Living Terrain, Vastwood Zendikon, Wind Zendikon;
2018-05-06 19:07:45 +04:00
Oleg Agafonov
858f210a83
Test framework: added assert color;
2018-05-06 18:57:06 +04:00
Evan Kranzler
7edcec0dc1
fixed ability word text formatting
2018-05-05 14:05:04 -04:00
LevelX2
cddd81123b
Some changes related to #4893 .
2018-05-03 01:33:21 +02:00
Oleg Agafonov
c24ba742f6
Fixed equal or == errors -- 23 cards and more (see #4407 )
2018-04-28 21:24:48 +04:00
LevelX2
7b2ff38225
* Grasp of Fate - Fixed rule text. Fixed that exiled permanents did not return to battlefeild if the Grasp left the battlefield because its owner lost or left the game.
2018-04-24 17:50:35 +02:00
LevelX2
6ebd715e17
* Some minor clean ups.
2018-04-24 11:38:25 +02:00
LevelX2
6bd8f52b66
* Fixed a problem of becomes ColorTargetEffect that causes objects to not always reset to original color.
2018-04-24 11:35:33 +02:00
Oleg Agafonov
dc5908e7f1
Return some ignored tests after massive texts replacements, added new tests for "any target" spells (see prev commit);
2018-04-22 17:54:43 +04:00
Oleg Agafonov
23becf1775
Texts update: to target creature or player => to any target
2018-04-22 08:15:40 +04:00
Oleg Agafonov
6850364fd3
Return some ignored tests after massive texts replacements;
2018-04-22 05:24:08 +04:00
Oleg Agafonov
4e12b06bc7
Fixed not working opponent or planeswalker filter (count all permanents instead planeswalkers);
2018-04-22 04:58:24 +04:00
Evan Kranzler
7deb521a65
more mana pool errata
2018-04-21 18:36:22 -04:00
theelk801
af3a4b389e
Merge pull request #4831 from magefree/planeswalkerErrata
...
Planeswalker errata implemented
2018-04-20 20:43:09 -04:00
Evan Kranzler
198be1549d
Revert "Revert "Merge branch 'planeswalkerErrata' into master""
...
This reverts commit f10b62f3da
.
2018-04-20 20:42:04 -04:00
Evan Kranzler
5c73158708
one more skip
2018-04-20 20:28:50 -04:00
Evan Kranzler
b738141070
skipping some more tests, the issue is with the testing framework and not the game engine
2018-04-20 20:20:23 -04:00
Evan Kranzler
16c081dbf5
fix all the tests
2018-04-20 20:10:26 -04:00
Evan Kranzler
ec3007d141
a few more changes to help with tests
2018-04-20 18:51:15 -04:00
Evan Kranzler
e51b63aea8
a few changes to help with tests
2018-04-20 18:02:33 -04:00
Evan Kranzler
6b8d4b0e91
updated some more oracle text
2018-04-20 16:49:13 -04:00
Evan Kranzler
f10b62f3da
Revert "Merge branch 'planeswalkerErrata' into master"
...
This reverts commit 95d2721421
, reversing
changes made to fc4986a589
.
2018-04-20 16:41:29 -04:00
theelk801
95d2721421
Merge branch 'planeswalkerErrata' into master
2018-04-20 16:21:44 -04:00
Evan Kranzler
d290c7f26b
updated TargetPlayerOrPlaneswalker to be a subclass of TargetPlayerOrPermanent (as well as the respective filters)
2018-04-20 13:34:35 -04:00
Evan Kranzler
92bf8b77de
fixed a few tests
2018-04-20 12:58:04 -04:00
LevelX2
fe2220e19e
Xmage 1.4.29V0
2018-04-19 21:07:14 +02:00
Evan Kranzler
5fe607e852
updated targeting for cards that damage
2018-04-19 11:45:20 -04:00
Evan Kranzler
3c2a8ee17d
refactored Player.setLife() to include source, some more changes
2018-04-18 21:14:05 -04:00
Evan Kranzler
3798f34c38
refactored Player.gainLife() to include source
2018-04-18 20:30:59 -04:00
Evan Kranzler
ebc6362279
fixed some tests
2018-04-16 19:21:30 -04:00
Oleg Agafonov
a837a4f0f0
Fixed broken tests after mana texts changes
2018-04-16 01:35:37 +04:00
Evan Kranzler
50b5377a8e
fixed mana pool errata
2018-04-15 14:30:01 -04:00
Evan Kranzler
41c9b08107
some more fixes
2018-04-15 14:13:44 -04:00
Evan Kranzler
ef33472ee5
fixed some tests and text
2018-04-15 13:50:48 -04:00
Evan Kranzler
df06e9cbf6
temporarily disabled the color-change test(a fix may take a while) and fixed some errors in the Dominaria file
2018-04-14 19:17:57 -04:00
LevelX2
8523d85fb7
* Added a test if color change is reset correctly if target moved zones later (not fixed yet).
2018-04-13 15:25:30 +02:00
LevelX2
03f5b8c2da
* Vindictive Lich - Fixed that it did only execute the first effect ( fixes #4742 ).
2018-04-10 23:17:19 +02:00
LevelX2
9b0d130603
* Added tests for #4740 .
2018-04-10 11:19:41 +02:00
spjspj
04f6fb5ae0
Beginning of implementation of Planechase.
...
10 or so initial planes that (mostly) have been tested, no phenomenons as yet and no modifying yet of chaos rolls. Also no support for a user to be able to set if it is planechase (able to do so via the cheat button).
2018-04-09 20:16:50 +10:00
igoudt
49ee8f9856
add 3 DOM cards, added a token, updated card text
2018-04-08 02:16:52 +02:00
Oleg Agafonov
f6b8d0fea6
Merge pull request #4707 from delftswa2018/feature/SOLID-fix-in-Token-classes
...
SOLID violation fix in token classes
2018-04-04 18:31:52 +04:00
Marc Zwart
3e32287f00
fixed Token/TokenImpl imports and references
2018-04-03 14:05:41 +02:00
Marc Zwart
d4d8a04694
Extracted Token interface and renamed Token implementation to TokenImpl + renamed tests
2018-04-03 14:04:08 +02:00
LevelX2
1e2e53073c
* Deep Analysis - Fixed that its flashback costs did not work with mana casting cost modification effects ( fixes #4677 ).
2018-04-02 15:30:57 +02:00
igoudt
00f91391e9
Homarid Drake, reprints, and rewriting his or her to their
2018-03-22 16:52:26 +01:00
LevelX2
4afdcc860a
* Alhammarret, High Arbiter - Fixed not working ability that prevents spell casting ( fixes #4561 ).
2018-03-18 23:38:24 +01:00
LevelX2
d29707bdea
* Morph - Fixed that turning creatures face up didn't restore their subtypes ( fixes #4566 ).
2018-03-18 19:37:25 +01:00
LevelX2
b073ce1c42
* Added to all toUpperCase/toLowerCase calls the Locale.ENGLISH to prevent problems with some languages (e.g. Turkish). Removed some unused import statements. ( #4634 ).
2018-03-18 18:18:54 +01:00
igoudt
bd4b5f6300
add Jhoira Weatherlight Captain + tests
2018-03-18 11:55:50 +01:00
igoudt
ddf568679f
added 3 Dominari cards, benalish marshal, charge, knight of grace, added a new condition and a new ability
2018-03-18 00:22:03 +01:00
LevelX2
442130beb6
Some minor changes.
2018-03-17 23:40:36 +01:00
igoudt
1405bc87ae
unit test shapestealer #2
2018-03-16 18:49:25 +01:00
igoudt
d982e215d6
added shape stealer unittest
2018-03-16 18:47:20 +01:00
LevelX2
b035d85f98
* Fixed a problem that triggered abilities that face down permanents got from other sourced did not trigger ( fixes #4571 ).
2018-03-16 15:06:15 +01:00
LevelX2
8b8b3752e8
* It That Betrays - Fixed that target handling of second triggered ability did not work correct ( fixes #4568 ).
2018-03-16 13:13:25 +01:00
igoudt
5ba017a19b
Merge branch 'master' of https://github.com/magefree/mage
2018-03-15 09:34:26 +01:00
igoudt
c3e080141b
test for #4618
2018-03-15 09:34:13 +01:00
Jeff
55164eda28
- Fixed Defiant Vanguard. It works with Cloudshift type effects now also. @4572
2018-03-14 17:57:04 -05:00
LevelX2
fed2d1a259
XMage 1.4.28V0
2018-03-10 20:42:29 +01:00
LevelX2
dac8f2dfe8
Fixed a bug of AI not handling pass action correctly so the AI got passive. Added AI possibility to act after blockers are declared (eg boost for blocking or blocked creatures).
2018-03-10 19:59:59 +01:00
LevelX2
17afa3b3c1
* Added a test.
2018-03-09 15:51:31 +01:00
LevelX2
8c8b4ce019
* Added a check if life of players is going down during infinite loop check. Is so no Draw check message is shown ( fixes #4557 ).
2018-02-28 17:24:42 +01:00
LevelX2
5f98cb685e
* Hushwing Gryff - Fixed that log message was sent out too often ( fixes #4548 ).
2018-02-26 16:17:16 +01:00
LevelX2
ba483dd87a
* Added a test for the new Blood Moon rule (set to @Ignored) because new rule is not implemented.
2018-02-25 21:59:06 +01:00