diff --git a/src/game/chars/CChar.cpp b/src/game/chars/CChar.cpp index c712e956e..ea7ed578c 100644 --- a/src/game/chars/CChar.cpp +++ b/src/game/chars/CChar.cpp @@ -907,6 +907,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 6f2c5eec0..191817f1c 100644 --- a/src/game/chars/CChar.h +++ b/src/game/chars/CChar.h @@ -383,8 +383,9 @@ public: void StatFlag_Mod(uint64 uiStatFlag, bool fMod) noexcept; CRegion * GetRoom() const; 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 adfafa2e8..fd527e3bc 100644 --- a/src/game/clients/CClientMsg.cpp +++ b/src/game/clients/CClientMsg.cpp @@ -1470,6 +1470,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();