Integrate owned Intel rerolls, discovery feedback and fair HQ reports

This commit is contained in:
2026-09-19 23:00:02 +02:00
parent 6cf989a060
commit 27989b85a3
46 changed files with 5756 additions and 15 deletions
@@ -5,6 +5,20 @@ class ERR_DiscoveryService
protected ERR_GameMode m_Mode;
protected ref set<IEntity> m_Spent = new set<IEntity>();
void ERR_DiscoveryService(ERR_GameMode mode) { m_Mode = mode; }
// Shared ledger for recovered and administratively retired documents.
bool IsSpent(IEntity folder) { return folder && m_Spent.Contains(folder); }
bool CanMarkSpent(IEntity folder)
{
return Replication.IsServer() && folder && (m_Spent.Contains(folder) || m_Spent.Count() < 4096);
}
bool MarkSpent(IEntity folder)
{
if (!Replication.IsServer() || !folder) return false;
if (m_Spent.Contains(folder)) return true;
if (m_Spent.Count() >= 4096) return false;
m_Spent.Insert(folder);
return true;
}
static void Folders(InventoryStorageManagerComponent inventory, out array<IEntity> folders)
{
folders.Clear();
@@ -54,6 +54,7 @@ class ERR_GameMode : SCR_BaseGameMode
ERR_PlayerRoster Players() { return m_Roster; }
ERR_AdminService Admin() { return m_Admin; }
ERR_Settings Settings() { return m_Settings; }
ERR_DiscoveryService Discovery() { return m_Discovery; }
ERR_TimeService Time() { return m_Time; }
ERR_EnvironmentService Environment() { return m_Environment; }
ERR_RadioDefenceService RadioDefence() { return m_RadioDefence; }