mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Merge branch '4.x' of github.com:TrinityCore/TrinityCore into 4.x
Conflicts: src/server/game/Instances/InstanceScript.cpp src/server/game/Instances/InstanceScript.h
This commit is contained in:
@@ -134,13 +134,13 @@ void WorldSession::HandleGuildRosterOpcode(WorldPacket& recvPacket)
|
||||
ByteBuffer bytes(8, true);
|
||||
|
||||
recvPacket.ReadXorByte(mask[0], bytes[7]);
|
||||
recvPacket.ReadXorByte(mask[5], bytes[4]);
|
||||
recvPacket.ReadXorByte(mask[4], bytes[5]);
|
||||
recvPacket.ReadXorByte(mask[7], bytes[0]);
|
||||
recvPacket.ReadXorByte(mask[3], bytes[1]);
|
||||
recvPacket.ReadXorByte(mask[2], bytes[2]);
|
||||
recvPacket.ReadXorByte(mask[1], bytes[6]);
|
||||
recvPacket.ReadXorByte(mask[6], bytes[3]);
|
||||
recvPacket.ReadXorByte(mask[3], bytes[5]);
|
||||
recvPacket.ReadXorByte(mask[4], bytes[4]);
|
||||
recvPacket.ReadXorByte(mask[5], bytes[0]);
|
||||
recvPacket.ReadXorByte(mask[6], bytes[1]);
|
||||
recvPacket.ReadXorByte(mask[1], bytes[2]);
|
||||
recvPacket.ReadXorByte(mask[2], bytes[6]);
|
||||
recvPacket.ReadXorByte(mask[7], bytes[3]);
|
||||
|
||||
uint64 guildGuid = BitConverter::ToUInt64(bytes);
|
||||
|
||||
@@ -576,7 +576,7 @@ void WorldSession::HandleQueryGuildBankTabText(WorldPacket &recv_data)
|
||||
guild->SendBankTabText(this, tabId);
|
||||
}
|
||||
|
||||
void WorldSession::HandleSetGuildBankTabText(WorldPacket &recv_data)
|
||||
void WorldSession::HandleSetGuildBankTabText(WorldPacket& recv_data)
|
||||
{
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_SET_GUILD_BANK_TEXT");
|
||||
|
||||
@@ -589,3 +589,27 @@ void WorldSession::HandleSetGuildBankTabText(WorldPacket &recv_data)
|
||||
if (Guild* guild = _GetPlayerGuild(this))
|
||||
guild->SetBankTabText(tabId, text);
|
||||
}
|
||||
|
||||
void WorldSession::HandleGuildQueryXPOpcode(WorldPacket& recv_data)
|
||||
{
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUERY_GUILD_XP");
|
||||
/*
|
||||
Bitstream is correct, it just needs a proper guild implementation
|
||||
uint64 playerGuid = 0;
|
||||
|
||||
BitStream mask = recv_data.ReadBitStream(8);
|
||||
|
||||
ByteBuffer bytes(8, true);
|
||||
|
||||
recv_data.ReadXorByte(mask[5], bytes[6]);
|
||||
recv_data.ReadXorByte(mask[1], bytes[2]);
|
||||
recv_data.ReadXorByte(mask[7], bytes[1]);
|
||||
recv_data.ReadXorByte(mask[4], bytes[4]);
|
||||
recv_data.ReadXorByte(mask[0], bytes[0]);
|
||||
recv_data.ReadXorByte(mask[6], bytes[3]);
|
||||
recv_data.ReadXorByte(mask[3], bytes[5]);
|
||||
recv_data.ReadXorByte(mask[2], bytes[7]);
|
||||
|
||||
playerGuid = BitConverter::ToUInt64(bytes);
|
||||
*/
|
||||
}
|
||||
|
||||
@@ -400,12 +400,15 @@ void InstanceScript::SendEncounterUnit(uint32 type, Unit* unit /*= NULL*/, uint8
|
||||
case ENCOUNTER_FRAME_ENGAGE:
|
||||
case ENCOUNTER_FRAME_DISENGAGE:
|
||||
case ENCOUNTER_FRAME_UPDATE_PRIORITY:
|
||||
if (!unit)
|
||||
return;
|
||||
data.append(unit->GetPackGUID());
|
||||
data << uint8(param1);
|
||||
break;
|
||||
case ENCOUNTER_FRAME_ADD_TIMER:
|
||||
case ENCOUNTER_FRAME_ENABLE_OBJECTIVE:
|
||||
case ENCOUNTER_FRAME_DISABLE_OBJECTIVE:
|
||||
case ENCOUNTER_FRAME_SET_COMBAT_RES_LIMIT:
|
||||
data << uint8(param1);
|
||||
break;
|
||||
case ENCOUNTER_FRAME_UPDATE_OBJECTIVE:
|
||||
@@ -413,6 +416,8 @@ void InstanceScript::SendEncounterUnit(uint32 type, Unit* unit /*= NULL*/, uint8
|
||||
data << uint8(param2);
|
||||
break;
|
||||
case ENCOUNTER_FRAME_UNK7:
|
||||
case ENCOUNTER_FRAME_ADD_COMBAT_RES_LIMIT:
|
||||
case ENCOUNTER_FRAME_RESET_COMBAT_RES_LIMIT:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -42,14 +42,17 @@ typedef std::set<Creature*> MinionSet;
|
||||
|
||||
enum EncounterFrameType
|
||||
{
|
||||
ENCOUNTER_FRAME_ENGAGE = 0,
|
||||
ENCOUNTER_FRAME_DISENGAGE = 1,
|
||||
ENCOUNTER_FRAME_UPDATE_PRIORITY = 2,
|
||||
ENCOUNTER_FRAME_ADD_TIMER = 3,
|
||||
ENCOUNTER_FRAME_ENABLE_OBJECTIVE = 4,
|
||||
ENCOUNTER_FRAME_UPDATE_OBJECTIVE = 5,
|
||||
ENCOUNTER_FRAME_DISABLE_OBJECTIVE = 6,
|
||||
ENCOUNTER_FRAME_UNK7 = 7, // Seems to have something to do with sorting the encounter units
|
||||
ENCOUNTER_FRAME_SET_COMBAT_RES_LIMIT = 0,
|
||||
ENCOUNTER_FRAME_RESET_COMBAT_RES_LIMIT = 1,
|
||||
ENCOUNTER_FRAME_ENGAGE = 2,
|
||||
ENCOUNTER_FRAME_DISENGAGE = 3,
|
||||
ENCOUNTER_FRAME_UPDATE_PRIORITY = 4,
|
||||
ENCOUNTER_FRAME_ADD_TIMER = 5,
|
||||
ENCOUNTER_FRAME_ENABLE_OBJECTIVE = 6,
|
||||
ENCOUNTER_FRAME_UPDATE_OBJECTIVE = 7,
|
||||
ENCOUNTER_FRAME_DISABLE_OBJECTIVE = 8,
|
||||
ENCOUNTER_FRAME_UNK7 = 9, // Seems to have something to do with sorting the encounter units
|
||||
ENCOUNTER_FRAME_ADD_COMBAT_RES_LIMIT = 10,
|
||||
};
|
||||
|
||||
enum EncounterState
|
||||
|
||||
@@ -91,7 +91,7 @@ void InitOpcodes()
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_DEBUG_AISTATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_DISABLE_PVP_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_ADVANCE_SPAWN_TIME, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_AUTH_SRP6_BEGIN, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_AUTH_SRP6_PROOF, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_AUTH_SRP6_RECODE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
@@ -127,6 +127,7 @@ void InitOpcodes()
|
||||
DEFINE_OPCODE_HANDLER(CMSG_PET_NAME_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetNameQuery );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_PET_NAME_QUERY_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_GUILD_QUERY, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildQueryOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_QUERY_GUILD_XP, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildQueryXPOpcode );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_GUILD_QUERY_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_DB_REPLY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_PAGE_TEXT_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePageTextQueryOpcode );
|
||||
@@ -235,7 +236,7 @@ void InitOpcodes()
|
||||
DEFINE_OPCODE_HANDLER(CMSG_READ_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleReadItem );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_READ_ITEM_OK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_READ_ITEM_FAILED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_GAMEOBJ_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGameObjectUseOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_DESTROY_ITEMS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_GAMEOBJECT_CUSTOM_ANIM, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
@@ -372,7 +373,7 @@ void InitOpcodes()
|
||||
DEFINE_OPCODE_HANDLER(CMSG_CANCEL_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelAuraOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_SAVED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_PET_CAST_FAILED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_CHANNEL_START, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(MSG_CHANNEL_START, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_CHANNEL_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_CANCEL_CHANNELLING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelChanneling );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_AI_REACTION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
@@ -384,8 +385,8 @@ void InitOpcodes()
|
||||
DEFINE_OPCODE_HANDLER(CMSG_ATTACKSTOP, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackStopOpcode );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_ATTACKSTART, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_ATTACKSTOP, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_ATTACKSWING_NOTINRANGE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_ATTACKSWING_BADFACING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_ATTACKSWING_NOTINRANGE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_ATTACKSWING_BADFACING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_INSTANCE_LOCK_WARNING_QUERY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_ATTACKSWING_DEADTARGET, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_ATTACKSWING_CANT_ATTACK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
@@ -591,7 +592,7 @@ void InitOpcodes()
|
||||
DEFINE_OPCODE_HANDLER(CMSG_GMTICKET_GETTICKET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketGetTicketOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_GMTICKET_GETTICKET, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_UNLEARN_TALENTS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_GAMEOBJECT_DESPAWN_ANIM, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(MSG_CORPSE_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCorpseQueryOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_GMTICKET_DELETETICKET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketDeleteOpcode );
|
||||
@@ -1020,7 +1021,7 @@ void InitOpcodes()
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_COMMENTATOR_ENTER_INSTANCE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_COMMENTATOR_EXIT_INSTANCE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_COMMENTATOR_INSTANCE_COMMAND, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_BOT_DETECTED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_CROSSED_INEBRIATION_THRESHOLD, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_CHEAT_PLAYER_LOGIN, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
|
||||
@@ -345,7 +345,7 @@ enum Opcodes
|
||||
CMSG_PUSHQUESTTOPARTY = 0xA47,
|
||||
CMSG_QUERY_GUILD_MAX_XP = 0x00,
|
||||
CMSG_QUERY_GUILD_REWARDS = 0x00,
|
||||
CMSG_QUERY_GUILD_XP = 0x00,
|
||||
CMSG_QUERY_GUILD_XP = 0x0952,
|
||||
CMSG_QUERY_QUESTS_COMPLETED = 0x98DF,
|
||||
CMSG_QUERY_TIME = 0x18FE,
|
||||
CMSG_QUEST_CONFIRM_ACCEPT = 0x8CD3,
|
||||
@@ -559,10 +559,10 @@ enum Opcodes
|
||||
SMSG_ATTACKERSTATEUPDATE = 0x0E6A,
|
||||
SMSG_ATTACKSTART = 0xCA4A,
|
||||
SMSG_ATTACKSTOP = 0xCED7,
|
||||
SMSG_ATTACKSWING_BADFACING = 0x00,
|
||||
SMSG_ATTACKSWING_CANT_ATTACK = 0x00,
|
||||
SMSG_ATTACKSWING_DEADTARGET = 0x00,
|
||||
SMSG_ATTACKSWING_NOTINRANGE = 0x00,
|
||||
SMSG_ATTACKSWING_BADFACING = 0x18E2,
|
||||
SMSG_ATTACKSWING_CANT_ATTACK = 0x00, // 0x1CEA or 0x4CFE
|
||||
SMSG_ATTACKSWING_DEADTARGET = 0x00, // 0x1CEA or 0x4CFE
|
||||
SMSG_ATTACKSWING_NOTINRANGE = 0xCC62,
|
||||
SMSG_AUCTION_BIDDER_LIST_RESULT = 0x88E3,
|
||||
SMSG_AUCTION_BIDDER_NOTIFICATION = 0xC85B,
|
||||
SMSG_AUCTION_COMMAND_RESULT = 0xCCCE,
|
||||
@@ -626,7 +626,7 @@ enum Opcodes
|
||||
SMSG_CHAT_WRONG_FACTION = 0x0E66,
|
||||
SMSG_CHECK_FOR_BOTS = 0x00,
|
||||
SMSG_CLEAR_COOLDOWN = 0x986F,
|
||||
SMSG_CLEAR_TARGET = 0x00,
|
||||
SMSG_CLEAR_TARGET = 0xDA7A,
|
||||
SMSG_CLIENT_CONTROL_UPDATE = 0x08CB,
|
||||
SMSG_CLIENTCACHE_VERSION = 0x88F2,
|
||||
SMSG_COMBAT_LOG_MULTIPLE = 0x5C56,
|
||||
@@ -672,7 +672,7 @@ enum Opcodes
|
||||
SMSG_EMOTE = 0x0C67,
|
||||
SMSG_ENABLE_BARBER_SHOP = 0x9C7A,
|
||||
SMSG_ENCHANTMENTLOG = 0x48E2,
|
||||
SMSG_ENVIRONMENTALDAMAGELOG = 0x00,
|
||||
SMSG_ENVIRONMENTALDAMAGELOG = 0x5A6B,
|
||||
SMSG_EQUIPMENT_SET_LIST = 0x18DF,
|
||||
SMSG_EQUIPMENT_SET_SAVED = 0x00,
|
||||
SMSG_EQUIPMENT_SET_USE_RESULT = 0x00,
|
||||
@@ -898,7 +898,7 @@ enum Opcodes
|
||||
SMSG_PARTY_MEMBER_STATS_FULL = 0x0EDF,
|
||||
SMSG_PARTYKILLLOG = 0xCCC2,
|
||||
SMSG_PAUSE_MIRROR_TIMER = 0xD8EE,
|
||||
SMSG_PERIODICAURALOG = 0x00,
|
||||
SMSG_PERIODICAURALOG = 0x8CF2,
|
||||
SMSG_PET_ACTION_FEEDBACK = 0x4E5A,
|
||||
SMSG_PET_ACTION_SOUND = 0x0CC7,
|
||||
SMSG_PET_CAST_FAILED = 0x00,
|
||||
@@ -1008,9 +1008,9 @@ enum Opcodes
|
||||
SMSG_SPELL_GO = 0x0A53,
|
||||
SMSG_SPELL_START = 0xCE43,
|
||||
SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x98EE,
|
||||
SMSG_SPELLBREAKLOG = 0x00,
|
||||
SMSG_SPELLBREAKLOG = 0x9E5F,
|
||||
SMSG_SPELLDAMAGESHIELD = 0x8AFE,
|
||||
SMSG_SPELLDISPELLOG = 0x00,
|
||||
SMSG_SPELLDISPELLOG = 0x08EA,
|
||||
SMSG_SPELLENERGIZELOG = 0xD8FB,
|
||||
SMSG_SPELLHEALLOG = 0xDE4A,
|
||||
SMSG_SPELLINSTAKILLLOG = 0x8ED2,
|
||||
@@ -1018,7 +1018,7 @@ enum Opcodes
|
||||
SMSG_SPELLLOGMISS = 0x1CFF,
|
||||
SMSG_SPELLNONMELEEDAMAGELOG = 0x5CCF,
|
||||
SMSG_SPELLORDAMAGE_IMMUNE = 0x48FA,
|
||||
SMSG_SPELLSTEALLOG = 0x00,
|
||||
SMSG_SPELLSTEALLOG = 0x08E3,
|
||||
SMSG_SPIRIT_HEALER_CONFIRM = 0x0A4A,
|
||||
SMSG_STABLE_RESULT = 0x0A5B,
|
||||
SMSG_STANDSTATE_UPDATE = 0x4E52,
|
||||
@@ -1058,7 +1058,7 @@ enum Opcodes
|
||||
SMSG_UPDATE_COMBO_POINTS = 0x9AF6,
|
||||
SMSG_UPDATE_CURRENCY = 0x00,
|
||||
SMSG_UPDATE_CURRENCY_WEEK_LIMIT = 0x00,
|
||||
SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT = 0x00,
|
||||
SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT = 0x8C4A,
|
||||
SMSG_UPDATE_INSTANCE_OWNERSHIP = 0xCA73,
|
||||
SMSG_UPDATE_ITEM_ENCHANTMENTS = 0xCA43,
|
||||
SMSG_UPDATE_LAST_INSTANCE = 0x58FE,
|
||||
|
||||
@@ -877,6 +877,7 @@ class WorldSession
|
||||
void HandleGuildBankBuyTab(WorldPacket& recv_data);
|
||||
void HandleQueryGuildBankTabText(WorldPacket& recv_data);
|
||||
void HandleSetGuildBankTabText(WorldPacket& recv_data);
|
||||
void HandleGuildQueryXPOpcode(WorldPacket& recv_data);
|
||||
|
||||
// Refer-a-Friend
|
||||
void HandleGrantLevel(WorldPacket& recv_data);
|
||||
|
||||
@@ -3866,7 +3866,7 @@ void Spell::SendSpellStart()
|
||||
data << uint32(0);
|
||||
}
|
||||
|
||||
if (castFlags & CAST_FLAG_UNKNOWN_31)
|
||||
if (castFlags & CAST_FLAG_HEAL_PREDICTION)
|
||||
{
|
||||
data << uint32(0);
|
||||
data << uint8(0); // unkByte
|
||||
@@ -4183,7 +4183,25 @@ void Spell::SendChannelStart(uint32 duration)
|
||||
data.append(m_caster->GetPackGUID());
|
||||
data << uint32(m_spellInfo->Id);
|
||||
data << uint32(duration);
|
||||
|
||||
data << uint8(0); // immunity (castflag & 0x04000000)
|
||||
/*
|
||||
if (immunity)
|
||||
{
|
||||
data << uint32(); // CastSchoolImmunities
|
||||
data << uint32(); // CastImmunities
|
||||
}
|
||||
*/
|
||||
data << uint8(0); // healPrediction (castflag & 0x40000000)
|
||||
/*
|
||||
if (healPrediction)
|
||||
{
|
||||
data.appendPackGUID(channelTarget); // target packguid
|
||||
data << uint32(); // spellid
|
||||
data << uint8(0); // unk3
|
||||
if (unk3 == 2)
|
||||
data.append(); // unk packed guid (unused ?)
|
||||
}
|
||||
*/
|
||||
m_caster->SendMessageToSet(&data, true);
|
||||
|
||||
m_timer = duration;
|
||||
|
||||
@@ -68,7 +68,7 @@ enum SpellCastFlags
|
||||
CAST_FLAG_UNKNOWN_28 = 0x08000000,
|
||||
CAST_FLAG_UNKNOWN_29 = 0x10000000,
|
||||
CAST_FLAG_UNKNOWN_30 = 0x20000000,
|
||||
CAST_FLAG_UNKNOWN_31 = 0x40000000,
|
||||
CAST_FLAG_HEAL_PREDICTION = 0x40000000,
|
||||
CAST_FLAG_UNKNOWN_32 = 0x80000000,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user