Добавление маркеров камер для тега и суперматерии#1478
Conversation
WalkthroughИзменены две YAML-карты подземелий (supermatter_chamber.yml, teg_chamber.yml): обновлены метаданные движка, наборы тайлов и закодированные чанки, полностью перестроены секции сущностей с новыми прототипами газовой/электрической инфраструктуры. В прототипах процедурных карт увеличен размер комнаты SupermatterChamber1. ChangesОбновление карт и размеров комнаты
Estimated code review effort: 4 (Complex) | ~60 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Resources/Maps/Dungeon/Engine/supermatter_chamber.yml`:
- Around line 1338-1369: The DeviceLinkSource for LockableButtonEngineering (uid
118) is missing two shutter links, so shutters 104 and 105 are not toggled with
the rest. Update the linkedPorts mapping in this supermatter chamber setup to
include ports for 104 and 105 alongside the existing ShuttersRadiationOpen
entries so the button controls all 12 shutters consistently.
In `@Resources/Maps/Dungeon/Engine/teg_chamber.yml`:
- Around line 301-310: The map contains a duplicate CableApcExtension placement
at the same Transform position 0.5,1.5, so remove one of the overlapping
entities (either uid 219 or uid 220) from the chamber definition and update the
entityCount accordingly. Use the matching Transform entries and uids in
teg_chamber.yml to locate the duplicate, and keep only a single APC cable on
that tile to avoid load warnings.
- Around line 346-350: The map contains duplicate CableApcExtension entities at
the same positions, so remove the extra instances from teg_chamber.yml for the
duplicates at 9.5,7.5 and 0.5,1.5, keeping only one entity per location. Update
entityCount in the same map definition to match the corrected number of
entities, and verify the remaining CableApcExtension entries by uid so the
entity list stays consistent.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 892a4c3b-1127-4081-be62-923c5c12952c
📒 Files selected for processing (3)
Resources/Maps/Dungeon/Engine/supermatter_chamber.ymlResources/Maps/Dungeon/Engine/teg_chamber.ymlResources/Prototypes/_Backmen/Procedural/Maps/engine_rooms.yml
| - type: DeviceLinkSource | ||
| linkedPorts: | ||
| 108: | ||
| - - Pressed | ||
| - Toggle | ||
| 107: | ||
| - - Pressed | ||
| - Toggle | ||
| 106: | ||
| - - Pressed | ||
| - Toggle | ||
| 98: | ||
| - - Pressed | ||
| - Toggle | ||
| 99: | ||
| - - Pressed | ||
| - Toggle | ||
| 100: | ||
| - - Pressed | ||
| - Toggle | ||
| 101: | ||
| - - Pressed | ||
| - Toggle | ||
| 102: | ||
| - - Pressed | ||
| - Toggle | ||
| 103: | ||
| - - Pressed | ||
| - Toggle | ||
| 116: | ||
| - - Pressed | ||
| - Toggle |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Найти все DeviceLinkSource, ссылающиеся на 104/105 в карте
rg -nP -C2 '\b(104|105):' Resources/Maps/Dungeon/Engine/supermatter_chamber.yml
# Показать блок ShuttersRadiationOpen для подтверждения uid/позиций
rg -nP -A40 'proto: ShuttersRadiationOpen' Resources/Maps/Dungeon/Engine/supermatter_chamber.ymlRepository: Rxup/space-station-14
Length of output: 1081
Подключите шторки 104 и 105 к кнопке управления — сейчас LockableButtonEngineering (uid 118) управляет только 10 из 12 ShuttersRadiationOpen; шторки 104 и 105 не входят в linkedPorts и не будут переключаться вместе с остальными.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Resources/Maps/Dungeon/Engine/supermatter_chamber.yml` around lines 1338 -
1369, The DeviceLinkSource for LockableButtonEngineering (uid 118) is missing
two shutter links, so shutters 104 and 105 are not toggled with the rest. Update
the linkedPorts mapping in this supermatter chamber setup to include ports for
104 and 105 alongside the existing ShuttersRadiationOpen entries so the button
controls all 12 shutters consistently.
| - uid: 219 | ||
| components: | ||
| - type: Transform | ||
| pos: 0.5,1.5 | ||
| parent: 1 | ||
| - uid: 220 | ||
| components: | ||
| - type: Transform | ||
| pos: 0.5,1.5 | ||
| parent: 1 |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Дублирующийся кабель CableApcExtension на тайле 0.5,1.5.
uid: 219 (Line 304) и uid: 220 (Line 309) размещены на одной и той же позиции 0.5,1.5. Два APC-кабеля на одном тайле избыточны и приводят к предупреждениям при загрузке карты. Удалите дубликат (и уменьшите entityCount на Line 8 соответственно).
🐛 Предлагаемое исправление
- uid: 219
components:
- type: Transform
pos: 0.5,1.5
parent: 1
- - uid: 220
- components:
- - type: Transform
- pos: 0.5,1.5
- parent: 1
- uid: 221
components:
- type: Transform
pos: 0.5,2.5
parent: 1🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Resources/Maps/Dungeon/Engine/teg_chamber.yml` around lines 301 - 310, The
map contains a duplicate CableApcExtension placement at the same Transform
position 0.5,1.5, so remove one of the overlapping entities (either uid 219 or
uid 220) from the chamber definition and update the entityCount accordingly. Use
the matching Transform entries and uids in teg_chamber.yml to locate the
duplicate, and keep only a single APC cable on that tile to avoid load warnings.
| - uid: 228 | ||
| components: | ||
| - type: Transform | ||
| pos: 9.5,7.5 | ||
| parent: 1 |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
python3 - "$(fd -a teg_chamber.yml Resources/Maps/Dungeon/Engine)" <<'PY'
import sys, re
path = sys.argv[1]
proto = None
seen = {}
uid = None
count = 0
cur = {}
lines = open(path).read().splitlines()
i = 0
entities_section = False
for ln in lines:
m = re.match(r'- proto: (\S+)', ln)
if m:
proto = m.group(1); continue
mu = re.match(r'\s+- uid: (\d+)', ln)
if mu:
uid = mu.group(1); count += 1; continue
mp = re.match(r'\s+pos: (\S+)', ln)
if mp and proto and uid:
key = (proto, mp.group(1))
seen.setdefault(key, []).append(uid)
print("entities counted:", count)
for (p, pos), uids in seen.items():
if len(uids) > 1:
print("DUP", p, pos, uids)
PYRepository: Rxup/space-station-14
Length of output: 271
🏁 Script executed:
#!/bin/bash
set -euo pipefail
file="Resources/Maps/Dungeon/Engine/teg_chamber.yml"
echo "== entityCount =="
rg -n '^\s*entityCount:' "$file" || true
echo
echo "== relevant uids =="
for uid in 206 219 220 228; do
echo "--- uid $uid ---"
rg -n -A4 -B4 "^\s*- uid: $uid\b" "$file" || true
echo
done
echo "== total entity entries =="
python3 - <<'PY'
import re
from pathlib import Path
text = Path("Resources/Maps/Dungeon/Engine/teg_chamber.yml").read_text().splitlines()
uids = [ln for ln in text if re.match(r'^\s*- uid: \d+\b', ln)]
print(len(uids))
PYRepository: Rxup/space-station-14
Length of output: 1098
Убрать дубли CableApcExtension на карте
На 9.5,7.5 есть uid: 206 и uid: 228, а на 0.5,1.5 — uid: 219 и uid: 220. Уберите лишние экземпляры и обновите entityCount.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Resources/Maps/Dungeon/Engine/teg_chamber.yml` around lines 346 - 350, The
map contains duplicate CableApcExtension entities at the same positions, so
remove the extra instances from teg_chamber.yml for the duplicates at 9.5,7.5
and 0.5,1.5, keeping only one entity per location. Update entityCount in the
same map definition to match the corrected number of entities, and verify the
remaining CableApcExtension entries by uid so the entity list stays consistent.
Summary by CodeRabbit
Новые возможности
Баг-фиксы