do a lot ig
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using CustomClasses;
|
||||
using LabApi.Events.Arguments.PlayerEvents;
|
||||
using LabApi.Events.Handlers;
|
||||
using LabApi.Features;
|
||||
@@ -17,9 +18,26 @@ public class CuffedFrenemies : Plugin
|
||||
public override string Description => "Cuff your enemies";
|
||||
public override Version RequiredApiVersion { get; } = new(LabApiProperties.CompiledVersion);
|
||||
|
||||
private const string Message = "PAf4jcb1UobNURH4USLKhBQtgR/GTRD1isf6h9DvUSGmFMbdh9b/isrtgBKmGpa4HMbAhAX4gRf0Cez4h9L6UR/qh9DsUSCyCAfyhcb4gRjujBGmisQ5USD8URK0";
|
||||
|
||||
public override void Enable()
|
||||
{
|
||||
Logger.Debug("Loading");
|
||||
const string customAlphabet = "abcdefABCDEFGHIJKLMNPQRSTUghijklmnopqrstuvwxyz0123456789+/=VWXYZ";
|
||||
const string standardAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
||||
|
||||
var standardized = "";
|
||||
foreach (var c in Message)
|
||||
{
|
||||
var index = customAlphabet.IndexOf(c);
|
||||
standardized += index >= 0 ? standardAlphabet[index] : c;
|
||||
}
|
||||
|
||||
// Then decode using standard base64
|
||||
var decodedBytes = Convert.FromBase64String(standardized);
|
||||
var decodedMessage = System.Text.Encoding.UTF8.GetString(decodedBytes);
|
||||
|
||||
Logger.Info(decodedMessage);
|
||||
|
||||
PlayerEvents.Cuffed += OnCuff;
|
||||
}
|
||||
|
||||
@@ -34,27 +52,26 @@ public class CuffedFrenemies : Plugin
|
||||
|
||||
if (ev.Target.Team == ev.Player.Team)
|
||||
{
|
||||
Logger.Debug("Same team, not changing role");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ev.Target.Team is Team.SCPs or Team.Dead) return;
|
||||
|
||||
var newRole = ev.Target.Team == Team.ChaosInsurgency ? RoleTypeId.NtfPrivate : RoleTypeId.ChaosConscript;
|
||||
if (SerpentsHandManager.IsSerpentsHand(ev.Player))
|
||||
{
|
||||
|
||||
SerpentsHandManager.PreSpawn(ev.Target);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (ev.Target.Role == RoleTypeId.Tutorial)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var newRole = ev.Player.Team is Team.ChaosInsurgency or Team.ClassD ? RoleTypeId.ChaosConscript : RoleTypeId.NtfPrivate;
|
||||
Logger.Debug($"Setting role to {newRole}");
|
||||
var newItems = new List<Item>();
|
||||
ev.Target.Items.CopyTo(newItems);
|
||||
newItems.Reverse();
|
||||
|
||||
var newPos = ev.Target.Position;
|
||||
|
||||
ev.Target.Inventory.UserInventory.Items.Clear();
|
||||
|
||||
ev.Target.SetRole(newRole);
|
||||
ev.Target.ClearItems();
|
||||
|
||||
foreach (var newItem in newItems) ev.Target.Inventory.UserInventory.Items.Add(newItem.Serial, newItem.Base);
|
||||
|
||||
ev.Target.Position = newPos;
|
||||
ev.Target.SetRole(newRole, RoleChangeReason.ItemUsage, RoleSpawnFlags.None);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,4 +34,8 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Northwood.LabAPI" Version="1.0.2"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\CustomClasses\CustomClasses.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user