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