traitor hooks
This commit is contained in:
@@ -92,6 +92,13 @@ namespace Barotrauma
|
|||||||
var traitorCandidates = new List<Tuple<Client, Character>>();
|
var traitorCandidates = new List<Tuple<Client, Character>>();
|
||||||
foreach (Client c in server.ConnectedClients)
|
foreach (Client c in server.ConnectedClients)
|
||||||
{
|
{
|
||||||
|
var result = new LuaResult(GameMain.Lua.hook.Call("traitor.findTraitorCandidate", new object[] { c, team }));
|
||||||
|
if (result.Bool())
|
||||||
|
{
|
||||||
|
traitorCandidates.Add(Tuple.Create(c, c.Character));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (c.Character == null || c.Character.IsDead || c.Character.Removed || !traitorRoleFilter(c.Character) ||
|
if (c.Character == null || c.Character.IsDead || c.Character.Removed || !traitorRoleFilter(c.Character) ||
|
||||||
(team != CharacterTeamType.None && c.Character.TeamID != team))
|
(team != CharacterTeamType.None && c.Character.TeamID != team))
|
||||||
{
|
{
|
||||||
@@ -227,6 +234,7 @@ namespace Barotrauma
|
|||||||
foreach (var traitor in Traitors.Values)
|
foreach (var traitor in Traitors.Values)
|
||||||
{
|
{
|
||||||
traitor.Greet(server, CodeWords, CodeResponse, message => pendingMessages[traitor].Add(message));
|
traitor.Greet(server, CodeWords, CodeResponse, message => pendingMessages[traitor].Add(message));
|
||||||
|
GameMain.Lua.hook.Call("traitor.traitorAssigned", new object[] { traitor });
|
||||||
}
|
}
|
||||||
pendingMessages.ForEach(traitor => traitor.Value.ForEach(message => traitor.Key.SendChatMessage(message, Identifier)));
|
pendingMessages.ForEach(traitor => traitor.Value.ForEach(message => traitor.Key.SendChatMessage(message, Identifier)));
|
||||||
pendingMessages.ForEach(traitor => traitor.Value.ForEach(message => traitor.Key.SendChatMessageBox(message, Identifier)));
|
pendingMessages.ForEach(traitor => traitor.Value.ForEach(message => traitor.Key.SendChatMessageBox(message, Identifier)));
|
||||||
|
|||||||
@@ -392,6 +392,8 @@ namespace Barotrauma
|
|||||||
UserData.RegisterType<Rand.RandSync>();
|
UserData.RegisterType<Rand.RandSync>();
|
||||||
UserData.RegisterType<Skill>();
|
UserData.RegisterType<Skill>();
|
||||||
UserData.RegisterType<SkillPrefab>();
|
UserData.RegisterType<SkillPrefab>();
|
||||||
|
UserData.RegisterType<TraitorMissionPrefab>();
|
||||||
|
UserData.RegisterType<TraitorMissionResult>();
|
||||||
|
|
||||||
UserData.RegisterType<World>();
|
UserData.RegisterType<World>();
|
||||||
UserData.RegisterType<Fixture>();
|
UserData.RegisterType<Fixture>();
|
||||||
@@ -412,7 +414,8 @@ namespace Barotrauma
|
|||||||
AddCallMetaMember(UserData.RegisterType<SubmarineInfo>());
|
AddCallMetaMember(UserData.RegisterType<SubmarineInfo>());
|
||||||
|
|
||||||
#if SERVER
|
#if SERVER
|
||||||
|
UserData.RegisterType<Traitor>();
|
||||||
|
UserData.RegisterType<Traitor.TraitorMission>();
|
||||||
#elif CLIENT
|
#elif CLIENT
|
||||||
UserData.RegisterType<LuaGUI>();
|
UserData.RegisterType<LuaGUI>();
|
||||||
UserData.RegisterType<ChatBox>();
|
UserData.RegisterType<ChatBox>();
|
||||||
|
|||||||
Reference in New Issue
Block a user