Commit graph

2626 commits

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