(359537369) Don't do visibility checks in ChatMessage.GetGarbleAmount if the listener and the speaker are in the same hull

This commit is contained in:
Joonas Rikkonen
2019-05-16 06:41:33 +03:00
parent 1b4957d2e6
commit 464aa46980
12 changed files with 148 additions and 370 deletions
@@ -131,7 +131,12 @@ namespace Barotrauma.Networking
float dist = Vector2.Distance(listener.WorldPosition, sender.WorldPosition);
if (dist > range) { return 1.0f; }
if (Submarine.CheckVisibility(listener.SimPosition, sender.SimPosition) != null) dist = (dist + 100f) * obstructionmult;
Hull listenerHull = listener == null ? null : Hull.FindHull(listener.WorldPosition);
Hull sourceHull = sender == null ? null : Hull.FindHull(sender.WorldPosition);
if (sourceHull != listenerHull)
{
if (Submarine.CheckVisibility(listener.SimPosition, sender.SimPosition) != null) dist = (dist + 100f) * obstructionmult;
}
if (dist > range) { return 1.0f; }
return dist / range;