Oleg Agafonov
098796f86e
* Commander: fixed that non hand abilities are castable from command zone (example: Escape, Jumpstart, see #7632 );
2021-03-01 01:14:00 +04:00
Evan Kranzler
6091c7eae3
fixed trample and deathtouch not working when deathtouch is gained by an outside source ( fixes #7633 )
2021-02-28 09:34:09 -05:00
Evan Kranzler
2daf1945e7
[RTR] reworked Nivmagus Elemental and added test
2021-02-27 15:35:04 -05:00
Oleg Agafonov
9d72dad674
[ZNE] added images download
2021-02-27 22:16:19 +04:00
Oleg Agafonov
0d885af05e
Tests: fixed random fails;
2021-02-27 20:36:06 +04:00
Oleg Agafonov
dda69cd009
* AI: improved support of "as though mana" abilities (now computer can choose correct mana ability to pay, example: Draugr Necromancer);
...
* Dev: added card's LKI support of multi part cards (mdf/split/adventure);
* Dev: improved support of adding/removing counters from mdf cards;
* Draugr Necromancer - fixed support of mdf/split/adventure cards (#7620 );
2021-02-27 20:14:12 +04:00
Daniel Bomar
73f594583f
[KHM] Fixed Draugr Necromancer being unable to cast Adventures
2021-02-26 16:10:46 -06:00
Daniel Bomar
27c0f75302
Fixed Archfiend's Vessel not moving to exile ( fixes #7622 )
2021-02-25 16:39:20 -06:00
Evan Kranzler
c01e1cd133
[LEA] added test for Forcefield
2021-02-24 20:55:22 -05:00
Evan Kranzler
f5f7638216
[KHM] updated Draugr Necromancer, added test ( #7620 )
2021-02-23 19:11:21 -05:00
Evan Kranzler
bac2585d83
[KHM] fixed Draugr Necromancer not allowing snow mana to be used for exiled cards
2021-02-23 13:47:23 -05:00
Evan Kranzler
683d5e7c25
[KHM] added new test for Maskwood Nexus
2021-02-23 12:25:08 -05:00
Evan Kranzler
0a68507ef0
reenabled/removed/fixed some ignored tests
2021-02-23 10:37:17 -05:00
Evan Kranzler
2ffa719278
fixed issue with Kruphix, God of Horizons and Horizon Stone causing endless replacement effect loop
2021-02-23 08:41:54 -05:00
Evan Kranzler
5390963d38
Fix handling of damage to permanents (WIP) ( #7592 )
...
* initial refactor of damage events
* cleaned up some instances of classes that need to be removed
* removed old damage event classes
* removed outdated imports
* temporarily refactor Everlasting Torment (this will need to be changed more)
* updated damage handling to use new changes
* some reworking of lethal/excess damage plus a test
* updated damage marking to handle planeswalkers
* updated implementation of Phyrexian Unlife
* updated implementation of Everlasting Torment
* added some more excess damage tests
* small change to wither check
2021-02-22 17:11:24 -05:00
Oleg Agafonov
39f6b69391
Merge pull request #7584 from weirddan455/cascade
...
Implemented updated Cascade ruling 702.84a
2021-02-22 23:03:56 +01:00
Oleg Agafonov
91f4d78992
Changes related to Cascade ability ( #7583 ):
...
* Cascade: added correct spell ability choose for forced cast of mdf and adventure cards (can contains one or both sides);
* Cascade: added tests from latest oracle changes;
* AI: improved spell ability choose for forced cast (example: cast target card without mana cost);
* GUI: improved spell ability choose for forced cast (now you can see only castable spells to choose);
* Other: fixed wrong PlayFromNotOwnHandZone in some cards, fixed NPE;
2021-02-23 02:00:38 +04:00
Evan Kranzler
bd3777997e
updated various cards to improve how they handle exiling with info ( #7615 )
2021-02-22 15:26:58 -05:00
Daniel Bomar
bb0a995541
Tibalt, Cosmic Impostor - fixed that emblem can't cast not owned cards ( #7598 )
...
* Fixed ability.canChooseTarget not using correct playerId
* Fixed Necrotic Plague
* Revert "Fixed Necrotic Plague"
This reverts commit 7659039670293ce1ea428dad042511d9d75f9da6.
* Set target controller on Necrotic Plague and add check in canChooseTarget
* Add test for Tibalt + Ephemerate interaction
* Tests improved
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-02-22 23:06:43 +04:00
Oleg Agafonov
4050577d6b
Tests: added tests for Moritte of the Frost (related to #7546 );
2021-02-22 21:55:17 +04:00
Oleg Agafonov
2accab79c5
* Spark Double - fixed duplicated counters on copying of another Spark Double ( #7553 );
2021-02-22 21:22:31 +04:00
Oleg Agafonov
f6c0f4c712
* Geode Golem - fixed duplicated commander tax on damage trigger ( #7593 );
2021-02-22 16:11:13 +04:00
Oleg Agafonov
650acf9e1e
Test framework: fixed support of chooseAbilityForCast for commanders, added destroy target custom effect ( #7593 );
2021-02-22 16:05:48 +04:00
Oleg Agafonov
a377999f57
* Desertion - fixed rollback error on fizzled counter spell ( #7613 );
2021-02-22 08:51:07 +04:00
Oleg Agafonov
b6cb5cef9c
Refactor: removed default comment headers
2021-02-21 08:15:16 +04:00
Oleg Agafonov
d343511d73
* Elsha of the Infinite - fixed that it gives flash ability to cards in the hand instead library's top card ( closes #7605 );
2021-02-21 07:43:29 +04:00
Oleg Agafonov
48e9cc3e07
PlayTheTopCard improves: added correct usage check, fixed outdated rule texts, Bolas's Citadel simplified (related to #7605 );
2021-02-21 05:48:09 +04:00
Evan Kranzler
a8bda04daf
[GTC] updated implementation of Bane Alley Broker
2021-02-19 14:47:47 -05:00
Evan Kranzler
4db47adc19
[LRW] added back previously failing test for Aquitect's Will
2021-02-19 08:29:38 -05:00
Evan Kranzler
8dde735851
fixed an issue with modular keyword and LKI
2021-02-18 13:35:49 -05:00
Evan Kranzler
440adfa18b
fixed The Ozolith test (it wasn't actually failing)
2021-02-18 13:29:06 -05:00
Evan Kranzler
9426da5ad3
[LRW] added test for Aquitect's Will (partially fails) ( #7597 )
2021-02-18 09:16:30 -05:00
Evan Kranzler
57dfba99b7
added a failing test for planeswalker damage
2021-02-16 10:23:20 -05:00
Evan Kranzler
8a16eda062
Implement new way to generate boosters using box mapping info (WIP) ( #7529 )
...
* [THB] added initial common/uncommon collation mechanism
* [THB] added rare/mythic and lands to pack generation
* fixed some card names
* broke out collation into its own separate classes
* built collation into ExpansionSet
* added note about collation information
* [KHM] added collation info
* updated collation to use collector number rather than name
* added shuffle to set constructor
* added some notes on collation methods
2021-02-12 17:35:28 -05:00
Oleg Agafonov
10e557b873
* Performance: memory usage optimization for deck editor (part 2 of removed bloated usage of ManaCosts -> ManaColor objects, see #7515 );
2021-02-12 22:12:18 +04:00
Evan Kranzler
21ef775700
[ZNR] updated booster generation and added test
2021-02-08 18:22:55 -05:00
Evan Kranzler
a90e9923f5
[KHM] fixed issues with booster collation, added test ( fixes #7521 )
2021-02-08 14:04:10 -05:00
Oleg Agafonov
cf216c6802
Prepare new release
2021-02-07 22:24:40 +04:00
Oleg Agafonov
9b8df48183
Improved commander support for mdf/split/adventure cards (additional fixes for ac98a3a31a
)
2021-02-06 17:07:10 +04:00
Oleg Agafonov
f692a1f097
* Choice of Damnations - improved AI support, fixed rollback error in AI games;
...
* Pain's Reward - improved AI support, fixed rollback error in AI games;
* Volcano Hellion - improved AI support, fixed rollback error in AI games;
2021-02-06 12:48:53 +04:00
Oleg Agafonov
ac98a3a31a
* Commander: fixed duplicated triggers after play (example: Esika, God of the Tree, see #7501 , #7503 , #7505 );
2021-02-06 10:51:41 +04:00
Oleg Agafonov
dc0a29007c
Commanders improves:
...
* [KHM] fixed that some effects can't find mdf commanders on battlefield (example: Fierce Guardianship, #7504 );
* Oathbreaker: fixed that some cards that refer to commander can affects signature spells too;
2021-02-05 17:19:30 +04:00
Daniel Bomar
cd9c57fead
[KHM] Dream Devourer - Fixed being unable to cast foretold MDFCs, split cards, and adventure cards ( #7498 )
...
* [KHM] Dream Devourer - Fixed being unable to cast foretold MDFCs, split cards, and adventure cards
* [KHM] Dream Devourer - Fixed mana costs and added check for MDFC lands
* [KHM] ForetellAbility - Add text when selecting which half of split card to cast
* Updated test for Dream Devourer
2021-02-04 16:27:51 -06:00
Oleg Agafonov
0de71e0348
* Flashback ability - fixed that split cards shows duplicated abilities in choose dialog ( #7500 );
2021-02-04 21:55:56 +04:00
Evan Kranzler
bc99de1a48
[KHM] fixed Frostpyre Arcanist being used incorrectly by AI ( #7488 )
2021-02-04 10:50:10 -05:00
Oleg Agafonov
f38639e1db
Token's zone change counter (ZCC) improves:
...
* Now token's zcc uses same logic as card's zcc: enters to battlefield with +1 zcc instead +0 zcc
* It can improve support of copied spells that store zcc related data (bug example: lost kicked status for copied spell/token);
* Kicker abilities - improved support with copied creature spells (example: Verazol, the Split Current, #7431 , #7433 );
* Refactor: simplified kicker code;
2021-02-04 19:15:54 +04:00
Oleg Agafonov
4b9de96a6b
Test framework: added support to put mdf cards on battlefield by cheats or unit tests;
2021-02-03 14:23:50 +04:00
Oleg Agafonov
c03279d835
* Repeated Reverberation - fixed rollback error on creatures cast ( #7474 );
2021-02-03 10:27:23 +04:00
Evan Kranzler
a70e50419b
fixed a random test failure
2021-02-02 17:10:17 -05:00
Oleg Agafonov
31d134843a
* Modal double faces cards - fixed that color identity doesn't contains second side colors;
2021-02-02 20:22:12 +04:00
Oleg Agafonov
2393485320
* Mana increase effects - fixed that some infinite mana combos gives 0 mana on too much permanents/effects (example: Nyxbloom Ancient);
2021-02-02 19:26:49 +04:00
Oleg Agafonov
4aeb94b41c
Tests: added test for Spreading Plague from #6984
2021-02-02 07:33:31 +04:00
Oleg Agafonov
50e5809a79
New commander types support:
...
* [KHM] fixed legendary status of mdf cards (closes #7370 , #7404 , #7465 , #7481 );
* Game: added support of split cards as commander (signature spell);
* Game: added support of adventure cards as commander;
* Game: added support of modal double faces cards as commander;
2021-02-02 06:40:49 +04:00
Evan Kranzler
14f7c02b1f
[KHM] fixed Codespell Cleric not triggering correctly
2021-01-31 21:26:27 -05:00
Evan Kranzler
df38d7213e
[KHC] text fixes
2021-01-31 15:01:02 -05:00
smartinsempere
68613672b1
Fire discard cards event when discarding as a cost ( #7436 )
...
Fire discard cards event when discarding as a cost, fixes #7368
2021-01-31 23:03:30 +04:00
Oleg Agafonov
2d96d36ec8
AsThough effects improves and fixes:
...
* AsThough: added documentation about code usage and restrictions;
* AsThough: added additional checks for correct usage;
* AsThough: simplified some code;
* PlayFromNotOwnHandZoneTargetEffect - added permanents support as targets;
* Release to the Wind - fixed that it can't cast exiled cards (#7415 , #7416 );
* Test framework: fixed that checkExileCount checking card's owner;
* GUI: fixed typo in Trample card icons;
2021-01-31 22:32:23 +04:00
Evan Kranzler
3a4b0159a9
Add a limit to how many tokens are made ( #7469 )
...
* added a simple token limit
* updated implementation of token limit
* added token limit test
2021-01-31 12:55:30 -05:00
Evan Kranzler
bcdaebf3ee
fixed some more text
2021-01-30 11:08:35 -05:00
Oleg Agafonov
a1da5ef437
* GUI: new reworked GUI and card render engine, card icons and dozens of other fixes (see full list in related PR);
2021-01-30 16:38:55 +04:00
Oleg Agafonov
df98cc3e62
[KHM] foretell improves (related to bc25c3d60a
):
...
* reverted code format of AsThoughEffectType;
* fixed disabled test;
* added test for Dream Devourer;
* simplified some code;
2021-01-30 11:21:51 +04:00
jeffwadsworth
bc25c3d60a
- [KHM] Added Cosmos Charger and Dream Devourer. Refactored ForetellAbility to work with Dream Devourer. Text fixes are required in some cases. Ignored a test for foretell.
2021-01-29 20:35:35 -06:00
Oleg Agafonov
91bac931b7
[KHM] fixed Vorinclex, Monstrous Raider - can't double counters on planeswalkers ( #7463 );
2021-01-29 17:41:49 +04:00
Oleg Agafonov
6f2ce47885
Tests: added verify test for wrong mdash usage and fixed related cards ( #7457 ), added tests for ( #7460 );
2021-01-29 11:35:13 +04:00
Oleg Agafonov
e3db50f111
* Double faces and adventure cards: improved support with some "exile and cast" effects like Hostage Taker ( #7446 );
2021-01-27 10:13:10 +04:00
Evan Kranzler
a535cb5adc
Refactoring methods which add counters to track which player adds the counters (ready for review) ( #7448 )
...
* added parameter for player adding counters to players
* added parameter for player adding counters to cards/permanents
* updated methods to use new parameter
* fixed a few initial errors
* refactored instances of cards that add counters by a player other than the controller
* fixed some instances of incorrect arguments
* refactored abilities that trigger off of a particular player adding counters
* a few more cards that were missed
* [KHM] Implemented Vorinclex, Monstrous Raider
* added test for Vorinclex, Monstrous Raider
* fixed a test failure
2021-01-26 19:06:13 -05:00
Evan Kranzler
13ce938fd0
[KHM] added test for Giant Ox
2021-01-26 15:51:35 -05:00
Evan Kranzler
dacf30f4b9
Refactoring subtypes to make Maskwood Nexus work (ready for review) ( #7432 )
...
* removed and renamed SubTypeList
* updated subtype test
* refactored Changeling to be an ability that actually does something
* moved isAllCreatureTypes into SubTypes class
* renamed copyTo method to copyFrom
* added removeAllCreatureTypes where usable
* replaced some subtype methods
* replaced some more subtype methods
* replaced subtype mass add/remove methods
* updated more subtype methods
* fixed some errors
* made common shared creature type predicate
* refactored another card involving subtypes
* Added usage of object attribute in subTypes's write operations;
* Refactor: use same param styles in subtype methods
* Refactor: simplified usage of copy appliers;
* Refactor: fixed code usage in CopyApplier
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-01-26 08:52:35 -05:00
Jeff
dbf0789238
- Fixed test
2021-01-25 19:13:46 -06:00
Evan Kranzler
83c103f17f
[KHM] Implemented Karfell Harbinger
2021-01-24 15:44:03 -05:00
Oleg Agafonov
c3b391b42f
Fixed verify tests config
2021-01-23 09:45:25 +04:00
Evan Kranzler
e5344b7a96
Refactoring snow mana to allow tracking how much is spent (Ready for Review) ( #7406 )
...
* refactored mana methods to WUBRG order
* more WUBRG refactoring
* added new mana tracking object
* fixed code error
* fixed missing mana count
* fixed null pointer exception in tests
* fixed issue with equality
* more equality fixes
* some cosmetic changes to ManaTest
* added copy method to setToMana
* fixed some initialization issues
* fixed serialization issue
* [KHM] Implemented Search for Glory
* updated mana handling to track snow
* added tests for snow mana tracking
* updated implementation of setter methods
* updated paramater to use copy methods
* fixed snow mana test to ensure proper mana tapping
* replaced instances of getPayment with getUsedManaToPay
* updated tracking of snow mana
* reverted snow mana tracking removal
* finished reverting change
2021-01-21 18:13:51 -05:00
Oleg Agafonov
286cc63342
Test framework: improves
2021-01-19 08:30:01 +04:00
Oleg Agafonov
639c68cd76
Additional tests and fix for God-Eternal Kefnet ( #7397 );
2021-01-18 04:23:46 +04:00
Evan Kranzler
5d7fc394fd
[KHM] Implemented Rune of Flight
2021-01-14 17:14:07 -05:00
LevelX2
9fc0e2f25a
* Added some trace output for continous effects and triggered abilities. Changed duration of AffinityEffect to WhileOnStack to prevent wrong handling for removement of the effect.
2021-01-13 09:14:29 +01:00
Oleg Agafonov
6dcbcbe962
Tyvar Kell and gain ability fixes:
...
* GainAbilityTargetEffect - reworked to support static/dynamic targets, added support of spells (card + related permanent);
* SpellCastControllerTriggeredAbility - now it can setup the target to a card instead a spell;
* Added checks/errors on wrong ability adding code (example: if you add permanent's ability by game state instead permanent's method);
* Tyvar Kell Emblem now use a standard code;
* Test framework: added additional logs for some errors;
2021-01-12 04:41:35 +04:00
LevelX2
c67ce93ec4
* Fixed some problems with color changes of cards and spells - e.g. Painter's Servant ( fixes #7325 fixes #6487 ).
2021-01-08 11:03:39 +01:00
Evan Kranzler
06b0e4f247
fixed a test failure
2021-01-07 19:40:45 -05:00
LevelX2
8098dd690c
* Fixed that effects with custom duration are not automatically removed from the game if source permanents leaves the game ( fixes #6997 ).
2020-12-28 18:36:05 +01:00
Oleg Agafonov
aa7226a1af
* Archive Trap - fixed that it doesn't apply alternative cost after searched library ( #7274 );
2020-12-28 07:10:15 +04:00
Oleg Agafonov
767644f1c8
GUI: fixed that user can target/click on second side of mdf card instead the main side (related to #7297 );
2020-12-27 01:39:18 +04:00
Ingmar Goudt
34e9c2fdfb
Merge branch 'master' of https://github.com/magefree/mage
2020-12-26 15:26:17 +01:00
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
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