var listOfPlayerInfo = new List<RoundEndMessageEvent.RoundEndPlayerInfo>();
// Grab the great big book of all the Minds, we'll need them for this.
var allMinds = EntityQueryEnumerator<MindComponent>();
+ var pvsOverride = _configurationManager.GetCVar(CCVars.RoundEndPVSOverrides);
while (allMinds.MoveNext(out var mindId, out var mind))
{
// TODO don't list redundant observer roles?
else if (mind.CurrentEntity != null && TryName(mind.CurrentEntity.Value, out var icName))
playerIcName = icName;
- if (TryGetEntity(mind.OriginalOwnedEntity, out var entity))
+ if (TryGetEntity(mind.OriginalOwnedEntity, out var entity) && pvsOverride)
{
_pvsOverride.AddGlobalOverride(GetNetEntity(entity.Value), recursive: true);
}
public static readonly CVarDef<string> RoundEndSoundCollection =
CVarDef.Create("game.round_end_sound_collection", "RoundEnd", CVar.SERVERONLY);
+ /// <summary>
+ /// Whether or not to add every player as a global override to PVS at round end.
+ /// This will allow all players to see their clothing in the round screen player list screen,
+ /// but may cause lag during round end with very high player counts.
+ /// </summary>
+ public static readonly CVarDef<bool> RoundEndPVSOverrides =
+ CVarDef.Create("game.round_end_pvs_overrides", true, CVar.SERVERONLY);
+
/*
* Discord
*/