Skip to content

Commit

Permalink
2.1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
terminator-97 committed Jul 29, 2020
1 parent 33b18b1 commit 0e40afb
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 15 deletions.
4 changes: 2 additions & 2 deletions SCPUtils/Commands/SetColor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s
{
if (arguments.Count < 2)
{
response = $"<color=yellow>Usage: {Command} <player name/id> <Nickname> </color>";
response = $"<color=yellow>Usage: {Command} <player name/id> <Color / None> </color>";
return false;
}
else
Expand All @@ -43,7 +43,7 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s
{
if (arguments.Count < 1)
{
response = $"<color=yellow>Usage: {Command} <Nickname> </color>";
response = $"<color=yellow>Usage: {Command} <Color / None></color>";
return false;
}
else
Expand Down
4 changes: 2 additions & 2 deletions SCPUtils/Commands/SetName.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s
{
if (arguments.Count < 2)
{
response = $"<color=yellow>Usage: {Command} <player name/id> <Nickname> </color>";
response = $"<color=yellow>Usage: {Command} <player name/id> <Nickname / None> </color>";
return false;
}
else
Expand All @@ -39,7 +39,7 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s
{
if (arguments.Count < 1)
{
response = $"<color=yellow>Usage: {Command} <Nickname> </color>";
response = $"<color=yellow>Usage: {Command} <Nickname / None> </color>";
return false;
}
else
Expand Down
23 changes: 20 additions & 3 deletions SCPUtils/Functions/EventHandlers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using MEC;
using System;
using Log = Exiled.API.Features.Log;
using System.Collections.Generic;

namespace SCPUtils
{
Expand All @@ -12,6 +13,9 @@ public class EventHandlers

public DateTime lastTeslaEvent;

public Dictionary<string, Team> roleManager = new Dictionary<string, Team>();


public EventHandlers(ScpUtils pluginInstance) => this.pluginInstance = pluginInstance;

internal void OnRoundStart()
Expand Down Expand Up @@ -51,7 +55,13 @@ internal void OnPlayerDeath(DyingEventArgs ev)
if (ev.HitInformation.GetDamageType() == DamageTypes.Tesla || ev.HitInformation.GetDamageType() == DamageTypes.Wall) pluginInstance.Functions.OnQuitOrSuicide(ev.Target);
}
}
roleManager[ev.Target.UserId] = Team.RIP;

}

internal void OnChangeRole(ChangingRoleEventArgs ev)
{
if (ev.Player.Team == Team.RIP) roleManager[ev.Player.UserId] = Team.RIP;
}

internal void On079TeslaEvent(InteractingTeslaEventArgs ev)
Expand Down Expand Up @@ -85,21 +95,28 @@ internal void OnPlayerJoin(JoinedEventArgs ev)

internal void OnPlayerSpawn(SpawningEventArgs ev)
{
if (ev.Player.Team == Team.SCP) ev.Player.GetDatabasePlayer().TotalScpGamesPlayed++;
if (ev.Player.Team == Team.SCP || (pluginInstance.Config.AreTutorialsSCP && ev.Player.Team == Team.TUT)) ev.Player.GetDatabasePlayer().TotalScpGamesPlayed++;

if (!roleManager.ContainsKey(ev.Player.UserId)) roleManager.Add(ev.Player.UserId, ev.Player.Team);
else roleManager[ev.Player.UserId] = ev.Player.Team;
}

internal void OnPlayerLeave(LeftEventArgs ev)
{
if (!roleManager.ContainsKey(ev.Player.UserId)) return;
else if ( (ev.Player.Team == Team.SCP || roleManager[ev.Player.UserId] == Team.SCP) || (pluginInstance.Config.AreTutorialsSCP && ev.Player.Team == Team.TUT || roleManager[ev.Player.UserId] == Team.TUT) && pluginInstance.Config.QuitEqualsSuicide && ScpUtils.IsStarted)
{
if (pluginInstance.Config.EnableSCPSuicideAutoWarn && pluginInstance.Config.QuitEqualsSuicide) pluginInstance.Functions.OnQuitOrSuicide(ev.Player);
}
pluginInstance.Functions.SaveData(ev.Player);
roleManager.Remove(ev.Player.UserId);
}

internal void OnDecontaminate(DecontaminatingEventArgs ev)
{
if (pluginInstance.Config.DecontaminationMessageEnabled) Map.Broadcast(pluginInstance.Config.DecontaminationMessageDuration, pluginInstance.Config.DecontaminationMessage, Broadcast.BroadcastFlags.Normal);
}



}

}
24 changes: 21 additions & 3 deletions SCPUtils/Functions/Functions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,20 +57,38 @@ public void AutoBanPlayer(Exiled.API.Features.Player player)
player.GetDatabasePlayer().TotalScpSuicideBans++;
if (pluginInstance.Config.MultiplyBanDurationEachBan == true) duration = player.GetDatabasePlayer().TotalScpSuicideBans * pluginInstance.Config.AutoBanDuration;
else duration = pluginInstance.Config.AutoBanDuration;
if (pluginInstance.Config.BroadcastSanctions) Map.Broadcast(12, $"<color=blue><SCPUtils> {player.Nickname} ({player.Role}) has been <color=red>BANNED</color> from the server for exceeding Quits / Suicides (as SCP) limit. Duration: {duration} mitutes</color>", Broadcast.BroadcastFlags.AdminChat);
foreach (var admin in Exiled.API.Features.Player.List)
{
if (pluginInstance.Config.BroadcastSanctions)
{
if(admin.ReferenceHub.serverRoles.RemoteAdmin) admin.Broadcast(12, $"<color=blue><SCPUtils> {player.Nickname} ({player.Role}) has been <color=red>BANNED</color> from the server for exceeding Quits / Suicides (as SCP) limit. Duration: {duration} mitutes</color>", Broadcast.BroadcastFlags.AdminChat);
}
}
player.Ban(duration, $"Auto-Ban: {string.Format(pluginInstance.Config.AutoBanMessage, duration)}", "SCPUtils");
}

public void AutoKickPlayer(Exiled.API.Features.Player player)
{
if (pluginInstance.Config.BroadcastSanctions) Map.Broadcast(12, $"<color=blue><SCPUtils> {player.Nickname} ({player.Role}) has been <color=red>KICKED</color> from the server for exceeding Quits / Suicides (as SCP) limit</color>", Broadcast.BroadcastFlags.AdminChat);
foreach (var admin in Exiled.API.Features.Player.List)
{
if (pluginInstance.Config.BroadcastSanctions)
{
if (admin.ReferenceHub.serverRoles.RemoteAdmin) admin.Broadcast(12, $"<color=blue><SCPUtils> {player.Nickname} ({player.Role}) has been <color=red>KICKED</color> from the server for exceeding Quits / Suicides (as SCP) limit</color>", Broadcast.BroadcastFlags.AdminChat);
}
}
player.GetDatabasePlayer().TotalScpSuicideKicks++;
player.Kick($"Auto-Kick: {pluginInstance.Config.SuicideKickMessage}", "SCPUtils");
}

public void AutoWarnPlayer(Exiled.API.Features.Player player)
{
if (pluginInstance.Config.BroadcastWarns) Map.Broadcast(12, $"<color=blue><SCPUtils> {player.Nickname} ({player.Role}) has been <color=red>WARNED</color> for Quitting or Suiciding as SCP</color>", Broadcast.BroadcastFlags.AdminChat);
foreach (var admin in Exiled.API.Features.Player.List)
{
if (pluginInstance.Config.BroadcastSanctions)
{
if (admin.ReferenceHub.serverRoles.RemoteAdmin) if (pluginInstance.Config.BroadcastWarns) admin.Broadcast(12, $"<color=blue><SCPUtils> {player.Nickname} ({player.Role}) has been <color=red>WARNED</color> for Quitting or Suiciding as SCP</color>", Broadcast.BroadcastFlags.AdminChat);
}
}
player.GetDatabasePlayer().ScpSuicideCount++;
player.ClearBroadcasts();
player.Broadcast(pluginInstance.Config.AutoWarnMessageDuration, pluginInstance.Config.SuicideWarnMessage, Broadcast.BroadcastFlags.Normal);
Expand Down
6 changes: 4 additions & 2 deletions SCPUtils/Plugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class ScpUtils : Features.Plugin<Configs>
private static readonly Lazy<ScpUtils> LazyInstance = new Lazy<ScpUtils>(() => new ScpUtils());
public static ScpUtils StaticInstance => LazyInstance.Value;
public static bool IsStarted { get; set; }
public static string pluginVersion = "2.1.1";
public static string pluginVersion = "2.1.2";
public override string Author { get; } = "Terminator_9#0507";
public override string Name { get; } = "SCPUtils";
public override Version Version { get; } = new Version(2, 1, 1);
Expand Down Expand Up @@ -45,7 +45,8 @@ public void LoadEvents()
PlayerEvents.Joined += EventHandlers.OnPlayerJoin;
PlayerEvents.Left += EventHandlers.OnPlayerLeave;
PlayerEvents.Spawning += EventHandlers.OnPlayerSpawn;
PlayerEvents.Dying += EventHandlers.OnPlayerDeath;
PlayerEvents.Dying += EventHandlers.OnPlayerDeath;
PlayerEvents.ChangingRole += EventHandlers.OnChangeRole;
Exiled.Events.Handlers.Scp079.InteractingTesla += EventHandlers.On079TeslaEvent;
}

Expand Down Expand Up @@ -82,6 +83,7 @@ public override void OnDisabled()
PlayerEvents.Left -= EventHandlers.OnPlayerLeave;
PlayerEvents.Spawning -= EventHandlers.OnPlayerSpawn;
PlayerEvents.Dying -= EventHandlers.OnPlayerDeath;
PlayerEvents.ChangingRole -= EventHandlers.OnChangeRole;
Exiled.Events.Handlers.Scp079.InteractingTesla -= EventHandlers.On079TeslaEvent;
Timing.KillCoroutines(Functions.DT);
EventHandlers = null;
Expand Down
6 changes: 3 additions & 3 deletions SCPUtils/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SCPUtils")]
[assembly: AssemblyDescription("SCPUtils 2.1.0")]
[assembly: AssemblyDescription("SCPUtils 2.1.2")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SCPUtils")]
Expand All @@ -31,5 +31,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.1.1.0")]
[assembly: AssemblyFileVersion("2.1.1.0")]
[assembly: AssemblyVersion("2.1.2.0")]
[assembly: AssemblyFileVersion("2.1.2.0")]

0 comments on commit 0e40afb

Please sign in to comment.