This commit is contained in:
Stxcking 2026-08-14 01:46:09 +00:00 committed by GitHub
commit ccc99c9553
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
31 changed files with 1440 additions and 108 deletions

View File

@ -1,3 +1,4 @@
using Content.Shared._NF.Construction.Components; // Frontier
using Content.Shared.Construction.Components;
using JetBrains.Annotations;
using Robust.Shared.Containers;
@ -12,8 +13,8 @@ namespace Content.Shared.Construction.NodeEntities;
[DataDefinition]
public sealed partial class BoardNodeEntity : IGraphNodeEntity
{
[DataField]
public string Container { get; private set; } = string.Empty;
[DataField("container")] public string Container { get; private set; } = string.Empty; // Frontier
[DataField] public ComputerType Computer { get; private set; } = ComputerType.Default; // Frontier
public string? GetId(EntityUid? uid, EntityUid? userUid, GraphNodeEntityArgs args)
{
@ -28,7 +29,20 @@ public sealed partial class BoardNodeEntity : IGraphNodeEntity
var board = container.ContainedEntities[0];
// There should not be a case where more than one of these components exist on the same entity
// Frontier - alternative computer variants
switch (Computer)
{
case ComputerType.Tabletop:
if (args.EntityManager.TryGetComponent(board, out ComputerTabletopBoardComponent? tabletopComputer))
return tabletopComputer.Prototype;
break;
case ComputerType.Default:
default:
break;
}
// End Frontier
// There should not be a case where both of these components exist on the same entity...
if (args.EntityManager.TryGetComponent(board, out MachineBoardComponent? machine))
return machine.Prototype;
@ -40,4 +54,12 @@ public sealed partial class BoardNodeEntity : IGraphNodeEntity
return null;
}
// Frontier: support for multiple computer types
public enum ComputerType : byte
{
Default, // Default machines
Tabletop,
}
// End Frontier
}

View File

@ -0,0 +1,14 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Shared._NF.Construction.Components;
/// <summary>
/// Used for construction graphs in building tabletop computers.
/// </summary>
[RegisterComponent]
public sealed partial class ComputerTabletopBoardComponent : Component
{
[DataField(customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
public string? Prototype { get; private set; }
}

View File

@ -0,0 +1 @@
construction-graph-component-computer-tabletop-board = any tabletop computer circuit board

View File

@ -1,2 +1,3 @@
construction-recipe-maple-mothroach-cloak = maple mothroach cloak
construction-recipe-maple-mothroach-cloak = maple mothroach cloak
construction-recipe-description-maple-mothroach-cloak = As you stare into those lifeless eyes you know this is what you, I mean they, would have wanted.
recipes-computer-tabletop-name = computer frame (tabletop)

View File

@ -25,10 +25,12 @@
name: atmospheric alerts computer board
description: A computer printed circuit board for an atmospheric alerts computer.
components:
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ComputerAlert
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ComputerAlert
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopAlert # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -36,10 +38,12 @@
name: atmospheric network monitor board
description: A computer printed circuit board for an atmospheric network monitor.
components:
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ComputerAtmosMonitoring
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ComputerAtmosMonitoring
- type: ComputerTabletopBoard # DeltaV
prototype: ComputerTabletopAtmosMonitoring # DeltaV
- type: entity
parent: BaseComputerCircuitboard
@ -47,10 +51,12 @@
name: power monitoring computer board
description: A computer printed circuit board for a power monitoring computer.
components:
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ComputerPowerMonitoring
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ComputerPowerMonitoring
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopPowerMonitoring # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -58,10 +64,12 @@
name: medical records computer board
description: A computer printed circuit board for a medical records computer.
components:
- type: Sprite
state: cpu_medical
- type: ComputerBoard
prototype: ComputerMedicalRecords
- type: Sprite
state: cpu_medical
- type: ComputerBoard
prototype: ComputerMedicalRecords
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopMedicalRecords # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -69,10 +77,12 @@
name: criminal records computer board
description: A computer printed circuit board for a criminal records computer.
components:
- type: Sprite
state: cpu_security
- type: ComputerBoard
prototype: ComputerCriminalRecords
- type: Sprite
state: cpu_security
- type: ComputerBoard
prototype: ComputerCriminalRecords
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopCriminalRecords # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -80,10 +90,12 @@
name: station records computer board
description: A computer printed circuit board for a station records computer.
components:
- type: Sprite
state: cpu_command
- type: ComputerBoard
prototype: ComputerStationRecords
- type: Sprite
state: cpu_command
- type: ComputerBoard
prototype: ComputerStationRecords
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopStationRecords # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -91,12 +103,14 @@
name: cargo request computer board
description: A computer printed circuit board for a cargo request computer.
components:
- type: Sprite
state: cpu_supply
- type: ComputerBoard
prototype: ComputerCargoOrders
- type: StaticPrice
price: 750
- type: Sprite
state: cpu_supply
- type: ComputerBoard
prototype: ComputerCargoOrders
- type: StaticPrice
price: 750
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopCargoOrders # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -110,6 +124,8 @@
prototype: ComputerCargoOrdersEngineering
- type: StaticPrice
price: 750
- type: ComputerTabletopBoard # DeltaV
prototype: ComputerTabletopCargoOrdersEngineering # DeltaV
- type: entity
parent: BaseComputerCircuitboard
@ -123,6 +139,8 @@
prototype: ComputerCargoOrdersMedical
- type: StaticPrice
price: 750
- type: ComputerTabletopBoard # DeltaV
prototype: ComputerTabletopCargoOrdersMedical # DeltaV
- type: entity
parent: BaseComputerCircuitboard
@ -136,6 +154,8 @@
prototype: ComputerCargoOrdersScience
- type: StaticPrice
price: 750
- type: ComputerTabletopBoard # DeltaV
prototype: ComputerTabletopCargoOrdersScience # DeltaV
- type: entity
parent: BaseComputerCircuitboard
@ -149,6 +169,8 @@
prototype: ComputerCargoOrdersSecurity
- type: StaticPrice
price: 750
- type: ComputerTabletopBoard # DeltaV
prototype: ComputerTabletopCargoOrdersSecurity # DeltaV
- type: entity
parent: BaseComputerCircuitboard
@ -162,6 +184,8 @@
prototype: ComputerCargoOrdersService
- type: StaticPrice
price: 750
- type: ComputerTabletopBoard # DeltaV
prototype: ComputerTabletopCargoOrdersService # DeltaV
- type: entity
parent: BaseComputerCircuitboard
@ -182,10 +206,10 @@
name: cargo sale computer board
description: A computer printed circuit board for a cargo sale computer.
components:
- type: Sprite
state: cpu_supply
- type: ComputerBoard
prototype: ComputerPalletConsole
- type: Sprite
state: cpu_supply
- type: ComputerBoard
prototype: ComputerPalletConsole
- type: entity
id: CargoBountyComputerCircuitboard
@ -198,6 +222,8 @@
- type: ComputerBoard
prototype: ComputerCargoBounty
- type: StaticPrice
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopCargoBounty # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -209,6 +235,8 @@
state: cpu_supply
- type: ComputerBoard
prototype: ComputerSalvageJobBoard
- type: ComputerTabletopBoard # DeltaV
prototype: ComputerTabletopSalvageJobBoard # DeltaV
- type: entity
parent: BaseComputerCircuitboard
@ -216,12 +244,14 @@
name: salvage expeditions computer board
description: A computer printed circuit board for a salvage expeditions computer.
components:
- type: Sprite
state: cpu_supply
- type: ComputerBoard
prototype: ComputerSalvageExpedition
- type: StealTarget
stealGroup: SalvageExpeditionsComputerCircuitboard
- type: Sprite
state: cpu_supply
- type: ComputerBoard
prototype: ComputerSalvageExpedition
- type: StealTarget
stealGroup: SalvageExpeditionsComputerCircuitboard
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopSalvageExpedition # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -249,6 +279,8 @@
- type: Tag
tags:
- SurveillanceCameraMonitorCircuitboard
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopSurveillanceCameraMonitor # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -260,6 +292,8 @@
state: cpu_service
- type: ComputerBoard
prototype: ComputerSurveillanceWirelessCameraMonitor
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopSurveillanceWirelessCameraMonitor # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -278,11 +312,11 @@
name: television board
description: A computer printed circuit board for a television.
components:
- type: ComputerBoard
prototype: ComputerTelevision
- type: Tag
tags:
- ComputerTelevisionCircuitboard
- type: ComputerBoard
prototype: ComputerTelevision
- type: Tag
tags:
- ComputerTelevisionCircuitboard
- type: entity
parent: BaseComputerCircuitboard
@ -290,10 +324,12 @@
name: R&D computer board
description: A computer printed circuit board for a R&D console.
components:
- type: Sprite
state: cpu_science
- type: ComputerBoard
prototype: ComputerResearchAndDevelopment
- type: Sprite
state: cpu_science
- type: ComputerBoard
prototype: ComputerResearchAndDevelopment
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopResearchAndDevelopment # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -301,10 +337,12 @@
name: analysis computer board
description: A computer printed circuit board for an analysis console.
components:
- type: Sprite
state: cpu_science
- type: ComputerBoard
prototype: ComputerAnalysisConsole
- type: Sprite
state: cpu_science
- type: ComputerBoard
prototype: ComputerAnalysisConsole
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopAnalysisConsole # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -331,6 +369,8 @@
difficulty: 2
recipes:
- CrewMonitoringComputerCircuitboard
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopCrewMonitoring # Frontier
- type: entity
parent: [BaseComputerCircuitboard, BaseCommandContraband]
@ -338,15 +378,17 @@
name: ID card computer board
description: A computer printed circuit board for an ID card console.
components:
- type: Sprite
state: cpu_command
- type: ComputerBoard
prototype: ComputerId
- type: StaticPrice
price: 750
- type: Tag
tags:
- HighRiskItem
- type: Sprite
state: cpu_command
- type: ComputerBoard
prototype: ComputerId
- type: StaticPrice
price: 750
- type: Tag
tags:
- HighRiskItem
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopId # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -354,10 +396,12 @@
name: body scanner computer board
description: A computer printed circuit board for a body scanner console.
components:
- type: Sprite
state: cpu_medical
- type: ComputerBoard
prototype: computerBodyScanner
- type: Sprite
state: cpu_medical
- type: ComputerBoard
prototype: computerBodyScanner
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopBodyScanner # Frontier
- type: entity
parent: [ BaseComputerCircuitboard, BaseCommandContraband ]
@ -365,10 +409,12 @@
name: communications computer board
description: A computer printed circuit board for a communications console.
components:
- type: Sprite
state: cpu_command
- type: ComputerBoard
prototype: ComputerComms
- type: Sprite
state: cpu_command
- type: ComputerBoard
prototype: ComputerComms
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopComms # Frontier
- type: entity
parent: [ BaseComputerCircuitboard, BaseSyndicateContraband ]
@ -380,6 +426,8 @@
state: cpu_syndicate
- type: ComputerBoard
prototype: SyndicateComputerComms
- type: ComputerTabletopBoard # Frontier
prototype: SyndicateComputerTabletopComms # Frontier
- type: entity
parent: [ BaseComputerCircuitboard, BaseSyndicateContraband ]
@ -402,6 +450,8 @@
state: cpu_centcomm
- type: ComputerBoard
prototype: CentcommComputerComms
- type: ComputerTabletopBoard # DeltaV
prototype: ComputerTabletopCentcomm # DeltaV
- type: entity
parent: BaseComputerCircuitboard
@ -415,6 +465,8 @@
- type: ReverseEngineering
recipes:
- HandHeldMassScanner
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopRadar # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -422,10 +474,12 @@
name: solar control computer board
description: A computer printed circuit board for a solar control console.
components:
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ComputerSolarControl
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ComputerSolarControl
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopSolarControl # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -433,8 +487,8 @@
name: space villain arcade board
description: A computer printed circuit board for a space villain arcade cabinet.
components:
- type: ComputerBoard
prototype: SpaceVillainArcade
- type: ComputerBoard
prototype: SpaceVillainArcade
- type: entity
parent: BaseComputerCircuitboard
@ -442,8 +496,8 @@
name: block game arcade board
description: A computer printed circuit board for a block game arcade cabinet.
components:
- type: ComputerBoard
prototype: BlockGameArcade
- type: ComputerBoard
prototype: BlockGameArcade
- type: entity
parent: BaseComputerCircuitboard
@ -451,10 +505,10 @@
name: PA control box computer board
description: A computer printed circuit board for a particle accelerator control box.
components:
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ParticleAcceleratorControlBoxUnfinished
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ParticleAcceleratorControlBoxUnfinished
- type: entity
parent: BaseComputerCircuitboard
@ -466,6 +520,8 @@
state: cpu_supply
- type: ComputerBoard
prototype: ComputerShuttle
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopShuttle # Frontier
- type: entity
parent: [ BaseComputerCircuitboard, BaseSyndicateContraband ]
@ -484,10 +540,12 @@
name: cloning console computer board
description: A computer printed circuit board for a cloning console.
components:
- type: Sprite
state: cpu_medical
- type: ComputerBoard
prototype: ComputerCloningConsole
- type: Sprite
state: cpu_medical
- type: ComputerBoard
prototype: ComputerCloningConsole
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopCloningConsole # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -495,10 +553,12 @@
name: IFF console board
description: Allows you to control the IFF characteristics of this vessel.
components:
- type: Sprite
state: cpu_command
- type: ComputerBoard
prototype: ComputerIFF
- type: Sprite
state: cpu_command
- type: ComputerBoard
prototype: ComputerIFF
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopIFF # Frontier
- type: entity
parent: [ BaseComputerCircuitboard, BaseSyndicateContraband ]
@ -510,6 +570,8 @@
state: cpu_syndicate
- type: ComputerBoard
prototype: ComputerIFFSyndicate
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopIFFSyndicate # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -517,12 +579,14 @@
name: news manager console board
description: Write your message to the world!
components:
- type: Sprite
state: cpu_service
- type: StaticPrice
price: 150
- type: ComputerBoard
prototype: ComputerMassMedia
- type: Sprite
state: cpu_service
- type: StaticPrice
price: 150
- type: ComputerBoard
prototype: ComputerMassMedia
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopMassMedia # Frontier
- type: entity
parent: BaseComputerCircuitboard
@ -530,10 +594,10 @@
name: sensor monitoring console board
description: A computer printed circuit board for a sensor monitoring console.
components:
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ComputerSensorMonitoring
- type: Sprite
state: cpu_engineering
- type: ComputerBoard
prototype: ComputerSensorMonitoring
- type: entity
parent: BaseComputerCircuitboard
@ -541,10 +605,10 @@
name: robotics control console board
description: A computer printed circuit board for a robotics control console.
components:
- type: Sprite
state: cpu_science
- type: ComputerBoard
prototype: ComputerRoboticsControl
- type: Sprite
state: cpu_science
- type: ComputerBoard
prototype: ComputerRoboticsControl
- type: entity
parent: BaseComputerCircuitboard
@ -567,6 +631,8 @@
state: cpu_science
- type: ComputerBoard
prototype: StationAiUploadComputer
- type: ComputerTabletopBoard # DeltaV
prototype: ComputerTabletopStationAiUpload # DeltaV
- type: entity
parent: BaseComputerCircuitboard
@ -578,3 +644,5 @@
state: cpu_science
- type: ComputerBoard
prototype: StationAiFixerComputer
- type: ComputerTabletopBoard # DeltaV
prototype: ComputerTabletopStationAiFixer # DeltaV

View File

@ -8,6 +8,8 @@
state: cpu_supply
- type: ComputerBoard
prototype: ComputerShipyard
- type: ComputerTabletopBoard
prototype: ComputerTabletopShipyard
- type: entity
parent: BaseComputerCircuitboard
@ -19,6 +21,8 @@
state: cpu_supply
- type: ComputerBoard
prototype: ComputerShuttleMining
- type: ComputerTabletopBoard
prototype: ComputerTabletopShuttleMining
- type: entity
parent: BaseComputerCircuitboard
@ -33,3 +37,5 @@
prototype: ComputerCargoOrdersJustice
- type: StaticPrice
price: 750
- type: ComputerTabletopBoard
prototype: ComputerTabletopCargoOrdersJustice

View File

@ -0,0 +1,261 @@
- type: entity
parent: [BaseStructureComputerTabletop, ComputerShuttleMining]
id: ComputerTabletopShuttleMining
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: shuttle
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerSalvageJobBoard]
id: ComputerTabletopSalvageJobBoard
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: salvjob
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerAtmosMonitoring]
id: ComputerTabletopAtmosMonitoring
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: tank
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: atmos_key
- type: entity
parent: [BaseStructureComputerTabletop, CentcommComputerComms]
id: ComputerTabletopCentcomm
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: comm_logs
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerRoboticsControl]
id: ComputerTabletopRoboticsControl
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: robot
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: rd_key
- type: entity
parent: [BaseStructureComputerTabletop, StationAiUploadComputer]
id: ComputerTabletopStationAiUpload
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: aiupload
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, StationAiFixerComputer]
id: ComputerTabletopStationAiFixer
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: ai-fixer-empty
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: rd_key
# Request Consoles
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCargoOrdersJustice]
id: ComputerTabletopCargoOrdersJustice
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: _DV/Structures/Machines/computers.rsi
state: request-jst
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCargoOrdersEngineering]
id: ComputerTabletopCargoOrdersEngineering
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: request-eng
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCargoOrdersMedical]
id: ComputerTabletopCargoOrdersMedical
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: request-med
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCargoOrdersScience]
id: ComputerTabletopCargoOrdersScience
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: request-sci
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCargoOrdersSecurity]
id: ComputerTabletopCargoOrdersSecurity
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: request-sec
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCargoOrdersService]
id: ComputerTabletopCargoOrdersService
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: request-srv
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys

View File

@ -0,0 +1,500 @@
# Computers: Base Game
- type: entity
parent: [BaseStructureComputerTabletop, ComputerAlert]
id: ComputerTabletopAlert
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: alert-2
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: atmos_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerShuttle] # Shuttle
id: ComputerTabletopShuttle
components:
- type: Sprite
drawdepth: SmallObjects
layers: &NFTabletopShuttleConsoleVisuals
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: shuttle
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerIFF]
id: ComputerTabletopIFF
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Shuttles/iff.rsi
state: helm
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerIFFSyndicate]
id: ComputerTabletopIFFSyndicate
suffix: Syndicate, Tabletop
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Shuttles/iff.rsi
state: helm
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerPowerMonitoring]
id: ComputerTabletopPowerMonitoring
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: power_monitor
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: power_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerMedicalRecords]
id: ComputerTabletopMedicalRecords
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: medcomp
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: med_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCriminalRecords]
id: ComputerTabletopCriminalRecords
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: explosive
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: security_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerStationRecords]
id: ComputerTabletopStationRecords
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: generic
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCrewMonitoring]
id: ComputerTabletopCrewMonitoring
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: crew
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: med_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerResearchAndDevelopment]
id: ComputerTabletopResearchAndDevelopment
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: rdcomp
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: rd_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerAnalysisConsole]
id: ComputerTabletopAnalysisConsole
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: artifact
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: tech_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerId]
id: ComputerTabletopId
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: id
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: id_key
- type: entity
parent: [BaseStructureComputerTabletop, computerBodyScanner]
id: ComputerTabletopBodyScanner
components:
- type: Sprite
sprite: _NF/Structures/Machines/computer_tabletop.rsi
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
state: computer_tabletop
- map: ["computerLayerKeyboard"]
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: generic
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerComms]
id: ComputerTabletopComms
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: comm
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerComms]
id: MobileComputerTabletopComms
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: comm
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, SyndicateComputerComms]
id: SyndicateComputerTabletopComms
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: comm_syndie
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: syndie_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerSolarControl]
id: ComputerTabletopSolarControl
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: _NF/Structures/Machines/computers.rsi
state: solar_screen
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerRadar]
id: ComputerTabletopRadar
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: solar_screen
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCargoOrders]
id: ComputerTabletopCargoOrders
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: request
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: tech_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCargoBounty]
id: ComputerTabletopCargoBounty
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: bounty
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: tech_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerCloningConsole]
id: ComputerTabletopCloningConsole
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: dna
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: entity
parent: [BaseStructureComputerTabletop, ComputerSalvageExpedition]
id: ComputerTabletopSalvageExpedition
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: mining
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: tech_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerSurveillanceCameraMonitor]
id: ComputerTabletopSurveillanceCameraMonitor
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: cameras
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: tech_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerSurveillanceWirelessCameraMonitor]
id: ComputerTabletopSurveillanceWirelessCameraMonitor
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: cameras
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: tech_key
- type: entity
parent: [BaseStructureComputerTabletop, ComputerMassMedia]
id: ComputerTabletopMassMedia
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: Structures/Machines/computers.rsi
state: service
- map: ["computerLayerKeys"]
sprite: Structures/Machines/computers.rsi
state: service_keys

View File

@ -0,0 +1,19 @@
- type: entity
parent: [BaseStructureComputerTabletop, ComputerShipyard]
id: ComputerTabletopShipyard
components:
- type: Sprite
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: ["computerLayerKeyboard"]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: ["computerLayerScreen"]
sprite: _NF/Structures/Machines/computers.rsi
state: shipyard
- map: ["computerLayerKeys"]
sprite: _NF/Structures/Machines/computers.rsi
state: telesci_key

View File

@ -0,0 +1,116 @@
- type: entity
id: BaseStructureComputerTabletop
parent: BaseStructure
suffix: Tabletop
abstract: true
components:
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.35,0.25,0.35"
density: 190
mask:
- TabletopMachineMask
layer:
- TabletopMachineLayer
- type: InteractionOutline
- type: Rotatable
- type: Anchorable
- type: Construction
graph: ComputerTabletop
node: tabletop computer
- type: Sprite
sprite: _NF/Structures/Machines/computer_tabletop.rsi
drawdepth: SmallObjects
layers:
- map: [ "computerLayerBody" ]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: computer_tabletop
- map: [ "computerLayerKeyboard" ]
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: generic_keyboard_tabletop
- map: [ "computerLayerScreen" ]
sprite: Structures/Machines/computers.rsi
state: generic
- map: [ "computerLayerKeys" ]
sprite: Structures/Machines/computers.rsi
state: generic_keys
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Electronic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:ChangeConstructionNodeBehavior
node: monitorBroken
- !type:DoActsBehavior
acts: ["Destruction"]
- type: StaticPrice
price: 105 # imp: arbitrage fix
- type: entity
parent: BaseStructureComputerTabletop
id: ComputerTabletopFrame
name: computer frame
description: A computer under construction.
components:
- type: Construction
graph: ComputerTabletop
node: frameUnsecured
containers:
- board
- type: Sprite
drawdepth: SmallObjects
sprite: _NF/Structures/Machines/computer_tabletop.rsi
layers:
- state: computer_tabletop_frame
map: [ "enum.ConstructionVisuals.Layer" ]
- type: Appearance
- type: GenericVisualizer
visuals:
enum.ConstructionVisuals.Key:
enum.ConstructionVisuals.Layer:
frameUnsecured: { state: computer_tabletop_frame }
boardUnsecured: { state: computer_board_exposed }
missingWires: { state: computer_tabletop }
monitorMissing: { state: computer_no_monitor }
monitorUnsecured: { state: computer_monitor_unscrewed }
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 60
mask:
- Impassable
- LowImpassable
- type: entity
parent: ComputerBroken
id: ComputerTabletopBroken
suffix: Tabletop
components:
- type: Sprite
drawdepth: SmallObjects
sprite: _NF/Structures/Machines/computer_tabletop.rsi
state: broken_tabletop
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 60
mask:
- Impassable
- LowImpassable

View File

@ -0,0 +1,147 @@
- type: constructionGraph
id: ComputerTabletop
start: start
graph:
- node: start
edges:
- to: frameUnsecured
completed:
- !type:SetAnchor
value: false
steps:
- material: Steel
amount: 5
doAfter: 2.5
- node: frameUnsecured
actions:
- !type:AppearanceChange
entity: ComputerTabletopFrame
edges:
- to: boardUnsecured
conditions:
- !type:EntityAnchored {}
steps:
- component: ComputerTabletopBoard
store: board
name: construction-graph-component-computer-tabletop-board
icon:
sprite: "Objects/Misc/module.rsi"
state: "id_mod"
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 5
- !type:DeleteEntity {}
steps:
- tool: Screwing
doAfter: 2
- node: boardUnsecured
actions:
- !type:AppearanceChange
edges:
- to: missingWires
conditions:
- !type:EntityAnchored {}
steps:
- tool: Screwing
- to: frameUnsecured
conditions:
- !type:EntityAnchored { }
completed:
- !type:EmptyAllContainers {}
steps:
- tool: Prying
- node: missingWires
actions:
- !type:AppearanceChange
edges:
- to: monitorMissing
conditions:
- !type:EntityAnchored {}
steps:
- material: Cable
amount: 5
- to: boardUnsecured
conditions:
- !type:EntityAnchored { }
steps:
- tool: Screwing
- node: monitorMissing
entity: ComputerTabletopFrame
actions:
- !type:SetAnchor { }
- !type:AppearanceChange
edges:
- to: monitorUnsecured
conditions:
- !type:EntityAnchored {}
steps:
- material: Glass
amount: 2
- to: missingWires
conditions:
- !type:EntityAnchored { }
completed:
- !type:SpawnPrototype
prototype: CableApcStack1
amount: 5
steps:
- tool: Cutting
- node: monitorUnsecured
actions:
- !type:AppearanceChange
entity: ComputerTabletopFrame
edges:
- to: tabletop computer
conditions:
- !type:EntityAnchored {}
steps:
- tool: Screwing
- to: monitorMissing
conditions:
- !type:EntityAnchored {}
completed:
- !type:SpawnPrototype
prototype: SheetGlass1
amount: 2
steps:
- tool: Prying
- node: tabletop computer
entity: !type:BoardNodeEntity
container: board
computer: Tabletop
edges:
- to: monitorUnsecured
completed:
- !type:RaiseEvent
event: !type:MachineDeconstructedEvent
conditions:
- !type:AllWiresCut {}
steps:
- tool: Screwing
- node: monitorBroken
entity: ComputerTabletopBroken
edges:
- to: monitorMissing
conditions:
- !type:EntityAnchored {}
completed:
- !type:SpawnPrototype
prototype: ShardGlass
amount: 2
steps:
- tool: Prying
doAfter: 2

View File

@ -0,0 +1,9 @@
- type: construction
id: ConstructionComputerTabletop
name: recipes-computer-tabletop-name
graph: ComputerTabletop
startNode: start
targetNode: tabletop computer
category: construction-category-machines
placementMode: SnapgridCenter
canBuildInImpassable: false

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,43 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/bd6873fd4dd6a61d7e46f1d75cd4d90f64c40894. | Resprited by erhardsteinhauer (discord)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "broken_tabletop",
"directions": 4
},
{
"name": "computer_board_exposed",
"directions": 4
},
{
"name": "computer_monitor_unscrewed",
"directions": 4
},
{
"name": "computer_no_monitor",
"directions": 4
},
{
"name": "computer_tabletop",
"directions": 4
},
{
"name": "computer_tabletop_frame",
"directions": 4
},
{
"name": "computer_tabletop_scrap",
"directions": 4
},
{
"name": "generic_keyboard_tabletop",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

View File

@ -0,0 +1,125 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "contraband by gentlebutter, animated by whatston3; cargo_market, shuttle_records, solar_screen, station_atm by whatston3; computer_expedition, computer_scrap, scrap_keyboard, scrap_key by erhardsteinhauer",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "atmos_key",
"directions": 4
},
{
"name": "computer",
"directions": 4
},
{
"name": "generic_keyboard",
"directions": 4
},
{
"name": "generic_keys",
"directions": 4
},
{
"name": "generic_panel_open",
"directions": 4
},
{
"name": "shipyard",
"directions": 4,
"delays": [
[
1,
0.3,
1,
0.3
],
[
1,
0.3,
1,
0.3
],
[
1,
0.3,
1,
0.3
],
[
1,
0.3,
1,
0.3
]
]
},
{
"name": "telesci_key",
"directions": 4
},
{
"name": "contraband",
"directions": 4,
"delays": [
[
0.45,
0.45,
0.45,
0.45
],
[
0.45,
0.45,
0.45,
0.45
],
[
0.45,
0.45,
0.45,
0.45
],
[
0.45,
0.45,
0.45,
0.45
]
]
},
{
"name": "solar_screen",
"directions": 4,
"delays": [
[
0.6,
0.4,
0.4,
0.6
],
[
0.6,
0.4,
0.4,
0.6
],
[
0.6,
0.4,
0.4,
0.6
],
[
0.6,
0.4,
0.4,
0.6
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B