DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
CCTCursorParent.c
Go to the documentation of this file.
2{
3 protected float m_MaximalActionDistanceSq;
4
5 //approximate head heights
6 const float HEIGHT_ERECT = 1.6;
7 const float HEIGHT_CROUCH = 1.05;
8 const float HEIGHT_PRONE = 0.66;
9
10 void CCTCursorParent( float maximal_target_distance = UAMaxDistances.DEFAULT )
11 {
12 m_MaximalActionDistanceSq = maximal_target_distance * maximal_target_distance;
13 }
14
15 override bool Can( PlayerBase player, ActionTarget target )
16 {
17 if( !target )
18 return false;
19
20 Object parentObject = target.GetParent();
21 if ( !player || !parentObject || parentObject.IsDamageDestroyed() )
22 return false;
23
24 vector playerHeadPos;
25 MiscGameplayFunctions.GetHeadBonePos(player, playerHeadPos);
26
27 float distanceRoot = vector.DistanceSq(target.GetCursorHitPos(), player.GetPosition());
28 float distanceHead = vector.DistanceSq(target.GetCursorHitPos(), playerHeadPos);
29
30 return ( distanceRoot <= m_MaximalActionDistanceSq || distanceHead <= m_MaximalActionDistanceSq );
31 }
32};
class ActionTargets ActionTarget
const float HEIGHT_CROUCH
protected float m_MaximalActionDistanceSq
const float HEIGHT_ERECT
void CCTCursorParent(float maximal_target_distance=UAMaxDistances.DEFAULT)
override bool Can(PlayerBase player, ActionTarget target)
const float HEIGHT_PRONE
const float DEFAULT
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.