Core/PacketIO: updated SMSG_CONTROL_UPDATE

This commit is contained in:
MitchesD
2015-07-21 21:58:13 +02:00
parent 11bfead40b
commit 9fc06b956b
4 changed files with 25 additions and 5 deletions

View File

@@ -23811,10 +23811,10 @@ void Player::ResurrectUsingRequestData()
void Player::SetClientControl(Unit* target, bool allowMove)
{
WorldPacket data(SMSG_CONTROL_UPDATE, target->GetPackGUID().size()+1);
data << target->GetPackGUID();
data << uint8(allowMove ? 1 : 0);
GetSession()->SendPacket(&data);
WorldPackets::Movement::ControlUpdate data;
data.Guid = target->GetGUID();
data.On = allowMove;
GetSession()->SendPacket(data.Write());
if (this != target)
SetViewpoint(target, allowMove);

View File

@@ -680,3 +680,12 @@ void WorldPackets::Movement::SummonResponse::Read()
_worldPacket >> SummonerGUID;
Accept = _worldPacket.ReadBit();
}
WorldPacket const* WorldPackets::Movement::ControlUpdate::Write()
{
_worldPacket << Guid;
_worldPacket.WriteBit(On);
_worldPacket.FlushBits();
return &_worldPacket;
}

View File

@@ -412,6 +412,17 @@ namespace WorldPackets
bool Accept = false;
ObjectGuid SummonerGUID;
};
class ControlUpdate final : public ServerPacket
{
public:
ControlUpdate() : ServerPacket(SMSG_CONTROL_UPDATE, 16 + 1) { }
WorldPacket const* Write() override;
ObjectGuid Guid;
bool On = false;
};
}
ByteBuffer& operator<<(ByteBuffer& data, Movement::MonsterSplineFilterKey const& monsterSplineFilterKey);

View File

@@ -1032,7 +1032,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONQUEST_FORMULA_CONSTANTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONSOLE_WRITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTACT_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTROL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTROL_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONVERT_RUNE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_CHEAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_EVENT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);