forked from jon4dev/ResurrectedEternal
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Filter.cs
88 lines (79 loc) · 3.76 KB
/
Filter.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
using ResurrectedEternal.BaseObjects;
using ResurrectedEternal.ClientObjects;
using RRFull;
using System.Collections.Generic;
using System.Linq;
namespace ResurrectedEternal
{
public static class Filter
{
private static Client Client => Henker.Singleton.Client;
public static List<ChickenEntity> GetChickens()
{
return Client.GetChicks();
}
public static List<ChickenEntity> GetChickens(bool visible = false)
{
return Client.GetChicks().Where(x => x.Visible == visible).ToList();
}
public static IEnumerable<BasePlayer> GetSpectators()
{
return Client.GetPlayers().Where(x => !x.m_bDormant && x.m_iObserverTarget == Client.LocalPlayer.m_iIndex && !x.m_bIsAlive && x.m_iHealth <= 0 && x.m_iObserverMode == ObserverMode.OBS_MODE_IN_EYE);
}
public static IEnumerable<BasePlayer> GetSamePlayerSpectators()
{
return Client.GetPlayers().Where(x => !x.m_bDormant && x.m_iObserverTarget == Client.LocalPlayer.m_iObserverTarget && !x.m_bIsAlive && x.m_iHealth <= 0);
}
public static List<BasePlayer> GetActivePlayers(TargetType targetType, bool visibleFlag)
{
switch (targetType)
{
case TargetType.Enemy:
return Client.GetPlayers().Where(x => x.m_bIsActive && !x.IsFriendly(Client.LocalPlayer.Team) && x.IsVisible == visibleFlag && !x.m_bIsSpectator).ToList();
case TargetType.Friendly:
return Client.GetPlayers().Where(x => x.m_bIsActive && x.IsFriendly(Client.LocalPlayer.Team) && x.IsVisible == visibleFlag && !x.m_bIsSpectator).ToList();
case TargetType.All:
default:
return Client.GetPlayers().Where(x => x.m_bIsActive && x.IsVisible == visibleFlag).ToList();
}
}
//public static List<BasePlayer> GetActivePlayers(TargetType targetType, bool visibleFlag)
//{
// switch (targetType)
// {
// case TargetType.Enemy:
// return Client.GetPlayers().Where(x => x.m_bIsActive && !x.IsFriendly(Client.LocalPlayer.Team) && x.IsVisible == visibleFlag && !x.m_bIsSpectator).ToList();
// case TargetType.Friendly:
// return Client.GetPlayers().Where(x => x.m_bIsActive && x.IsFriendly(Client.LocalPlayer.Team) && x.IsVisible == visibleFlag && !x.m_bIsSpectator).ToList();
// case TargetType.All:
// default:
// return Client.GetPlayers().Where(x => x.m_bIsActive && x.IsVisible == visibleFlag).ToList();
// }
//}
public static List<BasePlayer> GetActivePlayers(TargetType targetType)
{
switch (targetType)
{
case TargetType.Enemy:
return Client.GetPlayers().Where(x => x.m_bIsActive && !x.IsFriendly(Client.LocalPlayer.Team) && !x.m_bIsSpectator).ToList();
case TargetType.Friendly:
return Client.GetPlayers().Where(x => x.m_bIsActive && x.IsFriendly(Client.LocalPlayer.Team) && !x.m_bIsSpectator).ToList();
case TargetType.All:
default:
return GetActivePlayers();
}
}
public static List<BasePlayer> GetPlayersUnmanaged()
{
return Client.GetPlayers();
}
public static List<BasePlayer> GetActivePlayers()
{
return Client.GetPlayers().Where(x => x.m_bIsActive && !x.m_bIsSpectator).ToList();
}
public static BasePlayer[] ClearImmunity(List<BasePlayer> Players)
{
return Players.Where(x => !x.m_bGunGameImmunity).ToArray();
}
}
}