From 6c136cb7e121089f14ab518e2d8831954a24f3fe Mon Sep 17 00:00:00 2001
From: terencehill <piuntn@gmail.com>
Date: Sat, 9 Mar 2019 19:57:26 +0100
Subject: [PATCH] Restore initial _entcs_send calls with MSG_ONE as they are
 needed, but call them a bit later to hopefully avoid the old bug with bots
 permanently in the spectators list; it should fix #2205 and similar bugs

---
 qcsrc/common/ent_cs.qc | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/qcsrc/common/ent_cs.qc b/qcsrc/common/ent_cs.qc
index 070197d7d..1c3a15a9b 100644
--- a/qcsrc/common/ent_cs.qc
+++ b/qcsrc/common/ent_cs.qc
@@ -196,6 +196,16 @@ ENTCS_PROP(FRAGS, true, frags, ENTCS_SET_NORMAL,
 	{
 		this.nextthink = time + 0.033333333333;  // TODO: increase this to like 0.15 once the client can do smoothing
 		entity player = this.owner;
+		if (!this.realowner)
+		{
+			this.realowner = player;
+			if (IS_REAL_CLIENT(player))
+				FOREACH_CLIENT(true, {
+					assert(CS(it).entcs);
+					_entcs_send(CS(it).entcs, msg_entity = player, BITS(23), MSG_ONE);
+				});
+			return;
+		}
 		FOREACH(EntCSProps, it.m_check(this, player),
 		{
 			this.SendFlags |= BIT(it.m_id);
@@ -208,7 +218,7 @@ ENTCS_PROP(FRAGS, true, frags, ENTCS_SET_NORMAL,
 		entity e = CS(player).entcs = new(entcs_sender);
 		e.owner = player;
 		setthink(e, entcs_think);
-		e.nextthink = time;
+		e.nextthink = time + 0.033333333333;
 		Net_LinkEntity(e, false, 0, entcs_send);
 	}
 
-- 
2.39.5