Commit graph

2225 commits

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