From 2e2750add67ae073da4b200c98f2ba33a4da4c7f Mon Sep 17 00:00:00 2001 From: GrafDimenzio <66207264+GrafDimenzio@users.noreply.github.com> Date: Wed, 8 Mar 2023 19:00:02 +0100 Subject: [PATCH] Synapse 3 --- Scp056/EventHandler.cs | 148 ++++++++++-------------------- Scp056/KeyBind/Scp056SwapBind.cs | 15 +++ Scp056/KeyBind/SwapClasses.cs | 105 +++++++++++++++++++++ Scp056/KeyBind/TargetBind.cs | 35 +++++++ Scp056/Properties/AssemblyInfo.cs | 1 - Scp056/Scp056.csproj | 30 ++++-- Scp056/Scp056Command.cs | 9 +- Scp056/Scp056Config.cs | 68 +++++++------- Scp056/Scp056PlayerScript.cs | 21 ++--- Scp056/Scp056Plugin.cs | 4 +- Scp056/Scp056Translation.cs | 8 +- Scp056/app.config | 4 + Scp056/packages.config | 47 +++++----- 13 files changed, 309 insertions(+), 186 deletions(-) create mode 100644 Scp056/KeyBind/Scp056SwapBind.cs create mode 100644 Scp056/KeyBind/SwapClasses.cs create mode 100644 Scp056/KeyBind/TargetBind.cs diff --git a/Scp056/EventHandler.cs b/Scp056/EventHandler.cs index b203859..fbc21f5 100644 --- a/Scp056/EventHandler.cs +++ b/Scp056/EventHandler.cs @@ -1,122 +1,74 @@ using System.Linq; -using Interactables.Interobjects.DoorUtils; -using Neuron.Core.Logging; -using Synapse3.SynapseModule.Enums; +using Neuron.Core.Events; +using Neuron.Core.Meta; +using Ninject; +using PlayerRoles; +using PlayerRoles.RoleAssign; +using Synapse3.SynapseModule; using Synapse3.SynapseModule.Events; using Synapse3.SynapseModule.Player; using UnityEngine; +using VoiceChat; namespace Scp056; -public class EventHandler +[Automatic] +public class EventHandler : Listener { - private readonly Scp056Plugin _plugin; - private readonly PlayerService _player; + [Inject] + public Scp056Plugin Plugin { get; set; } + [Inject] + public PlayerService Player { get; set; } - public EventHandler(PlayerEvents playerEvents, RoundEvents roundEvents, PlayerService player, - Scp056Plugin plugin) + [EventHandler] + public void FirstSpawn(FirstSpawnEvent ev) { - _player = player; - _plugin = plugin; - - playerEvents.KeyPress.Subscribe(KeyPress); - playerEvents.Death.Subscribe(Death); - roundEvents.FirstSpawn.Subscribe(FirstSpawn); - } - - private void FirstSpawn(FirstSpawnEvent ev) - { - if (!_plugin.Config.EnableDefaultSpawnBehaviour) return; - if (ev.PlayerAndRoles.Count < _plugin.Config.RequiredPlayers) return; - if (Random.Range(1f, 100f) > _plugin.Config.SpawnChance) return; - - var possiblePlayers = _plugin.Config.ReplaceScp - ? ev.PlayerAndRoles.Where(x => IsScpID(x.Value)) - : ev.PlayerAndRoles.Where(x => !IsScpID(x.Value)); - - if (possiblePlayers.Count() == 0) - return; - - System.Collections.Generic.KeyValuePair pair; - - - if (_plugin.Config.ReplaceScp && _plugin.Config.Replace079 && possiblePlayers.Count() == 2 && - possiblePlayers.Any(x => x.Value == (int)RoleType.Scp079)) - pair = possiblePlayers.FirstOrDefault(x => x.Value == (uint)RoleType.Scp079); - else - pair = possiblePlayers.ElementAt(UnityEngine.Random.Range(0, possiblePlayers.Count())); - - ev.PlayerAndRoles[pair.Key] = 56; + if (!Plugin.Config.EnableDefaultSpawnBehaviour) return; + if (Player.Players.Count < Plugin.Config.RequiredPlayers) return; + if (Random.Range(1f, 100f) > Plugin.Config.SpawnChance) return; + if(Plugin.Config.ReplaceScp && ev.AmountOfScpSpawns <= 0) return; + + var possiblePlayers = Player.Players.Where(x => RoleAssigner.CheckPlayer(x.Hub)).ToArray(); + if (!possiblePlayers.Any()) return; + var player = possiblePlayers[Random.Range(0, possiblePlayers.Count())]; + ev.PlayersBlockedFromSpawning.Add(player); + player.RoleID = 56; + if (Plugin.Config.ReplaceScp) + ev.AmountOfScpSpawns--; } - - private bool IsScpID(uint id) => id is (uint)RoleType.Scp173 or (uint)RoleType.Scp049 or (uint)RoleType.Scp0492 - or (uint)RoleType.Scp079 or (uint)RoleType.Scp096 or (uint)RoleType.Scp106 or (uint)RoleType.Scp93953 - or (uint)RoleType.Scp93989; - - private void Death(DeathEvent ev) + + [EventHandler] + public void Death(DeathEvent ev) { if (ev.Attacker == null || ev.Attacker == ev.Player) return; if (ev.Player.RoleID == 56) - ev.Attacker.SendBroadcast(_plugin.Translation.Get(ev.Attacker).Killed056, 7); + ev.Attacker.SendBroadcast(Plugin.Translation.Get(ev.Attacker).Killed056, 7); else if (ev.Attacker.RoleID == 56) - ev.Player.SendWindowMessage(_plugin.Translation.Get(ev.Player).KilledBy056); + ev.Player.SendWindowMessage(Plugin.Translation.Get(ev.Player).KilledBy056); } - private void KeyPress(KeyPressEvent ev) + //TODO: Implement SCP Chat ability + /* + [EventHandler] + public void SpeakEvent(SpeakEvent ev) { - if (ev.Player.RoleID != 56) return; - RoleType role; - - switch (ev.KeyCode) + if (ev.Player.RoleID == 56 && (ev.Player.CustomRole as Scp056PlayerScript)?.ScpChat == true) { - case KeyCode.Keypad1: - role = RoleType.ClassD; - break; - - case KeyCode.Keypad2: - role = RoleType.Scientist; - break; - - case KeyCode.Keypad3: - role = RoleType.FacilityGuard; - break; - - case KeyCode.Keypad4: - role = RoleType.NtfSergeant; - break; - - case KeyCode.Keypad5: - role = RoleType.ChaosRepressor; - break; - - case KeyCode.Keypad6: - role = RoleType.Scp049; - break; - - case KeyCode.Keypad7: - role = RoleType.Scp096; - break; - - case KeyCode.Keypad8: - role = RoleType.Scp173; - break; - - case KeyCode.Keypad9: - role = RoleType.Scp93953; - break; - - case KeyCode.Keypad0: - var targets = _player - .GetPlayers(x => x.TeamID is (uint)Team.MTF or (uint)Team.CDP or (uint)Team.RSC).Count; - - ev.Player.SendBroadcast( - _plugin.Translation.Get(ev.Player).Targets.Replace("%targets%", targets.ToString()), 7); - return; + SynapseLogger.Warn("SpeakEvent"); + ev.Channel = VoiceChatChannel.ScpChat; + } + } - default: return; + [EventHandler] + public void SpeakPlayerEvent(SpeakToPlayerEvent ev) + { + if (ev.Receiver.RoleID == 56 && ev.Player.Hub.IsSCP() && + (ev.Player.CustomRole as Scp056PlayerScript)?.ScpChat == true) + { + SynapseLogger.Warn("SpeakEventPlayer"); + ev.Channel = VoiceChatChannel.ScpChat; } - - (ev.Player.CustomRole as Scp056PlayerScript)?.SwapRole(role); } + */ } \ No newline at end of file diff --git a/Scp056/KeyBind/Scp056SwapBind.cs b/Scp056/KeyBind/Scp056SwapBind.cs new file mode 100644 index 0000000..c562eee --- /dev/null +++ b/Scp056/KeyBind/Scp056SwapBind.cs @@ -0,0 +1,15 @@ +using PlayerRoles; +using Synapse3.SynapseModule.Player; + +namespace Scp056.KeyBind; + +public abstract class Scp056SwapBind : Synapse3.SynapseModule.KeyBind.KeyBind +{ + public abstract RoleTypeId SwapRole { get; } + + public override void Execute(SynapsePlayer player) + { + if (player.RoleID != 56) return; + (player.CustomRole as Scp056PlayerScript)?.SwapRole(SwapRole); + } +} \ No newline at end of file diff --git a/Scp056/KeyBind/SwapClasses.cs b/Scp056/KeyBind/SwapClasses.cs new file mode 100644 index 0000000..3443437 --- /dev/null +++ b/Scp056/KeyBind/SwapClasses.cs @@ -0,0 +1,105 @@ +using Neuron.Core.Meta; +using PlayerRoles; +using Synapse3.SynapseModule.KeyBind; +using UnityEngine; + +namespace Scp056.KeyBind; + +[Automatic] +[KeyBind( + Bind = KeyCode.Keypad1, + CommandDescription = "Swaps to D-Class as 056", + CommandName = "ClassDSwap" +)] +public class ClassD : Scp056SwapBind +{ + public override RoleTypeId SwapRole => RoleTypeId.ClassD; +} + +[Automatic] +[KeyBind( + Bind = KeyCode.Keypad2, + CommandDescription = "Swaps to Scientist as 056", + CommandName = "ScientistSwap" +)] +public class Scientist : Scp056SwapBind +{ + public override RoleTypeId SwapRole => RoleTypeId.Scientist; +} + +[Automatic] +[KeyBind( + Bind = KeyCode.Keypad3, + CommandDescription = "Swaps to Guard as 056", + CommandName = "GuardSwap" +)] +public class Guard : Scp056SwapBind +{ + public override RoleTypeId SwapRole => RoleTypeId.FacilityGuard; +} + +[Automatic] +[KeyBind( + Bind = KeyCode.Keypad4, + CommandDescription = "Swaps to NTF as 056", + CommandName = "NtfSwap" +)] +public class Ntf : Scp056SwapBind +{ + public override RoleTypeId SwapRole => RoleTypeId.NtfSergeant; +} + +[Automatic] +[KeyBind( + Bind = KeyCode.Keypad5, + CommandDescription = "Swaps to Chaos as 056", + CommandName = "ChaosSwap" +)] +public class Chaos : Scp056SwapBind +{ + public override RoleTypeId SwapRole => RoleTypeId.ChaosRepressor; +} + +[Automatic] +[KeyBind( + Bind = KeyCode.Keypad6, + CommandDescription = "Swaps to Scp049 as 056", + CommandName = "Scp049Swap" +)] +public class Scp049 : Scp056SwapBind +{ + public override RoleTypeId SwapRole => RoleTypeId.Scp049; +} + +[Automatic] +[KeyBind( + Bind = KeyCode.Keypad7, + CommandDescription = "Swaps to Scp173 as 056", + CommandName = "Scp173Swap" +)] +public class Scp173 : Scp056SwapBind +{ + public override RoleTypeId SwapRole => RoleTypeId.Scp173; +} + +[Automatic] +[KeyBind( + Bind = KeyCode.Keypad8, + CommandDescription = "Swaps to Scp096 as 056", + CommandName = "Scp096Swap" +)] +public class Scp096 : Scp056SwapBind +{ + public override RoleTypeId SwapRole => RoleTypeId.Scp096; +} + +[Automatic] +[KeyBind( + Bind = KeyCode.Keypad9, + CommandDescription = "Swaps to Scp939 as 056", + CommandName = "Scp939Swap" +)] +public class Scp939 : Scp056SwapBind +{ + public override RoleTypeId SwapRole => RoleTypeId.Scp939; +} \ No newline at end of file diff --git a/Scp056/KeyBind/TargetBind.cs b/Scp056/KeyBind/TargetBind.cs new file mode 100644 index 0000000..d4c4efb --- /dev/null +++ b/Scp056/KeyBind/TargetBind.cs @@ -0,0 +1,35 @@ +using Neuron.Core.Meta; +using Ninject; +using PlayerRoles; +using Synapse3.SynapseModule; +using Synapse3.SynapseModule.KeyBind; +using Synapse3.SynapseModule.Player; +using UnityEngine; + +namespace Scp056.KeyBind; + +[Automatic] +[KeyBind( + Bind = KeyCode.Keypad0, + CommandDescription = "Displays the number of targets for SCP-056", + CommandName = "Scp056Targets" + )] +public class TargetBind : Synapse3.SynapseModule.KeyBind.KeyBind +{ + [Inject] + public PlayerService PlayerService { get; set; } + + [Inject] + public Scp056Plugin Plugin { get; set; } + + public override void Execute(SynapsePlayer player) + { + if (player.RoleID != 56) return; + + var targets = PlayerService.GetPlayers(x => + x.TeamID is (uint)Team.FoundationForces or (uint)Team.ClassD or (uint)Team.Scientists).Count; + + player.SendBroadcast( + Plugin.Translation.Get(player).Targets.Replace("%targets%", targets.ToString()), 7); + } +} \ No newline at end of file diff --git a/Scp056/Properties/AssemblyInfo.cs b/Scp056/Properties/AssemblyInfo.cs index 6dd5069..c1ec1e4 100644 --- a/Scp056/Properties/AssemblyInfo.cs +++ b/Scp056/Properties/AssemblyInfo.cs @@ -1,5 +1,4 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Allgemeine Informationen über eine Assembly werden über die folgenden diff --git a/Scp056/Scp056.csproj b/Scp056/Scp056.csproj index edd4ef0..a6fad77 100644 --- a/Scp056/Scp056.csproj +++ b/Scp056/Scp056.csproj @@ -9,7 +9,7 @@ Properties Scp056 Scp056 - v4.7.2 + v4.8 512 true 10 @@ -39,11 +39,11 @@ ..\packages\HarmonyX.2.10.0\lib\net45\0Harmony.dll - - ..\..\..\..\Synapse-synapse3\Synapse3.SynapseModule\bin\Debug\net472\Assembly-CSharp-Publicized.dll + + ..\packages\SynapseSL.3.0.0-pre1.1\lib\net48\Assembly-CSharp.dll - - ..\..\..\..\Synapse-synapse3\Synapse3.SynapseModule\bin\Debug\net472\Assembly-CSharp-firstpass.dll + + ..\packages\SynapseSL.3.0.0-pre1.1\lib\net48\Assembly-CSharp-firstpass.dll ..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll @@ -66,6 +66,9 @@ ..\packages\Microsoft.Extensions.Primitives.6.0.0\lib\net461\Microsoft.Extensions.Primitives.dll + + ..\packages\SynapseSL.3.0.0-pre1.1\lib\net48\Mirror.dll + ..\packages\Mono.Cecil.0.11.4\lib\net40\Mono.Cecil.dll @@ -103,8 +106,8 @@ ..\packages\SYML.1.0.2\lib\netstandard2.0\SYML.dll - - ..\..\..\..\Synapse-synapse3\Synapse3.SynapseModule\bin\Debug\net472\Synapse3.SynapseModule.dll + + ..\packages\SynapseSL.3.0.0-pre1.1\lib\net48\Synapse3.SynapseModule.dll @@ -132,14 +135,23 @@ - - ..\..\..\..\Synapse-synapse3\Synapse3.SynapseModule\bin\Debug\net472\UnityEngine.CoreModule.dll + + ..\packages\SynapseSL.3.0.0-pre1.1\lib\net48\UnityEngine.dll + + + ..\packages\SynapseSL.3.0.0-pre1.1\lib\net48\UnityEngine.CoreModule.dll + + + ..\packages\SynapseSL.3.0.0-pre1.1\lib\net48\UnityEngine.PhysicsModule.dll ..\packages\YamlDotNet.11.2.1\lib\net45\YamlDotNet.dll + + + diff --git a/Scp056/Scp056Command.cs b/Scp056/Scp056Command.cs index 2d9a7ee..08a7d41 100644 --- a/Scp056/Scp056Command.cs +++ b/Scp056/Scp056Command.cs @@ -2,6 +2,7 @@ using Neuron.Core.Meta; using Neuron.Modules.Commands; using Neuron.Modules.Commands.Command; +using PlayerRoles; using Synapse3.SynapseModule.Command; using Synapse3.SynapseModule.Player; @@ -41,7 +42,7 @@ public override void Execute(SynapseContext context, ref CommandResult result) { case "targets": var targets = _player - .GetPlayers(x => x.TeamID is (uint)Team.MTF or (uint)Team.CDP or (uint)Team.RSC).Count; + .GetPlayers(x => x.TeamID is (uint)Team.FoundationForces or (uint)Team.ClassD or (uint)Team.Scientists).Count; result.Response = _plugin.Translation.Get(context.Player).Targets .Replace("%targets%", targets.ToString()); @@ -53,7 +54,7 @@ public override void Execute(SynapseContext context, ref CommandResult result) if (context.Arguments.Length < 2) context.Arguments = new[] { "class", "" }; - if (Enum.TryParse(context.Arguments[1], out var role)) + if (Enum.TryParse(context.Arguments[1], out var role)) { (context.Player.CustomRole as Scp056PlayerScript)?.SwapRole(role); result.Response = _plugin.Translation.Get(context.Player).ChangedRole @@ -64,11 +65,13 @@ public override void Execute(SynapseContext context, ref CommandResult result) goto default; default: - result.Response = _plugin.Translation.SelectRole; + result.Response = _plugin.Translation.Commands; foreach (var possibleRole in _plugin.Config.AllowedRoles) { result.Response += "\n.056 class " + possibleRole; } + + result.Response += "\n.056 targets"; result.StatusCode = CommandStatusCode.Ok; return; } diff --git a/Scp056/Scp056Config.cs b/Scp056/Scp056Config.cs index ddaa544..dbe8c4b 100644 --- a/Scp056/Scp056Config.cs +++ b/Scp056/Scp056Config.cs @@ -2,11 +2,13 @@ using System.Collections.Generic; using System.ComponentModel; using Neuron.Core.Meta; +using PlayerRoles; using Syml; using Synapse3.SynapseModule.Config; using Synapse3.SynapseModule.Map.Rooms; using Synapse3.SynapseModule.Role; using UnityEngine; +using YamlDotNet.Serialization; namespace Scp056; @@ -19,10 +21,9 @@ public class Scp056Config : IDocumentSection { Health = 200, MaxHealth = 200, - VisibleRole = RoleType.FacilityGuard, - Role = RoleType.Tutorial, - Unit = "Human SCP", - UnitId = 7, + VisibleRole = RoleTypeId.FacilityGuard, + Role = RoleTypeId.Tutorial, + OwnRole = RoleTypeId.None, ArtificialHealth = 0, MaxArtificialHealth = 75, EscapeRole = 0, @@ -74,26 +75,25 @@ public class Scp056Config : IDocumentSection } }; - public List AllowedRoles { get; set; } = new List() + public List AllowedRoles { get; set; } = new List() { - RoleType.ClassD, - RoleType.Scientist, - RoleType.FacilityGuard, - RoleType.ChaosConscript, - RoleType.ChaosMarauder, - RoleType.ChaosRepressor, - RoleType.ChaosRifleman, - RoleType.NtfCaptain, - RoleType.NtfPrivate, - RoleType.NtfSergeant, - RoleType.NtfSpecialist, - RoleType.Scp049, - RoleType.Scp096, - RoleType.Scp106, - RoleType.Scp173, - RoleType.Scp0492, - RoleType.Scp93953, - RoleType.Scp93989 + RoleTypeId.ClassD, + RoleTypeId.Scientist, + RoleTypeId.FacilityGuard, + RoleTypeId.ChaosConscript, + RoleTypeId.ChaosMarauder, + RoleTypeId.ChaosRepressor, + RoleTypeId.ChaosRifleman, + RoleTypeId.NtfCaptain, + RoleTypeId.NtfPrivate, + RoleTypeId.NtfSergeant, + RoleTypeId.NtfSpecialist, + RoleTypeId.Scp049, + RoleTypeId.Scp096, + RoleTypeId.Scp106, + RoleTypeId.Scp173, + RoleTypeId.Scp0492, + RoleTypeId.Scp939 }; [Description("If Enabled Scp056 can Hurt Scps(Guns,Generator,FemurBreaker,etc.)")] @@ -111,17 +111,16 @@ public class Scp056Config : IDocumentSection [Description("If Enabled a Scp will become Scp056.If Disabled a Human will become Scp056")] public bool ReplaceScp { get; set; } = false; - [Description("Prevnts the scenario that only 056 and 079 spawns together")] - public bool Replace079 { get; set; } = true; - + [Serializable] public class Scp056RoleConfiguration : IAbstractRoleConfig { - [Description("The Role that is Visible for other SCP's")] - public RoleType VisibleRoleForScp { get; set; } = RoleType.Scp0492; [Description("The Role that the Player spawns as")] - public RoleType Role { get; set; } + public RoleTypeId Role { get; set; } [Description("The Role that is Visible for other Humans at the start of the Round")] - public RoleType VisibleRole { get; set; } + public RoleTypeId VisibleRole { get; set; } + + public RoleTypeId OwnRole { get; set; } + [Description("The Role SCP-056 becomes when he Escapes")] public uint EscapeRole { get; set; } public float Health { get; set; } @@ -130,10 +129,11 @@ public class Scp056RoleConfiguration : IAbstractRoleConfig public float MaxArtificialHealth { get; set; } public RoomPoint[] PossibleSpawns { get; set; } public SerializedPlayerInventory[] PossibleInventories { get; set; } - [Description("The UnitId which should be assigned to SCP-056 (like the Unit list for Mtf's at the top right which would be 2)")] - public byte UnitId { get; set; } - [Description("The Unit Name of SCP-056")] - public string Unit { get; set; } + + public SerializedVector3 Scale { get; set; } = new(1f, 1f, 1f); + + [YamlIgnore] + public bool Hierarchy => false; } } diff --git a/Scp056/Scp056PlayerScript.cs b/Scp056/Scp056PlayerScript.cs index 94530cb..7a610ba 100644 --- a/Scp056/Scp056PlayerScript.cs +++ b/Scp056/Scp056PlayerScript.cs @@ -1,8 +1,8 @@ using System.Collections.Generic; using Neuron.Core.Meta; +using PlayerRoles; using Synapse3.SynapseModule.Enums; using Synapse3.SynapseModule.Map; -using Synapse3.SynapseModule.Player; using Synapse3.SynapseModule.Role; namespace Scp056; @@ -11,7 +11,7 @@ namespace Scp056; [Role( Name = "Scp056", Id = 56, - TeamId = (int)Team.SCP + TeamId = (int)Team.SCPs )] public class Scp056PlayerScript : SynapseAbstractRole { @@ -23,32 +23,31 @@ public Scp056PlayerScript(Scp056Plugin plugin, CassieService cassie) _plugin = plugin; _cassie = cassie; } + + public bool ScpChat { get; set; } = false; - public override List GetEnemiesID() => new() { (int)Team.CDP, (int)Team.MTF, (int)Team.RSC }; + public override List GetEnemiesID() => new() { (int)Team.ClassD, (int)Team.FoundationForces, (int)Team.Scientists }; - public override List GetFriendsID() => _plugin.Config.Ff ? new List() : new List { (uint)Team.SCP }; + public override List GetFriendsID() => _plugin.Config.Ff ? new List() : new List { (uint)Team.SCPs }; protected override IAbstractRoleConfig GetConfig() => _plugin.Config.Scp056Configuration; protected override void OnSpawn(IAbstractRoleConfig config) { Player.SendWindowMessage(_plugin.Translation.Get(Player).Spawn.Replace("\\n", "\n")); - Player.FakeRoleManager.VisibleRole = _plugin.Config.Scp056Configuration.VisibleRole; RemoveCustomDisplay(); } protected override void OnDeSpawn(DeSpawnReason reason) { - if (reason is DeSpawnReason.Death or DeSpawnReason.Leave) - _cassie.AnnounceScpDeath("056", CassieSettings.DisplayText, CassieSettings.Glitched, CassieSettings.Noise); - - Player.FakeRoleManager.VisibleRole = RoleType.None; + if (reason <= DeSpawnReason.Leave) + _cassie.AnnounceScpDeath("056", CassieSettings.Glitched, CassieSettings.Noise); } - public void SwapRole(RoleType role) + public void SwapRole(RoleTypeId role) { if (!_plugin.Config.AllowedRoles.Contains(role)) return; - + Player.FakeRoleManager.VisibleRole = role; Player.SendHint(_plugin.Translation.ChangedRole.Replace("%role%", role.ToString())); } diff --git a/Scp056/Scp056Plugin.cs b/Scp056/Scp056Plugin.cs index f1ba069..b305b02 100644 --- a/Scp056/Scp056Plugin.cs +++ b/Scp056/Scp056Plugin.cs @@ -3,6 +3,7 @@ namespace Scp056; +[HeavyModded] [Plugin( Name = "SCP-056", Author = "Dimenzio", @@ -11,11 +12,8 @@ namespace Scp056; )] public class Scp056Plugin : ReloadablePlugin { - public EventHandler EventHandler { get; private set; } - public override void EnablePlugin() { - EventHandler = Synapse.GetAndBind(); Logger.Info("Loaded SCP-056 Plugin"); } } \ No newline at end of file diff --git a/Scp056/Scp056Translation.cs b/Scp056/Scp056Translation.cs index e3ded21..2413182 100644 --- a/Scp056/Scp056Translation.cs +++ b/Scp056/Scp056Translation.cs @@ -8,17 +8,17 @@ namespace Scp056; [Serializable] public class Scp056Translation : Translations { - public string Spawn { get; set; } = "You are now SCP 056\\nYour goal is it to kill all Humans\\nYour special ability is that you can use the .056 command in your Console to swap your class\\nPress esc to close"; + public string Spawn { get; set; } = "You are now SCP 056\\nYour goal is it to kill all Humans\\nYour special ability is that you can use the .056 command in your Console to swap your class\\nPress n to close"; public string Targets { get; set; } = "There still exist %targets% more Targets to kill for you"; - public string Killed056 { get; set; } = "You have killed SCP 056"; + public string Killed056 { get; set; } = "You have killed SCP 056"; - public string KilledBy056 { get; set; } = "You are killed by SCP 056"; + public string KilledBy056 { get; set; } = "You were killed by SCP 056"; public string ChangedRole { get; set; } = "You have successfully changed your Role to %role%"; - public string SelectRole { get; set; } = "You can use one of these Roles:"; + public string Commands { get; set; } = "You can use these commands:"; public string NotScp056 { get; set; } = "You are not SCP-056"; } \ No newline at end of file diff --git a/Scp056/app.config b/Scp056/app.config index 01ee772..af83c40 100644 --- a/Scp056/app.config +++ b/Scp056/app.config @@ -22,6 +22,10 @@ + + + + \ No newline at end of file diff --git a/Scp056/packages.config b/Scp056/packages.config index 22fa6fc..00b381b 100644 --- a/Scp056/packages.config +++ b/Scp056/packages.config @@ -1,26 +1,27 @@  - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file