Commit graph

2500 commits

Author SHA1 Message Date
Oleg Agafonov
735d2a16a2 * Feather, the Redeemed - fixed that it returns to hand re-casted/blinked cards; 2019-05-02 23:15:43 +04:00
Oleg Agafonov
648026ac0b Test framework: fixed not working choices for replacement effects; 2019-05-02 23:14:56 +04:00
Oleg Agafonov
a3fee30ed6 * Martyrs of Korlis - fixed that redirect damage effect doesn't work; 2019-05-01 21:02:12 +04:00
Oleg Agafonov
0aeab75552 Added ConditionalCostModificationEffect to support cost modification effects with conditions (#5738) 2019-05-01 19:53:54 +04:00
Oleg Agafonov
e6823e4423 Test framework: added realtime check for damage (checkDamage, #4936) 2019-05-01 19:52:05 +04:00
Oleg Agafonov
367a1fd189 Added ConditionalPreventionEffect to support prevention effects with conditions (#5738) 2019-05-01 12:49:19 +04:00
Oleg Agafonov
3beac51ebf Tests: added more tests with continuous effects and game leaving by players 2019-04-28 21:33:05 +04:00
Oleg Agafonov
9ef2e0bda7 * No more continuous effects stay on battlefield after player leave the game;
Test framework: added real time check for player in game or not;
2019-04-28 19:32:25 +04:00
Oleg Agafonov
73ad2fa969 Typo :-) 2019-04-28 12:06:52 +04:00
Oleg Agafonov
534037e095 * Until end of your turn - fixed that effects discarded too early in multiplayer games (#5759, #5676);
Tests: added dozen tests for end of turn effects and related cards.
2019-04-28 11:27:08 +04:00
Oleg Agafonov
dc04092fce Test framework: many improvements and fixes:
* added support to use custom cards with any abilities/effects (addCustomCardWithAbility);
 * added support of multiplayer games with all range (CardTestMultiPlayerBaseWithRangeAll);
 * added realtime checks for permanent counters (checkPermanentCounters);
 * added wrong attack commands check in strict mode;
 * fixed that added by addCard command cards don't init continues effects;
 * fixed that block commands don't removed from actions queue;
2019-04-28 11:10:28 +04:00
Oleg Agafonov
0bb735b482 Tests: added todo test for AI's playerMustBeAttackedIfAble (#4496) 2019-04-28 09:25:00 +04:00
Oleg Agafonov
b9be369bd3 * Paupers' Cage - fixed that counts controllers cards in hand instead opponents; 2019-04-24 22:14:59 +04:00
Oleg Agafonov
e51b054249 * Oath of Kaya - fixed that it doesn't triggers on attacks; 2019-04-24 21:41:24 +04:00
Oleg Agafonov
ef3689a225 Test "fix" 2019-04-23 23:51:02 +04:00
Oleg Agafonov
bbf1c1343a Prepare release 1.4.35 2019-04-23 23:32:54 +04:00
Oleg Agafonov
c6d32bd33d [WAR] added tokens images 2019-04-23 23:32:09 +04:00
Oleg Agafonov
e49be97879 * Look at card abilities -- improved dialog (now it's shown that card have extra abilities to call on "no" button); 2019-04-23 17:09:26 +04:00
Oleg Agafonov
a2daa72678 Merge fix 2019-04-23 12:33:10 +04:00
Oleg Agafonov
0c0ead33a7 Merge fix 2019-04-23 12:22:33 +04:00
Oleg Agafonov
33af8939af * Copy effects - fixed that it copy current P/T values (e.g. after effects applied) instead printed/selected values; 2019-04-23 12:03:16 +04:00
Oleg Agafonov
db2a3b7ac4 [WAR] added Spark Double 2019-04-22 19:43:53 +04:00
Oleg Agafonov
4c899a25bd Test framework: added real time card type check (#4936); 2019-04-22 19:42:25 +04:00
Evan Kranzler
254972be77 Implemented Ashiok, Dream Render 2019-04-15 14:10:06 -04:00
Oleg Agafonov
f81142459d * UI: fixed wrong server reconnect on multiple apps runs (#5495); 2019-04-12 12:15:48 +04:00
Oleg Agafonov
de4befb9c2 * Sideboarding: fixed that it possible to auto-submit 40 cards deck instead 60 in constructed formats (#5579);
Sideboarding: fixed that cheated deck with sideboard can be used instead lose the game;
2019-04-01 07:34:46 +04:00
Oleg Agafonov
65bb9b2161 Prepare new release 1.4.34 2019-03-29 18:31:00 +04:00
Oleg Agafonov
3330680e81
Merge pull request #5644 from hitch17/additional-mulligan-support-5600
Additional mulligan support #5600
2019-03-22 22:48:18 +01:00
Oleg Agafonov
270ec615af Sync old changes 2019-03-22 21:51:26 +04:00
John Hitchings
1ca876c2ed Fixed LondonMulligan to give mulligan choice after discarding to bottom, which fixes the interaction with Serum Powder. 2019-03-20 23:23:28 -07:00
John Hitchings
d77ad0ce1f Add mulligan tests. 2019-03-19 23:31:22 -07:00
John Hitchings
4a232b148c Add mulligan options to NewTableDialog, passing mulligan information to games. 2019-03-19 06:08:12 -07:00
Oleg Agafonov
23271d9b9b * Thousand-Year Storm - fixed that it don't counts spells on the same stack as storm (#5620); 2019-03-14 05:45:13 +04:00
Oleg Agafonov
e7984c6dd4 Test framework: added waitStackResolved command to wait stack resolved before execute next command on the same step (devs can cast and check any number of commands without switch to next step). 2019-03-14 05:42:29 +04:00
Oleg Agafonov
43ba6685eb Test framework: added setStrictChooseMode setting for tests to disable AI selects in choose/target dialogs; 2019-03-14 05:36:57 +04:00
Oleg Agafonov
886f3d39f8 Test framework: added attached info in show command; 2019-03-10 02:09:19 +04:00
Oleg Agafonov
fa75ac2727 Typo fix 2019-03-07 12:14:27 +04:00
Oleg Agafonov
e68b79336a Typo fix 2019-03-06 14:06:47 +04:00
Ingmar Goudt
9a1edf7689 fix compile loadphasemanager 2019-03-04 12:07:17 +01:00
Ingmar Goudt
553d263526 add missing diamond operators 2019-03-04 11:57:53 +01:00
Ingmar Goudt
4a14940414 use Static filter rather than new filter, add test for this filter 2019-03-01 00:08:15 +01:00
Oleg Agafonov
4504ad5e6f * Fixed infinite AI choose if there are not enough different targets, e.g. Biomantic Mastery (#5023); 2019-02-22 03:29:01 +04:00
Ingmar Goudt
056226d83c Sonar fixes 19022019 2019-02-19 21:51:45 +01:00
Oleg Agafonov
8cf681dff2 Updated libraries to latest versions and code compatibility fixes; 2019-02-17 16:12:57 +04:00
Jeff
6bded2404e - Fixed #5586. 2019-02-11 15:00:36 -06:00
Ingmar Goudt
c8a4e7a46b update JSoup, added test for Polluted Bonds, remove explicit parent groupId from poms 2019-02-11 15:03:18 +01:00
Ingmar Goudt
ff6dd3626f Client: use Rarity enum rather than a String 2019-02-11 14:14:36 +01:00
Oleg Agafonov
e285b2770d * Curse cards - fixed that it triggers on planeswalker attack only (#5566); 2019-02-09 15:40:23 +04:00
Evan Kranzler
9d96efb936 fixed Gisela preventing damage from unpreventable damage sources (fixes #5554) 2019-01-27 19:43:14 -05:00
Oleg Agafonov
2ad90e44b0 Typo 2019-01-27 23:23:58 +04:00
Oleg Agafonov
c4877902c6 Tests: fixed tests with wrong stop command; 2019-01-27 23:18:18 +04:00
Oleg Agafonov
42e8ca2843 Tests: added checks on wrong/missing stop commands; 2019-01-27 23:16:52 +04:00
Oleg Agafonov
a38e149a55 Tests: improved tests for Banefire with Gisela 2019-01-27 22:21:00 +04:00
Evan Kranzler
0b674f18b8 temporary test skip while I fix things 2019-01-27 11:41:58 -05:00
Evan Kranzler
23f74c77ce updated Gisela, Blade of Goldnight test to check Banefire interaction 2019-01-27 11:00:13 -05:00
Evan Kranzler
1c483c6f2a small fix 2019-01-25 10:41:11 -05:00
Evan Kranzler
34e3bb42db fixed Rhythm of the Wild not giving Riot to creatures that weren't cast 2019-01-25 10:32:29 -05:00
Oleg Agafonov
d25bca748d Fixed Arrays.asList code 2019-01-23 19:15:03 +04:00
Ingmar Goudt
7c2f55eda0 couple of sonar fixes 2019-01-17 12:03:22 +01:00
Oleg Agafonov
975cff93e3 Merge remote-tracking branch 'origin/master' 2019-01-16 21:04:00 +04:00
Oleg Agafonov
14f66029f8 Missing v33 commit 2019-01-16 20:59:45 +04:00
Evan Kranzler
63fb5964d4
Merge pull request #5527 from magefree/coinFlips
Fixing coin flip implementation (WIP - Do Not Merge)
2019-01-16 11:44:01 -05:00
Ingmar Goudt
a5f46b8816 Urborg Syphon Mage makes opponents lose life, rather than damaging them 2019-01-16 13:33:44 +01:00
Evan Kranzler
535fe221e3 rewrote how coins are flipped 2019-01-15 15:56:40 -05:00
Evan Kranzler
f5fffcf417 initial refactor 2019-01-15 11:51:49 -05:00
Oleg Agafonov
f566f3af71 Fixed riot tests 2019-01-14 05:53:34 +04:00
Ingmar Goudt
4e4d46437c update riot test 2019-01-14 00:18:21 +01:00
Evan Kranzler
8629977f14 refactored many other predicates to singleton enums 2019-01-12 16:30:49 -05:00
Evan Kranzler
58de14fbba temporarily ignore broken tests (it works when tested manually) 2019-01-12 15:32:19 -05:00
LevelX2
c2472c0f9b * Rhythm of the Wild - Fixed that the riot trigger did not work (fixes #5514). 2019-01-12 16:35:28 +01:00
Oleg Agafonov
8f0351896c
Merge pull request #5502 from ZeldaZach/address_mage_stuff
Address Json Tests
2019-01-11 07:24:56 +04:00
Oleg Agafonov
11f93cf762
Merge pull request #5501 from hitch17/add-cockatrice-deck-format-5493
UI: add cockatrice deck format support for import (*.cod)
2019-01-11 07:17:48 +04:00
Zach Halpern
1712b05c33 Merge branch 'master' into address_mage_stuff 2019-01-10 21:35:12 -05:00
Zach Halpern
8a5f2288f9 Address crash points of JSON tests 2019-01-10 21:27:38 -05:00
Jeff
7f1267563b - Fixed #5500. If you note any interactions that I missed testing, do tell. 2019-01-10 17:10:25 -06:00
John Hitchings
58e629dca6 Refactored DeckImporter and obsoleted DeckImporterUtil. Added/refactored a PlainTestDeckImporter as a base class for text formatted importers to extend. 2019-01-10 08:27:05 -08:00
Oleg Agafonov
942ecc5328 Fixed errors on empty targets in some effects;
Added export code example for mtgjson4 project;
2019-01-09 10:54:59 +04:00
LevelX2
e938f91e3e * Myth Unbound - Fixed the two working abilities(fixe #5347). 2019-01-07 16:39:49 +01:00
Oleg Agafonov
0293b91c25 Tests: added random results image generators (random, shuffle, dice, planar dice); 2019-01-05 13:12:59 +04:00
Oleg Agafonov
0670c401e0 * Fixed Brood Of Cockroaches text 2019-01-05 01:42:43 +04:00
Oleg Agafonov
207e95e001 Fixed card texts: instant or sorcery spell; 2019-01-05 00:46:53 +04:00
Evan Kranzler
0ad967a5b3 small update to previous commit 2019-01-04 12:31:10 -05:00
Oleg Agafonov
2ebad63595 Added seeds support to random util:
* all xmage code uses shared util to generate random values;
 * tests can uses seeds to repeat "random" results like deck builds or AI plays;
2018-12-30 03:52:30 +04:00
Oleg Agafonov
0a2f312da7 Added build time to version info, cleanup manifest files; 2018-12-15 18:29:10 +04:00
Oleg Agafonov
1d450730c0 Merge origin/master 2018-12-07 01:21:32 +04:00
Oleg Agafonov
02b7e2cf10 Refactor: extract card names compare logic (is empty name, is same name)
Fixed last broken tests
2018-12-07 00:26:50 +04:00
Oleg Agafonov
96187ad3c0 Tests: fixed TidehollowScullerTest; 2018-12-03 06:16:34 +04:00
Oleg Agafonov
b172f3c44a Test framework: added basic aliases support (see full info at #5451):
* generates aliases by addCard command (for one or multiple cards);
 * added support of `castSpell` command;
 * added show command to print aliases list with connected objects and zones;
 * added check command to control alias's object exists;
2018-12-03 06:15:54 +04:00
Oleg Agafonov
86ac1fcb1a Tests: fixed OmnathLocusOfRageTest; 2018-12-02 03:09:27 +04:00
Oleg Agafonov
c1804f810c Tests: fixed BrainMaggotTest; 2018-12-01 09:08:35 +04:00
Oleg Agafonov
c1e4fce448 Tests: fixed SpellskiteTest and enabled missing tests; 2018-12-01 08:21:54 +04:00
Oleg Agafonov
d65dab9a95 Test framework: added choices support for multiple targets with multiple damage spells (targetName^X=3); 2018-12-01 08:20:46 +04:00
Oleg Agafonov
dca5b645aa Test framework:
* added choices support for discard spells;
 * fixes TargetCard choices (one choice record per target);
2018-12-01 04:19:05 +04:00
Oleg Agafonov
4484527d04 Test framework: add new real time check command to assert hand cards count; 2018-11-30 20:26:07 +04:00
Oleg Agafonov
bb18814c84 * Fixed wrong re-targeting on copy complex cards (fixed adjustTargets for copies)
* Oath Of Lieges - Fixed that copy of opponent's card don't work;
* Oath Of Lieges - Fixed that it can shuffle lib without search;
2018-11-29 19:39:13 +04:00
Oleg Agafonov
59bda7f1d5 Refactor: added copyFrom info for all objects (original card used for copy, copy of copy and etc); 2018-11-29 19:29:39 +04:00
Oleg Agafonov
28ac95cb10 Test framework: added new real time commands to prints info and checks:
* show player's library, hand, battlefield, graveyard (use showXXX);
 * show exile zone, available abilities to activate (use showXXX);
 * checks targets, choices and commands in queue (use assert).
2018-11-29 19:11:20 +04:00
Oleg Agafonov
b907d8a75c Tests: fixed MorphTest; 2018-11-28 04:04:49 +04:00
LevelX2
e6ce58d6bf XMage 1.4.32V0 2018-11-26 19:30:22 +01:00
LevelX2
c4cd4b8b6a
Merge branch 'master' into JaceArchitectOfThoughtFix 2018-11-26 17:29:31 +01:00
LevelX2
126610b6a8 Added handling of TargetCardInGraveyardOrBattlefield fpr TestPlayer. 2018-11-26 16:16:59 +01:00
Oleg Agafonov
1e40e6984d Tests: fixed SweepTest; 2018-11-24 04:52:05 +04:00
Ingmar Goudt
ed69c04490 fix for #5417 2018-11-23 20:05:30 +01:00
Oleg Agafonov
fbdfeba9d8 Tests: fixed CastSplitCardsFromOtherZonesTest; 2018-11-23 17:03:03 +04:00
Oleg Agafonov
5cf1e5a7a0 Tests: added support to cast fused cards in tests (any selected side or fused); 2018-11-23 17:02:39 +04:00
Oleg Agafonov
1f1ba7ea8e Tests: fixed SpelltwineTest (it's ignored and must be rewrited -- see todo); 2018-11-22 21:55:02 +04:00
Oleg Agafonov
9d7c59fed9 Tests: fixed SharuumTheHegemonTest; 2018-11-22 20:05:29 +04:00
Oleg Agafonov
fb8c7c5128 Tests: fixed ReversalOfFortuneTest; 2018-11-22 19:38:01 +04:00
Oleg Agafonov
b834094921 Tests: fixed IsochronScepterTest; 2018-11-22 19:36:45 +04:00
Oleg Agafonov
511b4b28c3 Tests: fixed CryptoplasmTest; 2018-11-22 06:52:28 +04:00
Oleg Agafonov
243ad8cddd Tests: added support of zero targets in TestPlayer (empty string in addTarget);
Tests: fixed CopySpellTest;
2018-11-22 06:21:35 +04:00
Oleg Agafonov
5d6cc6dc72 Tests: fixed MasterThiefTest 2018-11-22 05:29:56 +04:00
Oleg Agafonov
ea65ed7367 Tests: fixed TragicSlipTest 2018-11-22 05:05:45 +04:00
Oleg Agafonov
81942aa300 Tests: fixed OblivionSowerTest 2018-11-22 04:57:51 +04:00
Oleg Agafonov
d9e79c20f9 Tests: fixed SpliceOnArcaneTest 2018-11-21 17:33:10 +04:00
Oleg Agafonov
62c156edb1 Tests: fixed FlashbackTest 2018-11-21 17:07:14 +04:00
Oleg Agafonov
c2158a2d9c Tests: fixed PrizedAmalgamTest 2018-11-21 17:01:56 +04:00
Oleg Agafonov
079baa9495 Tests: fixed MyriadTest 2018-11-21 17:00:38 +04:00
Oleg Agafonov
92afbb3bc6 Tests: fixed EquipRestrictedTest 2018-11-21 16:58:59 +04:00
Oleg Agafonov
f86cfe9e3d Tests: fixed EchoTest 2018-11-21 16:57:14 +04:00
Oleg Agafonov
be225f7def Tests: fixed CipherTest 2018-11-21 16:54:05 +04:00
Oleg Agafonov
a9451711bb Tests: added support of TargetCardInExile, TargetCardInGraveyard and variations; 2018-11-21 16:43:46 +04:00
Oleg Agafonov
21d7207551 Tests: added support of TargetDefender; 2018-11-21 16:39:59 +04:00
Oleg Agafonov
09c3e2d700 Tests: added checks for wrong addTarget definitions:
* non supported target types;
 * non supported target definition;
 * detail info about problem ablities;
2018-11-21 16:32:44 +04:00
Oleg Agafonov
7c2738cf9f Merge fix 2018-11-21 02:59:24 +04:00
Oleg Agafonov
2bf0c1d98e Tests: improved tests performance 2018-11-21 02:57:50 +04:00
Oleg Agafonov
cfb51def3d Tests: added realtime checks for life and exile (#4936) 2018-11-13 03:38:54 +04:00
Oleg Agafonov
2ebe05c85e [GNT] implemented Goblin Goliath, GNT set now fully implemented 2018-11-13 03:20:20 +04:00
brodee
bdf3394b84 changed the card used in summoner's egg test
this test uses ai to determine which card to imprint, with my other
changes to AI, the rarity of the cards changed the relative rating of
these two cards. I changed the merfolk to be a common merfolk so that
part of the card rating shouldn't affect it
2018-10-27 11:55:05 -07:00
brodee
1f31323f47 fixed bug in test that skipped manual targetting
addtarget was being ignored and AI was being used to determine a target.
the spell has a target so I think this is not a bug with add target but
rather the test itself
2018-10-27 11:53:05 -07:00
LevelX2
26a93d4427 Reworked ability source object handling. 2018-10-21 21:37:23 +02:00
Oleg Agafonov
9a4fb4adb1 Tests: fixed error on missing db files; 2018-10-12 22:19:45 +04:00
LevelX2
fde0ba284a * Glarecaster - Fixed that its redirect ability allows for multiple redirects not only if damage is dealt at the same time (fixes #5368). 2018-10-10 23:17:10 +02:00
Oleg Agafonov
43655845e7 Tests: fixed deck cards amount tests 2018-10-09 20:53:23 +04:00
Tyler Moore
2ed63a7184 Notifying players of library search, and giving controller choice to search 2018-10-04 15:14:43 -07:00
Tyler Moore
4057cc2859 Implementing new function in all classes implementing Player 2018-10-04 14:16:52 -07:00
Oleg Agafonov
6bb478c342 Tests: added many verify tests for sets and cards, e.g.:
* check set's class name/file (source code style);
  * check set's hasBasicLands settings (missing lands in deck generation bug);
  * check card's UsesVariousArt settings (same image for multi-images card bug);
  * check card's missing abilities (forgot addAbility call bug);
  * improved output messages;
2018-10-03 22:32:52 +04:00
LevelX2
c41c6e1fe9 Fixed a problem with casting split cards from non hand zone. Added some generic cast from non hand zone effects and started replacing card specific effects by the generic ones (fixes #5356 and fixes #4493). 2018-10-03 13:44:01 +02:00
LevelX2
226019be89 * Desecrated Tomb - fixed that it did not produce bat tokens if a Zombie cards was cast from graveyard (fixes #5318). 2018-09-27 17:26:22 +02:00
LevelX2
05dcfeaaa1 * Experimental Frenzy - Fixed a problem that casting cards from hand was not prevented (#5338). 2018-09-26 17:29:43 +02:00
LevelX2
61b1b1ba05 * JumpStart - fixed that card was not always moved to exile after cast from graveyard. 2018-09-26 16:30:17 +02:00
Evan Kranzler
c303b5adf8 updated Mistveil Plains implementation 2018-09-25 14:17:52 -04:00
LevelX2
a365cee0f1 * Tawnos's Coffin - Fixed that it did not return the exiled targes if Tawnos's Coffin left the battlefield (fixes #5243). 2018-09-14 14:52:21 +02:00
LevelX2
68dc82342c
Merge pull request #5276 from magefree/FixBestowTest
Fix bestow test
2018-09-14 14:26:39 +02:00
Evan Kranzler
e9045fb68e fixed some incomplete implementations 2018-09-02 23:02:03 -04:00
Quercitron
9593462520 * One with the Machine - Fix that non-artifact permanents are considered in determining the amount of cards drawn (fixes #5292). 2018-09-01 16:10:51 +03:00
Quercitron
470fd4c75a * Reality Scramble - fix that the last matching card is put onto the battlefield instead of the first matching card (fixes #5290). 2018-09-01 15:06:12 +03:00
Kevin Shin
3ffd812bc6 After some revisions, BestowTest is now fully passed! Now to fix the other tests that don't anymore... 2018-08-25 04:43:38 -05:00
Oleg Agafonov
c34c13f7b7 * Fixed battlebond boosters (sometime it's can gen wrong booster without partners/cards) 2018-08-25 07:49:32 +04:00
Oleg Agafonov
15d1f12126 Ignoring annoying broken tests (random land cast and not supported fused target). 2018-08-25 06:48:40 +04:00
LevelX2
deb675a74a Xmage 1.4.30V0 2018-08-15 11:35:40 +02:00
LevelX2
2429425fd2 Merge origin/master
Conflicts:
	Mage.Sets/src/mage/cards/s/SalvageTrader.java
	Mage.Sets/src/mage/cards/t/ThermalDetonator.java
2018-08-15 10:51:21 +02:00
LevelX2
1322bd3c23
Merge pull request #5209 from tamaroth/master
Fix Tuvasa the Sunlit triggered ability.
2018-08-15 08:52:34 +02:00
LevelX2
8e040841a9
Merge pull request #5182 from Dilnu/Spell
Add methods to get information about potential spells.
2018-08-15 08:11:49 +02:00
LevelX2
fa13786fab
Merge pull request #5053 from Sedictious/Battlebond_Boos
Fix Battlebond Partner distribution
2018-08-15 08:09:03 +02:00
Oleg Agafonov
593df43758 Refactoring: replace custom creature tokens with basic class (1 card);
Added blink test;
2018-08-15 06:47:33 +04:00
dilnu
c4a68f23ec Update a comment. 2018-08-14 21:26:44 -04:00
quercitron
db2db4c27a
Merge pull request #5212 from magefree/5189-recast-spells-keep-their-previous-targets
Fix that cards that are cast using alternative cost effects keep their previous targets
2018-08-11 02:48:07 +03:00
Quercitron
22de85aee1 Cards that are cast using alternative cost effects keep their previous targets (#5189) - Add unit test. 2018-08-10 02:53:38 +03:00
tamaroth
566caedd61 Add a test for a triggered ability of Tuvasa the Sunlit
The test makes sure that a triggered ability of Tuvasa is triggered only once and 
draws only one card when more than one enchantment spells are cast by the 
controller of Tuvasa during a single turn.
2018-08-08 12:04:52 +02:00
Chatziargyriou Eleftheria
197020b162
Merge branch 'master' into Battlebond_Boos 2018-07-31 17:02:11 +03:00
dilnu
988b64866c Fix a bug with Animar's cost reduction effect. 2018-07-29 11:22:41 -04:00
Samuel Sandeen
e5c1dfc4b7
Refactor ControlledCreaturesDealCombatDamagePlayerTriggeredAbility. (#5163)
It now triggers once for each player damaged.

Fixes https://github.com/magefree/mage/issues/5162
2018-07-29 08:16:07 -04:00
Samuel Sandeen
14520097a5
Fix issues with the ChosenSubtypePredicate and clone effects. (#5164)
Update ChosenSubtypePredicate to be an ObjectPlayer predicate. This fixes how cards that use it act when cloned.

Fixes https://github.com/magefree/mage/issues/5136
2018-07-29 07:44:19 -04:00
Samuel Sandeen
a164dad83f
Fix issues with Clone and Metallic Mimic (#5160)
Fix bugs with Metallic Mimic and Adaptive Automaton and clone effects.

Metallic Mimic and Adaptive Automaton were both using the technically correct EnterEventType specifier for their as enters the battlefield abilities. Despite it being technically correct this meant that their ability didn't trigger if they were cloned.

Additionally EnterAttributeAddChosenSubtypeEffect changed the subtype of the base object which meant that clones entered in with the chosen subtype of the original.
2018-07-29 07:40:48 -04:00
Samuel Sandeen
3875f42bac
Refactor addCounters to fix bugs in edge cases. (#5154)
Add code to check the controller of abilities on the stack instead of the controller of their source card or object.

This fixes https://github.com/magefree/mage/issues/5152
2018-07-29 07:31:59 -04:00
Evan Kranzler
c2c7aff4f7 fixed the formatting on some ability words 2018-07-28 15:01:20 -04:00
Quercitron
79120e7484 Make color distribution in booster more uniform 2018-07-25 02:46:31 +03:00
LevelX2
014a46ae72 * Unexpectedly Absent - Fixed that the target permanent was put to the wrong position in library. 2018-07-16 17:43:01 +02:00
igoudt
877a355a7d rewrite some code to streams 2018-07-15 20:50:26 +02:00
LevelX2
7fa21ae9c2 Added some missing player methods. 2018-07-14 17:43:26 +02:00
LevelX2
a3c4c2365d
Merge pull request #5119 from NoahGleason/M19-oracle-changes
M19 oracle changes
2018-07-14 10:39:50 +02:00
igoudt
d6450eed94 change enum comparison 2018-07-08 13:11:39 +02:00
Quercitron
36c004122a Fix dual lands generation in the Core Set 2019 boosters 2018-07-08 01:19:49 +03:00
Noah Gleason
8ee7965580
Fix tests 2018-07-07 11:52:38 -04:00
igoudt
9f06046f22 add isOwned and isControlled methods. remove some null-checks, remove some unnecessary casts 2018-07-04 14:24:11 +02:00
Evan Kranzler
4a233a701a skip one more test 2018-06-25 21:49:30 -04:00
Evan Kranzler
ae9b5a75e8 skip failing tests until they're fixed 2018-06-25 21:40:04 -04:00
LevelX2
fdddbbbbe6 * Some rework/fixes/optimizations of calculation of available mana. 2018-06-24 01:23:49 +02:00
Chatziargyriou Eleftheria
a1a7b1c59b
Add test for Battlebond
Test Battlebond's partner mechanic
2018-06-22 18:57:44 +03:00
LevelX2
cd8e038679 * Changes for netMana null handling #5023. 2018-06-21 16:27:05 +02:00
Evan Kranzler
d9dfef24ce updated "can't be countered" text 2018-06-20 11:21:06 -04:00
LevelX2
74b126c940 * Tinder Wall - Fixed it's damage dealing ability always fizzles (fixes #5005). 2018-06-19 17:35:53 +02:00
Oleg Agafonov
de9046f426 Fixed broken tests 2018-06-11 04:21:28 +04:00
Oleg Agafonov
21276a1d7a Test framework: added realtime checks for mana pool amount 2018-06-11 04:20:21 +04:00
LevelX2
99864ccf5b * Fixed a problem that tapped for mana event was sent twice (fixes problem of 2 created spirits for Forbidden Orchard). 2018-06-10 10:28:00 +02:00
LevelX2
717308ba12 * Fixed that commanders of players were not removed if a player left a game. Fixed a problem that continuous effects of objects of players that left the game were not removed immediately. 2018-06-09 14:10:48 +02:00
LevelX2
4ceffd17ef * Sasaya's Essence - Fixed not correctly working mana production. 2018-06-09 12:04:22 +02:00
LevelX2
006af33625 Two minor fixes. 2018-06-09 12:01:33 +02:00
Evan Kranzler
3659a2dc0b Implemented Journey for the Elixir 2018-06-08 13:22:23 -04:00
LevelX2
c745e654f9 * Fixed test that sometimes failed on onfortunate mana tapping done by computer player. 2018-06-07 17:59:09 +02:00
Evan Kranzler
c4a0d9f916 replaced apostrophes 2018-06-06 22:39:16 -04:00
LevelX2
78c288358b Added some tests. 2018-06-06 17:34:51 +02:00
LevelX2
87e60f407b Added some tests. 2018-06-06 17:30:03 +02:00
LevelX2
ae8fa6aa10 Added test to check for creatures not entering tapped but they should #5012. 2018-06-06 17:00:33 +02:00
LevelX2
d18338edd5 Added test to check for creatures not entering tapped but they should #5012. 2018-06-06 16:59:32 +02:00
LevelX2
df341bd0d6 * Fixed some mana handling problems of conditionalMana (GemstoneCavern) and possible exception of ChromeMox.Fixed some tests. 2018-06-05 23:59:39 +02:00
Evan Kranzler
8bdb6665d9 Temporarily ignoring a test that hasn't been fixed yet 2018-06-05 15:15:14 -04:00
LevelX2
2e72503b8c * Fix of condtitional mana effect (not completed yet). 2018-06-05 18:12:31 +02:00
Michael Simons
0bf78830de Changes to try and better handle X mana costs with minimum X values with AI decisions #4906 2018-06-03 22:44:06 -04:00
LevelX2
397a6ccfc4 * Grafted Exoskeleton - Fixed that if it left the battlefield it doesn't sacrifice its creature (fixes #4997). 2018-06-03 23:51:09 +02:00
LevelX2
b17858d910 Some fixes to "Remove license headers" (#4998). 2018-06-03 10:18:30 +02:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
LevelX2
b6f7efe5e9 * Fixed a problem with Dash not giving Haste to the creature beginning with the second use of Dash (fixes #4985). 2018-05-30 16:51:59 +02:00
LevelX2
27ced167fb * Added logic to add permitting object to play/cast events. 2018-05-27 23:47:57 +02:00
LevelX2
a19c257e50 XMage 1.4.30V0 2018-05-27 01:28:42 +02:00
LevelX2
b28bf51c02 * Reworked some more card movement handling (#4866). 2018-05-26 22:39:20 +02:00
Evan Kranzler
07886811f0 Merge branch 'master' of https://github.com/magefree/mage 2018-05-25 19:37:56 -04:00
Evan Kranzler
ac6c68180a Replaced more mana pool errata 2018-05-25 19:37:54 -04:00
LevelX2
fcc6174e5e Some null exceptions checking and fixed some other minor problems. 2018-05-26 01:22:28 +02:00
LevelX2
3972695428 * Some changes to improve mana use of AI. 2018-05-21 11:50:49 +02:00
L_J
994771049c
PlayerStub declareBlocker fix 2018-05-19 08:43:42 +00:00
L_J
bd2a2eebf4
TestPlayer declareBlocker fix 2018-05-19 08:42:07 +00:00
LevelX2
08b9f61749 Removed wrong import in TestPlayer.java. 2018-05-15 14:31:37 +02:00
Oleg Agafonov
ec4bee43d2 * Daxos's Torment - fixed that it can't get Vampire type from Mephidross Vampire; 2018-05-14 02:42:57 +04:00
Oleg Agafonov
4851ba9e84 Test framework: added commands for real time checks/assertions:
* new checks: color, subtype, ability, PT, permanent and hand count;
 * more info in #4936;
2018-05-14 02:31:19 +04:00
LevelX2
21e5591e29 * Some rework of handling of mana effects. 2018-05-13 22:52:14 +02:00
LevelX2
7d7b13d5dd * Updated decks from test project after change of collectors numbers. 2018-05-11 00:51:47 +02:00
LevelX2
74f05d438f * Fixed that cast conditions of legendary sorceries were checked correctly if you cast a card owned by another player e.g. from exile (fixes #4921). 2018-05-10 08:55:10 +02:00
LevelX2
dcd3e7c039 * Some more fixed/reworked card movement handling. 2018-05-08 23:46:34 +02:00
LevelX2
df987049c0 * Fixed some card movement (fixes #4910). 2018-05-08 18:01:15 +02:00
LevelX2
8afd51fa04 Merge origin/master 2018-05-07 00:45:05 +02:00
LevelX2
bb15176a84 * Fixed token ability (id handling) and token cardType (reset was not correctly done) handling (this fixed problems with copying Planeswalker with Helm of the Host). 2018-05-07 00:44:32 +02:00
Oleg Agafonov
72314a9512 * Fixed 8 cards with "becomes creature attached" effect that it adds colors instead replace it;
* Affected cards: Awaken the Ancient, Corrupted Zendikon, Crusher Zendikon, Deep Freeze, Guardian Zendikon, Living Terrain, Vastwood Zendikon, Wind Zendikon;
2018-05-06 19:07:45 +04:00
Oleg Agafonov
858f210a83 Test framework: added assert color; 2018-05-06 18:57:06 +04:00
Evan Kranzler
7edcec0dc1 fixed ability word text formatting 2018-05-05 14:05:04 -04:00
LevelX2
cddd81123b Some changes related to #4893. 2018-05-03 01:33:21 +02:00
Oleg Agafonov
c24ba742f6 Fixed equal or == errors -- 23 cards and more (see #4407) 2018-04-28 21:24:48 +04:00
LevelX2
7b2ff38225 * Grasp of Fate - Fixed rule text. Fixed that exiled permanents did not return to battlefeild if the Grasp left the battlefield because its owner lost or left the game. 2018-04-24 17:50:35 +02:00
LevelX2
6ebd715e17 * Some minor clean ups. 2018-04-24 11:38:25 +02:00
LevelX2
6bd8f52b66 * Fixed a problem of becomes ColorTargetEffect that causes objects to not always reset to original color. 2018-04-24 11:35:33 +02:00
Oleg Agafonov
dc5908e7f1 Return some ignored tests after massive texts replacements, added new tests for "any target" spells (see prev commit); 2018-04-22 17:54:43 +04:00
Oleg Agafonov
23becf1775 Texts update: to target creature or player => to any target 2018-04-22 08:15:40 +04:00
Oleg Agafonov
6850364fd3 Return some ignored tests after massive texts replacements; 2018-04-22 05:24:08 +04:00
Oleg Agafonov
4e12b06bc7 Fixed not working opponent or planeswalker filter (count all permanents instead planeswalkers); 2018-04-22 04:58:24 +04:00
Evan Kranzler
7deb521a65 more mana pool errata 2018-04-21 18:36:22 -04:00
theelk801
af3a4b389e
Merge pull request #4831 from magefree/planeswalkerErrata
Planeswalker errata implemented
2018-04-20 20:43:09 -04:00
Evan Kranzler
198be1549d Revert "Revert "Merge branch 'planeswalkerErrata' into master""
This reverts commit f10b62f3da.
2018-04-20 20:42:04 -04:00
Evan Kranzler
5c73158708 one more skip 2018-04-20 20:28:50 -04:00
Evan Kranzler
b738141070 skipping some more tests, the issue is with the testing framework and not the game engine 2018-04-20 20:20:23 -04:00
Evan Kranzler
16c081dbf5 fix all the tests 2018-04-20 20:10:26 -04:00
Evan Kranzler
ec3007d141 a few more changes to help with tests 2018-04-20 18:51:15 -04:00
Evan Kranzler
e51b63aea8 a few changes to help with tests 2018-04-20 18:02:33 -04:00
Evan Kranzler
6b8d4b0e91 updated some more oracle text 2018-04-20 16:49:13 -04:00
Evan Kranzler
f10b62f3da Revert "Merge branch 'planeswalkerErrata' into master"
This reverts commit 95d2721421, reversing
changes made to fc4986a589.
2018-04-20 16:41:29 -04:00
theelk801
95d2721421
Merge branch 'planeswalkerErrata' into master 2018-04-20 16:21:44 -04:00
Evan Kranzler
d290c7f26b updated TargetPlayerOrPlaneswalker to be a subclass of TargetPlayerOrPermanent (as well as the respective filters) 2018-04-20 13:34:35 -04:00
Evan Kranzler
92bf8b77de fixed a few tests 2018-04-20 12:58:04 -04:00
LevelX2
fe2220e19e Xmage 1.4.29V0 2018-04-19 21:07:14 +02:00
Evan Kranzler
5fe607e852 updated targeting for cards that damage 2018-04-19 11:45:20 -04:00
Evan Kranzler
3c2a8ee17d refactored Player.setLife() to include source, some more changes 2018-04-18 21:14:05 -04:00
Evan Kranzler
3798f34c38 refactored Player.gainLife() to include source 2018-04-18 20:30:59 -04:00
Evan Kranzler
ebc6362279 fixed some tests 2018-04-16 19:21:30 -04:00
Oleg Agafonov
a837a4f0f0 Fixed broken tests after mana texts changes 2018-04-16 01:35:37 +04:00
Evan Kranzler
50b5377a8e fixed mana pool errata 2018-04-15 14:30:01 -04:00
Evan Kranzler
41c9b08107 some more fixes 2018-04-15 14:13:44 -04:00
Evan Kranzler
ef33472ee5 fixed some tests and text 2018-04-15 13:50:48 -04:00
Evan Kranzler
df06e9cbf6 temporarily disabled the color-change test(a fix may take a while) and fixed some errors in the Dominaria file 2018-04-14 19:17:57 -04:00
LevelX2
8523d85fb7 * Added a test if color change is reset correctly if target moved zones later (not fixed yet). 2018-04-13 15:25:30 +02:00
LevelX2
03f5b8c2da * Vindictive Lich - Fixed that it did only execute the first effect (fixes #4742). 2018-04-10 23:17:19 +02:00
LevelX2
9b0d130603 * Added tests for #4740. 2018-04-10 11:19:41 +02:00
spjspj
04f6fb5ae0 Beginning of implementation of Planechase.
10 or so initial planes that (mostly) have been tested, no phenomenons as yet and no modifying yet of chaos rolls.  Also no support for a user to be able to set if it is planechase (able to do so via the cheat button).
2018-04-09 20:16:50 +10:00
igoudt
49ee8f9856 add 3 DOM cards, added a token, updated card text 2018-04-08 02:16:52 +02:00
Oleg Agafonov
f6b8d0fea6
Merge pull request #4707 from delftswa2018/feature/SOLID-fix-in-Token-classes
SOLID violation fix in token classes
2018-04-04 18:31:52 +04:00
Marc Zwart
3e32287f00 fixed Token/TokenImpl imports and references 2018-04-03 14:05:41 +02:00
Marc Zwart
d4d8a04694 Extracted Token interface and renamed Token implementation to TokenImpl + renamed tests 2018-04-03 14:04:08 +02:00
LevelX2
1e2e53073c * Deep Analysis - Fixed that its flashback costs did not work with mana casting cost modification effects (fixes #4677). 2018-04-02 15:30:57 +02:00
igoudt
00f91391e9 Homarid Drake, reprints, and rewriting his or her to their 2018-03-22 16:52:26 +01:00
LevelX2
4afdcc860a * Alhammarret, High Arbiter - Fixed not working ability that prevents spell casting (fixes #4561). 2018-03-18 23:38:24 +01:00
LevelX2
d29707bdea * Morph - Fixed that turning creatures face up didn't restore their subtypes (fixes #4566). 2018-03-18 19:37:25 +01:00
LevelX2
b073ce1c42 * Added to all toUpperCase/toLowerCase calls the Locale.ENGLISH to prevent problems with some languages (e.g. Turkish). Removed some unused import statements. (#4634). 2018-03-18 18:18:54 +01:00
igoudt
bd4b5f6300 add Jhoira Weatherlight Captain + tests 2018-03-18 11:55:50 +01:00
igoudt
ddf568679f added 3 Dominari cards, benalish marshal, charge, knight of grace, added a new condition and a new ability 2018-03-18 00:22:03 +01:00
LevelX2
442130beb6 Some minor changes. 2018-03-17 23:40:36 +01:00
igoudt
1405bc87ae unit test shapestealer #2 2018-03-16 18:49:25 +01:00
igoudt
d982e215d6 added shape stealer unittest 2018-03-16 18:47:20 +01:00
LevelX2
b035d85f98 * Fixed a problem that triggered abilities that face down permanents got from other sourced did not trigger (fixes #4571). 2018-03-16 15:06:15 +01:00
LevelX2
8b8b3752e8 * It That Betrays - Fixed that target handling of second triggered ability did not work correct (fixes #4568). 2018-03-16 13:13:25 +01:00
igoudt
5ba017a19b Merge branch 'master' of https://github.com/magefree/mage 2018-03-15 09:34:26 +01:00
igoudt
c3e080141b test for #4618 2018-03-15 09:34:13 +01:00
Jeff
55164eda28 - Fixed Defiant Vanguard. It works with Cloudshift type effects now also. @4572 2018-03-14 17:57:04 -05:00
LevelX2
fed2d1a259 XMage 1.4.28V0 2018-03-10 20:42:29 +01:00
LevelX2
dac8f2dfe8 Fixed a bug of AI not handling pass action correctly so the AI got passive. Added AI possibility to act after blockers are declared (eg boost for blocking or blocked creatures). 2018-03-10 19:59:59 +01:00
LevelX2
17afa3b3c1 * Added a test. 2018-03-09 15:51:31 +01:00
LevelX2
8c8b4ce019 * Added a check if life of players is going down during infinite loop check. Is so no Draw check message is shown (fixes #4557). 2018-02-28 17:24:42 +01:00
LevelX2
5f98cb685e * Hushwing Gryff - Fixed that log message was sent out too often (fixes #4548). 2018-02-26 16:17:16 +01:00
LevelX2
ba483dd87a * Added a test for the new Blood Moon rule (set to @Ignored) because new rule is not implemented. 2018-02-25 21:59:06 +01:00
LevelX2
2fceafda93 * Fixed a bug that mana in the mana pool could not be used to pay mana costs that could only be payed with "you may spend mana as thought" effects (fixes #2581). 2018-02-25 21:53:47 +01:00
LevelX2
3d372e7100 * Fixed bug of Defiant Vanguard not destroying aby creatures from blocking. Added test. 2018-02-24 12:23:50 +01:00
Oleg Agafonov
5b0e71021d Fixed compile error on getFixedTarget and failed test on new lower names 2018-02-23 16:16:47 +04:00
LevelX2
c5cbdcf68f * Fixed some target pointer handling (fixes #4540). 2018-02-20 17:57:23 +01:00
LevelX2
89b6aeacd6 * Added a test related to #4539. 2018-02-20 16:16:26 +01:00
LevelX2
71ed488c1e * Some deck format tests changed/added. 2018-02-18 18:31:10 +01:00
LevelX2
d80d588963 * Reworked flashback ability (fixes #4482 #3324 #215 #3435 #3883 #3337 #2183 #2447). 2018-02-18 02:52:16 +01:00
LevelX2
fe2eec6553 * Fixed a problem with Animate Dead and bringing creatures with triggered abilities into play that had no targets. It was related to manipulating spellAbility and not copying spellAbility correctly during states copies. (related to #4428). 2018-02-17 11:54:57 +01:00
LevelX2
d10d6361ac * Some minor chnages. 2018-02-14 22:57:57 +01:00
LevelX2
6e4b4a7b69 * Added test for issue #4428 (Animate Dead). 2018-02-13 10:33:08 +01:00
LevelX2
4e4d466549 * Added a test. 2018-02-12 16:56:25 +01:00
LevelX2
6aed62cf02 * Bestow - Fixed a problem that if the target of a bestow enchantment aura got illegal, the bestow permanent did not chnage back to be a creature. 2018-02-12 16:28:44 +01:00
LevelX2
a85fa82de0 * Bestow - Fixed a problem that if the target of a bestow enchantment aura got illegal, the bestow permanent did not chnage back to be a creature. 2018-02-12 15:49:16 +01:00