Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some wallmount .yml cleanup #34329

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
- type: entity
parent: ComputerSurveillanceWirelessCameraMonitor
id: ComputerTelevision
name: wooden television
description: Finally, some decent reception around here...
components:
- type: Sprite
noRot: true
drawdepth: SmallObjects
layers:
- map: ["computerLayerBody"]
state: television
- map: ["computerLayerScreen"]
state: detective_television
- type: Computer
board: ComputerTelevisionCircuitboard
- type: PointLight
radius: 1.5
energy: 1.6
color: "#b89f25"
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.25,0.25,0.25"
density: 200
mask:
- TabletopMachineMask
layer:
- TabletopMachineLayer
153 changes: 100 additions & 53 deletions Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# base

- type: entity
id: VendingMachine
parent: BaseMachinePowered
Expand Down Expand Up @@ -102,6 +104,72 @@
- type: Appearance
- type: WiresVisuals

- type: entity
id: VendingMachineWallmount
parent: BaseWallmountMachine
name: vending machine
abstract: true
components:
- type: StationAiWhitelist
- type: AmbientOnPowered
- type: AmbientSound
volume: -9
range: 3
enabled: false
sound:
path: /Audio/Ambience/Objects/vending_machine_hum.ogg
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Breakage"]
- !type:EjectVendorItems
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
- type: Repairable
doAfterDelay: 8
- type: ActivatableUI
key: enum.VendingMachineUiKey.Key
- type: ActivatableUIRequiresPower
- type: UserInterface
interfaces:
enum.VendingMachineUiKey.Key:
type: VendingMachineBoundUserInterface
enum.WiresUiKey.Key:
type: WiresBoundUserInterface
- type: WiresPanel
- type: Wires
boardName: wires-board-name-vendingmachine
layoutId: Vending
- type: PointLight
enabled: false
castShadows: false
radius: 1.5
- type: LitOnPowered
- type: Appearance
- type: WiresVisuals
- type: Electrified
enabled: false
usesApcPower: true
- type: Rotatable

# Vending machines

- type: entity
parent: VendingMachine
id: VendingMachineCondiments
Expand Down Expand Up @@ -1416,59 +1484,6 @@
energy: 1.6
color: "#d4ab33"

# wallmounted machines

- type: entity
id: VendingMachineWallmount
parent: VendingMachine
name: vending machine
abstract: true
placement:
mode: SnapgridCenter
snap:
- Wallmount
components:
- type: Sprite
drawdepth: WallMountedItems
snapCardinals: false
- type: Rotatable
- type: WallMount
arc: 175
- type: Transform
noRot: false

- type: entity
parent: VendingMachineWallmount
id: VendingMachineWallMedical
name: NanoMed
description: "It's a wall-mounted medical equipment dispenser. Natural chemicals only!"
components:
- type: VendingMachine
pack: NanoMedInventory
offState: off
brokenState: broken
normalState: normal-unshaded
denyState: deny-unshaded
- type: Sprite
sprite: Structures/Machines/VendingMachines/wallmed.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- texture: Structures/Machines/VendingMachines/maintenance_panel.png
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.3
energy: 1.6
color: "#43ccb5"
- type: AccessReader
access: [["Medical"]]
- type: GuideHelp
guides:
- Medical

# job clothing

- type: entity
Expand Down Expand Up @@ -2172,3 +2187,35 @@
- type: AccessReader
access: [["SyndicateAgent"]]

# wallmount
- type: entity
parent: VendingMachineWallmount
id: VendingMachineWallMedical
name: NanoMed
description: "It's a wall-mounted medical equipment dispenser. Natural chemicals only!"
components:
- type: VendingMachine
pack: NanoMedInventory
offState: off
brokenState: broken
normalState: normal-unshaded
denyState: deny-unshaded
- type: Sprite
sprite: Structures/Machines/VendingMachines/wallmed.rsi
layers:
- state: "off"
map: ["enum.VendingMachineVisualLayers.Base"]
- state: "off"
map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
shader: unshaded
- texture: Structures/Machines/VendingMachines/maintenance_panel.png
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.3
energy: 1.6
color: "#43ccb5"
- type: AccessReader
access: [["Medical"]]
- type: GuideHelp
guides:
- Medical
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
- type: entity
parent: BaseWallmountMetallic
id: BoxingBell
name: boxing bell
description: Ding ding!
placement:
mode: SnapgridCenter
snap:
- Wallmount
components:
- type: Transform
anchored: true
- type: WallMount
- type: Sprite
sprite: Structures/Wallmounts/bell.rsi
layers:
Expand All @@ -18,22 +12,12 @@
successChance: 1
interactSuccessSound:
path: /Audio/Weapons/boxingbell.ogg
- type: Clickable
- type: MeleeSound
soundGroups:
Brute:
path:
"/Audio/Weapons/boxingbell.ogg"
- type: Appearance
- type: Rotatable
- type: CollisionWake
enabled: false
- type: Physics
canCollide: false
bodyType: Static
- type: Fixtures
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
- type: entity
parent: BaseWallmountGlass
id: Mirror
name: mirror
description: 'Mirror mirror on the wall , who''s the most robust of them all?'
components:
- type: WallMount
- type: Sprite
sprite: Structures/Wallmounts/mirror.rsi
state: mirror
- type: InteractionOutline
- type: Clickable
- type: Transform
anchored: true
- type: MagicMirror #instant and silent
changeHairSound: null
addSlotTime: 0
Expand All @@ -24,3 +20,14 @@
interfaces:
enum.MagicMirrorUiKey.Key:
type: MagicMirrorBoundUserInterface
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalGlassBreak
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
- type: entity
parent: BaseWallmount
id: NoticeBoard
name: notice board
description: Is there a job for a witcher?
placement:
mode: SnapgridCenter
components:
- type: WallMount
- type: Sprite
drawdepth: WallMountedItems
sprite: Structures/Wallmounts/noticeboard.rsi
Expand All @@ -17,10 +15,6 @@
maxFillLevels: 6
fillBaseName: notice
- type: Appearance
- type: InteractionOutline
- type: Clickable
- type: Transform
anchored: true
- type: Damageable
damageModifierSet: Wood
damageContainer: StructuralInorganic
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
- type: entity
parent: [BaseWallmountMetallic, BaseItemCabinet]
id: BaseWallmountCabinet
abstract: true

- type: entity
parent: [BaseWallmountGlass, BaseItemCabinetGlass]
id: BaseWallmountCabinetGlass
abstract: true
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
# TODO: same as other wallmount cabinets they should use a base structure prototype
- type: entity
parent: BaseItemCabinet
parent: BaseWallmountCabinet
id: DefibrillatorCabinet
name: defibrillator cabinet
description: A small wall mounted cabinet designed to hold a defibrillator.
placement:
mode: SnapgridCenter
components:
- type: WallMount
arc: 175
- type: Transform
anchored: true
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Structures/Wallmounts/defib_cabinet.rsi
noRot: false
Expand All @@ -30,9 +24,6 @@
whitelist:
components:
- Defibrillator
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger: !type:DamageTrigger
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,9 @@
# TODO: this could probably use some kind of base structure prototype
# every wallmount cabinet copypastes placement and like 8 components
- type: entity
parent: BaseItemCabinet
parent: BaseWallmountCabinet
id: ExtinguisherCabinet
name: extinguisher cabinet
description: A small wall mounted cabinet designed to hold a fire extinguisher.
placement:
mode: SnapgridCenter
components:
- type: WallMount
arc: 360
- type: Transform
anchored: true
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Structures/Wallmounts/extinguisher_cabinet.rsi
snapCardinals: true
Expand All @@ -31,9 +21,6 @@
whitelist:
components:
- SpraySafety
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
Expand Down
Loading
Loading