38 lines
949 B
C
38 lines
949 B
C
// A radio order snapshots an inference. It never refreshes the source sighting.
|
|
class ERR_HQTask
|
|
{
|
|
bool ReleaseOnly;
|
|
ref ERR_HQTask ReplacesTask;
|
|
string WatchSourceId;
|
|
int WatchMessageId;
|
|
int WatchRequestId;
|
|
bool Investigation() { return !WatchSourceId.IsEmpty(); }
|
|
int BeliefId;
|
|
int BeliefRevision;
|
|
ERR_HQPursuitRole Role;
|
|
vector Destination;
|
|
float QueuedAt;
|
|
float ExpiresAt;
|
|
float ArrivedAt = -1;
|
|
bool SweepQueued;
|
|
int ApproachBearing = -1;
|
|
string Name()
|
|
{
|
|
if (Investigation()) return "investigate missing patrol";
|
|
if (Role == ERR_HQPursuitRole.INTERCEPT) return "intercept";
|
|
if (Role == ERR_HQPursuitRole.CONTAIN) return "contain";
|
|
return "search";
|
|
}
|
|
}
|
|
|
|
// Finite per-track pacing, separate from belief confidence and report freshness.
|
|
class ERR_HQHuntWindow
|
|
{
|
|
string WatchSourceId;
|
|
int WatchMessageId;
|
|
int WatchRequestId;
|
|
bool Investigation() { return !WatchSourceId.IsEmpty(); }
|
|
int BeliefId;
|
|
float NextHunt;
|
|
}
|