Add CuffedFrenemies

This commit is contained in:
2025-05-25 12:39:33 +02:00
parent e099ee5071
commit 5b8dcb282f
3 changed files with 109 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
using LabApi.Events.Arguments.PlayerEvents;
using LabApi.Events.Handlers;
using LabApi.Features;
using LabApi.Features.Console;
using LabApi.Features.Wrappers;
using LabApi.Loader.Features.Plugins;
using Mirror;
using PlayerRoles;
namespace CuffedFrenemies;
public class CuffedFrenemies : Plugin
{
public override string Name => "GamblingCoin";
public override string Author => "Code002Lover";
public override Version Version { get; } = new(1, 0, 0);
public override string Description => "Gamble your life away";
public override Version RequiredApiVersion { get; } = new (LabApiProperties.CompiledVersion);
public override void Enable()
{
Logger.Debug("Loading");
PlayerEvents.Cuffed += OnCuff;
}
public override void Disable()
{
PlayerEvents.Cuffed -= OnCuff;
}
private static void OnCuff(PlayerCuffedEventArgs ev)
{
Logger.Debug($"Team: {ev.Target.Team}");
if (ev.Target.Team is Team.ClassD or Team.Scientists)
{
return;
}
if (ev.Target.Team == ev.Player.Team)
{
Logger.Debug("Same team, not changing role");
return;
}
var newRole = ev.Target.Team == Team.ChaosInsurgency ? RoleTypeId.NtfPrivate : RoleTypeId.ChaosConscript;
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;
}
}