Updates & Fixes
# Updates & Fixes - Vote system: Timer now resets after each vote - Automatic copying of gamedata files from source to server (Thanks to vinicius-trev for the help) - Improved power assignment at round start - Observers can now see invisible players. - Added geolocation support for Turkey and Czechia - New power: Illiterate - In development: Smoker skill - Baseball: Decoy now have the same collision as players (PlayerClip) - Noclip: Reworked - Pilot: Currently broken - Replicator: Added crouching animations for replicas - SoundMaker: Reworked (automatically play a sound every 2s (only for you)) - Wallhack: Glow disabled for dead players # TODO - Add/update descriptions for new/reworked skills - Fix Pilot, SniperElite
This commit is contained in:
parent
f76093ef6e
commit
09803748bc
28 changed files with 691 additions and 295 deletions
|
|
@ -112,24 +112,26 @@ namespace src.player.skills
|
|||
private static void SetUpPostProcessing(CCSPlayerController player, bool turnOff = false)
|
||||
{
|
||||
if (player == null || !player.IsValid) return;
|
||||
ulong playerSteamID = player.SteamID;
|
||||
|
||||
ulong? playerSteamID = player?.SteamID;
|
||||
if (playerSteamID == null) return;
|
||||
|
||||
lock (setLock)
|
||||
{
|
||||
if (!turnOff)
|
||||
{
|
||||
playersInDark.TryAdd(playerSteamID, 0);
|
||||
playersInDark.TryAdd((ulong)playerSteamID, 0);
|
||||
ApplyColor(player);
|
||||
|
||||
Timer? darkTimer = null;
|
||||
darkTimer = Instance.AddTimer(5f, () => {
|
||||
if (!playersInDark.ContainsKey(playerSteamID))
|
||||
if (!playersInDark.ContainsKey((ulong)playerSteamID))
|
||||
{
|
||||
darkTimer?.Kill();
|
||||
return;
|
||||
}
|
||||
|
||||
var target = Utilities.GetPlayerFromSteamId(playerSteamID);
|
||||
var target = Utilities.GetPlayers().FirstOrDefault(p => p.IsValid && p.SteamID == playerSteamID);
|
||||
if (target == null || !target.IsValid)
|
||||
{
|
||||
darkTimer?.Kill();
|
||||
|
|
@ -137,18 +139,18 @@ namespace src.player.skills
|
|||
}
|
||||
|
||||
if (target.PawnIsAlive)
|
||||
ApplyColor(player);
|
||||
ApplyColor(target);
|
||||
}, TimerFlags.STOP_ON_MAPCHANGE | TimerFlags.REPEAT);
|
||||
}
|
||||
else
|
||||
{
|
||||
SkillUtils.ApplyScreenColor(player, r: 0, g: 0, b: 0, a: 0, duration: 200, holdTime: 0);
|
||||
playersInDark.TryRemove(player.SteamID, out _);
|
||||
playersInDark.TryRemove((ulong)playerSteamID, out _);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void ApplyColor(CCSPlayerController player)
|
||||
private static void ApplyColor(CCSPlayerController? player)
|
||||
{
|
||||
SkillUtils.ApplyScreenColor(player,
|
||||
r: SkillsInfo.GetValue<int>(skillName, "R"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue