From 557e5eb476235398c3cf95aad793f36ab4b48f55 Mon Sep 17 00:00:00 2001 From: themias <89101928+themias@users.noreply.github.com> Date: Mon, 22 Jan 2024 23:18:33 -0500 Subject: [PATCH] Add reagent specific footstep sounds (#24406) * Add sticky footsteps * Update Resources/Audio/Effects/Footsteps/attributions.yml Co-authored-by: ike709 --------- Co-authored-by: ike709 --- .../Chemistry/Reagent/ReagentPrototype.cs | 3 +-- Content.Shared/Fluids/SharedPuddleSystem.cs | 23 +++++++++++++++++ .../Audio/Effects/Footsteps/attributions.yml | 8 ++++++ .../Audio/Effects/Footsteps/gib_step.ogg | Bin 0 -> 9531 bytes .../Audio/Effects/Footsteps/meatslap.ogg | Bin 0 -> 9020 bytes .../Prototypes/Entities/Effects/puddle.yml | 5 ---- .../Reagents/Consumable/Drink/base_drink.yml | 14 ++++++++++ .../Reagents/Consumable/Drink/drinks.yml | 7 +++++ .../Reagents/Consumable/Drink/juice.yml | 24 +++++++++--------- Resources/Prototypes/Reagents/biological.yml | 20 +++++++++++++++ .../Prototypes/SoundCollections/footsteps.yml | 10 ++++++++ Resources/Prototypes/Tiles/floors.yml | 2 +- 12 files changed, 96 insertions(+), 20 deletions(-) create mode 100644 Resources/Audio/Effects/Footsteps/gib_step.ogg create mode 100644 Resources/Audio/Effects/Footsteps/meatslap.ogg diff --git a/Content.Shared/Chemistry/Reagent/ReagentPrototype.cs b/Content.Shared/Chemistry/Reagent/ReagentPrototype.cs index 0eea8b2bae..f71afa7f47 100644 --- a/Content.Shared/Chemistry/Reagent/ReagentPrototype.cs +++ b/Content.Shared/Chemistry/Reagent/ReagentPrototype.cs @@ -123,9 +123,8 @@ namespace Content.Shared.Chemistry.Reagent [DataField] public float PricePerUnit; - // TODO: Pick the highest reagent for sounds and add sticky to cola, juice, etc. [DataField] - public SoundSpecifier FootstepSound = new SoundCollectionSpecifier("FootstepWater"); + public SoundSpecifier FootstepSound = new SoundCollectionSpecifier("FootstepWater", AudioParams.Default.WithVolume(6)); public FixedPoint2 ReactionTile(TileRef tile, FixedPoint2 reactVolume) { diff --git a/Content.Shared/Fluids/SharedPuddleSystem.cs b/Content.Shared/Fluids/SharedPuddleSystem.cs index 08a7624c4a..59a9c6ef26 100644 --- a/Content.Shared/Fluids/SharedPuddleSystem.cs +++ b/Content.Shared/Fluids/SharedPuddleSystem.cs @@ -1,10 +1,18 @@ using Content.Shared.Chemistry.Components; +using Content.Shared.Chemistry.EntitySystems; +using Content.Shared.Chemistry.Reagent; using Content.Shared.DragDrop; +using Content.Shared.Fluids.Components; +using Content.Shared.Movement.Events; +using Robust.Shared.Prototypes; namespace Content.Shared.Fluids; public abstract class SharedPuddleSystem : EntitySystem { + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly SharedSolutionContainerSystem _solutionContainerSystem = default!; + /// /// The lowest threshold to be considered for puddle sprite states as well as slipperiness of a puddle. /// @@ -19,6 +27,7 @@ public abstract class SharedPuddleSystem : EntitySystem SubscribeLocalEvent(OnDumpCanDropTarget); SubscribeLocalEvent(OnDrainCanDropTarget); SubscribeLocalEvent(OnRefillableCanDropDragged); + SubscribeLocalEvent(OnGetFootstepSound); } private void OnRefillableCanDrag(Entity entity, ref CanDragEvent args) @@ -52,4 +61,18 @@ public abstract class SharedPuddleSystem : EntitySystem args.CanDrop = true; args.Handled = true; } + + private void OnGetFootstepSound(Entity entity, ref GetFootstepSoundEvent args) + { + if (!_solutionContainerSystem.ResolveSolution(entity.Owner, entity.Comp.SolutionName, ref entity.Comp.Solution, + out var solution)) + return; + + var reagentId = solution.GetPrimaryReagentId(); + if (!string.IsNullOrWhiteSpace(reagentId?.Prototype) + && _prototypeManager.TryIndex(reagentId.Value.Prototype, out ReagentPrototype? proto)) + { + args.Sound = proto.FootstepSound; + } + } } diff --git a/Resources/Audio/Effects/Footsteps/attributions.yml b/Resources/Audio/Effects/Footsteps/attributions.yml index 756f8c8408..45872787b7 100644 --- a/Resources/Audio/Effects/Footsteps/attributions.yml +++ b/Resources/Audio/Effects/Footsteps/attributions.yml @@ -56,3 +56,11 @@ license: "CC-BY-SA-4.0" copyright: "Taken and modified from el1n freesound.org" source: "https://freesound.org/people/el1n/sounds/442746/" + +- files: + - gib_step.ogg + - meatslap.ogg + license: "CC-BY-SA-3.0" + copyright: "Taken from https://github.com/tgstation/tgstation" + source: "https://github.com/tgstation/tgstation/blob/34d5ab2e46e3fb4dd9d7475f587d33441df9651c/sound/effects" + \ No newline at end of file diff --git a/Resources/Audio/Effects/Footsteps/gib_step.ogg b/Resources/Audio/Effects/Footsteps/gib_step.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3225af318ad09017d40b00b49125ec44bf8b817b GIT binary patch literal 9531 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 IebOQS59__vDgXcg literal 0 HcmV?d00001 diff --git a/Resources/Audio/Effects/Footsteps/meatslap.ogg b/Resources/Audio/Effects/Footsteps/meatslap.ogg new file mode 100644 index 0000000000000000000000000000000000000000..01b4bf57167fc48f44eef6e01cb22560f392777f GIT binary patch literal 9020 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 BQ04#t literal 0 HcmV?d00001 diff --git a/Resources/Prototypes/Entities/Effects/puddle.yml b/Resources/Prototypes/Entities/Effects/puddle.yml index dd7f411653..2c845e1d0f 100644 --- a/Resources/Prototypes/Entities/Effects/puddle.yml +++ b/Resources/Prototypes/Entities/Effects/puddle.yml @@ -112,11 +112,6 @@ mode: SnapgridCenter components: - type: Clickable - - type: FootstepModifier - footstepSoundCollection: - collection: FootstepWater - params: - volume: 6 - type: Slippery launchForwardsMultiplier: 2.0 - type: Transform diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/base_drink.yml b/Resources/Prototypes/Reagents/Consumable/Drink/base_drink.yml index 3ffeaaf58e..9984b4c0cf 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/base_drink.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/base_drink.yml @@ -36,6 +36,10 @@ amount: 0.1 - !type:PlantAdjustHealth amount: -0.1 + footstepSound: + collection: FootstepSticky + params: + volume: 6 - type: reagent id: BaseAlcohol @@ -62,3 +66,13 @@ amount: 0.25 - !type:PlantAdjustWater amount: 0.7 + +- type: reagent + id: BaseJuice + parent: BaseDrink + abstract: true + flavor: sweet + footstepSound: + collection: FootstepSticky + params: + volume: 6 \ No newline at end of file diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml index 5f60d76c14..558ecc0e15 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml @@ -83,6 +83,10 @@ metamorphicSprite: sprite: Objects/Consumable/Drinks/grenadineglass.rsi state: icon + footstepSound: + collection: FootstepSticky + params: + volume: 6 - type: reagent id: IcedCoffee @@ -130,6 +134,7 @@ - type: reagent id: JuiceBerryPoison + parent: BaseJuice name: reagent-name-juice-berry-poison group: Drinks desc: reagent-desc-juice-berry-poison @@ -149,6 +154,7 @@ - type: reagent id: Lemonade + parent: BaseJuice name: reagent-name-lemonade group: Drinks desc: reagent-desc-lemonade @@ -246,6 +252,7 @@ - type: reagent id: NuclearCola + parent: BaseSoda name: reagent-name-nuclear-cola group: Drinks desc: reagent-desc-nuclear-cola diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/juice.yml b/Resources/Prototypes/Reagents/Consumable/Drink/juice.yml index 9b6e235eec..ee1492b45e 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/juice.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/juice.yml @@ -1,7 +1,7 @@ - type: reagent id: JuiceApple name: reagent-name-juice-apple - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-apple physicalDesc: reagent-physical-desc-crisp flavor: apple @@ -11,7 +11,7 @@ - type: reagent id: JuiceBanana name: reagent-name-juice-banana - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-banana physicalDesc: reagent-physical-desc-crisp flavor: banana @@ -20,7 +20,7 @@ - type: reagent id: JuiceBerry name: reagent-name-juice-berry - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-berry physicalDesc: reagent-physical-desc-sweet flavor: berry @@ -29,7 +29,7 @@ - type: reagent id: JuiceCarrot name: reagent-name-juice-carrot - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-carrot physicalDesc: reagent-physical-desc-crisp flavor: carrot @@ -49,7 +49,7 @@ - type: reagent id: JuiceGrape name: reagent-name-juice-grape - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-grape physicalDesc: reagent-physical-desc-crisp flavor: juice @@ -58,7 +58,7 @@ - type: reagent id: JuiceLemon name: reagent-name-juice-lemon - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-lemon physicalDesc: reagent-physical-desc-citric flavor: sour @@ -67,7 +67,7 @@ - type: reagent id: JuiceLime name: reagent-name-juice-lime - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-lime physicalDesc: reagent-physical-desc-citric flavor: sour @@ -84,7 +84,7 @@ - type: reagent id: JuiceOrange name: reagent-name-juice-orange - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-orange physicalDesc: reagent-physical-desc-citric flavor: orange @@ -93,7 +93,7 @@ - type: reagent id: JuicePineapple name: reagent-name-juice-pineapple - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-pineapple physicalDesc: reagent-physical-desc-tropical flavor: pineapple @@ -102,7 +102,7 @@ - type: reagent id: JuicePotato name: reagent-name-juice-potato - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-potato physicalDesc: reagent-physical-desc-starchy flavor: potatoes @@ -111,7 +111,7 @@ - type: reagent id: JuiceTomato name: reagent-name-juice-tomato - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-tomato physicalDesc: reagent-physical-desc-saucey flavor: tomato @@ -120,7 +120,7 @@ - type: reagent id: JuiceWatermelon name: reagent-name-juice-watermelon - parent: BaseDrink + parent: BaseJuice desc: reagent-desc-juice-watermelon physicalDesc: reagent-physical-desc-sweet flavor: watermelon diff --git a/Resources/Prototypes/Reagents/biological.yml b/Resources/Prototypes/Reagents/biological.yml index 62d2a42788..d29d5f7e4d 100644 --- a/Resources/Prototypes/Reagents/biological.yml +++ b/Resources/Prototypes/Reagents/biological.yml @@ -38,6 +38,10 @@ plantMetabolism: - !type:PlantAdjustWater amount: 0.5 + footstepSound: + collection: FootstepBlood + params: + volume: 6 - type: reagent parent: Blood @@ -70,6 +74,10 @@ effects: - !type:SatiateHunger factor: 1.5 + footstepSound: + collection: FootstepBlood + params: + volume: 6 - type: reagent parent: Blood @@ -136,6 +144,10 @@ plantMetabolism: - !type:PlantAdjustWater amount: 0.5 + footstepSound: + collection: FootstepBlood + params: + volume: 6 - type: reagent id: Fat @@ -146,6 +158,10 @@ color: "#d8d8b0" physicalDesc: reagent-physical-desc-exotic-smelling slippery: false + footstepSound: + collection: FootstepBlood + params: + volume: 6 - type: reagent id: Vomit @@ -164,3 +180,7 @@ - !type:AdjustReagent reagent: Nutriment amount: 0.1 + footstepSound: + collection: FootstepBlood + params: + volume: 6 \ No newline at end of file diff --git a/Resources/Prototypes/SoundCollections/footsteps.yml b/Resources/Prototypes/SoundCollections/footsteps.yml index 296e638650..e48eeb6450 100644 --- a/Resources/Prototypes/SoundCollections/footsteps.yml +++ b/Resources/Prototypes/SoundCollections/footsteps.yml @@ -184,3 +184,13 @@ id: FootstepSlip files: - /Audio/Effects/slip.ogg + +- type: soundCollection + id: FootstepBlood + files: + - /Audio/Effects/Footsteps/gib_step.ogg + +- type: soundCollection + id: FootstepSticky + files: + - /Audio/Effects/Footsteps/meatslap.ogg \ No newline at end of file diff --git a/Resources/Prototypes/Tiles/floors.yml b/Resources/Prototypes/Tiles/floors.yml index 9d6f197e36..3a80bdddc4 100644 --- a/Resources/Prototypes/Tiles/floors.yml +++ b/Resources/Prototypes/Tiles/floors.yml @@ -1620,7 +1620,7 @@ isSubfloor: false canCrowbar: true footstepSounds: - collection: BarestepCarpet + collection: FootstepBlood itemDrop: FloorTileItemFlesh friction: 0.05 #slippy heatCapacity: 10000