- Updated to latest client build 11159.

- May be fixed BG queues (not tested).
This commit is contained in:
tomrus88 2009-12-16 02:44:50 +03:00
parent 7c6cae1af7
commit bab05bef11
3 changed files with 10 additions and 59 deletions

View file

@ -1241,75 +1241,26 @@ void BattleGroundMgr::Update(uint32 diff)
void BattleGroundMgr::BuildBattleGroundStatusPacket(WorldPacket *data, BattleGround *bg, uint8 QueueSlot, uint8 StatusID, uint32 Time1, uint32 Time2, uint8 arenatype) void BattleGroundMgr::BuildBattleGroundStatusPacket(WorldPacket *data, BattleGround *bg, uint8 QueueSlot, uint8 StatusID, uint32 Time1, uint32 Time2, uint8 arenatype)
{ {
// we can be in 3 queues in same time... // we can be in 2 queues in same time...
if (StatusID == 0 || !bg) if (StatusID == 0 || !bg)
{ {
data->Initialize(SMSG_BATTLEFIELD_STATUS, 4*3); data->Initialize(SMSG_BATTLEFIELD_STATUS, 4+8);
*data << uint32(QueueSlot); // queue id (0...2) *data << uint32(QueueSlot); // queue id (0...1)
*data << uint64(0); *data << uint64(0);
return; return;
} }
data->Initialize(SMSG_BATTLEFIELD_STATUS, (4+1+1+4+2+4+1+4+4+4)); data->Initialize(SMSG_BATTLEFIELD_STATUS, (4+8+1+1+4+1+4+4+4));
*data << uint32(QueueSlot); // queue id (0...2) - player can be in 3 queues in time *data << uint32(QueueSlot); // queue id (0...1) - player can be in 2 queues in time
// uint64 in client // uint64 in client
*data << uint64( uint64(arenatype) | (uint64(0x0D) << 8) | (uint64(bg->GetTypeID()) << 16) | (uint64(0x1F90) << 48) ); *data << uint64( uint64(arenatype) | (uint64(0x0D) << 8) | (uint64(bg->GetTypeID()) << 16) | (uint64(0x1F90) << 48) );
*data << uint8(0); // 3.3.0
*data << uint8(0); // 3.3.0
*data << uint32(bg->GetClientInstanceID()); *data << uint32(bg->GetClientInstanceID());
// alliance/horde for BG and skirmish/rated for Arenas // alliance/horde for BG and skirmish/rated for Arenas
// following displays the minimap-icon 0 = faction icon 1 = arenaicon // following displays the minimap-icon 0 = faction icon 1 = arenaicon
*data << uint8(bg->isRated()); *data << uint8(bg->isRated());
/* *data << uint8(arenatype ? arenatype : bg->GetArenaType()); // team type (0=BG, 2=2x2, 3=3x3, 5=5x5), for arenas // NOT PROPER VALUE IF ARENA ISN'T RUNNING YET!!!!
switch(bg->GetTypeID()) // value depends on bg id
{
case BATTLEGROUND_AV:
*data << uint8(1);
break;
case BATTLEGROUND_WS:
*data << uint8(2);
break;
case BATTLEGROUND_AB:
*data << uint8(3);
break;
case BATTLEGROUND_NA:
*data << uint8(4);
break;
case BATTLEGROUND_BE:
*data << uint8(5);
break;
case BATTLEGROUND_AA:
*data << uint8(6);
break;
case BATTLEGROUND_EY:
*data << uint8(7);
break;
case BATTLEGROUND_RL:
*data << uint8(8);
break;
case BATTLEGROUND_SA:
*data << uint8(9);
break;
case BATTLEGROUND_DS:
*data << uint8(10);
break;
case BATTLEGROUND_RV:
*data << uint8(11);
break;
default: // unknown
*data << uint8(0);
break;
}
if (bg->isArena() && (StatusID == STATUS_WAIT_QUEUE))
*data << uint32(BATTLEGROUND_AA); // all arenas I don't think so.
else
*data << uint32(bg->GetTypeID()); // BG id from DBC
*data << uint16(0x1F90); // unk value 8080
*data << uint32(bg->GetInstanceID()); // instance id
*data << uint8(bg->isArena()); // minimap-icon 0=faction 1=arena
*/
*data << uint32(StatusID); // status *data << uint32(StatusID); // status
switch(StatusID) switch(StatusID)
{ {

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, 10958 // Auto generated for version 3, 3, 0, 11159
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 10958... // will only support WoW, WoW:TBC and WoW:WotLK 3.3.0a client build 11159...
#define EXPECTED_MANGOS_CLIENT_BUILD {10958, 0} #define EXPECTED_MANGOS_CLIENT_BUILD {11159, 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