Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Tweak] Shipyard & Salvage Update #934

Merged
merged 6 commits into from
Nov 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3,414 changes: 1,955 additions & 1,459 deletions Resources/Maps/Backmen/ForSale/barge.yml

Large diffs are not rendered by default.

1,075 changes: 748 additions & 327 deletions Resources/Maps/Backmen/ForSale/helix.yml

Large diffs are not rendered by default.

382 changes: 250 additions & 132 deletions Resources/Maps/Backmen/ForSale/ntcv-nomad.yml

Large diffs are not rendered by default.

487 changes: 323 additions & 164 deletions Resources/Maps/Backmen/ForSale/ntsv-tote.yml

Large diffs are not rendered by default.

703 changes: 486 additions & 217 deletions Resources/Maps/Backmen/ForSale/ntv-pulse.yml

Large diffs are not rendered by default.

387 changes: 294 additions & 93 deletions Resources/Maps/Backmen/ForSale/prospecter.yml

Large diffs are not rendered by default.

452 changes: 408 additions & 44 deletions Resources/Maps/Backmen/ForSale/pts.yml

Large diffs are not rendered by default.

61 changes: 37 additions & 24 deletions Resources/Maps/Dungeon/ruined_dwellings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@ entities:
- type: MetaData
- type: Transform
- type: Map
mapPaused: True
- type: PhysicsMap
- type: GridTree
- type: MovedGrids
- type: Broadphase
- type: OccluderTree
- type: MapGrid
Expand Down Expand Up @@ -392,8 +395,6 @@ entities:
- type: GasTileOverlay
- type: LoadedMap
- type: RadiationGridResistance
- type: GridTree
- type: MovedGrids
- type: Fixtures
fixtures: {}
- proto: APCBasic
Expand Down Expand Up @@ -476,6 +477,13 @@ entities:
- type: Transform
pos: 13.5,11.5
parent: 1
- proto: BookRandomStory
entities:
- uid: 269
components:
- type: Transform
pos: 13.5,2.5
parent: 1
- proto: CableApcExtension
entities:
- uid: 24
Expand Down Expand Up @@ -1452,6 +1460,11 @@ entities:
- type: Transform
pos: 8.5,21.5
parent: 1
- uid: 360
components:
- type: Transform
pos: 6.5,21.5
parent: 1
- proto: CableMV
entities:
- uid: 177
Expand Down Expand Up @@ -1838,6 +1851,20 @@ entities:
- type: Physics
canCollide: False
- type: InsideEntityStorage
- proto: FakeSpaceCash10
entities:
- uid: 130
components:
- type: Transform
pos: 6.607684,15.804618
parent: 1
- uid: 131
components:
- type: Transform
pos: 6.467059,15.335868
parent: 1
- type: Stack
count: 20
- proto: FloorTileItemWood
entities:
- uid: 136
Expand Down Expand Up @@ -1876,13 +1903,20 @@ entities:
- type: Physics
canCollide: False
- type: InsideEntityStorage
- proto: GeneratorBasic
- proto: GeneratorBasic15kW
entities:
- uid: 149
components:
- type: Transform
pos: 6.5,22.5
parent: 1
- proto: GeneratorRTG
entities:
- uid: 359
components:
- type: Transform
pos: 6.5,21.5
parent: 1
- proto: LockerFreezer
entities:
- uid: 16
Expand Down Expand Up @@ -2095,13 +2129,6 @@ entities:
rot: 3.141592653589793 rad
pos: 3.5,17.5
parent: 1
- proto: BookRandomStory
entities:
- uid: 269
components:
- type: Transform
pos: 13.5,2.5
parent: 1
- proto: RandomDrinkBottle
entities:
- uid: 23
Expand Down Expand Up @@ -2303,20 +2330,6 @@ entities:
- type: Transform
pos: 8.5,22.5
parent: 1
- proto: FakeSpaceCash10
entities:
- uid: 130
components:
- type: Transform
pos: 6.607684,15.804618
parent: 1
- uid: 131
components:
- type: Transform
pos: 6.467059,15.335868
parent: 1
- type: Stack
count: 20
- proto: SubstationBasicEmpty
entities:
- uid: 156
Expand Down
45 changes: 24 additions & 21 deletions Resources/Maps/Dungeon/ruined_hospital.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ entities:
- type: MetaData
- type: Transform
- type: Map
mapPaused: True
- type: PhysicsMap
- type: GridTree
- type: MovedGrids
- type: LoadedMap
- type: MapGrid
chunks:
Expand Down Expand Up @@ -1239,8 +1242,6 @@ entities:
chunkSize: 4
- type: GasTileOverlay
- type: RadiationGridResistance
- type: GridTree
- type: MovedGrids
- type: Fixtures
fixtures: {}
- proto: APCBasic
Expand Down Expand Up @@ -1304,6 +1305,18 @@ entities:
- type: Transform
pos: 19.5,9.5
parent: 1
- proto: BookRandomStory
entities:
- uid: 138
components:
- type: Transform
pos: 17.5,3.5
parent: 1
- uid: 460
components:
- type: Transform
pos: 19.5,10.5
parent: 1
- proto: Bookshelf
entities:
- uid: 51
Expand Down Expand Up @@ -4290,22 +4303,24 @@ entities:
- type: Transform
pos: 17.5,4.5
parent: 1
- proto: GeneratorBasic
- proto: GeneratorBasic15kW
entities:
- uid: 651
- uid: 822
components:
- type: Transform
pos: 32.5,2.5
pos: 32.5,4.5
parent: 1
- uid: 822
- uid: 823
components:
- type: Transform
pos: 32.5,3.5
pos: 32.5,2.5
parent: 1
- uid: 823
- proto: GeneratorRTG
entities:
- uid: 651
components:
- type: Transform
pos: 32.5,4.5
pos: 32.5,3.5
parent: 1
- proto: HospitalCurtains
entities:
Expand Down Expand Up @@ -4862,18 +4877,6 @@ entities:
rot: -1.5707963267948966 rad
pos: 27.5,2.5
parent: 1
- proto: BookRandomStory
entities:
- uid: 138
components:
- type: Transform
pos: 17.5,3.5
parent: 1
- uid: 460
components:
- type: Transform
pos: 19.5,10.5
parent: 1
- proto: RandomDrinkGlass
entities:
- uid: 4
Expand Down
3 changes: 2 additions & 1 deletion Resources/Prototypes/Catalog/Fills/Lockers/heads.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
- id: CargoBountyComputerCircuitboard
- id: CargoRequestComputerCircuitboard
- id: CargoSaleComputerCircuitboard
- id: CargoShuttleComputerCircuitboard
#- id: CargoShuttleComputerCircuitboard # backmen: salvage
- id: ShipyardComputerCircuitboard
Comment on lines +10 to +11
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Warning: Incomplete migration from cargo shuttle to shipyard system

The replacement in the QM's locker is part of a larger migration, but there are inconsistencies:

  • The ShipyardComputerCircuitboard is defined in Resources/Prototypes/_Backmen/Entities/Objects/Devices/Circuitboards/computer.yml, but the old cargo shuttle components are still present in many locations
  • Migration entries exist in Resources/migration.yml for both the computer and circuit board, but many references to the old system remain:
    • Multiple map files still use ComputerCargoShuttle
    • Cargo shuttle components and interfaces are still defined in computers.yml
    • Theft objectives still reference the cargo shuttle circuit board
🔗 Analysis chain

LGTM: Shipyard console circuit board replacement aligns with PR objectives

The replacement of CargoShuttleComputerCircuitboard with ShipyardComputerCircuitboard in the Quartermaster's locker correctly implements the PR's goal of transitioning to shipyard consoles for shuttle purchases.

Let's verify the shipyard console implementation:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify shipyard console implementation and references

# Check if ShipyardComputerCircuitboard is properly defined
rg -l "ShipyardComputerCircuitboard" Resources/Prototypes/Entities/Objects/Devices/Circuitboards/

# Verify if CargoShuttleComputerCircuitboard is fully replaced
rg -l "CargoShuttleComputerCircuitboard" Resources/Prototypes/

Length of output: 360


Script:

#!/bin/bash
# Let's check the content of these files to understand the implementation

# Check computers.yml for CargoShuttle computer definition
echo "=== computers.yml ==="
rg -A 5 "CargoShuttle" Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml

# Check computer.yml for circuit board definitions
echo -e "\n=== computer.yml ==="
rg -A 5 "CargoShuttle|ShipyardComputer" Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml

# Check if there are any other references to cargo shuttle or shipyard
echo -e "\n=== Other References ==="
rg "CargoShuttle|ShipyardComputer" --type yaml

Length of output: 7849

- id: CargoShuttleConsoleCircuitboard
- id: SalvageMagnetMachineCircuitboard
- id: CigPackGreen
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +0,0 @@
- type: entity
parent: BaseComputerCircuitboard
id: SalvageShuttleConsoleCircuitboard
name: salvage shuttle console board
description: A computer printed circuit board for a salvage shuttle console.
components:
- type: ComputerBoard
prototype: ComputerShuttleSalvage
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,3 @@
path: /Audio/Corvax/Announcements/centcomm.ogg
params:
volume: -4

- type: entity
parent: BaseComputerShuttle
id: ComputerShuttleSalvage
name: salvage shuttle console
description: Used to pilot the salvage shuttle.
components:
- type: Sprite
layers:
- map: ["computerLayerBody"]
state: computer
- map: ["computerLayerKeyboard"]
state: generic_keyboard
- map: ["computerLayerScreen"]
state: shuttle
- map: ["computerLayerKeys"]
state: generic_keys
- type: DroneConsole
components:
- type: SalvageShuttle
- type: RadarConsole
maxRange: 256
- type: PointLight
radius: 1.5
energy: 1.6
color: "#c94242"
- type: Computer
board: SalvageShuttleConsoleCircuitboard
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@
parent: BaseComputerCircuitboard
id: CargoShuttleComputerCircuitboard
name: cargo shuttle computer board
categories: [ HideSpawnMenu ] # backmen: salvage
description: A computer printed circuit board for a cargo shuttle computer.
components:
- type: Sprite
Expand Down
5 changes: 0 additions & 5 deletions Resources/Prototypes/Entities/Stations/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,6 @@
- /Maps/Ruins/syndicate_dropship.yml
- /Maps/Ruins/whiteship_ancient.yml
- /Maps/Ruins/whiteship_bluespacejumper.yml
# Corvax-start
mining: !type:GridSpawnGroup
paths:
- /Maps/Shuttles/corvax_mining.yml
# Corvax-Mapping-End

- type: entity
id: BaseStationCentcomm
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -746,6 +746,7 @@
- type: entity
id: ComputerCargoShuttle
parent: BaseComputerAiAccess
categories: [ HideSpawnMenu ] # backmen: salvage
name: cargo shuttle computer
description: Used to order the shuttle.
components:
Expand Down
4 changes: 2 additions & 2 deletions Resources/Prototypes/Objectives/objectiveGroups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,11 @@
ClothingOuterHardsuitVoidParamedStealObjective: 1 #med
MedicalTechFabCircuitboardStealObjective: 1
ClothingHeadsetAltMedicalStealObjective: 1
FireAxeStealObjective: 1 #eng
FireAxeStealObjective: 1
#eng
AmePartFlatpackStealObjective: 1
ExpeditionsCircuitboardStealObjective: 1 #sup
CargoShuttleCircuitboardStealObjective: 1
Comment on lines 83 to 84
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Цели требуют обновления в связи с изменением системы

Цели ExpeditionsCircuitboardStealObjective и CargoShuttleCircuitboardStealObjective устарели и должны быть заменены на цель, связанную с кражей консоли верфи (ShipyardConsole), так как она теперь является ключевым элементом логистической системы станции.

  • Удалить ExpeditionsCircuitboardStealObjective и CargoShuttleCircuitboardStealObjective из objectiveGroups.yml
  • Добавить новую цель ShipyardConsoleStealObjective с соответствующей сложностью и требованиями
🔗 Analysis chain

Проверьте актуальность целей, связанных с грузовым отсеком

В связи с обновлением системы верфи и удалением шаттла утилизации, необходимо проверить, должны ли цели ExpeditionsCircuitboardStealObjective и CargoShuttleCircuitboardStealObjective быть обновлены или заменены на цели, связанные с новой консолью верфи.

Рекомендуется рассмотреть добавление новой цели, связанной с кражей консоли верфи, так как она теперь является ключевым элементом игрового процесса.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Проверяем существование прототипов целевых предметов
rg -l "ExpeditionsCircuitboard|CargoShuttleCircuitboard" Resources/Prototypes/

Length of output: 174


Script:

#!/bin/bash
# Проверяем содержимое файлов с целями
echo "=== objectiveGroups.yml ==="
cat Resources/Prototypes/Objectives/objectiveGroups.yml

echo -e "\n=== thief.yml ==="
cat Resources/Prototypes/Objectives/thief.yml

# Ищем упоминания о верфи и шаттлах
echo -e "\n=== Поиск упоминаний о верфи и шаттлах ==="
rg -i "shipyard|shuttle" Resources/Prototypes/

Length of output: 100321


Script:

#!/bin/bash
# Проверяем существование новой консоли верфи
rg -l "ShipyardConsole|ShipyardCircuitboard" Resources/Prototypes/

# Проверяем связанные с верфью цели
rg -l "Shipyard.*Objective|Shipyard.*Goal" Resources/Prototypes/

Length of output: 428

SalvageShuttleCircuitboardStealObjective: 1
ClothingEyesHudBeerStealObjective: 1 #srv
BibleStealObjective: 1
ClothingNeckGoldmedalStealObjective: 1 #other
Expand Down
1 change: 0 additions & 1 deletion Resources/Prototypes/Research/civilianservices.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@
- SynthesizerInstrument
- DawInstrumentMachineCircuitboard
- MassMediaCircuitboard
- ShipyardCircuitboard
- JukeboxCircuitBoard

- type: technology
Expand Down
1 change: 1 addition & 0 deletions Resources/Prototypes/Research/industrial.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
- MineralScannerEmpty
- OreProcessorIndustrialMachineCircuitboard
- ClothingMaskWeldingGas
- ShipyardCircuitboard # backmen: salvage

- type: technology
id: SpaceScanning
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
id: Prospecter
name: NT-7 Prospecter
description: A small mining vessel designed to assist salvage operations.
price: 19000
price: 15000
category: Small
group: Civilian
shuttlePath: /Maps/Backmen/ForSale/prospecter.yml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
interfaces:
enum.ShipyardConsoleUiKey.Shipyard:
type: ShipyardConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer
board: ShipyardComputerCircuitboard
- type: StationAiWhitelist
Expand Down
12 changes: 9 additions & 3 deletions Resources/migration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -566,9 +566,9 @@ SpawnPointStationAI: PlayerStationAi
WeaponTurretLaserNanoTrasenAI: WeaponTurretSyndicateBroken

# 2024-08-22
# ComputerShuttleSalvage: null # Corvax reverted
# SalvageShuttleConsoleCircuitboard: null
# SalvageShuttleCircuitboardStealObjective: null
ComputerShuttleSalvage: null
SalvageShuttleConsoleCircuitboard: null
SalvageShuttleCircuitboardStealObjective: null
Comment on lines +569 to +571
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Обнаружены дополнительные ссылки на удаляемые компоненты спасательного шаттла

Необходимо обновить следующие файлы, где всё ещё используются удаляемые компоненты:

  • Прототипы в Resources/Prototypes/Objectives/objectiveGroups.yml (SalvageShuttleCircuitboardStealObjective)
  • Прототипы компьютеров и плат в директории Resources/Prototypes/Corvax/Entities/
  • Карты в директории Resources/Maps/ (более 20 файлов)
  • Локализации в:
    • Resources/Locale/en-US/ss14-ru/prototypes/corvax/
    • Resources/Locale/ru-RU/corvax/prototypes/
🔗 Analysis chain

Проверьте влияние удаления консоли спасательного шаттла

Удаление ComputerShuttleSalvage и связанных компонентов соответствует целям PR по централизации управления шаттлами через консоль верфи. Однако убедитесь, что все ссылки на старые компоненты также обновлены.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any remaining references to salvage shuttle components

# Search for references to removed components
rg -i "ComputerShuttleSalvage|SalvageShuttleConsole|SalvageShuttle.*Circuit"

Length of output: 2976


# 2024-08-28
ClothingBackpackDuffelSyndicateCostumeCentcom: null
Expand Down Expand Up @@ -652,3 +652,9 @@ TorsoBorgJanitor: TorsoBorg
PresentRandomAsh: PresentRandomCoal
# 2024-11-19
CrateCrewMonitoringBoards: CrateCrewMonitoring

# 2024-11-23 backmen
# Computer that by idea let's you call cargo shuttle is replaced
# with console that let's you buy any shuttle.
ComputerCargoShuttle: ComputerShipyard
CargoShuttleComputerCircuitboard: ShipyardComputerCircuitboard
Comment on lines +659 to +660
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Remove duplicate migration entry.

The migration entry for ComputerCargoShuttle: ComputerShipyard appears twice in the file:

  1. First occurrence on line 658 (in comment)
  2. Second occurrence on line 659-660

This duplication could cause confusion during maintenance.

Remove the duplicate entry and keep only one instance:

# Computer that by idea let's you call cargo shuttle is replaced
# with console that let's you buy any shuttle.
-ComputerCargoShuttle: ComputerShipyard
CargoShuttleComputerCircuitboard: ShipyardComputerCircuitboard

Also applies to: 658-658

Comment on lines +656 to +660
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Migration requires additional prototype updates

Several prototype files still reference the old cargo shuttle computer and circuit board IDs that are being migrated:

  • Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml: Contains old computer name and board references
  • Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml: Contains old circuit board ID, name and description
  • Resources/Maps/centcomm.yml and Resources/Maps/Backmen/backmen_hive.yml: Reference old circuit board prototype
  • Resources/Prototypes/Objectives/stealTargetGroups.yml: Contains steal objectives for old cargo shuttle components

The migration file only handles the ID mapping but doesn't update the related prototype definitions. These need to be updated to maintain consistency with the new shipyard computer system.

🔗 Analysis chain

LGTM! Verify the migration's impact on gameplay.

The migration of cargo shuttle computer to shipyard console aligns with the PR objectives to enhance salvage operations. The change makes sense as it centralizes shuttle-related functionality.

Let's verify the impact of this migration:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any remaining references to the old cargo shuttle computer
# that might need updating

# Check for any remaining references to the old computer
rg -i "cargo.*shuttle.*computer|cargo.*computer.*shuttle" --type yaml

# Check for any remaining references to the old circuit board
rg -i "cargo.*shuttle.*circuit|cargo.*circuit.*shuttle" --type yaml

Length of output: 2792

Loading