74 return NodeError(
this, owner,
"No suppression volume provided!");
77 IEntity m_CharacterEntity = owner.GetControlledEntity();
78 if (!m_CharacterEntity)
81 vector startPos, prevStartPos, prevEndPos, prevDir;
89 prevDir =
vector.Direction(prevStartPos, prevEndPos).Normalized();
94 startPos = prevStartPos + (prevEndPos - prevStartPos) * progress;
97 startPos = prevStartPos;
101 if (startPos ==
vector.Zero ||
Math.RandomFloat01() > 0.85)
111 float degsToTurn =
vector.Distance(startPos, endPos) / distancePerDeg;
112 float suppressionTime = degsToTurn * (0.3 +
Math.RandomFloatInclusive(0, 1.1));
113 float aimTime =
Math.Max(0.02,
Math.RandomGaussFloat(0.236, 0.2));
116 m_aDbgShapes.Clear();
ENodeResult NodeError(Node node, AIAgent owner, string msg)
Error call to be used in scripted BT nodes.