DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
CCTCursor.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 CCTCursor( 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 targetObject = target.GetObject();
21 if ( !targetObject )
22 targetObject = target.GetParent();
23
24 if ( !player || !targetObject || targetObject.IsDamageDestroyed() )
25 return false;
26
27 vector playerHeadPos;
28 MiscGameplayFunctions.GetHeadBonePos(player, playerHeadPos);
29
30 float distanceRoot = vector.DistanceSq(target.GetCursorHitPos(), player.GetPosition());
31 float distanceHead = vector.DistanceSq(target.GetCursorHitPos(), playerHeadPos);
32
33 return ( distanceRoot <= m_MaximalActionDistanceSq || distanceHead <= m_MaximalActionDistanceSq );
34 }
35};
class ActionTargets ActionTarget
const float HEIGHT_CROUCH
Definition CCTCursor.c:7
protected float m_MaximalActionDistanceSq
Definition CCTCursor.c:3
const float HEIGHT_ERECT
Definition CCTCursor.c:6
override bool Can(PlayerBase player, ActionTarget target)
Definition CCTCursor.c:15
const float HEIGHT_PRONE
Definition CCTCursor.c:8
void CCTCursor(float maximal_target_distance=UAMaxDistances.DEFAULT)
Definition CCTCursor.c:10
const float DEFAULT
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.