Skip to content

Commit

Permalink
Add mass scanner and radar telescreens
Browse files Browse the repository at this point in the history
  • Loading branch information
Tych0theSynth committed Oct 30, 2024
1 parent 7a833ed commit 67ab9f4
Show file tree
Hide file tree
Showing 8 changed files with 313 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,10 @@
prototype: ComputerRadar
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopRadar # Frontier
- type: Tag # Frontier
tags: # Frontier
- DroneUsable # Frontier
- RadarConsoleCircuitboard # Frontier

- type: entity
parent: BaseComputerCircuitboard
Expand All @@ -337,6 +341,10 @@
prototype: ComputerAdvancedRadar
- type: ComputerTabletopBoard # Frontier
prototype: ComputerTabletopAdvancedRadar # Frontier
- type: Tag # Frontier
tags: # Frontier
- DroneUsable # Frontier
- AdvancedRadarConsoleCircuitboard # Frontier

- type: entity
parent: BaseComputerCircuitboard
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Mass scanner telescreen frame for construction graph
- type: entity
parent: WallmountTelescreenFrame
id: ComputerRadarTelescreenFrame
name: mass scanner telescreen frame
description: A computer for detecting nearby bodies, displaying them by position and mass.
components:
- type: Construction
graph: ComputerRadarTelescreen
node: TelescreenFrame

# Mass scanner telescreen
- type: entity
parent: ComputerRadarTelescreenFrame
id: ComputerRadarTelescreen
name: mass scanner telescreen
description: A computer for detecting nearby bodies, displaying them by position and mass.
components:
- type: Construction
graph: ComputerRadarTelescreen
node: Telescreen
- type: Sprite
layers:
- map: ["computerLayerBody"]
state: telescreen_frame
- map: ["computerLayerScreen"]
sprite: _NF/Structures/Machines/computers.rsi
state: telescreen_mass
- type: RadarConsole
maxRange: 256
maxIffRange: 512
- type: ActivatableUI
key: enum.RadarConsoleUiKey.Key
- type: UserInterface
interfaces:
enum.RadarConsoleUiKey.Key:
type: RadarConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer
board: RadarConsoleCircuitboard
- type: PointLight
radius: 1.5
energy: 1.6
color: "#e6e227"

# Radar telescreen frame for construction graph
- type: entity
parent: WallmountTelescreenFrame
id: ComputerAdvancedRadarTelescreenFrame
name: radar telescreen frame
description: This advanced radar lets you detect far away objects for an increased tactical advantage.
components:
- type: Construction
graph: ComputerAdvancedRadarTelescreen
node: TelescreenFrame

# Radar telescreen
- type: entity
parent: ComputerAdvancedRadarTelescreenFrame
id: ComputerAdvancedRadarTelescreen
name: radar telescreen
description: This advanced radar lets you detect far away objects for an increased tactical advantage.
components:
- type: Construction
graph: ComputerAdvancedRadarTelescreen
node: Telescreen
- type: Sprite
layers:
- map: ["computerLayerBody"]
state: telescreen_frame
- map: ["computerLayerScreen"]
sprite: _NF/Structures/Machines/computers.rsi
state: telescreen_radar
- type: RadarConsole
maxRange: 768
maxIffRange: null
- type: ActivatableUI
key: enum.RadarConsoleUiKey.Key
- type: UserInterface
interfaces:
enum.RadarConsoleUiKey.Key:
type: RadarConsoleBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: Computer
board: AdvancedRadarConsoleCircuitboard
- type: PointLight
radius: 1.5
energy: 1.6
color: "#e6e227"
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
# Mass Scanner Telescreen
- type: constructionGraph
id: ComputerRadarTelescreen
start: start
graph:
- node: start
edges:
- to: TelescreenFrame
steps:
- material: Steel
amount: 2
doAfter: 2

- node: TelescreenFrame
entity: ComputerRadarTelescreenFrame
edges:
- to: Wired
steps:
- material: Cable
amount: 5
doAfter: 3

- to: start
completed:
- !type:GivePrototype
prototype: SheetSteel1
amount: 2
- !type:DeleteEntity {}
steps:
- tool: Welding
doAfter: 2

- node: Wired
edges:
- to: Screen
steps:
- tool: Screwing
doAfter: 2
- tag: RadarConsoleCircuitboard
name: radar console computer board
icon:
sprite: Objects/Misc/module.rsi
state: cpuboard

- to: TelescreenFrame
completed:
- !type:GivePrototype
prototype: CableApcStack1
amount: 5
- !type:GivePrototype
prototype: RadarConsoleCircuitboard
amount: 1
steps:
- tool: Cutting
doAfter: 2

- node: Screen
entity: ComputerRadarTelescreenFrame
edges:
- to: Telescreen
steps:
- tool: Screwing
doAfter: 2
- material: Glass
amount: 2
doAfter: 2

- to: Wired
completed:
- !type:GivePrototype
prototype: SheetGlass1
amount: 2
steps:
- tool: Prying
doAfter: 2

- node: Telescreen
entity: ComputerRadarTelescreen
edges:
- to: Screen
steps:
- tool: Screwing
doAfter: 3

# Advanced Radar Telescreen
- type: constructionGraph
id: ComputerAdvancedRadarTelescreen
start: start
graph:
- node: start
edges:
- to: TelescreenFrame
steps:
- material: Steel
amount: 2
doAfter: 2

- node: TelescreenFrame
entity: ComputerAdvancedRadarTelescreenFrame
edges:
- to: Wired
steps:
- material: Cable
amount: 5
doAfter: 3

- to: start
completed:
- !type:GivePrototype
prototype: SheetSteel1
amount: 2
- !type:DeleteEntity {}
steps:
- tool: Welding
doAfter: 2

- node: Wired
edges:
- to: Screen
steps:
- tool: Screwing
doAfter: 2
- tag: AdvancedRadarConsoleCircuitboard
name: advanced radar console computer board
icon:
sprite: Objects/Misc/module.rsi
state: cpuboard

- to: TelescreenFrame
completed:
- !type:GivePrototype
prototype: CableApcStack1
amount: 5
- !type:GivePrototype
prototype: AdvancedRadarConsoleCircuitboard
amount: 1
steps:
- tool: Cutting
doAfter: 2

- node: Screen
entity: ComputerAdvancedRadarTelescreenFrame
edges:
- to: Telescreen
steps:
- tool: Screwing
doAfter: 2
- material: Glass
amount: 2
doAfter: 2

- to: Wired
completed:
- !type:GivePrototype
prototype: SheetGlass1
amount: 2
steps:
- tool: Prying
doAfter: 2

- node: Telescreen
entity: ComputerAdvancedRadarTelescreen
edges:
- to: Screen
steps:
- tool: Screwing
doAfter: 3
35 changes: 35 additions & 0 deletions Resources/Prototypes/_NF/Recipes/Construction/utilities.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Wallmount mass scanner telescreen
- type: construction
name: mass scanner telescreen
id: ComputerRadarTelescreen
graph: ComputerRadarTelescreen
startNode: start
targetNode: Telescreen
category: construction-category-utilities
description: "A computer for detecting nearby bodies, displaying them by position and mass."
icon:
sprite: Structures/Machines/computers.rsi
state: telescreen_frame
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: true
conditions:
- !type:WallmountCondition {}

# Wallmount advanced radar telescreen
- type: construction
name: radar telescreen
id: ComputerAdvancedRadarTelescreen
graph: ComputerAdvancedRadarTelescreen
startNode: start
targetNode: Telescreen
category: construction-category-utilities
description: "This advanced radar lets you detect far away objects for an increased tactical advantage."
icon:
sprite: Structures/Machines/computers.rsi
state: telescreen_frame
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: true
conditions:
- !type:WallmountCondition {}
6 changes: 6 additions & 0 deletions Resources/Prototypes/_NF/tags.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,9 @@

- type: Tag
id: NFVGRoidInterior

- type: Tag
id: RadarConsoleCircuitboard

- type: Tag
id: AdvancedRadarConsoleCircuitboard
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,12 @@
0.5
]
]
},
{ "name": "telescreen_mass",
"directions": 4
},
{ "name": "telescreen_radar",
"directions": 4
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 67ab9f4

Please sign in to comment.