mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 10:53:44 +00:00
The guild packets of the 1.10.64 client (docs/Guilds.md) as Serialize/Deserialize structs, laid out the way the client's packet handlers read them: GUILD_CREATE_RESPONSE, GUILD_INVITE, GUILD_INVITE_INITIAL_RESPONSE, _FINAL_RESPONSE, _CONFIRM, GUILD_ADD_PLAYER, GUILD_REMOVE_PLAYER, GUILD_LOGIN_LOGOUT and GUILD_DATA (ClientPackets), the world packet TMP_GUILD_CREATE the create box sends, the chat packets the client sends through its world (GUILD_INVITE, GUILD_INVITE_RESPONSE, GUILD_LEAVE, GUILD_GET_ALL), DLU's world <-> chat packets (GUILD_CREATE, GUILD_KICK, GUILD_GET_STATUS as the chat server's guild update to a world, and GUILD_SET_RANK and GUILD_DISBAND appended to MessageType::Chat after CREATE_TEAM) and the game message DisplayGuildCreateBox (626). Fixed-size names always keep a NUL, since the client reads them as C strings. Enums eGuildCreateResponse, eGuildInviteResponse, eGuildInviteFinalResponse, eGuildRank and eGuildLeaveReason. Nothing sends them yet. Check: GuildPacketsTests compares every packet with the bytes at the client's offsets. Nothing to check in game. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22 lines
375 B
C++
22 lines
375 B
C++
#ifndef EGUILDRANK_H
|
|
#define EGUILDRANK_H
|
|
|
|
#include <cstdint>
|
|
|
|
// A guild member's rank, as the client names it in the guild list (0 and anything above 4: no name)
|
|
enum class eGuildRank : uint8_t {
|
|
NONE,
|
|
LEADER,
|
|
OFFICER,
|
|
VETERAN,
|
|
RECRUIT,
|
|
};
|
|
|
|
// MSG_CLIENT_GUILD_REMOVE_PLAYER's reason
|
|
enum class eGuildLeaveReason : uint8_t {
|
|
LEFT,
|
|
KICKED,
|
|
};
|
|
|
|
#endif // EGUILDRANK_H
|