Oleg Agafonov
1809fb516a
* GUI: added card hints with current and next rooms in card rules ( #8012 );
2021-08-29 01:01:01 +04:00
Jeff
f35ca8112c
Merge branch 'master' of https://github.com/magefree/mage
2021-08-28 15:41:20 -05:00
jeff@delmarus.com
5a87664a55
- Fixed #8166
2021-08-28 15:40:46 -05:00
Raphael-Schulz
f03a410b9e
[AFR] Implemented Xanathar, Guild Kingpin ( #8045 )
...
* [AFR] Implemented Xanathar, Guild Kingpin
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-08-28 23:55:41 +04:00
Oleg Agafonov
65761b085f
* Game: fixed wrong booster pass order in drafts ( #8075 );
2021-08-28 13:17:57 +04:00
Oleg Agafonov
2efdb464fc
Little refactor, additional logs for CheckPlayableState error;
2021-08-28 12:09:22 +04:00
Evan Kranzler
bbcccf4b58
[AFC] Implemented Galea, Kindler of Hope
2021-08-27 09:08:20 -04:00
Evan Kranzler
f8d030bef4
Adding dice rolling trigger/replacement (ready for review) ( #7989 )
...
* [AFR] Implemented DiceRolledTriggeredAbility
* [AFR] Implemented Brazen Dwarf
* [AFR] Implemented Feywild Trickster
* [AFC] Implemented Reckless Endeavor
* [AFR] Implemented Pixie Guide
* [AFR] Implemented Critical Hit
* [AFR] Implemented Netherese Puzzle Ward
* [AFC] Implemented Neverwinter Hydra
* [AFR] Implemented Farideh, Devil's Chosen
* [AFR] Implemented Barbarian Class
* [AFC] Implemented Vrondiss, Rage of Ancients
* [AFC] Implemented Arcane Endeavor
* Test framework: added planar die rolls support
* Test framework: added random results set up support in AI simulated games;
* AI: improved roll die results chooses in computer games;
* Roll die: improved combo support for planar die and roll die effects;
Co-authored-by: Daniel Bomar <dbdaniel42@gmail.com>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-08-26 14:06:10 +04:00
Evan Kranzler
12219cff01
[AFC] Implemented Mantle of the Ancients
2021-08-25 08:11:54 -04:00
Evan Kranzler
002a7af6d0
fixed a test failure
2021-08-23 19:27:27 -04:00
Evan Kranzler
85dfa58e5d
[AFR] more text fixes
2021-08-23 19:14:50 -04:00
Evan Kranzler
31a559be23
[AFC] more text fixes
2021-08-23 18:53:35 -04:00
Evan Kranzler
8fe0467893
reworked mana text generation to fit canonical symbol order
2021-08-23 18:32:21 -04:00
Evan Kranzler
2db0da8429
updated AttacksOrBlocksAttachedTriggeredAbility
2021-08-22 18:08:40 -04:00
Evan Kranzler
13949d8e3e
[AFC] various text fixes
2021-08-22 17:56:22 -04:00
Ingmar Goudt
fed7c2b288
small Sonar fixes
2021-08-22 12:20:28 +02:00
Ingmar Goudt
271f7b812f
fix #8097 ,
...
the sacrifice target cost was optional, but SacrificeCost.canPay first checks if there are valid targets. In this scenario there were none, but the spell should still be playable
2021-08-22 12:01:10 +02:00
Evan Kranzler
b1bbe96536
fixed an error
2021-08-21 17:13:03 -04:00
Evan Kranzler
0bd402876d
[AFC] Implemented Nihiloor
2021-08-21 16:35:09 -04:00
Oleg Agafonov
2b2a2d085a
[AFR] added dungeon support in image/card view, images download, Card Viewer, verify tests;
2021-08-21 20:29:47 +04:00
Oleg Agafonov
654ee7791c
[AFR] added tokens and images download support;
2021-08-21 20:29:47 +04:00
Evan Kranzler
d20b15c7b6
[AFC] Implemented Hellish Rebuke
2021-08-21 11:20:31 -04:00
Evan Kranzler
b9550a7387
made a util function more generic because why not
2021-08-21 11:20:30 -04:00
Oleg Agafonov
e9c68d2a5c
Test framework improves (related to #7896 ):
...
* added real time command to check card's counters (example: suspended cards with Time counters, see checkCardCounters);
* added target type support: TargetPermanentOrSuspendedCard;
* improves error logs for miss modes and unsupported target types;
2021-08-21 15:02:42 +04:00
Oleg Agafonov
33380f09c2
Improved canActivate support:
...
* added support of non controller activates in ActivatedManaAbility (mayActivate);
* removed custom code from ActivatedManaAbility;
* removed custom code from Mana Cache;
* added additional comments;
2021-08-21 10:52:00 +04:00
Evan Kranzler
bdeb0dde66
refactored TokenPredicate to contain its own inverse
2021-08-20 09:33:38 -04:00
Evan Kranzler
cb5d873fea
[AFC] Implemented Bag of Devouring
2021-08-20 09:27:30 -04:00
Evan Kranzler
f740cf0d12
[AFC] Implemented Lorcan, Warlock Collector
2021-08-20 09:11:18 -04:00
Evan Kranzler
e4f0a485a6
[C21] fixed Rousing Refrain mana not staying until end of turn
2021-08-20 08:52:20 -04:00
Oleg Agafonov
ebe02c310a
Merge fix
2021-08-20 15:52:16 +04:00
Oleg Agafonov
9fa487e60a
* Suspend ability - fixed that suspend can be activated from opponent's hand;
2021-08-20 15:40:42 +04:00
Oleg Agafonov
fb4065ba66
Little fixes
2021-08-20 09:38:16 +04:00
Oleg Agafonov
3da525520c
* Author of Shadows - added window with exiled and castable cards;
2021-08-18 11:02:30 +04:00
Oleg Agafonov
1d60c2039b
* Game: fixed priority lost on rollback (example: game skips to next step instead current step after a rollback error);
...
* Game: added game logs on rollback error;
2021-08-18 10:58:43 +04:00
Evan Kranzler
4c4168ac1f
[AFC] Implemented Hurl Through Hell
2021-08-16 09:26:25 -04:00
Oleg Agafonov
f21c492ce2
Refactor: added docs for a copy stack object code ( #7662 );
2021-08-15 17:12:59 +04:00
Oleg Agafonov
5725e15771
GUI: added card hints in choice dialogs (additional to d587cc9151
);
2021-08-14 21:57:32 +04:00
jeff@delmarus.com
ef010bc2f3
Wrenn and Six emblem can now add the retrace ability to their legal sides. But, the issue with casting fused split-cards remains. It should not be allowed from the graveyard zone, only the hand.
2021-08-14 12:15:58 -05:00
Oleg Agafonov
62474c12a4
* GUI: fixed non-closeable choose dialog with empty list on server's error (example: Cabal Therapy, see #8065 );
2021-08-14 19:10:23 +04:00
Oleg Agafonov
d587cc9151
* GUI: added card popup info in choose dialog (example: choose dungeon, #8012 );
...
* GUI: added texts popup info in choose dialog (example: choose from any list);
2021-08-14 09:18:50 +04:00
jeffwadsworth
d05104ff61
- Fixed #8124
2021-08-13 11:30:57 -05:00
Oleg Agafonov
76e57d009e
Multiple changes:
...
- game: fixed possible empty pay text in custom costs;
- debug: improved debug info for CardInfo objects;
- db: removed unused split sides from cards database;
- db: fixed constant cards adding on each cards database scan (e.g. on tests start);
2021-08-13 14:54:10 +04:00
spjspj
cd22dfd4cc
Merge pull request #8121 from spjspj/master
...
Add in decreasing rectangle spiral for paper original dual lands
2021-08-13 18:49:09 +10:00
Oleg Agafonov
b9db36eb22
Tests: improved performance
2021-08-13 09:17:33 +04:00
Oleg Agafonov
49308bcd4f
* Performance: optimized cards database to increase tests and boosters generation;
2021-08-12 23:59:08 +04:00
Oleg Agafonov
1664ee01cf
Fixed miss copy code in Game object (lki, cards), removed unused code. Possible fixes:
...
* simulated games was able to change objects from another games (ConcurrentModificationException, related to d202278ccd
, details in 3a6cdd2615
);
* AI: fixed cards disappear in multiplayer games with computer (details in #6738 );
2021-08-12 00:08:08 +04:00
Oleg Agafonov
9f882824a0
* Gain ability effect: fixed rollback error with AI games and too many cards (related to d202278ccd
);
2021-08-12 00:08:08 +04:00
Oleg Agafonov
8a69ea97e7
Tests: fixed that some game errors can't be caught by test framework (related to d202278ccd
)
2021-08-12 00:08:08 +04:00
spjspj
e29b22df6e
Add in decreasing rectangle spiral for paper original dual lands
2021-08-12 00:21:41 +10:00
Oleg Agafonov
9b98565e8a
Miss synchronized, can be related to ConcurrentModificationException problem in d202278ccd
2021-08-10 14:31:06 +04:00
Evan Kranzler
fe4edbd664
[AFC] Implemented Sword of Hours
2021-08-09 08:49:31 -04:00
Oleg Agafonov
c9ab896d24
* GUI: added auto-choose for replacement effects (remember answer in dialog + reset answer in popup menu + new option in preferences; #4360 , #328 , #4219 , #6676 , #7914 );
2021-08-09 11:26:11 +04:00
Evan Kranzler
17100261e2
updated setText method for Cost to return itself
2021-08-06 20:57:34 -04:00
Evan Kranzler
b45514ecfb
[J21] Implemented Wingsteed Trainer
2021-08-06 17:35:43 -04:00
Evan Kranzler
51c054b286
remove arena only cards from eternal formats
2021-08-06 17:35:42 -04:00
Oleg Agafonov
3406ef6b4e
Added miss code and comments for alternative code (additional to b6a3f7edc1
)
2021-08-06 18:56:29 +04:00
Oleg Agafonov
b073ff8617
Pay {0} - fixed that it doesn't work for alternative cost (related to b6a3f7edc1
);
2021-08-06 18:17:13 +04:00
Evan Kranzler
f5687acfad
[J21] Implemented Faceless Agent
2021-08-06 08:52:31 -04:00
Evan Kranzler
3065679f3d
[MID] Implemented Wrenn and Seven
2021-08-05 22:02:36 -04:00
Evan Kranzler
3910dae6e0
[MID] Implemented Triskaidekaphile
2021-08-05 21:47:34 -04:00
Evan Kranzler
5e569b597a
made randomutil method generic
2021-08-05 20:35:18 -04:00
jeffwadsworth
98aaa78081
- Fixed #8044 and #7842
2021-08-05 15:38:39 -05:00
Oleg Agafonov
53aababd44
* Additional costs - added support of X costs on free cast (example: Kicker X, see Thieving Skydiver and Etali, Primal Storm combo);
...
* As an additional cost discard X cards - fixed wrong text (example: Channeled Force, Firestorm);
2021-08-05 16:18:04 +04:00
Oleg Agafonov
615ab2d97e
* Target colored cards/creatures - fixed game freeze on cards in deck (example: Angel's Herald and other Herald cards);
2021-08-04 22:40:24 +04:00
LevelX2
b6a3f7edc1
* Fixed a problem that the playable check for some alternate costs (e.g. Devastating Master) was not done with the correct mana cost and wrongly shown as playable without enough avalable mana.
2021-08-03 16:35:47 +02:00
Evan Kranzler
e61f019cd3
[AFC] Implemented Maddening Hex
2021-08-02 20:13:54 -04:00
Oleg Agafonov
a5b41ea920
* Marshland Bloodcaster - fixed game freeze on usage;
...
* Kentaro, the Smiling Cat - fixed game freeze on usage;
2021-08-02 17:40:35 +04:00
Raphael-Schulz
e1f018d53d
Adjust canLookAtNextTopLibraryCard
2021-08-01 17:05:52 +02:00
jeffwadsworth
237e8344b3
- added test for Kardur, Doomscourge and Kithkin Mourncaller. it was quite useful find another issue that was fixed. removed sim() check from Abandoned Sarcophagus.
2021-07-31 21:27:58 -05:00
Oleg Agafonov
790aef9c37
Improved watcher copy support of Cards fields (example: Abandoned Sarcophagus, see 43dbaf405b
);
2021-08-01 03:32:16 +04:00
jeffwadsworth
df07ad4418
- added fix by JayDi for gameState().value and Lists.
2021-07-31 18:16:09 -05:00
Oleg Agafonov
73db223ca7
* Server: fixed wrong timeouts in drafts;
2021-08-01 03:06:07 +04:00
jeffwadsworth
43dbaf405b
- Fixed #8067 . Included weirddan455 fixes to Kardur Doomscourge as well. Added support for "remove from combat" to the 2 cards. Note that attacking creatures put into the graveyard is a special case. Test will follow.
2021-07-31 16:46:11 -05:00
Oleg Agafonov
5e91099f62
Tests: added additional checks on boosters (see #8081 );
2021-07-31 19:50:57 +04:00
Oleg Agafonov
530cd627cc
* Copy spell - improved support for some cards and abilities ( #8074 );
2021-07-31 15:48:57 +04:00
Oleg Agafonov
6e0184a38d
Real fix for 4125d1eb46
, updated outdated comments.
2021-07-31 09:47:29 +04:00
Evan Kranzler
4125d1eb46
fixed tapped for mana events not working for sacrificed tokens
2021-07-30 21:54:00 -04:00
jeffwadsworth
1d443b231c
- Fixed #8038
2021-07-28 16:45:32 -05:00
Evan Kranzler
b72febb316
[AFC] Implemented Minn, Wily Illusionist
2021-07-27 21:13:09 -04:00
Evan Kranzler
70b040473b
updated ManaSpentToCastCount, added tests
2021-07-27 20:53:43 -04:00
Oleg Agafonov
6acfe2ae5f
* Delitium, card types in graveyard - fixed wrong text in card hint ( fix #8053 );
2021-07-27 05:52:31 +04:00
Ingmar Goudt
01f785f4d0
small AFR rulestext fixes
2021-07-27 00:31:29 +02:00
Oleg Agafonov
f334b81de6
* GUI: fixed that users can select empty timing option in new tourney dialog;
2021-07-26 14:42:42 +04:00
SharkeyMyrl
199f449836
Update TombOfAnnihilation.java
...
Oubliette leads to Cradle Of The Death God, not Sandfall Cell
2021-07-25 20:10:08 -07:00
jeffwadsworth
f3609416cf
- Fixed #8047
2021-07-25 20:05:10 -05:00
Oleg Agafonov
5dcdbcfd4f
* GUI: fixed wrong deck validation in Deck Editor for partners and planeswalker's commanders;
2021-07-25 10:31:22 +04:00
jeffwadsworth
4b0381e074
- removed test code
2021-07-24 21:01:31 -05:00
jeffwadsworth
d334504131
- Fixed #8001
2021-07-24 20:58:59 -05:00
Oleg Agafonov
1e4f3524a9
Merge fix
2021-07-25 01:16:12 +04:00
Oleg Agafonov
c6a3d5e588
Prepare new release
2021-07-25 01:15:33 +04:00
Oleg Agafonov
96c84413df
Merge fix
2021-07-24 16:23:26 +04:00
Oleg Agafonov
560b56a391
Refactor: moved ManaPaidSourceWatcher to default watchers, added additional checks;
2021-07-24 16:22:18 +04:00
Oleg Agafonov
9698e3488f
Merge fix
2021-07-24 15:01:26 +04:00
Oleg Agafonov
ac8d3de474
* Game: tiny leaders game mode improves (fixed AI games errors, fixed commander dupes on game restart with Karn Liberated, #6113 );
2021-07-24 14:32:00 +04:00
Oleg Agafonov
d41ccd11bc
Game: fixed empty range error on game startup
2021-07-24 05:36:56 +04:00
Oleg Agafonov
4d1985476f
* GUI: added card icon for commander on battlefield;
...
Card icons: added support of custom card icon colors;
2021-07-23 19:51:45 +04:00
Oleg Agafonov
06ae494c5b
Drafts: refactor to use same pack/pick number logic ( #8039 );
2021-07-23 16:18:56 +04:00
Oleg Agafonov
400acae0c1
* Draft improves:
...
* added additional and improved timing options for pick timeouts (x1.0, x1.5, x2.0, see #8033 );
* added pick timing info in tables list (info column);
* fixed that booster draft starts with wrong pick timeout (#8036 );
2021-07-22 23:14:08 +04:00
Evan Kranzler
214b688fdb
Update effects and abilities which involve tapping permanents for mana ( #7679 )
...
Abilities which use trigger from or replace tapping for mana now save the permanent in case it leaves the battlefield.
fixes #7671 , fixes #7770
* Merge fix and additional comments, Winter's Night fixed
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-22 05:09:07 +04:00
Oleg Agafonov
81193148e9
Merge pull request #8013 from weirddan455/wish
...
[AFR] Implemented Wish
2021-07-21 20:53:41 +04:00
Oleg Agafonov
5985e6cfcc
* Choose from outside - added card hints about sideboard stats and howto view a cards list;
2021-07-21 20:40:31 +04:00
Oleg Agafonov
28473c7bd0
* GUI: added popup menu to view player's outside/sideboard at any time (allows to view only own or computer's sideboards);
2021-07-21 13:44:35 +04:00
Oleg Agafonov
eda50cc7b1
Merge remote-tracking branch 'weirddan455/wish' into wish
2021-07-21 03:35:22 +04:00
Oleg Agafonov
f48da4c923
* GUI: fixed that look at and reveals dialogs doesn't show card's playable status;
2021-07-21 03:34:43 +04:00
Evan Kranzler
e2f1743c6b
a few more triggered ability text fixes
2021-07-20 19:06:44 -04:00
Daniel Bomar
aac4cd00ce
Fixed more triggered ability text
2021-07-20 13:58:11 -05:00
Daniel Bomar
3414aa9959
[AFR] Wish - Add watcher to limit for single use
2021-07-20 13:30:38 -05:00
Daniel Bomar
27e1f2c457
Fixed madness triggered ability text ( fixes #8029 )
2021-07-20 12:19:00 -05:00
Oleg Agafonov
96ca260109
Merge branch 'master' into wish
2021-07-20 09:52:18 +04:00
Oleg Agafonov
19693c94f7
* Path of Ancestry - fixed that it doesn't triggers a scry on commander cast ( #7917 , #7538 , #7750 );
2021-07-20 01:01:16 +04:00
Evan Kranzler
66cebe64b0
[AFC] Implemented Clay Golem
2021-07-19 16:35:39 -04:00
Evan Kranzler
34a0e9546a
[AFC] Implemented Sefris of the Hidden Ways
2021-07-19 12:50:18 -04:00
Oleg Agafonov
76082e1d7a
* GUI: added card icon for announced X value (card cast);
2021-07-19 13:40:21 +04:00
Oleg Agafonov
fc0ff6c22d
Test framework: added support to test client side data in unit tests (getGameView -> CardView, etc);
2021-07-19 13:07:09 +04:00
Oleg Agafonov
12aa3b82b8
* GUI: added card icon for face down permanents;
2021-07-18 21:13:03 +04:00
Evan Kranzler
9ce81dca3a
[AFC] Implemented Prosper, Tome-Bound
2021-07-18 11:02:09 -04:00
Evan Kranzler
d4ef2ec414
[AFC] Implemented Midnight Pathlighter
2021-07-18 10:46:05 -04:00
Oleg Agafonov
f2ba76ca75
Tests: fixed miss commands, fixed debug info for permanents on battlefield;
2021-07-17 19:43:05 +04:00
Oleg Agafonov
daed98fb0b
Fixed missing clear code in combat (maybe related to #7997 );
2021-07-17 19:41:25 +04:00
Evan Kranzler
f57693392c
various ability word text fixes
2021-07-17 11:17:49 -04:00
Joseph Zeffiro
86e5c5cb50
Fixing multiple triggers during combat ( #8017 )
...
* Fixing multiple triggers during combat
* Damage to Source Logic
* Removing unused references
2021-07-17 08:33:30 -05:00
Evan Kranzler
4150a5bb12
small change to test failure fix
2021-07-16 18:43:09 -04:00
Evan Kranzler
d3b5c51428
fixed test failures ( fixes #8016 )
2021-07-16 13:08:24 -04:00
Daniel Bomar
c08c4bbb36
[AFR] Implemented Demilich
2021-07-16 11:00:59 -05:00
Evan Kranzler
a47af7a5a9
[AFR] Implemented Spare Dagger
2021-07-16 08:09:39 -04:00
Evan Kranzler
d42fd2e505
[AFR] Implemented Ochre Jelly
2021-07-15 20:24:46 -04:00
Evan Kranzler
f9bf84e6f6
[AFR] Implemented Zariel, Archduke of Avernus
2021-07-15 19:28:40 -04:00
Evan Kranzler
3299641ad4
[AFR] various text fixes
2021-07-15 18:39:46 -04:00
Oleg Agafonov
ad7eb55460
[AFR] fixed empty class level up logs, added levelled logs ( #7808 )
2021-07-16 00:13:27 +04:00
Oleg Agafonov
2d8be6663b
[AFR] added card icons with class level info ( #7808 )
2021-07-15 23:46:19 +04:00
Daniel Bomar
1c3b42996d
[AFR] Implemented Wish
2021-07-15 10:36:17 -05:00
Evan Kranzler
3df1373bee
[AFR] Implemented Delina, Wild Mage
2021-07-15 09:25:28 -04:00
Evan Kranzler
ca80806400
Reworking triggered ability text generation to allow for ability words and flavor words to be added more easily ( #8010 )
...
* refactor all instances of getRule in triggered abilities using new getTriggerPrefix method
* updated triggered ability rules generation
* renamed method
* fixed a test failure
* some more refactoring
* simplified some instances of ability word usage
2021-07-15 07:46:38 -04:00
jeffwadsworth
f84805d487
- Removed test log
2021-07-14 17:17:16 -05:00
jeffwadsworth
ffe75f77ed
- Fixed #7572
2021-07-14 16:44:28 -05:00
Daniel Bomar
29d3f96340
[MH2] Implemented Carth the Lion ( #7848 )
...
* [MH2] Implemented Carth the Lion
* [MH2] Carth the Lion - Fixed loyalty cost modification
* Fix copy constructor and add getters/setters
* Call sourceObject.adjustCosts before checking cost modifications
* Add unit test
* Added additional comments, checks and tests;
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-15 00:12:25 +04:00
Evan Kranzler
5b88484cb6
[AFR] Implementing Class enchantments (ready for review) ( #7992 )
...
* [AFR] Implemented Druid Class
* [AFR] Implemented Wizard Class
* [AFR] Implemented Cleric Class
* [AFR] Implemented Fighter Class
* reworked class ability implementation
* fixed an error with setting class level
* small reworking of class triggers
* added class level hint
* added tests
* small change
* added common class for reminder text
2021-07-14 09:17:07 -04:00
Evan Kranzler
d7b2d2208d
[AFC] Implemented Thorough Investigation
2021-07-14 09:07:05 -04:00
Evan Kranzler
aa06893f4d
[AFC] Implemented Diviner's Portent
2021-07-13 08:19:27 -04:00
Evan Kranzler
f991e0e89a
[AFC] Implemented Component Pouch
2021-07-13 08:00:45 -04:00
Daniel Bomar
66b224622a
[AFR] Implemented Plate Armor
2021-07-12 08:48:12 -05:00
jeffwadsworth
799980dff5
- added game param back to addSubType()
2021-07-11 11:39:02 -05:00
jeffwadsworth
9300d07160
- addSubType() already checks for duplicates
2021-07-11 10:05:55 -05:00
jeffwadsworth
ca8fdde793
- Fixed #7995
2021-07-10 20:29:51 -05:00
Daniel Bomar
08aead581c
[AFR] Implemented Mordenkainen ( #7990 )
...
* [AFR] Implemented Mordenkainen
* [AFR] Mordenkainen - Use putCardsOnTopOfLibrary method
2021-07-10 19:43:31 -04:00
Evan Kranzler
9d9bf3e88c
[AFR] Implemented Minimus Containment
2021-07-10 17:14:36 -04:00
Evan Kranzler
b193ffc627
[AFR] fixed game log issue with +2 Mace
2021-07-10 08:44:59 -04:00
Evan Kranzler
22bf922076
[AFR] Implemented The Book of Vile Darkness
2021-07-09 09:24:51 -04:00
Oleg Agafonov
30bb7cd42e
Merge fix, additional comments
2021-07-09 07:36:40 +04:00
Evan Kranzler
572104b8fc
Reworking card types in preparation for implementing Grist, the Hunger Tide ( #7899 )
...
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-09 07:28:43 +04:00