Core/PacketIO: updated SMSG_CLEAR_TARGET and enabled some opcodes

This commit is contained in:
MitchesD
2015-03-10 16:29:52 +01:00
parent 8a5edd1e13
commit 47517b2128
5 changed files with 33 additions and 15 deletions

View File

@@ -598,3 +598,10 @@ WorldPacket const* WorldPackets::Spells::SendSpellCharges::Write()
return &_worldPacket;
}
WorldPacket const* WorldPackets::Spells::ClearTarget::Write()
{
_worldPacket << Guid;
return &_worldPacket;
}

View File

@@ -546,6 +546,16 @@ namespace WorldPackets
std::vector<SpellChargeEntry> Entries;
};
class ClearTarget final : public ServerPacket
{
public:
ClearTarget() : ServerPacket(SMSG_CLEAR_TARGET, 8) { }
WorldPacket const* Write() override;
ObjectGuid Guid;
};
}
}

View File

@@ -777,7 +777,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_SET_SHEATHED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Combat::SetSheathed, &WorldSession::HandleSetSheathedOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SKILL_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_SET_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Talent::SetSpecialization, &WorldSession::HandleSetSpecializationOpcode);
DEFINE_HANDLER(CMSG_SET_SPECIALIZATION, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Talent::SetSpecialization, &WorldSession::HandleSetSpecializationOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TAXI_BENCHMARK_MODE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTaxiBenchmarkOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TITLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTitleOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TRADE_CURRENCY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -930,10 +930,10 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_ROSTER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKERSTATEUPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSTART, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSTOP, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKERSTATEUPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSTART, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSTOP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_ERROR, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_LANDED_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_BIDDER_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_CLOSED_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1101,7 +1101,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_QUEST_COMPLETED_BIT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_QUEST_COMPLETED_BITS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_SPELL_CHARGES, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENTCACHE_VERSION, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENT_CONTROL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COIN_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);

View File

@@ -844,9 +844,9 @@ enum OpcodeServer : uint32
SMSG_ARENA_TEAM_STATS = 0xBADD,
SMSG_ATTACKERSTATEUPDATE = 0x13DC,
SMSG_ATTACKSTART = 0x19A4,
SMSG_ATTACKSTOP = 0xBADD,
SMSG_ATTACKSWING_ERROR = 0xBADD,
SMSG_ATTACKSWING_LANDED_LOG = 0xBADD,
SMSG_ATTACKSTOP = 0x171A,
SMSG_ATTACKSWING_ERROR = 0x1F4C,
SMSG_ATTACKSWING_LANDED_LOG = 0x15CB,
SMSG_AUCTION_BIDDER_NOTIFICATION = 0xBADD,
SMSG_AUCTION_CLOSED_NOTIFICATION = 0x0B73,
SMSG_AUCTION_COMMAND_RESULT = 0x1972,
@@ -1013,11 +1013,11 @@ enum OpcodeServer : uint32
SMSG_CLEAR_QUEST_COMPLETED_BIT = 0xBADD,
SMSG_CLEAR_QUEST_COMPLETED_BITS = 0xBADD,
SMSG_CLEAR_SPELL_CHARGES = 0xBADD,
SMSG_CLEAR_TARGET = 0xBADD,
SMSG_CLEAR_TARGET = 0x17FA,
SMSG_CLIENTCACHE_VERSION = 0x116C,
SMSG_CLIENT_CONTROL_UPDATE = 0xBADD,
SMSG_COIN_REMOVED = 0xBADD,
SMSG_COMBAT_EVENT_FAILED = 0xBADD,
SMSG_COMBAT_EVENT_FAILED = 0x19D9,
SMSG_COMBAT_LOG_MULTIPLE = 0xBADD,
SMSG_COMBAT_LOG_UNK = 0xBADD,
SMSG_COMMENTATOR_MAP_INFO = 0xBADD,
@@ -1092,7 +1092,7 @@ enum OpcodeServer : uint32
SMSG_ENCHANTMENT_LOG = 0xBADD,
SMSG_ENCOUNTER_END = 0xBADD,
SMSG_ENCOUNTER_START = 0xBADD,
SMSG_ENVIRONMENTALDAMAGELOG = 0xBADD,
SMSG_ENVIRONMENTALDAMAGELOG = 0x0679,
SMSG_EQUIPMENT_SET_LIST = 0x111A,
SMSG_EQUIPMENT_SET_SAVED = 0xBADD,
SMSG_EXPECTED_SPAM_RECORDS = 0xBADD,

View File

@@ -68,6 +68,7 @@
#include "ReputationMgr.h"
#include "AreaTrigger.h"
#include "MiscPackets.h"
#include "SpellPackets.h"
pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
{
@@ -4386,9 +4387,9 @@ void Spell::EffectForceDeselect(SpellEffIndex /*effIndex*/)
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT)
return;
WorldPacket data(SMSG_CLEAR_TARGET, 8);
data << m_caster->GetGUID();
m_caster->SendMessageToSet(&data, true);
WorldPackets::Spells::ClearTarget clearTarget;
clearTarget.Guid = m_caster->GetGUID();
m_caster->SendMessageToSet(clearTarget.Write(), true);
}
void Spell::EffectSelfResurrect(SpellEffIndex /*effIndex*/)