Skip to content

Commit 7aea2af

Browse files
authored
Merge pull request #99 from BPEssentials/BP-Update-1-13
2 parents be04e1d + d92a4e9 commit 7aea2af

52 files changed

Lines changed: 1472 additions & 1516 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
1-
using BPEssentials.ExtensionMethods;
2-
using BrokeProtocol.API;
3-
using BrokeProtocol.Entities;
4-
using System;
5-
using BrokeProtocol.Collections;
6-
7-
namespace BPEssentials.ChatHandlers
8-
{
9-
public class Command : IScript
10-
{
11-
[Target(GameSourceEvent.PlayerCommand, ExecutionMode.Event)]
12-
public void OnEvent(ShPlayer player, string message)
13-
{
14-
Core.Instance.Logger.LogInfo($"[COMMAND] {player.username}: {message}");
15-
foreach (var currPlayer in EntityCollections.Humans)
16-
{
17-
ExtendedPlayer.PlayerItem extendedPlayer = currPlayer.GetExtendedPlayer();
18-
if (currPlayer == player || !extendedPlayer.EnabledSpychat)
19-
{
20-
continue;
21-
}
22-
extendedPlayer.SendSpyChatMessage(player, message);
23-
}
24-
}
25-
}
26-
}
1+
using BPEssentials.ExtensionMethods;
2+
using BrokeProtocol.API;
3+
using BrokeProtocol.Collections;
4+
using BrokeProtocol.Entities;
5+
6+
namespace BPEssentials.ChatHandlers
7+
{
8+
public class Command : IScript
9+
{
10+
[Target(GameSourceEvent.PlayerCommand, ExecutionMode.Event)]
11+
public void OnEvent(ShPlayer player, string message)
12+
{
13+
Core.Instance.Logger.LogInfo($"[COMMAND] {player.username}: {message}");
14+
foreach (var currPlayer in EntityCollections.Humans)
15+
{
16+
ExtendedPlayer.PlayerItem extendedPlayer = currPlayer.GetExtendedPlayer();
17+
if (currPlayer == player || !extendedPlayer.EnabledSpychat)
18+
{
19+
continue;
20+
}
21+
extendedPlayer.SendSpyChatMessage(player, message);
22+
}
23+
}
24+
}
25+
}
Lines changed: 50 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,51 @@
1-
using BPEssentials.Enums;
2-
using BPEssentials.ExtensionMethods;
3-
using BPEssentials.Utils;
4-
using BrokeProtocol.API;
5-
using BrokeProtocol.Entities;
6-
using BrokeProtocol.Utility;
7-
using System;
8-
9-
namespace BPEssentials.ChatHandlers
10-
{
11-
public class GlobalChat : IScript
12-
{
13-
[Target(GameSourceEvent.PlayerGlobalChatMessage, ExecutionMode.Override)]
14-
public void OnEvent(ShPlayer player, string message)
15-
{
16-
if (player.manager.svManager.chatted.Limit(player))
17-
{
18-
return;
19-
}
20-
21-
if (player.GetExtendedPlayer().Muted)
22-
{
23-
player.TS("muted_player");
24-
return;
25-
}
26-
27-
if (CommandHandler.OnEvent(player, message)) // 'true' if message starts with command prefix
28-
{
29-
return;
30-
}
31-
32-
Core.Instance.Logger.LogInfo($"[GLOBAL] {player.username}: {message}");
33-
34-
switch (player.GetExtendedPlayer().CurrentChat)
35-
{
36-
case Chat.StaffChat:
37-
ChatUtils.SendStaffChatMessage(player, message);
38-
return;
39-
40-
case Chat.Disabled:
41-
player.TS("chat_disabled");
42-
return;
43-
44-
default:
45-
ChatUtils.SendToAllEnabledChat(ChatUtils.FormatMessage(player, message), false);
46-
return;
47-
}
48-
}
49-
}
1+
using BPEssentials.Enums;
2+
using BPEssentials.ExtensionMethods;
3+
using BPEssentials.Utils;
4+
using BrokeProtocol.API;
5+
using BrokeProtocol.Collections;
6+
using BrokeProtocol.Entities;
7+
8+
namespace BPEssentials.ChatHandlers
9+
{
10+
public class GlobalChat : IScript
11+
{
12+
private static LimitQueue<ShPlayer> chatted = new LimitQueue<ShPlayer>(8, 20f);
13+
14+
[Target(GameSourceEvent.PlayerGlobalChatMessage, ExecutionMode.Override)]
15+
public void OnEvent(ShPlayer player, string message)
16+
{
17+
if (chatted.Limit(player))
18+
{
19+
return;
20+
}
21+
22+
if (player.GetExtendedPlayer().Muted)
23+
{
24+
player.TS("muted_player");
25+
return;
26+
}
27+
28+
if (CommandHandler.OnEvent(player, message)) // 'true' if message starts with command prefix
29+
{
30+
return;
31+
}
32+
33+
Core.Instance.Logger.LogInfo($"[GLOBAL] {player.username}: {message}");
34+
35+
switch (player.GetExtendedPlayer().CurrentChat)
36+
{
37+
case Chat.StaffChat:
38+
ChatUtils.SendStaffChatMessage(player, message);
39+
return;
40+
41+
case Chat.Disabled:
42+
player.TS("chat_disabled");
43+
return;
44+
45+
default:
46+
ChatUtils.SendToAllEnabledChat(ChatUtils.FormatMessage(player, message), false);
47+
return;
48+
}
49+
}
50+
}
5051
}
Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,40 @@
1-
using BrokeProtocol.API;
2-
using BrokeProtocol.Entities;
3-
using BrokeProtocol.Utility;
4-
using System;
5-
using BPEssentials.ExtensionMethods;
6-
using BrokeProtocol.Utility.Networking;
7-
using BPEssentials.Utils;
8-
9-
namespace BPEssentials.ChatHandlers
10-
{
11-
public class LocalChat : IScript
12-
{
13-
[Target(GameSourceEvent.PlayerLocalChatMessage, ExecutionMode.Override)]
14-
public void OnEvent(ShPlayer player, string message)
15-
{
16-
if (player.manager.svManager.chatted.Limit(player))
17-
{
18-
return;
19-
}
20-
21-
Core.Instance.Logger.LogInfo($"[LOCAL] {player.username.CleanerMessage()}: {message.CleanerMessage()}");
22-
23-
24-
if (CommandHandler.OnEvent(player, message)) // 'true' if message starts with command prefix
25-
{
26-
return;
27-
}
28-
29-
if (Core.Instance.Settings.General.LocalChatOverHead)
30-
{
31-
player.svPlayer.Send(SvSendType.LocalOthers, Channel.Unsequenced, ClPacket.LocalChatMessage, player.ID, message.CleanerMessage());
32-
}
33-
if (Core.Instance.Settings.General.LocalChatInChat)
34-
{
35-
player.svPlayer.Send(SvSendType.LocalOthers, Channel.Unsequenced, ClPacket.GameMessage, ChatUtils.FormatMessage(player, message, "localformat"));
36-
}
37-
}
38-
}
39-
}
1+
using BPEssentials.ExtensionMethods;
2+
using BPEssentials.Utils;
3+
using BrokeProtocol.API;
4+
using BrokeProtocol.Collections;
5+
using BrokeProtocol.Entities;
6+
using BrokeProtocol.Utility.Networking;
7+
8+
namespace BPEssentials.ChatHandlers
9+
{
10+
public class LocalChat : IScript
11+
{
12+
private static LimitQueue<ShPlayer> chatted = new LimitQueue<ShPlayer>(8, 20f);
13+
14+
[Target(GameSourceEvent.PlayerLocalChatMessage, ExecutionMode.Override)]
15+
public void OnEvent(ShPlayer player, string message)
16+
{
17+
if (chatted.Limit(player))
18+
{
19+
return;
20+
}
21+
22+
Core.Instance.Logger.LogInfo($"[LOCAL] {player.username.CleanerMessage()}: {message.CleanerMessage()}");
23+
24+
25+
if (CommandHandler.OnEvent(player, message)) // 'true' if message starts with command prefix
26+
{
27+
return;
28+
}
29+
30+
if (Core.Instance.Settings.General.LocalChatOverHead)
31+
{
32+
player.svPlayer.Send(SvSendType.LocalOthers, Channel.Unsequenced, ClPacket.LocalChatMessage, player.ID, message.CleanerMessage());
33+
}
34+
if (Core.Instance.Settings.General.LocalChatInChat)
35+
{
36+
player.svPlayer.Send(SvSendType.LocalOthers, Channel.Unsequenced, ClPacket.GameMessage, ChatUtils.FormatMessage(player, message, "localformat"));
37+
}
38+
}
39+
}
40+
}
Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
using BrokeProtocol.Entities;
2-
using BPEssentials.Utils;
3-
using BPEssentials.Abstractions;
4-
5-
namespace BPEssentials.Commands
6-
{
7-
public class Sudo : Command
8-
{
9-
public void Invoke(ShPlayer player, ShPlayer target, string message)
10-
{
11-
target.svPlayer.SvGlobalChatMessage(message);
12-
}
13-
}
14-
}
1+
using BPEssentials.Abstractions;
2+
using BrokeProtocol.Entities;
3+
4+
namespace BPEssentials.Commands
5+
{
6+
public class Sudo : Command
7+
{
8+
public void Invoke(ShPlayer player, ShPlayer target, string message)
9+
{
10+
target.svPlayer.SvGlobalChatMessage(message);
11+
}
12+
}
13+
}
Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
using BPEssentials.Abstractions;
2-
using BPEssentials.ExtensionMethods;
3-
using BrokeProtocol.Utility;
4-
using BrokeProtocol.Entities;
5-
using System.Linq;
6-
7-
namespace BPEssentials.Commands
8-
{
9-
public class OnlinePlayers : Command
10-
{
11-
public void Invoke(ShPlayer player)
12-
{
13-
player.TS("online_players", PlayerFactory.Players.Count.ToString(), string.Join(", ", PlayerFactory.Players.Select(x => x.Key + ": " + x.Value.Client.username.CleanerMessage())));
14-
}
15-
}
16-
}
1+
using BPEssentials.Abstractions;
2+
using BPEssentials.ExtensionMethods;
3+
using BrokeProtocol.Entities;
4+
using System.Linq;
5+
6+
namespace BPEssentials.Commands
7+
{
8+
public class OnlinePlayers : Command
9+
{
10+
public void Invoke(ShPlayer player)
11+
{
12+
player.TS("online_players", PlayerFactory.Players.Count.ToString(), string.Join(", ", PlayerFactory.Players.Select(x => x.Key + ": " + x.Value.Client.username.CleanerMessage())));
13+
}
14+
}
15+
}
Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,26 @@
1-
using BPEssentials.Abstractions;
2-
using BPEssentials.ExtensionMethods;
3-
using BPEssentials.Utils;
4-
using BrokeProtocol.Entities;
5-
using System;
6-
using System.IO;
7-
using System.Linq;
8-
9-
namespace BPEssentials.Commands
10-
{
11-
public class KitDelete : Command
12-
{
13-
public void Invoke(ShPlayer player, string kit)
14-
{
15-
var file = Path.Combine(Core.Instance.Paths.KitsFolder, $"{kit}.json");
16-
if (!File.Exists(file))
17-
{
18-
player.TS("expFileHandler_error_notFound", player.T(Core.Instance.KitHandler.Name), kit);
19-
player.TS("levenshteinSuggest", Core.Instance.KitHandler.List.OrderByDescending(x => LevenshteinDistance.CalculateSimilarity(x.Name, kit)).FirstOrDefault().Name);
20-
return;
21-
}
22-
23-
Core.Instance.KitHandler.DeleteExisting(kit);
24-
player.TS("expFileHandler_deleted", player.T(Core.Instance.KitHandler.Name), kit);
25-
}
26-
}
27-
}
1+
using BPEssentials.Abstractions;
2+
using BPEssentials.ExtensionMethods;
3+
using BPEssentials.Utils;
4+
using BrokeProtocol.Entities;
5+
using System.IO;
6+
using System.Linq;
7+
8+
namespace BPEssentials.Commands
9+
{
10+
public class KitDelete : Command
11+
{
12+
public void Invoke(ShPlayer player, string kit)
13+
{
14+
var file = Path.Combine(Core.Instance.Paths.KitsFolder, $"{kit}.json");
15+
if (!File.Exists(file))
16+
{
17+
player.TS("expFileHandler_error_notFound", player.T(Core.Instance.KitHandler.Name), kit);
18+
player.TS("levenshteinSuggest", Core.Instance.KitHandler.List.OrderByDescending(x => LevenshteinDistance.CalculateSimilarity(x.Name, kit)).FirstOrDefault().Name);
19+
return;
20+
}
21+
22+
Core.Instance.KitHandler.DeleteExisting(kit);
23+
player.TS("expFileHandler_deleted", player.T(Core.Instance.KitHandler.Name), kit);
24+
}
25+
}
26+
}
Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1-
using BPEssentials.Abstractions;
2-
using BPEssentials.ExtensionMethods;
3-
using BrokeProtocol.Utility;
4-
using BrokeProtocol.Entities;
5-
6-
namespace BPEssentials.Commands
7-
{
8-
public class Launch : Command
9-
{
10-
public void Invoke(ShPlayer player, ShPlayer target = null, float thrust = 6500f)
11-
{
12-
target = target ?? player;
13-
target.svPlayer.SvForce(new UnityEngine.Vector3(0f, thrust, 0f));
14-
target.TS("target_launched");
15-
player.TS("player_launched", target.username.CleanerMessage());
16-
}
17-
}
18-
}
1+
using BPEssentials.Abstractions;
2+
using BPEssentials.ExtensionMethods;
3+
using BrokeProtocol.Entities;
4+
5+
namespace BPEssentials.Commands
6+
{
7+
public class Launch : Command
8+
{
9+
public void Invoke(ShPlayer player, ShPlayer target = null, float thrust = 6500f)
10+
{
11+
target = target ?? player;
12+
target.svPlayer.SvForce(new UnityEngine.Vector3(0f, thrust, 0f));
13+
target.TS("target_launched");
14+
player.TS("player_launched", target.username.CleanerMessage());
15+
}
16+
}
17+
}

0 commit comments

Comments
 (0)