[2023-02-02] Game update, progress report

This post in other languages: Українська версія


As usual, I started to work on multiple things at the same time, and as a result, there were no updates for a while.

But this also gave our server a chance to work for an extensive period of time without any interruptions and collect performance statistics. Which was surprisingly very good. The server was running uninterrupted, without any restarts, for multiple months now. And there were no memory leaks or any other performance issues that usually appear when running a software for extensive period of time, which is a great sign. Hopefully we can keep it as stable as it is right now in the future.

Ymirheim Translate

(See full announcement)

We now have an awesome tool, that allows anyone to help with translations to different languages (see more info by clicking the link above).
To make it possible, a huge amount of work have been done to the game to make it possible to extract all translatable text from the game and make it available on Ymirheim Translate and then continuously compile the translated content back into the game.
Along the way, a lot of improvements and fixes have been made to the English texts as well, and a bunch of bugs came up to the surface (from the UI layout problems, to the underlying text processing engine), which had to be fixed, and a lot of stuff had to be cleaned up before making Ymirheim Translate available to the public.
Hopefully it will help us improve the game and make it available for more people. See the full announcement for more information.

Ukrainian localization

(See full announcement)

The game is now 100% translated to Ukrainian. Including most of the surrounding resources like the launcher and the Ymirheim ID.
This translation was done using our new Ymirheim Translate tool. Partially to test the tool, and partially, well, because I really wanted to have the Ukrainian language in the game for a long time.
The translation may be a little rough still, please report any problems.

Launcher improvements

Our launcher received a bunch of improvements:

  • Main window size and scaling updated to support small screens and screens with high DPI.
  • A small redesign to make it look better and to properly fit all elements into a smaller screen.
  • Game settings and launcher-related options are now properly separated. You can access them via the cogwheel button on the upper right corner of the window.
  • Game language list is now being dynamically fetched from the server during startup.
  • A translation progress badge added to the game language selection. You can now see the state of translation of each language when choosing it.
  • A few bug fixes in the file repair function and a few additional checks to make it more stable.
  • News and updates are now combined into a single column. You can distinguish them by the icon in the title.
  • Some news now can be pinned, they are going to be displayed beside the news and updates.
  • Previously unread posts are now marked with a special icon so you won’t miss a recent update.
  • Support for displaying various alerts within the launcher (for example, during server maintenance).

Elemental system

Our combat mechanics now include eight elements: Light, Dark, Fire, Water, Earth, Wind, Soul, Ghost.
Any kind of attack (skill, normal weapon attack, DoT effects) can have one of the elements assigned to it. Attacks without any elemental attribute assigned are considered Neutral.

Unlike, for example, RO1 elemental system implementation, our element system is designed based on the opposing elements: Light is opposed to Dark, Fire to Water, Earth to Wind, Soul to Ghost and vise versa. Combining any pair of the opposing elements results in mitigation of both of them and always gravitate to Neutral. On the other hand, combining neighboring elements (like Fire and Light), results in amplification of both neighbors.

Element Relations

Every character/monster/NPC in the game can have it’s own set of elemental resistances, which work similar to the defense mechanic: damage of specific attribute is reduced by the amount, proportional to the resistance to that particular element.

Also, our monsters can have not just one particular element assigned to them, but any amount of elements in any proportion. For example, Aster is half Dark, half Water, which makes it highly resistive to those elements (since they amplify each other), and vulnerable to Fire and Light; but it also affects it’s resistance to neighboring elements: Aster is slightly vulnerable to Soul and Earth, while being slightly resistive to Wind and Ghost.

Aster Elemental Resistances

More on the elemental system is going to be published on the wiki later.

So, what do we have now:

  • Every kind of monster has its elements assigned to them and has corresponding elemental resistances.
  • Only a few monsters have elemental attacks. Most of them are still hitting with neutral. This is going to be improved later.
  • Character skills, that are meant to deal elemental damage (mostly, magic skills), have proper elements assigned to them.
  • You can now see each skill’s element icon when you hover over a skill (unless it’s Neutral).
  • You can now see your character’s elemental resistances in the equipment window.
  • At the moment, there is no way to modify your normal attack element. It’s going to be implemented later. As for now, the only option to deal elemental damage is to use an elemental skill.
  • At the moment, there is no way to modify your character’s element affinity, only the resistances. And the only way to do that is to get a flat amount resistance bonus from a card/equipment/auras.
  • It’s possible to have Neutral element resistance, but it’s not being displayed anywhere but the /attributes command output.

This is only the initial implementation of the elemental system. Later it’s going to become much more elaborate, so stay tuned.

Skill training (experimental)

  • Each skill now can have its own training methods. You have to acquire 100% experience on a skill to be able to level it up with a skill book.
  • Each training method produces specific amount of skill experience and can be triggered limited amount of times (this information is displayed in the parenthesis next to the training method description, it’s being updated dynamically).
  • Once you exceed the maximum uses of a training method, you won’t receive any experience for triggering it any more, and it becomes grayed out in the UI.
  • Generally, combined experience of all training methods is much greater than 100%, so it’s usually possible to fully train a skill with only a few of the available training methods, so you’re free to choose.
  • The higher the level of the skill, the harder it becomes to train it: experience reward of training methods gradually declines with each level and the training methods themselves become harder to trigger.

image

This feature is in an experimental stage right now and it’s only enabled for weapon mastery skills. Once it’s tested properly, training methods for other skills are going to be implemented.

Monster rework and combat balancing (IN PROGRESS)

This is an ongoing task that I’ve been working on for a very long time now.
It’s still not finished, a lot more has to be done, but now I’m releasing some updates that need to be tested.

Please be aware that this is still a work in progress and it can negatively affect your gameplay or even break some things. It’s not a final result. Please report any problems and I’ll try to fix them as soon as possible.

Monster-related changes:

  • Different monsters now have different viewing angle. For example, Merman now can notice you at a much greater angle than, let’s say, a Wolf.
  • Some monsters now sense when someone tries to cast a spell on them and can react accordingly even before you finish casting the skill.
  • Some monsters will now join a fight on their own if they notice someone attacks their friends.
  • Monsters with ranged/magic attacks are now always trying to keep certain distance from the enemy, running away when the enemy is getting too close.
  • Some monsters will now try to run away from you when they decide that the combat is not in their favor.
  • Monster level variations implemented for the Prontera region.
  • Monster spawn points on the Southeast of Prontera zone are greatly improved (other Prontera zones are still in progress).
  • A lot of various small adjustments in the NPC stats. This affected almost every monster in the game, but it’s still a work in progress.
  • A bunch of NPC skills added: some monsters can now heal themselves or other friendly monsters, drain enemy health, blind, induce wounds or apply venom, jump/dash to the target, cast magic shields, and more…
  • Greatly improved configurability of the monster stats and their AI behavior, which allows to create more unique monsters.

Combat gameplay changes:

  • Global skill cooldown period introduced.
    • Each skill (including normal weapon attacks) now has it’s own global cooldown period, when you can’t use any other skills or auto attacks.
    • Global cooldowns work in parallel with the normal skill cooldowns. They start at the same time, as soon as you activate the skill. Usually global cooldown is much shorter than the normal skill cooldown and usually similar to the time required for the skill animation.
    • Global cooldowns get reduced with attack speed (not cooldown speed). The higher your attack speed, the shorter the cooldown.
    • Some skills (for example, Quick Strike) now can be activated off global cooldown. But they can trigger global cooldown themselves.
    • When you try to activate a skill during global cooldown period, it’s going to be queued and executed as soon as the global cooldown ends.
  • Movement now gets interrupted when you use a skill or a normal weapon attack. You won’t be able to move your character during the skill animation. This also affects monsters, they will also stop for a brief period of time when hitting you.
  • Ranged attack accuracy penalty when moving is now removed.

Other changes

Added

  • Spawn amount and respawn delay time support for resource spawn points.
  • Spawn points for monsters and resources can now be grouped, making it possible for a single set of monsters/resources to spawn randomly in different locations on the map.
  • Various anti-tamper mechanisms added to prevent unauthorized client modification that could lead to gaining advantage in combat.
  • Level of each acquired class is now being displayed in the class change window.
  • Support for quests that only appear in a specific day of week (in-game time).
  • New chat command added: /expstat, that can help you measure your experience gain over time.
  • System chat messages added for some DoT skills and skills that redirect damage (like Devotion and Mana Shield).
  • A dark theme for the forum (it’s been available for a while already, but never mentioned in the news).

Changed

  • Some quests (namely, main story quests) now have their rewards hidden from the quest menu.
  • An small initial delay added to the Fireball, Deep Cut, and Hemorrhage skill auras before they actually start doing damage.
  • User authentication process improved on the game server, which fixed some rare errors when logging in and mitigated some potential attacks.
  • Various improvements for the enemy detection for monsters.
  • Various skill/aura system improvements that allow more complex skills to be created.
  • A lot of deployment and patch build process improvements. For instance, the patch building process duration now reduced by more than a half, which would make it much easier to deploy urgent fixes.
  • Various server performance improvements.

Fixed

  • Remaining skill cooldowns are now properly being saved when you exit the game and restored when you log back in.
  • Multiple bugs fixed related to the oxygen gauge bar. Now it’s properly synchronized with the server.
  • Fixed incorrect calculation of casting time for the harvesting skills.
  • Sea Flatro Card effect fixed.
  • Various monster/NPC animation, effect rendering, and movement improvements during combat.
  • Bleeding visual effect fixed.
  • Drops monster texture mapping fixed: now its umbrella is properly textured. (Thanks @RaviOlly for guiding me through the process in Blender.)
  • Fixed incorrect number formatting in the character equipment window.
  • A client crash fixed that happened sometimes when a monster used a skill.
  • A few broken sound effect files fixed.
  • Pumpkin mesh collisions fixed. #1945
  • Fixed various bugs regarding death state checks for skills.
  • Fixed a bug that allowed to complete the Gathering The Mail quest by activating structures on a map, that are not related to the quest.
  • Fixed a bug that caused the healing effect of the Revive skill not being applied properly.
  • Small display bugs fixes for the /attributes command.
  • Some Auge Stone items with missing weapon models removed from the game.
  • A few missing aura icons added.
  • A few problems related to integer value rounding fixed in the damage/effect value calculation.
  • Fixed a bug that prevented enemy size/type-based status effects from being applied.
  • A bug fixed that allowed some unavailable quests to be shown on the quest board.
  • A bug fixed that prevented the monster from respawning in some rare cases.
  • Fixed a bug that allowed equipping a shield with any weapon. #1994
  • Fixed a bug that allowed keeping an item equipped even when its requirements are not satisfied any more. #1910
  • Fixed a bug that caused incorrect experience reward calculation for monsters, that were attacked previously, but the combat was interrupted.
1 Like

Український переклад оригінальної публікації.


Ну… Як завжди, я почав працювати над кількома речами одночасно, і в результаті новин не було довго.

Але це дало можливість нашому серверу працювати тривалий час без перерв і збирати статистику продуктивності. Яка напрочуд виявилася дуже непоганою. Сервер працював безперервно, без будь-яких перезапусків, протягом кількох місяців. І не було витоків пам’яті чи будь-яких інших проблем із продуктивністю, які зазвичай виникають під час роботи програмного забезпечення протягом тривалого періоду часу, що є чудовою ознакою. Сподіваюся, ми зможемо зберегти його таким же стабільним, як зараз, й у майбутньому.

Ymirheim Translate

(Дивитися повну публікацію)

Тепер у нас є чудовий інструмент, який дозволяє будь-кому допомогти з перекладами гри на різні мови (детальніше за посиланням вище).
Щоб це стало можливим, над грою було виконано величезний обсяг роботи, щоб зробити можливим витягнення з гри всього тексту, який можна перекласти і зробити його доступним на Ymirheim Translate, а потім постійно компілювати перекладений текст назад у гру.
Попутно було внесено багато покращень і виправлень у тексти англійською мовою, а також на поверхню випливла купа помилок (від проблем з макетом інтерфейсу користувача до внутрішнього механізму обробки тексту), які потрібно було виправити, багато речей потрібно було вичистити, перш ніж зробити Ymirheim Translate публічно доступним.
Сподіваюся, це допоможе нам покращити гру та зробити її доступною для більшої кількості людей. Для додаткової інформації дивіться повну публікацію за посиланням вище.

Українська локалізація

(Дивитися повну публікацію)

Тепер гра на 100% перекладена українською. Включаючи більшість супутніх ресурсів, таких як лаунчер та Ymirheim ID.
Цей переклад зроблено за допомогою нашого нового інструменту перекладу Ymirheim Translate. Частково для тестування цього інструменту, а частково, ну, тому що мені дуже давно хотілося мати українську мову в грі.
Але переклад все ще може бути трохи грубим. Будь ласка, повідомляйте про будь-які проблеми.

Покращення лаунчеру

Наш лаунчер отримав купу вдосконалень:

  • Оновлено розмір і масштаб головного вікна для підтримки маленьких екранів та екранів із високим DPI.
  • Невеликий редизайн, щоби лаунчер виглядав краще та належним чином вміщував усі елементи на маленьких екранах.
  • Налаштування гри та параметри, пов’язані з лаунчером, тепер належним чином розділені. Ви можете знайти їх, натиснувши на кнопку опцій у верхньому правому куті вікна.
  • Список мов гри тепер динамічно завантажується із сервера під час запуску.
  • До вибору мови гри додано значок прогресу перекладу. Тепер ви можете бачити стан перекладу кожної мови під час її вибору.
  • Кілька виправлень помилок у функції відновлення файлів гри і кілька додаткових перевірок, щоб зробити її більш стабільною.
  • Новини та оновлення тепер об’єднані в один стовпець. Відрізнити їх можна за значком у заголовку.
  • Деякі новини тепер можуть бути закріплені, вони відображатимуться збоку від новин та оновлень.
  • Раніше непрочитані публікації тепер позначаються спеціальним значком, щоб ви не пропустили останні оновлення.
  • Реалізована підтримка відображення різноманітних сповіщень у лаунчері (наприклад, про закриття сервера на обслуговування).

Система елементів

Наша бойова механіка тепер включає вісім елементів: Світло, Темрява, Вогонь, Вода, Земля, Вітер, Душа, Привид.
До будь-якого виду атаки (навики, звичайна атака зброєю, ефекти пошкодження з часом) може призначений один з елементів. Атаки без будь-яких елементарних атрибутів вважаються Нейтральними.

Відношення елементів

Кожен персонаж/монстр/NPC у грі може мати власний набір опорів елементам, які працюють подібно до механіки захисту: пошкодження певного атрибута зменшуються на значення, пропорційне опору цього конкретного елементу.

Крім того, наші монстри можуть мати не лише один конкретний призначений елемент, а будь-яку кількість елементів у будь-яких пропорціях. Наприклад, Астер наполовину Темна, наполовину Водяна, що робить її дуже стійкою до цих елементів (оскільки вони підсилюють один одного) і вразливою до Вогню та Світла; але це також впливає на її стійкість до сусідніх елементів: Астер злегка вразлива до елементів Душі та Землі, водночас злегка стійка до елементів Вітру та Привиду.

Опір елементів Астер

Більше інформації про систему елементів буде опубліковано на вікі пізніше.

Отже, що ми маємо зараз:

  • Кожен вид монстра має свій набір призначених елементів, і має відповідний набір опорів елементам.
  • Лише кілька монстрів мають елементальні атаки. Більшість все ще б’ють нейтральним елементом. Пізніше це буде вдосконалено.
  • Навики персонажа, які мають атакувати конкретним елементом (переважно, магічні), тепер мають відповідні назначені елементи.
  • Тепер значок елемента кожного навику відображається, коли ви наводите курсор на навик (за винятком нейтральних елементів).
  • Тепер ви можете побачити опір елементам вашого персонажа у вікні обладнання.
  • На даний момент немає способу змінити елемент звичайної атаки зброєю. Це буде реалізовано пізніше. На даний момент єдиний спосіб нанести пошкодження елементом — це використовувати елементальний навик.
  • На даний момент немає способу змінити спорідненість до елементів вашого персонажа, лише опір. І єдиний спосіб зробити це — отримати фіксований бонус опору від карти/спорядження/аури.
  • Можливо мати опір до нейтрального елемента, але він не відображається ніде, крім виводу команди /attributes.

Це лише початкова реалізація системи елементів. Пізніше вона стане більш складною і розвиненою, тому слідкуйте за оновленнями.

Тренування навиків (експериментально)

  • Кожен навик тепер може мати власні методи тренування. Ви повинні отримати 100% досвіду навику, щоб мати можливість підвищити його рівень за допомогою книги навиків.
  • Кожен метод тренування породжує певну кількість очок досвіду навику при виконанні і може спрацьовувати обмежену кількість разів (ця інформація відображається в дужках біля опису методу тренування, вона динамічно оновлюється).
  • Якщо ви досягнете максимальної кількості виконання методу тренування, ви більше не отримуватимете досвіду від нього, і він стане поміченим сірим в інтерфейсі.
  • Як правило, сумарний досвід усіх методів тренування значно перевищує 100%, тому зазвичай можна завершити тренування навика лише за допомогою кількох доступних методів тренування, можете вільно вибирати.
  • Чим вищий рівень навика, тим важче стає його тренувати: досвід методів тренування поступово зменшується з рівнем, а самі тренувальні методи стають важче виконати.

image

Ця функція зараз знаходиться на експериментальній стадії, і вона поки доступна лише для навиків володіння зброєю. Після належної перевірки буде запроваджено методи тренування й для інших навиків.

Переробка монстрів і баланс бойової системи (В ПРОЦЕСІ)

Я продовжую працювати над цією задачею вже достатньо довго.
Вона ще не завершена, багато чого ще потрібно зробити, але наразі я хочу зарелізити деякі оновлення, які потрібно протестувати.

** Будь ласка, майте на увазі, що це все ще не завершена робота, і це оновлення може негативно вплинути на ваш ігровий процес або навіть зламати деякий функціонал. Це не остаточний результат. Будь ласка, повідомляйте про будь-які проблеми, і я постараюся їх вирішити якомога швидше.**

Зміни, пов’язані з монстрами:

  • Різні монстри тепер мають різні кути зору. Наприклад, Мерман тепер може помітити вас під набагато більшим кутом, ніж, скажімо, Вовк.
  • Деякі монстри тепер відчувають, коли хтось намагається використати на них навик, і можуть відповідним чином відреагувати ще до того, як ви завершите підготовку навика.
  • Деякі монстри тепер приєднуються до бою самостійно, коли помічають, що хтось нападає на їхніх друзів.
  • Монстри з дальніми/магічними атаками тепер завжди намагаються триматися на певній відстані від ворога, відходячи, коли ворог наближається надто близько.
  • Деякі монстри тепер намагатимуться втекти від вас, коли вирішать, що бій не на їх користь.
  • Для регіонів Пронтери реалізовано варіації рівня монстрів.
  • Точки появи монстрів на південному сході Пронтери значно покращено (для інших Пронтерських зон робота ще триває).
  • Багато різноманітних дрібних коригувань у характеристиках NPC. Це вплинуло майже на кожного монстра в грі, але робота над цим ще триває.
  • Додано низку навиків NPC: деякі монстри тепер можуть зцілювати себе чи інших дружніх монстрів, виснажувати здоров’я ворогів, осліплювати, наносити рани чи застосовувати отруту, стрибати/кидатися до цілі, використовувати магічні щити тощо…
  • Значно покращено систему конфігурування характеристик монстрів та поведінки їхнього штучного інтелекту, що дозволяє створювати більш унікальних монстрів.

Зміни бойової системи:

  • Додано глобальний період відновлення навиків.
    • Кожен навик (включаючи звичайні атаки зброєю) тепер має власний глобальний період відновлення, коли ви не можете використовувати жодні інші навики чи звичайні атаки.
    • Глобальні періоди відновлення працюють паралельно зі звичайними періодами відновлення (перезарядки) навиків. Вони починаються одночасно, як тільки ви активуєте навик. Зазвичай глобальне відновлення навиків набагато коротше, ніж звичайне відновлення, і зазвичай близьке до часу, потрібного для анімації навику.
    • Глобальні періоди відновлення зменшуються зі збільшенням швидкості атаки (а не швидкості відновлення). Що вища швидкість атаки, то коротший час відновлення.
    • Деякі навики (наприклад, Швидкий удар) можна активувати навіть під час дії глобального відновлення. Але вони самі можуть активувати глобальне відновлення.
    • Коли ви намагаєтеся активувати навик під час глобального періоду відновлення, його буде поставлено в чергу та виконано, щойно глобальне відновлення закінчиться.
  • Рух персонажа тепер переривається, коли ви використовуєте навик або звичайну атаку зброєю. Ви не зможете переміщуватися під час анімації навиків. Це також впливає й на монстрів, вони також зупиняться на короткий проміжок часу, коли завдають вам ударів.
  • Штраф точності атаки дальнього бою під час руху тепер відсутній.

Інші зміни

Додано

  • Підтримка кількості та часу затримки відродження для точок відродження ресурсів.
  • Точки відновлення монстрів і ресурсів тепер можна групувати, що дає змогу одному набору монстрів/ресурсів випадково з’являтися в різних місцях на локації.
  • Додано різні механізми захисту від втручання, щоб запобігти неавторизованій модифікації клієнта, яка може призвести до отримання переваги в бою.
  • Рівень кожного здобутого класу тепер відображається у вікні зміни класу.
  • Підтримка квестів, які з’являються лише в певний день тижня (по ігровому часу).
  • Додано нову команду чату: /expstat, яка може допомогти вам оцінити здобуток досвіду персонажу з часом.
  • Додано повідомлення системного чату для деяких ефектів пошкодження з часом і навиків, які перенаправляють пошкодження (наприклад, Відданість та Щит мани).
  • Темна тема для форуму (вона вже доступна деякий час, але ще не згадувалася в новинах).

Змінено

  • Нагороди деяких квестів (зокрема, головних сюжетних квестів) тепер приховані у вікні квестів.
  • Невелика початкова затримка додана до аур навиків «Вогняна куля», «Глибокий поріз» і «Кровотеча», перш ніж вони почнуть завдавати пошкоджень.
  • Покращено процес аутентифікації користувача на ігровому сервері, який виправив деякі рідкісні помилки під час входу в систему та запобіг деяким потенційним атакам.
  • Різні поліпшення виявлення ворога для монстрів.
  • Різні вдосконалення системи навиків/аур, які дозволяють створювати більш складні навики.
  • Багато вдосконалень процесу створення та встановлення оновлень. Наприклад, тривалість процесу створення патчів тепер скорочена більш ніж вдвічі, що значно полегшить створення термінових виправлень.
  • Різні покращення продуктивності сервера.

Виправлено

  • Ще не відновлені навики тепер належним чином зберігаються, коли ви виходите з гри, і відновлюються, коли ви заходите знову.
  • Виправлено кілька помилок, пов’язаних зі шкалою кисню. Тепер вона належним чином синхронізована з сервером.
  • Виправлено неправильний розрахунок часу підготовки для навиків збору ресурсів.
  • Виправлено ефект картки Морського Флатро.
  • Різні виправлення і вдосконалення анімацій, візуальних ефектів, та руху монстрів/NPC під час бою.
  • Виправлено візуальний ефект кровотечі.
  • Виправлено відображення текстури монстра Дропс: тепер його парасолька правильно текстурована. (Дякую @RaviOlly за проведення мене через цей процес у Blender-і)
  • Виправлено неправильне форматування чисел у вікні спорядження персонажа.
  • Виправлено збій клієнта, який траплявся іноді, коли монстр використовував навик.
  • Виправлено кілька пошкоджених файлів звукових ефектів.
  • Виправлено колізії моделі Гарбуза. #1945
  • Виправлено різні помилки щодо перевірок стану смерті для навиків.
  • Виправлено помилку, яка дозволяла завершити квест Збір пошти, активувавши споруди на карті, не пов’язані з квестом.
  • Виправлено помилку, яка спричиняла неправильне застосування ефекту зцілення навика «Відродження».
  • Виправлено невеликі помилки відображення для команди /attributes.
  • Видалено з гри деякі предмети Ауге, у яких були відсутні моделі зброї.
  • Додано кілька відсутніх іконок аур.
  • Виправлено кілька проблем, пов’язаних із округленням цілочисельного значення в розрахунку значення пошкоджень.
  • Виправлено помилку, яка перешкоджала застосуванню бонусів на основі розміру/типу ворога.
  • Виправлено помилку, через яку деякі недоступні квести відображалися на дошці квестів.
  • Виправлено помилку, яка перешкоджала відродженню монстра в деяких рідкісних випадках.
  • Виправлено помилку, яка дозволяла використовувати щит разом з будь-якою зброєю. #1994
  • Виправлено помилку, яка дозволяла залишити предмет екіпірованим, навіть якщо його вимоги більше не задовольняються. #1910
  • Виправлена ​​помилка, яка спричиняла неправильний розрахунок винагороди досвіду для монстрів, які раніше були атаковані, але бій був перерваний.
1 Like