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"