Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
cctobject.c
Go to the documentation of this file.
1
class
CCTObject
:
CCTBase
2
{
3
protected
float
m_MaximalActionDistanceSq
;
4
5
void
CCTObject
(
float
maximal_target_distance =
UAMaxDistances
.
DEFAULT
)
6
{
7
m_MaximalActionDistanceSq
= maximal_target_distance * maximal_target_distance;
8
}
9
10
override
bool
Can
(
PlayerBase
player,
ActionTarget
target )
11
{
12
Object
targetObject = target.GetObject();
13
if
( !targetObject || !player )
14
return
false
;
15
16
vector
playerHeadPos;
17
MiscGameplayFunctions.GetHeadBonePos(player, playerHeadPos);
18
19
float
distanceRoot =
vector
.
DistanceSq
(targetObject.GetPosition(), player.GetPosition());
20
float
distanceHead =
vector
.
DistanceSq
(targetObject.GetPosition(), playerHeadPos);
21
22
return
( distanceRoot <=
m_MaximalActionDistanceSq
|| distanceHead <=
m_MaximalActionDistanceSq
);
23
}
24
};
25
26
class
CCTParent
:
CCTBase
27
{
28
protected
float
m_MaximalActionDistanceSq
;
29
30
void
CCTParent
(
float
maximal_target_distance =
UAMaxDistances
.
DEFAULT
)
31
{
32
m_MaximalActionDistanceSq
= maximal_target_distance * maximal_target_distance;
33
}
34
35
override
bool
Can
(
PlayerBase
player,
ActionTarget
target )
36
{
37
Object
targetParent = target.GetParent();
38
if
( !targetParent || !player )
39
return
false
;
40
41
vector
playerHeadPos;
42
MiscGameplayFunctions.GetHeadBonePos(player, playerHeadPos);
43
44
float
distanceRoot =
vector
.
DistanceSq
(targetParent.GetPosition(), player.GetPosition());
45
float
distanceHead =
vector
.
DistanceSq
(targetParent.GetPosition(), playerHeadPos);
46
47
return
( distanceRoot <=
m_MaximalActionDistanceSq
|| distanceHead <=
m_MaximalActionDistanceSq
);
48
}
49
};
ActionTarget
class ActionTargets ActionTarget
CCTBase
Definition
cctbase.c:2
CCTObject::Can
override bool Can(PlayerBase player, ActionTarget target)
Definition
cctobject.c:10
CCTObject::m_MaximalActionDistanceSq
float m_MaximalActionDistanceSq
Definition
cctobject.c:3
CCTObject::CCTObject
void CCTObject(float maximal_target_distance=UAMaxDistances.DEFAULT)
Definition
cctobject.c:5
CCTParent::CCTParent
void CCTParent(float maximal_target_distance=UAMaxDistances.DEFAULT)
Definition
cctobject.c:30
CCTParent::Can
override bool Can(PlayerBase player, ActionTarget target)
Definition
cctobject.c:35
CCTParent::m_MaximalActionDistanceSq
float m_MaximalActionDistanceSq
Definition
cctobject.c:28
Object
Definition
objecttyped.c:2
PlayerBase
Definition
playerbaseclient.c:2
UAMaxDistances
Definition
actionconstants.c:110
UAMaxDistances::DEFAULT
const float DEFAULT
Definition
actionconstants.c:112
vector
Definition
enconvert.c:119
vector::DistanceSq
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.
Games
Dayz
scripts
4_world
classes
useractionscomponent
targetconditionscomponents
cctobject.c
Generated by
1.17.0