From: Southbridge <7013162+southbridge-fur@users.noreply.github.com> Date: Thu, 24 Apr 2025 17:41:55 +0000 (-0400) Subject: New Spawners, Modified Spawners, new Service/Theatre Airlock, and new Colorful Light... X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=3f588a1bb1c27b4734487be72ad0bffc4ff38486;p=space-station-14.git New Spawners, Modified Spawners, new Service/Theatre Airlock, and new Colorful Light Crate (#36750) Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> --- diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_service.yml b/Resources/Prototypes/Catalog/Cargo/cargo_service.yml index ac7f02bd22..e170f8c59d 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_service.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_service.yml @@ -28,6 +28,16 @@ category: cargoproduct-category-name-service group: market +- type: cargoProduct + id: ServiceLightsColorful + icon: + sprite: Objects/Power/light_bulb.rsi + state: normal + product: CrateServiceColorfulLights + cost: 800 + category: cargoproduct-category-name-service + group: market + - type: cargoProduct id: MousetrapBoxes icon: @@ -217,5 +227,3 @@ cost: 500 category: cargoproduct-category-name-service group: market - - diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/service.yml b/Resources/Prototypes/Catalog/Fills/Boxes/service.yml index 5aba7bdb2a..4ba7cf6f7e 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/service.yml @@ -38,3 +38,43 @@ guides: - Botanical - Chemicals + +- type: entity + parent: BoxLightbulb + id: BoxLightbulbColorfulMixed + name: mixed colorful lightbulb box + components: + - type: StorageFill + contents: + - id: LightBulbCrystalCyan + amount: 2 + - id: LightBulbCrystalBlue + amount: 2 + - id: LightBulbCrystalGreen + amount: 2 + - id: LightBulbCrystalPink + amount: 2 + - id: LightBulbCrystalRed + amount: 2 + - id: LightBulbCrystalOrange + amount: 2 + +- type: entity + parent: BoxLighttube + id: BoxLighttubeColorfulMixed + name: mixed colorful lighttube box + components: + - type: StorageFill + contents: + - id: LightTubeCrystalCyan + amount: 2 + - id: LightTubeCrystalBlue + amount: 2 + - id: LightTubeCrystalGreen + amount: 2 + - id: LightTubeCrystalPink + amount: 2 + - id: LightTubeCrystalRed + amount: 2 + - id: LightTubeCrystalOrange + amount: 2 diff --git a/Resources/Prototypes/Catalog/Fills/Crates/engineering.yml b/Resources/Prototypes/Catalog/Fills/Crates/engineering.yml index 4b3f3f9339..23921b98e3 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/engineering.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/engineering.yml @@ -228,6 +228,8 @@ - id: SignalTimerElectronics - id: SMESMachineCircuitboard - id: SubstationMachineCircuitboard + - id: BorgChargerCircuitboard + - id: CellRechargerCircuitboard - id: SpaceVillainArcadeComputerCircuitboard - id: BlockGameArcadeComputerCircuitboard @@ -242,4 +244,4 @@ entity_storage: !type:NestedSelector tableId: RandomTechBoardTable rolls: !type:RangeNumberSelector - range: 3, 7 + range: 6, 8 diff --git a/Resources/Prototypes/Catalog/Fills/Crates/materials.yml b/Resources/Prototypes/Catalog/Fills/Crates/materials.yml index 580319cd5f..cbc2330e3c 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/materials.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/materials.yml @@ -148,9 +148,7 @@ entity_storage: !type:NestedSelector tableId: RandomMaterialCrateTable rolls: !type:RangeNumberSelector - range: 1, 3 - # for some reason, the selector here adds 1 to whatever value it generates, - # so this is actually 2-4 + range: 2, 4 - type: entity id: CrateMaterialSilo diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml index 202a0ebc29..ccf39b2893 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml @@ -361,3 +361,14 @@ amount: 2 - id: BoxCandleSmall amount: 2 + +- type: entity + parent: CrateGenericSteel + id: CrateServiceColorfulLights + name: colorful lights crate + description: It's not a party until it's hard to see, a little disorienting, and your ears hurt. + components: + - type: StorageFill + contents: + - id: BoxLightbulbColorfulMixed + - id: BoxLighttubeColorfulMixed diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/cables.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/cables.yml new file mode 100644 index 0000000000..7684c84897 --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/cables.yml @@ -0,0 +1,61 @@ +- type: entity + parent: MarkerBase + id: RandomCableHVSpawner + name: HV power cable spawner + suffix: 50% + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Power/Cables/hv_cable.rsi + state: hvcable_3 + - sprite: Structures/Power/Cables/hv_cable.rsi + state: hvcable_12 + - type: RandomSpawner + prototypes: + - CableHV + chance: 0.5 + +- type: entity + parent: MarkerBase + id: RandomCableMVSpawner + name: MV power cable spawner + suffix: 50% + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Power/Cables/mv_cable.rsi + state: mvcable_3 + color: Yellow + - sprite: Structures/Power/Cables/mv_cable.rsi + state: mvstripes_3 + - sprite: Structures/Power/Cables/mv_cable.rsi + state: mvcable_12 + color: Yellow + - sprite: Structures/Power/Cables/mv_cable.rsi + state: mvstripes_12 + - type: RandomSpawner + prototypes: + - CableMV + chance: 0.5 + +- type: entity + parent: MarkerBase + id: RandomCableApcExtensionSpawner + name: LV power cable spawner + suffix: 50% + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Power/Cables/lv_cable.rsi + state: lvcable_3 + color: Green + - sprite: Structures/Power/Cables/lv_cable.rsi + state: lvcable_12 + color: Green + - type: RandomSpawner + prototypes: + - CableApcExtension + chance: 0.5 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml index 14852de558..31f15ffad0 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml @@ -24,6 +24,138 @@ chance: 0.7 offset: 0.0 +- type: entityTable + id: LowValueInstrumentCrateTable + table: !type:GroupSelector + children: + - id: CrateFunInstrumentsVariety + - id: CrateFunInstrumentsBrass + - id: CrateFunInstrumentsString + - id: CrateFunInstrumentsWoodwind + - id: CrateFunInstrumentsKeyedPercussion + - id: CrateFunInstrumentsSpecial + weight: 0.01 + - id: CrateFunSadTromboneImplants + weight: 0.01 + +- type: entityTable + id: LowValueFunCrateTable + table: !type:GroupSelector + children: + - id: CrateFunPlushie + weight: 2 + - id: CrateFunLizardPlushieBulk + - id: CrateFunSharkPlushieBulk + - id: CrateCandles + - id: CrateFunArtSupplies + - id: CrateFunFoamGuns + weight: 0.01 + +- type: entityTable + id: LowValueMaterialCrateTable + table: !type:GroupSelector + children: + - id: CrateMaterialGlass + - id: CrateMaterialSteel + - id: CrateMaterialPlastic + - id: CrateMaterialWood + - id: CrateMaterialPlasteel + - id: CrateMaterialBasicResource + - id: CrateMaterialRandom + weight: 4 + +- type: entityTable + id: LowValueEmergencyCrateTable + table: !type:GroupSelector + children: + - id: CrateEmergencyFire + - id: CrateEmergencyInternals + - id: CrateEmergencyInflatablewall + weight: 0.5 + +- type: entityTable + id: LowValueServiceCrateTable + table: !type:GroupSelector + children: + - id: CrateServiceColorfulLights + - id: CrateServiceReplacementLights + - id: CrateServiceBureaucracy + - id: PetCarrier + - id: CrateHydroponicsTools + - id: CrateHydroponicsSeeds + - id: CrateHydroponicsSeedsExotic + weight: 0.5 + - id: CrateHydroponicsSeedsMedicinal + weight: 0.5 + - id: CrateServiceJanitorialSupplies + - id: JanitorialTrolley + weight: 0.2 + +- type: entityTable + id: LowValueEngineeringCrateTable + table: !type:GroupSelector + children: + - id: CrateEngineeringCableLV + - id: CrateEngineeringCableMV + - id: CrateEngineeringCableHV + - id: CrateEngineeringCableBulk + - id: CrateTechBoardRandom + - id: CrateEngineeringSpaceHeater + - id: StorageCanister + weight: 0.5 + +- type: entityTable + id: LowValueMedicalCrateTable + table: !type:GroupSelector + children: + - id: CrateEmergencyBurnKit + - id: CrateEmergencyToxinKit + - id: CrateEmergencyBruteKit + - id: CrateEmergencyO2Kit + - id: CrateEmergencyRadiationKit + - id: CrateBodyBags + - id: CrateChemistrySupplies + - id: CrateChemistryP + weight: 0.5 + - id: CrateChemistryS + weight: 0.5 + - id: CrateChemistryD + weight: 0.5 + +- type: entityTable + id: LowValueScienceCrateTable + table: !type:GroupSelector + children: + - id: CrateArtifactContainer + - id: HandheldArtifactContainer + weight: 0.2 + - id: CrateMaterialPlasma + +- type: entityTable + id: LowValueCrateTable + table: !type:GroupSelector + children: + - !type:NestedSelector + tableId: LowValueFunCrateTable + - !type:NestedSelector + tableId: LowValueInstrumentCrateTable + weight: 0.2 + - !type:NestedSelector + tableId: LowValueMaterialCrateTable + weight: 2 + - !type:NestedSelector + tableId: LowValueEmergencyCrateTable + - !type:NestedSelector + tableId: LowValueServiceCrateTable + - !type:NestedSelector + tableId: LowValueEngineeringCrateTable + - !type:NestedSelector + tableId: LowValueMedicalCrateTable + weight: 0.2 + - !type:NestedSelector + tableId: LowValueScienceCrateTable + weight: 0.2 + - type: entity name: Filled Crate Spawner id: CrateFilledSpawner @@ -35,34 +167,10 @@ - state: red - sprite: Structures/Storage/Crates/o2.rsi state: icon - - type: RandomSpawner - prototypes: - - CrateServiceReplacementLights - - CrateServiceBureaucracy - - CrateChemistrySupplies - - CrateMaterialGlass - - CrateMaterialSteel - - CrateMaterialPlastic - - CrateMaterialWood - - CrateMaterialPlasteel - - CrateMaterialRandom - - CrateFunArtSupplies - - CrateEngineeringCableLV - - CrateEngineeringCableMV - - CrateEngineeringCableHV - - CrateEngineeringCableBulk - - CrateTechBoardRandom - - CrateEmergencyFire - - CrateEmergencyInternals - - CrateEmergencyInflatablewall - - CrateHydroponicsTools - - CrateHydroponicsSeeds - - PetCarrier - chance: 0.7 - rarePrototypes: - - CrateMaterialPlasma - - CrateHydroponicsSeedsExotic - rareChance: 0.1 + - type: EntityTableSpawner + table: !type:NestedSelector + tableId: LowValueCrateTable + prob: 0.8 offset: 0.0 - type: entity @@ -139,3 +247,30 @@ - CrateSecurityBiosuit chance: 0.9 offset: 0.0 + +- type: entityTable + id: LockboxTable + table: !type:GroupSelector + children: + - id: CrateLockBoxEngineering + - id: CrateLockBoxMedical + - id: CrateLockBoxSecurity + - id: CrateLockBoxScience + - id: CrateLockBoxService + +- type: entity + name: random lockbox spawner + id: LootSpawnerRandomLockbox + parent: MarkerBase + suffix: 90% + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Storage/Crates/lockbox.rsi + state: icon + - type: EntityTableSpawner + table: !type:NestedSelector + tableId: LockboxTable + prob: 0.9 + offset: 0.0 diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml index f75fa2584e..6176b6b2ea 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml @@ -104,6 +104,14 @@ - type: AccessReader access: [["Service"]] +- type: entity + parent: DoorElectronics + id: DoorElectronicsServiceTheatre + suffix: Service, Theatre, Locked + components: + - type: AccessReader + access: [["Service"], ["Theatre"]] + # Cargo - type: entity parent: DoorElectronics diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml index 1043ad5b8e..9847bdec2d 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml @@ -28,6 +28,15 @@ containers: board: [ DoorElectronicsTheatre ] +- type: entity + parent: AirlockServiceLocked + id: AirlockServiceTheatreLocked + suffix: Service, Theatre, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsServiceTheatre ] + - type: entity parent: AirlockServiceLocked id: AirlockChapelLocked @@ -470,6 +479,15 @@ containers: board: [ DoorElectronicsTheatre ] +- type: entity + parent: AirlockServiceGlassLocked + id: AirlockServiceTheatreGlassLocked + suffix: Service, Theatre, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsServiceTheatre ] + - type: entity parent: AirlockServiceGlassLocked id: AirlockBarGlassLocked @@ -988,6 +1006,15 @@ containers: board: [ DoorElectronicsTheatre ] +- type: entity + parent: AirlockMaintServiceLocked + id: AirlockMaintServiceTheatreLocked + suffix: Service, Theatre, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsServiceTheatre ] + - type: entity parent: AirlockMaintServiceLocked id: AirlockMaintKitchenLocked