Added Jukebox (#26736)

* Added Jukebox, along with music for jukebox

* Fixed Jukebox meta.json copyright

* Removed songs I couldn't find a license for.

* Renamed files to solve check failures from spaces

* Added missing attributions.yml

* Fixed lack of description in Jukebox

* Jukebox is now constructable.

* Change Jukebox menu to FancyWindow

* Moved Jukebox messages out of jukebox component

* Removed Jukebox OnValueChanged.

* JukeboxComp now uses AutoGenerateComponentState

* Removed state code, since it's auto generated

* Fixed various Jukebox code to match conventions.

* Updated Standard.yml to match changed song list.

* fixes

* Jukebox workin

* Fix

* Polishing

* Finalising

* Revert

* bad

* jukey

* Reviews

* name

* Update submodule to 218.2.0

---------

Co-authored-by: iNVERTED <alextjorgensen@gmail.com>
This commit is contained in:
metalgearsloth
2024-04-17 19:27:00 +10:00
committed by GitHub
parent 177d69cb98
commit 2db374988c
27 changed files with 907 additions and 1 deletions

View File

@@ -1369,4 +1369,18 @@
MatterBin: 1
Manipulator: 3
materialRequirements:
Glass: 1
Glass: 1
- type: entity
parent: BaseMachineCircuitboard
id: JukeboxCircuitBoard
name: jukebox machine board
description: A machine printed circuit board for a jukebox.
components:
- type: MachineBoard
prototype: Jukebox
materialRequirements:
WoodPlank: 5
Steel: 2
Glass: 5
Cable: 2

View File

@@ -0,0 +1,59 @@
- type: entity
id: Jukebox
name: jukebox
parent: [ BaseMachinePowered, ConstructibleMachine ]
description: A machine capable of playing a wide variety of tunes. Enjoyment not guaranteed.
components:
- type: Sprite
sprite: Structures/Machines/jukebox.rsi
layers:
- state: "off"
map: ["enum.JukeboxVisualLayers.Base"]
- type: Transform
anchored: true
- type: Jukebox
onState: on
offState: off
selectState: select
- type: Machine
board: JukeboxCircuitBoard
- type: Appearance
- type: ApcPowerReceiver
powerLoad: 100
- type: ExtensionCableReceiver
- type: ActivatableUI
key: enum.JukeboxUiKey.Key
- type: ActivatableUIRequiresPower
- type: UserInterface
interfaces:
- key: enum.JukeboxUiKey.Key
type: JukeboxBoundUserInterface
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 75
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 2
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.45,0.25,0.45"
mask:
- MachineMask
layer:
- MachineLayer
density: 200

View File

@@ -446,6 +446,7 @@
- TelecomServerCircuitboard
- MassMediaCircuitboard
- ReagentGrinderIndustrialMachineCircuitboard
- JukeboxCircuitBoard
- type: MaterialStorage
whitelist:
tags: