mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 09:33:51 +00:00
Add Tier 3 commands: guild management, PvP, ready check, and duel forfeit
- Guild commands: /ginfo, /groster, /gmotd, /gpromote, /gdemote, /gquit, /ginvite - PvP toggle: /pvp to toggle PvP flag - Ready check system: /readycheck, /ready, /notready for group coordination - Duel forfeit: /yield, /forfeit, /surrender to cancel active duels
This commit is contained in:
parent
acef7ccbec
commit
85a7d66c4e
6 changed files with 492 additions and 0 deletions
|
|
@ -235,6 +235,25 @@ public:
|
|||
void followTarget();
|
||||
void assistTarget();
|
||||
|
||||
// PvP
|
||||
void togglePvp();
|
||||
|
||||
// Guild commands
|
||||
void requestGuildInfo();
|
||||
void requestGuildRoster();
|
||||
void setGuildMotd(const std::string& motd);
|
||||
void promoteGuildMember(const std::string& playerName);
|
||||
void demoteGuildMember(const std::string& playerName);
|
||||
void leaveGuild();
|
||||
void inviteToGuild(const std::string& playerName);
|
||||
|
||||
// Ready check
|
||||
void initiateReadyCheck();
|
||||
void respondToReadyCheck(bool ready);
|
||||
|
||||
// Duel
|
||||
void forfeitDuel();
|
||||
|
||||
// ---- Phase 1: Name queries ----
|
||||
void queryPlayerName(uint64_t guid);
|
||||
void queryCreatureInfo(uint32_t entry, uint64_t guid);
|
||||
|
|
|
|||
|
|
@ -85,6 +85,31 @@ enum class Opcode : uint16_t {
|
|||
CMSG_SHOWING_HELM = 0x2B9,
|
||||
CMSG_SHOWING_CLOAK = 0x2BA,
|
||||
|
||||
// ---- PvP ----
|
||||
CMSG_TOGGLE_PVP = 0x253,
|
||||
|
||||
// ---- Guild ----
|
||||
CMSG_GUILD_INVITE = 0x082,
|
||||
CMSG_GUILD_ACCEPT = 0x084,
|
||||
CMSG_GUILD_DECLINE_INVITATION = 0x085,
|
||||
CMSG_GUILD_INFO = 0x087,
|
||||
CMSG_GUILD_GET_ROSTER = 0x089,
|
||||
CMSG_GUILD_PROMOTE_MEMBER = 0x08B,
|
||||
CMSG_GUILD_DEMOTE_MEMBER = 0x08C,
|
||||
CMSG_GUILD_LEAVE = 0x08D,
|
||||
CMSG_GUILD_MOTD = 0x091,
|
||||
SMSG_GUILD_INFO = 0x088,
|
||||
SMSG_GUILD_ROSTER = 0x08A,
|
||||
|
||||
// ---- Ready Check ----
|
||||
MSG_RAID_READY_CHECK = 0x322,
|
||||
MSG_RAID_READY_CHECK_CONFIRM = 0x3AE,
|
||||
|
||||
// ---- Duel ----
|
||||
CMSG_DUEL_ACCEPTED = 0x16C,
|
||||
CMSG_DUEL_CANCELLED = 0x16D,
|
||||
SMSG_DUEL_REQUESTED = 0x167,
|
||||
|
||||
// ---- Random Roll ----
|
||||
MSG_RANDOM_ROLL = 0x1FB,
|
||||
|
||||
|
|
|
|||
|
|
@ -802,6 +802,88 @@ public:
|
|||
static network::Packet build(bool show);
|
||||
};
|
||||
|
||||
// ============================================================
|
||||
// PvP
|
||||
// ============================================================
|
||||
|
||||
/** CMSG_TOGGLE_PVP packet builder */
|
||||
class TogglePvpPacket {
|
||||
public:
|
||||
static network::Packet build();
|
||||
};
|
||||
|
||||
// ============================================================
|
||||
// Guild Commands
|
||||
// ============================================================
|
||||
|
||||
/** CMSG_GUILD_INFO packet builder */
|
||||
class GuildInfoPacket {
|
||||
public:
|
||||
static network::Packet build();
|
||||
};
|
||||
|
||||
/** CMSG_GUILD_GET_ROSTER packet builder */
|
||||
class GuildRosterPacket {
|
||||
public:
|
||||
static network::Packet build();
|
||||
};
|
||||
|
||||
/** CMSG_GUILD_MOTD packet builder */
|
||||
class GuildMotdPacket {
|
||||
public:
|
||||
static network::Packet build(const std::string& motd);
|
||||
};
|
||||
|
||||
/** CMSG_GUILD_PROMOTE_MEMBER packet builder */
|
||||
class GuildPromotePacket {
|
||||
public:
|
||||
static network::Packet build(const std::string& playerName);
|
||||
};
|
||||
|
||||
/** CMSG_GUILD_DEMOTE_MEMBER packet builder */
|
||||
class GuildDemotePacket {
|
||||
public:
|
||||
static network::Packet build(const std::string& playerName);
|
||||
};
|
||||
|
||||
/** CMSG_GUILD_LEAVE packet builder */
|
||||
class GuildLeavePacket {
|
||||
public:
|
||||
static network::Packet build();
|
||||
};
|
||||
|
||||
/** CMSG_GUILD_INVITE packet builder */
|
||||
class GuildInvitePacket {
|
||||
public:
|
||||
static network::Packet build(const std::string& playerName);
|
||||
};
|
||||
|
||||
// ============================================================
|
||||
// Ready Check
|
||||
// ============================================================
|
||||
|
||||
/** MSG_RAID_READY_CHECK packet builder */
|
||||
class ReadyCheckPacket {
|
||||
public:
|
||||
static network::Packet build();
|
||||
};
|
||||
|
||||
/** MSG_RAID_READY_CHECK_CONFIRM packet builder */
|
||||
class ReadyCheckConfirmPacket {
|
||||
public:
|
||||
static network::Packet build(bool ready);
|
||||
};
|
||||
|
||||
// ============================================================
|
||||
// Duel
|
||||
// ============================================================
|
||||
|
||||
/** CMSG_DUEL_CANCELLED packet builder */
|
||||
class DuelCancelPacket {
|
||||
public:
|
||||
static network::Packet build();
|
||||
};
|
||||
|
||||
// ============================================================
|
||||
// Random Roll
|
||||
// ============================================================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue