sounds/SoundTrigger.cs
using Opium;
using Sandbox;

public sealed class SoundTrigger : ActionTrigger
{
	[Property] public SoundEvent Sound { get; set; }
	[Property] public GameObject ParticleEmitter { get; set; }

	Vector3 newPos { get; set; }
	Rotation newRot { get; set; }

	protected override void Activate()
	{
		base.Activate();

		DoFootSteps();
	}

	async void DoFootSteps()
	{
		foreach ( var childen in GameObject.Children )
		{
			await Task.DelaySeconds( 0.5f );

			var part = ParticleEmitter.Clone();
			part.Transform.Position = childen.Transform.Position;
			part.Transform.Rotation = childen.Transform.Rotation + Rotation.FromYaw( 90 );
		}
	}
}