Refactor CanPlayerHearPlayer (#192)

This commit is contained in:
In-line 2017-11-02 14:50:37 +04:00 committed by Dmitry Novikov
parent d7170431ce
commit fe1b130728

View File

@ -103,31 +103,20 @@ bool CCStrikeGameMgrHelper::CanPlayerHearPlayer(CBasePlayer *pListener, CBasePla
#ifndef REGAMEDLL_FIXES #ifndef REGAMEDLL_FIXES
!pSender->IsPlayer() || !pSender->IsPlayer() ||
#endif #endif
pListener->m_iTeam != pSender->m_iTeam) pListener->m_iTeam != pSender->m_iTeam) // Different teams can't hear each other
{ {
return false; return false;
} }
if (pListener->IsObserver()) // 2 spectators don't need isAlive() checks.
{
return true;
}
BOOL bListenerAlive = pListener->IsAlive(); BOOL bListenerAlive = pListener->IsAlive();
BOOL bSenderAlive = pSender->IsAlive(); BOOL bSenderAlive = pSender->IsAlive();
if (pListener->IsObserver()) return (bListenerAlive == bSenderAlive || bSenderAlive); // Dead/alive voice chats are separated, but dead can hear alive.
{
return true;
}
if (bListenerAlive)
{
if (!bSenderAlive)
return false;
}
else
{
if (bSenderAlive)
return true;
}
return (bListenerAlive == bSenderAlive);
} }
void Broadcast(const char *sentence) void Broadcast(const char *sentence)