Fix planet footstep modifier (#12887)
This commit is contained in:
@@ -421,18 +421,18 @@ namespace Content.Shared.Movement.Systems
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TryGetFootstepSound(coordinates, shoes != null, out sound);
|
return TryGetFootstepSound(xform, shoes != null, out sound);
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool TryGetFootstepSound(EntityCoordinates coordinates, bool haveShoes, [NotNullWhen(true)] out SoundSpecifier? sound)
|
private bool TryGetFootstepSound(TransformComponent xform, bool haveShoes, [NotNullWhen(true)] out SoundSpecifier? sound)
|
||||||
{
|
{
|
||||||
sound = null;
|
sound = null;
|
||||||
var gridUid = coordinates.GetGridUid(EntityManager);
|
|
||||||
|
|
||||||
// Fallback to the map
|
// Fallback to the map
|
||||||
if (gridUid == null)
|
if (xform.MapUid == xform.GridUid ||
|
||||||
|
xform.GridUid == null)
|
||||||
{
|
{
|
||||||
if (TryComp<FootstepModifierComponent>(coordinates.GetMapUid(EntityManager), out var modifier))
|
if (TryComp<FootstepModifierComponent>(xform.MapUid, out var modifier))
|
||||||
{
|
{
|
||||||
sound = modifier.Sound;
|
sound = modifier.Sound;
|
||||||
return true;
|
return true;
|
||||||
@@ -441,10 +441,11 @@ namespace Content.Shared.Movement.Systems
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var grid = _mapManager.GetGrid(gridUid.Value);
|
var grid = _mapManager.GetGrid(xform.GridUid.Value);
|
||||||
var tile = grid.GetTileRef(coordinates);
|
var tile = grid.GetTileRef(xform.Coordinates);
|
||||||
|
|
||||||
if (tile.IsSpace(_tileDefinitionManager)) return false;
|
if (tile.IsSpace(_tileDefinitionManager))
|
||||||
|
return false;
|
||||||
|
|
||||||
// If the coordinates have a FootstepModifier component
|
// If the coordinates have a FootstepModifier component
|
||||||
// i.e. component that emit sound on footsteps emit that sound
|
// i.e. component that emit sound on footsteps emit that sound
|
||||||
|
|||||||
Reference in New Issue
Block a user