[Mald PR] Plushie sound 1984 (#39250)

* Make melee sounds respect their audio params

* Make food sounds respect audio params

* Plushie sound 1984

Most plushies have been made quieter (by varying degrees depending on how obnoxious the original sound was)

Made plushies 3x slower to use (squeak every 3 seconds / hit somebody every 3 seconds)
This commit is contained in:
Pieter-Jan Briers
2025-07-28 09:11:21 +02:00
committed by GitHub
parent 45cef10bad
commit 5f52a3ae17
3 changed files with 95 additions and 111 deletions

View File

@@ -289,7 +289,7 @@ public sealed class FoodSystem : EntitySystem
_adminLogger.Add(LogType.Ingestion, LogImpact.Low, $"{ToPrettyString(args.User):target} ate {ToPrettyString(entity.Owner):food}"); _adminLogger.Add(LogType.Ingestion, LogImpact.Low, $"{ToPrettyString(args.User):target} ate {ToPrettyString(entity.Owner):food}");
} }
_audio.PlayPredicted(entity.Comp.UseSound, args.Target.Value, args.User, AudioParams.Default.WithVolume(-1f).WithVariation(0.20f)); _audio.PlayPredicted(entity.Comp.UseSound, args.Target.Value, args.User, entity.Comp.UseSound.Params.WithVolume(-1f).WithVariation(0.20f));
// Try to break all used utensils // Try to break all used utensils
foreach (var utensil in utensils) foreach (var utensil in utensils)

View File

@@ -48,17 +48,17 @@ public sealed class MeleeSoundSystem : EntitySystem
{ {
if (damageType == null && damageSoundComp.NoDamageSound != null) if (damageType == null && damageSoundComp.NoDamageSound != null)
{ {
_audio.PlayPredicted(damageSoundComp.NoDamageSound, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); _audio.PlayPredicted(damageSoundComp.NoDamageSound, coords, userUid, damageSoundComp.NoDamageSound.Params.WithVariation(DamagePitchVariation));
playedSound = true; playedSound = true;
} }
else if (damageType != null && damageSoundComp.SoundTypes?.TryGetValue(damageType, out var damageSoundType) == true) else if (damageType != null && damageSoundComp.SoundTypes?.TryGetValue(damageType, out var damageSoundType) == true)
{ {
_audio.PlayPredicted(damageSoundType, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); _audio.PlayPredicted(damageSoundType, coords, userUid, damageSoundType.Params.WithVariation(DamagePitchVariation));
playedSound = true; playedSound = true;
} }
else if (damageType != null && damageSoundComp.SoundGroups?.TryGetValue(damageType, out var damageSoundGroup) == true) else if (damageType != null && damageSoundComp.SoundGroups?.TryGetValue(damageType, out var damageSoundGroup) == true)
{ {
_audio.PlayPredicted(damageSoundGroup, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); _audio.PlayPredicted(damageSoundGroup, coords, userUid, damageSoundGroup.Params.WithVariation(DamagePitchVariation));
playedSound = true; playedSound = true;
} }
} }
@@ -68,17 +68,17 @@ public sealed class MeleeSoundSystem : EntitySystem
{ {
if (hitSoundOverride != null) if (hitSoundOverride != null)
{ {
_audio.PlayPredicted(hitSoundOverride, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); _audio.PlayPredicted(hitSoundOverride, coords, userUid, hitSoundOverride.Params.WithVariation(DamagePitchVariation));
playedSound = true; playedSound = true;
} }
else if (hitSound != null) else if (hitSound != null)
{ {
_audio.PlayPredicted(hitSound, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); _audio.PlayPredicted(hitSound, coords, userUid, hitSound.Params.WithVariation(DamagePitchVariation));
playedSound = true; playedSound = true;
} }
else else
{ {
_audio.PlayPredicted(noDamageSound, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); _audio.PlayPredicted(noDamageSound, coords, userUid, noDamageSound.Params.WithVariation(DamagePitchVariation));
playedSound = true; playedSound = true;
} }
} }

View File

@@ -6,26 +6,24 @@
id: BasePlushie id: BasePlushie
components: components:
- type: EmitSoundOnUse - type: EmitSoundOnUse
sound: sound: &BasePlushieSound
collection: ToySqueak collection: ToySqueak
params:
volume: -4
- type: EmitSoundOnActivate - type: EmitSoundOnActivate
sound: sound: *BasePlushieSound
collection: ToySqueak
- type: EmitSoundOnCollide - type: EmitSoundOnCollide
sound: sound: *BasePlushieSound
collection: ToySqueak
- type: EmitSoundOnLand - type: EmitSoundOnLand
sound: sound: *BasePlushieSound
collection: ToyFall
- type: EmitSoundOnTrigger - type: EmitSoundOnTrigger
sound: sound: *BasePlushieSound
collection: ToySqueak
- type: UseDelay - type: UseDelay
delay: 1.0 delay: 3.0
- type: MeleeWeapon - type: MeleeWeapon
attackRate: 0.333
wideAnimationRotation: 180 wideAnimationRotation: 180
soundHit: soundHit: *BasePlushieSound
collection: ToySqueak
damage: damage:
types: types:
Blunt: 0 Blunt: 0
@@ -37,8 +35,7 @@
price: 5 price: 5
- type: Food - type: Food
requiresSpecialDigestion: true requiresSpecialDigestion: true
useSound: useSound: *BasePlushieSound
collection: ToySqueak
delay: 2 delay: 2
- type: SolutionContainerManager - type: SolutionContainerManager
solutions: solutions:
@@ -356,28 +353,24 @@
- type: Item - type: Item
sprite: Objects/Fun/Plushies/lizard.rsi sprite: Objects/Fun/Plushies/lizard.rsi
- type: EmitSoundOnUse - type: EmitSoundOnUse
sound: sound: &PlushieLizardSound
path: /Audio/Items/Toys/weh.ogg path: /Audio/Items/Toys/weh.ogg
params:
volume: -5
- type: EmitSoundOnLand - type: EmitSoundOnLand
sound: sound: *PlushieLizardSound
path: /Audio/Items/Toys/weh.ogg
- type: EmitSoundOnActivate - type: EmitSoundOnActivate
sound: sound: *PlushieLizardSound
path: /Audio/Items/Toys/weh.ogg
- type: EmitSoundOnTrigger - type: EmitSoundOnTrigger
sound: sound: *PlushieLizardSound
path: /Audio/Items/Toys/weh.ogg
- type: EmitSoundOnCollide - type: EmitSoundOnCollide
sound: sound: *PlushieLizardSound
path: /Audio/Items/Toys/weh.ogg
- type: Food - type: Food
requiresSpecialDigestion: true requiresSpecialDigestion: true
useSound: useSound: *PlushieLizardSound
path: /Audio/Items/Toys/weh.ogg
- type: MeleeWeapon - type: MeleeWeapon
wideAnimationRotation: 180 wideAnimationRotation: 180
soundHit: soundHit: *PlushieLizardSound
path: /Audio/Items/Toys/weh.ogg
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -427,28 +420,24 @@
- state: inhand-right - state: inhand-right
shader: shaded shader: shaded
- type: EmitSoundOnUse - type: EmitSoundOnUse
sound: sound: &PlushieExperimentSound
path: /Audio/Items/Toys/arf.ogg path: /Audio/Items/Toys/arf.ogg
params:
volume: -5
- type: EmitSoundOnLand - type: EmitSoundOnLand
sound: sound: *PlushieExperimentSound
path: /Audio/Items/Toys/arf.ogg
- type: EmitSoundOnActivate - type: EmitSoundOnActivate
sound: sound: *PlushieExperimentSound
path: /Audio/Items/Toys/arf.ogg
- type: EmitSoundOnTrigger - type: EmitSoundOnTrigger
sound: sound: *PlushieExperimentSound
path: /Audio/Items/Toys/arf.ogg
- type: EmitSoundOnCollide - type: EmitSoundOnCollide
sound: sound: *PlushieExperimentSound
path: /Audio/Items/Toys/arf.ogg
- type: Food - type: Food
requiresSpecialDigestion: true requiresSpecialDigestion: true
useSound: useSound: *PlushieExperimentSound
path: /Audio/Items/Toys/arf.ogg
- type: MeleeWeapon - type: MeleeWeapon
wideAnimationRotation: 180 wideAnimationRotation: 180
soundHit: soundHit: *PlushieExperimentSound
path: /Audio/Items/Toys/arf.ogg
- type: Clothing - type: Clothing
clothingVisuals: clothingVisuals:
head: head:
@@ -515,28 +504,24 @@
sprite: Objects/Fun/Plushies/lizard.rsi sprite: Objects/Fun/Plushies/lizard.rsi
heldPrefix: spacelizard heldPrefix: spacelizard
- type: EmitSoundOnUse - type: EmitSoundOnUse
sound: sound: &PlushieSpaceLizardSound
path: /Audio/Items/Toys/muffled_weh.ogg path: /Audio/Items/Toys/muffled_weh.ogg
params:
volume: -5
- type: EmitSoundOnLand - type: EmitSoundOnLand
sound: sound: *PlushieSpaceLizardSound
path: /Audio/Items/Toys/muffled_weh.ogg
- type: EmitSoundOnActivate - type: EmitSoundOnActivate
sound: sound: *PlushieSpaceLizardSound
path: /Audio/Items/Toys/muffled_weh.ogg
- type: EmitSoundOnTrigger - type: EmitSoundOnTrigger
sound: sound: *PlushieSpaceLizardSound
path: /Audio/Items/Toys/muffled_weh.ogg
- type: EmitSoundOnCollide - type: EmitSoundOnCollide
sound: sound: *PlushieSpaceLizardSound
path: /Audio/Items/Toys/muffled_weh.ogg
- type: Food - type: Food
requiresSpecialDigestion: true requiresSpecialDigestion: true
useSound: useSound: *PlushieSpaceLizardSound
path: /Audio/Items/Toys/muffled_weh.ogg
- type: MeleeWeapon - type: MeleeWeapon
wideAnimationRotation: 180 wideAnimationRotation: 180
soundHit: soundHit: *PlushieSpaceLizardSound
path: /Audio/Items/Toys/muffled_weh.ogg
- type: Clothing - type: Clothing
sprite: Objects/Fun/Plushies/lizard.rsi sprite: Objects/Fun/Plushies/lizard.rsi
slots: slots:
@@ -561,25 +546,22 @@
- type: Item - type: Item
heldPrefix: plushielizardinversed heldPrefix: plushielizardinversed
- type: EmitSoundOnUse - type: EmitSoundOnUse
sound: sound: &PlushieLizardInversedSound
path: /Audio/Items/Toys/hew.ogg path: /Audio/Items/Toys/hew.ogg
params:
volume: -5
- type: EmitSoundOnLand - type: EmitSoundOnLand
sound: sound: *PlushieLizardInversedSound
path: /Audio/Items/Toys/hew.ogg
- type: EmitSoundOnActivate - type: EmitSoundOnActivate
sound: sound: *PlushieLizardInversedSound
path: /Audio/Items/Toys/hew.ogg
- type: EmitSoundOnTrigger - type: EmitSoundOnTrigger
sound: sound: *PlushieLizardInversedSound
path: /Audio/Items/Toys/hew.ogg
- type: Food - type: Food
requiresSpecialDigestion: true requiresSpecialDigestion: true
useSound: useSound: *PlushieLizardInversedSound
path: /Audio/Items/Toys/hew.ogg
- type: MeleeWeapon - type: MeleeWeapon
wideAnimationRotation: 180 wideAnimationRotation: 180
soundHit: soundHit: *PlushieLizardInversedSound
path: /Audio/Items/Toys/hew.ogg
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -619,28 +601,24 @@
map: [ "enum.SolutionContainerLayers.Fill" ] map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false visible: false
- type: EmitSoundOnUse - type: EmitSoundOnUse
sound: sound: &PlushieDionaSound
path: /Audio/Items/Toys/toy_rustle.ogg path: /Audio/Items/Toys/toy_rustle.ogg
params:
volume: -5
- type: EmitSoundOnLand - type: EmitSoundOnLand
sound: sound: *PlushieDionaSound
path: /Audio/Items/Toys/toy_rustle.ogg
- type: EmitSoundOnActivate - type: EmitSoundOnActivate
sound: sound: *PlushieDionaSound
path: /Audio/Items/Toys/toy_rustle.ogg
- type: EmitSoundOnTrigger - type: EmitSoundOnTrigger
sound: sound: *PlushieDionaSound
path: /Audio/Items/Toys/toy_rustle.ogg
- type: EmitSoundOnCollide - type: EmitSoundOnCollide
sound: sound: *PlushieDionaSound
path: /Audio/Items/Toys/toy_rustle.ogg
- type: MeleeWeapon - type: MeleeWeapon
wideAnimationRotation: 180 wideAnimationRotation: 180
soundHit: soundHit: *PlushieDionaSound
path: /Audio/Items/Toys/toy_rustle.ogg
- type: Food - type: Food
requiresSpecialDigestion: true requiresSpecialDigestion: true
useSound: useSound: *PlushieDionaSound
path: /Audio/Items/Toys/toy_rustle.ogg
- type: SolutionContainerManager - type: SolutionContainerManager
solutions: solutions:
plushie: plushie:
@@ -1066,28 +1044,24 @@
sprite: Objects/Fun/Plushies/vox.rsi sprite: Objects/Fun/Plushies/vox.rsi
state: icon state: icon
- type: EmitSoundOnUse - type: EmitSoundOnUse
sound: sound: &PlushieVoxSound
path: /Audio/Voice/Vox/shriek1.ogg path: /Audio/Voice/Vox/shriek1.ogg
params:
volume: -5
- type: EmitSoundOnLand - type: EmitSoundOnLand
sound: sound: *PlushieVoxSound
path: /Audio/Voice/Vox/shriek1.ogg
- type: EmitSoundOnActivate - type: EmitSoundOnActivate
sound: sound: *PlushieVoxSound
path: /Audio/Voice/Vox/shriek1.ogg
- type: EmitSoundOnTrigger - type: EmitSoundOnTrigger
sound: sound: *PlushieVoxSound
path: /Audio/Voice/Vox/shriek1.ogg
- type: EmitSoundOnCollide - type: EmitSoundOnCollide
sound: sound: *PlushieVoxSound
path: /Audio/Voice/Vox/shriek1.ogg
- type: Food - type: Food
requiresSpecialDigestion: true requiresSpecialDigestion: true
useSound: useSound: *PlushieVoxSound
path: /Audio/Voice/Vox/shriek1.ogg
- type: MeleeWeapon - type: MeleeWeapon
wideAnimationRotation: 180 wideAnimationRotation: 180
soundHit: soundHit: *PlushieVoxSound
path: /Audio/Voice/Vox/shriek1.ogg
- type: Clothing - type: Clothing
quickEquip: false quickEquip: false
sprite: Objects/Fun/Plushies/vox.rsi sprite: Objects/Fun/Plushies/vox.rsi
@@ -1135,28 +1109,24 @@
- type: Item - type: Item
size: Normal size: Normal
- type: EmitSoundOnUse - type: EmitSoundOnUse
sound: sound: &PlushieXenoSound
path: /Audio/Weapons/Xeno/alien_spitacid.ogg path: /Audio/Weapons/Xeno/alien_spitacid.ogg
params:
volume: -8
- type: EmitSoundOnLand - type: EmitSoundOnLand
sound: sound: *PlushieXenoSound
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
- type: EmitSoundOnActivate - type: EmitSoundOnActivate
sound: sound: *PlushieXenoSound
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
- type: EmitSoundOnTrigger - type: EmitSoundOnTrigger
sound: sound: *PlushieXenoSound
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
- type: EmitSoundOnCollide - type: EmitSoundOnCollide
sound: sound: *PlushieXenoSound
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
- type: Food - type: Food
requiresSpecialDigestion: true requiresSpecialDigestion: true
useSound: useSound: *PlushieXenoSound
path: /Audio/Items/Toys/mousesqueek.ogg
- type: MeleeWeapon - type: MeleeWeapon
wideAnimationRotation: 180 wideAnimationRotation: 180
soundHit: soundHit: *PlushieXenoSound
path: /Audio/Weapons/Xeno/alien_spitacid.ogg
- type: Clothing - type: Clothing
quickEquip: false quickEquip: false
sprite: Objects/Fun/Plushies/xeno.rsi sprite: Objects/Fun/Plushies/xeno.rsi
@@ -1198,27 +1168,41 @@
sprite: Objects/Fun/Plushies/human.rsi sprite: Objects/Fun/Plushies/human.rsi
state: icon state: icon
- type: EmitSoundOnUse - type: EmitSoundOnUse
sound: sound: &PlushieHuman
path: /Audio/Voice/Human/malescream_1.ogg path: /Audio/Voice/Human/malescream_1.ogg
params:
volume: -8
- type: EmitSoundOnLand - type: EmitSoundOnLand
sound: sound:
path: /Audio/Voice/Human/malescream_2.ogg path: /Audio/Voice/Human/malescream_2.ogg
params:
volume: -8
- type: EmitSoundOnActivate - type: EmitSoundOnActivate
sound: sound:
path: /Audio/Voice/Human/malescream_3.ogg path: /Audio/Voice/Human/malescream_3.ogg
params:
volume: -8
- type: EmitSoundOnCollide - type: EmitSoundOnCollide
sound: sound:
path: /Audio/Voice/Human/malescream_4.ogg path: /Audio/Voice/Human/malescream_4.ogg
params:
volume: -8
- type: Food - type: Food
requiresSpecialDigestion: true requiresSpecialDigestion: true
useSound: useSound:
path: /Audio/Voice/Human/malescream_1.ogg path: /Audio/Voice/Human/malescream_1.ogg
params:
volume: -8
- type: MeleeWeapon - type: MeleeWeapon
soundHit: soundHit:
path: /Audio/Voice/Human/malescream_4.ogg path: /Audio/Voice/Human/malescream_4.ogg
params:
volume: -8
- type: EmitSoundOnTrigger - type: EmitSoundOnTrigger
sound: sound:
path: /Audio/Voice/Human/malescream_5.ogg path: /Audio/Voice/Human/malescream_5.ogg
params:
volume: -8
- type: Clothing - type: Clothing
quickEquip: false quickEquip: false
sprite: Objects/Fun/Plushies/human.rsi sprite: Objects/Fun/Plushies/human.rsi