From a4d881213daea8d1dbc7dbebfb5acf96f6f56804 Mon Sep 17 00:00:00 2001 From: Francesco Date: Fri, 4 Mar 2022 13:59:25 +0100 Subject: [PATCH] 4.0.0 beta --- SCPUtils/Commands/RoundInfo.cs | 16 ++++++------ SCPUtils/Functions/EventHandlers.cs | 16 ++++++------ SCPUtils/Functions/Functions.cs | 18 ++++++------- SCPUtils/Patches/SCPSpeak.cs | 2 +- SCPUtils/Plugin.cs | 4 +-- SCPUtils/SCPUtils.csproj | 40 +++++++++++++++-------------- SCPUtils/packages.config | 2 +- 7 files changed, 50 insertions(+), 48 deletions(-) diff --git a/SCPUtils/Commands/RoundInfo.cs b/SCPUtils/Commands/RoundInfo.cs index 1e9e3d2..7c9607e 100644 --- a/SCPUtils/Commands/RoundInfo.cs +++ b/SCPUtils/Commands/RoundInfo.cs @@ -23,7 +23,7 @@ public bool Execute(ArraySegment arguments, ICommandSender sender, out s player = Exiled.API.Features.Server.Host; } - if (!sender.CheckPermission("scputils.roundinfo.execute") && !ScpUtils.StaticInstance.Config.AllowedMtfInfoTeam.Contains(player.Team) && !ScpUtils.StaticInstance.Config.AllowedChaosInfoTeam.Contains(player.Team)) + if (!sender.CheckPermission("scputils.roundinfo.execute") && !ScpUtils.StaticInstance.Config.AllowedMtfInfoTeam.Contains(player.Role.Team) && !ScpUtils.StaticInstance.Config.AllowedChaosInfoTeam.Contains(player.Role.Team)) { response = "You need a higher administration level to use this command!"; return false; @@ -42,30 +42,30 @@ public bool Execute(ArraySegment arguments, ICommandSender sender, out s message.AppendLine(); message.AppendLine($"Round time: {Exiled.API.Features.Round.ElapsedTime.ToString(@"hh\:mm\:ss")}"); } - if (sender.CheckPermission("scputils.roundinfo.tickets") || ScpUtils.StaticInstance.Config.AllowedChaosInfoTeam.Contains(player.Team)) + if (sender.CheckPermission("scputils.roundinfo.tickets") || ScpUtils.StaticInstance.Config.AllowedChaosInfoTeam.Contains(player.Role.Team)) { message.AppendLine($"Number of Chaos Tickets: {Exiled.API.Features.Respawn.ChaosTickets}"); } - if (sender.CheckPermission("scputils.roundinfo.tickets") || ScpUtils.StaticInstance.Config.AllowedMtfInfoTeam.Contains(player.Team)) + if (sender.CheckPermission("scputils.roundinfo.tickets") || ScpUtils.StaticInstance.Config.AllowedMtfInfoTeam.Contains(player.Role.Team)) { message.AppendLine($"Number of MTF Tickets: {Exiled.API.Features.Respawn.NtfTickets}"); } - if (sender.CheckPermission("scputils.roundinfo.nextrespawnteam") || ScpUtils.StaticInstance.Config.AllowedChaosInfoTeam.Contains(player.Team) || ScpUtils.StaticInstance.Config.AllowedMtfInfoTeam.Contains(player.Team)) + if (sender.CheckPermission("scputils.roundinfo.nextrespawnteam") || ScpUtils.StaticInstance.Config.AllowedChaosInfoTeam.Contains(player.Role.Team) || ScpUtils.StaticInstance.Config.AllowedMtfInfoTeam.Contains(player.Role.Team)) { message.AppendLine($"Next known Respawn Team: {Exiled.API.Features.Respawn.NextKnownTeam}"); message.AppendLine($"Time until respawn: {TimeSpan.FromSeconds(Exiled.API.Features.Respawn.TimeUntilRespawn).ToString(@"hh\:mm\:ss")}"); } - if (sender.CheckPermission("scputils.roundinfo.respawncount") || ScpUtils.StaticInstance.Config.AllowedChaosInfoTeam.Contains(player.Team)) + if (sender.CheckPermission("scputils.roundinfo.respawncount") || ScpUtils.StaticInstance.Config.AllowedChaosInfoTeam.Contains(player.Role.Team)) { message.AppendLine($"Number of Chaos Respawn Waves: {ScpUtils.StaticInstance.EventHandlers.ChaosRespawnCount}"); } - if (sender.CheckPermission("scputils.roundinfo.respawncount") || ScpUtils.StaticInstance.Config.AllowedMtfInfoTeam.Contains(player.Team)) + if (sender.CheckPermission("scputils.roundinfo.respawncount") || ScpUtils.StaticInstance.Config.AllowedMtfInfoTeam.Contains(player.Role.Team)) { message.AppendLine($"Number of Mtf Respawn Waves: {ScpUtils.StaticInstance.EventHandlers.MtfRespawnCount}"); } - if (sender.CheckPermission("scputils.roundinfo.lastrespawn") || ScpUtils.StaticInstance.Config.AllowedChaosInfoTeam.Contains(player.Team)) + if (sender.CheckPermission("scputils.roundinfo.lastrespawn") || ScpUtils.StaticInstance.Config.AllowedChaosInfoTeam.Contains(player.Role.Team)) { if (ScpUtils.StaticInstance.EventHandlers.ChaosRespawnCount >= 1) { @@ -74,7 +74,7 @@ public bool Execute(ArraySegment arguments, ICommandSender sender, out s } } - if (sender.CheckPermission("scputils.roundinfo.lastrespawn") || ScpUtils.StaticInstance.Config.AllowedMtfInfoTeam.Contains(player.Team)) + if (sender.CheckPermission("scputils.roundinfo.lastrespawn") || ScpUtils.StaticInstance.Config.AllowedMtfInfoTeam.Contains(player.Role.Team)) { if (ScpUtils.StaticInstance.EventHandlers.MtfRespawnCount >= 1) { diff --git a/SCPUtils/Functions/EventHandlers.cs b/SCPUtils/Functions/EventHandlers.cs index 8edb0a7..f2a443a 100644 --- a/SCPUtils/Functions/EventHandlers.cs +++ b/SCPUtils/Functions/EventHandlers.cs @@ -36,17 +36,17 @@ public EventHandlers(ScpUtils pluginInstance) internal void OnPlayerDeath(DyingEventArgs ev) { if (ev.Target == null) return; - if ((ev.Target.Team == Team.SCP || (pluginInstance.Config.AreTutorialsSCP && ev.Target.Team == Team.TUT)) && Round.IsStarted && pluginInstance.Config.EnableSCPSuicideAutoWarn && !TemporarilyDisabledWarns) + if ((ev.Target.Role.Team == Team.SCP || (pluginInstance.Config.AreTutorialsSCP && ev.Target.Role.Team == Team.TUT)) && Round.IsStarted && pluginInstance.Config.EnableSCPSuicideAutoWarn && !TemporarilyDisabledWarns) { if ((DateTime.Now - lastTeslaEvent).Seconds >= pluginInstance.Config.Scp079TeslaEventWait) { - if (ev.Handler.Type == DamageTypes.Tesla || (ev.Handler.Type == DamageTypes.Unknown && ev.Handler.Amount >= 50000) || (ev.Handler.Type == DamageTypes.Explosion && ev.Killer == ev.Target)) + if (ev.Handler.Type == DamageTypes.Tesla || (ev.Handler.Type == DamageTypes.Unknown && ev.Handler.Damage >= 50000) || (ev.Handler.Type == DamageTypes.Explosion && ev.Killer == ev.Target)) { pluginInstance.Functions.LogWarn(ev.Target, ev.Handler.Type.ToString()); pluginInstance.Functions.OnQuitOrSuicide(ev.Target); } - else if ((ev.Handler.Type == DamageTypes.Unknown && ev.Handler.Amount == -1f) && ev.Killer == ev.Target && pluginInstance.Config.QuitEqualsSuicide) + else if ((ev.Handler.Type == DamageTypes.Unknown && ev.Handler.Damage == -1f) && ev.Killer == ev.Target && pluginInstance.Config.QuitEqualsSuicide) { pluginInstance.Functions.LogWarn(ev.Target, "Disconnect"); pluginInstance.Functions.OnQuitOrSuicide(ev.Target); @@ -56,7 +56,7 @@ internal void OnPlayerDeath(DyingEventArgs ev) if (pluginInstance.Config.NotifyLastPlayerAlive) { - List team = Features.Player.Get(ev.Target.Team).ToList(); + List team = Features.Player.Get(ev.Target.Role.Team).ToList(); if (team.Count - 1 == 1) { if (team[0] == ev.Target) @@ -77,7 +77,7 @@ internal void OnPlayerDeath(DyingEventArgs ev) if (pluginInstance.Config.ScpDeathMessage.Show && ev.Target.Role != RoleType.Scp0492) { var message = pluginInstance.Config.ScpDeathMessage.Content; - message = message.Replace("%playername%", ev.Target.Nickname).Replace("%scpname%", ev.Target.Role.ToString()).Replace("%killername%", ev.Killer.Nickname).Replace("%reason%", pluginInstance.Config.DamageTypesTranslations[ev.Handler.Type.ToString()]); + message = message.Replace("%playername%", ev.Target.Nickname).Replace("%scpname%", ev.Target.Role.ToString()).Replace("%killername%", ev.Killer.Nickname).Replace("%reason%", ev.Handler.Type.ToString()); Map.Broadcast(pluginInstance.Config.ScpDeathMessage.Duration, message, pluginInstance.Config.ScpDeathMessage.Type); } } @@ -87,7 +87,7 @@ internal void OnPlayerDeath(DyingEventArgs ev) if (pluginInstance.Config.ScpSuicideMessage.Show) { var message = pluginInstance.Config.ScpSuicideMessage.Content; - message = message.Replace("%playername%", ev.Target.Nickname).Replace("%scpname%", ev.Target.Role.ToString()).Replace("%reason%", pluginInstance.Config.DamageTypesTranslations[ev.Handler.Type.ToString()]); + message = message.Replace("%playername%", ev.Target.Nickname).Replace("%scpname%", ev.Target.Role.ToString()).Replace("%reason%", ev.Handler.Type.ToString()); Map.Broadcast(pluginInstance.Config.ScpSuicideMessage.Duration, message, pluginInstance.Config.ScpSuicideMessage.Type); } } @@ -169,7 +169,7 @@ internal void On079TeslaEvent(InteractingTeslaEventArgs _) internal void OnPlayerHurt(HurtingEventArgs ev) { if(ev.Attacker == null || ev.Target == null) return; - if (pluginInstance.Config.CuffedImmunityPlayers?.ContainsKey(ev.Target.Team) == true) + if (pluginInstance.Config.CuffedImmunityPlayers?.ContainsKey(ev.Target.Role.Team) == true) { ev.IsAllowed = !(pluginInstance.Functions.IsTeamImmune(ev.Target, ev.Attacker) && pluginInstance.Functions.CuffedCheck(ev.Target) && pluginInstance.Functions.CheckSafeZones(ev.Target)); } @@ -233,7 +233,7 @@ internal void OnPlayerVerify(VerifiedEventArgs ev) internal void OnPlayerSpawn(SpawningEventArgs ev) { Player databasePlayer = ev.Player.GetDatabasePlayer(); - if (ev.Player.Team == Team.SCP || (pluginInstance.Config.AreTutorialsSCP && ev.Player.Team == Team.TUT)) + if (ev.Player.Role.Team == Team.SCP || (pluginInstance.Config.AreTutorialsSCP && ev.Player.Role.Team == Team.TUT)) { if (databasePlayer.RoundBanLeft >= 1 && ev.Player.Role != RoleType.Scp0492) diff --git a/SCPUtils/Functions/Functions.cs b/SCPUtils/Functions/Functions.cs index 1724cd2..2d04dae 100644 --- a/SCPUtils/Functions/Functions.cs +++ b/SCPUtils/Functions/Functions.cs @@ -310,7 +310,7 @@ public void SaveData(Exiled.API.Features.Player player) { if (player.Nickname != "Dedicated Server" && player != null && Database.PlayerData.ContainsKey(player)) { - if ((player.Team == Team.SCP || (pluginInstance.Config.AreTutorialsSCP && player.Team == Team.TUT)) && pluginInstance.Config.QuitEqualsSuicide && Round.IsStarted) + if ((player.Role.Team == Team.SCP || (pluginInstance.Config.AreTutorialsSCP && player.Role.Team == Team.TUT)) && pluginInstance.Config.QuitEqualsSuicide && Round.IsStarted) { if (pluginInstance.Config.EnableSCPSuicideAutoWarn && pluginInstance.Config.QuitEqualsSuicide) { @@ -380,10 +380,10 @@ public void AdminMessage(string text) public bool IsTeamImmune(Exiled.API.Features.Player player, Exiled.API.Features.Player attacker) { - if (pluginInstance.Config.CuffedImmunityPlayers[player.Team]?.Any() == true) + if (pluginInstance.Config.CuffedImmunityPlayers[player.Role.Team]?.Any() == true) { - if (pluginInstance.Config.CuffedImmunityPlayers[player.Team].Contains(attacker.Team)) + if (pluginInstance.Config.CuffedImmunityPlayers[player.Role.Team].Contains(attacker.Role.Team)) { return true; } @@ -394,7 +394,7 @@ public bool IsTeamImmune(Exiled.API.Features.Player player, Exiled.API.Features. } else { - Log.Error($"Detected invalid setting on cuffed_immunity_players! Key: {player.Team}, List cannot be null!"); + Log.Error($"Detected invalid setting on cuffed_immunity_players! Key: {player.Role.Team}, List cannot be null!"); return false; } @@ -404,11 +404,11 @@ public bool CuffedCheck(Exiled.API.Features.Player player) { if (pluginInstance.Config.CuffedProtectedTeams?.Any() == true) { - if (pluginInstance.Config.CuffedProtectedTeams.Contains(player.Team) && player.IsCuffed) + if (pluginInstance.Config.CuffedProtectedTeams.Contains(player.Role.Team) && player.IsCuffed) { return true; } - else if (!pluginInstance.Config.CuffedProtectedTeams.Contains(player.Team)) + else if (!pluginInstance.Config.CuffedProtectedTeams.Contains(player.Role.Team)) { return true; } @@ -432,9 +432,9 @@ public bool CheckSafeZones(Exiled.API.Features.Player player) return false; } - else if (pluginInstance.Config.CuffedSafeZones[player.Team]?.Any() == true) + else if (pluginInstance.Config.CuffedSafeZones[player.Role.Team]?.Any() == true) { - if (pluginInstance.Config.CuffedSafeZones[player.Team].Contains(player.CurrentRoom.Zone)) + if (pluginInstance.Config.CuffedSafeZones[player.Role.Team].Contains(player.CurrentRoom.Zone)) { return true; } @@ -446,7 +446,7 @@ public bool CheckSafeZones(Exiled.API.Features.Player player) else { - Log.Error($"Detected invalid setting on cuffed_safe_zones! Key: {player.Team}, List cannot be null!"); + Log.Error($"Detected invalid setting on cuffed_safe_zones! Key: {player.Role.Team}, List cannot be null!"); return false; } diff --git a/SCPUtils/Patches/SCPSpeak.cs b/SCPUtils/Patches/SCPSpeak.cs index 2e6338a..b706432 100644 --- a/SCPUtils/Patches/SCPSpeak.cs +++ b/SCPUtils/Patches/SCPSpeak.cs @@ -13,7 +13,7 @@ public static bool Prefix(Radio __instance, bool b) Exiled.API.Features.Player player = Exiled.API.Features.Player.Get(__instance._hub); if (string.IsNullOrEmpty(player?.UserId)) return false; if (player.HasItem(ItemType.Radio)) return __instance._dissonanceSetup.RadioAsHuman = b; - if (player.Team != Team.SCP) return false; + if (player.Role.Team != Team.SCP) return false; else if (ScpUtils.StaticInstance.Config.AllowedScps.Contains(player.Role)) return __instance._dissonanceSetup.MimicAs939 = b; else if (string.IsNullOrEmpty(ServerStatic.GetPermissionsHandler()._groups.FirstOrDefault(g => g.Value == player.ReferenceHub.serverRoles.Group).Key) && !string.IsNullOrEmpty(player.ReferenceHub.serverRoles.MyText)) return false; else if (player.CheckPermission($"scputils_speak.{player.Role.ToString().ToLower()}")) return __instance._dissonanceSetup.MimicAs939 = b; diff --git a/SCPUtils/Plugin.cs b/SCPUtils/Plugin.cs index 17e756a..7e438e7 100644 --- a/SCPUtils/Plugin.cs +++ b/SCPUtils/Plugin.cs @@ -14,8 +14,8 @@ public class ScpUtils : Features.Plugin { public override string Author { get; } = "Terminator_97#0507"; public override string Name { get; } = "SCPUtils"; - public override Version Version { get; } = new Version(3, 4, 0); - public override Version RequiredExiledVersion { get; } = new Version(4, 0, 0); + public override Version Version { get; } = new Version(4, 0, 0); + public override Version RequiredExiledVersion { get; } = new Version(5, 0, 0); public EventHandlers EventHandlers { get; private set; } public Functions Functions { get; private set; } public Player Player { get; private set; } diff --git a/SCPUtils/SCPUtils.csproj b/SCPUtils/SCPUtils.csproj index 81d7d31..e1732d8 100644 --- a/SCPUtils/SCPUtils.csproj +++ b/SCPUtils/SCPUtils.csproj @@ -46,35 +46,34 @@ ..\..\..\..\..\..\Assembly-CSharp-Publicized.dll - False - ..\..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\SCP Secret Laboratory Dedicated Server\SCPSL_Data\Managed\CommandSystem.Core.dll + ..\packages\EXILED.5.0.0-beta.5\lib\net472\CommandSystem.Core.dll - - ..\packages\EXILED.4.1.2\lib\net472\Exiled.API.dll + + ..\packages\EXILED.5.0.0-beta.5\lib\net472\Exiled.API.dll - - ..\packages\EXILED.4.1.2\lib\net472\Exiled.Bootstrap.dll + + ..\packages\EXILED.5.0.0-beta.5\lib\net472\Exiled.Bootstrap.dll - - ..\packages\EXILED.4.1.2\lib\net472\Exiled.CreditTags.dll + + ..\packages\EXILED.5.0.0-beta.5\lib\net472\Exiled.CreditTags.dll - - ..\packages\EXILED.4.1.2\lib\net472\Exiled.CustomItems.dll + + ..\packages\EXILED.5.0.0-beta.5\lib\net472\Exiled.CustomItems.dll - - ..\packages\EXILED.4.1.2\lib\net472\Exiled.CustomRoles.dll + + ..\packages\EXILED.5.0.0-beta.5\lib\net472\Exiled.CustomRoles.dll - - ..\packages\EXILED.4.1.2\lib\net472\Exiled.Events.dll + + ..\packages\EXILED.5.0.0-beta.5\lib\net472\Exiled.Events.dll - - ..\packages\EXILED.4.1.2\lib\net472\Exiled.Loader.dll + + ..\packages\EXILED.5.0.0-beta.5\lib\net472\Exiled.Loader.dll - - ..\packages\EXILED.4.1.2\lib\net472\Exiled.Permissions.dll + + ..\packages\EXILED.5.0.0-beta.5\lib\net472\Exiled.Permissions.dll - ..\packages\EXILED.4.1.2\lib\net472\Exiled.Updater.dll + ..\packages\EXILED.5.0.0-beta.5\lib\net472\Exiled.Updater.dll ..\packages\LiteDB.5.0.9\lib\net45\LiteDB.dll @@ -86,6 +85,9 @@ ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + + ..\packages\EXILED.5.0.0-beta.5\lib\net472\NorthwoodLib.dll + diff --git a/SCPUtils/packages.config b/SCPUtils/packages.config index adbe6ba..d53b8b4 100644 --- a/SCPUtils/packages.config +++ b/SCPUtils/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file