Core/Protocol: Fix struct of SMSG_AURA_UPDATE/SMSG_AURA_UPDATE_ALL

This commit is contained in:
kaelima
2011-11-24 18:22:04 +01:00
parent ec8738557e
commit b76b820e49
3 changed files with 15 additions and 5 deletions

View File

@@ -1214,8 +1214,8 @@ void InitOpcodes()
//DEFINE_OPCODE_HANDLER(SMSG_PET_UPDATE_COMBO_POINTS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//DEFINE_OPCODE_HANDLER(CMSG_ENABLETAXI, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleTaxiQueryAvailableNodes );
//DEFINE_OPCODE_HANDLER(SMSG_PRE_RESURRECT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//DEFINE_OPCODE_HANDLER(SMSG_AURA_UPDATE_ALL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//DEFINE_OPCODE_HANDLER(SMSG_AURA_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
DEFINE_OPCODE_HANDLER(SMSG_AURA_UPDATE_ALL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
DEFINE_OPCODE_HANDLER(SMSG_AURA_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//DEFINE_OPCODE_HANDLER(CMSG_FLOOD_GRACE_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//DEFINE_OPCODE_HANDLER(SMSG_SERVER_FIRST_ACHIEVEMENT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//DEFINE_OPCODE_HANDLER(SMSG_PET_LEARNED_SPELL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );

View File

@@ -560,8 +560,8 @@ enum Opcodes
SMSG_AUCTION_OWNER_LIST_RESULT = 0x00, //
SMSG_AUCTION_OWNER_NOTIFICATION = 0x00, //
SMSG_AUCTION_REMOVED_NOTIFICATION = 0x00, //
SMSG_AURA_UPDATE = 0x00, //
SMSG_AURA_UPDATE_ALL = 0x00, //
SMSG_AURA_UPDATE = 0x4C66, //
SMSG_AURA_UPDATE_ALL = 0x18EE, //
SMSG_AURACASTLOG = 0x00, //
SMSG_AUTH_CHALLENGE = 0x1181, //
SMSG_AUTH_RESPONSE = 0x8867, //

View File

@@ -192,7 +192,7 @@ void AuraApplication::BuildUpdatePacket(ByteBuffer& data, bool remove) const
uint32 flags = m_flags;
if (aura->GetMaxDuration() > 0 && !(aura->GetSpellInfo()->AttributesEx5 & SPELL_ATTR5_HIDE_DURATION))
flags |= AFLAG_DURATION;
data << uint8(flags);
data << uint16(flags);
data << uint8(aura->GetCasterLevel());
// send stack amount for aura which could be stacked (never 0 - causes incorrect display) or charges
// stack amount has priority over charges (checked on retail with spell 50262)
@@ -206,6 +206,16 @@ void AuraApplication::BuildUpdatePacket(ByteBuffer& data, bool remove) const
data << uint32(aura->GetMaxDuration());
data << uint32(aura->GetDuration());
}
if (flags & AFLAG_ANY_EFFECT_AMOUNT_SENT)
{
if (flags & AFLAG_EFF_INDEX_0)
data << uint32(0); // Effect 0 value
if (flags & AFLAG_EFF_INDEX_1)
data << uint32(0); // Effect 1 value
if (flags & AFLAG_EFF_INDEX_2)
data << uint32(0); // Effect 2 value
}
}
void AuraApplication::ClientUpdate(bool remove)