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

Улучшение энергетического вооружения #328

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

DarkSide-droids
Copy link
Contributor

image

Описание обновления:

  • Были добавлены несколько косметических изменений для Станнера/Энергетической винтовки и прочих оружий использующих энергетические пули.

Медиа
NO

Проверки

  • PR завершён и мне не нужна помощь чтобы его закончить.
  • Я внимательно просмотрел все свои изменения и багов в них не нашёл.
  • Я запускал локальный сервер со своими изменениями и всё протестировал.
  • Я добавил скриншот/видео демонстрации PR в игре, или этот PR этого не требует.
  • Я не добавлял контент нарушающий чужие авторские права.
  • Я добавил свой контент только в папку _LostParadise(только если вы не меняете оригинальный код).
  • Я не добавлял переводы в прототипы, а сделал их с помощью скрипта translations.bat в Tools/SS14_RU.

Изменения

🆑 MrDarkSide

  • add: Добавлено красивое свечение для пуль станнера/энергетического оружия
  • add: Добавлен ЭМИ импульс при стрельбе из станнера, несет только косметическую суть
  • add: Добавлена новая функция для станнера. Теперь пули станнера могут ломать лампы!
  • tweak: Изменены спрайты пуль станнера!

Copy link
Contributor

coderabbitai bot commented Nov 11, 2024

Walkthrough

Изменения в данном запросе на извлечение касаются файла projectiles.yml, в котором обновлены сущности снарядов. Сущности BulletDisabler, BulletDisablerPractice и BulletDisablerSmg теперь наследуют от двух родительских классов: BaseBullet и BaseBulletTrigger. Также изменены спрайты и добавлены новые компоненты, такие как EmpOnTrigger и PointLight, которые улучшают функциональность и визуальные эффекты этих снарядов. Структура других снарядов, таких как BaseBulletRubber, BaseBulletIncendiary и BaseBulletAP, осталась без изменений.

Changes

Файл Изменения
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml Обновлены родительские классы для BulletDisabler, BulletDisablerPractice, BulletDisablerSmg; добавлены компоненты EmpOnTrigger и PointLight для BulletDisabler, BulletDisablerSmg и PointLight для BulletEnergyGunLaser.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant BulletDisabler
    participant BulletDisablerSmg
    participant BulletEnergyGunLaser

    User->>BulletDisabler: Создание снаряда
    BulletDisabler->>BulletDisabler: Инициализация EmpOnTrigger
    BulletDisabler->>BulletDisabler: Инициализация PointLight

    User->>BulletDisablerSmg: Создание снаряда
    BulletDisablerSmg->>BulletDisablerSmg: Инициализация EmpOnTrigger
    BulletDisablerSmg->>BulletDisablerSmg: Инициализация PointLight

    User->>BulletEnergyGunLaser: Создание снаряда
    BulletEnergyGunLaser->>BulletEnergyGunLaser: Инициализация PointLight
Loading

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 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 Изменения: YML Изменяет какие-либо файлы .yml Статус: Требуется одобрение Ожидание разработчиков для принятия решений labels Nov 11, 2024
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: 0

🧹 Outside diff range comments (3)
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml (3)

Line range hint 221-260: Обнаружены проблемы с форматированием и балансом.

В определении BulletDisabler есть следующие проблемы:

  1. Лишние пробелы в списке parent: [ BaseBullet, BaseBulletTrigger ]
  2. Неправильный отступ в определении state
  3. EMP эффект может быть слишком сильным для этого типа оружия

Предлагаемые исправления:

-  parent: [ BaseBullet, BaseBulletTrigger ]
+  parent: [BaseBullet, BaseBulletTrigger]
-    - state: omnilaser_greyscale
+      - state: omnilaser_greyscale

Также рекомендуется пересмотреть параметры EMP:

  • range: 0.5 выглядит разумно
  • energyConsumption: 10 может быть слишком высоким
  • disableDuration: 0.1 кажется слишком коротким

Line range hint 284-305: Неправильный отступ в определении state.

Примените следующее исправление:

-    - state: omnilaser_greyscale
+      - state: omnilaser_greyscale

Line range hint 942-981: Обнаружены проблемы с форматированием и балансом SMG варианта.

Те же проблемы с форматированием, что и в BulletDisabler. Кроме того, параметры EMP для SMG варианта требуют балансировки.

Предлагаемые исправления:

-  parent: [ BaseBullet, BaseBulletTrigger ]
+  parent: [BaseBullet, BaseBulletTrigger]
-    - state: omnilaser_greyscale
+      - state: omnilaser_greyscale

Рекомендации по балансу:

  • energyConsumption: 5 слишком низкое значение для SMG, учитывая скорость стрельбы
📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Reviewing files that changed from the base of the PR and between da40c7b and e5177d1.

📒 Files selected for processing (1)
  • Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml (9 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

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

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

🪛 yamllint
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml

[error] 221-221: too many spaces inside brackets

(brackets)


[error] 221-221: too many spaces inside brackets

(brackets)


[error] 235-235: wrong indentation: expected 6 but found 4

(indentation)


[error] 284-284: wrong indentation: expected 6 but found 4

(indentation)


[error] 942-942: too many spaces inside brackets

(brackets)


[error] 942-942: too many spaces inside brackets

(brackets)


[error] 956-956: wrong indentation: expected 6 but found 4

(indentation)


[error] 1070-1070: no new line character at the end of file

(new-line-at-end-of-file)

🔇 Additional comments (1)
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml (1)

1067-1070: Проверьте значения радиуса и энергии света.

Добавление PointLight компонента соответствует целям PR по улучшению визуальных эффектов, но значения требуют проверки.

✅ Verification successful

Let me analyze the light values used in projectiles and similar entities to make a proper comparison.


Значения света соответствуют другим снарядам

Анализ показывает, что выбранные параметры света (radius: 2.3, energy: 0.7) полностью соответствуют другим энергетическим снарядам в игре. Эти значения уже используются для нескольких типов боеприпасов, включая снаряды с цветом '#00DCF0'.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Поиск других энергетических снарядов для сравнения параметров света
rg -l 'type: PointLight' | while read -r file; do
  echo "=== $file ==="
  rg -A 3 'type: PointLight' "$file"
done

Length of output: 178792


Script:

#!/bin/bash
# Search for projectile-related entities with PointLight components
rg -A 4 'type: PointLight' Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/

Length of output: 7732

🧰 Tools
🪛 yamllint

[error] 1070-1070: no new line character at the end of file

(new-line-at-end-of-file)

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: 2

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Reviewing files that changed from the base of the PR and between da40c7b and e5177d1.

📒 Files selected for processing (1)
  • Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml (9 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml (1)

Pattern **/*.yml: так же в прототипах запрещены любые переводы на русский. Только на английском или ссылкой на перевод.

Все добавляемые прототипы должны быть в нашей папке.

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

При удалении дополнительного дополнения по типу prob:, можно оставить оригинальную часть с - id:.

🪛 yamllint
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml

[error] 221-221: too many spaces inside brackets

(brackets)


[error] 221-221: too many spaces inside brackets

(brackets)


[error] 235-235: wrong indentation: expected 6 but found 4

(indentation)


[error] 284-284: wrong indentation: expected 6 but found 4

(indentation)


[error] 942-942: too many spaces inside brackets

(brackets)


[error] 942-942: too many spaces inside brackets

(brackets)


[error] 956-956: wrong indentation: expected 6 but found 4

(indentation)


[error] 1070-1070: no new line character at the end of file

(new-line-at-end-of-file)

🔇 Additional comments (4)
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml (4)

253-260: Визуальные эффекты соответствуют целям PR

Добавление EMP и световых эффектов хорошо реализовано:

  • Малый радиус и длительность EMP делают его чисто косметическим
  • Цвет и радиус света соответствуют визуальному стилю оружия

302-305: Правильная реализация тренировочной версии

Тренировочная версия правильно реализована с минимальным уроном и только визуальными эффектами без EMP.


974-981: Сбалансированная версия для SMG

Характеристики для SMG версии корректно сбалансированы:

  • Уменьшенный урон (15 вместо 30)
  • Уменьшенное потребление энергии EMP (5 вместо 10)

1067-1070: Последовательное применение визуальных эффектов

Добавление световых эффектов к BulletEnergyGunLaser поддерживает визуальную согласованность между энергетическим оружием.

🧰 Tools
🪛 yamllint

[error] 1070-1070: no new line character at the end of file

(new-line-at-end-of-file)

@@ -218,7 +218,7 @@
- type: entity
name : disabler bolt
id: BulletDisabler
parent: BaseBullet
parent: [ BaseBullet, BaseBulletTrigger ]
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Исправьте отступы в квадратных скобках

Уберите лишние пробелы в объявлении родительских классов:

-  parent: [ BaseBullet, BaseBulletTrigger ]
+  parent: [BaseBullet, BaseBulletTrigger]

Also applies to: 942-942

🧰 Tools
🪛 yamllint

[error] 221-221: too many spaces inside brackets

(brackets)


[error] 221-221: too many spaces inside brackets

(brackets)

@@ -232,8 +232,9 @@
- type: Sprite
sprite: Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi
layers:
- state: omnilaser
- state: omnilaser_greyscale
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Исправьте отступы в определении слоев

Отступ для определения слоев должен быть 6 пробелов вместо 4:

-    - state: omnilaser_greyscale
+      - state: omnilaser_greyscale

Also applies to: 284-284, 956-956

🧰 Tools
🪛 yamllint

[error] 235-235: wrong indentation: expected 6 but found 4

(indentation)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Изменения: YML Изменяет какие-либо файлы .yml Статус: Требуется одобрение Ожидание разработчиков для принятия решений
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant