Core/Packets: Implemented SMSG_GUILD_NAME_CHANGED

This commit is contained in:
joschiwald
2017-05-20 12:08:17 +02:00
parent d7d4cadd9c
commit d07fa64a15
4 changed files with 26 additions and 24 deletions

View File

@@ -1254,30 +1254,11 @@ bool Guild::SetName(std::string const& name)
stmt->setUInt64(1, GetId());
CharacterDatabase.Execute(stmt);
/* TODO 6.x update me
ObjectGuid guid = GetGUID();
WorldPacket data(SMSG_GUILD_NAME_CHANGED, 24 + 8 + 1);
data.WriteBit(guid[5]);
data.WriteBits(name.length(), 8);
data.WriteBit(guid[4]);
data.WriteBit(guid[0]);
data.WriteBit(guid[6]);
data.WriteBit(guid[3]);
data.WriteBit(guid[1]);
data.WriteBit(guid[7]);
data.WriteBit(guid[2]);
WorldPackets::Guild::GuildNameChanged guildNameChanged;
guildNameChanged.GuildGUID = GetGUID();
guildNameChanged.GuildName = m_name;
BroadcastPacket(guildNameChanged.Write());
data.WriteByteSeq(guid[3]);
data.WriteByteSeq(guid[2]);
data.WriteByteSeq(guid[7]);
data.WriteByteSeq(guid[1]);
data.WriteByteSeq(guid[0]);
data.WriteByteSeq(guid[6]);
data.WriteString(name);
data.WriteByteSeq(guid[4]);
data.WriteByteSeq(guid[5]);
BroadcastPacket(&data); */
return true;
}

View File

@@ -816,3 +816,13 @@ void WorldPackets::Guild::GuildSetAchievementTracking::Read()
AchievementIDs.insert(value);
}
}
WorldPacket const* WorldPackets::Guild::GuildNameChanged::Write()
{
_worldPacket << GuildGUID;
_worldPacket.WriteBits(GuildName.length(), 7);
_worldPacket.FlushBits();
_worldPacket.WriteString(GuildName);
return &_worldPacket;
}

View File

@@ -1010,6 +1010,17 @@ namespace WorldPackets
std::set<uint32> AchievementIDs;
};
class GuildNameChanged final : ServerPacket
{
public:
GuildNameChanged() : ServerPacket(SMSG_GUILD_NAME_CHANGED, 40) { }
WorldPacket const* Write() override;
ObjectGuid GuildGUID;
std::string GuildName;
};
}
}

View File

@@ -1260,7 +1260,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_MEMBER_UPDATE_NOTE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_MOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_MOVE_STARTING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NAME_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NAME_CHANGED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NEWS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NEWS_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PARTY_STATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);