Arcade machine improvements (#24200)
* Give 'em something to talk about * Wire panel visuals * Wire graphics tweak * More ads and thanks * More ads for a noisy arcade * New screen for space villain machines * Implement EmitSoundIntervalComponent and a bunch of arcade noises * Require power for sounds * Allow earlier startup intervals * Orange glow * Audio attributions * Include the PR link * Replace EmitSoundInterval with expanded SpamEmitSound * Remove pacman-themed arcade sounds * Documentation good. * Updated methods to use Entity<T> * Refactored SpamEmitSound to get rid of accumulator and chance. * Fixed prewarm logic * Moved stuff to Shared * Fix outdated YAML * Better prediction, auto pause handling * Make enable/disable reset the timer instead of trying to save it.
This commit is contained in:
4
Resources/Audio/Machines/Arcade/attributions.yml
Normal file
4
Resources/Audio/Machines/Arcade/attributions.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
- files: ["hahaha.ogg", "pew_pew.ogg", "sting_*.ogg"]
|
||||
license: "CC0-1.0"
|
||||
copyright: "Recorded by https://github.com/Tayrtahn"
|
||||
source: "https://github.com/space-wizards/space-station-14/pull/24200"
|
||||
BIN
Resources/Audio/Machines/Arcade/hahaha.ogg
Normal file
BIN
Resources/Audio/Machines/Arcade/hahaha.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Machines/Arcade/pew_pew.ogg
Normal file
BIN
Resources/Audio/Machines/Arcade/pew_pew.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Machines/Arcade/sting_01.ogg
Normal file
BIN
Resources/Audio/Machines/Arcade/sting_01.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Machines/Arcade/sting_02.ogg
Normal file
BIN
Resources/Audio/Machines/Arcade/sting_02.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Machines/Arcade/sting_03.ogg
Normal file
BIN
Resources/Audio/Machines/Arcade/sting_03.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Machines/Arcade/sting_04.ogg
Normal file
BIN
Resources/Audio/Machines/Arcade/sting_04.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Machines/Arcade/sting_05.ogg
Normal file
BIN
Resources/Audio/Machines/Arcade/sting_05.ogg
Normal file
Binary file not shown.
BIN
Resources/Audio/Machines/Arcade/sting_06.ogg
Normal file
BIN
Resources/Audio/Machines/Arcade/sting_06.ogg
Normal file
Binary file not shown.
26
Resources/Locale/en-US/advertisements/arcade/blockgame.ftl
Normal file
26
Resources/Locale/en-US/advertisements/arcade/blockgame.ftl
Normal file
@@ -0,0 +1,26 @@
|
||||
advertisement-block-game-1 = Legally distinct!
|
||||
advertisement-block-game-2 = What the hell is a T-spin?
|
||||
advertisement-block-game-3 = These blocks aren't going to clear themselves!
|
||||
advertisement-block-game-4 = Beep boop! Bwoooop!
|
||||
advertisement-block-game-5 = Let's play a game!
|
||||
advertisement-block-game-6 = 6 whole colors of gameplay!
|
||||
advertisement-block-game-7 = Hot 8-bit action!
|
||||
advertisement-block-game-8 = Blocks, blocks, blocks!
|
||||
advertisement-block-game-9 = Think YOU can claim the high score?
|
||||
advertisement-block-game-10 = Nanotrasen Block Game IS what TetrISN'T!
|
||||
advertisement-block-game-11 = Now with blast processing!
|
||||
advertisement-block-game-12 = Our lawyers are standing by!
|
||||
advertisement-block-game-13 = Hallelujah, it's raining blocks!
|
||||
|
||||
thankyou-block-game-1 = Play again soon!
|
||||
thankyou-block-game-2 = Well played!
|
||||
thankyou-block-game-3 = Just one more game?
|
||||
thankyou-block-game-4 = Stopping so soon?
|
||||
thankyou-block-game-5 = The blocks will miss you.
|
||||
thankyou-block-game-6 = Thanks for playin'!
|
||||
thankyou-block-game-7 = Come back soon!
|
||||
thankyou-block-game-8 = Beep bwooop!
|
||||
thankyou-block-game-9 = There's always time for another game!
|
||||
thankyou-block-game-10 = Don't give up now!
|
||||
thankyou-block-game-11 = There are always more blocks!
|
||||
thankyou-block-game-12 = The blocks await your return!
|
||||
@@ -0,0 +1,28 @@
|
||||
advertisement-space-villain-1 = Are you a bad enough dude to beat this game?
|
||||
advertisement-space-villain-2 = Beat the bad guy; win a prize!
|
||||
advertisement-space-villain-3 = FIGHT ME!
|
||||
advertisement-space-villain-4 = Space needs a hero!
|
||||
advertisement-space-villain-5 = I'm holding out for a hero!
|
||||
advertisement-space-villain-6 = Won't someone save us?
|
||||
advertisement-space-villain-7 = Mua-hah-hah-hah!
|
||||
advertisement-space-villain-8 = Spaaaaaaaace Villain!
|
||||
advertisement-space-villain-9 = No one can defeat me!
|
||||
advertisement-space-villain-10 = Tremble before me!
|
||||
advertisement-space-villain-11 = CHALLENGE ME!
|
||||
advertisement-space-villain-12 = FEAR ME!
|
||||
advertisement-space-villain-13 = Do you dare to face me in battle!?
|
||||
advertisement-space-villain-14 = Beware, I live!
|
||||
advertisement-space-villain-15 = I hunger!
|
||||
|
||||
thankyou-space-villain-1 = And where do you think you're going, punk?
|
||||
thankyou-space-villain-2 = Is that all you've got?
|
||||
thankyou-space-villain-3 = This fight isn't over!
|
||||
thankyou-space-villain-4 = Challenge again soon!
|
||||
thankyou-space-villain-5 = Who dares to challenge me next?
|
||||
thankyou-space-villain-6 = I knew you couldn't defeat me!
|
||||
thankyou-space-villain-7 = Too much for you to handle?
|
||||
thankyou-space-villain-8 = Run, coward!
|
||||
thankyou-space-villain-9 = You never stood a chance.
|
||||
thankyou-space-villain-10 = Care for a rematch?
|
||||
thankyou-space-villain-11 = Fight me again!
|
||||
thankyou-space-villain-12 = Come back here and fight me!
|
||||
@@ -0,0 +1,29 @@
|
||||
- type: advertisementsPack
|
||||
id: BlockGameAds
|
||||
advertisements:
|
||||
- advertisement-block-game-1
|
||||
- advertisement-block-game-2
|
||||
- advertisement-block-game-3
|
||||
- advertisement-block-game-4
|
||||
- advertisement-block-game-5
|
||||
- advertisement-block-game-6
|
||||
- advertisement-block-game-7
|
||||
- advertisement-block-game-8
|
||||
- advertisement-block-game-9
|
||||
- advertisement-block-game-10
|
||||
- advertisement-block-game-11
|
||||
- advertisement-block-game-12
|
||||
- advertisement-block-game-13
|
||||
thankyous:
|
||||
- thankyou-block-game-1
|
||||
- thankyou-block-game-2
|
||||
- thankyou-block-game-3
|
||||
- thankyou-block-game-4
|
||||
- thankyou-block-game-5
|
||||
- thankyou-block-game-6
|
||||
- thankyou-block-game-7
|
||||
- thankyou-block-game-8
|
||||
- thankyou-block-game-9
|
||||
- thankyou-block-game-10
|
||||
- thankyou-block-game-11
|
||||
- thankyou-block-game-12
|
||||
@@ -0,0 +1,31 @@
|
||||
- type: advertisementsPack
|
||||
id: SpaceVillainAds
|
||||
advertisements:
|
||||
- advertisement-space-villain-1
|
||||
- advertisement-space-villain-2
|
||||
- advertisement-space-villain-3
|
||||
- advertisement-space-villain-4
|
||||
- advertisement-space-villain-5
|
||||
- advertisement-space-villain-6
|
||||
- advertisement-space-villain-7
|
||||
- advertisement-space-villain-8
|
||||
- advertisement-space-villain-9
|
||||
- advertisement-space-villain-10
|
||||
- advertisement-space-villain-11
|
||||
- advertisement-space-villain-12
|
||||
- advertisement-space-villain-13
|
||||
- advertisement-space-villain-14
|
||||
- advertisement-space-villain-15
|
||||
thankyous:
|
||||
- thankyou-space-villain-1
|
||||
- thankyou-space-villain-2
|
||||
- thankyou-space-villain-3
|
||||
- thankyou-space-villain-4
|
||||
- thankyou-space-villain-5
|
||||
- thankyou-space-villain-6
|
||||
- thankyou-space-villain-7
|
||||
- thankyou-space-villain-8
|
||||
- thankyou-space-villain-9
|
||||
- thankyou-space-villain-10
|
||||
- thankyou-space-villain-11
|
||||
- thankyou-space-villain-12
|
||||
@@ -10,29 +10,65 @@
|
||||
priority: Low
|
||||
- type: ExtensionCableReceiver
|
||||
- type: PointLight
|
||||
radius: 1.5
|
||||
radius: 1.8
|
||||
energy: 1.6
|
||||
color: "#3db83b"
|
||||
- type: LitOnPowered
|
||||
- type: Sprite
|
||||
sprite: Structures/Machines/arcade.rsi
|
||||
layers:
|
||||
- map: ["computerLayerBody"]
|
||||
state: arcade
|
||||
- map: ["computerLayerScreen"]
|
||||
state: invaders
|
||||
state: screen_invaders
|
||||
- map: ["enum.WiresVisualLayers.MaintenancePanel"]
|
||||
state: panel
|
||||
visible: false
|
||||
- type: Icon
|
||||
sprite: Structures/Machines/arcade.rsi
|
||||
state: arcade
|
||||
- type: WiresPanel
|
||||
- type: Wires
|
||||
layoutId: Arcade
|
||||
boardName: wires-board-name-arcade
|
||||
- type: WiresVisuals
|
||||
- type: TypingIndicator
|
||||
proto: robot
|
||||
- type: Speech
|
||||
speechVerb: Robotic
|
||||
speechSounds: Vending
|
||||
- type: Anchorable
|
||||
- type: Pullable
|
||||
- type: StaticPrice
|
||||
price: 300
|
||||
- type: SpamEmitSoundRequirePower
|
||||
- type: SpamEmitSound
|
||||
minInterval: 30
|
||||
maxInterval: 90
|
||||
sound:
|
||||
collection: ArcadeNoise
|
||||
params:
|
||||
volume: -8
|
||||
maxDistance: 10
|
||||
variation: 0.05
|
||||
|
||||
- type: entity
|
||||
id: SpaceVillainArcade
|
||||
name: space villain arcade
|
||||
parent: ArcadeBase
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Structures/Machines/arcade.rsi
|
||||
layers:
|
||||
- map: ["computerLayerBody"]
|
||||
state: arcade
|
||||
- map: ["computerLayerScreen"]
|
||||
state: screen_spacevillain
|
||||
- map: ["enum.WiresVisualLayers.MaintenancePanel"]
|
||||
state: panel
|
||||
visible: false
|
||||
- type: PointLight
|
||||
color: "#e3a136"
|
||||
- type: SpaceVillainArcade
|
||||
rewardAmount: 0
|
||||
possibleRewards:
|
||||
@@ -108,6 +144,10 @@
|
||||
type: WiresBoundUserInterface
|
||||
- type: Computer
|
||||
board: SpaceVillainArcadeComputerCircuitboard
|
||||
- type: Advertise
|
||||
pack: SpaceVillainAds
|
||||
minWait: 60 # Arcades are noisy
|
||||
maxWait: 240
|
||||
|
||||
- type: entity
|
||||
id: SpaceVillainArcadeFilled
|
||||
@@ -130,15 +170,14 @@
|
||||
- map: ["computerLayerBody"]
|
||||
state: arcade
|
||||
- map: ["computerLayerScreen"]
|
||||
state: blockgame
|
||||
state: screen_blockgame
|
||||
- map: ["enum.WiresVisualLayers.MaintenancePanel"]
|
||||
state: panel
|
||||
visible: false
|
||||
- type: BlockGameArcade
|
||||
- type: ActivatableUI
|
||||
key: enum.BlockGameUiKey.Key
|
||||
- type: ActivatableUIRequiresPower
|
||||
- type: WiresPanel
|
||||
- type: Wires
|
||||
layoutId: Arcade
|
||||
boardName: wires-board-name-arcade
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.BlockGameUiKey.Key
|
||||
@@ -147,3 +186,7 @@
|
||||
type: WiresBoundUserInterface
|
||||
- type: Computer
|
||||
board: BlockGameArcadeComputerCircuitboard
|
||||
- type: Advertise
|
||||
pack: BlockGameAds
|
||||
minWait: 60 # Arcades are noisy
|
||||
maxWait: 240
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
- type: SleepEmitSound
|
||||
snore: /Audio/Voice/Misc/silly_snore.ogg
|
||||
interval: 10
|
||||
chance: 1.0
|
||||
- !type:AddImplantSpecial
|
||||
implants: [ SadTromboneImplant ]
|
||||
|
||||
|
||||
11
Resources/Prototypes/SoundCollections/arcade.yml
Normal file
11
Resources/Prototypes/SoundCollections/arcade.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
- type: soundCollection
|
||||
id: ArcadeNoise
|
||||
files:
|
||||
- /Audio/Machines/Arcade/hahaha.ogg
|
||||
- /Audio/Machines/Arcade/pew_pew.ogg
|
||||
- /Audio/Machines/Arcade/sting_01.ogg
|
||||
- /Audio/Machines/Arcade/sting_02.ogg
|
||||
- /Audio/Machines/Arcade/sting_03.ogg
|
||||
- /Audio/Machines/Arcade/sting_04.ogg
|
||||
- /Audio/Machines/Arcade/sting_05.ogg
|
||||
- /Audio/Machines/Arcade/sting_06.ogg
|
||||
@@ -87,6 +87,7 @@
|
||||
id: Arcade
|
||||
wires:
|
||||
- !type:PowerWireAction
|
||||
- !type:SpeechWireAction
|
||||
- !type:ArcadeOverflowWireAction
|
||||
- !type:ArcadePlayerInvincibleWireAction
|
||||
- !type:ArcadeEnemyInvincibleWireAction
|
||||
|
||||
@@ -19,7 +19,11 @@
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "invaders",
|
||||
"name": "panel",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "screen_invaders",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
@@ -42,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "blockgame",
|
||||
"name": "screen_blockgame",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
@@ -82,6 +86,48 @@
|
||||
4.8
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "screen_spacevillain",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
1.0,
|
||||
0.8,
|
||||
0.2,
|
||||
0.8,
|
||||
0.5,
|
||||
1.0,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.5,
|
||||
1.0,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.2,
|
||||
0.5,
|
||||
0.1,
|
||||
0.8,
|
||||
1.0
|
||||
],
|
||||
[
|
||||
9.6
|
||||
],
|
||||
[
|
||||
9.6
|
||||
],
|
||||
[
|
||||
9.6
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
BIN
Resources/Textures/Structures/Machines/arcade.rsi/panel.png
Normal file
BIN
Resources/Textures/Structures/Machines/arcade.rsi/panel.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 236 B |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 930 B |
Reference in New Issue
Block a user