mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Add Tier 6 commands: party/raid management
- Uninvite/kick: /uninvite, /kick <player name> to remove player from party/raid - Leave party: /leave, /leaveparty to leave current group - Main tank: /maintank, /mt to set target as main tank (uses raid marker index 0) - Main assist: /mainassist, /ma to set target as main assist (uses raid marker index 1) - Clear markers: /clearmaintank, /clearmainassist to remove designations - Raid info: /raidinfo to display raid lockouts and saved instances Added opcodes: - CMSG_REQUEST_RAID_INFO (0x2CD) for requesting raid lockout info - SMSG_RAID_INSTANCE_INFO (0x2CC) for receiving raid info response New packet builders: - GroupUninvitePacket for removing players from group - GroupDisbandPacket for leaving party (with logging) - RaidTargetUpdatePacket for setting raid markers (main tank/assist) - RequestRaidInfoPacket for querying raid lockouts All commands include proper validation and user feedback.
This commit is contained in:
parent
627c2fe0f6
commit
d5b734a591
6 changed files with 246 additions and 11 deletions
|
|
@ -1421,6 +1421,37 @@ network::Packet DuelCancelPacket::build() {
|
|||
return packet;
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Party/Raid Management
|
||||
// ============================================================
|
||||
|
||||
network::Packet GroupUninvitePacket::build(const std::string& playerName) {
|
||||
network::Packet packet(static_cast<uint16_t>(Opcode::CMSG_GROUP_UNINVITE_GUID));
|
||||
packet.writeString(playerName);
|
||||
LOG_DEBUG("Built CMSG_GROUP_UNINVITE_GUID for player: ", playerName);
|
||||
return packet;
|
||||
}
|
||||
|
||||
network::Packet GroupDisbandPacket::build() {
|
||||
network::Packet packet(static_cast<uint16_t>(Opcode::CMSG_GROUP_DISBAND));
|
||||
LOG_DEBUG("Built CMSG_GROUP_DISBAND");
|
||||
return packet;
|
||||
}
|
||||
|
||||
network::Packet RaidTargetUpdatePacket::build(uint8_t targetIndex, uint64_t targetGuid) {
|
||||
network::Packet packet(static_cast<uint16_t>(Opcode::MSG_RAID_TARGET_UPDATE));
|
||||
packet.writeUInt8(targetIndex);
|
||||
packet.writeUInt64(targetGuid);
|
||||
LOG_DEBUG("Built MSG_RAID_TARGET_UPDATE, index: ", (uint32_t)targetIndex, ", guid: 0x", std::hex, targetGuid, std::dec);
|
||||
return packet;
|
||||
}
|
||||
|
||||
network::Packet RequestRaidInfoPacket::build() {
|
||||
network::Packet packet(static_cast<uint16_t>(Opcode::CMSG_REQUEST_RAID_INFO));
|
||||
LOG_DEBUG("Built CMSG_REQUEST_RAID_INFO");
|
||||
return packet;
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Random Roll
|
||||
// ============================================================
|
||||
|
|
@ -2092,11 +2123,6 @@ network::Packet GroupDeclinePacket::build() {
|
|||
return packet;
|
||||
}
|
||||
|
||||
network::Packet GroupDisbandPacket::build() {
|
||||
network::Packet packet(static_cast<uint16_t>(Opcode::CMSG_GROUP_DISBAND));
|
||||
return packet;
|
||||
}
|
||||
|
||||
bool GroupListParser::parse(network::Packet& packet, GroupListData& data) {
|
||||
data.groupType = packet.readUInt8();
|
||||
data.subGroup = packet.readUInt8();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue