Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix centcom, resave ruins #1033

Merged
merged 3 commits into from
Feb 7, 2025
Merged

fix centcom, resave ruins #1033

merged 3 commits into from
Feb 7, 2025

Conversation

Rxup
Copy link
Owner

@Rxup Rxup commented Feb 7, 2025

🆑

  • tweak: ЦентКом был изменен!

Summary by CodeRabbit

  • Новые функции
    • В обновлённом контенте карты добавлены новые объекты, такие как усовершенствованный дверной клапан и новый торговый автомат, а также обновлены наименования некоторых видов оружия.
  • Рефакторинг
    • Переработана внутренняя логика превращения, исключающая прежний метод перемещения.
    • Улучшены условия для телепортации и использования псайонических способностей с целью более точного определения наличия препятствий.

@Rxup Rxup requested a review from Roudenn as a code owner February 7, 2025 08:35
Copy link
Contributor

coderabbitai bot commented Feb 7, 2025

"""

Walkthrough

В этом обновлении удалён вызов компонента SharedMoverController в системе BlobPodSystem, что изменяет порядок выполнения метода Zombify: вызов _mover.SetRelay больше не выполняется. Дополнительно внесены изменения в описание сущностей на карте – добавлены новые объекты и переименованы или удалены устаревшие. В файле калькулятора добавлен новый метод, изменена сигнатура существующего и переименована глобальная переменная. Также изменены условия проверки коллизий в методах телепортации и использования психических способностей.

Changes

Файл Изменения
Content.Server/.../BlobPodSystem.cs Удалена зависимость от SharedMoverController; закомментирован вызов _mover.SetRelay в методе Zombify.
Resources/Maps/Corvax/.../corvax_ussp_asteroid.yml Добавлены AirlockHatchBasik и BackmenVendingMachineSovietSoda; удалены AirlockHatch, VendingMachineSovietSoda, MagazineLightRifleEmpty; переименованы оружия.
Content.Server/.../ShadowkinPowerSystem.Teleport.cs Изменена группа коллизий для проверки телепортации с TeleportLayer на Opaque.
Content.Shared/.../SharedPsionicAbilitiesSystem.cs Изменена группа коллизий для проверки психических способностей с TeleportLayer на Opaque; добавлена перегрузка метода CanUsePsionicAbilities.
Content.Shared/.../CollisionGroup.cs Удалён член перечисления TeleportLayer из CollisionGroup.
src/calculator.py Добавлен метод coderabbit_add; изменена сигнатура coderabbit_formula (добавлен параметр z); переменная old_global_var переименована в new_global_var.

Sequence Diagram(s)

sequenceDiagram
    participant BP as BlobPodSystem
    participant Ent as Сущность
    BP->>BP: Инициация процесса zombification
    Note right of BP: Вызов movement relay удалён
    BP->>Ent: Применение эффектов zombification
    Ent-->>BP: Завершение процесса
Loading

Poem

Привет, я заяц, радостью пыхтлю,
В коде перемены тихо блестят.
Старый контроллер ушёл в тень,
Новый путь для зомби настал.
Карта и калькулятор в обновленьи,
Пусть код скачет, словно я в ветреной степи!
(>'-')> 🥕
"""


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d997dd6 and 53dc289.

📒 Files selected for processing (4)
  • Content.Server/Backmen/Species/Shadowkin/Systems/ShadowkinPowerSystem.Teleport.cs (1 hunks)
  • Content.Shared/Backmen/Abilities/Psionics/SharedPsionicAbilitiesSystem.cs (1 hunks)
  • Content.Shared/Physics/CollisionGroup.cs (1 hunks)
  • Resources/Maps/Corvax/Ruins/corvax_ussp_asteroid.yml (8 hunks)
⏰ Context from checks skipped due to timeout of 300000ms (2)
  • GitHub Check: Test Packaging
  • GitHub Check: build (ubuntu-latest)
🔇 Additional comments (12)
Content.Shared/Physics/CollisionGroup.cs (1)

91-91: Одобряю замену TeleportLayer на Opaque!

Использование CollisionGroup.Opaque вместо отдельного TeleportLayer - это правильное решение, так как непрозрачные объекты логически должны блокировать телепортацию. Это упрощает систему коллизий.

Content.Server/Backmen/Species/Shadowkin/Systems/ShadowkinPowerSystem.Teleport.cs (3)

69-73: Проверка коллизий обновлена корректно.

Изменение на CollisionGroup.Opaque согласуется с общей логикой блокирования телепортации непрозрачными объектами.


65-67: Требуется реализация блокировки способностей при надетых наручниках.

TODO комментарий указывает на необходимость реализации механизма блокировки способностей Теневиков, аналогичного Psionic Headcage.

Хотите, чтобы я предложил реализацию этого механизма?


104-105: Проблема с синхронизацией перетаскивания на клиенте.

TODO комментарий указывает на проблемы с синхронизацией состояния перетаскивания между сервером и клиентом.

Предлагаю проверить:

  1. Корректно ли отправляются события изменения состояния перетаскивания на клиент
  2. Правильно ли клиент обрабатывает эти события
Content.Shared/Backmen/Abilities/Psionics/SharedPsionicAbilitiesSystem.cs (1)

115-119: Проверка коллизий для псионических способностей обновлена.

Изменение на CollisionGroup.Opaque согласуется с изменениями в других файлах и обеспечивает единообразное поведение для всех способностей.

Resources/Maps/Corvax/Ruins/corvax_ussp_asteroid.yml (7)

12-36: Проверка структуры сущностей.
В данном блоке добавлена вложенная структура для сущности с uid: 1, а также определены компоненты и привязка через поле "parent: 1". Удаление пустого атрибута "proto" (на строке 13) выглядит намеренным – убедитесь, что это не нарушает логику парсинга и загрузки карты.


569-582: Проверка массива элементов чанка.
Добавлено больше элементов со значением 0 (строки 572–579). Необходимо удостовериться, что итоговая длина массива соответствует ожидаемым размерам чанка и не приводит к ошибкам обработки данных.


674-680: Удаление прототипа AirlockHatchBasik.
Из блока (строка 677) удалена строка "- proto: AirlockHatchBasik". Проверьте, что данное изменение соответствует новой архитектуре объектов и что функциональность, зависящая от данного прототипа, реализована корректно в соответствии с обновлёнными требованиями.


11255-11267: Удаление прототипов BackmenVendingMachineSovietSoda и BaseUplinkRadio.
В этом блоке удалены строки, указывающие на использование прототипов "BackmenVendingMachineSovietSoda" (строка 11258) и "BaseUplinkRadio" (строка 11265). Убедитесь, что эти изменения согласованы с обновлённым дизайном объектов и не вызовут проблем при инициализации или загрузке карты.


11526-11532: Удаление прототипа CartridgeRifleLight762x39.
Удалена строка "- proto: CartridgeRifleLight762x39" (строка 11529). Проверьте, соответствует ли данное изменение новым требованиям балансировки оружия или замене устаревшего прототипа другим объектом.


12647-12653: Некорректное значение параметра secondsUntilStateChange.
Значение "-14393.855" (строка 12650) выглядит неправильно и может вызвать сбои в механике переключения состояния двери. Данный комментарий уже был отмечен в предыдущих ревью, поэтому помечен как повторяющийся.


13896-13902: Удаление прототипа WeaponAKMSRifle.
Удалена строка "- proto: WeaponAKMSRifle" (строка 13899). Убедитесь, что данное удаление соответствует новой логике именования оружия и не приводит к нарушению работы системы оружейных объектов.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added S: Untriaged size/XL Changes: Map Can be reviewed or fixed by people who are knowledgeable with mapping. No C# Нету кода. and removed size/XL labels Feb 7, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4f052ee and d997dd6.

📒 Files selected for processing (2)
  • Content.Server/Backmen/Blob/NPC/BlobPod/BlobPodSystem.cs (2 hunks)
  • Resources/Maps/Corvax/Ruins/corvax_ussp_asteroid.yml (14 hunks)
⏰ Context from checks skipped due to timeout of 300000ms (1)
  • GitHub Check: build (ubuntu-latest)
🔇 Additional comments (15)
Content.Server/Backmen/Blob/NPC/BlobPod/BlobPodSystem.cs (2)

121-121: Проверьте последствия отключения SetRelay.

Отключение _mover.SetRelay может повлиять на синхронизацию движения между BlobPod и целевой сущностью. Необходимо убедиться, что это не приведет к проблемам с управлением зомбифицированными сущностями.

Рекомендуется:

  1. Документировать причину отключения этой функциональности
  2. Убедиться, что существует альтернативный механизм контроля движения

38-38: Проверьте влияние удаления SharedMoverController.

Удаление зависимости от SharedMoverController может повлиять на движение зомбифицированных сущностей. Убедитесь, что это изменение не нарушает игровую механику.

Resources/Maps/Corvax/Ruins/corvax_ussp_asteroid.yml (13)

12-36: Проверка структуры объектов и иерархии.
В этом блоке определяется основная структура карты: создаётся сущность с uid: 1 и указываются её компоненты, а для сущности с uid: 2 добавлено поле "parent: 1". Убедитесь, что иерархия объектов и родительские связи соответствуют проектным требованиям.


569-582: Проверка списка значений в настройках.
Добавлены дополнительные значения "0" (строки 572–579) в список параметров. Рекомендуется проверить, что длина и значения списка соответствуют спецификации (например, для определения размера сетки или иных расчетов) и, при необходимости, добавить комментарий для разъяснения назначения этих значений.


674-680: Удаление прототипа AirlockHatchBasik.
В строке 677 удалён вызов "proto: AirlockHatchBasik". Проверьте, что данное удаление соответствует общей логике обновления: если новый прототип должен добавляться в другом месте или заменять старый, то данное изменение корректно.


11255-11267: Удаление устаревших прототипов.
В этом блоке удаляются строки с "proto: BackmenVendingMachineSovietSoda" (строка 11258) и "proto: BaseUplinkRadio" (строка 11265). Убедитесь, что соответствующие сущности больше не используются и что их удаление согласуется с общей стратегией обновления объектов карты.


11526-11532: Удаление прототипа CartridgeRifleLight762x39.
Строка 11529 удаляет прототип "CartridgeRifleLight762x39". Необходимо удостовериться, что исключение этого элемента не нарушает работу системы оружия и что его удаление согласовано с изменениями в других связанных сущностях.


11916-11922: Добавление слоя TeleportLayer (хунк 6).
В строке 11919 в список слоёв добавлен элемент "TeleportLayer". Рекомендуется проверить, что это изменение соответствует требованиям физической модели и корректно обрабатывается системой столкновений.


11970-11976: Добавление слоя TeleportLayer (хунк 7).
Аналогично предыдущему блоку, в строке 11973 добавлен "TeleportLayer". Убедитесь, что единообразное применение данного слоя во всех сходных участках не приводит к конфликтам или некорректной обработке физики.


12003-12009: Проверка слоя TeleportLayer (хунк 8).
Добавление "TeleportLayer" (строка 12006) повторяется и здесь. Проверьте, что обновлённая конфигурация слоев согласована с остальными настройками и не вызывает нарушений в расчётах физики объектов на карте.


12036-12042: Унификация настроек слоёв (хунк 9).
В строке 12039 вновь добавлен "TeleportLayer". Рекомендуется удостовериться, что все секции карты используют единый набор правил для обработки слоев, что позволит избежать потенциальных проблем при рендеринге или столкновениях.


13108-13114: Проверка физического слоя при повышенной плотности.
В данном блоке (строка 13111) добавлен "TeleportLayer", при этом плотность установлена в 350. Убедитесь, что такие параметры корректно обрабатываются игровым движком и не приводят к ошибкам в системе столкновений.


13154-13160: Проверка повторного добавления слоя TeleportLayer.
Аналогичным образом, в строках 13156–13160 добавлен "TeleportLayer" для секции с плотностью 350. Рекомендуется убедиться, что подобные повторяющиеся изменения согласованы между собой и корректно влияют на физику объектов.


13896-13902: Удаление прототипа WeaponAKMSRifle.
В строке 13899 происходит удаление вызова "proto: WeaponAKMSRifle". Необходимо проверить, что замена или исключение этого прототипа согласованы с новой схемой оружия и что все ссылки на данный элемент обновлены в соответствии с изменениями.


13908-13914: Удаление прототипа WeaponSniperMosinNew.
Строка 13911 удаляет вызов "proto: WeaponSniperMosinNew". Проверьте, что новая номенклатура или замена оружия реализованы последовательно по всему проекту, и что удаление этого прототипа не нарушает логику работы системы вооружения.

Comment on lines 12647 to 12653
pos: 13.5,-8.5
parent: 2
- type: Door
secondsUntilStateChange: -14372.478
secondsUntilStateChange: -14393.855
state: Opening
- uid: 151
components:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Некорректное значение времени переключения состояния.
Параметр "secondsUntilStateChange" имеет значение -14393.855, что выглядит некорректно – обычно ожидается положительное число. Проверьте алгоритм расчёта и логику работы дверей, так как отрицательное значение может вызвать неэффективное или неверное поведение.

@Rxup Rxup merged commit fb845a9 into master Feb 7, 2025
13 of 14 checks passed
@KayzelW KayzelW deleted the revert-centcom-fix-map branch February 20, 2025 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Map Can be reviewed or fixed by people who are knowledgeable with mapping. No C# Нету кода. S: Untriaged size/XL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant