? -WaddleRotation
: WaddleRotation;
- if (EntityManager.TryGetComponent(_entity, out FootstepModifierComponent? step))
+ if (EntityManager.TryGetComponent(_entity, out FootstepModifierComponent? step) && step.FootstepSoundCollection != null)
{
var audioParams = step.FootstepSoundCollection.Params
.AddVolume(-7f)
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class FootstepModifierComponent : Component
{
- [DataField(required: true), AutoNetworkedField]
- public SoundSpecifier FootstepSoundCollection = default!;
+ [DataField, AutoNetworkedField]
+ public SoundSpecifier? FootstepSoundCollection;
}
if (FootstepModifierQuery.TryComp(uid, out var moverModifier))
{
sound = moverModifier.FootstepSoundCollection;
- return true;
+ return sound != null;
}
if (_inventory.TryGetSlotEntity(uid, "shoes", out var shoes) &&
FootstepModifierQuery.TryComp(shoes, out var modifier))
{
sound = modifier.FootstepSoundCollection;
- return true;
+ return sound != null;
}
return TryGetFootstepSound(uid, xform, shoes != null, out sound, tileDef: tileDef);
if (FootstepModifierQuery.TryComp(xform.MapUid, out var modifier))
{
sound = modifier.FootstepSoundCollection;
- return true;
}
- return false;
+ return sound != null;
}
var position = grid.LocalToTile(xform.Coordinates);
if (FootstepModifierQuery.TryComp(maybeFootstep, out var footstep))
{
sound = footstep.FootstepSoundCollection;
- return true;
+ return sound != null;
}
}
# ninja are masters of sneaking around relatively quickly, won't break cloak
walkModifier: 1.1
sprintModifier: 1.3
+ - type: FootstepModifier
+ footstepSoundCollection:
+ collection: null
- type: entity
parent: ClothingShoesBaseButcherable