diff --git a/src/game/chars/CChar.cpp b/src/game/chars/CChar.cpp index 412f89309..23fb559ba 100644 --- a/src/game/chars/CChar.cpp +++ b/src/game/chars/CChar.cpp @@ -902,6 +902,11 @@ void CChar::SetVisualRange(byte newSight) } } +void CChar::ResetVisualRange() +{ + m_iVisualRange = g_Cfg.m_iMapViewSize; +} + // Clean up weird flags. // fix Weirdness. // NOTE: diff --git a/src/game/chars/CChar.h b/src/game/chars/CChar.h index f2417e2f8..eba4ebb03 100644 --- a/src/game/chars/CChar.h +++ b/src/game/chars/CChar.h @@ -385,8 +385,9 @@ public: void StatFlag_Mod(uint64 uiStatFlag, bool fMod) noexcept; [[nodiscard]] virtual int GetVisualRange() const override; void SetVisualRange(byte newSight); + void ResetVisualRange(); - virtual bool IsResourceMatch( const CResourceID& rid, dword dwArg ) const override; + virtual bool IsResourceMatch( const CResourceID& rid, dword dwArg ) const override; bool IsResourceMatch( const CResourceID& rid, dword dwArg, dword dwArgResearch ) const; bool IsSpeakAsGhost() const; diff --git a/src/game/clients/CClientMsg.cpp b/src/game/clients/CClientMsg.cpp index 80e81ad30..2fa3dd67a 100644 --- a/src/game/clients/CClientMsg.cpp +++ b/src/game/clients/CClientMsg.cpp @@ -1497,6 +1497,7 @@ void CClient::addPlayerStart( CChar * pChar ) */ new PacketPlayerStart(this); + pChar->ResetVisualRange(); addMapDiff(); m_pChar->MoveToChar(pt, true, false, false, false); // make sure we are in active list m_pChar->Update();