Fix missing sounds (#4466)

* Fix missing sounds

* Make SoundHitSpecies fallback to SoundHit

* Fix crayon YAML

* Update PlaySoundBehavior YAML

* Fix required
This commit is contained in:
ShadowCommander
2021-08-13 21:31:37 -07:00
committed by GitHub
parent e938234e8c
commit b8e6a996d4
29 changed files with 104 additions and 45 deletions

View File

@@ -55,12 +55,18 @@ namespace Content.Client.Light.Visualizers
switch (state) switch (state)
{ {
case ExpendableLightState.Lit: case ExpendableLightState.Lit:
{
TryStopStream(expendableLight.PlayingStream); TryStopStream(expendableLight.PlayingStream);
expendableLight.PlayingStream = SoundSystem.Play(Filter.Local(), expendableLight.LoopedSound, if (expendableLight.LoopedSound != null)
expendableLight.Owner, SharedExpendableLightComponent.LoopedSoundParams.WithLoop(true)); {
expendableLight.PlayingStream = SoundSystem.Play(Filter.Local(),
expendableLight.LoopedSound, expendableLight.Owner,
SharedExpendableLightComponent.LoopedSoundParams.WithLoop(true));
}
break; break;
}
case ExpendableLightState.Dead: case ExpendableLightState.Dead:
{
TryStopStream(expendableLight.PlayingStream); TryStopStream(expendableLight.PlayingStream);
break; break;
} }
@@ -68,3 +74,4 @@ namespace Content.Client.Light.Visualizers
} }
} }
} }
}

View File

@@ -15,7 +15,7 @@ namespace Content.Client.Trigger
{ {
private const string AnimationKey = "priming_animation"; private const string AnimationKey = "priming_animation";
[DataField("countdown_sound")] [DataField("countdown_sound", required: true)]
private SoundSpecifier _countdownSound = default!; private SoundSpecifier _countdownSound = default!;
private Animation PrimingAnimation = default!; private Animation PrimingAnimation = default!;

View File

@@ -29,9 +29,8 @@ namespace Content.Server.Crayon
{ {
[Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
//TODO: useSound [DataField("useSound")]
[DataField("useSound", required: true)] private SoundSpecifier? _useSound = null;
private SoundSpecifier _useSound = default!;
[ViewVariables] [ViewVariables]
public Color Color { get; set; } public Color Color { get; set; }
@@ -139,6 +138,7 @@ namespace Content.Server.Crayon
appearance.SetData(CrayonVisuals.Rotation, eventArgs.User.Transform.LocalRotation); appearance.SetData(CrayonVisuals.Rotation, eventArgs.User.Transform.LocalRotation);
} }
if (_useSound != null)
SoundSystem.Play(Filter.Pvs(Owner), _useSound.GetSound(), Owner, AudioHelpers.WithVariation(0.125f)); SoundSystem.Play(Filter.Pvs(Owner), _useSound.GetSound(), Owner, AudioHelpers.WithVariation(0.125f));
// Decrease "Ammo" // Decrease "Ammo"

View File

@@ -100,6 +100,7 @@ namespace Content.Server.Light.Components
switch (CurrentState) switch (CurrentState)
{ {
case ExpendableLightState.Lit: case ExpendableLightState.Lit:
{
SoundSystem.Play(Filter.Pvs(Owner), LitSound.GetSound(), Owner); SoundSystem.Play(Filter.Pvs(Owner), LitSound.GetSound(), Owner);
if (IconStateLit != string.Empty) if (IconStateLit != string.Empty)
@@ -110,13 +111,15 @@ namespace Content.Server.Light.Components
sprite.LayerSetVisible(1, true); sprite.LayerSetVisible(1, true);
break; break;
}
case ExpendableLightState.Fading: case ExpendableLightState.Fading:
{
break; break;
}
default: default:
case ExpendableLightState.Dead: case ExpendableLightState.Dead:
SoundSystem.Play(Filter.Pvs(Owner), DieSound.GetSound(), Owner); {
if (DieSound != null) SoundSystem.Play(Filter.Pvs(Owner), DieSound.GetSound(), Owner);
sprite.LayerSetState(0, IconStateSpent); sprite.LayerSetState(0, IconStateSpent);
sprite.LayerSetShader(0, "shaded"); sprite.LayerSetShader(0, "shaded");
@@ -124,6 +127,7 @@ namespace Content.Server.Light.Components
break; break;
} }
} }
}
if (Owner.TryGetComponent(out ClothingComponent? clothing)) if (Owner.TryGetComponent(out ClothingComponent? clothing))
{ {

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using Content.Server.Storage.Components; using Content.Server.Storage.Components;
using Content.Shared.Notification.Managers; using Content.Shared.Notification.Managers;
using Content.Shared.Sound;
using Robust.Server.GameObjects; using Robust.Server.GameObjects;
using Robust.Shared.Audio; using Robust.Shared.Audio;
using Robust.Shared.Containers; using Robust.Shared.Containers;
@@ -25,7 +26,7 @@ namespace Content.Server.Light.Components
{ {
public override string Name => "LightReplacer"; public override string Name => "LightReplacer";
[DataField("sound")] private string _sound = "/Audio/Weapons/click.ogg"; [DataField("sound")] private SoundSpecifier _sound = new SoundPathSpecifier("/Audio/Weapons/click.ogg");
// bulbs that were inside light replacer when it spawned // bulbs that were inside light replacer when it spawned
[DataField("contents")] private List<LightReplacerEntity> _contents = new(); [DataField("contents")] private List<LightReplacerEntity> _contents = new();
@@ -82,8 +83,8 @@ namespace Content.Server.Light.Components
var wasReplaced = fixture.ReplaceBulb(bulb); var wasReplaced = fixture.ReplaceBulb(bulb);
if (wasReplaced) if (wasReplaced)
{ {
EntitySystem.Get<AudioSystem>().Play(Filter.Broadcast(), _sound, SoundSystem.Play(Filter.Pvs(Owner), _sound.GetSound(), Owner,
Owner, AudioParams.Default.WithVolume(-4f)); AudioParams.Default.WithVolume(-4f));
} }

View File

@@ -27,7 +27,7 @@ namespace Content.Server.Projectiles.Components
// Get that juicy FPS hit sound // Get that juicy FPS hit sound
[DataField("soundHit", required: true)] public SoundSpecifier SoundHit = default!; [DataField("soundHit", required: true)] public SoundSpecifier SoundHit = default!;
[DataField("soundHitSpecies", required: true)] public SoundSpecifier SoundHitSpecies = default!; [DataField("soundHitSpecies")] public SoundSpecifier? SoundHitSpecies = null;
public bool DamagedEntity; public bool DamagedEntity;

View File

@@ -32,7 +32,8 @@ namespace Content.Server.Projectiles
var coordinates = args.OtherFixture.Body.Owner.Transform.Coordinates; var coordinates = args.OtherFixture.Body.Owner.Transform.Coordinates;
var playerFilter = Filter.Pvs(coordinates); var playerFilter = Filter.Pvs(coordinates);
if (!otherEntity.Deleted && otherEntity.HasComponent<SharedBodyComponent>()) if (!otherEntity.Deleted && component.SoundHitSpecies != null &&
otherEntity.HasComponent<SharedBodyComponent>())
{ {
SoundSystem.Play(playerFilter, component.SoundHitSpecies.GetSound(), coordinates); SoundSystem.Play(playerFilter, component.SoundHitSpecies.GetSound(), coordinates);
} }

View File

@@ -133,7 +133,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
private SoundSpecifier _soundMagInsert = default!; private SoundSpecifier _soundMagInsert = default!;
[DataField("soundMagEject", required: true)] [DataField("soundMagEject", required: true)]
private SoundSpecifier _soundMagEject = default!; private SoundSpecifier _soundMagEject = default!;
[DataField("soundAutoEject", required: true)] [DataField("soundAutoEject")]
private SoundSpecifier _soundAutoEject = new SoundPathSpecifier("/Audio/Weapons/Guns/EmptyAlarm/smg_empty_alarm.ogg"); private SoundSpecifier _soundAutoEject = new SoundPathSpecifier("/Audio/Weapons/Guns/EmptyAlarm/smg_empty_alarm.ogg");
private List<MagazineType> GetMagazineTypes() private List<MagazineType> GetMagazineTypes()

View File

@@ -73,11 +73,11 @@ namespace Content.Shared.Light.Component
protected SoundSpecifier LitSound { get; set; } = default!; protected SoundSpecifier LitSound { get; set; } = default!;
[ViewVariables] [ViewVariables]
[DataField("loopedSound", required: true)] [DataField("loopedSound")]
public string LoopedSound { get; set; } = string.Empty; public string? LoopedSound { get; set; } = null;
[ViewVariables] [ViewVariables]
[DataField("dieSound")] [DataField("dieSound")]
protected SoundSpecifier DieSound { get; set; } = default!; protected SoundSpecifier? DieSound { get; set; } = null;
} }
} }

View File

@@ -25,7 +25,8 @@
damage: 5 damage: 5
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: GlassBreak sound:
collection: GlassBreak
- !type:SpillBehavior { } - !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:

View File

@@ -104,7 +104,7 @@
# damage: 10 # damage: 10
# behaviors: # behaviors:
# - !type:PlaySoundBehavior # - !type:PlaySoundBehavior
# collection:: desecration # collection: desecration
# - !type:SpawnEntitiesBehavior # - !type:SpawnEntitiesBehavior
# spawn: # spawn:
# EggBoxBroken: # EggBoxBroken:

View File

@@ -28,7 +28,8 @@
damage: 5 damage: 5
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: GlassBreak sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
FoodPlateTrash: FoodPlateTrash:
@@ -67,7 +68,8 @@
damage: 5 damage: 5
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: GlassBreak sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
FoodPlateSmallTrash: FoodPlateSmallTrash:

View File

@@ -56,7 +56,8 @@
damage: 6 damage: 6
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: canOpenSounds sound:
collection: canOpenSounds
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
FoodTinPeachesOpen: FoodTinPeachesOpen:
@@ -104,7 +105,8 @@
damage: 6 damage: 6
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: canOpenSounds sound:
collection: canOpenSounds
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
FoodTinPeachesMaintOpen: FoodTinPeachesMaintOpen:
@@ -152,7 +154,8 @@
damage: 6 damage: 6
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: canOpenSounds sound:
collection: canOpenSounds
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
FoodTinBeansOpen: FoodTinBeansOpen:
@@ -202,7 +205,8 @@
damage: 6 damage: 6
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: canOpenSounds sound:
collection: canOpenSounds
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
FoodTinMREOpen: FoodTinMREOpen:

View File

@@ -35,7 +35,8 @@
damage: 1 damage: 1
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: desecration sound:
collection: desecration
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
Eggshells: Eggshells:

View File

@@ -60,7 +60,8 @@
damage: 2 damage: 2
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: desecration sound:
collection: desecration
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
PuddleFlour: PuddleFlour:
@@ -95,7 +96,8 @@
damage: 2 damage: 2
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: desecration sound:
collection: desecration
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
PuddleFlour: PuddleFlour:

View File

@@ -258,7 +258,8 @@
damage: 1 damage: 1
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: desecration sound:
collection: desecration
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
PuddleTomato: PuddleTomato:

View File

@@ -27,7 +27,8 @@
damage: 5 damage: 5
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: GlassBreak sound:
collection: GlassBreak
- !type:SpillBehavior { } - !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:

View File

@@ -34,7 +34,8 @@
damage: 5 damage: 5
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: GlassBreak sound:
collection: GlassBreak
- !type:SpillBehavior { } - !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:

View File

@@ -29,7 +29,8 @@
damage: 5 damage: 5
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: GlassBreak sound:
collection: GlassBreak
- !type:SpillBehavior { } - !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:

View File

@@ -15,6 +15,8 @@
interfaces: interfaces:
- key: enum.CrayonUiKey.Key - key: enum.CrayonUiKey.Key
type: CrayonBoundUserInterface type: CrayonBoundUserInterface
- type: Crayon
capacity: 5
- type: entity - type: entity
parent: Crayon parent: Crayon

View File

@@ -17,6 +17,7 @@
damage: 5 damage: 5
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
sound:
collection: GlassBreak collection: GlassBreak
- !type:DoActsBehavior - !type:DoActsBehavior
acts: [ "Breakage" ] acts: [ "Breakage" ]
@@ -25,6 +26,7 @@
damage: 10 damage: 10
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
sound:
collection: GlassBreak collection: GlassBreak
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:

View File

@@ -42,7 +42,8 @@
damage: 5 damage: 5
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
collection:: GlassBreak sound:
collection: GlassBreak
- !type:SpillBehavior { } - !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:

View File

@@ -7,6 +7,8 @@
- type: Projectile - type: Projectile
damages: damages:
Blunt: 1 Blunt: 1
soundHit:
path: /Audio/Weapons/Guns/Hits/bullet_hit.ogg
- type: entity - type: entity
id: BulletDonkSoft id: BulletDonkSoft

View File

@@ -31,6 +31,10 @@
ammoPrototype: RedLaser ammoPrototype: RedLaser
soundGunshot: soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/laser.ogg path: /Audio/Weapons/Guns/Gunshots/laser.ogg
soundPowerCellInsert:
path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg
soundPowerCellEject:
path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg
- type: Appearance - type: Appearance
visuals: visuals:
- type: MagVisualizer - type: MagVisualizer
@@ -71,6 +75,10 @@
ammoPrototype: RedHeavyLaser ammoPrototype: RedHeavyLaser
soundGunshot: soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
soundPowerCellInsert:
path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg
soundPowerCellEject:
path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg
- type: Appearance - type: Appearance
visuals: visuals:
- type: MagVisualizer - type: MagVisualizer
@@ -93,7 +101,6 @@
- state: mag-unshaded-0 - state: mag-unshaded-0
map: ["enum.RangedBarrelVisualLayers.MagUnshaded"] map: ["enum.RangedBarrelVisualLayers.MagUnshaded"]
shader: unshaded shader: unshaded
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Weapons/Guns/Battery/xray.rsi sprite: Objects/Weapons/Guns/Battery/xray.rsi
@@ -113,6 +120,10 @@
ammoPrototype: XrayLaser ammoPrototype: XrayLaser
soundGunshot: soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/laser3.ogg path: /Audio/Weapons/Guns/Gunshots/laser3.ogg
soundPowerCellInsert:
path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg
soundPowerCellEject:
path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg
- type: Appearance - type: Appearance
visuals: visuals:
- type: MagVisualizer - type: MagVisualizer
@@ -160,6 +171,10 @@
ammoPrototype: BulletTaser ammoPrototype: BulletTaser
soundGunshot: soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/taser.ogg path: /Audio/Weapons/Guns/Gunshots/taser.ogg
soundPowerCellInsert:
path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg
soundPowerCellEject:
path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg
- type: Appearance - type: Appearance
visuals: visuals:
- type: MagVisualizer - type: MagVisualizer
@@ -200,6 +215,10 @@
ammoPrototype: RedLaser ammoPrototype: RedLaser
soundGunshot: soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/laser.ogg path: /Audio/Weapons/Guns/Gunshots/laser.ogg
soundPowerCellInsert:
path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg
soundPowerCellEject:
path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg
- type: Appearance - type: Appearance
visuals: visuals:
- type: MagVisualizer - type: MagVisualizer

View File

@@ -9,6 +9,8 @@
- type: InteractionOutline - type: InteractionOutline
- type: MovedByPressure - type: MovedByPressure
- type: DamageOnHighSpeedImpact - type: DamageOnHighSpeedImpact
soundHit:
path: /Audio/Effects/hit_kick.ogg
- type: CollisionWake - type: CollisionWake
- type: TileFrictionModifier - type: TileFrictionModifier
modifier: 0.5 modifier: 0.5

View File

@@ -36,6 +36,7 @@
damage: 100 damage: 100
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
sound:
collection: GlassBreak collection: GlassBreak
- !type:ChangeConstructionNodeBehavior - !type:ChangeConstructionNodeBehavior
node: monitorBroken node: monitorBroken

View File

@@ -17,6 +17,7 @@
damage: 200 damage: 200
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
sound:
collection: GlassBreak collection: GlassBreak
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:

View File

@@ -18,6 +18,7 @@
damage: 150 damage: 150
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
sound:
collection: GlassBreak collection: GlassBreak
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:

View File

@@ -39,6 +39,7 @@
damage: 15 damage: 15
behaviors: behaviors:
- !type:PlaySoundBehavior - !type:PlaySoundBehavior
sound:
collection: GlassBreak collection: GlassBreak
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn: