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:
Tayrtahn
2024-03-28 02:28:45 -04:00
committed by GitHub
parent a071bc5dbf
commit b1ba6b5bb6
35 changed files with 425 additions and 57 deletions

View File

@@ -1,27 +0,0 @@
using Content.Shared.Sound.Components;
namespace Content.Server.Sound.Components
{
/// <summary>
/// Rolls to play a sound every few seconds.
/// </summary>
[RegisterComponent]
public sealed partial class SpamEmitSoundComponent : BaseEmitSoundComponent
{
[DataField("accumulator")]
public float Accumulator = 0f;
[DataField("rollInterval")]
public float RollInterval = 2f;
[DataField("playChance")]
public float PlayChance = 0.5f;
// Always Pvs.
[DataField("popUp")]
public string? PopUp;
[DataField("enabled")]
public bool Enabled = true;
}
}