v1.2.2.b4
- #### General:
- ###### Updated the GitHub source code to implement the changes introduced in merge request (https://github.com/Juzlus/jRandomSkills/pull/32).
- #### Skill improvements:
- ###### Ninja:
- ###### Removed debug chat messages that were used for testing.
This commit is contained in:
parent
36bd85ef06
commit
42e5453fd4
25 changed files with 212 additions and 268 deletions
|
|
@ -46,7 +46,7 @@ namespace src.player
|
|||
Instance.RegisterEventHandler<EventPlayerSpawned>(PlayerSpawned);
|
||||
Instance.RegisterEventHandler<EventRoundStart>(RoundStart);
|
||||
Instance.RegisterEventHandler<EventRoundEnd>(RoundEnd);
|
||||
|
||||
|
||||
Instance.RegisterEventHandler<EventPlayerDeath>(PlayerDeath);
|
||||
Instance.RegisterEventHandler<EventPlayerBlind>(PlayerBlind);
|
||||
Instance.RegisterEventHandler<EventPlayerHurt>(PlayerHurt);
|
||||
|
|
@ -138,17 +138,21 @@ namespace src.player
|
|||
return candidates[Random.Shared.Next(candidates.Count)];
|
||||
}
|
||||
|
||||
private static void DispatchToActiveSkills(string methodName, params object[] args)
|
||||
{
|
||||
var seen = new HashSet<Skills>();
|
||||
foreach (var p in Instance.SkillPlayer)
|
||||
{
|
||||
if (p.IsDrawing || !seen.Add(p.Skill)) continue;
|
||||
Instance.SkillAction(p.Skill.ToString(), methodName, args);
|
||||
}
|
||||
}
|
||||
|
||||
private static HookResult PlayerMakeSound(UserMessage um)
|
||||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "PlayerMakeSound", [um]);
|
||||
DispatchToActiveSkills("PlayerMakeSound", um);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -157,13 +161,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "WeaponFire", [@event]);
|
||||
DispatchToActiveSkills("WeaponFire", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -172,13 +170,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "WeaponEquip", [@event]);
|
||||
DispatchToActiveSkills("WeaponEquip", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -187,13 +179,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "WeaponPickup", [@event]);
|
||||
DispatchToActiveSkills("WeaponPickup", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -202,13 +188,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "WeaponReload", [@event]);
|
||||
DispatchToActiveSkills("WeaponReload", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -217,13 +197,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "GrenadeThrown", [@event]);
|
||||
DispatchToActiveSkills("GrenadeThrown", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -232,13 +206,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "BombBeginplant", [@event]);
|
||||
DispatchToActiveSkills("BombBeginplant", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -247,13 +215,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "BombAbortplant", [@event]);
|
||||
DispatchToActiveSkills("BombAbortplant", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -262,13 +224,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "BombPlanted", [@event]);
|
||||
DispatchToActiveSkills("BombPlanted", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -277,13 +233,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "BombBegindefuse", [@event]);
|
||||
DispatchToActiveSkills("BombBegindefuse", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -292,13 +242,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "DecoyStarted", [@event]);
|
||||
DispatchToActiveSkills("DecoyStarted", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -307,13 +251,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "DecoyDetonate", [@event]);
|
||||
DispatchToActiveSkills("DecoyDetonate", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -322,13 +260,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "SmokegrenadeDetonate", [@event]);
|
||||
DispatchToActiveSkills("SmokegrenadeDetonate", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -337,13 +269,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "SmokegrenadeExpired", [@event]);
|
||||
DispatchToActiveSkills("SmokegrenadeExpired", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -352,13 +278,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "PlayerHurt", [@event]);
|
||||
DispatchToActiveSkills("PlayerHurt", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -367,13 +287,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "PlayerJump", [@event]);
|
||||
DispatchToActiveSkills("PlayerJump", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -391,13 +305,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "PlayerBlind", [@event]);
|
||||
DispatchToActiveSkills("PlayerBlind", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -406,15 +314,10 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
DispatchToActiveSkills("OnTakeDamage", h);
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "OnTakeDamage", [h]);
|
||||
|
||||
if (Fortnite.skillInThisRound == true && !activeSkills.Any(s => s == "Fortnite"))
|
||||
if (Fortnite.skillInThisRound == true &&
|
||||
!Instance.SkillPlayer.Any(p => !p.IsDrawing && p.Skill == Skills.Fortnite))
|
||||
Instance.SkillAction("Fortnite", "OnTakeDamage", [h]);
|
||||
|
||||
return HookResult.Continue;
|
||||
|
|
@ -428,13 +331,7 @@ namespace src.player
|
|||
CBaseTrigger trigger = hook.GetParam<CBaseTrigger>(0);
|
||||
CBaseEntity entity = hook.GetParam<CBaseEntity>(1);
|
||||
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "OnTriggerEnter", [trigger, entity]);
|
||||
DispatchToActiveSkills("OnTriggerEnter", trigger, entity);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -446,13 +343,7 @@ namespace src.player
|
|||
CBaseTrigger trigger = hook.GetParam<CBaseTrigger>(0);
|
||||
CBaseEntity entity = hook.GetParam<CBaseEntity>(1);
|
||||
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "OnTriggerExit", [trigger, entity]);
|
||||
DispatchToActiveSkills("OnTriggerExit", trigger, entity);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -539,9 +430,9 @@ namespace src.player
|
|||
|
||||
foreach (var skill in activeSkills)
|
||||
if (SkillsInfo.GetValue<bool>(skill, "disableOnFreezeTime") && SkillUtils.IsFreezeTime())
|
||||
continue;
|
||||
else
|
||||
Instance.SkillAction(skill.ToString(), "OnTick");
|
||||
continue;
|
||||
else
|
||||
Instance.SkillAction(skill.ToString(), "OnTick");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -555,6 +446,13 @@ namespace src.player
|
|||
if (player.IsBot && !Config.LoadedConfig.EnableBotSkills)
|
||||
return;
|
||||
|
||||
var existing = Instance.SkillPlayer.FirstOrDefault(p => p.PlayerIndex == player.Index);
|
||||
if (existing != null)
|
||||
{
|
||||
PlayerManager.Register(existing);
|
||||
return;
|
||||
}
|
||||
|
||||
var playerInfo = new jSkill_PlayerInfo
|
||||
{
|
||||
IsBot = player.IsBot,
|
||||
|
|
@ -617,11 +515,11 @@ namespace src.player
|
|||
{
|
||||
var userID = @event.Userid;
|
||||
if (userID == 0 || string.IsNullOrEmpty(@event.Text)) return HookResult.Continue;
|
||||
|
||||
|
||||
string text = @event.Text.Split(' ')[0].Trim();
|
||||
|
||||
string commandName = text.StartsWith('!') || text.StartsWith('/') ? text[1..] : text;
|
||||
|
||||
|
||||
var player = Utilities.GetPlayerFromUserid(userID);
|
||||
if (player == null || !player.IsValid) return HookResult.Continue;
|
||||
|
||||
|
|
@ -630,7 +528,7 @@ namespace src.player
|
|||
|
||||
var temp = skillPlayer.SkillHudExpired;
|
||||
skillPlayer.SkillHudExpired = DateTime.MinValue;
|
||||
;
|
||||
;
|
||||
Instance.AddTimer(5f, () =>
|
||||
{
|
||||
if (skillPlayer.SkillHudExpired == DateTime.MinValue)
|
||||
|
|
@ -709,7 +607,6 @@ namespace src.player
|
|||
if (playerInfo == null) continue;
|
||||
|
||||
Instance.SkillAction(playerInfo.Skill.ToString(), "DisableSkill", [player]);
|
||||
Instance.SkillAction(playerInfo.Skill.ToString(), "NewRound");
|
||||
|
||||
playerInfo.Skill = noneSkill.Skill;
|
||||
playerInfo.SpecialSkill = noneSkill.Skill;
|
||||
|
|
@ -719,6 +616,9 @@ namespace src.player
|
|||
|
||||
RestorePlayer(player);
|
||||
}
|
||||
|
||||
foreach (var skill in SkillData.Skills)
|
||||
Instance.SkillAction(skill.Skill.ToString(), "NewRound");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -743,23 +643,24 @@ namespace src.player
|
|||
lock (setLock)
|
||||
{
|
||||
isTransmitRegistered = false;
|
||||
|
||||
Instance.AddTimer(.1f, () => {
|
||||
DisableAll();
|
||||
ConVar.Find("sv_legacy_jump")?.SetValue("1");
|
||||
|
||||
}, CounterStrikeSharp.API.Modules.Timers.TimerFlags.STOP_ON_MAPCHANGE);
|
||||
|
||||
Instance.RemoveListener<CheckTransmit>(CheckTransmit);
|
||||
|
||||
|
||||
Fortnite.skillInThisRound = false;
|
||||
EntityManager.DestroyAllTracked();
|
||||
foreach (var skill in SkillData.Skills)
|
||||
Instance.SkillAction(skill.Skill.ToString(), "NewRound");
|
||||
|
||||
playersSkills.Clear();
|
||||
staticSkills.Clear();
|
||||
|
||||
|
||||
ctSkill = noneSkill;
|
||||
tSkill = noneSkill;
|
||||
allSkill = noneSkill;
|
||||
|
||||
|
||||
Instance.SkillPlayer.Clear();
|
||||
PlayerManager.Clear();
|
||||
|
||||
ConVar.Find("sv_legacy_jump")?.SetValue("1");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -813,13 +714,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "PlayerDeath", [@event]);
|
||||
DispatchToActiveSkills("PlayerDeath", @event);
|
||||
|
||||
var victim = PlayerManager.GetPlayerEvent(@event.Userid);
|
||||
var attacker = PlayerManager.GetPlayerEvent(@event.Attacker);
|
||||
|
|
@ -840,7 +735,7 @@ namespace src.player
|
|||
if (skillData == null || specialSkillData == null) return HookResult.Continue;
|
||||
string skillDesc = victim.GetSkillDescription(skillData.Skill);
|
||||
|
||||
SkillUtils.PrintToChat(victim,
|
||||
SkillUtils.PrintToChat(victim,
|
||||
$"{ChatColors.DarkRed}{(attackerInfo.SpecialSkill == Skills.None ? victim.GetSkillName(skillData.Skill) : $"{victim.GetSkillName(specialSkillData.Skill)} -> {victim.GetSkillName(skillData.Skill)}")}{ChatColors.Lime} - {skillDesc}",
|
||||
title: $"{victim.GetTranslation("enemy_skill")} {ChatColors.DarkRed}\u202A{attacker.PlayerName}\u202C{ChatColors.Lime}");
|
||||
}
|
||||
|
|
@ -858,11 +753,13 @@ namespace src.player
|
|||
string? button = Config.LoadedConfig.AlternativeSkillButton;
|
||||
if (string.IsNullOrEmpty(button) || button.Length < 2) return;
|
||||
|
||||
string buttonName = $"{char.ToUpper(button[0])}{button[1..].ToLower()}";
|
||||
string buttonName = $"{char.ToUpperInvariant(button[0])}{button[1..].ToLowerInvariant()}";
|
||||
if (!Enum.TryParse<PlayerButtons>(buttonName, out var skillButton)) return;
|
||||
|
||||
if ((pressed & skillButton) == 0) return;
|
||||
|
||||
if (SkillUtils.HasMenu(player)) return;
|
||||
|
||||
var playerInfo = PlayerManager.GetPlayerByIndex(player!.Index);
|
||||
if (playerInfo == null || playerInfo.IsDrawing) return;
|
||||
|
||||
|
|
@ -903,13 +800,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "OnEntitySpawned", [entity]);
|
||||
DispatchToActiveSkills("OnEntitySpawned", entity);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -917,13 +808,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "BulletImpact", [@event]);
|
||||
DispatchToActiveSkills("BulletImpact", @event);
|
||||
return HookResult.Continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -1059,7 +944,7 @@ namespace src.player
|
|||
|
||||
Instance?.AddTimer(.2f, () =>
|
||||
{
|
||||
if(player == null || !player.IsValid) return;
|
||||
if (player == null || !player.IsValid) return;
|
||||
|
||||
if (randomSkill.Display)
|
||||
SkillUtils.PrintToChat(player, $"{ChatColors.DarkRed}{player.GetSkillName(randomSkill.Skill)}{ChatColors.Lime}: {player.GetSkillDescription(randomSkill.Skill)}",
|
||||
|
|
@ -1084,7 +969,7 @@ namespace src.player
|
|||
|
||||
float descriptionHudExpired = Config.LoadedConfig.SkillDescriptionDuration;
|
||||
skillPlayer.SkillDescriptionHudExpired = descriptionHudExpired == -1 ? DateTime.MaxValue : DateTime.Now.AddSeconds(descriptionHudExpired);
|
||||
|
||||
|
||||
if (Config.LoadedConfig.TeamMateSkillChatInfo)
|
||||
{
|
||||
Instance?.AddTimer(.6f, () =>
|
||||
|
|
@ -1200,6 +1085,7 @@ namespace src.player
|
|||
}
|
||||
}
|
||||
|
||||
Instance?.SkillAction(skillPlayer.Skill.ToString(), "DisableSkill", [player]);
|
||||
skillPlayer.Skill = randomSkill.Skill;
|
||||
skillPlayer.SpecialSkill = Skills.None;
|
||||
|
||||
|
|
@ -1231,13 +1117,7 @@ namespace src.player
|
|||
{
|
||||
lock (setLock)
|
||||
{
|
||||
var activeSkills = Instance.SkillPlayer
|
||||
.Where(p => !p.IsDrawing)
|
||||
.Select(p => p.Skill.ToString())
|
||||
.Distinct();
|
||||
|
||||
foreach (string skillName in activeSkills)
|
||||
Instance.SkillAction(skillName, "CheckTransmit", [infoList]);
|
||||
DispatchToActiveSkills("CheckTransmit", infoList);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1285,4 +1165,4 @@ namespace src.player
|
|||
|
||||
public static DateTime GetFreezeTimeEnd() => freezeTimeEnd;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -63,6 +63,10 @@ namespace src.player.skills
|
|||
playerInfo.SkillUsed = true;
|
||||
|
||||
playersToTarget[player.Index] = targetSite.Index;
|
||||
|
||||
string siteLetter = site == 0 ? "A" : "B";
|
||||
foreach (var ct in Utilities.GetPlayers().Where(p => p != null && p.IsValid && !p.IsHLTV && p.Team == CsTeam.CounterTerrorist))
|
||||
ct.PrintToChat($" {ChatColors.Green}" + ct.GetTranslation("areareaper_teammates_info", siteLetter));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -133,7 +133,11 @@ namespace src.player.skills
|
|||
{
|
||||
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||
if (target != null && target.IsValid)
|
||||
{
|
||||
SetUpPostProcessing(target, true);
|
||||
if (target.PawnIsAlive && !SkillUtils.IsFreezeTime())
|
||||
target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("darkness_disable_info"));
|
||||
}
|
||||
playersInDark.TryRemove(targetIndex, out _);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -123,6 +123,7 @@ namespace src.player.skills
|
|||
public static void DisableSkill(CCSPlayerController player)
|
||||
{
|
||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||
{
|
||||
deafPlayers.TryRemove(targetIndex, out _);
|
||||
|
||||
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||
|
|
|
|||
|
|
@ -130,7 +130,11 @@ namespace src.player.skills
|
|||
{
|
||||
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||
if (target != null && target.IsValid)
|
||||
{
|
||||
target.ReplicateConVar("sv_disable_radar", "0");
|
||||
if (target.PawnIsAlive && !SkillUtils.IsFreezeTime())
|
||||
target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("glitch_disable_info"));
|
||||
}
|
||||
glitchedPlayers.TryRemove(targetIndex, out _);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -131,6 +131,7 @@ namespace src.player.skills
|
|||
return;
|
||||
|
||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||
{
|
||||
bannedPlayers.TryRemove(targetIndex, out _);
|
||||
|
||||
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||
|
|
|
|||
|
|
@ -134,11 +134,16 @@ namespace src.player.skills
|
|||
{
|
||||
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||
if (target != null && target.IsValid)
|
||||
{
|
||||
if (playersFOV.TryGetValue(targetIndex, out uint fov))
|
||||
{
|
||||
target.DesiredFOV = fov;
|
||||
Utilities.SetStateChanged(target, "CBasePlayerController", "m_iDesiredFOV");
|
||||
}
|
||||
|
||||
if (target.PawnIsAlive && !SkillUtils.IsFreezeTime())
|
||||
target.PrintToChat($" {ChatColors.Green}" + target.GetTranslation("magnifier_disable_info"));
|
||||
}
|
||||
playersFOV.TryRemove(targetIndex, out _);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -184,8 +184,6 @@ namespace src.player.skills
|
|||
if (player.PlayerPawn?.Value?.Health <= 0)
|
||||
return;
|
||||
|
||||
Server.PrintToChatAll($"Update ninja for {player.PlayerName}");
|
||||
|
||||
var playerEvent = PlayerManager.GetPlayerEvent(player);
|
||||
if (playerEvent == null || !playerEvent.IsValid) return;
|
||||
|
||||
|
|
|
|||
|
|
@ -130,6 +130,7 @@ namespace src.player.skills
|
|||
public static void DisableSkill(CCSPlayerController player)
|
||||
{
|
||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||
{
|
||||
poisonedPlayers.TryRemove(targetIndex, out _);
|
||||
|
||||
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||
|
|
|
|||
|
|
@ -132,6 +132,7 @@ namespace src.player.skills
|
|||
public static void DisableSkill(CCSPlayerController player)
|
||||
{
|
||||
if (playersToTarget.TryRemove(player.Index, out uint targetIndex))
|
||||
{
|
||||
bannedPlayers.TryRemove(targetIndex, out _);
|
||||
|
||||
var target = PlayerManager.GetPlayerFromEvent(Utilities.GetPlayerFromIndex((int)targetIndex));
|
||||
|
|
|
|||
|
|
@ -112,7 +112,10 @@ namespace src.player.skills
|
|||
playersInAction.TryRemove(player.Index, out _);
|
||||
|
||||
if (playersInAction.IsEmpty)
|
||||
{
|
||||
NewRound();
|
||||
return;
|
||||
}
|
||||
|
||||
SkillUtils.ForceFullUpdateToAll();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue