Bigass shuttle clean up - #5379
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughSummary
User impactShuttle loading and random selection use the updated paths. External tools that use old paths must be updated. Notable upstream-file changesDeletes unused arrivals, cargo, emergency, and Risk areas
Guideline gaps
WalkthroughThis PR reorganizes Starlight shuttle maps into categorized directories, adds complete map definitions, updates station and game-rule references, refreshes shipyard catalog paths, and adjusts integration-test map inputs and whitelists. ChangesStarlight shuttle map reorganization
Estimated code review effort: 5 (Critical) | ~120 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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 |
|
Throwing on a DO NOT MERGE until event admins are well-notified the directories of their shuttles have changed. |
There was a problem hiding this comment.
Actionable comments posted: 12
🤖 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/_Starlight/Shuttles/Admeme/RecluseClassSHC.yml`:
- Around line 3603-3677: Remove one entity from each duplicate
positional/rotational pair in the PlasmaReinforcedWindowDirectional block:
retain either 168/183, 169/182, 170/181, 171/180, 173/178, and 174/177, leaving
one window per location and orientation.
In `@Resources/Maps/_Starlight/Shuttles/Admeme/Signaleer.yml`:
- Line 6197: Correct the mission briefing text in the displayed line by
replacing “of” with “or,” so it reads “Do not allow yourself or your fellow
agents to be discovered.”
- Around line 4464-4481: Remove the loose duplicate entity with uid 645 from the
map data, leaving the anchored, red-colored pipe entity uid 644 at 7.5,2.5
unchanged.
In `@Resources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.yml`:
- Around line 9074-9094: Update the KitchenOven or KitchenStove entity in the
galley layout so they no longer share position 3.5,17.5; move one appliance to a
free adjacent tile while preserving both appliances unless the layout
intentionally requires only one.
In `@Resources/Maps/_Starlight/Shuttles/CC-NT/NTSV_HarrierClass.yml`:
- Line 36: Update the shuttle grid’s MetaData name from “NTVS Harrier-class” to
“NTSV Harrier-class” so it matches the filename and other existing labels.
In `@Resources/Maps/_Starlight/Shuttles/Evac/emergency_manor.yml`:
- Around line 639-701: Add DeviceNetwork components with appropriate deviceLists
links to AirSensor entities 1021, 1022, 1031, 1032, 1039, and 1040. Link each
sensor to the nearest existing FireAlarm list, following the established wiring
pattern used by neighboring sensors and the suggested alarm lists for the -7.5
and 23.5 areas.
- Around line 3588-3596: Remove the stray entity with uid 839 from the emergency
manor map; preserve the anchored pipe uid 815 at the same position and leave the
rest of the atmos loop unchanged.
In `@Resources/Maps/_Starlight/Shuttles/Evac/emergency_ming.yml`:
- Around line 32-33: Remove the trailing space from the shuttle display name in
the MetaData entry named “NTE 'Bucket' Evacuation”, preserving the rest of the
name unchanged.
In `@Resources/Maps/_Starlight/Shuttles/Evac/emergency_prism.yml`:
- Around line 2040-2046: Replace the uid 255 DebugGenerator prototype in the
evac map with the standard production generator used by other Starlight_evac
maps, preserving its position and parent while connecting it to the HV network
and existing SMES/substation power setup.
In `@Resources/Maps/_Starlight/Shuttles/Evac/emergency_starboard.yml`:
- Around line 1520-1524: Remove the redundant APC cable entity with uid 134 from
the map data, leaving the existing uid 133 cable at position 8.5,-3.5 unchanged.
In `@Resources/Maps/_Starlight/Shuttles/Evac/emergency_syndicate.yml`:
- Around line 1936-1943: Remove the duplicate wall closet entity represented by
uid 540 from the emergency shuttle map, preserving uid 539 and the existing
atmos setup.
In `@Resources/Maps/_Starlight/Shuttles/Shipyard/Bumblebee.yml`:
- Around line 803-808: Update the AirSensor entity with uid 29 to include the
same DeviceNetwork/deviceLists registration pattern used by the other sensors,
and add uid 29 to the DeviceList for the hydroponics AirAlarm with uid 4. Leave
the existing sensor transform and alarm wiring unchanged.
🪄 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 (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: cc921a13-b8d0-4ae5-aeb3-d9456d956213
📒 Files selected for processing (88)
Content.IntegrationTests/Tests/PostMapInitTest.csContent.IntegrationTests/Tests/_Starlight/Power/GridPowerTests.csResources/Maps/Shuttles/arrivals_relic.ymlResources/Maps/Shuttles/cargo_core.ymlResources/Maps/Shuttles/cargo_exo.ymlResources/Maps/Shuttles/cargo_plasma.ymlResources/Maps/Shuttles/cargo_relic.ymlResources/Maps/Shuttles/dart.ymlResources/Maps/Shuttles/emergency_amber.ymlResources/Maps/Shuttles/emergency_cluster.ymlResources/Maps/Shuttles/emergency_courser.ymlResources/Maps/Shuttles/emergency_delta.ymlResources/Maps/Shuttles/emergency_exo.ymlResources/Maps/Shuttles/emergency_meta.ymlResources/Maps/Shuttles/emergency_raven.ymlResources/Maps/Shuttles/emergency_relic.ymlResources/Maps/Shuttles/emergency_rod.ymlResources/Maps/Shuttles/mothership.ymlResources/Maps/Shuttles/pirate.ymlResources/Maps/Shuttles/shittle.ymlResources/Maps/Shuttles/wizard.ymlResources/Maps/_Starlight/Shuttles/Admeme/LancePirates.ymlResources/Maps/_Starlight/Shuttles/Admeme/Radiotower.ymlResources/Maps/_Starlight/Shuttles/Admeme/RecluseClassSHC.ymlResources/Maps/_Starlight/Shuttles/Admeme/Signaleer.ymlResources/Maps/_Starlight/Shuttles/Admeme/SmugglerMex.ymlResources/Maps/_Starlight/Shuttles/Admeme/VoxATS.ymlResources/Maps/_Starlight/Shuttles/Admeme/lotteryShuttleAdmeme.ymlResources/Maps/_Starlight/Shuttles/Admeme/quantum_ark.ymlResources/Maps/_Starlight/Shuttles/Admeme/quantum_ark_event.ymlResources/Maps/_Starlight/Shuttles/Admeme/scarletSHCdefenderFinal.ymlResources/Maps/_Starlight/Shuttles/Admeme/ss_ana.ymlResources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.ymlResources/Maps/_Starlight/Shuttles/CC-NT/NT-Experimental-Botany-shuttle.ymlResources/Maps/_Starlight/Shuttles/CC-NT/NTSV_HarrierClass.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_plasma.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_prism.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_silica.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_syndicate.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_cluster.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_delta.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_hotel.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_lox.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_manor.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_ming.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_prism.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_raven.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_silica.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_spacemall.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_starboard.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_syndicate.ymlResources/Maps/_Starlight/Shuttles/Nukeops/blackhorse.ymlResources/Maps/_Starlight/Shuttles/Nukeops/leyline.ymlResources/Maps/_Starlight/Shuttles/Nukeops/omen.ymlResources/Maps/_Starlight/Shuttles/Nukeops/widow.ymlResources/Maps/_Starlight/Shuttles/Reach.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Bumblebee.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Comet.ymlResources/Maps/_Starlight/Shuttles/Shipyard/GasTransport.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Honeybee.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Mini_Ingeniator.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Munchies.ymlResources/Maps/_Starlight/Shuttles/Shipyard/ReachButShipyard.ymlResources/Maps/_Starlight/Shuttles/Shipyard/barge.ymlResources/Maps/_Starlight/Shuttles/Shipyard/breaker.ymlResources/Maps/_Starlight/Shuttles/Shipyard/pioneer.ymlResources/Maps/_Starlight/Shuttles/Shipyard/prospector.ymlResources/Maps/_Starlight/Shuttles/Shipyard/pts.ymlResources/Prototypes/_Starlight/Catalog/default_shipyard_catalog.ymlResources/Prototypes/_Starlight/Entities/Structures/Doors/Airlocks/access.ymlResources/Prototypes/_Starlight/GameRules/shuttles.ymlResources/Prototypes/_Starlight/Maps/bagel.ymlResources/Prototypes/_Starlight/Maps/barratry.ymlResources/Prototypes/_Starlight/Maps/cluster.ymlResources/Prototypes/_Starlight/Maps/fland.ymlResources/Prototypes/_Starlight/Maps/hotel.ymlResources/Prototypes/_Starlight/Maps/lagan.ymlResources/Prototypes/_Starlight/Maps/lobster.ymlResources/Prototypes/_Starlight/Maps/manor.ymlResources/Prototypes/_Starlight/Maps/ming.ymlResources/Prototypes/_Starlight/Maps/orwell.ymlResources/Prototypes/_Starlight/Maps/plasma.ymlResources/Prototypes/_Starlight/Maps/prism.ymlResources/Prototypes/_Starlight/Maps/sepultum.ymlResources/Prototypes/_Starlight/Maps/serpentcrest.ymlResources/Prototypes/_Starlight/Maps/silica.ymlResources/Prototypes/_Starlight/Maps/spacemall.ymlResources/Prototypes/_Starlight/Maps/starboard.yml
💤 Files with no reviewable changes (7)
- Resources/Maps/Shuttles/cargo_plasma.yml
- Resources/Maps/Shuttles/emergency_relic.yml
- Resources/Maps/Shuttles/shittle.yml
- Resources/Maps/Shuttles/cargo_core.yml
- Resources/Maps/Shuttles/arrivals_relic.yml
- Resources/Maps/Shuttles/cargo_exo.yml
- Resources/Maps/Shuttles/cargo_relic.yml
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 12
🤖 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/_Starlight/Shuttles/Admeme/RecluseClassSHC.yml`:
- Around line 3603-3677: Remove one entity from each duplicate
positional/rotational pair in the PlasmaReinforcedWindowDirectional block:
retain either 168/183, 169/182, 170/181, 171/180, 173/178, and 174/177, leaving
one window per location and orientation.
In `@Resources/Maps/_Starlight/Shuttles/Admeme/Signaleer.yml`:
- Line 6197: Correct the mission briefing text in the displayed line by
replacing “of” with “or,” so it reads “Do not allow yourself or your fellow
agents to be discovered.”
- Around line 4464-4481: Remove the loose duplicate entity with uid 645 from the
map data, leaving the anchored, red-colored pipe entity uid 644 at 7.5,2.5
unchanged.
In `@Resources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.yml`:
- Around line 9074-9094: Update the KitchenOven or KitchenStove entity in the
galley layout so they no longer share position 3.5,17.5; move one appliance to a
free adjacent tile while preserving both appliances unless the layout
intentionally requires only one.
In `@Resources/Maps/_Starlight/Shuttles/CC-NT/NTSV_HarrierClass.yml`:
- Line 36: Update the shuttle grid’s MetaData name from “NTVS Harrier-class” to
“NTSV Harrier-class” so it matches the filename and other existing labels.
In `@Resources/Maps/_Starlight/Shuttles/Evac/emergency_manor.yml`:
- Around line 639-701: Add DeviceNetwork components with appropriate deviceLists
links to AirSensor entities 1021, 1022, 1031, 1032, 1039, and 1040. Link each
sensor to the nearest existing FireAlarm list, following the established wiring
pattern used by neighboring sensors and the suggested alarm lists for the -7.5
and 23.5 areas.
- Around line 3588-3596: Remove the stray entity with uid 839 from the emergency
manor map; preserve the anchored pipe uid 815 at the same position and leave the
rest of the atmos loop unchanged.
In `@Resources/Maps/_Starlight/Shuttles/Evac/emergency_ming.yml`:
- Around line 32-33: Remove the trailing space from the shuttle display name in
the MetaData entry named “NTE 'Bucket' Evacuation”, preserving the rest of the
name unchanged.
In `@Resources/Maps/_Starlight/Shuttles/Evac/emergency_prism.yml`:
- Around line 2040-2046: Replace the uid 255 DebugGenerator prototype in the
evac map with the standard production generator used by other Starlight_evac
maps, preserving its position and parent while connecting it to the HV network
and existing SMES/substation power setup.
In `@Resources/Maps/_Starlight/Shuttles/Evac/emergency_starboard.yml`:
- Around line 1520-1524: Remove the redundant APC cable entity with uid 134 from
the map data, leaving the existing uid 133 cable at position 8.5,-3.5 unchanged.
In `@Resources/Maps/_Starlight/Shuttles/Evac/emergency_syndicate.yml`:
- Around line 1936-1943: Remove the duplicate wall closet entity represented by
uid 540 from the emergency shuttle map, preserving uid 539 and the existing
atmos setup.
In `@Resources/Maps/_Starlight/Shuttles/Shipyard/Bumblebee.yml`:
- Around line 803-808: Update the AirSensor entity with uid 29 to include the
same DeviceNetwork/deviceLists registration pattern used by the other sensors,
and add uid 29 to the DeviceList for the hydroponics AirAlarm with uid 4. Leave
the existing sensor transform and alarm wiring unchanged.
🪄 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 (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: cc921a13-b8d0-4ae5-aeb3-d9456d956213
📒 Files selected for processing (88)
Content.IntegrationTests/Tests/PostMapInitTest.csContent.IntegrationTests/Tests/_Starlight/Power/GridPowerTests.csResources/Maps/Shuttles/arrivals_relic.ymlResources/Maps/Shuttles/cargo_core.ymlResources/Maps/Shuttles/cargo_exo.ymlResources/Maps/Shuttles/cargo_plasma.ymlResources/Maps/Shuttles/cargo_relic.ymlResources/Maps/Shuttles/dart.ymlResources/Maps/Shuttles/emergency_amber.ymlResources/Maps/Shuttles/emergency_cluster.ymlResources/Maps/Shuttles/emergency_courser.ymlResources/Maps/Shuttles/emergency_delta.ymlResources/Maps/Shuttles/emergency_exo.ymlResources/Maps/Shuttles/emergency_meta.ymlResources/Maps/Shuttles/emergency_raven.ymlResources/Maps/Shuttles/emergency_relic.ymlResources/Maps/Shuttles/emergency_rod.ymlResources/Maps/Shuttles/mothership.ymlResources/Maps/Shuttles/pirate.ymlResources/Maps/Shuttles/shittle.ymlResources/Maps/Shuttles/wizard.ymlResources/Maps/_Starlight/Shuttles/Admeme/LancePirates.ymlResources/Maps/_Starlight/Shuttles/Admeme/Radiotower.ymlResources/Maps/_Starlight/Shuttles/Admeme/RecluseClassSHC.ymlResources/Maps/_Starlight/Shuttles/Admeme/Signaleer.ymlResources/Maps/_Starlight/Shuttles/Admeme/SmugglerMex.ymlResources/Maps/_Starlight/Shuttles/Admeme/VoxATS.ymlResources/Maps/_Starlight/Shuttles/Admeme/lotteryShuttleAdmeme.ymlResources/Maps/_Starlight/Shuttles/Admeme/quantum_ark.ymlResources/Maps/_Starlight/Shuttles/Admeme/quantum_ark_event.ymlResources/Maps/_Starlight/Shuttles/Admeme/scarletSHCdefenderFinal.ymlResources/Maps/_Starlight/Shuttles/Admeme/ss_ana.ymlResources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.ymlResources/Maps/_Starlight/Shuttles/CC-NT/NT-Experimental-Botany-shuttle.ymlResources/Maps/_Starlight/Shuttles/CC-NT/NTSV_HarrierClass.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_plasma.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_prism.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_silica.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_syndicate.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_cluster.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_delta.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_hotel.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_lox.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_manor.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_ming.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_prism.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_raven.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_silica.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_spacemall.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_starboard.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_syndicate.ymlResources/Maps/_Starlight/Shuttles/Nukeops/blackhorse.ymlResources/Maps/_Starlight/Shuttles/Nukeops/leyline.ymlResources/Maps/_Starlight/Shuttles/Nukeops/omen.ymlResources/Maps/_Starlight/Shuttles/Nukeops/widow.ymlResources/Maps/_Starlight/Shuttles/Reach.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Bumblebee.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Comet.ymlResources/Maps/_Starlight/Shuttles/Shipyard/GasTransport.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Honeybee.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Mini_Ingeniator.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Munchies.ymlResources/Maps/_Starlight/Shuttles/Shipyard/ReachButShipyard.ymlResources/Maps/_Starlight/Shuttles/Shipyard/barge.ymlResources/Maps/_Starlight/Shuttles/Shipyard/breaker.ymlResources/Maps/_Starlight/Shuttles/Shipyard/pioneer.ymlResources/Maps/_Starlight/Shuttles/Shipyard/prospector.ymlResources/Maps/_Starlight/Shuttles/Shipyard/pts.ymlResources/Prototypes/_Starlight/Catalog/default_shipyard_catalog.ymlResources/Prototypes/_Starlight/Entities/Structures/Doors/Airlocks/access.ymlResources/Prototypes/_Starlight/GameRules/shuttles.ymlResources/Prototypes/_Starlight/Maps/bagel.ymlResources/Prototypes/_Starlight/Maps/barratry.ymlResources/Prototypes/_Starlight/Maps/cluster.ymlResources/Prototypes/_Starlight/Maps/fland.ymlResources/Prototypes/_Starlight/Maps/hotel.ymlResources/Prototypes/_Starlight/Maps/lagan.ymlResources/Prototypes/_Starlight/Maps/lobster.ymlResources/Prototypes/_Starlight/Maps/manor.ymlResources/Prototypes/_Starlight/Maps/ming.ymlResources/Prototypes/_Starlight/Maps/orwell.ymlResources/Prototypes/_Starlight/Maps/plasma.ymlResources/Prototypes/_Starlight/Maps/prism.ymlResources/Prototypes/_Starlight/Maps/sepultum.ymlResources/Prototypes/_Starlight/Maps/serpentcrest.ymlResources/Prototypes/_Starlight/Maps/silica.ymlResources/Prototypes/_Starlight/Maps/spacemall.ymlResources/Prototypes/_Starlight/Maps/starboard.yml
💤 Files with no reviewable changes (7)
- Resources/Maps/Shuttles/cargo_plasma.yml
- Resources/Maps/Shuttles/emergency_relic.yml
- Resources/Maps/Shuttles/shittle.yml
- Resources/Maps/Shuttles/cargo_core.yml
- Resources/Maps/Shuttles/arrivals_relic.yml
- Resources/Maps/Shuttles/cargo_exo.yml
- Resources/Maps/Shuttles/cargo_relic.yml
🛑 Comments failed to post (12)
Resources/Maps/_Starlight/Shuttles/Admeme/RecluseClassSHC.yml (1)
3603-3677: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash # List every PlasmaReinforcedWindowDirectional transform in the file and report exact pos+rot duplicates. fd -i 'RecluseClassSHC.yml' --exec python3 - {} <<'PY' import sys, re, collections path = sys.argv[1] lines = open(path, encoding='utf-8').read().splitlines() start = None for i, l in enumerate(lines): if l.strip() == '- proto: PlasmaReinforcedWindowDirectional': start = i break if start is None: print("prototype block not found"); raise SystemExit(0) end = len(lines) for i in range(start + 1, len(lines)): if lines[i].startswith('- proto:'): end = i break block = lines[start:end] entries, cur = [], None for l in block: m = re.match(r'\s*- uid: (\d+)', l) if m: cur = {'uid': m.group(1), 'rot': 'none', 'pos': None} entries.append(cur) continue if cur is None: continue m = re.match(r'\s*rot: (\S+)', l) if m: cur['rot'] = m.group(1) m = re.match(r'\s*pos: (\S+)', l) if m: cur['pos'] = m.group(1) groups = collections.defaultdict(list) for e in entries: groups[(e['pos'], e['rot'])].append(e['uid']) print(f"total entities: {len(entries)}") dupes = {k: v for k, v in groups.items() if len(v) > 1} if not dupes: print("no exact pos+rot duplicates") for (pos, rot), uids in sorted(dupes.items()): print(f"DUPLICATE pos={pos} rot={rot} -> uids {', '.join(uids)}") PYRepository: ss14Starlight/space-station-14
Length of output: 168
🏁 Script executed:
#!/bin/bash set -euo pipefail # Locate the target file and inspect the referenced section and the prototype block parser behavior. target_file="$(fd -i '^RecluseClassSHC.yml$' . | head -n 1)" echo "target_file=${target_file:-not found}" if [ -n "${target_file:-}" ]; then echo "--- line count ---" wc -l "$target_file" echo "--- snippet lines 3598-3680 ---" sed -n '3598,3680p' "$target_file" | nl -ba -v3598 echo "--- prototype block starts near target ---" grep -n 'proto: PlasmaReinforcedWindowDirectional\|entities:' "$target_file" | tail -n 80 fi echo "--- search for PlasmaReinforcedWindowDirectional in file ---" grep -n 'PlasmaReinforcedWindowDirectional' "$target_file" || true echo "--- exact YAML/text shape around first block ---" python3 - <<'PY' from pathlib import Path p = next(Path('.').rglob('RecluseClassSHC.yml')) lines=p.read_text().splitlines() for idx,l in enumerate(lines,1): if 'PlasmaReinforcedWindowDirectional' in l: start=max(1,idx-3); end=min(len(lines), idx+250) print(f"start={start} end={end}") for n in range(start,end+1): print(f"{n:4d}\t{lines[n-1]}") PYRepository: ss14Starlight/space-station-14
Length of output: 405
🏁 Script executed:
#!/bin/bash set -euo pipefail target="./Resources/Maps/_Starlight/Shuttles/Admeme/RecluseClassSHC.yml" echo "--- line count ---" wc -l "$target" echo "--- snippet lines 3598-3680 ---" sed -n '3598,3680p' "$target" | awk '{printf "%6d %s\n", NR+3597, $0}' echo "--- search for PlasmaReinforcedWindowDirectional in file ---" grep -n 'PlasmaReinforcedWindowDirectional' "$target" || true echo "--- count total window directional matches ---" grep -c 'PlasmaReinforcedWindowDirectional' "$target" || true echo "--- parse only the referenced PlasmaReinforcedWindowDirectional block and exact dupes ---" python3 - "$target" <<'PY' import re, sys, collections path=sys.argv[1] lines=open(path, encoding='utf-8').read().splitlines() start=None for i,l in enumerate(lines): if l.strip() == '- proto: PlasmaReinforcedWindowDirectional': start=i break if start is None: print("prototype block not found") raise SystemExit(0) end=len(lines) for i in range(start+1, len(lines)): if lines[i].startswith('- proto:') or lines[i].startswith('# '): end=i; break block=lines[start:end] print(f"scope lines {start+1}-{end}") entries=[] cur=None entity_indent=None for l in block: if re.match(r'\s*- proto:', l): cur=None; continue if re.match(r'\s*entities:', l): continue m=re.match(r'^(\s*)- uid: (\d+)', l) if m: entity_indent=len(m.group(1)) cur={'start_line': block.index(l)+1 if l in block else None, 'uid': m.group(2), 'rot': None, 'pos': None} entries.append(cur) continue if cur is None: continue if l.strip() == 'components:': cur['_components'] = True continue m=re.match(r'\s+type: (?P<type>\S+)', l) if m: if cur.get('_components'): cur['component'] = m.group('type'); continue m=re.match(r'\s*rot: (\S+)', l) if m: cur['rot'] = m.group(1) m=re.match(r'\s*pos: (\S+)', l) if m: cur['pos'] = m.group(1) groups=collections.defaultdict(list) for e in entries: groups[(e.get('pos'), e.get('rot'))].append(e) print(f"total entities in ProtoPlasmaReinforcedWindowDirectional: {len(entries)}") for k,v in sorted(groups.items()): print(f"({k[0]}, {k[1]}): {len(v)} -> " + ', '.join(f"{u['uid']} line {u['start_line']}" for u in v)) PYRepository: ss14Starlight/space-station-14
Length of output: 3432
Trim the duplicate directional windows
Nice work on the atmos miner room; the enclosure layout is clean. This block has six exact
pos+rotduplicates (uids 168/183,169/182,170/181,171/180,173/178,174/177), so each edge gets two identical directional windows instead of one. Delete one of each pair in the editor and re-save to avoid doubled placement and unnecessary entity count.🤖 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/_Starlight/Shuttles/Admeme/RecluseClassSHC.yml` around lines 3603 - 3677, Remove one entity from each duplicate positional/rotational pair in the PlasmaReinforcedWindowDirectional block: retain either 168/183, 169/182, 170/181, 171/180, 173/178, and 174/177, leaving one window per location and orientation.Source: Learnings
Resources/Maps/_Starlight/Shuttles/Admeme/Signaleer.yml (2)
4464-4481: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Stray unanchored gas pipe stacked on an anchored one at
7.5,2.5.The pipe network on this outpost is genuinely well laid out — the red/blue colour separation between scrubber and distro loops makes it easy to read at a glance, which is more than a lot of maps manage. That said, uid 645 looks like an accident: it sits at the same tile and rotation as uid 644, but with
anchored: False,bodyType: Dynamic, and noAtmosPipeColor. That's a loose pipe item dropped on the floor rather than a built segment, so it won't join the network and will just slide around and bump into people.🔧 Proposed fix — delete the loose duplicate
- - uid: 645 - components: - - type: Transform - anchored: False - rot: 3.141592653589793 rad - pos: 7.5,2.5 - parent: 1 - - type: Physics - canCollide: True - bodyType: Dynamic📝 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.- uid: 644 components: - type: Transform rot: 3.141592653589793 rad pos: 7.5,2.5 parent: 1 - type: AtmosPipeColor color: '`#FF0000FF`'🤖 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/_Starlight/Shuttles/Admeme/Signaleer.yml` around lines 4464 - 4481, Remove the loose duplicate entity with uid 645 from the map data, leaving the anchored, red-colored pipe entity uid 644 at 7.5,2.5 unchanged.
6197-6197: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Typo in the in-game mission briefing: "of" should be "or".
The briefing itself is a great touch — the ASCII syndicate header is a lovely bit of flavour. Just one word off in a line players will actually read: "Do not allow yourself of your fellow agents to be discovered."
✏️ Proposed fix
- Do not allow yourself of your fellow agents to be discovered. + Do not allow yourself or your fellow agents to be discovered.📝 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.Do not allow yourself or your fellow agents to be discovered.🤖 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/_Starlight/Shuttles/Admeme/Signaleer.yml` at line 6197, Correct the mission briefing text in the displayed line by replacing “of” with “or,” so it reads “Do not allow yourself or your fellow agents to be discovered.”Resources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.yml (1)
9074-9094: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash set -euo pipefail file="Resources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.yml" if [ ! -f "$file" ]; then echo "missing $file" fd -a "NSSV_MetaClass.yml" . exit 0 fi echo "line count:" wc -l "$file" echo "matching KitchenOven/KitchenStove entries around reported lines:" sed -n '9066,9098p' "$file" | nl -ba -v9066 echo echo "all KitchenOven/KitchenStove KitchenReagentGrinder Kitchen items in file:" rg -n 'proto: (KitchenOven|KitchenStove|KitchenReagentGrinder|KitchenMicrowave)' "$file" -C 3 echo echo "coordinate 3.5,17.5 Kitchen items:" python3 - <<'PY' from pathlib import Path import re p=Path("Resources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.yml") text=p.read_text() pat=re.compile(r'proto: (?P<proto>Kitchen.*)\n.*?pos: (?P<pos>.*?)\n', re.S) seen=[] for m in pat.finditer(text): pos=' '.join(m.group('pos').strip().split()) if pos in ("3.5,17.5", "3.5,15.5", "3.5,16.5") and m.group('proto') in {"KitchenOven","KitchenStove","KitchenReagentGrinder","KitchenMicrowave"}: seen.append((pos,m.group('proto'))) for pos,proto in sorted(seen): print(f"{pos}: {proto}") PYRepository: ss14Starlight/space-station-14
Length of output: 352
🏁 Script executed:
#!/bin/bash set -u file="Resources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.yml" echo "file exists: $(test -f "$file" && echo yes || echo no)" if [ -f "$file" ]; then echo "line count:" wc -l "$file" echo echo "snippet around reported lines:" sed -n '9066,9098p' "$file" | cat -n echo echo "Kitchen appliance entries in file:" rg -n 'proto: (KitchenOven|KitchenStove|KitchenReagentGrinder|KitchenMicrowave)' "$file" -C 3 || true echo echo "coordinate 3.5,17.5 KitchenOven/KitchenStove/KitchenReagentGrinder/KitchenMicrowave occurrences:" python3 - <<'PY' from pathlib import Path import re text = Path("Resources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.yml").read_text() pat = re.compile(r'proto: (?P<proto>Kitchen(?:Oven|Stove|ReagentGrinder|Microwave))\n(?:.*?\n)*? components:\n(?:.*?\n)*? - type: Transform\n(?:.*?\n)*? pos: (?P<pos>[^\n]+)', re.S) for m in pat.finditer(text): pos = ' '.join(m.group('pos').strip().split()) if pos == "3.5,17.5": print(f"{pos}: {m.group('proto')}") PY fiRepository: ss14Starlight/space-station-14
Length of output: 325
🏁 Script executed:
#!/bin/bash set -u file="Resources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.yml" echo "file exists: $(test -f "$file" && echo yes || echo no)" if [ -f "$file" ]; then echo "line count:" wc -l "$file" echo echo "snippet around reported lines:" sed -n '9066,9098p' "$file" | cat -n echo echo "Kitchen appliance entries in file:" rg -n 'proto: (KitchenOven|KitchenStove|KitchenReagentGrinder|Microwave|KitchenReagentGrinder)' "$file" -C 3 || true echo echo "Python parser for kitchen appliances at 3.5,17.5:" python3 <<'PY' from pathlib import Path import re text = Path("Resources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.yml").read_text() patterns = ["KitchenOven", "KitchenStove", "KitchenReagentGrinder", "KitchenMicrowave"] for proto in patterns: block_re = re.compile(rf'- proto: {proto}\n(?:[\s\S]*?)\n- proto:', re.S) for block in block_re.findall(text)[:-0 if text.endswith(rf'- proto: {proto}' for proto in patterns) else None]: pass PY fiRepository: ss14Starlight/space-station-14
Length of output: 1812
Nice galley layout, but split the overlapping appliances.
KitchenOven(uid 1224) andKitchenStove(uid 1225) both usepos: 3.5,17.5, so one will block the other. Move one of them to a free adjacent tile, or remove it if only one appliance was intended.🤖 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/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.yml` around lines 9074 - 9094, Update the KitchenOven or KitchenStove entity in the galley layout so they no longer share position 3.5,17.5; move one appliance to a free adjacent tile while preserving both appliances unless the layout intentionally requires only one.Resources/Maps/_Starlight/Shuttles/CC-NT/NTSV_HarrierClass.yml (1)
36-36: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Nice, thorough shuttle — one tiny name transposition. The grid's display name reads
NTVS Harrier-class, while the filename, the fax machine names (Lines 9164/9171) and the bluespace holopad label (Lines 14420-14425) all useNTSV. Players will see theMetaDataname, so it's the odd one out.✏️ Proposed fix
- type: MetaData - name: NTVS Harrier-class + name: NTSV Harrier-class📝 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: NTSV Harrier-class🤖 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/_Starlight/Shuttles/CC-NT/NTSV_HarrierClass.yml` at line 36, Update the shuttle grid’s MetaData name from “NTVS Harrier-class” to “NTSV Harrier-class” so it matches the filename and other existing labels.Resources/Maps/_Starlight/Shuttles/Evac/emergency_manor.yml (2)
639-701: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Six
AirSensorentities have nodeviceListslinkage.The alarm wiring you did do is impressively thorough — every device in
FireAlarm534's list resolves cleanly, which is more than can be said for a lot of shuttles. That said, sensors1021(0.5,0.5),1022(0.5,5.5),1031(4.5,-7.5),1032(-3.5,-7.5),1039(0.5,23.5) and1040(-4.5,22.5) are missing theDeviceNetwork/deviceListsblock that their siblings (1020,1033,1034,1036,1038,1041,1042) all have.Unlinked sensors won't report to any alarm, so those compartments have no atmos readout on an evac craft. Worth linking them to the nearest
FireAlarm(e.g.1045for the -7.5 row,1050for the 23.5 area).🤖 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/_Starlight/Shuttles/Evac/emergency_manor.yml` around lines 639 - 701, Add DeviceNetwork components with appropriate deviceLists links to AirSensor entities 1021, 1022, 1031, 1032, 1039, and 1040. Link each sensor to the nearest existing FireAlarm list, following the established wiring pattern used by neighboring sensors and the suggested alarm lists for the -7.5 and 23.5 areas.
3588-3596: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Stray unanchored pipe left on the deck at -3.5,19.5.
Lovely, tidy work on the rest of this atmos loop — the colour-coded supply/scrubber split is genuinely pleasant to read. One outlier though: uid
839is an unanchoredGasPipeStraightwithcanCollide: TrueandbodyType: Dynamic, sitting on the exact tile already occupied by the anchored pipe uid815. Unlike every other pipe here it isn't part of the network — it'll just slide around the deck during FTL and thruster burns.Looks like a dropped item rather than an intentional placement; suggest removing it (or anchoring it if it was meant to be part of the run).
🧹 Proposed removal of the stray pipe entity
- - uid: 839 - components: - - type: Transform - anchored: False - pos: -3.5,19.5 - parent: 1 - - type: Physics - canCollide: True - bodyType: Dynamic📝 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.🤖 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/_Starlight/Shuttles/Evac/emergency_manor.yml` around lines 3588 - 3596, Remove the stray entity with uid 839 from the emergency manor map; preserve the anchored pipe uid 815 at the same position and leave the rest of the atmos loop unchanged.Resources/Maps/_Starlight/Shuttles/Evac/emergency_ming.yml (1)
32-33: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Trailing space in the shuttle's display name.
Credit where it's due: the fan-to-airlock pairing here is flawless — all eight
AirlockGlassShuttledocks have a matchingAtmosDeviceFanDirectional, which is exactly what you want on an evac craft. Tiny blemish though:"NTE 'Bucket' Evacuation "carries a trailing space, which will surface in shuttle console and warp-point listings.✏️ Proposed name fix
- type: MetaData - name: "NTE 'Bucket' Evacuation " + name: "NTE 'Bucket' Evacuation"📝 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.- type: MetaData name: "NTE 'Bucket' Evacuation"🤖 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/_Starlight/Shuttles/Evac/emergency_ming.yml` around lines 32 - 33, Remove the trailing space from the shuttle display name in the MetaData entry named “NTE 'Bucket' Evacuation”, preserving the rest of the name unchanged.Resources/Maps/_Starlight/Shuttles/Evac/emergency_prism.yml (1)
2040-2046: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash # Find DebugGenerator usage across shipped maps rg -n --glob 'Resources/Maps/**/*.yml' -B2 -A4 'proto: DebugGenerator' # Compare against the generators used by the other Evac shuttles rg -n --glob 'Resources/Maps/_Starlight/Shuttles/Evac/*.yml' 'proto: (Generator|SMES|Substation)[A-Za-z0-9]*'Repository: ss14Starlight/space-station-14
Length of output: 168
🏁 Script executed:
#!/bin/bash set -u printf 'Changed files/stat for relevant paths:\n' git diff --stat -- 'Resources/Maps/_Starlight/Shuttles/Evac/*.yml' 'Resources/Maps/**/*.yml' 2>/dev/null || true printf '\nFind emergency_prism.yml:\n' fd -a 'emergency_prism\.yml$' . || true printf '\nFind DebugGenerator occurrences:\n' rg -n -i --glob 'Resources/Maps/**/*.yml' 'DebugGenerator|generator' Resources/Maps 2>/dev/null | head -n 200 || true printf '\nInspect target lines with context if file exists:\n' path="$(fd 'emergency_prism\.yml$' Resources/Maps | head -n 1)" if [ -n "${path:-}" ]; then sed -n '2010,2065p' "$path" | nl -ba -v2010 fiRepository: ss14Starlight/space-station-14
Length of output: 17282
🏁 Script executed:
#!/bin/bash set -u path="$(fd 'emergency_prism\.yml$' Resources/Maps | head -n 1)" printf 'Target path: %s\n' "$path" printf '\nLines 2010-2065:\n' awk 'NR>=2010 && NR<=2065 { printf "%6d:%s\n",$0:NRS, $0 }' "$path" printf '\nGenerator/SMES/Substation usage in _Starlight Evac maps:\n' rg -n --glob 'Resources/Maps/_Starlight/Shuttles/Evac/*.yml' 'proto: [A-Za-z0-9]{3,1}' Resources/Maps/_Starlight/Shuttles/Evac | sed -n '1,220p' printf '\nDebugGenerator occurrences under Resources/Maps:\n' rg -n --glob 'Resources/Maps/**/*.yml' 'proto: DebugGenerator' Resources/MapsRepository: ss14Starlight/space-station-14
Length of output: 2085
🏁 Script executed:
#!/bin/bash set -u path="$(fd 'emergency_prism\.yml$' Resources/Maps | head -n 1)" printf 'Target path: %s\n' "$path" printf '\nLines 2010-2065:\n' sed -n '2010,2065p' "$path" | awk '{printf "%6d:%s\n", NR+2009, $0}' printf '\nGenerator/SMES/Substation entries in _Starlight Evac maps:\n' rg -n --glob 'Resources/Maps/_Starlight/Shuttles/Evac/*.yml' 'proto: (Generator|SMES|Substation)[A-Za-z0-9_]*' Resources/Maps/_Starlight/Shuttles/Evac printf '\nDebugGenerator entries in _Starlight Evac maps:\n' rg -n --glob 'Resources/Maps/_Starlight/Shuttles/Evac/*.yml' 'proto: DebugGenerator' Resources/Maps/_Starlight/Shuttles/EvacRepository: ss14Starlight/space-station-14
Length of output: 5584
Replace the test-source
DebugGeneratorwith a production generator.The atmos setup here is solid, but uid
255at-9.5,-0.5still drops aDebugGeneratorinto this evac map. Other _Starlight_evac maps use normal generators feeding the SMES/substation, so this looks like leftover test content that removes the shuttle’s power constraint; swap it for a standard generator on the HV net.🤖 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/_Starlight/Shuttles/Evac/emergency_prism.yml` around lines 2040 - 2046, Replace the uid 255 DebugGenerator prototype in the evac map with the standard production generator used by other Starlight_evac maps, preserving its position and parent while connecting it to the HV network and existing SMES/substation power setup.Resources/Maps/_Starlight/Shuttles/Evac/emergency_starboard.yml (1)
1520-1524: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Duplicate APC cable stacked on one tile.
Great work on the airlock linking in this file (uids 7/8 pair
DoorStatus→DoorBoltexactly as intended). One small snag: uid 133 and uid 134 are bothCableApcExtensionanchored at8.5,-3.5. One of them is redundant and can be dropped on the next save.🤖 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/_Starlight/Shuttles/Evac/emergency_starboard.yml` around lines 1520 - 1524, Remove the redundant APC cable entity with uid 134 from the map data, leaving the existing uid 133 cable at position 8.5,-3.5 unchanged.Resources/Maps/_Starlight/Shuttles/Evac/emergency_syndicate.yml (1)
1936-1943: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Two identical wall closets on the same tile.
The atmos setup here is genuinely well done — the high-pressure
uniqueMixesentry lines up neatly with the injector/canister bank at6.5,-20.5. Small thing though: uid 539 and uid 540 are bothClosetWallEmergencyFilledRandomat6.5,-18.5with the same rotation, so one is fully hidden behind the other. Removing the spare would tidy it up.🤖 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/_Starlight/Shuttles/Evac/emergency_syndicate.yml` around lines 1936 - 1943, Remove the duplicate wall closet entity represented by uid 540 from the emergency shuttle map, preserving uid 539 and the existing atmos setup.Resources/Maps/_Starlight/Shuttles/Shipyard/Bumblebee.yml (1)
803-808: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Genuinely impressive air-alarm wiring here — all nine alarms are bidirectionally consistent with their sensors and vents. One sensor slipped the net though.
AirSensoruid 29 is the only sensor in the file with noDeviceNetwork/deviceLists, and it doesn't appear in anyAirAlarmDeviceList(alarms 2-9 at lines 471-591). Every other sensor (25-28, 30-38) is registered. As-is this sensor reports to nothing.🔧 Proposed fix — register the sensor with the hydroponics alarm (uid 4)
- uid: 29 components: - type: Transform rot: 1.5707963267948966 rad pos: -30.5,-9.5 parent: 1 + - type: DeviceNetwork + deviceLists: + - 4And add it to that alarm's device list (around line 507):
- type: DeviceList devices: - 35 + - 29 - 508📝 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.- uid: 29 components: - type: Transform rot: 1.5707963267948966 rad pos: -30.5,-9.5 parent: 1 - type: DeviceNetwork deviceLists: - 4🤖 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/_Starlight/Shuttles/Shipyard/Bumblebee.yml` around lines 803 - 808, Update the AirSensor entity with uid 29 to include the same DeviceNetwork/deviceLists registration pattern used by the other sensors, and add uid 29 to the DeviceList for the hydroponics AirAlarm with uid 4. Leave the existing sensor transform and alarm wiring unchanged.
|
@coderabbitai changes to the shuttles are out of scope, this is just reorganizing the files |
|
Tip For best results, initiate chat on the files or code changes.
If there are desired shuttle changes, would you like me to open a follow-up issue for them? ✏️ Learnings added
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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/_Starlight/Shuttles/Shipyard/JSS_MED_Apotherkerin.yml`:
- Line 36: Update the ship name value in the YAML to use the same spelling as
the filename and shuttle keys, `JSS-MED Apotherkerin`, keeping the surrounding
configuration unchanged.
🪄 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 (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: c9a02bd4-bec4-455d-8d4f-0258328af8cf
📒 Files selected for processing (3)
Content.IntegrationTests/Tests/_Starlight/Power/GridPowerTests.csResources/Maps/_Starlight/Shuttles/Shipyard/JSS_MED_Apotherkerin.ymlResources/Prototypes/_Starlight/Catalog/default_shipyard_catalog.yml
🚧 Files skipped from review as they are similar to previous changes (1)
- Resources/Prototypes/_Starlight/Catalog/default_shipyard_catalog.yml
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 1
🤖 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/_Starlight/Shuttles/Shipyard/JSS_MED_Apotherkerin.yml`:
- Line 36: Update the ship name value in the YAML to use the same spelling as
the filename and shuttle keys, `JSS-MED Apotherkerin`, keeping the surrounding
configuration unchanged.
🪄 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 (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: c9a02bd4-bec4-455d-8d4f-0258328af8cf
📒 Files selected for processing (3)
Content.IntegrationTests/Tests/_Starlight/Power/GridPowerTests.csResources/Maps/_Starlight/Shuttles/Shipyard/JSS_MED_Apotherkerin.ymlResources/Prototypes/_Starlight/Catalog/default_shipyard_catalog.yml
🚧 Files skipped from review as they are similar to previous changes (1)
- Resources/Prototypes/_Starlight/Catalog/default_shipyard_catalog.yml
🛑 Comments failed to post (1)
Resources/Maps/_Starlight/Shuttles/Shipyard/JSS_MED_Apotherkerin.yml (1)
36-36: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Ship name spelling doesn't match the filename or the shuttle keys.
Lovely, tidy little apothecary ship — the atmos coloring and room labeling are genuinely nicer than most shuttles in this folder. One small snag: the grid is named
JSS-MED Apothekerinhere, while Line 2324 and the filename both useApotherkerin. Players see the grid name on shuttle consoles and the keys in hand, so pick one spelling.✏️ Proposed fix (if `Apotherkerin` is the intended spelling)
- type: MetaData - name: JSS-MED Apothekerin + name: JSS-MED Apotherkerin📝 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: JSS-MED Apotherkerin🤖 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/_Starlight/Shuttles/Shipyard/JSS_MED_Apotherkerin.yml` at line 36, Update the ship name value in the YAML to use the same spelling as the filename and shuttle keys, `JSS-MED Apotherkerin`, keeping the surrounding configuration unchanged.
|
event team has been sufficiently notified now waiting a few other shuttle-related PRs to get merged (I don't wanna subject them to merge hell): |
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
|
event team has been sufficiently heads-up'd about the changes & stuff's been merged that might conflict ready for review |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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/Prototypes/_Starlight/Maps/novolobster.yml`:
- Line 19: In Resources/Prototypes/_Starlight/Maps/novolobster.yml lines 19-19,
restore the cargo shuttle path to
/Maps/_Starlight/Shuttles/Cargo/cargo_novolobster.yml; in lines 17-17, update
emergencyShuttlePath to /Maps/_Starlight/Shuttles/Evac/emergency_silica.yml.
Verify both referenced files resolve and preserve the Cargo/Evac directory
separation.
🪄 Autofix
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 Plus
Run ID: 24af69be-decd-4932-ac3c-4c4f76516610
📒 Files selected for processing (92)
Content.IntegrationTests/Tests/PostMapInitTest.csContent.IntegrationTests/Tests/_Starlight/Power/GridPowerTests.csResources/Maps/Shuttles/arrivals_relic.ymlResources/Maps/Shuttles/cargo_core.ymlResources/Maps/Shuttles/cargo_exo.ymlResources/Maps/Shuttles/cargo_plasma.ymlResources/Maps/Shuttles/cargo_relic.ymlResources/Maps/Shuttles/dart.ymlResources/Maps/Shuttles/emergency_amber.ymlResources/Maps/Shuttles/emergency_cluster.ymlResources/Maps/Shuttles/emergency_courser.ymlResources/Maps/Shuttles/emergency_delta.ymlResources/Maps/Shuttles/emergency_exo.ymlResources/Maps/Shuttles/emergency_meta.ymlResources/Maps/Shuttles/emergency_raven.ymlResources/Maps/Shuttles/emergency_relic.ymlResources/Maps/Shuttles/emergency_rod.ymlResources/Maps/Shuttles/mothership.ymlResources/Maps/Shuttles/pirate.ymlResources/Maps/Shuttles/shittle.ymlResources/Maps/Shuttles/wizard.ymlResources/Maps/_Starlight/Shuttles/Admeme/LancePirates.ymlResources/Maps/_Starlight/Shuttles/Admeme/Radiotower.ymlResources/Maps/_Starlight/Shuttles/Admeme/RecluseClassSHC.ymlResources/Maps/_Starlight/Shuttles/Admeme/Signaleer.ymlResources/Maps/_Starlight/Shuttles/Admeme/SmugglerMex.ymlResources/Maps/_Starlight/Shuttles/Admeme/VoxATS.ymlResources/Maps/_Starlight/Shuttles/Admeme/lotteryShuttleAdmeme.ymlResources/Maps/_Starlight/Shuttles/Admeme/quantum_ark.ymlResources/Maps/_Starlight/Shuttles/Admeme/quantum_ark_event.ymlResources/Maps/_Starlight/Shuttles/Admeme/scarletSHCdefenderFinal.ymlResources/Maps/_Starlight/Shuttles/Admeme/ss_ana.ymlResources/Maps/_Starlight/Shuttles/CC-NT/NSSV_MetaClass.ymlResources/Maps/_Starlight/Shuttles/CC-NT/NT-Experimental-Botany-shuttle.ymlResources/Maps/_Starlight/Shuttles/CC-NT/NTSV_HarrierClass.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_novolobster.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_plasma.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_prism.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_silica.ymlResources/Maps/_Starlight/Shuttles/Cargo/cargo_syndicate.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_cluster.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_delta.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_hotel.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_lox.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_manor.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_ming.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_prism.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_raven.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_silica.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_spacemall.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_starboard.ymlResources/Maps/_Starlight/Shuttles/Evac/emergency_syndicate.ymlResources/Maps/_Starlight/Shuttles/Nukeops/blackhorse.ymlResources/Maps/_Starlight/Shuttles/Nukeops/leyline.ymlResources/Maps/_Starlight/Shuttles/Nukeops/omen.ymlResources/Maps/_Starlight/Shuttles/Nukeops/widow.ymlResources/Maps/_Starlight/Shuttles/Reach.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Bumblebee.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Comet.ymlResources/Maps/_Starlight/Shuttles/Shipyard/GasTransport.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Honeybee.ymlResources/Maps/_Starlight/Shuttles/Shipyard/JSS_MED_Apotherkerin.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Mini_Ingeniator.ymlResources/Maps/_Starlight/Shuttles/Shipyard/Munchies.ymlResources/Maps/_Starlight/Shuttles/Shipyard/ReachButShipyard.ymlResources/Maps/_Starlight/Shuttles/Shipyard/SpaceTruck.ymlResources/Maps/_Starlight/Shuttles/Shipyard/barge.ymlResources/Maps/_Starlight/Shuttles/Shipyard/breaker.ymlResources/Maps/_Starlight/Shuttles/Shipyard/pioneer.ymlResources/Maps/_Starlight/Shuttles/Shipyard/prospector.ymlResources/Maps/_Starlight/Shuttles/Shipyard/pts.ymlResources/Prototypes/_Starlight/Catalog/default_shipyard_catalog.ymlResources/Prototypes/_Starlight/Entities/Structures/Doors/Airlocks/access.ymlResources/Prototypes/_Starlight/GameRules/shuttles.ymlResources/Prototypes/_Starlight/Maps/bagel.ymlResources/Prototypes/_Starlight/Maps/barratry.ymlResources/Prototypes/_Starlight/Maps/cluster.ymlResources/Prototypes/_Starlight/Maps/fland.ymlResources/Prototypes/_Starlight/Maps/hotel.ymlResources/Prototypes/_Starlight/Maps/lagan.ymlResources/Prototypes/_Starlight/Maps/lobster.ymlResources/Prototypes/_Starlight/Maps/manor.ymlResources/Prototypes/_Starlight/Maps/ming.ymlResources/Prototypes/_Starlight/Maps/novolobster.ymlResources/Prototypes/_Starlight/Maps/orwell.ymlResources/Prototypes/_Starlight/Maps/plasma.ymlResources/Prototypes/_Starlight/Maps/prism.ymlResources/Prototypes/_Starlight/Maps/sepultum.ymlResources/Prototypes/_Starlight/Maps/serpentcrest.ymlResources/Prototypes/_Starlight/Maps/silica.ymlResources/Prototypes/_Starlight/Maps/spacemall.ymlResources/Prototypes/_Starlight/Maps/starboard.yml
💤 Files with no reviewable changes (7)
- Resources/Maps/Shuttles/arrivals_relic.yml
- Resources/Maps/Shuttles/cargo_exo.yml
- Resources/Maps/Shuttles/shittle.yml
- Resources/Maps/Shuttles/cargo_plasma.yml
- Resources/Maps/Shuttles/cargo_relic.yml
- Resources/Maps/Shuttles/emergency_relic.yml
- Resources/Maps/Shuttles/cargo_core.yml
🚧 Files skipped from review as they are similar to previous changes (30)
- Resources/Prototypes/_Starlight/Maps/starboard.yml
- Resources/Prototypes/_Starlight/Maps/hotel.yml
- Resources/Prototypes/_Starlight/Maps/manor.yml
- Resources/Prototypes/_Starlight/Maps/prism.yml
- Resources/Prototypes/_Starlight/Maps/barratry.yml
- Resources/Prototypes/_Starlight/Maps/sepultum.yml
- Resources/Prototypes/_Starlight/Maps/fland.yml
- Resources/Prototypes/_Starlight/Maps/bagel.yml
- Resources/Prototypes/_Starlight/Maps/orwell.yml
- Resources/Prototypes/_Starlight/Maps/lagan.yml
- Resources/Prototypes/_Starlight/Maps/ming.yml
- Resources/Prototypes/_Starlight/Maps/silica.yml
- Resources/Prototypes/_Starlight/Maps/plasma.yml
- Content.IntegrationTests/Tests/_Starlight/Power/GridPowerTests.cs
- Resources/Maps/_Starlight/Shuttles/Shipyard/pts.yml
- Resources/Maps/_Starlight/Shuttles/Cargo/cargo_syndicate.yml
- Resources/Prototypes/_Starlight/Maps/spacemall.yml
- Resources/Prototypes/_Starlight/Maps/lobster.yml
- Resources/Prototypes/_Starlight/Catalog/default_shipyard_catalog.yml
- Resources/Prototypes/_Starlight/GameRules/shuttles.yml
- Resources/Maps/_Starlight/Shuttles/Cargo/cargo_prism.yml
- Resources/Maps/_Starlight/Shuttles/Cargo/cargo_plasma.yml
- Resources/Prototypes/_Starlight/Maps/serpentcrest.yml
- Resources/Prototypes/_Starlight/Entities/Structures/Doors/Airlocks/access.yml
- Resources/Maps/_Starlight/Shuttles/Shipyard/Honeybee.yml
- Resources/Prototypes/_Starlight/Maps/cluster.yml
- Resources/Maps/_Starlight/Shuttles/Shipyard/breaker.yml
- Resources/Maps/_Starlight/Shuttles/Cargo/cargo_silica.yml
- Resources/Maps/_Starlight/Shuttles/Shipyard/GasTransport.yml
- Resources/Maps/_Starlight/Shuttles/Admeme/ss_ana.yml
…ss no one noticed
|
at some point, Xenoborgs stopped using our custom (now fixed by this PR). |
449454d
Short description
In the spirit of #2525, I have gone through and removed a bunch of upstream shuttles that are completely unused. Some of these are for GameRules that have long since been removed, some of these were shuttles related to upstream maps that were removed.
All the same, they're loitering in the files and doing nothing but increasing our filesize by a small but non-zero amount and that sucks.
This PR also organizes the shuttle folder by adding the following folders:
No longer any of us have to go "what the hell is
pts.yml" for now you can just look at it and go "it must be some Shipyard thing because it's in the shipyard folder.Why we need to add this
I got mad I couldn't find something.
Checks
Changelog
🆑 Caws