Fixed structure impact damage sounds. Character colliders caused the impact sounds to be triggered almost constantly, but the sounds were not played at the world position of the structure, causing them to only be heard inside ruins (whose positions are the same as worldpositions).

This commit is contained in:
Joonas Rikkonen
2018-01-26 17:25:22 +02:00
parent d4e0cbbf02
commit 98d0f42510

View File

@@ -513,21 +513,15 @@ namespace Barotrauma
Vector2 pos = ConvertUnits.ToDisplayUnits(f2.Body.Position);
int section = FindSectionIndex(pos);
if (section > 0)
if (section > -1)
{
Vector2 normal = contact.Manifold.LocalNormal;
float impact = Vector2.Dot(f2.Body.LinearVelocity, -normal)*f2.Body.Mass*0.1f;
#if CLIENT
SoundPlayer.PlayDamageSound("StructureBlunt", impact,
new Vector2(
sections[section].rect.X + sections[section].rect.Width / 2,
sections[section].rect.Y - sections[section].rect.Height / 2), tags: Tags);
#endif
float impact = Vector2.Dot(f2.Body.LinearVelocity, -normal) * f2.Body.Mass * 0.1f;
if (impact < 10.0f) return true;
#if CLIENT
SoundPlayer.PlayDamageSound("StructureBlunt", impact, SectionPosition(section, true), tags: Tags);
#endif
AddDamage(section, impact);
}
}