17 lines
634 B
C
17 lines
634 B
C
// One delivered HQ order drives a continuous native loading/firing cycle.
|
|
class ERR_MortarSalvo
|
|
{
|
|
static const int ROUNDS = 8;
|
|
static const float RADIUS_METRES = 40;
|
|
static const float TIMEOUT_MS = 120000;
|
|
|
|
static vector Offset(int site, int order, int shot)
|
|
{
|
|
// Stable throughout one ballistic solve; successive shells cover the disk
|
|
// instead of clustering on the same point or changing every iteration.
|
|
float radius = RADIUS_METRES * Math.Sqrt((shot + 1.0) / ROUNDS);
|
|
float angle = (site * 53 + order * 97 + shot * 137.5) * Math.DEG2RAD;
|
|
return Vector(Math.Sin(angle) * radius, 0, Math.Cos(angle) * radius);
|
|
}
|
|
}
|