Files
Viano-Core/src/server/game/Server/Packets/GuildPackets.h
T
Ovahlord c858107f5e Core/Packets:
* updated remaining guild bank client opcodes to packet class
* corrected gem socket data naming for guild bank query packet
* renamed several opcodes to match master branch namings
2019-09-02 19:46:49 +02:00

226 lines
6.5 KiB
C++

/*
* Copyright (C) 2008-2019 TrinityCore <http://www.trinitycore.org/>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef GuildPackets_h__
#define GuildPackets_h__
#include "Packet.h"
#include "ItemPacketsCommon.h"
#include "ObjectGuid.h"
#include "Guild.h"
namespace WorldPackets
{
namespace Guild
{
class GuildBankActivate final : public ClientPacket
{
public:
GuildBankActivate(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_ACTIVATE, std::move(packet)) { }
void Read() override;
ObjectGuid Banker;
bool FullUpdate = false;
};
class GuildBankQueryTab final : public ClientPacket
{
public:
GuildBankQueryTab(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_QUERY_TAB, std::move(packet)) { }
void Read() override;
ObjectGuid Banker;
uint8 Tab = 0;
bool FullUpdate = false;
};
class GuildBankBuyTab final : public ClientPacket
{
public:
GuildBankBuyTab(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_BUY_TAB, std::move(packet)) { }
void Read() override;
ObjectGuid Banker;
uint8 BankTab = 0;
};
class GuildBankUpdateTab final : public ClientPacket
{
public:
GuildBankUpdateTab(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_UPDATE_TAB, std::move(packet)) { }
void Read() override;
ObjectGuid Banker;
uint8 BankTab = 0;
std::string Name;
std::string Icon;
};
class GuildBankDepositMoney final : public ClientPacket
{
public:
GuildBankDepositMoney(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_DEPOSIT_MONEY, std::move(packet)) { }
void Read() override;
ObjectGuid Banker;
uint64 Money = 0;
};
class GuildBankWithdrawMoney final : public ClientPacket
{
public:
GuildBankWithdrawMoney(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_WITHDRAW_MONEY, std::move(packet)) { }
void Read() override;
ObjectGuid Banker;
uint64 Money = 0;
};
class GuildPermissionsQuery final : public ClientPacket
{
public:
GuildPermissionsQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_PERMISSIONS_QUERY, std::move(packet)) { }
void Read() override { }
};
class GuildBankRemainingWithdrawMoneyQuery final : public ClientPacket
{
public:
GuildBankRemainingWithdrawMoneyQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY, std::move(packet)) { }
void Read() override { }
};
class GuildBankLogQuery final : public ClientPacket
{
public:
GuildBankLogQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_LOG_QUERY, std::move(packet)) { }
void Read() override;
int32 Tab = 0;
};
class GuildBankSwapItems final : public ClientPacket
{
public:
GuildBankSwapItems(WorldPacket&& packet) : ClientPacket(std::move(packet)) { }
void Read() override;
ObjectGuid Banker;
int32 StackCount = 0;
int32 BankItemCount = 0;
uint32 ItemID = 0;
uint32 ItemID1 = 0;
uint8 ToSlot = 0;
uint8 BankSlot = 0;
uint8 BankSlot1 = 0;
uint8 BankTab = 0;
uint8 BankTab1 = 0;
uint8 ContainerSlot = 0;
uint8 ContainerItemSlot = 0;
bool AutoStore = false;
bool BankOnly = false;
};
class GuildBankTextQuery final : public ClientPacket
{
public:
GuildBankTextQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_TEXT_QUERY, std::move(packet)) { }
void Read() override;
int32 Tab = 0;
};
class GuildBankSetTabText final : public ClientPacket
{
public:
GuildBankSetTabText(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_SET_TAB_TEXT, std::move(packet)) { }
void Read() override;
int32 Tab = 0;
std::string TabText;
};
class GuildXPQuery final : public ClientPacket
{
public:
GuildXPQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_XP_QUERY, std::move(packet)) { }
ObjectGuid GuildGUID;
void Read() override;
};
struct GuildBankItemInfo
{
struct GuildBankSocketEnchant
{
int32 SocketIndex = 0;
int32 SocketEnchantID = 0;
};
WorldPackets::Item::ItemInstance Item;
int32 Slot = 0;
int32 Count = 0;
int32 EnchantmentID = 0;
int32 Charges = 0;
int32 OnUseEnchantmentID = 0;
int32 ReforgeEnchantmentID = 0;
int32 RandomPropertiesID = 0;
int32 RandomPropertiesSeed = 0;
int32 Flags = 0;
bool Locked = false;
std::vector<GuildBankSocketEnchant> SocketEnchant;
};
struct GuildBankTabInfo
{
int32 TabIndex = 0;
std::string Name;
std::string Icon;
};
class GuildBankQueryResults final : public ServerPacket
{
public:
GuildBankQueryResults() : ServerPacket(SMSG_GUILD_BANK_QUERY_RESULTS, 25) { }
WorldPacket const* Write() override;
std::vector<GuildBankItemInfo> ItemInfo;
std::vector<GuildBankTabInfo> TabInfo;
int32 WithdrawalsRemaining = 0;
int32 Tab = 0;
uint64 Money = 0;
bool FullUpdate = false;
};
}
}
#endif // GuildPackets_h__