Skip to content

Commit

Permalink
4.0.0 beta
Browse files Browse the repository at this point in the history
  • Loading branch information
Francesco authored and Francesco committed Mar 4, 2022
1 parent d13f166 commit a4d8812
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 48 deletions.
16 changes: 8 additions & 8 deletions SCPUtils/Commands/RoundInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public bool Execute(ArraySegment<string> 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;
Expand All @@ -42,30 +42,30 @@ public bool Execute(ArraySegment<string> 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)
{
Expand All @@ -74,7 +74,7 @@ public bool Execute(ArraySegment<string> 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)
{
Expand Down
16 changes: 8 additions & 8 deletions SCPUtils/Functions/EventHandlers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -56,7 +56,7 @@ internal void OnPlayerDeath(DyingEventArgs ev)

if (pluginInstance.Config.NotifyLastPlayerAlive)
{
List<Features.Player> team = Features.Player.Get(ev.Target.Team).ToList();
List<Features.Player> team = Features.Player.Get(ev.Target.Role.Team).ToList();
if (team.Count - 1 == 1)
{
if (team[0] == ev.Target)
Expand All @@ -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);
}
}
Expand All @@ -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);
}
}
Expand Down Expand Up @@ -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));
}
Expand Down Expand Up @@ -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)
Expand Down
18 changes: 9 additions & 9 deletions SCPUtils/Functions/Functions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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;
}
Expand All @@ -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;
}

Expand All @@ -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;
}
Expand All @@ -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;
}
Expand All @@ -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;
}

Expand Down
2 changes: 1 addition & 1 deletion SCPUtils/Patches/SCPSpeak.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions SCPUtils/Plugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ public class ScpUtils : Features.Plugin<Configs>
{
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; }
Expand Down
Loading

0 comments on commit a4d8812

Please sign in to comment.