Основные изменения на 15 декабря 2024 года:
15.12.2024
[Game] Улучшена физика кораблей:
Расчет глубины погружения:
Метод вычисляет погруженную глубину, чтобы определить, находится ли корабль на воде или на суше. Если submergedDepth больше нуля, корабль находится на воде; в противном случае он находится на суше.
Применение физических сил:
На воде: силы плавучести и сопротивления применяются для имитации плавучести и сопротивления воды, обеспечивая ожидаемое поведение корабля в водной среде.
На суше: для замедления корабля применяется трение о грунт. Если скорость корабля падает ниже порогового значения, как линейная, так и угловая скорости обнуляются, что фактически останавливает корабль.
Управление контролем:
Когда корабль находится на суше и скорость низкая, дроссельная заслонка и рулевое управление корабля сбрасываются, предотвращая дальнейшее движение.
Метод проверяет наличие драйвера; если он присутствует, он сглаживает работу дроссельной заслонки и рулевого управления. Если драйвер отсутствует, он сбрасывает эти входы.
Коррекция крена:
Корректирующий крутящий момент применяется для предотвращения слишком сильного крена корабля, что помогает сохранять устойчивость на суше.
[Тесты] Добавлены тесты для BoatPhysicsManager:
- тесты добавлены не для всех методов.
[Тесты] Исправлены ModelsJsonConverterTests.
11.12.2024
[Game] Обновил ItemManager:
- Добавил чтение полей `TypeId` и `SlotTypeId` в таблицах `item_armors`, `item_accessories`;
- Убрал чтение/запись поля `additional_details` в таблице `items`;
- Добавил отладочные сообщения в методе `HandleConvertItemLook`;
[Game] Обновил ItemGameData:
- Добавлена поддержка для Гравировки: нанесение, удаление, извлечение гравировки;
[Game|Items|Actions] Исправлен `ItemUpdate` для записи дополнительных деталей c использованием `GemIds[]`:
- класс `ItemUpdateRepair` заменен на `ItemUpdate`;
[Game|Items|Containers] Исправлен метод `ConsumeItem`:
- теперь количестов предметов отображается верно;
[Game|Items|ItemSockets] Добавлена поддержка для Гравировки: нанесение, удаление, извлечение гравировки:
- Добавлен класс `ItemSocket`, `ItemSocketChance`, `ItemSocketLevelLimit`, `ItemSocketNumLimit`;
- Добавлено перечисление `SocketingKind`;
[Game|Items|Templates] Добавлены поля `TypeId` и `SlotTypeId` в классе `EquipItemTemplate`
[Game|Items|ItemSockets] Добавлен метод `ReadAdditionalDetails` и `WriteAdditionalDetails`:
- осуществляется чтение/запись дополнительных детелей для работы Синтеза и Граировки и других илучшений предметов;
[Game|Skills|SpecialEffects] Исправлен класс `ItemSocketing`:
- Добавил отладочные сообщения в методе `Execute`;
- Добавлена поддержка для Гравировки: нанесение, удаление, извлечение гравировки;
[Game|Skills|SpecialEffects] Исправлен класс `ItemEvolving`:
- Добавил отладочные сообщения в методе `Execute`;
[Game|Skills|SpecialEffects] Исправлен класс `Skinize`:
- Добавил отладочные сообщения в методе `Execute`;
[Game|Skills] Исправлен класс `SkillObject`:
- Заменили SkillObjectUnk11 на SkillObjectAddSocketingSupport;
- Заменили SkillObjectUnk12 на SkillObjectExtractSocketingSupport;
- В перечислении `SkillObjectType` заменены поля: `Unk11` на `AddSocketingSupport` и `Unk12` на `ExtractSocketingSupport`
[Game|World|Interactions] Исправлен класс `MagicalEnchant`:
- Добавил отладочные сообщения в методе `Execute`;
[Packets] Исправил SCEnchantMagicalResultPacket;
[Packets] Исправил SCItemDetailUpdatedPacket;
[Packets] Исправил SCSocketingResultPacket;
[SQL] Удалено поле `additional_details` в таблице `items` для хранения дополнительных деталей предмета:
- Дополнительные детали хранятся в GemIds[] и записываются в поле `details`;
- updated aaemu_game.sql and added 2024-12-04_aaemu_game_items_update.sql;
---
15.12.2024
[Game] Improved ship physics:
Submerged Depth Calculation:
The method calculates submergedDepth to determine if the ship is on water or land. If submergedDepth is greater than zero, the ship is on water; otherwise, it is on land.
Physics Forces Application:
On Water: Buoyancy and drag forces are applied to simulate floating and water resistance, ensuring the ship behaves as expected in aquatic environments.
On Land: Ground friction is applied to slow down the ship. If the ship's velocity falls below a threshold, both linear and angular velocities are set to zero, effectively stopping the ship.
Control Management:
When on land and velocity is low, the ship's throttle and steering are reset, preventing any further movement.
The method checks for a driver; if present, it smooths throttle and steering inputs. If no driver is present, it resets these inputs.
Roll Correction:
A correction torque is applied to prevent the ship from rolling too much, which helps maintain stability when on land.
[Tests] Added tests for BoatPhysicsManager:
- tests were not added for all methods.
[Tests] Fixed ModelsJsonConverterTests.
11.12.2024
[Game] Updated ItemManager:
- Added reading of the `TypeId` and `SlotTypeId` fields in the `item_armors`, `item_accessories` tables;
- Removed reading/writing of the `additional_details` field in the `items` table;
- Added debug messages in the `HandleConvertItemLook` method;
[Game] Updated ItemGameData:
- Added support for Socketing: applying, removing, extracting;
[Game|Items|Actions] Fixed `ItemUpdate` to record additional details using `GemIds[]`:
- class `ItemUpdateRepair` replaced with `ItemUpdate`;
[Game|Items|Containers] Fixed `ConsumeItem` method:
- now the number of items is displayed correctly;
[Game|Items|ItemSockets] Added support for Socketing: applying, removing, removing:
- Added class `ItemSocket`, `ItemSocketChance`, `ItemSocketLevelLimit`, `ItemSocketNumLimit`;
- Added `SocketingKind` enumeration;
[Game|Items|Templates] Added `TypeId` and `SlotTypeId` fields to the `EquipItemTemplate` class
[Game|Items|ItemSockets] Added `ReadAdditionalDetails` and `WriteAdditionalDetails` method:
- reading/writing of additional parts for the work of Synthesis and Grading and other improvements of objects is carried out;
[Game|Skills|SpecialEffects] Fixed `ItemSocketing` class:
- Added debug messages in the `Execute` method;
- Added support for Socketing: applying, removing, extracting;
[Game|Skills|SpecialEffects] Fixed `ItemEvolving` class:
- Added debug messages in the `Execute` method;
[Game|Skills|SpecialEffects] Fixed `Skinize` class:
- Added debug messages in the `Execute` method;
[Game|Skills] Fixed the `SkillObject` class:
- Replaced SkillObjectUnk11 with SkillObjectAddSocketingSupport;
- Replaced SkillObjectUnk12 with SkillObjectExtractSocketingSupport;
- In the `SkillObjectType` enumeration the following fields have been replaced: `Unk11` with `AddSocketingSupport` and `Unk12` with `ExtractSocketingSupport`
[Game|World|Interactions] Fixed `MagicalEnchant` class:
- Added debug messages in the `Execute` method;
[Packets] Fixed SCEnchantMagicalResultPacket;
[Packets] Fixed SCItemDetailUpdatedPacket;
[Packets] Fixed SCSocketingResultPacket;
[SQL] Removed the `additional_details` field in the `items` table to store additional item details:
- Additional details are stored in GemIds[] and written to the `details` field;
- updated aaemu_game.sql and added 2024-12-04_aaemu_game_items_update.sql;
archeage
aaemu
5.0.7.0
новости
Creator has disabled comments for this post.