8 static const float CLOSE_RANGE_COMBAT_DIST = 40.0;
9 static const float VERY_LONG_RANGE_COMBAT_DIST = 250;
12 static const float CHARACTER_SPEED_STAND_SPRINT = 5.5;
13 static const float CHARACTER_SPEED_STAND_RUN = 3.6;
14 static const float CHARACTER_SPEED_CROUCH_SPRINT = 4;
15 static const float CHARACTER_SPEED_CROUCH_RUN = 2.6;
16 static const float CHARACTER_SPEED_PRONE_SPRINT = 1.1;
17 static const float CHARACTER_SPEED_PRONE_RUN = 0.9;
20 static const float GROUND_VEHICLE_GENERIC_SPEED = 10.0;
24 static vector CalculateMoveDirection(SCR_EAICombatMoveDirection eDirection,
vector myPos,
vector movePos)
27 if (eDirection == SCR_EAICombatMoveDirection.ANYWHERE)
30 float bearing =
Math.RandomFloat(0,
Math.PI2);
34 else if (eDirection == SCR_EAICombatMoveDirection.CUSTOM_POS)
37 dirToTarget.Normalize();
44 dirToTarget.Normalize();
49 case SCR_EAICombatMoveDirection.FORWARD:
return dirToTarget;
50 case SCR_EAICombatMoveDirection.BACKWARD:
return -dirToTarget;
51 case SCR_EAICombatMoveDirection.RIGHT:
return -dirSideways;
52 case SCR_EAICombatMoveDirection.LEFT:
return dirSideways;
60 switch (rq.m_eUnitType)
62 case SCR_EAICombatMoveUnitType.CHARACTER:
return CHARACTER_SPEED_STAND_SPRINT;
63 case SCR_EAICombatMoveUnitType.GROUND_VEHICLE:
return GROUND_VEHICLE_GENERIC_SPEED;
65 return GROUND_VEHICLE_GENERIC_SPEED;