X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fstate.qc;h=891461c6a4dd24f92886c1c89522af11e67f2093;hb=2b57a4f1f092a17b223223019ad31cb980f4212e;hp=e73bfa24fd481eacec76cc216f84f3693c9a25e7;hpb=4d9a40898926a8da83b788f9a862f35cdd4c8905;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/state.qc b/qcsrc/common/state.qc index e73bfa24f..891461c6a 100644 --- a/qcsrc/common/state.qc +++ b/qcsrc/common/state.qc @@ -16,12 +16,12 @@ void PlayerState_detach(entity this) if (!ps) return; // initial connect PS(this) = NULL; + if (ps.m_client != this) return; // don't own state, spectator ps.m_switchweapon = WEP_Null; ps.m_weapon = WEP_Null; ps.m_switchingweapon = WEP_Null; ps.ps_push(ps, this); - - if (ps.m_client != this) return; // don't own state, spectator + FOREACH_CLIENT(PS(it) == ps, { PS(it) = NULL; }); delete(ps); @@ -45,13 +45,12 @@ void ClientState_attach(entity this) GetCvars(this, 0); // get other cvars from player - if (IS_REAL_CLIENT(this)) { PlayerStats_PlayerBasic_CheckUpdate(this); } - // TODO: fold all of these into ClientState DecodeLevelParms(this); PlayerScore_Attach(this); + PlayerStats_PlayerBasic_CheckUpdate(this); ClientData_Attach(this); accuracy_init(this); entcs_attach(this);