Skip to content

Скафандры Gorlex. Исправлено#501

Open
Dark4-42 wants to merge 2 commits intospace-sunrise:masterfrom
Dark4-42:Gorlex-hardsuits
Open

Скафандры Gorlex. Исправлено#501
Dark4-42 wants to merge 2 commits intospace-sunrise:masterfrom
Dark4-42:Gorlex-hardsuits

Conversation

@Dark4-42
Copy link

@Dark4-42 Dark4-42 commented Mar 18, 2026

[

Кратное описание

Добавлены 4 новых скафандра:

-Медик Gorlex
-Фантом Gorlex
-Перехватчик Gorlex
-Сталкер Cybersun
[Могут быть пербаффаны, т.к. не предназначены для использования в обычных условия раунда.]

По какой причине

Реквизит для ивентов компании на Lust.

Медиа(Видео/Скриншоты)

Снимок экрана 2026-03-18 182757

Changelog

Никаких прямых изменений остального билда.

🆑 VigersRay

  • add: Добавлено 4 скафандра.
  • remove: Удалено ничего.
  • tweak: Изменено ничего.
  • fix: Исправлено ничего.
    -->

Summary by CodeRabbit

Новые возможности

  • Новое боевое снаряжение — добавлены четыре новых набора костюмов NeoSyndi (Stalker, Gorlex Phantom, Gorlex Reclaimer и Gorlex Medic) с полной защитой, броней и специальными возможностями.
  • Шлемы с ночным видением — каждый костюм теперь имеет соответствующий шлем, интегрированный с технологией ночного видения.
  • Биокодовые варианты — добавлены защищённые версии костюмов с биокодом для синдикальных операторов.

3 скафандра Gorlex LLC (Фантом, Перехватчик, Медик) и скафандр Синди. Могут быть перебаффаны, т.к. не предназначенны для использования на ивентах.
Починил текстуры скафандров (Скафандры Горлекса).
@github-actions
Copy link
Contributor

RSI Diff Bot; head commit 8eac761 merging into ebcbd36
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi

State Old New Status
icon-flash Added
icon Added
off-equipped-HELMET-vox Added
off-equipped-HELMET Added
on-equipped-HELMET-vox Added
on-equipped-HELMET Added

Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi

State Old New Status
equipped-HELMET-vox Added
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi

State Old New Status
icon-flash Added
icon Added
off-equipped-HELMET-vox Added
off-equipped-HELMET Added
on-equipped-HELMET-vox Added
on-equipped-HELMET Added

Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi

State Old New Status
equipped-HELMET-vox Added
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi

State Old New Status
equipped-OUTERCLOTHING-vox Added
equipped-OUTERCLOTHING Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi

State Old New Status
equipped-OUTERCLOTHING-vox Added
equipped-OUTERCLOTHING Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi

State Old New Status
equipped-OUTERCLOTHING-vox Added
equipped-OUTERCLOTHING Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi

State Old New Status
equipped-OUTERCLOTHING-vox Added
equipped-OUTERCLOTHING Added
icon Added
inhand-left Added
inhand-right Added

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 18, 2026

📝 Walkthrough

Обзор

Добавлены новые YAML-файлы прототипов для четырёх вариантов экзоскелетов NeoSyndi (Stalker, Gorlex Phantom, Gorlex Reclaimer, Gorlex Medic) с полной конфигурацией компонентов, включая броню, защиту от давления и биокод-варианты, а также метаданные текстур для спрайтов головных уборов и верхней одежды.

Изменения

Когорта / Файл(ы) Резюме
Прототипы экзоскелетов NeoSyndi
Resources/Prototypes/_Lust/NeoSyndi/hardsuits.yml, hardsuitsbiocode.yml, head.yml
Добавлены определения четырёх экзоскелетов (Stalker, Gorlex Phantom, Reclaimer, Medic) с компонентами: Sprite, Clothing, Armor, PressureProtection, ExplosionResistance, ToggleableClothing, Stealth, PowerCell и другие. Также определены пять новых сущностей головных уборов (NeoNVD, четыре варианта шлемов) с защитой, ночным видением и различными визуальными компонентами. Добавлены варианты с биокодом для синдиката к каждому экзоскелету.
Метаданные текстур головных уборов
Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/meta.json, gorlex_phanthom.rsi/meta.json, gorlex_reclaimer.rsi/meta.json, stalker_cybersun.rsi/meta.json
Добавлены метаданные для четырёх спрайт-наборов головных уборов (версия 1, CC-BY-SA-3.0, размер 32x32), включающих состояния: icon, icon-flash, equipped-HELMET с направлениями (4/8), вариации для vox-рас.
Метаданные текстур верхней одежды
Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/meta.json, gorlex_phanthom.rsi/meta.json, gorlex_reclaimer.rsi/meta.json, stalker_cybersun.rsi/meta.json
Добавлены метаданные для четырёх спрайт-наборов экзоскелетов (версия 1, CC-BY-SA-3.0, размер 32x32) с состояниями: icon, equipped-OUTERCLOTHING (4 направления), inhand-left/right (4 направления).

Оценка сложности рецензирования

🎯 2 (Простые) | ⏱️ ~10 минут

Предложенные метки

📦 YAML | Прототип 📦, 🖌️ Спрайты 🖌️, 🧊 Нет C# 🧊, 🔎 На Рассмотрение 🔎

Стихотворение

🐰 Синдикат одел четыре броне-наряда,
С ночным видением и броней от невзгод,
Горлекс-тёмный в разных модификациях,
А текстурки спрайтов вот как хороши—
Метаданные, направленья, flash и свет,
Экзоскелеты встали в строй... вот это да!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed Название соответствует основным изменениям: добавлены новые скафандры Gorlex с исправлениями текстур. Описывает главную цель PR конкретно и ясно.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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

🧹 Nitpick comments (2)
Resources/Prototypes/_Lust/NeoSyndi/hardsuits.yml (2)

92-95: Закомментированный код.

Блок Stealth закомментирован. Если это устаревший вариант конфигурации, рекомендуется удалить для чистоты кода. Если планируется использовать в будущем — можно оставить с пояснительным комментарием.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Resources/Prototypes/_Lust/NeoSyndi/hardsuits.yml` around lines 92 - 95,
Commented-out Stealth block (lines containing "Stealth", "minVisibility",
"maxVisibility", "lastVisibility") introduces dead config; either delete the
entire commented block if it's obsolete, or keep it but replace the raw comment
with a short explanatory comment stating why it's kept and when to re-enable
(e.g., "legacy stealth config kept for reference - remove when confirmed
unused"); update the surrounding YAML so only one of these options remains to
avoid ambiguity.

14-14: Несогласованность регистра в поле size.

Используется huge (строка 14) и Huge (строка 60). Для единообразия рекомендуется использовать одинаковый регистр во всех скафандрах.

♻️ Предлагаемое исправление (строка 60)
   - type: Item
-    size: Huge
+    size: huge

Also applies to: 60-60

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Resources/Prototypes/_Lust/NeoSyndi/hardsuits.yml` at line 14, В файле с
определениями скафандров приведена неконсистентность регистра в поле size:
встречаются значения "huge" и "Huge"; необходимо выбрать единый регистр и
привести все вхождения поля size к нему (например заменить все "Huge" на "huge")
в файле _Lust/NeoSyndi/hardsuits.yml, проверив все записи скафандров и обновив
значение size в каждом объекте для единообразия.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Resources/Prototypes/_Lust/NeoSyndi/hardsuits.yml`:
- Line 7: В поле description у прототипа бронескафандра исправьте опечатки:
заменить "исследоаний" на "исследований" и "незапотентован" на "незапатентован"
(проверьте строку, где задано description в hardsuits.yml и обновите текст
описания).

In `@Resources/Prototypes/_Lust/NeoSyndi/head.yml`:
- Around line 129-159: The entity ClothingHeadHelmetHardsuitGorlexMedic has the
wrong name and description (mentions "перехватчика" and "опознавания"); update
the name to "шлем медика Gorlex" and replace the description with a medically
appropriate text (e.g., referencing medical support/protection and
HUD/health-related features) so it matches the components like ShowHealthBars
and medical role; ensure only the name and description fields in the
ClothingHeadHelmetHardsuitGorlexMedic entity are changed and keep all components
(PointLight, PressureProtection, Armor, FlashImmunity, EyeProtection,
ShowSyndicateIcons, ShowHealthBars, Tag) intact.

In
`@Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/meta.json`:
- Around line 21-27: The meta entry for the vox variant of the
"on-equipped-HELMET" state is missing; add a new object with "name":
"on-equipped-HELMET-vox" and "directions": 4 alongside the existing
"on-equipped-HELMET" entry so vox characters display the powered-helmet state
correctly (mirror the pattern used for "equipped-HELMET-vox" and other gorlex_*
helmets).

In
`@Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/meta.json`:
- Around line 21-27: В meta.json рядом с существующими записями
"equipped-HELMET-vox" и "on-equipped-HELMET" добавьте отсутствующую запись с
именем "on-equipped-HELMET-vox" и теми же параметрами (например "directions":
4), следуя синтаксису массива объектов JSON и корректно расставив запятые;
проделайте то же в другом meta.json, где есть те же две упомянутые записи, чтобы
вокс-персонажи использовали вариант спрайта при режиме шлема.

---

Nitpick comments:
In `@Resources/Prototypes/_Lust/NeoSyndi/hardsuits.yml`:
- Around line 92-95: Commented-out Stealth block (lines containing "Stealth",
"minVisibility", "maxVisibility", "lastVisibility") introduces dead config;
either delete the entire commented block if it's obsolete, or keep it but
replace the raw comment with a short explanatory comment stating why it's kept
and when to re-enable (e.g., "legacy stealth config kept for reference - remove
when confirmed unused"); update the surrounding YAML so only one of these
options remains to avoid ambiguity.
- Line 14: В файле с определениями скафандров приведена неконсистентность
регистра в поле size: встречаются значения "huge" и "Huge"; необходимо выбрать
единый регистр и привести все вхождения поля size к нему (например заменить все
"Huge" на "huge") в файле _Lust/NeoSyndi/hardsuits.yml, проверив все записи
скафандров и обновив значение size в каждом объекте для единообразия.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 88253bf3-8b43-4f3a-97b2-05f1caac66fd

📥 Commits

Reviewing files that changed from the base of the PR and between ebcbd36 and 8eac761.

⛔ Files ignored due to path filters (42)
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/icon-flash.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/off-equipped-HELMET-vox.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/off-equipped-HELMET.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/on-equipped-HELMET-vox.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/on-equipped-HELMET.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/equipped-HELMET-vox.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/equipped-HELMET.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/icon-flash.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/on-equipped-HELMET.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/icon-flash.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/off-equipped-HELMET-vox.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/off-equipped-HELMET.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/on-equipped-HELMET-vox.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/on-equipped-HELMET.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/equipped-HELMET-vox.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/equipped-HELMET.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/icon-flash.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/on-equipped-HELMET.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/equipped-OUTERCLOTHING-vox.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/equipped-OUTERCLOTHING.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/inhand-right.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/equipped-OUTERCLOTHING-vox.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/equipped-OUTERCLOTHING.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/inhand-right.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/equipped-OUTERCLOTHING-vox.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/equipped-OUTERCLOTHING.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/inhand-right.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/equipped-OUTERCLOTHING-vox.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/equipped-OUTERCLOTHING.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/icon.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/inhand-left.png is excluded by !**/*.png
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/inhand-right.png is excluded by !**/*.png
📒 Files selected for processing (11)
  • Resources/Prototypes/_Lust/NeoSyndi/hardsuits.yml
  • Resources/Prototypes/_Lust/NeoSyndi/hardsuitsbiocode.yml
  • Resources/Prototypes/_Lust/NeoSyndi/head.yml
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/meta.json
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/meta.json
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/meta.json
  • Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/meta.json
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/meta.json
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/meta.json
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/meta.json
  • Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/meta.json

parent: [ClothingOuterHardsuitBase, BaseSyndicateContraband]
id: ClothingOuterHardsuitStalker
name: скафандр Сталкера Cybersun
description: Новейший бронескафандр отдела передовых исследоаний и разработок Cybersun. Ещё не пущен в массовое производство, возможно, ещё даже незапотентован.
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 | 🟡 Minor

Опечатки в описании скафандра.

В описании две орфографические ошибки:

  • "исследоаний" → "исследований"
  • "незапотентован" → "незапатентован"
📝 Предлагаемое исправление
-  description: Новейший бронескафандр отдела передовых исследоаний и разработок Cybersun. Ещё не пущен в массовое производство, возможно, ещё даже незапотентован.
+  description: Новейший бронескафандр отдела передовых исследований и разработок Cybersun. Ещё не пущен в массовое производство, возможно, ещё даже незапатентован.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
description: Новейший бронескафандр отдела передовых исследоаний и разработок Cybersun. Ещё не пущен в массовое производство, возможно, ещё даже незапотентован.
description: Новейший бронескафандр отдела передовых исследований и разработок Cybersun. Ещё не пущен в массовое производство, возможно, ещё даже незапатентован.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Resources/Prototypes/_Lust/NeoSyndi/hardsuits.yml` at line 7, В поле
description у прототипа бронескафандра исправьте опечатки: заменить
"исследоаний" на "исследований" и "незапотентован" на "незапатентован"
(проверьте строку, где задано description в hardsuits.yml и обновите текст
описания).

Comment on lines +129 to +159
#Gorlex Medic Suit
- type: entity
parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase, ShowSecurityIcons ]
id: ClothingHeadHelmetHardsuitGorlexMedic
categories: [ HideSpawnMenu ]
name: шлем перехватчика Gorlex
description: Надёжный и хорошо оснащён. Обладает встроенной системой опознавания.
components:
- type: Sprite
sprite: _Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi
- type: Clothing
sprite: _Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi
- type: PointLight
color: green
- type: PressureProtection
highPressureMultiplier: 0.08
lowPressureMultiplier: 1000
- type: Armor
modifiers:
coefficients:
Blunt: 0.9
Slash: 0.8
Piercing: 0.9
Heat: 0.9
- type: FlashImmunity
- type: EyeProtection
- type: ShowSyndicateIcons
- type: ShowHealthBars
- type: Tag
tags:
- WhitelistChameleon
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 | 🟡 Minor

Ошибка копирования: неверное название и описание шлема медика.

Шлем медика (ClothingHeadHelmetHardsuitGorlexMedic) имеет название и описание от шлема перехватчика:

  • Текущее: шлем перехватчика Gorlex
  • Должно быть: шлем медика Gorlex

Описание также не соответствует медицинскому назначению шлема (есть ShowHealthBars, но текст об "опознавании").

📝 Предлагаемое исправление
 - type: entity
   parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase, ShowSecurityIcons ]
   id: ClothingHeadHelmetHardsuitGorlexMedic
   categories: [ HideSpawnMenu ]
-  name: шлем перехватчика Gorlex
-  description: Надёжный и хорошо оснащён. Обладает встроенной системой опознавания.
+  name: шлем медика Gorlex
+  description: Тактический шлем медика Gorlex. Оснащён системой отображения состояния здоровья.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Resources/Prototypes/_Lust/NeoSyndi/head.yml` around lines 129 - 159, The
entity ClothingHeadHelmetHardsuitGorlexMedic has the wrong name and description
(mentions "перехватчика" and "опознавания"); update the name to "шлем медика
Gorlex" and replace the description with a medically appropriate text (e.g.,
referencing medical support/protection and HUD/health-related features) so it
matches the components like ShowHealthBars and medical role; ensure only the
name and description fields in the ClothingHeadHelmetHardsuitGorlexMedic entity
are changed and keep all components (PointLight, PressureProtection, Armor,
FlashImmunity, EyeProtection, ShowSyndicateIcons, ShowHealthBars, Tag) intact.

Comment on lines +21 to +27
"name": "equipped-HELMET-vox",
"directions": 4
},
{
"name": "on-equipped-HELMET",
"directions": 4
}
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 | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

python - <<'PY'
import json
from pathlib import Path

p = Path("Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/meta.json")
data = json.loads(p.read_text(encoding="utf-8"))
states = {s.get("name") for s in data.get("states", [])}

print("States:", sorted(states))
print("Has equipped-HELMET-vox:", "equipped-HELMET-vox" in states)
print("Has on-equipped-HELMET:", "on-equipped-HELMET" in states)
print("Has on-equipped-HELMET-vox:", "on-equipped-HELMET-vox" in states)
PY

Repository: space-sunrise/lust-station

Length of output: 257


🏁 Script executed:

#!/bin/bash
# Поиск других RSI файлов с patern equipped-*-vox и on-equipped-*
find Resources/Textures -name "*.rsi" -type d | while read rsi_dir; do
  meta_file="$rsi_dir/meta.json"
  if [ -f "$meta_file" ]; then
    states=$(python3 -c "import json; d=json.load(open('$meta_file')); print(','.join([s.get('name','') for s in d.get('states',[])]) )" 2>/dev/null)
    # Проверяем есть ли vox-варианты оборудованных состояний
    if echo "$states" | grep -q "equipped.*-vox"; then
      has_equipped_vox=$(echo "$states" | grep -o 'equipped[^,]*-vox' | head -1)
      has_on_equipped=$(echo "$states" | grep -o 'on-equipped[^,]*' | head -1)
      has_on_equipped_vox=$(echo "$states" | grep -o 'on-equipped[^,]*-vox' | head -1)
      
      if [ -n "$has_equipped_vox" ]; then
        echo "=== $rsi_dir ==="
        echo "equipped-vox: $has_equipped_vox"
        echo "on-equipped: $has_on_equipped"
        echo "on-equipped-vox: $has_on_equipped_vox"
        echo ""
      fi
    fi
  fi
done | head -100

Repository: space-sunrise/lust-station

Length of output: 3024


🏁 Script executed:

#!/bin/bash
# Поиск определения gorlex_phanthom в прототипах
rg -i "gorlex.*phanthom" Resources/Prototypes/ -A 10 -B 2

Repository: space-sunrise/lust-station

Length of output: 4982


🏁 Script executed:

#!/bin/bash
# Поиск других NeoSyndi одежды с vox поддержкой
find Resources/Textures/_Lust/NeoSyndie -name "*.rsi" -type d | while read rsi_dir; do
  meta_file="$rsi_dir/meta.json"
  if [ -f "$meta_file" ]; then
    states=$(python3 -c "import json; d=json.load(open('$meta_file')); print(','.join([s.get('name','') for s in d.get('states',[])]) )" 2>/dev/null)
    if echo "$states" | grep -q "\-vox"; then
      echo "=== $(basename $rsi_dir) ==="
      echo "$states" | tr ',' '\n' | sort | grep vox
    fi
  fi
done

Repository: space-sunrise/lust-station

Length of output: 533


🏁 Script executed:

#!/bin/bash
python3 << 'PYTHON'
import json
from pathlib import Path

files = [
    "Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/meta.json",
    "Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/meta.json",
    "Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/meta.json",
    "Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/meta.json",
]

for fpath in files:
    p = Path(fpath)
    if p.exists():
        data = json.loads(p.read_text(encoding="utf-8"))
        states = sorted([s.get("name") for s in data.get("states", [])])
        print(f"\n=== {p.parent.parent.parent.name}/{p.parent.name}/{p.parent.parent.name} ===")
        for state in states:
            print(f"  {state}")
PYTHON

Repository: space-sunrise/lust-station

Length of output: 734


Добавьте отсутствующее состояние для vox-варианта включённого шлема.

Во всех аналогичных шлемах (gorlex_medic, gorlex_reclaimer, cybersun) наличие on-equipped-HELMET сопровождается on-equipped-HELMET-vox. В gorlex_phanthom это состояние отсутствует, что приведёт к визуальному дефекту для vox-персонажей с включённым шлемом.

Предлагаемый фикс
     {
       "name": "on-equipped-HELMET",
       "directions": 4
+    },
+    {
+      "name": "on-equipped-HELMET-vox",
+      "directions": 4
     }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"name": "equipped-HELMET-vox",
"directions": 4
},
{
"name": "on-equipped-HELMET",
"directions": 4
}
"name": "equipped-HELMET-vox",
"directions": 4
},
{
"name": "on-equipped-HELMET",
"directions": 4
},
{
"name": "on-equipped-HELMET-vox",
"directions": 4
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/meta.json`
around lines 21 - 27, The meta entry for the vox variant of the
"on-equipped-HELMET" state is missing; add a new object with "name":
"on-equipped-HELMET-vox" and "directions": 4 alongside the existing
"on-equipped-HELMET" entry so vox characters display the powered-helmet state
correctly (mirror the pattern used for "equipped-HELMET-vox" and other gorlex_*
helmets).

Comment on lines +21 to +27
"name": "equipped-HELMET-vox",
"directions": 4
},
{
"name": "on-equipped-HELMET",
"directions": 4
}
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 | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

python - <<'PY'
import json
from pathlib import Path

targets = [
    Path("Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/meta.json"),
    Path("Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/meta.json"),
]
for p in targets:
    data = json.loads(p.read_text(encoding="utf-8"))
    states = {s.get("name") for s in data.get("states", [])}
    if {"equipped-HELMET-vox", "on-equipped-HELMET"}.issubset(states) and "on-equipped-HELMET-vox" not in states:
        print(f"[MISSING on-equipped-HELMET-vox] {p}")
    else:
        print(f"[OK] {p}")
PY

Repository: space-sunrise/lust-station

Length of output: 314


🏁 Script executed:

# Find all helmet-related RSI meta.json files to understand the state pattern
find Resources/Textures -type f -name "meta.json" -path "*/Head/*" | head -20

Repository: space-sunrise/lust-station

Length of output: 1306


🏁 Script executed:

# Search for all helmet meta files that have vox-equipped states
rg -l "equipped.*vox" Resources/Textures --type json | grep -i helmet | head -15

Repository: space-sunrise/lust-station

Length of output: 1102


🏁 Script executed:

# Check other helmets to see if they have the on-equipped-HELMET-vox pattern
python3 <<'EOF'
import json
from pathlib import Path
import glob

# Find helmet meta.json files
helmet_files = list(Path("Resources/Textures").rglob("*/Head/**/*.rsi/meta.json"))
helmet_files = [f for f in helmet_files if any(x in str(f) for x in ["helmet", "hard", "suit"])]

print(f"Found {len(helmet_files)} helmet-related RSI files\n")

pattern_summary = {}
for meta_file in sorted(helmet_files)[:15]:  # Sample first 15
    try:
        data = json.loads(meta_file.read_text(encoding="utf-8"))
        states = {s.get("name") for s in data.get("states", [])}
        
        # Check for relevant patterns
        has_equipped_vox = "equipped-HELMET-vox" in states or any("vox" in s for s in states)
        has_on_equipped = "on-equipped-HELMET" in states or any("on-equipped" in s for s in states)
        has_on_equipped_vox = "on-equipped-HELMET-vox" in states
        
        pattern = f"vox:{has_equipped_vox} | on-eq:{has_on_equipped} | on-eq-vox:{has_on_equipped_vox}"
        pattern_summary[str(meta_file.relative_to("."))] = pattern
    except Exception as e:
        pattern_summary[str(meta_file.relative_to("."))] = f"ERROR: {e}"

for file, pattern in sorted(pattern_summary.items()):
    print(f"{file}: {pattern}")
EOF

Repository: space-sunrise/lust-station

Length of output: 1799


🏁 Script executed:

cat -n Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/meta.json

Repository: space-sunrise/lust-station

Length of output: 732


🏁 Script executed:

cat -n Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/meta.json

Repository: space-sunrise/lust-station

Length of output: 700


🏁 Script executed:

# Compare with a working example (cybersun from base game)
cat -n Resources/Textures/Clothing/Head/Hardsuits/cybersun.rsi/meta.json | head -40

Repository: space-sunrise/lust-station

Length of output: 1496


Добавьте on-equipped-HELMET-vox для корректного отображения у вокс.

В обоих файлах присутствует equipped-HELMET-vox и on-equipped-HELMET, но отсутствует on-equipped-HELMET-vox. При активации режима шлема персонажи расы вокс будут использовать некорректный спрайт вместо видовой вариации.

Предлагаемый фикс
     {
       "name": "on-equipped-HELMET",
       "directions": 4
+    },
+    {
+      "name": "on-equipped-HELMET-vox",
+      "directions": 4
     }

Это же касается обоих файлов: stalker_cybersun.rsi/meta.json и gorlex_phanthom.rsi/meta.json.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"name": "equipped-HELMET-vox",
"directions": 4
},
{
"name": "on-equipped-HELMET",
"directions": 4
}
"name": "equipped-HELMET-vox",
"directions": 4
},
{
"name": "on-equipped-HELMET",
"directions": 4
},
{
"name": "on-equipped-HELMET-vox",
"directions": 4
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/meta.json`
around lines 21 - 27, В meta.json рядом с существующими записями
"equipped-HELMET-vox" и "on-equipped-HELMET" добавьте отсутствующую запись с
именем "on-equipped-HELMET-vox" и теми же параметрами (например "directions":
4), следуя синтаксису массива объектов JSON и корректно расставив запятые;
проделайте то же в другом meta.json, где есть те же две упомянутые записи, чтобы
вокс-персонажи использовали вариант спрайта при режиме шлема.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant