Commit graph

3101 commits

Author SHA1 Message Date
Oleg Agafonov
39a556f233 * Long-Term Plans and Volrath's Dungeon - fixed that it shows card name in game logs to other players (#7179); 2020-11-18 12:44:58 +04:00
Oleg Agafonov
656653f38b Modal Double Faces cards fixes:
* Fixed that mdf card can duplicate triggers (example: Skyclave Cleric, see #7187);
 * Fixed that mdf card can raise triggers from another side (example: Kazandu Mammoth, see #7180);
2020-11-18 02:04:32 +04:00
Evan Kranzler
01a0d23a55 removed method for preventing library search triggers 2020-11-13 09:40:18 -05:00
Francesco Burato
6e3750d50a [app-wiring-refactor]: Apply review comments:
- Add reference to original library in `FluentBuilder`.
- Change `I<Name>` notation to `<Name>Impl` notation.
- Move error config to test resources
- Add comment with config instruction
- Add config to the documentation
2020-11-12 20:12:50 +00:00
Francesco Burato
d0c2135e17 [app-wiring-refactor]: Remove static initialisation
- Remove all enum static managers
- Introduce interfaces for the managers
- Define new application wiring class (`ManagerFactory`)
- Externalise the configuration
2020-11-12 20:12:48 +00:00
Oleg Agafonov
ea46afbe62 Prepare new release 2020-11-10 13:11:45 +04:00
Oleg Agafonov
5578437dde * GUI: increased ignore list max size from 100 to 500; 2020-11-09 00:42:43 +04:00
Oleg Agafonov
cff67085b7 [ZNR] Fixed MDF cards with put to battlefield effects (#7174) 2020-11-07 21:24:59 +04:00
Oleg Agafonov
02e19f0a3f [ZNR] Improved modal double faces cards implementation and more tests (#7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
e4c8ba046a [ZNR] Improved modal double faces cards implementation and more tests (#7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
19cd742f40 Tests: fixed BlazingTorchTest 2020-11-01 10:03:09 +01:00
Oleg Agafonov
a73c9bddae [ZNR] Added all modal double faces cards (#7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
70514124a6 * Disrupting Shoal - fixed that it counter spells by CMC from any payed split card's parts instead combined CMC only; 2020-11-01 10:03:09 +01:00
Oleg Agafonov
8ac78b4b9e Added modal double faces cards implementation (MDF cards, #7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
bbed5a16b8 Test framework: added library realtime check command; 2020-11-01 10:03:09 +01:00
Evan Kranzler
8617bc128e
Fixing issues with Changelings and general problems with creature types (ready to merge) (#7098)
* updated Changelings to use setIsAllCreatureTypes

* updated Dr Julius Jumblemorph and Mistform Ultimus to not use changeling

* added test for Mistform Ultimus

* updated effects which give all creature types to controlled creatures

* updated effects which give all creature types to targeted creatures

* Update LoseAllCreatureTypesTargetEffect.java

* updated effects which give all creature types to attached creatures

* Update EgoErasure.java

* added another test for changelings

* updated two tokens I left out before

* updated hasSubtype

* updated shareCreatureTypes

* fixed an incorrect test

* cleaned up some cards which check for shared creature types

* added new changeling test

* fixed issue with shareCreatureTypes

* fixed a text issue

* added new tests for subtype effects

* various individual card fixes and cleanups

* fixed and updated various effects

* many more fixes

* a few more fixes

* added test for One with the Stars

* added changeling verify test

* updated effects which add additional subtypes

* more miscellaneous fixes

* added additional test

* some fixes for card type checks

* updated methods for adding types to make it easier to avoid duplicates and illegal additions

* small test update

* fixed a recursive loop issue

* fixed another error

* fixed it for real this time

* streamlined type removal process

* streamlined subtype set generation
2020-10-30 22:32:59 -04:00
Evan Kranzler
a66428b2b6 updated implementation of equipment which use themself in a gained ability 2020-10-22 21:37:03 -04:00
Evan Kranzler
9f7a873e5b added test for Omnath, Locus of Rage and protection effects (closes #7133) 2020-10-14 20:36:50 -04:00
Evan Kranzler
e65d769e47 fixed Chainer, Nightmare Adept not triggering off of creatures owned by other players 2020-10-12 21:08:37 -04:00
Evan Kranzler
92445ace3d added more tests for Pelt Collector 2020-09-29 20:41:47 -04:00
Evan Kranzler
3f4698434b fixed random mystery booster test failures 2020-09-29 19:35:32 -04:00
Evan Kranzler
827ffb5fb2 changed how effects are applied for triggered abilities, added test (fixes #7083) 2020-09-29 18:55:51 -04:00
Evan Kranzler
27a4f27727 reworked Chainer, Nightmare Adept and added test 2020-09-29 18:03:56 -04:00
Evan Kranzler
4162c3e5cb [ZNC] fixed Whispersteel Dagger, added test (#7085) 2020-09-28 19:22:30 -04:00
Evan Kranzler
7647a3d8f0
Support for copying permanent spells (WIP, do not merge) (#7084)
* added initial support for permanent tokens

* [ZNR] Implemented Lithoform Engine

* [ZNR] Implemented Verazol, the Split Current

* permanent spell tokens no longer count as created

* small change to token generation

* added test, currently incomplete

* found a potential solution for kicker issue, possibly too much of a hack

* fixed a test failure

* reversed hack changes

* skipped failing tests

* added more tests
2020-09-27 10:54:44 -04:00
Evan Kranzler
ee94eb3553 [ZNR] small update to Ashaya test 2020-09-24 22:07:18 -04:00
Evan Kranzler
5cad7d9bff [ZNR] added test for Ashaya, Soul of the Wild (needs more cases) 2020-09-24 21:59:36 -04:00
Evan Kranzler
66235dc6e0 [ZNR] added a test for Moraug, Fury of Akoum 2020-09-23 21:18:15 -04:00
Evan Kranzler
a022d79b65 fixed Pelt Collector implementation, expanded test 2020-09-22 17:23:42 -04:00
LevelX2
2fec825523 * Some standardisation of dies trigger handling (fixes #7063 Midnight Reaper triggers when dies face down). 2020-09-18 16:15:21 +02:00
LevelX2
e1ab14e0f5
Merge pull request #7071 from Dilnu/Haruspex
Create a test to verify Grim Haruspex's ability.
2020-09-18 13:19:33 +02:00
LevelX2
1125d9cca1 Added a test. Some mionor changes. 2020-09-17 10:02:08 +02:00
LevelX2
4050631807 Fixed that some AlternativeCostSourceAbilities had no sourceId set. 2020-09-17 10:00:46 +02:00
Oleg Agafonov
6e0c7e868c Additional and alternative costs improved:
* Now player must choose additional costs before ability's modes;
* Fixed broken kicker ability from ZNR (see comments from d4ca287f0f);
* Improved compatibility of additional cost with cost modification effects (fixed that optional multi-costs doesn't affected by cost modification);
* Improved compatibility of additional cost with alternative cost (some cards ignores additional cost on alternative usage, e.g. on play free);
2020-09-13 09:57:17 +04:00
Oleg Agafonov
586538a66c Test framework: added fast command to add cost modification effect in test game (addCustomEffect_SpellCostModification) 2020-09-13 09:57:17 +04:00
Evan Kranzler
439303882c updated cost adjustment for Mobilized District, added test 2020-09-10 17:08:01 -04:00
Evan Kranzler
4daaaddbb0 updated cost adjustment for Pteramander, added test 2020-09-10 17:07:29 -04:00
Evan Kranzler
649ff35359 [ZNR] small additional fix to party count test 2020-09-10 12:44:48 -04:00
Evan Kranzler
100c130cec [ZNR] fixed party count including opposing creatures, updated test (fixes #7061) 2020-09-10 12:40:01 -04:00
Oleg Agafonov
5831ba81fc
Merge pull request #7030 from BrunoChevalier/master
Additional fixes for pvs-studio report, see #7021 
* Rename BasicSaheekiSublimeArtificerTest.java to BasicSaheeliSublimeArtificerTest.java
* S3Uploader.java: Remove redundant null check
* Effects.java: remove redundant check. When in the else part, the lastRule already is guaranteed to not end on a dot
* TableController.java: change warning message when match == null to avoid nullpointer exception
* Reverted already fixed line from, see #7021
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2020-09-08 23:04:30 +02:00
LevelX2
d0ccafd2a8 Added test for Pako Arcane Retriever. 2020-09-08 15:29:58 +02:00
LevelX2
8e465acb11 Primordial Mist - Fixed selection of face down targets (fixes #7045). 2020-09-08 13:14:15 +02:00
Evan Kranzler
91067e89cb rewrote party count test to allow for more easily adding additional cases 2020-09-05 16:50:51 -04:00
Evan Kranzler
cc0bb84dad
[ZNR] Implemented party mechanic (#7036)
* added incomplete party count implementation

* updated party count implementation

* added party count test

* fixed tests, updated test framework

* added an additional test

* fixed some errors in party count computation, should be good now

* fixed a small error with test generation

* fixed an NPE issue
2020-09-03 19:22:05 -04:00
Evan Kranzler
0d12f566e5 fixed an NPE issue 2020-09-03 18:39:05 -04:00
Evan Kranzler
003fd098b0 fixed a small error with test generation 2020-09-03 18:36:27 -04:00
Evan Kranzler
86446f4977 added an additional test 2020-09-03 18:25:39 -04:00
Oleg Agafonov
535e49b89f Test framework: added aliases support for activated abilities (related to #7036); 2020-09-04 02:18:40 +04:00
Evan Kranzler
f0df4267a3 fixed tests, updated test framework 2020-09-03 18:12:43 -04:00
Evan Kranzler
fa40ffe837 added party count test 2020-09-03 16:34:25 -04:00
LevelX2
1f869fab4d * Added Test for Plague Engineer. 2020-09-02 15:05:39 +02:00
LevelX2
61315ec741 * Improved some FixedTarget initializations. 2020-08-31 10:54:59 +02:00
Bruno Chevalier
1dccb62d10 Rename BasicSaheekiSublimeArtificerTest.java to BasicSaheeliSublimeArtificerTest.java 2020-08-31 10:51:24 +02:00
LevelX2
323b4f8880 * Fixed wrong Kard name in MTGO Legacy Cube July 2019 (Kozilek, Butcher of Truth), added a test. 2020-08-30 12:07:23 +02:00
Oleg Agafonov
87d8383eb8 * Undercity Reaches - fixed rollback error on plane's draw trigger 2020-08-29 20:40:02 +04:00
Oleg Agafonov
30fe344e23 Test framework: added planes support in tests (command: addPlane) 2020-08-29 20:38:57 +04:00
Oleg Agafonov
ede06098e0 Fixed typos in tests and additional refactor 2020-08-29 19:04:26 +04:00
LevelX2
f819340297 * Added Entwine Test. 2020-08-28 17:17:02 +02:00
LevelX2
83ac7f7bc2 * Nim Deathmantle - Fixed that creature was not returned to battlefield (fixes #7018). 2020-08-28 13:46:21 +02:00
LevelX2
cd5c1c282c * Angel of Jubilation - Fixed possible Null Pointer Exception in Player.canPayLifeCost method (fixed #7019). 2020-08-28 09:26:38 +02:00
Oleg Agafonov
a0c16dc4e1 Added charset check and hint in startup logs (related to #7020) 2020-08-28 08:34:01 +04:00
Oleg Agafonov
b610d0a31a Added default charset information in startup logs 2020-08-28 07:33:42 +04:00
LevelX2
11de701ee8 Merge origin/master 2020-08-26 17:03:02 +02:00
LevelX2
863829085e * Added a test. 2020-08-26 17:02:23 +02:00
Oleg Agafonov
6787688610 Tests: fixed random failed test testMysteryBooster1, removed redundant logs; 2020-08-26 14:20:39 +04:00
LevelX2
f1d2d2fb22 * Safe Passage - Fixed a problem that damage to player was not prevented (fixes #6995). 2020-08-25 16:30:48 +02:00
LevelX2
b5a1971aa3 * Some minor changes. 2020-08-24 16:50:47 +02:00
LevelX2
149635a9f1 * Added test for Propaganda. 2020-08-23 11:36:01 +02:00
LevelX2
b14c9c341b * Added test for Palace Jailer. 2020-08-23 10:51:08 +02:00
Oleg Agafonov
920697d2e5 Prepare new release 2020-08-23 01:52:55 +04:00
Oleg Agafonov
1b430e5d99 Added verify test to check missing second face cards in sets, fixed missing cards; 2020-08-22 18:48:15 +04:00
LevelX2
c16fb75668 * replaces all [source} by {this}. ATTENTION !!!: Only supporting [this} from now on in rule text. 2020-08-22 12:52:49 +02:00
LevelX2
d51acbf090 * Removed unused imports. 2020-08-22 11:51:34 +02:00
LevelX2
546205bba4 * Fixed failing test. 2020-08-22 11:26:21 +02:00
LevelX2
82ae1f9cb7 Revert "* Fixed failing test."
This reverts commit 7508de950d.
2020-08-22 11:25:01 +02:00
LevelX2
7508de950d * Fixed failing test. 2020-08-22 11:16:20 +02:00
LevelX2
01d0183e49 * Fixed failing test. 2020-08-22 10:46:44 +02:00
LevelX2
90c6637dc2 * Implemeented consumable flag for asThoughtEffects and a player choice which effect to use if multiple consumable effects allow the same action. 2020-08-21 21:24:42 +02:00
LevelX2
8105d8b26c * Improved handling of asThoughtAs approval by abilities that allows a clear and easy assignment of the approving effect. 2020-08-21 14:58:22 +02:00
LevelX2
0565d32f55 * Added test for The Ur-Dragon. 2020-08-20 17:17:27 +02:00
LevelX2
783239e79e * Aminatou's Augury - Fixed that spells in exile where not shown as castable and that AI usage prevented casting of multiple spells from exile (fixes #6987). 2020-08-20 16:48:13 +02:00
LevelX2
89639f5e9b * Karador, Ghost Chieftain - Fixed not correct usage detection, simplified/fixed asThoughtAs effect handling. 2020-08-20 14:37:36 +02:00
LevelX2
22e6fee101 * Fixed a bug that non permanent cards could be moved to battlefield instead of staying in the zone they are. 2020-08-18 19:02:15 +02:00
LevelX2
c19af65431 * Added calculation of mana sources of hand cards (related to #6698). 2020-08-18 14:52:26 +02:00
LevelX2
818952bf2d * Fixed a bug that prevented to show cards as playable if castable by alternateSourceCosts (fixes Dream Halls problem related to #6698). 2020-08-18 14:00:06 +02:00
LevelX2
c48331f216 * Doubling Cube - Added support for possible mana calculation (related to #6698). 2020-08-18 00:22:53 +02:00
Ingmar Goudt
a9627e6101 m21 tests 'F' 2020-08-16 23:39:15 +02:00
LevelX2
768f1bec4f * Fixed available mana calculation for Cryptic Trilobite and Titans' Nest. Added some improvements for available mana calculation of conditional mana. 2020-08-16 01:16:52 +02:00
Oleg Agafonov
dd7978e106
Merge pull request #6953 from magefree/dependabot/maven/org.apache.maven.plugins-maven-clean-plugin-3.1.0
Bump maven-clean-plugin from 2.5 to 3.1.0
2020-08-15 21:17:17 +02:00
Oleg Agafonov
b7c84c9342 [AKR] fixed card numbers, fixed booster generation; 2020-08-15 21:11:17 +04:00
Oleg Agafonov
b89c1c03ca * Dire Fleet Warmonger - fixed that it asks user two times, fixed text (#6643); 2020-08-14 15:12:59 +04:00
LevelX2
27b5c920f7 * Offering - Fixed handling of hybrid mana in casting costs of offered creatures (fixes #6961). 2020-08-14 10:25:47 +02:00
LevelX2
3e498e23e6 * Offering ability - Fixed use in available mana calculation (related to #6698). 2020-08-12 16:26:22 +02:00
LevelX2
6a65e5bb23 * Mana Clash - Fixed use in available mana calculation (related to #6698). 2020-08-12 13:58:06 +02:00
LevelX2
0d83a8e09a * Once Upon A Time - Added test (#6954). 2020-08-11 15:15:08 +02:00
Ingmar Goudt
bbefed9b6d fix test, seems ability triggers twice, need double check 2020-08-10 23:28:10 +02:00
Ingmar Goudt
452ba945e0 add some m21 tests 2020-08-10 23:03:12 +02:00
LevelX2
12c50420bf * Fixed possible game exception with empty library and commander movement (fixes #6952). 2020-08-10 17:25:48 +02:00
Oleg Agafonov
b16d30b79b
Merge pull request #6190 from luziferius/refactor_promo_sets
[RFC] Refactor promo sets, add missing sets as listed on Scryfall
2020-08-10 16:57:00 +02:00
Oleg Agafonov
8b2bc064cd Fixed test and sample decks 2020-08-10 18:24:21 +04:00
dependabot[bot]
3b7376def1
Bump maven-clean-plugin from 2.5 to 3.1.0
Bumps [maven-clean-plugin](https://github.com/apache/maven-clean-plugin) from 2.5 to 3.1.0.
- [Release notes](https://github.com/apache/maven-clean-plugin/releases)
- [Commits](https://github.com/apache/maven-clean-plugin/compare/maven-clean-plugin-2.5...maven-clean-plugin-3.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-10 06:04:11 +00:00
Oleg Agafonov
c5d7a3e9f9 * GUI: added auto-fix for deck files on usage (if deck contains wrong card numbers then it will be fixed and saved automaticity); 2020-08-08 21:27:20 +04:00
LevelX2
fcf27e55d6 * Archetype cards - Fixed layer to interact correctly with ability adding/removing continuous effects. 2020-08-07 22:52:45 +02:00
LevelX2
457557852e * Benthic Explorer - Fixed mana type calculation.
* DynamicManaEffect - Fixed mana type calculation.
Some code clean up.
2020-08-07 17:15:06 +02:00
Oleg Agafonov
9e6a348cb1
Merge branch 'master' into refactor_promo_sets 2020-08-07 02:48:40 +02:00
Oleg Agafonov
2eeefd91ef Added additional test for prevent damage effects, improved 3358e2da80 (#6915) 2020-08-06 21:16:59 +04:00
Oleg Agafonov
bb148c9cb5 * Special mana abilities: fixed that it can be used to skip card's mana payments (#6937); 2020-08-04 22:09:57 +04:00
Oleg Agafonov
f69477d8d5 Added test for bug from #6937 (can cast cards with delve without full payment) 2020-08-04 18:11:15 +04:00
Oleg Agafonov
3430013f8d * Server: fixed that too much permanents or mana sources on battlefield can crush or slow down the server (#6938); 2020-08-04 05:36:43 +04:00
LevelX2
985d4205bf * Harvest Mage - Fixed available mana generation (#6698). 2020-08-03 21:26:47 +02:00
LevelX2
244cf2a1e9 * K'rrik, Son of Yawgmoth - Fixe phyrexian mana like payment of mana costs (closes #6928 related to #6698). 2020-08-03 19:17:07 +02:00
Oleg Agafonov
e95b9f145c GUI: deck legality improves:
* Added partly valid status for deck legality panel (if all cards are fine but user must add more cards to complete, see #6854);
 * Improved legality errors sorting (important errors visible at the top now, e.g. commander's errors);
2020-08-03 02:03:54 +04:00
LevelX2
9dfc6eed69 * Squandered Resources - Fixed available mana calculation (#6698). 2020-08-02 22:47:03 +02:00
Oleg Agafonov
00411b4a9b * Regeneration abilities improved:
* Fixed that regeneration shield isn't added to permanent on aura sacrifice cost (example: Stamina, Carapace, see #2221);
 * Fixed that regeneration shields accumulated in attached aura instead permanent (bug example: re-attached aura gives old shields to new permanent, see #6846);
 * Added card hint with regeneration shields amount (#6846);
2020-08-02 14:01:58 +04:00
LevelX2
516a4104f1 * Treasonous Ogre - Fixed available mana generation (#6698). 2020-08-02 11:34:19 +02:00
LevelX2
67dd45c1c7 * Added getProducableManaTypes method for mana effects to handle Squandered Resources or Reflecting Pool like abilities.
* Fixes to Soldevi Adnate, Skirge Familiar, Mana Web.
2020-08-02 10:51:22 +02:00
LevelX2
c343767e8e * Fixed available mana generation of Jungle Patrol (was no mana ability) and Priest of Yawgmoth (#6698). 2020-07-31 13:53:07 +02:00
LevelX2
06968ad921 * Fixed a problem of available mana generation caused by order of usage of mana sourced with costs (example Coal Golem and then Dromar's Attendant - related to #6698). 2020-07-30 23:37:04 +02:00
Oleg Agafonov
0824d2901a * Transform abilities - fixed duplicated triggered abilities from transformed permanents;
* Accursed Witch // Infectious Curse - fixed wrong cost modification effect (#6684);
2020-07-30 12:13:32 +04:00
LevelX2
7cfe39ae21 * Fixed that not all Equip abilities were correctly identified for abilities that changed Equip timig (e.g. Leonin Shikari - fixes #6907). 2020-07-29 16:16:47 +02:00
LevelX2
ffa837ae95 * Angel of Jubilation - Fixed that it did not only prevent life payment from casting spells or activating abilities (fixes #3663). 2020-07-29 14:48:14 +02:00
LevelX2
57de10d609 * Fixed failing M21 Tests (related to 51af4e7e1d). 2020-07-29 11:49:54 +02:00
Ingmar Goudt
51af4e7e1d new m21 tests, tests failing for Conspicuous Snoop and Chandras Magmutt. New testmethods: assertTopCardRevealed and assertAbilityCount that can check on a ability class 2020-07-28 21:22:36 +02:00
LevelX2
c1ac2ac6ae * Conduit of Ruin - Fixed a problem with the spell cost reduction not working (#6698). 2020-07-28 16:28:23 +02:00
LevelX2
0458778c44 * Fixed bug of Druids Repository (related to b5c93cf2da), 2020-07-28 13:28:24 +02:00
LevelX2
7e771a2fc3 * Changes to execute stop assert and execute assert again a single test (e.g. druidsRepositoryTest()). 2020-07-28 13:27:31 +02:00
Oleg Agafonov
3810a6230d Tests: fixed random fail (if player got Entreat the Dead on the draw) 2020-07-28 03:59:52 +04:00
LevelX2
b5c93cf2da * Fixed available mana generation of Druids Repository, Workhouse, Iceberg, Krak Clan Ironworks, Rasputin Dreamweaver and Sirk Prospector (#6698). 2020-07-28 01:03:33 +02:00
LevelX2
82a9726a35 * Fixed available mana generation of Virdian Joiner (#6698). 2020-07-27 23:50:07 +02:00
LevelX2
82dfd76ee3 * Fervent Champion - Fixed that it's possible to equip the Champion also without having the regular mana (#6698). 2020-07-27 22:27:11 +02:00
LevelX2
6e68e038b6 * Bartered Cow - Fixed that it does nothing when discarded (fixes #6884). 2020-07-27 21:47:31 +02:00
LevelX2
7d7defe2c3 * Obosh, the Preypiercer - Fixed that the damage doubling was always done (fixes #6871). 2020-07-27 16:46:52 +02:00
LevelX2
e5529d5835 * Demon's Horn - Added test (#6890). 2020-07-27 16:02:05 +02:00
LevelX2
8402c6afb1 * Norn' s Annex - Updated test. 2020-07-27 12:49:58 +02:00
dependabot[bot]
402ef6c232
Bump jaxb-runtime from 2.3.2 to 2.3.3
Bumps jaxb-runtime from 2.3.2 to 2.3.3.

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-27 06:43:58 +00:00
Ingmar Goudt
134bb63185 add m21 tests for B 2020-07-26 12:32:21 +02:00
LevelX2
7a78be8c6a * Some target pointer changes and code clean up. 2020-07-26 00:16:14 +02:00
Ingmar Goudt
142681c354 new m21 tests 2020-07-25 23:49:58 +02:00
Ingmar Goudt
ffb649b414 Merge branch 'master' of https://github.com/magefree/mage 2020-07-25 22:22:07 +02:00
Ingmar Goudt
40f73375da add comments, strictmode and assertAllCommandsUsed to m21 tests 2020-07-25 22:21:53 +02:00
LevelX2
85d18899b1 * Fixed a problem that conditional mana could not be correctly used with AsThoughEffects (fixes #6880). 2020-07-25 22:11:30 +02:00
Oleg Agafonov
3abe5e796a Server: removed unnecessary logs, extra comments 2020-07-25 19:06:38 +04:00
Oleg Agafonov
848c5b6052 Fixed missing watchers from DelayedTriggeredAbility:
* Planeswalkers Mischief - fixed rollback error on play;
* Psychic Theft - fixed rollback error on play;
2020-07-25 19:01:49 +04:00
Ingmar Goudt
41b7439403 Merge remote-tracking branch 'origin/master' into m21_test 2020-07-25 12:38:33 +02:00
Ingmar Goudt
9e7efc8da3 some m21 tests 2020-07-25 12:37:58 +02:00
Oleg Agafonov
97c427375d Fixed face down cost modification (related to 653a2dd7b2) 2020-07-24 21:30:03 +04:00
LevelX2
4d43914673 * Morselhoarder - Fixed calculation of available mana and some cleanup to other mana abilities (#6698). 2020-07-24 16:41:36 +02:00
LevelX2
98ebcc07ca * Fixed spell cost reduction for bestow not working during calculation of castable spells (#6698). 2020-07-24 16:04:52 +02:00
LevelX2
a90dbd8533 * Some minot code clean up. 2020-07-24 12:08:08 +02:00
LevelX2
653a2dd7b2 * Available mana calculation - Fixed a problem with repeatable mana converting abilities (e.g. Farrelite Priest) that were only considered once (#6698). 2020-07-24 12:06:14 +02:00
LevelX2
04176350db * Pyromancer's Gauntlet - Fixed that the effect was applied to all damage of planeswalker not only to planeswalker of the Gauntlets's controller (fixes #6877). 2020-07-23 11:52:09 +02:00
Ingmar Goudt
5dc707339e move single tests to set package 2020-07-23 08:43:23 +02:00
LevelX2
a2511cad32
Merge pull request #6388 from nivertius/satyr-firedancer-multiple-opponents
Satyr Firedancer doesn't triggers for each opponent
2020-07-22 12:52:35 +02:00
LevelX2
7f3b24365e * Essence of the Wild - Fixed the copy effect. 2020-07-21 00:20:12 +02:00
LevelX2
ba31b956dc * Meld Keyword - Fixed that the melt status was not correctly handled related to rollbacks or AI game simulation (fixes #6723). 2020-07-18 16:33:28 +02:00
LevelX2
ecc05f9535 * Fixed some corner cases for Worl Enchantment State-Based actions (704.5k). 2020-07-18 12:36:35 +02:00
LevelX2
a2ae232b43 * Fixed some corner cases for Worl Enchantment State-Based actions (704.5k). 2020-07-18 12:23:19 +02:00
LevelX2
8c4c2728d6 * Improved rollback handling of the test framework. Test metadata will no longer rollbacked by a rollback and one can now define different actions after the executed rollback. 2020-07-17 17:44:52 +02:00
LevelX2
3a82840e66 * Fixed some more available mana calculation problems. Mana of the pool is now taken into account (e.g. Coal Golem problem). Crucible of the Spirit Dragon - Conditional mana curretnly not handled correctly in available mana calculation. Crystalline Crawler works now.Related to #6698. 2020-07-16 22:37:51 +02:00
LevelX2
7ad7d5f03d * Fixed available mana generation for Caged Sun and storage lands (e.g. Calciform Pools) related to #6698. 2020-07-16 12:44:01 +02:00
LevelX2
eecaa232f5 * Fixed a problem where for copies of cards/permanent the included spell ability was not correctly copied and the copied card had the spell ability twice. That could cause in some rare cases problems with spell ids of copies (this fixes #6824) or did allow on the other side some unproper handling of things (Animate Dead). 2020-07-14 21:28:45 +02:00
LevelX2
c6c1b0ed3a * Fixed a bug that by countering a copied spell (e.g. by copied Memory Lapse), the copy could be removed from stack instead the originally countered spell (fixes #6823). 2020-07-13 11:23:36 +02:00
LevelX2
983019251e * Added test for #6823. 2020-07-13 01:23:48 +02:00
LevelX2
31163eec6d * Fixed that mana sources that produce any mana type that other sources produce (e.g. Reflecting Pool) could erroneously produce colorless mana from mana sources that could only produce any color mana (fixes #6814). 2020-07-12 08:50:56 +02:00
LevelX2
81e5650972 * Fixed calcultion of available mana for Goblin Clearcutter, Seton Krosan Protector, Urza, Lord High Artificer, Heritage Druid, Birchlore Ranger and Grand architect. 2020-07-11 16:43:38 +02:00
LevelX2
8db0c00b42 * Some comments removed. 2020-07-11 01:06:53 +02:00
LevelX2
89249888b5 * Added handling of triggered mana to available mana calculation (fixes #585). 2020-07-11 00:53:47 +02:00
Oleg Agafonov
c4f028ffa0 Prepare new release 2020-07-10 16:50:38 +04:00
Oleg Agafonov
06b6e482a0 * Exile and return to battlefield - fixed that some cards can return commander from command zone but they shouldn't (example: Cloudshift, Conjurer's Closet, see #5151, #5278); 2020-07-10 14:37:46 +04:00
Oleg Agafonov
589866c6a6 Fixed random test fail (Oath) 2020-07-10 14:34:18 +04:00
LevelX2
40b7d723ef * Some minor code clean up and a test. 2020-07-10 09:06:25 +02:00
arcox
9c7982e8f6 Update *.sh and *.java files to use Unix line endings 2020-07-09 13:07:26 -04:00
Oleg Agafonov
81452833f6
Merge pull request #6785 from aidan-coward/master
Add July 2020 Vintage Cube decklist
2020-07-07 20:08:46 +02:00
dependabot[bot]
68cf61fc92
Bump jaxb-impl from 2.3.2 to 2.3.3
Bumps jaxb-impl from 2.3.2 to 2.3.3.

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-07 08:55:35 +00:00
Oleg Agafonov
ecaa5a5b42 Eon Frolicker - fixed rollback error on play (#6780); 2020-07-07 06:32:46 +04:00
Oleg Agafonov
802aca942a Play card without mana cost - fixed that AI and other players can play cards without additional cost in some use cases (#6760); 2020-07-06 21:06:49 +04:00
Oleg Agafonov
1532daf9c4 Updated test for #6760 2020-07-06 20:33:48 +04:00
LevelX2
2f77d1d14c * Fixed that Offering ability did not work from command zone (fixes #4909). 2020-07-06 15:15:02 +02:00
Oleg Agafonov
d1ccb621a1 * Bolas's Citadel - fixed that opponent can use Bolas's play ability for own cards (#6741); 2020-07-06 15:44:31 +04:00
Oleg Agafonov
49f4e54aaa * Amplify abilities - fixed that it allows reveal itself when put onto battlefield from hand (#6776); 2020-07-06 15:29:53 +04:00
Oleg Agafonov
4168e2714a Controlled spells gain ability -- fixed that gained cost modification effects doesn't allow to cast cards without mana (example: Inspiring Statuary, see #6698); 2020-07-06 11:17:09 +04:00
Oleg Agafonov
ad2d01b46f Added tests for #6698 (Emrakul, the Promised End) 2020-07-06 10:49:57 +04:00
Aidan Coward
857c072ac1 grammar fix: freezed -> frozen 2020-07-05 18:23:16 -04:00
Oleg Agafonov
1e744a0aae Alternative cost - fixed that it doesn't allow to cast cards that was affected by cost modification effects (example: Prowl ability, see #6698); 2020-07-05 23:11:47 +04:00
Oleg Agafonov
f9a9a55f7b Cloud Key - fixed that it doesn't allow to cast cards without full mana available (#6698); 2020-07-05 19:39:05 +04:00
Oleg Agafonov
7b57865071 Benthic Explorers - fixed that it doesn't allow to cast spells with opponent's mana (#6698); 2020-07-05 06:25:07 +04:00
Oleg Agafonov
e2792881d5 Test framework: added realtime command to check tapped status (checkPermanentTapped) 2020-07-05 06:24:21 +04:00
Oleg Agafonov
69d8fd1898 Battlefield Thaumaturge - fixed that it doesn't allow to cast spells without full available mana (#6698); 2020-07-05 01:08:43 +04:00
SpikesCafe-google
8e819ee614
Add unit test demonstrating Amplify bug (#6778)
* Add unit test demonstrating Amplify bug

Recreate https://github.com/magefree/mage/issues/6776.

* Update AmplifyTest.java

* Update AmplifyTest.java
2020-07-03 22:48:58 +02:00
LevelX2
299e664191 * Kestia, the Cultivator - Fixed bestow from the Command Zone doesn't attach her to the creature you target (fixes #6763). 2020-07-03 13:17:04 +02:00
Oleg Agafonov
da4a44445b Additional fixes for #6771 (modal spells resolve order) 2020-07-03 01:46:05 +04:00
Oleg Agafonov
6dccaee9a4 Ghostfire Blade - fixed that it can't be played without full available mana (#6698); 2020-07-02 20:37:59 +04:00
Oleg Agafonov
126898f70a Added test for #4499 2020-07-02 01:25:19 +04:00
LevelX2
41abefa8e4 * Fixed spell's target still legal handling check as it begins to resolve (fixes problem of Sublime Epiphany #6646). 2020-07-01 12:57:29 +02:00
Evan Kranzler
00c5162682 fixed some Idol of Endurance bugs, updated tests 2020-06-30 19:20:59 -04:00
Oleg Agafonov
345d10ad82 Fixed annoyed random fails of ThousandYearStormTest 2020-06-30 21:15:32 +04:00
Oleg Agafonov
841692fa6c Fixed test 2020-06-30 21:01:42 +04:00
Oleg Agafonov
d99b0d7b80 Fixed annoyed random fails of ThousandYearStormTest 2020-06-30 20:56:14 +04:00
Oleg Agafonov
307cddcbee Correct param name 2020-06-30 20:46:51 +04:00
Oleg Agafonov
429df8cf77 Test framework improves for stack and skips:
* Added realtime command to show stack objects: showStack;
* Added realtime command to check stack size or stack objects amount: checkStackSize, checkStackObject;
* Allows to skip stack resolves by steps: waitStackResolved with special oneTime param;
2020-06-30 20:41:48 +04:00
Oleg Agafonov
09bc2575d8 Cost increasing effects - refactor, removed redundant custom effects (related to #6684 and #6698); 2020-06-30 08:27:29 +04:00
Evan Kranzler
e914c38986 Implemented Idol of Endurance 2020-06-29 20:05:38 -04:00
LevelX2
368faa37dd * Added test for Dream Leash. 2020-06-29 18:02:18 +02:00
LevelX2
d1e31140cc * Fixed a problem that unintended allowed to cast spells with alternate cost to cast conditions (fixes #6739). 2020-06-29 14:54:29 +02:00
Oleg Agafonov
90965802d0 Cost increasing effects - refactor, removed redundant custom effects (related to #6684 and #6698); 2020-06-29 15:39:58 +04:00
Oleg Agafonov
4bdd8910a8 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	Mage.Sets/src/mage/cards/d/DreamLeash.java
2020-06-29 13:32:26 +04:00
Oleg Agafonov
cf3feff76a Cost reduction effects - refactor, removed redundant custom effects, added card hints; 2020-06-29 13:31:02 +04:00
htrajan
ca29e61b1d
[M21] actually fix Enthralling Hold (#6746) 2020-06-29 12:41:46 +04:00
LevelX2
d2d892a7cb * Fixed that permanents under non owner control sine they are on the battlefield were no exiled if the controller left the game (e.g. Captive Audience) (fixes #5593). 2020-06-27 23:47:04 +02:00
LevelX2
2c745109e4 * Added test for Reyhan, Last of the Abzan related to (#6688). 2020-06-27 10:48:39 +02:00
LevelX2
81d0442ba1 * Added some tests for restoring objects after rollback. 2020-06-27 10:47:27 +02:00
Oleg Agafonov
520d75dba9 * Cost reduction effects - fixed that some cards with cost reduction can't be played (example: Price of Fame, see #6685, #6684); 2020-06-27 05:40:45 +04:00
LevelX2
8906f3be7b * Cloning a face-down creature should produce a plain 2/2 creature (fixes #3582). 2020-06-27 01:01:55 +02:00
LevelX2
029f47ec32 * Phage the Untouchable bug is not reproducable (closes #3693). 2020-06-26 17:50:02 +02:00
LevelX2
166d898168 * Added a test for #4659 - it's not reproducable (closes #4659). 2020-06-26 17:41:10 +02:00
Oleg Agafonov
329f7fd609 Little improves for tests 2020-06-26 18:58:13 +04:00
Oleg Agafonov
6f3a6f1adb Test for #6720 2020-06-26 14:52:32 +04:00
Evan Kranzler
785be83484
Refactoring cards that mill (WIP, do not merge) (#6713)
* added mill method

* updated mill effects to use new method

* refactored individual cards

* small updated to Grindstone and Sphinx's Tutelage

* another updated to Grindstone

* fixed a test

* fixed Countermand null check

* more refactoring

* updated dredge ability to use mill
2020-06-24 07:50:00 -04:00
LevelX2
8b5f4f28f0
Merge pull request #6693 from 18ths/force_mirrormade
#6618 - Creatures get +1/+1 when we cancel the cast of a spell.
2020-06-24 08:03:57 +02:00
LevelX2
de9ecd58bd * Added test for Trostani Descordant gain control triggerd ability. 2020-06-23 17:12:22 +02:00
LevelX2
4b14eb3724 * Delirum - Fixed wrong card type count. Added unit test for delirum (fixes #6704). 2020-06-23 10:09:37 +02:00
LevelX2
29e5230469 * Oathbreaker format - Fixed that signate spell didn't return to command zone. Added unit test for oathbreaker format (fixes #6695). 2020-06-23 09:18:40 +02:00
Oleg Agafonov
5ae041f39a Additional tests for morph and #6680 2020-06-23 09:29:38 +04:00
Oleg Agafonov
6e1da09023 * Morph ability - fixed that card with morph ability marked as playable all the time (#6680); 2020-06-23 00:59:17 +04:00
Oleg Agafonov
8667d2a923 * Special mana payments like convoke/delve - fixed that it can't be used to cast card from command zone (example: Tasigur, the Golden Fang, see #6680); 2020-06-22 20:20:33 +04:00
Oleg Agafonov
cd624b2158 * Special mana payments like convoke/delve - fixed that it can't be used to cast card from graveyard (example: Hogaak, Arisen Necropolis, see #6680); 2020-06-22 08:34:53 +04:00
18ths
028ea0e04c added test for copy anthem effect issue 2020-06-21 20:00:53 +02:00
LevelX2
ce0a941156 * Fixed spelling of test command. 2020-06-21 11:50:32 +02:00
LevelX2
313829c826 * Elite Scaleguard - Fixed not working triggered ability (fixes #6689). 2020-06-21 09:10:33 +02:00
Oleg Agafonov
3f2a5fc362 Prepare new release 2020-06-20 11:36:13 +04:00
LevelX2
1dde600cad * Added test for "Rollback doesn't unflip a newly flipped Jace." The problem is not reproducible (closes #1973). 2020-06-20 09:31:10 +02:00
LevelX2
305dab90b5 * Replaced some card.putOntoBattlefield by player.moveCard... methods (#4866). Added new player.shuffleCardsToLibrary method. 2020-06-20 08:58:29 +02:00
Oleg Agafonov
2e7d01965e * Madness ability - fixed that it ask about madness cast two times (fixes #6674); 2020-06-19 23:42:45 +04:00
Oleg Agafonov
85083a4433 * Devour abilities - fixed that it doesn't trigger simultaneous events after multiple permanents sacrifice (#6254, #6273) 2020-06-19 21:52:31 +04:00
LevelX2
c5cb7b97a7 * Added test for Ajani, Inspiring leader does not trigger Exquisite Blood + Defiant Bloodlord #6464. Not reprodicable. 2020-06-19 12:59:06 +02:00
Oleg Agafonov
d069bbd544 Code cleanup and test fixes 2020-06-19 13:24:52 +04:00
Oleg Agafonov
5fdf9607ac Added test for #5121 2020-06-19 13:23:18 +04:00
Oleg Agafonov
ce3f9e80d5 Reworked Improvise ability (#768) 2020-06-19 13:22:05 +04:00
Oleg Agafonov
56a5fd5851 Reworked Delve ability (#768) 2020-06-19 13:21:03 +04:00
Oleg Agafonov
fb1e284960 Reworked Assist ability (#768) 2020-06-19 13:20:32 +04:00
Oleg Agafonov
708b4e872a Reworked Convoke ability (#768, #6636) 2020-06-19 13:19:27 +04:00
Oleg Agafonov
10cf884923 AI and test framework improved:
* Now AI can see and use special mana payments like convoke, delve, improvise pays;
* Now devs can test special mana payments (disable auto-payment and use choices for mana pool and special pays);
* Fixed broken TargetDiscard in tests;
* Fixed broken same named targets in tests;
2020-06-19 13:16:26 +04:00
Oleg Agafonov
c2e7b02e13 Reworked and improved special mana payment abilities (convoke, delve, assist, improvise):
* now it can be used to calc and find available mana and playable abilities;
* now tests and AI can use that abilities;
* now it follows mtg's rules and restrictions for mana activation order (rule 601.2f, see #768);
2020-06-19 13:09:45 +04:00
jeffwadsworth
b84e0c03f8 - Fix test 2020-06-18 17:14:32 -05:00
LevelX2
c41fc0284d * Fixed missing check for restricting effects of activated abilities of permanents (fixes #6657). I guess that got lost by refactoring get playable abilities. 2020-06-18 22:59:42 +02:00
LevelX2
85709c0a16 * Some rework/clean up of the PlayFromNotOwnHandZone effects (fixes #6580). Some added tests. 2020-06-18 01:19:23 +02:00
LevelX2
5411e446e1 * Grip of Chaos - Fixed a problem of handling the target not correctly (fixes #6344). 2020-06-15 22:44:17 +02:00
LevelX2
df42a4695d * Added test for #6635. 2020-06-14 15:53:12 +02:00
LevelX2
f7c24e8b7f * Starfield of Nyx - Fixed that not only controlled permanents are effected. Fixed some layered effects problems (fixes #6638). 2020-06-14 12:22:30 +02:00
Oleg Agafonov
b5f45f395f Tests: improved showCardInfo to show texts from multiple card names 2020-06-14 04:32:10 +04:00
18ths
1e0ffe95e8
fixed #1219 - Cavern of Souls and Boseiju, Who Shelters All preventing counterspells even after permanent was bounced (#6634) 2020-06-12 23:13:42 +04:00
LevelX2
fe8a334ffe * Added test for #6291 Unlicensed Disintigration. 2020-06-12 15:48:41 +02:00
Evan Kranzler
63851b73a1
Updated commander zone change rules (ready for review) (#6620)
* updated commander zone change rules

* moved commander tracking into game state

* fixed a zone change error

* fixed some more tests for new commander rule

* updated variable names

* updated a test name
2020-06-12 07:42:36 -04:00
Oleg Agafonov
8902fb1002 Added and fixed tests for Meddling Mage from #6570 2020-06-12 10:15:55 +04:00
18ths
e68a20c5fb
fixed and refactored balance effect (#6595)
* fixed and refactored balance effect

* inversed logic in balance effect - now players choose cards to keep instead to sacrifice/discard
2020-06-12 01:19:45 +04:00
Evan Kranzler
36b31d097e reinstated new mill wording 2020-06-10 22:38:59 -04:00
LevelX2
94c8b7a558 * Some comment formatting. 2020-06-10 22:37:47 +02:00
LevelX2
1e36b39434 - Reworked SourceOnBattlefieldControlUnchangedCondition checking now the LOST_CONTROL event which solves the problem with the old code to not be able to detect all controller changes of layered changeController effects when applied later.
- Simplified and fixed some problems of the handling of the "Until end of your next turn" duration.
- Fixed that some continous effects changed controller but shouldn't dependant from their duration type. Controller chnage will now done duration type dependant.
  (that change fixes #6581 in a more general way undoing the effect specific changes of 2e8ece1dbd).
2020-06-10 22:28:23 +02:00
LevelX2
25802dc105 * Updated some failing tests with old text after fix of 5a17b9665e. 2020-06-10 22:08:51 +02:00
LevelX2
5c65ee31d9 * Mirari - Fixed that the triggering spell was not copied (fixes #6338). 2020-06-10 10:17:55 +02:00
Oleg Agafonov
a75d08283f * Split cards - added spliced effects support for fused spells, no more double splice pays (#6493, #6549); 2020-06-10 09:58:21 +04:00
Oleg Agafonov
b38ac2f575 * Split cards - added cost modification effects support for fused spells (#227, #2242, #6603, #6549); 2020-06-10 08:28:18 +04:00
LevelX2
eb846c0499 * Added ID name instead of only the name to the replacement effect selector list. Otherwise you can't identify the related source if you have multiple sources with the same name (related #6298). 2020-06-09 16:37:42 +02:00
LevelX2
9483bf2ba3 * Added test for #6344. Problem not reproducable (closes #6344). 2020-06-09 12:48:28 +02:00
johnmeat
3119e7e78c
Fixed Unlicensed Disintegration damage part (#6614)
* Damage to creature's controller abilities -- fixed that damage part can be skipped if that creature died/destroyed (example: Unlicensed Disintegration, see #6614)

Co-authored-by: johnm <johnm@WINDOWS-QR5QIIL.lan>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2020-06-09 05:51:58 +04:00
LevelX2
0bdbd36d2d * Added test from #6349. 2020-06-08 17:16:12 +02:00
Evan Kranzler
64625654f4 fixed another test failure 2020-06-07 19:37:41 -04:00
Evan Kranzler
3b125def9c one more test fix 2020-06-07 15:17:28 -04:00
Evan Kranzler
a6a9160139 fixed a fix 2020-06-07 15:08:22 -04:00
Evan Kranzler
47ccb6d07b fixed some test failures 2020-06-07 14:57:56 -04:00
Oleg Agafonov
ecac9295ec Additional card fixed for named abilities support, also added face down spells support (see #6569); 2020-06-05 01:13:17 +04:00
Oleg Agafonov
4b77cb0fa8 * Name card abilities - fixed that it can't find split cards or fused spells with entered name (part of #6603, #6549); 2020-06-05 00:06:57 +04:00
Oleg Agafonov
e95ae2675b Fixed different ZCC in split card's parts (flashback fix, see 95075cf33e);
Improve moveToZone code and fixed some cards with wrong commands queue (e.g. directly removes card from zone and then calls moveToZone again);
2020-06-04 23:47:50 +04:00
LevelX2
7594c4144c * Ignoring failing test again. 2020-06-04 12:25:16 +02:00
LevelX2
d4dbf33d19 * Some minor code changes. 2020-06-04 10:57:36 +02:00
Oleg Agafonov
95075cf33e Additional fix flashback and split cards (see cce467a5ec) 2020-06-04 11:34:59 +04:00
Oleg Agafonov
cce467a5ec Additional fix and simplified for playable abilities (see comments b94344341b) 2020-06-04 03:21:18 +04:00
LevelX2
bd40d90286
Merge pull request #6590 from 18ths/world_rule_range_of_influence
fixed world rule with range of influence
2020-06-03 22:39:56 +02:00
LevelX2
75d0926f4b * Some minor changes. 2020-06-03 18:06:03 +02:00
LevelX2
238152d6c4 Merge origin/master 2020-06-03 15:08:42 +02:00
LevelX2
07386cce8d * Shifting Shadows - Fixed not proper handling of gained triggered abilities during step resolution of Shifting Shadows effect (fixes #6571). 2020-06-03 15:07:52 +02:00
Oleg Agafonov
b94344341b Improved playable abilities and split cards:
* Now human player uses same code for playable abilities search as test framework (old version used different code, so it could not work in one of the modes);
* Split cards - improves playable highlights;
* Split cards - fixed that it doesn't work with dynamic added abilities like flashback (#6327, #6470, #6549);
2020-06-03 12:44:58 +04:00
Oleg Agafonov
121dc3501e * Split cards - fixed not working combo with suspend/delay abilities (#946, #6549); 2020-06-01 09:41:48 +04:00
Oleg Agafonov
e7684e4bba Test framework improves:
* added command to check graveyard count command;
* added wrong cast/activate command auto-checks in strict mode;
2020-06-01 09:37:17 +04:00
18ths
d5c46816be fixed world rule with range of influence 2020-05-30 21:52:22 +02:00
LevelX2
3333cf3287 * Added test for #6581. 2020-05-29 16:59:56 +02:00
LevelX2
32ce1d85e9 * Fix of some problems of zone change related triggered abilities that had not been correctly implemented (fixes #6586). 2020-05-29 14:41:24 +02:00
Oleg Agafonov
d63a3e88ce Ability refactor: fixed broken effects timestamp in some use cases 2020-05-28 23:07:36 +04:00
Oleg Agafonov
f3f1c29926 Ability refactor: face down; 2020-05-28 23:02:20 +04:00
Oleg Agafonov
eea808d2d6 Ability refactor: source improves, deprecated code removed; 2020-05-28 22:38:31 +04:00
Oleg Agafonov
8af43dc13a Ability refactor: new code to search abilities in cards and permanents; 2020-05-28 22:34:27 +04:00
LevelX2
e1c96efa1e * Fixed a problem with selecting cards from other players hand, failing because canTarget check with wrong player id. Changed/simplified canTarget method of TargetCardInHand to solve that problem. (#6532 Gruesome Discovery and Distended Mindbender and probably other changed made with 75577cdbe9). 2020-05-27 13:59:16 +02:00
LevelX2
3aefbfb360 * Fixed problems with win / lose restrictions in relation to empty draw condition (fixes #1681 #6553). 2020-05-26 16:38:01 +02:00
LevelX2
d2b8928e60 * Fixed a bug that the win method for a player did not handle the range correctly and did erroneously end the game while still multiple players alive (related to #6553). 2020-05-25 18:09:28 +02:00
Oleg Agafonov
abda99e203 Fixed that fused cards allows to cast from graveyard (see prev commit 63dbf5f40b); 2020-05-24 09:21:49 +04:00
Oleg Agafonov
63dbf5f40b * Split cards improves:
* Fixed that fused spells can't be played from non hand zone;
 * Fixed double choose spell dialog (#5506, #6549);
2020-05-19 01:30:46 +04:00
Oleg Agafonov
0c2e08f54e * UI: choose spell to cast dialog - added card name for spell abilities (split, adventure, additional spell, etc, see #6549); 2020-05-18 06:46:39 +04:00
emerald000
a904b7c890 Fix StubPlayer handling of London mulligans and fix related tests. 2020-05-05 23:15:45 -04:00
Evan Kranzler
75577cdbe9
Added new method for discarding cards to handle batch triggers (ready for review) (#6489)
* added new discard method

* started refactoring to use new discard method

* refactored A through I

* fixed some issues

* separated balance effect into its own class

* refactored J through R

* refactored S through Z

* applied requested changes
2020-05-03 14:35:26 -04:00
SpeedProg
724287360c Multiplayer test and fix for Angel of Serenity leaves battlefied trigger when controlled by other then owner and owner leaves game 2020-05-03 11:20:48 +02:00
Evan Kranzler
4e8d423bca added more Ashling the Pilgrim tests 2020-04-28 19:09:05 -04:00
Evan Kranzler
4d1f37d0fe reworked implementation of Ashling the Pilgrim and similar cards, added a test 2020-04-27 18:33:57 -04:00
Evan Kranzler
7f32ea0be2
Updated implementation of Hexproof abilities (#6451)
* updated implementation of hexproof abilities

* added hexproof from color test

* updated generic in AbilityPredicate
2020-04-23 20:01:13 -04:00
Evan Kranzler
214765ddd8 added a test for The Ozolith 2020-04-21 18:58:58 -04:00
Oleg Agafonov
ccd95cdd71 * Boost effects - fixed wrong text for zero values (-0/-1, -1/-0, etc); 2020-04-19 22:27:03 +04:00
Oleg Agafonov
fa75a89946 Fixed tests 2020-04-18 17:10:15 +04:00
htrajan
1dc305f329 -setStrictChooseMode and assertAllCommandsUsed in every test
-store filter info in GameState
-put instead of putIfAbsent
2020-04-16 19:21:54 -07:00
htrajan
7c4d86f583 add author tag 2020-04-16 18:11:56 -07:00
htrajan
92d6326316 finish 2020-04-16 17:50:17 -07:00
htrajan
a08bd34582 Merge branch 'master' into implement-zilortha
# Conflicts:
#	Mage/src/main/java/mage/game/GameImpl.java
2020-04-16 15:55:24 -07:00
htrajan
cab436e9e5 wip 2020-04-16 15:53:51 -07:00
Evan Kranzler
916ff26070 Update UnpredictableCycloneTest.java 2020-04-16 08:15:52 -04:00
Evan Kranzler
378dfbf89a
Updated implementation of Unpredictable Cyclone (#6423)
* updated implementation of Unpredictable Cyclone, refactored drawCard method

* fixed another small implementation error

* added test for Unpredictable Cyclone

* updated Unpredictable Cyclone test
2020-04-16 08:04:21 -04:00
Oleg Agafonov
10348faaec Fixed missing serialization settings (#6420); 2020-04-16 09:17:41 +04:00
Oleg Agafonov
79c5c7a6a5 Test framework improves (Monte Carlo AI):
* Added support to test Monte Carlo AI (CardTestPlayerBaseWithMonteCarloAIHelps - any aiXXX commands);
* Added Quick Start button to test Monte Carlo AI games (MCTS);
2020-04-14 20:09:36 +04:00
Oleg Agafonov
a7ac35a82d Test framework improves:
* Added AI commands support to play attacker and blocker steps;
* Fixed double triggers of blocker declared event (if block command used with block requirement effect);
2020-04-14 20:05:25 +04:00
Paweł Płazieński
64b979b0d7 Satyr Firedancer triggers for each opponent
Satyr Firedancer should trigger multiple times when single Instant or
Sorcery deals damage to multiple opponents, once for each opponent.
Cards like Price of Progress currently triggered first time for first
opponent in turn order, but not for others.

This commit changes how the ability handles multiple damage by single
source: single spell can trigger multiple times of a single stack
object, because it can represent multiple instances of damage.
2020-04-01 22:28:46 +02:00
Thomas Hess
7219d51572
Removed 6th Edition cards from Starter 2000 set.
These are indistinguishable from regular 6ED cards and not listed on Scryfall.
2020-03-24 17:32:08 +01:00
Thomas Hess
da98ac82ed
Aligned Guru Set code with Scryfall (GUR → PGRU). 2020-03-24 17:32:06 +01:00
Thomas Hess
2e08c1a9c4
Test for NULL values in test_CreateRandomDeck().
Sometimes, building a random deck fails and returns NULL.
Properly handle this case by adding some assert statements that
verify that a Deck instance is actually returned, before checking the cards.
Prevents NPEs during test runs.
2020-03-24 17:32:06 +01:00
Thomas Hess
529552dd2c
Fixed set codes for the Duel Deck Anthology deck sets.
The decks now use the set codes from Scryfall.
2020-03-24 17:32:06 +01:00
Thomas Hess
6297650c3b
Split the Judge Gift Cards set (JP) into the individual sets as listed on Scryfall.
- Removed the JP set.
- Added G02-G11, J12-J20
- Fixed all usages in the test code
- Updated the sample decks that used these cards.
  The deck lists now contain the updated references.
- Added all Judge Gift sets to the "bling" sets list
2020-03-24 17:31:54 +01:00
Thomas Hess
12d1bd4bb4
Split the cummulative Friday Night Magic set into the individual sets.
- Removed set FNMP
- Added sets F00 - F17 (F18 does not contain cards, only tokens)
2020-03-19 11:09:48 +01:00
Thomas Hess
e39a9706bc
Fix booster generation issues with Mystery Booster set.
- Split the foil sheet into a separate set as listed on Scryfall.
- Added unit test cases that verify booster generation.
2020-03-19 11:09:45 +01:00
Thomas Hess
6fd8b0a80b
Fix booster generation issues with Mystery Booster set.
- Split the foil sheet into a separate set as listed on Scryfall.
- Added unit test cases that verify booster generation.
2020-03-18 14:51:52 +01:00
Oleg Agafonov
2b78ec745c * Mind's Desire - fixed that it doesn't work with split cards (#6337); 2020-03-12 04:07:17 +04:00
Oleg Agafonov
a20bca1b21 Test framework: fixed ai play commands, added more tests 2020-03-12 02:05:06 +04:00
Oleg Agafonov
14ddb6eb28 * AI: fixed wrong targeting for gain control abilities (#6340); 2020-03-11 18:22:58 +04:00
Oleg Agafonov
86f6d39f5a * AI: fixed rollback errors on play cards with target stack (Diplomatic Escort, Not of This World, etc); 2020-03-09 13:49:07 +04:00
Oleg Agafonov
a6ab40dc57 Test framework: added strict mode support for full simulation commands (aiXXX); 2020-03-09 12:34:05 +04:00
Oleg Agafonov
70bf13359a Test framework: improved alias support:
* added alias support in castSpell command;
* added alias support in activateAbility command (example: `@ref ability text from ref card`);
* added alias support in activateMana command;
* added alias support in some assertXXX commands;
2020-03-09 05:49:03 +04:00
Oleg Agafonov
cb8d4dc340 * Non creature tokens - fixed rollback errors in AI games (example: Food token, see #6331);
Fixed other potentially NPE errors with rarity;
2020-03-06 03:27:46 +04:00
Oleg Agafonov
2e73f9d1c5 * UI: added turn number and step info in game logs 2020-02-28 20:27:07 +04:00
Oleg Agafonov
169d9bf761 * Non basic mana abilities - fixed rollback errors in AI games (#6300); 2020-02-25 12:41:45 +04:00
Oleg Agafonov
b5acf64772 * Monohybrid mana cost improves:
* fixed wrong manually pay by mana pool (it pays generic cost instead colored part of monohybrid);
 * fixed not working cost reduction effects (now monohybrid cost will be reduced correctly with some limitation, see #6130);
2020-02-11 22:33:32 +04:00
Oleg Agafonov
13ad86cb21 Test framework improves:
* added aliases support to many assertXXX commands (check objects by alias/GUID instead card name);
 * added mode to test/simulate human's mana pool usage without auto-payment (enable it by command disableManaAutoPayment, fill mana pool by activateManaAbility and simulate clicks on mana icon by setChoice);
 * improves activateManaAbility command (you can activate it multiple times by one command);
 * improves setChoice command (you can activate it multiple times by one command);
2020-02-11 20:04:19 +04:00
Samuel Sandeen
d56f6b991b
Fix Sevinne's Reclamation. (#6275)
This also handles the rather unique case caused by Sevinne's Reclamation where the original spell resolves before the copy of it.
Also fixes a couple typos.
2020-02-10 08:18:12 -05:00
Ingmar Goudt
ae7919cd07 program towards Interface rather than implementations 2020-02-10 10:40:06 +01:00
Oleg Agafonov
b04c436801 Merge pull request #6274 from Dilnu/Rider
Check zone change counters in PutOnLibrarySourceEffect
2020-02-09 19:49:29 +01:00
dilnu
847df3eeb8 Check zone change counters in PutOnLibrarySourceEffect 2020-02-09 11:56:13 -05:00
Oleg Agafonov
db2a556fca Additional comments and tests for #6268 2020-02-09 07:52:24 +04:00
Samuel Sandeen
29ce4b1ad4
Fix Lifelink so it triggers per source instead of per recipient in combat. (#6272)
* Fix Lifelink so it triggers once per source instead of once per recipient in combat.

* Undo an import collapse.

* Add more tests for lifelink.
2020-02-08 20:31:50 -06:00
Samuel Sandeen
51424b1460 Fix Irencrag Feat's spell casting effect. (#6268)
* Create a test for Irencrag Feat to ensure it functions correctly.

* Fix Irencrag Feat so it works correctly.
2020-02-08 18:28:10 -06:00
dilnu
78d45e16ad Create a test to verify Grim Haruspex's ability.
See https://github.com/magefree/mage/issues/6214
2020-02-08 16:11:04 -05:00
Oleg Agafonov
6674ca5d20
Merge pull request #6251 from Dilnu/Bonecrusher
Only fire one TARGETTED event per target selected while changing targets.
2020-02-08 16:31:04 +01:00
jeffwadsworth
7cbf999e9b - Fixed Starfield of Nyx test. 2020-02-07 10:22:15 -06:00
dilnu
6d005bae1d Add tests by JayDi85 and fix TestPlayer's Targetting code so it triggers Targetted Events. 2020-02-06 18:55:33 -05:00
jeffwadsworth
d6c2f031d0 - Fixed #6236 2020-02-06 17:47:08 -06:00
dilnu
fc46c0b288 Turn on strict mode for the test and Add documentation for the cards in the test. 2020-02-03 18:01:36 -05:00
Oleg Agafonov
78a9279438 Improved test for #6244 2020-02-04 02:22:26 +04:00