Updated to latest PTR build 10571.

This commit is contained in:
tomrus88 2009-10-14 17:26:39 +04:00
parent e0476c7922
commit ccf88ef77d
6 changed files with 20 additions and 14 deletions

View file

@ -548,6 +548,7 @@ void PlayerMenu::SendQuestQueryResponse( Quest const *pQuest )
data << uint32(pQuest->GetQuestId()); // quest id data << uint32(pQuest->GetQuestId()); // quest id
data << uint32(pQuest->GetQuestMethod()); // Accepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details) data << uint32(pQuest->GetQuestMethod()); // Accepted values: 0, 1 or 2. 0==IsAutoComplete() (skip objectives/details)
data << uint32(pQuest->GetQuestLevel()); // may be 0, static data, in other cases must be used dynamic level: Player::GetQuestLevel data << uint32(pQuest->GetQuestLevel()); // may be 0, static data, in other cases must be used dynamic level: Player::GetQuestLevel
data << uint32(0); // min level
data << uint32(pQuest->GetZoneOrSort()); // zone or sort to display in quest log data << uint32(pQuest->GetZoneOrSort()); // zone or sort to display in quest log
data << uint32(pQuest->GetType()); // quest type data << uint32(pQuest->GetType()); // quest type
@ -560,6 +561,7 @@ void PlayerMenu::SendQuestQueryResponse( Quest const *pQuest )
data << uint32(0); // RequiredOpositeRepValue, required faction value with another (oposite) faction (objective) data << uint32(0); // RequiredOpositeRepValue, required faction value with another (oposite) faction (objective)
data << uint32(pQuest->GetNextQuestInChain()); // client will request this quest from NPC, if not 0 data << uint32(pQuest->GetNextQuestInChain()); // client will request this quest from NPC, if not 0
data << uint32(0); // unk 3.3.0
if (pQuest->HasFlag(QUEST_FLAGS_HIDDEN_REWARDS)) if (pQuest->HasFlag(QUEST_FLAGS_HIDDEN_REWARDS))
data << uint32(0); // Hide money rewarded data << uint32(0); // Hide money rewarded
@ -570,9 +572,9 @@ void PlayerMenu::SendQuestQueryResponse( Quest const *pQuest )
data << uint32(pQuest->GetRewSpell()); // reward spell, this spell will display (icon) (casted if RewSpellCast==0) data << uint32(pQuest->GetRewSpell()); // reward spell, this spell will display (icon) (casted if RewSpellCast==0)
data << uint32(pQuest->GetRewSpellCast()); // casted spell data << uint32(pQuest->GetRewSpellCast()); // casted spell
// rewarded honor points // rewarded honor points (raw)
data << uint32(MaNGOS::Honor::hk_honor_at_level(pSession->GetPlayer()->getLevel(), pQuest->GetRewHonorableKills())); data << uint32(MaNGOS::Honor::hk_honor_at_level(pSession->GetPlayer()->getLevel(), pQuest->GetRewHonorableKills()));
data << float(1); // weird honor multiplier data << float(0); // new reward honor (multipled by ~62 at client side)
data << uint32(pQuest->GetSrcItemId()); // source item id data << uint32(pQuest->GetSrcItemId()); // source item id
data << uint32(pQuest->GetFlags() & 0xFFFF); // quest flags data << uint32(pQuest->GetFlags() & 0xFFFF); // quest flags
data << uint32(pQuest->GetCharTitleId()); // CharTitleId, new 2.4.0, player gets this title (id from CharTitles) data << uint32(pQuest->GetCharTitleId()); // CharTitleId, new 2.4.0, player gets this title (id from CharTitles)
@ -607,10 +609,10 @@ void PlayerMenu::SendQuestQueryResponse( Quest const *pQuest )
for(iI = 0; iI < QUEST_REPUTATIONS_COUNT; ++iI) // reward factions ids for(iI = 0; iI < QUEST_REPUTATIONS_COUNT; ++iI) // reward factions ids
data << uint32(0); data << uint32(0);
for(iI = 0; iI < QUEST_REPUTATIONS_COUNT; ++iI) // columnid+1 QuestFactionReward.dbc? for(iI = 0; iI < QUEST_REPUTATIONS_COUNT; ++iI) // columnid in QuestFactionReward.dbc (zero based)?
data << uint32(0); data << uint32(0);
for(iI = 0; iI < QUEST_REPUTATIONS_COUNT; ++iI) // unk (0) for(iI = 0; iI < QUEST_REPUTATIONS_COUNT; ++iI) // reward reputation override?
data << uint32(0); data << uint32(0);
data << pQuest->GetPointMapId(); data << pQuest->GetPointMapId();
@ -622,7 +624,7 @@ void PlayerMenu::SendQuestQueryResponse( Quest const *pQuest )
data << Objectives; data << Objectives;
data << Details; data << Details;
data << EndText; data << EndText;
data << uint8(0); // some string data << uint8(0); // Return to <??> text
for (iI = 0; iI < QUEST_OBJECTIVES_COUNT; ++iI) for (iI = 0; iI < QUEST_OBJECTIVES_COUNT; ++iI)
{ {

View file

@ -1305,4 +1305,6 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] =
/*0x4FC*/ { "SMSG_UNKNOWN_1276", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4FC*/ { "SMSG_UNKNOWN_1276", STATUS_NEVER, &WorldSession::Handle_ServerSide },
/*0x4FD*/ { "SMSG_UNKNOWN_1277", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4FD*/ { "SMSG_UNKNOWN_1277", STATUS_NEVER, &WorldSession::Handle_ServerSide },
/*0x4FE*/ { "UMSG_UNKNOWN_1278", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x4FE*/ { "UMSG_UNKNOWN_1278", STATUS_NEVER, &WorldSession::Handle_NULL },
/*0x4FF*/ { "CMSG_QUERY_QUESTS_COMPLETED", STATUS_NEVER, &WorldSession::Handle_NULL },
/*0x500*/ { "SMSG_QUERY_QUESTS_COMPLETED_RESPONSE", STATUS_NEVER, &WorldSession::Handle_ServerSide },
}; };

View file

@ -1313,7 +1313,9 @@ enum Opcodes
SMSG_UNKNOWN_1276 = 0x4FC, // does nothing in 10554 SMSG_UNKNOWN_1276 = 0x4FC, // does nothing in 10554
SMSG_UNKNOWN_1277 = 0x4FD, // loot related? SMSG_UNKNOWN_1277 = 0x4FD, // loot related?
UMSG_UNKNOWN_1278 = 0x4FE, // not found 10554 UMSG_UNKNOWN_1278 = 0x4FE, // not found 10554
NUM_MSG_TYPES = 0x4FF CMSG_QUERY_QUESTS_COMPLETED = 0x4FF, // lua: QueryQuestsCompleted
SMSG_QUERY_QUESTS_COMPLETED_RESPONSE = 0x500, // response to 0x4FF
NUM_MSG_TYPES = 0x501
}; };
/// Player state /// Player state

View file

@ -19,7 +19,7 @@
#ifndef _UPDATEFIELDS_AUTO_H #ifndef _UPDATEFIELDS_AUTO_H
#define _UPDATEFIELDS_AUTO_H #define _UPDATEFIELDS_AUTO_H
// Auto generated for version 0, 3, 0, 10554 // Auto generated for version 0, 3, 0, 10571
enum EObjectFields enum EObjectFields
{ {

View file

@ -66,9 +66,9 @@ enum LoginResult
// we need to stick to 1 version or half of the stuff will work for someone // we need to stick to 1 version or half of the stuff will work for someone
// others will not and opposite // others will not and opposite
// will only support WoW, WoW:TBC and WoW:WotLK 3.3.0 client build 10554... // will only support WoW, WoW:TBC and WoW:WotLK 3.3.0 client build 10571...
#define EXPECTED_MANGOS_CLIENT_BUILD {10554, 0} #define EXPECTED_MANGOS_CLIENT_BUILD {10571, 0}
// At update excepted builds please update if need define DEFAULT_MAX_LEVEL // At update excepted builds please update if need define DEFAULT_MAX_LEVEL
// in DBCEnum.h to default max player level expected by build // in DBCEnum.h to default max player level expected by build

View file

@ -348,6 +348,11 @@ bool AuthSocket::_HandleLogonChallenge()
buf[buf.size() - 1] = 0; buf[buf.size() - 1] = 0;
sAuthLogonChallenge_C *ch = (sAuthLogonChallenge_C*)&buf[0]; sAuthLogonChallenge_C *ch = (sAuthLogonChallenge_C*)&buf[0];
///- Read the remaining of the packet
ibuf.Read((char *)&buf[4], remaining);
DEBUG_LOG("[AuthChallenge] got full packet, %#04x bytes", ch->size);
DEBUG_LOG("[AuthChallenge] name(%d): '%s'", ch->I_len, ch->I);
// BigEndian code, nop in little endian case // BigEndian code, nop in little endian case
// size already converted // size already converted
EndianConvert(*((uint32*)(&ch->gamename[0]))); EndianConvert(*((uint32*)(&ch->gamename[0])));
@ -358,11 +363,6 @@ bool AuthSocket::_HandleLogonChallenge()
EndianConvert(ch->timezone_bias); EndianConvert(ch->timezone_bias);
EndianConvert(ch->ip); EndianConvert(ch->ip);
///- Read the remaining of the packet
ibuf.Read((char *)&buf[4], remaining);
DEBUG_LOG("[AuthChallenge] got full packet, %#04x bytes", ch->size);
DEBUG_LOG("[AuthChallenge] name(%d): '%s'", ch->I_len, ch->I);
ByteBuffer pkt; ByteBuffer pkt;
_login = (const char*)ch->I; _login = (const char*)ch->I;