diff --git a/src/balancing/ArenaSimulation.cpp b/src/balancing/ArenaSimulation.cpp index ae1678c..91e50f8 100644 --- a/src/balancing/ArenaSimulation.cpp +++ b/src/balancing/ArenaSimulation.cpp @@ -433,10 +433,13 @@ void ArenaSimulation::tickDeaths() }); m_admin.forEach( - [&team1HasUnits, &team2HasUnits](entt::entity /*e*/, + [this, &team1HasUnits, &team2HasUnits](entt::entity e, const StationBodyComponent& /*sb*/, const FactionComponent& f) { + // The HQ carries a StationBodyComponent but is not a defence station; + // its destruction is a separate end condition (REQ-BAL-SIM-END). + if (m_admin.hasAll(e)) { return; } if (f.isEnemy) { team2HasUnits = true; } else { team1HasUnits = true; } });