Add ThirdEye door toggle and decoy ring config
This commit is contained in:
parent
38a7cb8c5c
commit
5c65f4ac71
8 changed files with 47 additions and 4 deletions
|
|
@ -10,6 +10,8 @@ using RayTraceAPI;
|
||||||
using src.player.skills;
|
using src.player.skills;
|
||||||
using src.utils;
|
using src.utils;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
|
using System.ComponentModel.Design;
|
||||||
|
using System.Security.Principal;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using static CounterStrikeSharp.API.Core.Listeners;
|
using static CounterStrikeSharp.API.Core.Listeners;
|
||||||
using static src.jRandomSkills;
|
using static src.jRandomSkills;
|
||||||
|
|
@ -738,7 +740,15 @@ namespace src.player
|
||||||
if (entity == null || !entity.IsValid) return;
|
if (entity == null || !entity.IsValid) return;
|
||||||
|
|
||||||
string designer = entity.DesignerName;
|
string designer = entity.DesignerName;
|
||||||
if (designer.Contains("door") || designer.Contains("button") || designer.Contains("weapon") || designer.Contains("blocker")) return;
|
|
||||||
|
if (designer.Contains("door"))
|
||||||
|
{
|
||||||
|
if (playerInfo.Skill == Skills.ThirdEye && !ThirdEye.IsOrginalCamera(player))
|
||||||
|
SkillUtils.ToogleDoor(entity, pawn);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (designer.Contains("button") || designer.Contains("weapon") || designer.Contains("blocker")) return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
using CounterStrikeSharp.API;
|
using CounterStrikeSharp.API;
|
||||||
using CounterStrikeSharp.API.Core;
|
using CounterStrikeSharp.API.Core;
|
||||||
|
using CounterStrikeSharp.API.Modules.Entities;
|
||||||
using CounterStrikeSharp.API.Modules.Utils;
|
using CounterStrikeSharp.API.Modules.Utils;
|
||||||
using System.Drawing;
|
|
||||||
using System.Collections.Concurrent;
|
|
||||||
using src.utils;
|
using src.utils;
|
||||||
|
using System.Collections.Concurrent;
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
namespace src.player.skills
|
namespace src.player.skills
|
||||||
{
|
{
|
||||||
|
|
@ -44,6 +45,19 @@ namespace src.player.skills
|
||||||
cameras.TryRemove(player.Index, out _);
|
cameras.TryRemove(player.Index, out _);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool IsOrginalCamera(CCSPlayerController player)
|
||||||
|
{
|
||||||
|
if (player == null || !player.IsValid) return true;
|
||||||
|
|
||||||
|
var pawn = player.PlayerPawn?.Value;
|
||||||
|
if (pawn == null || !pawn.IsValid) return true;
|
||||||
|
|
||||||
|
if (cameras.TryGetValue(player.Index, out var cameraInfo) && cameraInfo.Item1 != 0)
|
||||||
|
return pawn?.CameraServices?.ViewEntity.Raw == cameraInfo.Item1;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public static void OnTick()
|
public static void OnTick()
|
||||||
{
|
{
|
||||||
foreach (var player in PlayerManager.GetTickPlayers())
|
foreach (var player in PlayerManager.GetTickPlayers())
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,7 @@ namespace src.utils
|
||||||
public string DisableHUDOnDeathPermission { get; set; }
|
public string DisableHUDOnDeathPermission { get; set; }
|
||||||
public bool DisableSkillsOnRoundEnd { get; set; }
|
public bool DisableSkillsOnRoundEnd { get; set; }
|
||||||
public int? CurseSkillPerPlayer { get; set; }
|
public int? CurseSkillPerPlayer { get; set; }
|
||||||
|
public bool ShowDecoyRing { get; set; }
|
||||||
public WeaponPools Weapons { get; set; }
|
public WeaponPools Weapons { get; set; }
|
||||||
public LanguageSystem LanguageSystem { get; set; }
|
public LanguageSystem LanguageSystem { get; set; }
|
||||||
public HtmlHudCustomisation HtmlHudCustomisation { get; set; }
|
public HtmlHudCustomisation HtmlHudCustomisation { get; set; }
|
||||||
|
|
@ -139,6 +140,7 @@ namespace src.utils
|
||||||
DisableHUDOnDeathPermission = "@jRandomSkills/death";
|
DisableHUDOnDeathPermission = "@jRandomSkills/death";
|
||||||
DisableSkillsOnRoundEnd = false;
|
DisableSkillsOnRoundEnd = false;
|
||||||
CurseSkillPerPlayer = null;
|
CurseSkillPerPlayer = null;
|
||||||
|
ShowDecoyRing = true;
|
||||||
|
|
||||||
Weapons = new WeaponPools
|
Weapons = new WeaponPools
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ namespace src.utils
|
||||||
|
|
||||||
public static void Show(Skills skill, uint id, Vector center, float radius)
|
public static void Show(Skills skill, uint id, Vector center, float radius)
|
||||||
{
|
{
|
||||||
if (radius <= 0) return;
|
if (radius <= 0 || !Config.LoadedConfig.ShowDecoyRing) return;
|
||||||
|
|
||||||
string key = MakeKey(skill, id);
|
string key = MakeKey(skill, id);
|
||||||
var ring = new Ring();
|
var ring = new Ring();
|
||||||
|
|
|
||||||
|
|
@ -1099,6 +1099,22 @@ namespace src.utils
|
||||||
manager.OpenMainMenu(player, menu);
|
manager.OpenMainMenu(player, menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void ToogleDoor(CBaseEntity entity, CBasePlayerPawn pawn)
|
||||||
|
{
|
||||||
|
if (pawn == null || !pawn.IsValid) return;
|
||||||
|
if (entity == null || !entity.IsValid) return;
|
||||||
|
if (!entity.DesignerName.Contains("door")) return;
|
||||||
|
|
||||||
|
var door = new CPropDoorRotating(entity.Handle);
|
||||||
|
if (door == null || !door.IsValid) return;
|
||||||
|
|
||||||
|
if (door.DoorState == DoorState_t.DOOR_STATE_CLOSED || door.DoorState == DoorState_t.DOOR_STATE_CLOSING)
|
||||||
|
door.AcceptInput("use", pawn, door, "!activator");
|
||||||
|
|
||||||
|
else if (door.DoorState == DoorState_t.DOOR_STATE_OPEN || door.DoorState == DoorState_t.DOOR_STATE_OPENING)
|
||||||
|
door.AcceptInput("close");
|
||||||
|
}
|
||||||
|
|
||||||
public static void SetTeamScores(short ctScore, short tScore, RoundEndReason roundEndReason)
|
public static void SetTeamScores(short ctScore, short tScore, RoundEndReason roundEndReason)
|
||||||
{
|
{
|
||||||
if (jRandomSkills.Instance == null || jRandomSkills.Instance.GameRules == null) return;
|
if (jRandomSkills.Instance == null || jRandomSkills.Instance.GameRules == null) return;
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -22,6 +22,7 @@
|
||||||
"DisableHUDOnDeathPermission": "@jRandomSkills/death",
|
"DisableHUDOnDeathPermission": "@jRandomSkills/death",
|
||||||
"DisableSkillsOnRoundEnd": false,
|
"DisableSkillsOnRoundEnd": false,
|
||||||
"CurseSkillPerPlayer": null,
|
"CurseSkillPerPlayer": null,
|
||||||
|
"ShowDecoyRing": true,
|
||||||
"Weapons": {
|
"Weapons": {
|
||||||
"Rifle": [
|
"Rifle": [
|
||||||
"weapon_ak47",
|
"weapon_ak47",
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue