add hook for changing local voice range
This commit is contained in:
@@ -403,6 +403,34 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
return File.Exists(path);
|
return File.Exists(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string[] DirSearch(string sDir)
|
||||||
|
{
|
||||||
|
List<string> files = new List<string>();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
foreach (string f in Directory.GetFiles(sDir))
|
||||||
|
{
|
||||||
|
files.Add(f);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (string d in Directory.GetDirectories(sDir))
|
||||||
|
{
|
||||||
|
foreach (string f in Directory.GetFiles(d))
|
||||||
|
{
|
||||||
|
files.Add(f);
|
||||||
|
}
|
||||||
|
DirSearch(d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (System.Exception excpt)
|
||||||
|
{
|
||||||
|
Console.WriteLine(excpt.Message);
|
||||||
|
}
|
||||||
|
|
||||||
|
return files.ToArray();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class LuaNetworking
|
private class LuaNetworking
|
||||||
|
|||||||
@@ -107,8 +107,19 @@ namespace Barotrauma.Networking
|
|||||||
if (recipientRadio.CanReceive(senderRadio)) { return true; }
|
if (recipientRadio.CanReceive(senderRadio)) { return true; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var should2 = GameMain.Lua.hook.Call("changeLocalVoiceRange", new object[] { sender, recipient });
|
||||||
|
float range = 1.0f;
|
||||||
|
|
||||||
|
if (should2 != null)
|
||||||
|
{
|
||||||
|
if (should2 is DynValue dyn)
|
||||||
|
{
|
||||||
|
range = (float)dyn.CastToNumber();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//otherwise do a distance check
|
//otherwise do a distance check
|
||||||
return ChatMessage.GetGarbleAmount(recipient.Character, sender.Character, ChatMessage.SpeakRange) < 1.0f;
|
return ChatMessage.GetGarbleAmount(recipient.Character, sender.Character, ChatMessage.SpeakRange) < range;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user