Oleg Agafonov
81e0cc6403
Merge pull request #7158 from fburato/app-wiring-refactor
...
Application wiring refactor and externalise configuration path for server
2020-12-26 07:42:46 +01:00
Oleg Agafonov
a307e5934f
Improved some source related filters in effects:
...
* Fixed that some cards ignore range of influence or source related filters;
* Improved ChosenSubtypePredicate to work with gain abilities;
2020-12-25 19:06:36 +04:00
Oleg Agafonov
6f34d514f9
* Archelos, Lagoon Mystic - fixed broken ETB effect ( #7283 );
2020-12-24 20:24:42 +04:00
Oleg Agafonov
64e948e4b3
* AI: improved game performance by x10 for cards with target amount;
...
AI: added targeting name and amount info to simulation logs;
AI: removed duplicated target variations from target amount simulations;
2020-12-24 15:02:28 +04:00
Ingmar Goudt
f0dea44773
small Negan fix
2020-12-23 21:38:42 +01:00
LevelX2
2ce90b1e0a
* Fixed that the dies trigger of Ashen Rider also triggers if Ashen Rider is copied by other creatures (e.g. Volrath the Shapestealer) ( fixes #7107 ).
2020-12-23 18:02:00 +01:00
Oleg Agafonov
10cf9c4a4e
* Genesis Ultimatum - fixed rollback error on usage with modal double faces cards ( #7275 );
2020-12-23 09:15:04 +04:00
Oleg Agafonov
796c8fb22e
Tests: added Inferno Titan AI tests, related to #6330 ;
2020-12-23 02:51:52 +04:00
Oleg Agafonov
255c292104
* Deals damage divided as you choose - fixed that some cards can't choose planeswalkers (example: Arc Lightning, see #7276 );
...
Refactor: simplified FilterCreaturePlayerOrPlaneswalker to use single permanent filter;
2020-12-23 02:31:41 +04:00
Oleg Agafonov
347a3b1e1a
* Jeweled Lotus - fixed that mana can't be used to cast commanders without normal mana ( #7272 );
2020-12-22 23:22:41 +04:00
LevelX2
29184316f2
* Cumulative Upkeep - Fixed that a permanent with CU was wrongly sacrificed if the control of the permanent has changed since CU begin of upkeep trigger was put on the stack. Added tests for CU.
2020-12-21 14:36:22 +01:00
Oleg Agafonov
cc5fce4256
Prepare new release
2020-12-19 23:59:44 +04:00
Oleg Agafonov
a1ed8e01b3
[CMR] fixed Eligeth, Crossroads Augur - wrong event type for replacement effect ( #7234 );
2020-12-19 18:45:49 +04:00
Oleg Agafonov
a50f3c5416
Tests: added Hans Eriksson's play tests, related to #7234 ;
2020-12-19 18:35:02 +04:00
Oleg Agafonov
9f67765e2d
[CMR] fixed Armix, Filigree Thrasher - not working card, missing target ( #7234 );
2020-12-19 18:18:47 +04:00
Oleg Agafonov
1b830032ac
* Militant Angel - fixed rollback error on usage ( #7239 );
2020-12-19 04:48:55 +04:00
Oleg Agafonov
3cccad2138
Test framework: added dynamic code support in unit tests (command: runCode - use it same way as real time checks);
2020-12-19 04:46:19 +04:00
Oleg Agafonov
384ff2e7ac
* Gain cost modification abilities - fixed that commanders can't be played without full mana (example: gained Affinity by Mycosynth Golem, gained Convoke by Chief Engineer, see #7249 #7171 , #6698 );
2020-12-18 18:33:44 +04:00
Oleg Agafonov
53c5abea14
Added additional test for #7251 ;
...
Added last error info in too many errors game message;
2020-12-18 16:46:05 +04:00
Oleg Agafonov
c13d07b73d
[CMR] fixed Rakshasa Debaser - class cast exception in filter on usage;
2020-12-18 15:54:59 +04:00
LevelX2
d39575c24e
* Fixed bug in DamagedBatchEvent ( fixes #7241 ). Fixed some spelling in test classes.
2020-12-17 17:39:17 +01:00
Oleg Agafonov
3f44d9eef3
* Exile card and return it from exile - fixed rollback error on commander creature exile ( #7250 );
...
[CMR] fixed PromiseOfTomorrow - not working ability;
2020-12-17 10:07:15 +04:00
Oleg Agafonov
926f5f0621
* Copy spell for each other permanents that it could target - fixed that AI can freeze the game, fixed wrong highlighting;
2020-12-17 06:37:41 +04:00
Oleg Agafonov
f8206df3ba
[CMR] fixed Sphinx of the Second Sun - wrong extra phase and server freeze on usage;
2020-12-16 04:17:03 +04:00
Oleg Agafonov
ac7910159e
Tests: added game stats table after load testing finished;
2020-12-16 01:32:24 +04:00
Oleg Agafonov
0c2c33e940
* Kicker abilities - fixed that some cards don't see kicked status of multikicker spells (example: Hallar, the Firefletcher, #4895 );
2020-12-15 21:23:09 +04:00
Oleg Agafonov
4d362d7edc
* Copy spells - improved combo support with other abilities like Kicker or Entwine ( #7192 ):
...
* Now ZCC of copied spells syncs with source card or coping spell (allows to keep ability settings that depends on ZCC);
* Fixed bug that allows to lost kicked status in copied spells after counter the original spell or moves the original card (see #7192 );
* Test framework: improved support of targeting copy or non copy spells on stack;
2020-12-15 20:06:53 +04:00
Oleg Agafonov
936be75a66
Tests: added test for Krark, the Thumbless ( #7198 )
2020-12-14 22:40:12 +04:00
Oleg Agafonov
c1dfbbda63
Test framework: added support for flip coin tests (command: setFlipCoinResult);
2020-12-14 03:00:38 +04:00
Oleg Agafonov
fde24f349f
* Modal Double Faces cards - fixed that it can be returned to battlefield as second side instead the main side only ( #7212 );
2020-12-14 00:57:30 +04:00
Oleg Agafonov
35f5a8257b
Refactor: replaced sourceId by source and introduced source param in some methods (part 2);
2020-12-13 02:01:49 +04:00
Oleg Agafonov
db239a1055
Refactor: replaced sourceId by source and introduced source param in some methods;
2020-12-12 20:23:19 +04:00
Oleg Agafonov
c548b3fd1d
[CMR] fixed Hellkite Courser - missing command zone support in target ( #7198 );
2020-11-28 23:14:24 +04:00
Oleg Agafonov
2b78388eab
[CMR] fixed Akroma's Will - missing copy of new condition in modes ( #7210 );
...
Improved compatibility of new modes condition with choose dialogs and test framework;
2020-11-28 19:49:16 +04:00
Oleg Agafonov
64821a50d3
[CMR] fixed Akroma, Vision of Ixidor - missing target in effect ( #7209 );
2020-11-28 14:22:38 +04:00
Oleg Agafonov
c2a636e2b2
[CMR] implemented Opposition Agent and other changes:
...
* You may play cards and you may spend mana of any color - refactored cards to use same code;
* Library search event allows to change searching controller (gives full game control for another player);
* Library searched event allows to remove founded cards from result;
* Improved library searching effects with Panglacial Wurm's effects;
* Little changes to test framework;
2020-11-24 23:49:19 +04:00
LevelX2
13fa98ec44
* Added missing check for damage prevention by protection for planeswalkers ( fixes #7194 ).
2020-11-24 17:33:03 +01:00
LevelX2
137070d523
* Chorus of the Conclave - Fixed a problem with game copy logic (related to rollback and AI) ( fixed #7195 ).
2020-11-24 16:07:53 +01:00
Oleg Agafonov
c1e7a08c68
* Modal Double Faces cards - fixed that a second side can't be played from non hand zones in some cases ( #7200 );
...
Play lands from graveyard effect - reworked as AsThoughEffect;
2020-11-23 02:30:54 +04:00
Oleg Agafonov
24e2728fca
* Double lands - fixed duplicated choices in choose dialog ( #7197 );
2020-11-21 12:44:23 +04:00
Oleg Agafonov
aeb2d31d47
[CMR] fixed Gilanra, Caller of Wirewood - duplicated triggers on unused mana ( #7191 );
2020-11-20 12:53:13 +04:00
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