Core/PacketIO: Add new guild bank interaction opcodes

Port From (https://github.com/TrinityCore/TrinityCore/commit/9d4ccbda34cc7213b155bba308fe10be87e17b66)
This commit is contained in:
hondacrx
2021-05-23 17:12:34 -04:00
parent 50c7682db6
commit d5080b02a9
2 changed files with 186 additions and 54 deletions
+16 -4
View File
@@ -62,13 +62,14 @@ namespace Framework.Constants
AuctionSetFavoriteItem = 0x3735, AuctionSetFavoriteItem = 0x3735,
AuthContinuedSession = 0x3766, AuthContinuedSession = 0x3766,
AuthSession = 0x3765, AuthSession = 0x3765,
AutobankItem = 0x3996, AutobankItem = 0x3997,
AutobankReagent = 0x3998, AutobankReagent = 0x3999,
AutostoreBankItem = 0x3997, AutostoreBankItem = 0x3996,
AutostoreBankReagent = 0x3999, AutostoreBankReagent = 0x3998,
AutoEquipItem = 0x399a, AutoEquipItem = 0x399a,
AutoEquipItemSlot = 0x399f, AutoEquipItemSlot = 0x399f,
AutoStoreBagItem = 0x399b, AutoStoreBagItem = 0x399b,
AutoStoreGuildBankItem = 0x34c6,
AzeriteEmpoweredItemSelectPower = 0x3386, AzeriteEmpoweredItemSelectPower = 0x3386,
AzeriteEmpoweredItemViewed = 0x3368, AzeriteEmpoweredItemViewed = 0x3368,
AzeriteEssenceActivateEssence = 0x3388, AzeriteEssenceActivateEssence = 0x3388,
@@ -253,6 +254,7 @@ namespace Framework.Constants
DeleteEquipmentSet = 0x3519, DeleteEquipmentSet = 0x3519,
DelFriend = 0x36d1, DelFriend = 0x36d1,
DelIgnore = 0x36d5, DelIgnore = 0x36d5,
DepositGuildBankItem = 0x34bd,
DepositReagentBank = 0x334a, DepositReagentBank = 0x334a,
DestroyItem = 0x32a1, DestroyItem = 0x32a1,
DfBootPlayerVote = 0x3615, DfBootPlayerVote = 0x3615,
@@ -446,6 +448,9 @@ namespace Framework.Constants
MailTakeMoney = 0x3549, MailTakeMoney = 0x3549,
MakeContitionalAppearancePermanent = 0x322e, MakeContitionalAppearancePermanent = 0x322e,
MasterLootItem = 0x3216, MasterLootItem = 0x3216,
MergeGuildBankItemWithGuildBankItem = 0x34c7,
MergeGuildBankItemWithItem = 0x34c4,
MergeItemWithGuildBankItem = 0x34c2,
MinimapPing = 0x364b, MinimapPing = 0x364b,
MissileTrajectoryCollision = 0x318b, MissileTrajectoryCollision = 0x318b,
MountClearFanfare = 0x312d, MountClearFanfare = 0x312d,
@@ -476,6 +481,7 @@ namespace Framework.Constants
MoveForceWalkSpeedChangeAck = 0x3a20, MoveForceWalkSpeedChangeAck = 0x3a20,
MoveGravityDisableAck = 0x3a34, MoveGravityDisableAck = 0x3a34,
MoveGravityEnableAck = 0x3a35, MoveGravityEnableAck = 0x3a35,
MoveGuildBankItem = 0x34c1,
MoveHeartbeat = 0x3a0f, MoveHeartbeat = 0x3a0f,
MoveHoverAck = 0x3a12, MoveHoverAck = 0x3a12,
MoveInitActiveMoverComplete = 0x3a43, MoveInitActiveMoverComplete = 0x3a43,
@@ -731,11 +737,15 @@ namespace Framework.Constants
SortReagentBankBags = 0x3349, SortReagentBankBags = 0x3349,
SpellClick = 0x349b, SpellClick = 0x349b,
SpiritHealerActivate = 0x34b5, SpiritHealerActivate = 0x34b5,
SplitGuildBankItem = 0x34c8,
SplitGuildBankItemToInventory = 0x34c5,
SplitItem = 0x399e, SplitItem = 0x399e,
SplitItemToGuildBank = 0x34C3,
StandStateChange = 0x318a, StandStateChange = 0x318a,
StartChallengeMode = 0x355c, StartChallengeMode = 0x355c,
StartSpectatorWarGame = 0x35df, StartSpectatorWarGame = 0x35df,
StartWarGame = 0x35de, StartWarGame = 0x35de,
StoreGuildBankItem = 0x34be,
SubmitUserFeedback = 0x3697, SubmitUserFeedback = 0x3697,
SubscriptionInterstitialResponse = 0x33e9, SubscriptionInterstitialResponse = 0x33e9,
SummonResponse = 0x366a, SummonResponse = 0x366a,
@@ -743,8 +753,10 @@ namespace Framework.Constants
SurrenderArena = 0x3174, SurrenderArena = 0x3174,
SuspendCommsAck = 0x3764, SuspendCommsAck = 0x3764,
SuspendTokenResponse = 0x376a, SuspendTokenResponse = 0x376a,
SwapGuildBankItemWithGuildBankItem = 0x34c0,
SwapInvItem = 0x399d, SwapInvItem = 0x399d,
SwapItem = 0x399c, SwapItem = 0x399c,
SwapItemWithGuildBankItem = 0x34bf,
SwapSubGroups = 0x364d, SwapSubGroups = 0x364d,
SwapVoidItem = 0x31a6, SwapVoidItem = 0x31a6,
TabardVendorActivate = 0x32b9, TabardVendorActivate = 0x32b9,
+170 -50
View File
@@ -1076,110 +1076,209 @@ namespace Game.Networking.Packets
public bool FullUpdate; public bool FullUpdate;
} }
public class GuildBankTransferItem : ClientPacket class DepositGuildBankItem : ClientPacket
{ {
public GuildBankTransferItem(WorldPacket packet) : base(packet) { } public DepositGuildBankItem(WorldPacket packet) : base(packet) { }
public override void Read() public override void Read()
{ {
Banker = _worldPacket.ReadPackedGuid(); Banker = _worldPacket.ReadPackedGuid();
BankTab = _worldPacket.ReadUInt8(); BankTab = _worldPacket.ReadUInt8();
BankSlot = _worldPacket.ReadUInt8(); BankSlot = _worldPacket.ReadUInt8(); ;
PlayerSlot = _worldPacket.ReadUInt8(); ContainerItemSlot = _worldPacket.ReadUInt8();
HasBag = _worldPacket.HasBit(); if (_worldPacket.HasBit())
_worldPacket.ResetBitPos(); ContainerSlot.Set(_worldPacket.ReadUInt8());
if (HasBag)
PlayerBag = _worldPacket.ReadUInt8();
} }
public ObjectGuid Banker; public ObjectGuid Banker;
public byte BankTab; public byte BankTab;
public byte BankSlot; public byte BankSlot;
public byte PlayerSlot; public Optional<byte> ContainerSlot;
public bool HasBag; public byte ContainerItemSlot;
public byte PlayerBag;
} }
class GuildBankMoveItemInBank : ClientPacket class StoreGuildBankItem : ClientPacket
{ {
public GuildBankMoveItemInBank(WorldPacket packet) : base(packet) { } public StoreGuildBankItem(WorldPacket packet) : base(packet) { }
public override void Read() public override void Read()
{ {
Banker = _worldPacket.ReadPackedGuid(); Banker = _worldPacket.ReadPackedGuid();
BankTab = _worldPacket.ReadUInt8(); BankTab = _worldPacket.ReadUInt8();
BankSlot = _worldPacket.ReadUInt8(); BankSlot = _worldPacket.ReadUInt8(); ;
NewBankTab = _worldPacket.ReadUInt8(); ContainerItemSlot = _worldPacket.ReadUInt8();
NewBankSlot = _worldPacket.ReadUInt8();
if (_worldPacket.HasBit())
ContainerSlot.Set(_worldPacket.ReadUInt8());
} }
public ObjectGuid Banker; public ObjectGuid Banker;
public byte BankTab; public byte BankTab;
public byte BankSlot; public byte BankSlot;
public byte NewBankTab; public Optional<byte> ContainerSlot;
public byte NewBankSlot; public byte ContainerItemSlot;
} }
class GuildBankCombineItemStack : ClientPacket
class SwapItemWithGuildBankItem : ClientPacket
{ {
public GuildBankCombineItemStack(WorldPacket packet) : base(packet) { } public SwapItemWithGuildBankItem(WorldPacket packet) : base(packet) { }
public override void Read()
{
Banker = _worldPacket.ReadPackedGuid();
BankTab = _worldPacket.ReadUInt8();
BankSlot = _worldPacket.ReadUInt8(); ;
ContainerItemSlot = _worldPacket.ReadUInt8();
if (_worldPacket.HasBit())
ContainerSlot.Set(_worldPacket.ReadUInt8());
}
public ObjectGuid Banker;
public byte BankTab;
public byte BankSlot;
public Optional<byte> ContainerSlot;
public byte ContainerItemSlot;
}
class SwapGuildBankItemWithGuildBankItem : ClientPacket
{
public SwapGuildBankItemWithGuildBankItem(WorldPacket packet) : base(packet) { }
public override void Read()
{
Banker = _worldPacket.ReadPackedGuid();
BankTab[0] = _worldPacket.ReadUInt8();
BankSlot[0] = _worldPacket.ReadUInt8();
BankTab[1] = _worldPacket.ReadUInt8();
BankSlot[1] = _worldPacket.ReadUInt8();
}
public ObjectGuid Banker;
public byte[] BankTab = new byte[2];
public byte[] BankSlot = new byte[2];
}
class MoveGuildBankItem : ClientPacket
{
public MoveGuildBankItem(WorldPacket packet) : base(packet) { }
public override void Read() public override void Read()
{ {
Banker = _worldPacket.ReadPackedGuid(); Banker = _worldPacket.ReadPackedGuid();
BankTab = _worldPacket.ReadUInt8(); BankTab = _worldPacket.ReadUInt8();
BankSlot = _worldPacket.ReadUInt8(); BankSlot = _worldPacket.ReadUInt8();
PlayerSlot = _worldPacket.ReadUInt8(); BankTab1 = _worldPacket.ReadUInt8();
BankSlot1 = _worldPacket.ReadUInt8();
}
public ObjectGuid Banker;
public byte BankTab;
public byte BankSlot;
public byte BankTab1;
public byte BankSlot1;
}
class MergeItemWithGuildBankItem : ClientPacket
{
public MergeItemWithGuildBankItem(WorldPacket packet) : base(packet) { }
public override void Read()
{
Banker = _worldPacket.ReadPackedGuid();
BankTab = _worldPacket.ReadUInt8();
BankSlot = _worldPacket.ReadUInt8(); ;
ContainerItemSlot = _worldPacket.ReadUInt8();
StackCount = _worldPacket.ReadUInt32(); StackCount = _worldPacket.ReadUInt32();
HasBag = _worldPacket.HasBit(); if (_worldPacket.HasBit())
_worldPacket.ResetBitPos(); ContainerSlot.Set(_worldPacket.ReadUInt8());
if (HasBag)
PlayerBag = _worldPacket.ReadUInt8();
} }
public ObjectGuid Banker; public ObjectGuid Banker;
public byte BankTab; public byte BankTab;
public byte BankSlot; public byte BankSlot;
public byte PlayerSlot; public Optional<byte> ContainerSlot;
public byte ContainerItemSlot;
public uint StackCount; public uint StackCount;
public bool HasBag;
public byte PlayerBag;
} }
class GuildBankTransferItemStack : ClientPacket class SplitItemToGuildBank : ClientPacket
{ {
public GuildBankTransferItemStack(WorldPacket packet) : base(packet) { } public SplitItemToGuildBank(WorldPacket packet) : base(packet) { }
public override void Read() public override void Read()
{ {
Banker = _worldPacket.ReadPackedGuid(); Banker = _worldPacket.ReadPackedGuid();
BankTab = _worldPacket.ReadUInt8(); BankTab = _worldPacket.ReadUInt8();
BankSlot = _worldPacket.ReadUInt8(); BankSlot = _worldPacket.ReadUInt8(); ;
PlayerSlot = _worldPacket.ReadUInt8(); ContainerItemSlot = _worldPacket.ReadUInt8();
StackCount = _worldPacket.ReadUInt32(); StackCount = _worldPacket.ReadUInt32();
HasBag = _worldPacket.HasBit(); if (_worldPacket.HasBit())
_worldPacket.ResetBitPos(); ContainerSlot.Set(_worldPacket.ReadUInt8());
if (HasBag)
PlayerBag = _worldPacket.ReadUInt8();
} }
public ObjectGuid Banker; public ObjectGuid Banker;
public byte BankTab; public byte BankTab;
public byte BankSlot; public byte BankSlot;
public byte PlayerSlot; public Optional<byte> ContainerSlot;
public byte ContainerItemSlot;
public uint StackCount; public uint StackCount;
public bool HasBag;
public byte PlayerBag;
} }
class GuildBankTransferItemAutoStore : ClientPacket class MergeGuildBankItemWithItem : ClientPacket
{ {
public GuildBankTransferItemAutoStore(WorldPacket packet) : base(packet) { } public MergeGuildBankItemWithItem(WorldPacket packet) : base(packet) { }
public override void Read()
{
Banker = _worldPacket.ReadPackedGuid();
BankTab = _worldPacket.ReadUInt8();
BankSlot = _worldPacket.ReadUInt8(); ;
ContainerItemSlot = _worldPacket.ReadUInt8();
StackCount = _worldPacket.ReadUInt32();
if (_worldPacket.HasBit())
ContainerSlot.Set(_worldPacket.ReadUInt8());
}
public ObjectGuid Banker;
public byte BankTab;
public byte BankSlot;
public Optional<byte> ContainerSlot;
public byte ContainerItemSlot;
public uint StackCount;
}
class SplitGuildBankItemToInventory : ClientPacket
{
public SplitGuildBankItemToInventory(WorldPacket packet) : base(packet) { }
public override void Read()
{
Banker = _worldPacket.ReadPackedGuid();
BankTab = _worldPacket.ReadUInt8();
BankSlot = _worldPacket.ReadUInt8(); ;
ContainerItemSlot = _worldPacket.ReadUInt8();
StackCount = _worldPacket.ReadUInt32();
if (_worldPacket.HasBit())
ContainerSlot.Set(_worldPacket.ReadUInt8());
}
public ObjectGuid Banker;
public byte BankTab;
public byte BankSlot;
public Optional<byte> ContainerSlot;
public byte ContainerItemSlot;
public uint StackCount;
}
class AutoStoreGuildBankItem : ClientPacket
{
public AutoStoreGuildBankItem(WorldPacket packet) : base(packet) { }
public override void Read() public override void Read()
{ {
@@ -1193,28 +1292,49 @@ namespace Game.Networking.Packets
public byte BankSlot; public byte BankSlot;
} }
class GuildBankCombineItemStackInBank : ClientPacket class MergeGuildBankItemWithGuildBankItem : ClientPacket
{ {
public GuildBankCombineItemStackInBank(WorldPacket packet) : base(packet) { } public MergeGuildBankItemWithGuildBankItem(WorldPacket packet) : base(packet) { }
public override void Read() public override void Read()
{ {
Banker = _worldPacket.ReadPackedGuid(); Banker = _worldPacket.ReadPackedGuid();
BankTab = _worldPacket.ReadUInt8(); BankTab = _worldPacket.ReadUInt8();
BankSlot = _worldPacket.ReadUInt8(); BankSlot = _worldPacket.ReadUInt8();
NewBankTab = _worldPacket.ReadUInt8(); BankTab1 = _worldPacket.ReadUInt8();
NewBankSlot = _worldPacket.ReadUInt8(); BankSlot1 = _worldPacket.ReadUInt8();
StackCount = _worldPacket.ReadUInt32(); StackCount = _worldPacket.ReadUInt32();
} }
public ObjectGuid Banker; public ObjectGuid Banker;
public byte BankTab; public byte BankTab;
public byte BankSlot; public byte BankSlot;
public byte NewBankTab; public byte BankTab1;
public byte NewBankSlot; public byte BankSlot1;
public uint StackCount; public uint StackCount;
} }
class SplitGuildBankItem : ClientPacket
{
public SplitGuildBankItem(WorldPacket packet) : base(packet) { }
public override void Read()
{
Banker = _worldPacket.ReadPackedGuid();
BankTab = _worldPacket.ReadUInt8();
BankSlot = _worldPacket.ReadUInt8();
BankTab1 = _worldPacket.ReadUInt8();
BankSlot1 = _worldPacket.ReadUInt8();
StackCount = _worldPacket.ReadUInt32();
}
public ObjectGuid Banker;
public byte BankTab;
public byte BankSlot;
public byte BankTab1;
public byte BankSlot1;
public uint StackCount;
}
public class GuildBankLogQuery : ClientPacket public class GuildBankLogQuery : ClientPacket
{ {
public GuildBankLogQuery(WorldPacket packet) : base(packet) { } public GuildBankLogQuery(WorldPacket packet) : base(packet) { }