Fix Voip causing crashes
This commit is contained in:
@@ -9,7 +9,7 @@ namespace Barotrauma.Networking
|
|||||||
{
|
{
|
||||||
private readonly ServerPeer netServer;
|
private readonly ServerPeer netServer;
|
||||||
private readonly List<VoipQueue> queues;
|
private readonly List<VoipQueue> queues;
|
||||||
private readonly Dictionary<VoipQueue,DateTime> lastSendTime;
|
private readonly Dictionary<VoipQueue, DateTime> lastSendTime;
|
||||||
|
|
||||||
public VoipServer(ServerPeer server)
|
public VoipServer(ServerPeer server)
|
||||||
{
|
{
|
||||||
@@ -103,7 +103,17 @@ namespace Barotrauma.Networking
|
|||||||
return canUse.Value;
|
return canUse.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (recipientRadio.CanReceive(senderRadio)) { return true; }
|
if (recipientSpectating)
|
||||||
|
{
|
||||||
|
if (recipient.SpectatePos == null) { return true; }
|
||||||
|
distanceFactor = MathHelper.Clamp(Vector2.Distance(sender.Character.WorldPosition, recipient.SpectatePos.Value) / senderRadio.Range, 0.0f, 1.0f);
|
||||||
|
return distanceFactor < 1.0f;
|
||||||
|
}
|
||||||
|
else if (recipientRadio != null && recipientRadio.CanReceive(senderRadio))
|
||||||
|
{
|
||||||
|
distanceFactor = MathHelper.Clamp(Vector2.Distance(sender.Character.WorldPosition, recipient.Character.WorldPosition) / senderRadio.Range, 0.0f, 1.0f);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float range = GameMain.LuaCs.Hook.Call<float?>("changeLocalVoiceRange", sender, recipient) ?? 1.0f;
|
float range = GameMain.LuaCs.Hook.Call<float?>("changeLocalVoiceRange", sender, recipient) ?? 1.0f;
|
||||||
|
|||||||
Reference in New Issue
Block a user