Possible queue bug fix.

Player flags enum update.
This commit is contained in:
tomrus88 2010-01-17 22:09:10 +03:00
parent 925ea7630e
commit f7de2ce1d7
6 changed files with 45 additions and 44 deletions

View file

@ -241,6 +241,7 @@ enum AreaFlags
AREA_FLAG_UNK9 = 0x02000000, // unknown
AREA_FLAG_UNK10 = 0x04000000, // unknown
AREA_FLAG_OUTDOOR_PVP2 = 0x08000000 // Wintergrasp and it's subzones
// 0x20000000 not flyable?
};
enum Difficulty

View file

@ -613,7 +613,7 @@ struct ChatChannelsEntry
struct ChrClassesEntry
{
uint32 ClassID; // 0
// 1, unused
//uint32 flags; // 1, unused
uint32 powerType; // 2
// 3-4, unused
//char* name[16]; // 5-20 unused
@ -622,9 +622,9 @@ struct ChrClassesEntry
// 37 string flag, unused
//char* nameNeutralGender[16]; // 38-53 unused, if different from base (male) case
// 54 string flag, unused
// 55, unused
// 55, unused capitalized name
uint32 spellfamily; // 56
// 57, unused
//uint32 flags2; // 57, unused 0x08 HasRelicSlot
uint32 CinematicSequence; // 58 id from CinematicSequences.dbc
uint32 expansion; // 59 (0 - original race, 1 - tbc addon, ...)
};

View file

@ -1242,7 +1242,7 @@ enum Opcodes
SMSG_ITEM_REFUND_RESULT = 0x4B5, // refund item result
CMSG_CORPSE_MAP_POSITION_QUERY = 0x4B6, // CMSG, uint32
CMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE = 0x4B7, // SMSG, 3*float+float
CMSG_LFG_SET_ROLES_2 = 0x4B8, // CMSG, empty, lua: SetLFGRoles
UMSG_UNKNOWN_1208 = 0x4B8, // not found
UMSG_UNKNOWN_1209 = 0x4B9, // not found
CMSG_CALENDAR_CONTEXT_EVENT_SIGNUP = 0x4BA, // CMSG, uint64, lua: CalendarContextEventSignUp
SMSG_CALENDAR_ACTION_PENDING = 0x4BB, // SMSG, calendar related EVENT_CALENDAR_ACTION_PENDING
@ -1264,13 +1264,13 @@ enum Opcodes
UMSG_UNKNOWN_1227 = 0x4CB, // not found 3.2
UMSG_UNKNOWN_1228 = 0x4CC, // not found 3.2
SMSG_UNKNOWN_1229 = 0x4CD, // SMSG, handles any opcode
SMSG_UNKNOWN_1230 = 0x4CE, // SMSG, movement related
CMSG_UNKNOWN_1231_ACK = 0x4CF, // movement related
SMSG_UNKNOWN_1232 = 0x4D0, // SMSG, movement related
CMSG_UNKNOWN_1233_ACK = 0x4D1, // movement related
SMSG_UNKNOWN_1234 = 0x4D2, // SMSG, movement related
SMSG_UNKNOWN_1235 = 0x4D3, // SMSG, movement related
SMSG_UNKNOWN_1236 = 0x4D4, // SMSG, movement related
SMSG_FORCE_UNK1_SPEED_CHANGE = 0x4CE, // SMSG, movement related
CMSG_FORCE_UNK1_SPEED_CHANGE_ACK = 0x4CF, // movement related
SMSG_FORCE_UNK2_SPEED_CHANGE = 0x4D0, // SMSG, movement related
CMSG_FORCE_UNK2_SPEED_CHANGE_ACK = 0x4D1, // movement related
MSG_MOVE_UNKNOWN_1234 = 0x4D2, // SMSG, movement related
SMSG_SPLINE_MOVE_UNKNOWN_1235 = 0x4D3, // SMSG, movement related
SMSG_SPLINE_MOVE_UNKNOWN_1236 = 0x4D4, // SMSG, movement related
CMSG_EQUIPMENT_SET_USE = 0x4D5, // CMSG, lua: UseEquipmentSet
SMSG_EQUIPMENT_SET_USE_RESULT = 0x4D6, // SMSG, UseEquipmentSetResult?
UMSG_UNKNOWN_1239 = 0x4D7, // not found 3.2

View file

@ -435,20 +435,20 @@ enum PlayerFlags
PLAYER_FLAGS_IN_PVP = 0x00000200,
PLAYER_FLAGS_HIDE_HELM = 0x00000400,
PLAYER_FLAGS_HIDE_CLOAK = 0x00000800,
PLAYER_FLAGS_UNK13 = 0x00001000, // played long time
PLAYER_FLAGS_UNK14 = 0x00002000, // played too long time
PLAYER_FLAGS_UNK15 = 0x00004000,
PLAYER_FLAGS_PARTIAL_PLAY_TIME = 0x00001000, // played long time
PLAYER_FLAGS_NO_PLAY_TIME = 0x00002000, // played too long time
PLAYER_FLAGS_IS_OUT_OF_BOUNDS = 0x00004000, // Lua_IsOutOfBounds
PLAYER_FLAGS_UNK16 = 0x00008000, // strange visual effect (2.0.1), looks like PLAYER_FLAGS_GHOST flag
PLAYER_FLAGS_UNK17 = 0x00010000, // pre-3.0.3 PLAYER_FLAGS_SANCTUARY flag for player entered sanctuary
PLAYER_FLAGS_UNK18 = 0x00020000, // taxi benchmark mode (on/off) (2.0.1)
PLAYER_FLAGS_TAXI_BENCHMARK = 0x00020000, // taxi benchmark mode (on/off) (2.0.1)
PLAYER_FLAGS_PVP_TIMER = 0x00040000, // 3.0.2, pvp timer active (after you disable pvp manually)
PLAYER_FLAGS_UNK20 = 0x00080000,
PLAYER_FLAGS_COMMENTATOR = 0x00080000,
PLAYER_FLAGS_UNK21 = 0x00100000,
PLAYER_FLAGS_UNK22 = 0x00200000,
PLAYER_FLAGS_UNK23 = 0x00400000,
PLAYER_FLAGS_UNK24 = 0x00800000, // disabled all abilitys on tab except autoattack
PLAYER_FLAGS_UNK25 = 0x01000000, // disabled all melee ability on tab include autoattack
PLAYER_FLAGS_NO_XP_GAIN = 0x02000000,
PLAYER_FLAGS_COMMENTATOR2 = 0x00400000, // something like COMMENTATOR_CAN_USE_INSTANCE_COMMAND
PLAYER_FLAGS_UNK24 = 0x00800000, // EVENT_SPELL_UPDATE_USABLE and EVENT_UPDATE_SHAPESHIFT_USABLE, disabled all abilitys on tab except autoattack
PLAYER_FLAGS_UNK25 = 0x01000000, // EVENT_SPELL_UPDATE_USABLE and EVENT_UPDATE_SHAPESHIFT_USABLE, disabled all melee ability on tab include autoattack
PLAYER_FLAGS_XP_USER_DISABLED = 0x02000000,
};
// used for PLAYER__FIELD_KNOWN_TITLES field (uint64), (1<<bit_index) without (-1)

View file

@ -277,16 +277,15 @@ void World::AddQueuedPlayer(WorldSession* sess)
m_QueuedPlayer.push_back (sess);
// The 1st SMSG_AUTH_RESPONSE needs to contain other info too.
WorldPacket packet (SMSG_AUTH_RESPONSE, 1 + 4 + 1 + 4 + 1);
WorldPacket packet (SMSG_AUTH_RESPONSE, 1 + 4 + 1 + 4 + 1 + 4 + 1);
packet << uint8 (AUTH_WAIT_QUEUE);
packet << uint32 (0); // BillingTimeRemaining
packet << uint8 (0); // BillingPlanFlags
packet << uint32 (0); // BillingTimeRested
packet << uint8 (sess->Expansion()); // 0 - normal, 1 - TBC, must be set in database manually for each account
packet << uint32(GetQueuePos (sess));
packet << uint32(GetQueuePos (sess)); // position in queue
packet << uint8(0); // unk 3.3.0
sess->SendPacket (&packet);
//sess->SendAuthWaitQue (GetQueuePos (sess));
}
bool World::RemoveQueuedPlayer(WorldSession* sess)

View file

@ -567,9 +567,10 @@ void WorldSession::SendAuthWaitQue(uint32 position)
}
else
{
WorldPacket packet( SMSG_AUTH_RESPONSE, 5 );
WorldPacket packet( SMSG_AUTH_RESPONSE, 1+4+1 );
packet << uint8(AUTH_WAIT_QUEUE);
packet << uint32(position);
packet << uint8(0); // unk 3.3.0
SendPacket(&packet);
}
}