Commit graph

2423 commits

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