Conversation
3 скафандра Gorlex LLC (Фантом, Перехватчик, Медик) и скафандр Синди. Могут быть перебаффаны, т.к. не предназначенны для использования на ивентах.
Починил текстуры скафандров (Скафандры Горлекса).
|
RSI Diff Bot; head commit 8eac761 merging into ebcbd36 Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi
Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi
Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi
Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi
Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi
Resources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi
|
📝 WalkthroughОбзорДобавлены новые YAML-файлы прототипов для четырёх вариантов экзоскелетов NeoSyndi (Stalker, Gorlex Phantom, Gorlex Reclaimer, Gorlex Medic) с полной конфигурацией компонентов, включая броню, защиту от давления и биокод-варианты, а также метаданные текстур для спрайтов головных уборов и верхней одежды. Изменения
Оценка сложности рецензирования🎯 2 (Простые) | ⏱️ ~10 минут Предложенные метки
Стихотворение
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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. Comment |
There was a problem hiding this comment.
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: hugeAlso 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
⛔ Files ignored due to path filters (42)
Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/icon-flash.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/off-equipped-HELMET-vox.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/off-equipped-HELMET.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/on-equipped-HELMET-vox.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/on-equipped-HELMET.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/equipped-HELMET-vox.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/equipped-HELMET.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/icon-flash.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/on-equipped-HELMET.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/icon-flash.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/off-equipped-HELMET-vox.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/off-equipped-HELMET.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/on-equipped-HELMET-vox.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/on-equipped-HELMET.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/equipped-HELMET-vox.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/equipped-HELMET.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/icon-flash.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/on-equipped-HELMET.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/equipped-OUTERCLOTHING-vox.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/equipped-OUTERCLOTHING.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/equipped-OUTERCLOTHING-vox.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/equipped-OUTERCLOTHING.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/equipped-OUTERCLOTHING-vox.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/equipped-OUTERCLOTHING.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/inhand-right.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/equipped-OUTERCLOTHING-vox.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/equipped-OUTERCLOTHING.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/icon.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/inhand-left.pngis excluded by!**/*.pngResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/inhand-right.pngis excluded by!**/*.png
📒 Files selected for processing (11)
Resources/Prototypes/_Lust/NeoSyndi/hardsuits.ymlResources/Prototypes/_Lust/NeoSyndi/hardsuitsbiocode.ymlResources/Prototypes/_Lust/NeoSyndi/head.ymlResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_medic.rsi/meta.jsonResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/meta.jsonResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_reclaimer.rsi/meta.jsonResources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/meta.jsonResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_medic.rsi/meta.jsonResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_phanthom.rsi/meta.jsonResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/gorlex_reclaimer.rsi/meta.jsonResources/Textures/_Lust/NeoSyndie/Clothing/OuterClothing/Hardsuits/stalker_cybersun.rsi/meta.json
| parent: [ClothingOuterHardsuitBase, BaseSyndicateContraband] | ||
| id: ClothingOuterHardsuitStalker | ||
| name: скафандр Сталкера Cybersun | ||
| description: Новейший бронескафандр отдела передовых исследоаний и разработок Cybersun. Ещё не пущен в массовое производство, возможно, ещё даже незапотентован. |
There was a problem hiding this comment.
Опечатки в описании скафандра.
В описании две орфографические ошибки:
- "исследоаний" → "исследований"
- "незапотентован" → "незапатентован"
📝 Предлагаемое исправление
- 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.
| 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 и обновите текст
описания).
| #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 |
There was a problem hiding this comment.
Ошибка копирования: неверное название и описание шлема медика.
Шлем медика (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.
| "name": "equipped-HELMET-vox", | ||
| "directions": 4 | ||
| }, | ||
| { | ||
| "name": "on-equipped-HELMET", | ||
| "directions": 4 | ||
| } |
There was a problem hiding this comment.
🧩 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)
PYRepository: 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 -100Repository: space-sunrise/lust-station
Length of output: 3024
🏁 Script executed:
#!/bin/bash
# Поиск определения gorlex_phanthom в прототипах
rg -i "gorlex.*phanthom" Resources/Prototypes/ -A 10 -B 2Repository: 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
doneRepository: 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}")
PYTHONRepository: 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.
| "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).
| "name": "equipped-HELMET-vox", | ||
| "directions": 4 | ||
| }, | ||
| { | ||
| "name": "on-equipped-HELMET", | ||
| "directions": 4 | ||
| } |
There was a problem hiding this comment.
🧩 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}")
PYRepository: 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 -20Repository: 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 -15Repository: 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}")
EOFRepository: space-sunrise/lust-station
Length of output: 1799
🏁 Script executed:
cat -n Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/stalker_cybersun.rsi/meta.jsonRepository: space-sunrise/lust-station
Length of output: 732
🏁 Script executed:
cat -n Resources/Textures/_Lust/NeoSyndie/Clothing/Head/Hardsuits/gorlex_phanthom.rsi/meta.jsonRepository: 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 -40Repository: 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.
| "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, где есть те же две упомянутые записи, чтобы
вокс-персонажи использовали вариант спрайта при режиме шлема.






























[
Кратное описание
Добавлены 4 новых скафандра:-Медик Gorlex
-Фантом Gorlex
-Перехватчик Gorlex
-Сталкер Cybersun
[Могут быть пербаффаны, т.к. не предназначены для использования в обычных условия раунда.]
По какой причине
Реквизит для ивентов компании на Lust.Медиа(Видео/Скриншоты)
Changelog
Никаких прямых изменений остального билда.🆑 VigersRay
-->
Summary by CodeRabbit
Новые возможности