Telescreens and big flat screen TV (#8842)

* first pass wall tv

* telescreen first pass

* adds flat screen television

* removed duplicate assets

* code changes and construction graph start

* Update lv stack to apc

* completed graphs and fixed bb sizes

* Proto update

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
Peptide90
2022-07-04 08:10:29 +01:00
committed by GitHub
parent f8522c81bc
commit 649b94303e
11 changed files with 401 additions and 1 deletions

View File

@@ -0,0 +1,171 @@
- type: entity
parent: BaseComputer
id: WallmountTelescreenFrame
name: telescreen frame
description: Finally, some decent reception around here...
components:
- type: Appearance
visuals:
- type: ComputerVisualizer
body: telescreen
bodyBroken: telescreen_broken
screen: telescreen
- type: Construction
graph: WallmountTelescreen
node: TelescreenFrame
- type: Sprite
drawdepth: WallMountedItems
netsync: false
sprite: Structures/Machines/computers.rsi
layers:
- map: [ "enum.ComputerVisualizer+Layers.KeyboardOn" ]
visible: false
- map: [ "enum.ComputerVisualizer+Layers.Keyboard" ]
visible: false
- map: [ "enum.ComputerVisualizer+Layers.Body"]
state: television
- map: [ "enum.ComputerVisualizer+Layers.Screen" ]
state: telescreen
shader: shaded
- type: Fixtures
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.20,-0.10,0.25,0.35"
mass: 50
mask:
- FullTileMask
layer:
- WallLayer
- type: WallMount
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors: #excess damage, don't spawn entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Transform
anchored: true
- type: entity
parent: WallmountTelescreenFrame
id: WallmountTelescreen
suffix: camera monitor
name: telescreen
description: Finally, some decent reception around here...
components:
- type: Construction
graph: WallmountTelescreen
node: Telescreen
- type: PointLight
radius: 1.5
energy: 1.6
color: "#b89f25"
- type: DeviceNetwork
deviceNetId: Wired
receiveFrequencyId: SurveillanceCamera
transmitFrequencyId: SurveillanceCamera
- type: WiredNetworkConnection
- type: SurveillanceCameraMonitor
- type: ActivatableUI
key: enum.SurveillanceCameraMonitorUiKey.Key
- type: ActivatableUIRequiresPower
- type: UserInterface
interfaces:
- key: enum.SurveillanceCameraMonitorUiKey.Key
type: SurveillanceCameraMonitorBoundUserInterface
# Wall Televisions
- type: entity
parent: WallmountTelescreenFrame
id: WallmountTelevisionFrame
name: television frame
description: Finally, some decent reception around here...
components:
- type: Appearance
visuals:
- type: ComputerVisualizer
key: television_wall
body: television_wall
bodyBroken: television_wallbroken
screen: television_wall
- type: Fixtures
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.75,-0.10,0.75,0.35"
mass: 50
mask:
- FullTileMask
layer:
- WallLayer
- type: Construction
graph: WallmountTelevision
node: TelevisionFrame
- type: Sprite
drawdepth: WallMountedItems
netsync: false
sprite: Structures/Wallmounts/flatscreentv.rsi
layers:
- map: [ "enum.ComputerVisualizer+Layers.KeyboardOn" ]
visible: false
- map: [ "enum.ComputerVisualizer+Layers.Keyboard" ]
visible: false
- map: [ "enum.ComputerVisualizer+Layers.Body"]
state: television_wall
- map: [ "enum.ComputerVisualizer+Layers.Screen" ]
state: television_wall
shader: shaded
- type: entity
parent: WallmountTelevisionFrame
id: WallmountTelevision
suffix: entertainment
name: television
description: Finally, some decent reception around here...
components:
- type: Appearance
visuals:
- type: ComputerVisualizer
key: television_wall
body: television_wall
bodyBroken: television_wallbroken
screen: television_wallscreen
- type: Construction
graph: WallmountTelevision
node: Television
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: SurveillanceCamera
transmitFrequencyId: SurveillanceCamera
- type: WirelessNetworkConnection
range: 200
- type: SurveillanceCameraMonitor
- type: ActivatableUI
key: enum.SurveillanceCameraMonitorUiKey.Key
- type: ActivatableUIRequiresPower
- type: UserInterface
interfaces:
- key: enum.SurveillanceCameraMonitorUiKey.Key
type: SurveillanceCameraMonitorBoundUserInterface
- type: PointLight
radius: 1.5
energy: 1.6
color: "#b89f25"

View File

@@ -0,0 +1,176 @@
- type: constructionGraph
id: WallmountTelescreen
start: start
graph:
- node: start
edges:
- to: TelescreenFrame
steps:
- material: Steel
amount: 2
doAfter: 2
- node: TelescreenFrame
entity: WallmountTelescreenFrame
edges:
- to: Wired
steps:
- material: Cable
amount: 5
doAfter: 3
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 2
- !type:DeleteEntity {}
steps:
- tool: Welding
doAfter: 2
- node: Wired
edges:
- to: Screen
steps:
- tool: Screwing
doAfter: 2
- prototype: SurveillanceCameraMonitorCircuitboard
name: surveillance camera monitor board
icon:
sprite: Objects/Misc/module.rsi
state: cpuboard
- to: TelescreenFrame
completed:
- !type:SpawnPrototype
prototype: CableApcStack1
amount: 5
- !type:SpawnPrototype
prototype: SurveillanceCameraMonitorCircuitboard
amount: 1
steps:
- tool: Cutting
doAfter: 2
- node: Screen
entity: WallmountTelescreenFrame
edges:
- to: Telescreen
steps:
- tool: Screwing
doAfter: 2
- material: Glass
amount: 2
doAfter: 2
- to: Wired
completed:
- !type:SpawnPrototype
prototype: SheetGlass1
amount: 2
steps:
- tool: Prying
doAfter: 2
- node: Telescreen
entity: WallmountTelescreen
edges:
- to: Screen
steps:
- tool: Screwing
doAfter: 3
# TVs
- type: constructionGraph
id: WallmountTelevision
start: start
graph:
- node: start
edges:
- to: TelevisionFrame
steps:
- material: Steel
amount: 2
doAfter: 2
- node: TelevisionFrame
entity: WallmountTelevisionFrame
edges:
- to: Wired
steps:
- material: Cable
amount: 5
doAfter: 3
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 2
- !type:DeleteEntity {}
steps:
- tool: Welding
doAfter: 2
- node: Wired
edges:
- to: Screen
steps:
- tool: Screwing
doAfter: 2
- prototype: ComputerTelevisionCircuitboard
name: television board
icon:
sprite: Objects/Misc/module.rsi
state: cpuboard
- to: TelevisionFrame
completed:
- !type:SpawnPrototype
prototype: CableApcStack1
amount: 5
- !type:SpawnPrototype
prototype: ComputerTelevisionCircuitboard
amount: 1
steps:
- tool: Cutting
doAfter: 2
- node: Screen
entity: WallmountTelevisionFrame
edges:
- to: Television
steps:
- tool: Screwing
doAfter: 2
- material: Glass
amount: 2
doAfter: 2
- to: Wired
completed:
- !type:SpawnPrototype
prototype: SheetGlass1
amount: 2
steps:
- tool: Prying
doAfter: 2
- node: Television
entity: WallmountTelevision
edges:
- to: Screen
steps:
- tool: Screwing
doAfter: 3

View File

@@ -1,3 +1,4 @@
# SURVEILLANCE
- type: construction
name: camera
id: camera
@@ -11,6 +12,20 @@
state: camera
objectType: Structure
placementMode: SnapgridCenter
- type: construction
name: telescreen
id: WallmountTelescreen
graph: WallmountTelescreen
startNode: start
targetNode: Telescreen
category: Utilities
description: "A surveillance camera monitor for the wall."
icon:
sprite: Structures/Machines/computers.rsi
state: telescreen
objectType: Structure
placementMode: SnapgridCenter
# POWER
- type: construction

View File

@@ -1558,7 +1558,12 @@
"name": "television"
},
{
"name": "television_broken"
"name": "telescreen",
"directions": 4
},
{
"name": "telescreen_broken",
"directions": 4
},
{
"name": "detective_television"

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

View File

@@ -0,0 +1,33 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Created by Peptide90 for SS14",
"size": {
"x": 64,
"y": 32
},
"states": [
{
"name": "television_wall"
},
{
"name": "television_wall_off"
},
{
"name": "television_wallbroken"
},
{
"name": "television_wallscreen",
"delays": [
[
0.7,
0.7,
0.7,
0.7,
0.7,
0.7
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B