Xenoborgs part 5 (#37068)

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: WarPigeon <DaedalusTheGamer@gmail.com>
This commit is contained in:
Samuka-C
2025-08-19 13:23:47 -03:00
committed by GitHub
parent be2eeb3cb1
commit de240e1739
83 changed files with 753 additions and 6 deletions

View File

@@ -90,6 +90,17 @@
maxIntensity: 100
intensitySlope: 2
totalIntensity: 200
- type: SurveillanceCameraSpeaker
- type: SurveillanceCameraMonitor
- type: RoboticsConsole
allowBorgControl: false
radioChannel: Xenoborg
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: Mothership
transmitFrequencyId: Mothership
- type: WirelessNetworkConnection
range: 10000 # mothership can see them from very far
- type: WiresPanel
- type: ActivatableUI
key: enum.LatheUiKey.Key
@@ -101,6 +112,10 @@
requireInputValidation: false
enum.RadarConsoleUiKey.Key:
type: RadarConsoleBoundUserInterface
enum.RoboticsConsoleUiKey.Key:
type: RoboticsConsoleBoundUserInterface
enum.SurveillanceCameraMonitorUiKey.Key:
type: SurveillanceCameraMonitorBoundUserInterface
enum.LatheUiKey.Key:
type: LatheBoundUserInterface
enum.ResearchClientUiKey.Key:
@@ -184,9 +199,38 @@
uis:
enum.RadarConsoleUiKey.Key:
toggleAction: ActionAGhostShowRadar
enum.RoboticsConsoleUiKey.Key:
toggleAction: ActionXenoborgControlMonitor
enum.SurveillanceCameraMonitorUiKey.Key:
toggleAction: ActionXenoborgCameraMonitor
- type: ShowElectrocutionHUD
- type: PowerMonitoringCableNetworks
- type: RadarConsole
# TODO: add xenoborg control interface action (part 5)
# TODO: add xenoborg camera monitor interface action (part 5)
- type: entity
parent: BaseAGhostAction
id: ActionXenoborgControlMonitor
name: Xenoborgs Control Console
description: View the Xenoborgs Control Console
components:
- type: Action
icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-basic-module }
iconOn: Interface/Actions/actions_borg.rsi/xenoborg-basic-module.png
keywords: [ "Mothership Core", "console", "interface" ]
priority: -6
- type: InstantAction
event: !type:ToggleIntrinsicUIEvent { key: enum.RoboticsConsoleUiKey.Key }
- type: entity
parent: BaseAGhostAction
id: ActionXenoborgCameraMonitor
name: Xenoborgs Camera Monitor
description: View the Xenoborgs Camera Monitor
components:
- type: Action
icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-eye-module }
iconOn: Interface/Actions/actions_borg.rsi/xenoborg-eye-module.png
keywords: [ "Mothership Core", "console", "interface" ]
priority: -6
- type: InstantAction
event: !type:ToggleIntrinsicUIEvent { key: enum.SurveillanceCameraMonitorUiKey.Key }

View File

@@ -1131,6 +1131,20 @@
Cable: 2
Glass: 1
- type: entity
parent: BaseMachineCircuitboard
id: SurveillanceCameraWirelessRouterXenoborgCircuitboard
name: xenoborg camera wireless router
description: A machine printed circuit board for a xenoborg camera wireless router.
components:
- type: Sprite
state: generic
- type: MachineBoard
prototype: SurveillanceCameraWirelessRouterXenoborg
stackRequirements:
Cable: 2
Glass: 1
- type: entity
id: SurveillanceWirelessCameraMovableCircuitboard
parent: BaseMachineCircuitboard

View File

@@ -260,6 +260,17 @@
state: cpu_service
- type: ComputerBoard
prototype: ComputerSurveillanceWirelessCameraMonitor
- type: entity
parent: BaseComputerCircuitboard
id: XenoborgCameraMonitorCircuitboard
name: xenoborg camera monitor board
description: A computer printed circuit board for a xenoborg camera monitor.
components:
- type: Sprite
state: cpu_science
- type: ComputerBoard
prototype: ComputerSurveillanceWirelessXenoborgCameraMonitor
- type: entity
parent: BaseComputerCircuitboard
@@ -528,6 +539,17 @@
- type: ComputerBoard
prototype: ComputerRoboticsControl
- type: entity
parent: BaseComputerCircuitboard
id: ComputerXenoborgsControlCircuitboard
name: xenoborg control console board
description: A computer printed circuit board for a xenoborg control console.
components:
- type: Sprite
state: cpu_science
- type: ComputerBoard
prototype: ComputerXenoborgsControl
- type: entity
parent: BaseComputerCircuitboard
id: StationAiUploadCircuitboard

View File

@@ -318,3 +318,11 @@
components:
- type: AccessReader
access: [["Security"], ["Command"]]
- type: entity
parent: DoorElectronics
id: DoorElectronicsXenoborg
suffix: Xenoborg, Locked
components:
- type: AccessReader
access: [["Xenoborg"]]

View File

@@ -1768,6 +1768,20 @@
- type: Stack
stackType: FloorTileXenoMaint
- type: entity
id: FloorTileItemXenoborg
parent: FloorTileItemBase
name: xenoborg floor
components:
- type: Sprite
state: xenoborg-floor
- type: FloorTile
outputs:
- Plating
- FloorXenoborg
- type: Stack
stackType: FloorTileXenoborg
- type: entity
parent: FloorTileItemDark
id: FloorTileItemDarkSquiggly

View File

@@ -1133,6 +1133,17 @@
containers:
board: [ DoorElectronicsNukeop ]
- type: entity
parent: AirlockXenoborg
id: AirlockXenoborgLocked
suffix: Xenoborg, Locked
components:
- type: StationAiWhitelist
enabled: false
- type: ContainerFill
containers:
board: [ DoorElectronicsXenoborg ]
# Shuttle airlocks
- type: entity
parent: AirlockShuttle
@@ -1161,6 +1172,17 @@
containers:
board: [ DoorElectronicsNukeop ]
- type: entity
parent: AirlockShuttleXenoborg
id: AirlockGlassShuttleXenoborgLocked
suffix: External, Docking, Xenoborg, Locked
components:
- type: StationAiWhitelist
enabled: false
- type: ContainerFill
containers:
board: [ DoorElectronicsXenoborg ]
- type: entity
parent: AirlockGlassShuttle
id: AirlockExternalGlassShuttleLocked

View File

@@ -160,6 +160,16 @@
- type: Paintable
group: null
- type: entity
parent: Airlock
id: AirlockXenoborg
name: xenoborg airlock
components:
- type: Sprite
sprite: Structures/Doors/Airlocks/Standard/xenoborg.rsi
- type: Paintable
group: null
- type: entity
parent: Airlock
id: AirlockHatchMaintenance

View File

@@ -117,3 +117,13 @@
components:
- type: Sprite
sprite: Structures/Doors/Airlocks/Standard/shuttle_syndicate.rsi
- type: entity
parent: AirlockShuttle
id: AirlockShuttleXenoborg
suffix: Docking
name: external airlock
description: Necessary for connecting two space craft together.
components:
- type: Sprite
sprite: Structures/Doors/Airlocks/Standard/shuttle_xenoborg.rsi

View File

@@ -665,7 +665,7 @@
- type: CommunicationsConsole
title: comms-console-announcement-title-station
- type: DeviceNetwork
deviceNetId: Wireless
deviceNetId: Wireless
transmitFrequencyId: ShuttleTimer
- type: ActivatableUI
key: enum.CommunicationsConsoleUiKey.Key
@@ -1374,6 +1374,21 @@
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: entity
parent: ComputerSurveillanceWirelessCameraMonitor
id: ComputerSurveillanceWirelessXenoborgCameraMonitor
name: xenoborg camera monitor
description: A wireless xenoborg camera monitor. You're watching them. Maybe.
components:
- type: Computer
board: XenoborgCameraMonitorCircuitboard
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: Mothership
transmitFrequencyId: Mothership
- type: WirelessNetworkConnection
range: 2000
- type: entity
id: ComputerPalletConsole
parent: BaseComputerAiAccess
@@ -1541,6 +1556,39 @@
- type: Lock
unlockOnClick: false
- type: entity
parent: ComputerRoboticsControl
id: ComputerXenoborgsControl
name: xenoborgs control console
description: Used to remotely monitor all xenoborgs.
components:
- type: Sprite
layers:
- map: ["computerLayerBody"]
state: computer
- map: ["computerLayerKeyboard"]
state: generic_keyboard
- map: ["computerLayerScreen"]
state: xenorobot
- map: ["computerLayerKeys"]
state: rd_key
- map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
state: generic_panel_open
- type: RoboticsConsole
allowBorgControl: false
radioChannel: Xenoborg
- type: ActiveRadio
channels:
- Xenoborg
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: Mothership
transmitFrequencyId: Xenoborg
- type: Computer
board: ComputerXenoborgsControlCircuitboard
- type: AccessReader # only used for dangerous things
access: [["Xenoborg"]]
- type: entity
id: StationAiUploadComputer
parent: BaseComputer

View File

@@ -195,3 +195,19 @@
components:
- type: SurveillanceCameraRouter
subnetFrequency: SurveillanceCameraEntertainment
- type: entity
parent: SurveillanceCameraWirelessRouterBase
id: SurveillanceCameraWirelessRouterXenoborg
name: xenoborg camera wireless router
components:
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: Mothership
transmitFrequencyId: Mothership
- type: WirelessNetworkConnection
range: 2000 # longer range to get xenoborgs even when the mothership is far away
- type: SurveillanceCameraRouter
subnetFrequency: Xenoborg
- type: Machine
board: SurveillanceCameraWirelessRouterXenoborgCircuitboard

View File

@@ -235,3 +235,14 @@
- type: Battery
maxCharge: 200000
startingCharge: 200000
- type: entity
parent: BaseAPC
id: APCXenoborg
suffix: Basic, 50kJ, Xenoborg
components:
- type: Battery
maxCharge: 50000
startingCharge: 50000
- type: AccessReader
access: [["Xenoborg"]]

View File

@@ -1192,6 +1192,33 @@
graph: Girder
node: reinforcedWallChitin
- type: entity
parent: WallPlastitanium
id: WallXenoborg
name: xenoborg wall
components:
- type: Sprite
sprite: Structures/Walls/xenoborg.rsi
- type: Icon
sprite: Structures/Walls/xenoborg.rsi
- type: IconSmooth
key: walls
base: xenoborg
- type: entity
parent: WallPlastitaniumDiagonal
id: WallXenoborgDiagonal
name: xenoborg wall
suffix: diagonal
components:
- type: Sprite
drawdepth: Walls
sprite: Structures/Walls/xenoborg_diagonal.rsi
state: state0
- type: Icon
sprite: Structures/Walls/xenoborg_diagonal.rsi
state: state0
- type: entity
parent: BaseWall
id: WallUranium
@@ -1696,6 +1723,6 @@
- type: IconSmooth
key: cards
base: card
- type: Occluder
- type: Occluder
- type: BlockWeather
- type: SunShadowCast
- type: SunShadowCast

View File

@@ -0,0 +1,14 @@
- type: entity
id: XenoborgWindow
parent: PlastitaniumWindow
name: xenoborg window
components:
- type: Sprite
drawdepth: WallTops
sprite: Structures/Windows/xenoborg.rsi
- type: Icon
sprite: Structures/Windows/xenoborg.rsi
state: full
- type: IconSmooth
key: windows
base: xenoborg

View File

@@ -665,6 +665,12 @@
spawn: FloorTileItemXenoSteelCorner
maxCount: 30
- type: stack
id: FloorTileXenoborg
name: stack-xenoborg
spawn: FloorTileItemXenoborg
maxCount: 30
- type: stack
id: FloorTileDarkSquiggly
name: stack-dark-squiggly

View File

@@ -2063,6 +2063,18 @@
itemDrop: FloorTileItemWoodLarge
heatCapacity: 10000
- type: tile
id: FloorXenoborg
name: tiles-xenoborg-floor
sprite: /Textures/Tiles/exoborg.png
baseTurf: Plating
isSubfloor: false
deconstructTools: [ Prying ]
footstepSounds:
collection: FootstepHull
itemDrop: FloorTileItemXenoborg
heatCapacity: 10000
- type: tile
id: FloorXeno
name: tiles-xeno-floor