v1.0.4
This commit is contained in:
parent
a7009be3e0
commit
898f86f888
137 changed files with 3553 additions and 3780 deletions
|
|
@ -10,54 +10,38 @@ namespace jRandomSkills
|
|||
public class Spectator : ISkill
|
||||
{
|
||||
private const Skills skillName = Skills.Spectator;
|
||||
private static bool blocked = false;
|
||||
private static readonly float distance = Config.GetValue<float>(skillName, "distance");
|
||||
private static readonly Dictionary<ulong, (uint, CDynamicProp, CCSPlayerPawn)> cameras = [];
|
||||
|
||||
public static void LoadSkill()
|
||||
{
|
||||
SkillUtils.RegisterSkill(skillName, Config.GetValue<string>(skillName, "color"));
|
||||
}
|
||||
|
||||
Instance.RegisterEventHandler<EventRoundEnd>((@event, info) =>
|
||||
{
|
||||
blocked = true;
|
||||
foreach (var player in Utilities.GetPlayers())
|
||||
if (cameras.TryGetValue(player.SteamID, out _))
|
||||
DisableSkill(player);
|
||||
public static void NewRound()
|
||||
{
|
||||
foreach (var camera in cameras)
|
||||
camera.Value.Item2.Remove();
|
||||
cameras.Clear();
|
||||
}
|
||||
|
||||
foreach (var camera in cameras)
|
||||
camera.Value.Item2.Remove();
|
||||
cameras.Clear();
|
||||
return HookResult.Continue;
|
||||
});
|
||||
public static void WeaponPickup(EventItemPickup @event)
|
||||
{
|
||||
var player = @event.Userid;
|
||||
if (!Instance.IsPlayerValid(player)) return;
|
||||
var playerInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == player?.SteamID);
|
||||
if (playerInfo?.Skill != skillName) return;
|
||||
|
||||
Instance.RegisterEventHandler<EventRoundFreezeEnd>((@event, info) =>
|
||||
{
|
||||
blocked = false;
|
||||
return HookResult.Continue;
|
||||
});
|
||||
|
||||
Instance.RegisterEventHandler<EventItemPickup>((@event, info) =>
|
||||
{
|
||||
var player = @event.Userid;
|
||||
if (!Instance.IsPlayerValid(player)) return HookResult.Continue;
|
||||
var playerInfo = Instance.SkillPlayer.FirstOrDefault(p => p.SteamID == player?.SteamID);
|
||||
if (playerInfo?.Skill != skillName) return HookResult.Continue;
|
||||
|
||||
var pawn = player!.PlayerPawn.Value;
|
||||
if (pawn == null || !pawn.IsValid || pawn.CameraServices == null) return HookResult.Continue;
|
||||
if (cameras.TryGetValue(player.SteamID, out var cameraInfo) && cameraInfo.Item1 != pawn.CameraServices.ViewEntity.Raw)
|
||||
BlockWeapon(player, true);
|
||||
return HookResult.Continue;
|
||||
});
|
||||
|
||||
Instance.RegisterListener<Listeners.OnTick>(OnTick);
|
||||
var pawn = player!.PlayerPawn.Value;
|
||||
if (pawn == null || !pawn.IsValid || pawn.CameraServices == null) return;
|
||||
if (cameras.TryGetValue(player.SteamID, out var cameraInfo) && cameraInfo.Item1 != pawn.CameraServices.ViewEntity.Raw)
|
||||
BlockWeapon(player, true);
|
||||
}
|
||||
|
||||
public static void UseSkill(CCSPlayerController player)
|
||||
{
|
||||
var playerPawn = player.PlayerPawn.Value;
|
||||
if (playerPawn?.CBodyComponent == null || blocked) return;
|
||||
if (playerPawn?.CBodyComponent == null) return;
|
||||
ChangeCamera(player);
|
||||
}
|
||||
|
||||
|
|
@ -66,7 +50,7 @@ namespace jRandomSkills
|
|||
ChangeCamera(player, true);
|
||||
}
|
||||
|
||||
private static void OnTick()
|
||||
public static void OnTick()
|
||||
{
|
||||
foreach (var player in Utilities.GetPlayers())
|
||||
if (cameras.TryGetValue(player.SteamID, out var cameraInfo) && cameraInfo.Item2.IsValid)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue