aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2009-09-01 16:56:02 -0500
committermegamage <none@none>2009-09-01 16:56:02 -0500
commit28e229d8a894619629e8c5bd745fcc274b417729 (patch)
treef3493dd2f5bd08cded03ada913fdcbced711b692 /src
parent09ce96265b42531b21af96fb103101295323836b (diff)
[8436] Return CMSG_SET_ACTIVE_VOICE_CHANNEL to STATUS_AUTHED. Author: VladimirMangos
It sent not only just after logout but also just before login packet. --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Opcodes.cpp2
-rw-r--r--src/game/WorldSession.cpp6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/game/Opcodes.cpp b/src/game/Opcodes.cpp
index 593bf085723..ba1deaeff7c 100644
--- a/src/game/Opcodes.cpp
+++ b/src/game/Opcodes.cpp
@@ -1007,7 +1007,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] =
/*0x3D0*/ { "CMSG_TARGET_CAST", STATUS_NEVER, &WorldSession::Handle_NULL },
/*0x3D1*/ { "CMSG_TARGET_SCRIPT_CAST", STATUS_NEVER, &WorldSession::Handle_NULL },
/*0x3D2*/ { "CMSG_CHANNEL_DISPLAY_LIST", STATUS_LOGGEDIN, &WorldSession::HandleChannelDisplayListQuery },
- /*0x3D3*/ { "CMSG_SET_ACTIVE_VOICE_CHANNEL", STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT, &WorldSession::HandleSetActiveVoiceChannel },
+ /*0x3D3*/ { "CMSG_SET_ACTIVE_VOICE_CHANNEL", STATUS_AUTHED, &WorldSession::HandleSetActiveVoiceChannel },
/*0x3D4*/ { "CMSG_GET_CHANNEL_MEMBER_COUNT", STATUS_LOGGEDIN, &WorldSession::HandleGetChannelMemberCount },
/*0x3D5*/ { "SMSG_CHANNEL_MEMBER_COUNT", STATUS_NEVER, &WorldSession::Handle_ServerSide },
/*0x3D6*/ { "CMSG_CHANNEL_VOICE_ON", STATUS_LOGGEDIN, &WorldSession::HandleChannelVoiceOnOpcode },
diff --git a/src/game/WorldSession.cpp b/src/game/WorldSession.cpp
index fc3ddb4b486..97d79e10635 100644
--- a/src/game/WorldSession.cpp
+++ b/src/game/WorldSession.cpp
@@ -240,7 +240,11 @@ bool WorldSession::Update(uint32 /*diff*/)
break;
}
- m_playerRecentlyLogout = false;
+ // single from authed time opcodes send in to after logout time
+ // and before other STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT opcodes.
+ if (packet->GetOpcode() != CMSG_SET_ACTIVE_VOICE_CHANNEL)
+ m_playerRecentlyLogout = false;
+
(this->*opHandle.handler)(*packet);
if (sLog.IsOutDebug() && packet->rpos() < packet->wpos())
LogUnprocessedTail(packet);