From b1ea7212f37dfa185af07bbabf0f7179c0f33702 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Sun, 18 Apr 2021 14:06:00 -0400 Subject: [PATCH] Move some packets processing to map context Port From (https://github.com/TrinityCore/TrinityCore/commit/2ea8f5e6fced094f28c45ac84123c85477122567) --- Source/Game/Handlers/ArtifactHandler.cs | 4 +-- Source/Game/Handlers/AzeriteHandler.cs | 8 ++--- Source/Game/Handlers/BankHandler.cs | 8 ++--- Source/Game/Handlers/BattleGroundHandler.cs | 2 +- Source/Game/Handlers/CharacterHandler.cs | 2 +- Source/Game/Handlers/ChatHandler.cs | 4 +-- Source/Game/Handlers/GroupHandler.cs | 4 +-- Source/Game/Handlers/GuildHandler.cs | 6 ++-- Source/Game/Handlers/InspectHandler.cs | 4 +-- Source/Game/Handlers/ItemHandler.cs | 38 ++++++++++----------- Source/Game/Handlers/MiscHandler.cs | 8 ++--- Source/Game/Handlers/NPCHandler.cs | 14 ++++---- Source/Game/Handlers/PetHandler.cs | 8 ++--- Source/Game/Handlers/QueryHandler.cs | 16 ++++----- Source/Game/Handlers/QuestHandler.cs | 18 +++++----- Source/Game/Handlers/ScenarioHandler.cs | 2 +- Source/Game/Handlers/SkillHandler.cs | 6 ++-- Source/Game/Handlers/SpellHandler.cs | 24 ++++++------- Source/Game/Handlers/ToyHandler.cs | 2 +- Source/Game/Handlers/VehicleHandler.cs | 12 +++---- Source/Game/Handlers/VoidStorageHandler.cs | 6 ++-- 21 files changed, 98 insertions(+), 98 deletions(-) diff --git a/Source/Game/Handlers/ArtifactHandler.cs b/Source/Game/Handlers/ArtifactHandler.cs index ea5c90382..f1ccb4aa6 100644 --- a/Source/Game/Handlers/ArtifactHandler.cs +++ b/Source/Game/Handlers/ArtifactHandler.cs @@ -27,7 +27,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.ArtifactAddPower)] + [WorldPacketHandler(ClientOpcodes.ArtifactAddPower, Processing = PacketProcessing.Inplace)] void HandleArtifactAddPower(ArtifactAddPower artifactAddPower) { if (!_player.GetGameObjectIfCanInteractWith(artifactAddPower.ForgeGUID, GameObjectTypes.ItemForge)) @@ -157,7 +157,7 @@ namespace Game artifact.SetModifier(ItemModifier.ArtifactTier, artifactTier); } - [WorldPacketHandler(ClientOpcodes.ArtifactSetAppearance)] + [WorldPacketHandler(ClientOpcodes.ArtifactSetAppearance, Processing = PacketProcessing.Inplace)] void HandleArtifactSetAppearance(ArtifactSetAppearance artifactSetAppearance) { if (!_player.GetGameObjectIfCanInteractWith(artifactSetAppearance.ForgeGUID, GameObjectTypes.ItemForge)) diff --git a/Source/Game/Handlers/AzeriteHandler.cs b/Source/Game/Handlers/AzeriteHandler.cs index 22243f5d6..bbf8e9e92 100644 --- a/Source/Game/Handlers/AzeriteHandler.cs +++ b/Source/Game/Handlers/AzeriteHandler.cs @@ -26,7 +26,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.AzeriteEssenceUnlockMilestone)] + [WorldPacketHandler(ClientOpcodes.AzeriteEssenceUnlockMilestone, Processing = PacketProcessing.Inplace)] void HandleAzeriteEssenceUnlockMilestone(AzeriteEssenceUnlockMilestone azeriteEssenceUnlockMilestone) { if (!AzeriteItem.FindHeartForge(_player)) @@ -59,7 +59,7 @@ namespace Game azeriteItem.SetState(ItemUpdateState.Changed, _player); } - [WorldPacketHandler(ClientOpcodes.AzeriteEssenceActivateEssence)] + [WorldPacketHandler(ClientOpcodes.AzeriteEssenceActivateEssence, Processing = PacketProcessing.Inplace)] void HandleAzeriteEssenceActivateEssence(AzeriteEssenceActivateEssence azeriteEssenceActivateEssence) { ActivateEssenceFailed activateEssenceResult = new(); @@ -177,7 +177,7 @@ namespace Game azeriteItem.SetState(ItemUpdateState.Changed, _player); } - [WorldPacketHandler(ClientOpcodes.AzeriteEmpoweredItemViewed)] + [WorldPacketHandler(ClientOpcodes.AzeriteEmpoweredItemViewed, Processing = PacketProcessing.Inplace)] void HandleAzeriteEmpoweredItemViewed(AzeriteEmpoweredItemViewed azeriteEmpoweredItemViewed) { Item item = _player.GetItemByGuid(azeriteEmpoweredItemViewed.ItemGUID); @@ -188,7 +188,7 @@ namespace Game item.SetState(ItemUpdateState.Changed, _player); } - [WorldPacketHandler(ClientOpcodes.AzeriteEmpoweredItemSelectPower)] + [WorldPacketHandler(ClientOpcodes.AzeriteEmpoweredItemSelectPower, Processing = PacketProcessing.Inplace)] void HandleAzeriteEmpoweredItemSelectPower(AzeriteEmpoweredItemSelectPower azeriteEmpoweredItemSelectPower) { Item item = _player.GetItemByPos(azeriteEmpoweredItemSelectPower.ContainerSlot, azeriteEmpoweredItemSelectPower.Slot); diff --git a/Source/Game/Handlers/BankHandler.cs b/Source/Game/Handlers/BankHandler.cs index 80b4a23d9..f31fd0fc4 100644 --- a/Source/Game/Handlers/BankHandler.cs +++ b/Source/Game/Handlers/BankHandler.cs @@ -26,7 +26,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.AutobankItem)] + [WorldPacketHandler(ClientOpcodes.AutobankItem, Processing = PacketProcessing.Inplace)] void HandleAutoBankItem(AutoBankItem packet) { if (!CanUseBank()) @@ -58,7 +58,7 @@ namespace Game GetPlayer().BankItem(dest, item, true); } - [WorldPacketHandler(ClientOpcodes.BankerActivate)] + [WorldPacketHandler(ClientOpcodes.BankerActivate, Processing = PacketProcessing.Inplace)] void HandleBankerActivate(Hello packet) { Creature unit = GetPlayer().GetNPCIfCanInteractWith(packet.Unit, NPCFlags.Banker, NPCFlags2.None); @@ -74,7 +74,7 @@ namespace Game SendShowBank(packet.Unit); } - [WorldPacketHandler(ClientOpcodes.AutostoreBankItem)] + [WorldPacketHandler(ClientOpcodes.AutostoreBankItem, Processing = PacketProcessing.Inplace)] void HandleAutoStoreBankItem(AutoStoreBankItem packet) { if (!CanUseBank()) @@ -117,7 +117,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.BuyBankSlot)] + [WorldPacketHandler(ClientOpcodes.BuyBankSlot, Processing = PacketProcessing.Inplace)] void HandleBuyBankSlot(BuyBankSlot packet) { if (!CanUseBank(packet.Guid)) diff --git a/Source/Game/Handlers/BattleGroundHandler.cs b/Source/Game/Handlers/BattleGroundHandler.cs index 245b5468e..8eca7a630 100644 --- a/Source/Game/Handlers/BattleGroundHandler.cs +++ b/Source/Game/Handlers/BattleGroundHandler.cs @@ -594,7 +594,7 @@ namespace Game SendPacket(new PVPOptionsEnabled()); } - [WorldPacketHandler(ClientOpcodes.RequestPvpRewards)] + [WorldPacketHandler(ClientOpcodes.RequestPvpRewards, Processing = PacketProcessing.Inplace)] void HandleRequestPvpReward(RequestPVPRewards packet) { GetPlayer().SendPvpRewards(); diff --git a/Source/Game/Handlers/CharacterHandler.cs b/Source/Game/Handlers/CharacterHandler.cs index c278ca152..ff324ad80 100644 --- a/Source/Game/Handlers/CharacterHandler.cs +++ b/Source/Game/Handlers/CharacterHandler.cs @@ -1585,7 +1585,7 @@ namespace Game GetPlayer().DeleteEquipmentSet(packet.ID); } - [WorldPacketHandler(ClientOpcodes.UseEquipmentSet)] + [WorldPacketHandler(ClientOpcodes.UseEquipmentSet, Processing = PacketProcessing.Inplace)] void HandleUseEquipmentSet(UseEquipmentSet useEquipmentSet) { ObjectGuid ignoredItemGuid = new(0x0C00040000000000, 0xFFFFFFFFFFFFFFFF); diff --git a/Source/Game/Handlers/ChatHandler.cs b/Source/Game/Handlers/ChatHandler.cs index 8611f7271..746f4978b 100644 --- a/Source/Game/Handlers/ChatHandler.cs +++ b/Source/Game/Handlers/ChatHandler.cs @@ -542,7 +542,7 @@ namespace Game Global.ScriptMgr.OnPlayerChat(sender, ChatMsg.Dnd, Language.Universal, packet.Text); } - [WorldPacketHandler(ClientOpcodes.Emote)] + [WorldPacketHandler(ClientOpcodes.Emote, Processing = PacketProcessing.Inplace)] void HandleEmote(EmoteClient packet) { if (!GetPlayer().IsAlive() || GetPlayer().HasUnitState(UnitState.Died)) @@ -552,7 +552,7 @@ namespace Game GetPlayer().SetEmoteState(Emote.OneshotNone); } - [WorldPacketHandler(ClientOpcodes.SendTextEmote)] + [WorldPacketHandler(ClientOpcodes.SendTextEmote, Processing = PacketProcessing.Inplace)] void HandleTextEmote(CTextEmote packet) { if (!GetPlayer().IsAlive()) diff --git a/Source/Game/Handlers/GroupHandler.cs b/Source/Game/Handlers/GroupHandler.cs index 55840844a..e2bf136f7 100644 --- a/Source/Game/Handlers/GroupHandler.cs +++ b/Source/Game/Handlers/GroupHandler.cs @@ -292,7 +292,7 @@ namespace Game group.SendUpdate(); } - [WorldPacketHandler(ClientOpcodes.SetRole, Processing = PacketProcessing.Inplace)] + [WorldPacketHandler(ClientOpcodes.SetRole)] void HandleSetRole(SetRole packet) { RoleChangedInform roleChangedInform = new(); @@ -608,7 +608,7 @@ namespace Game GetPlayer().SendRaidInfo(); } - [WorldPacketHandler(ClientOpcodes.OptOutOfLoot)] + [WorldPacketHandler(ClientOpcodes.OptOutOfLoot, Processing = PacketProcessing.Inplace)] void HandleOptOutOfLoot(OptOutOfLoot packet) { // ignore if player not loaded diff --git a/Source/Game/Handlers/GuildHandler.cs b/Source/Game/Handlers/GuildHandler.cs index 31156d8e3..c4601cb2f 100644 --- a/Source/Game/Handlers/GuildHandler.cs +++ b/Source/Game/Handlers/GuildHandler.cs @@ -526,7 +526,7 @@ namespace Game guild.HandleGuildPartyRequest(this); } - [WorldPacketHandler(ClientOpcodes.GuildChangeNameRequest)] + [WorldPacketHandler(ClientOpcodes.GuildChangeNameRequest, Processing = PacketProcessing.Inplace)] void HandleGuildChallengeUpdateRequest(GuildChallengeUpdateRequest packet) { Guild guild = GetPlayer().GetGuild(); @@ -543,7 +543,7 @@ namespace Game GetPlayer().RemovePlayerFlag(PlayerFlags.AutoDeclineGuild); } - [WorldPacketHandler(ClientOpcodes.RequestGuildRewardsList, Processing = PacketProcessing.Inplace)] + [WorldPacketHandler(ClientOpcodes.RequestGuildRewardsList)] void HandleRequestGuildRewardsList(RequestGuildRewardsList packet) { if (Global.GuildMgr.GetGuildById(GetPlayer().GetGuildId())) @@ -569,7 +569,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.GuildQueryNews, Processing = PacketProcessing.Inplace)] + [WorldPacketHandler(ClientOpcodes.GuildQueryNews)] void HandleGuildQueryNews(GuildQueryNews packet) { Guild guild = GetPlayer().GetGuild(); diff --git a/Source/Game/Handlers/InspectHandler.cs b/Source/Game/Handlers/InspectHandler.cs index a2924a023..6a0f63ffc 100644 --- a/Source/Game/Handlers/InspectHandler.cs +++ b/Source/Game/Handlers/InspectHandler.cs @@ -26,7 +26,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.Inspect)] + [WorldPacketHandler(ClientOpcodes.Inspect, Processing = PacketProcessing.Inplace)] void HandleInspect(Inspect inspect) { Player player = Global.ObjAccessor.GetPlayer(_player, inspect.Target); @@ -85,7 +85,7 @@ namespace Game SendPacket(inspectResult); } - [WorldPacketHandler(ClientOpcodes.QueryInspectAchievements)] + [WorldPacketHandler(ClientOpcodes.QueryInspectAchievements, Processing = PacketProcessing.Inplace)] void HandleQueryInspectAchievements(QueryInspectAchievements inspect) { Player player = Global.ObjAccessor.GetPlayer(_player, inspect.Guid); diff --git a/Source/Game/Handlers/ItemHandler.cs b/Source/Game/Handlers/ItemHandler.cs index 68f59cad7..e60d2f501 100644 --- a/Source/Game/Handlers/ItemHandler.cs +++ b/Source/Game/Handlers/ItemHandler.cs @@ -29,7 +29,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.SplitItem)] + [WorldPacketHandler(ClientOpcodes.SplitItem, Processing = PacketProcessing.Inplace)] void HandleSplitItem(SplitItem splitItem) { if (splitItem.Inv.Items.Count != 0) @@ -62,7 +62,7 @@ namespace Game _player.SplitItem(src, dst, (uint)splitItem.Quantity); } - [WorldPacketHandler(ClientOpcodes.SwapInvItem)] + [WorldPacketHandler(ClientOpcodes.SwapInvItem, Processing = PacketProcessing.Inplace)] void HandleSwapInvenotryItem(SwapInvItem swapInvItem) { if (swapInvItem.Inv.Items.Count != 2) @@ -105,7 +105,7 @@ namespace Game GetPlayer().SwapItem(src, dst); } - [WorldPacketHandler(ClientOpcodes.AutoEquipItemSlot)] + [WorldPacketHandler(ClientOpcodes.AutoEquipItemSlot, Processing = PacketProcessing.Inplace)] void HandleAutoEquipItemSlot(AutoEquipItemSlot packet) { // cheating attempt, client should never send opcode in that case @@ -122,7 +122,7 @@ namespace Game GetPlayer().SwapItem(srcPos, dstPos); } - [WorldPacketHandler(ClientOpcodes.SwapItem)] + [WorldPacketHandler(ClientOpcodes.SwapItem, Processing = PacketProcessing.Inplace)] void HandleSwapItem(SwapItem swapItem) { if (swapItem.Inv.Items.Count != 2) @@ -168,7 +168,7 @@ namespace Game pl.SwapItem(src, dst); } - [WorldPacketHandler(ClientOpcodes.AutoEquipItem)] + [WorldPacketHandler(ClientOpcodes.AutoEquipItem, Processing = PacketProcessing.Inplace)] void HandleAutoEquipItem(AutoEquipItem autoEquipItem) { if (autoEquipItem.Inv.Items.Count != 1) @@ -306,7 +306,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.DestroyItem)] + [WorldPacketHandler(ClientOpcodes.DestroyItem, Processing = PacketProcessing.Inplace)] void HandleDestroyItem(DestroyItem destroyItem) { ushort pos = (ushort)((destroyItem.ContainerId << 8) | destroyItem.SlotNum); @@ -344,7 +344,7 @@ namespace Game _player.DestroyItem(destroyItem.ContainerId, destroyItem.SlotNum, true); } - [WorldPacketHandler(ClientOpcodes.ReadItem)] + [WorldPacketHandler(ClientOpcodes.ReadItem, Processing = PacketProcessing.Inplace)] void HandleReadItem(ReadItem readItem) { Item item = _player.GetItemByPos(readItem.PackSlot, readItem.Slot); @@ -374,7 +374,7 @@ namespace Game _player.SendEquipError(InventoryResult.ItemNotFound); } - [WorldPacketHandler(ClientOpcodes.SellItem)] + [WorldPacketHandler(ClientOpcodes.SellItem, Processing = PacketProcessing.Inplace)] void HandleSellItem(SellItem packet) { if (packet.ItemGUID.IsEmpty()) @@ -490,7 +490,7 @@ namespace Game return; } - [WorldPacketHandler(ClientOpcodes.BuyBackItem)] + [WorldPacketHandler(ClientOpcodes.BuyBackItem, Processing = PacketProcessing.Inplace)] void HandleBuybackItem(BuyBackItem packet) { Creature creature = _player.GetNPCIfCanInteractWith(packet.VendorGUID, NPCFlags.Vendor, NPCFlags2.None); @@ -531,7 +531,7 @@ namespace Game _player.SendBuyError(BuyResult.CantFindItem, creature, 0); } - [WorldPacketHandler(ClientOpcodes.BuyItem)] + [WorldPacketHandler(ClientOpcodes.BuyItem, Processing = PacketProcessing.Inplace)] void HandleBuyItem(BuyItem packet) { // client expects count starting at 1, and we send vendorslot+1 to client already @@ -562,7 +562,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.AutoStoreBagItem)] + [WorldPacketHandler(ClientOpcodes.AutoStoreBagItem, Processing = PacketProcessing.Inplace)] void HandleAutoStoreBagItem(AutoStoreBagItem packet) { if (!packet.Inv.Items.Empty()) @@ -765,7 +765,7 @@ namespace Game GetPlayer().DestroyItemCount(gift, ref count, true); } - [WorldPacketHandler(ClientOpcodes.SocketGems)] + [WorldPacketHandler(ClientOpcodes.SocketGems, Processing = PacketProcessing.Inplace)] void HandleSocketGems(SocketGems socketGems) { if (socketGems.ItemGuid.IsEmpty()) @@ -980,7 +980,7 @@ namespace Game itemTarget.SendUpdateSockets(); } - [WorldPacketHandler(ClientOpcodes.CancelTempEnchantment)] + [WorldPacketHandler(ClientOpcodes.CancelTempEnchantment, Processing = PacketProcessing.Inplace)] void HandleCancelTempEnchantment(CancelTempEnchantment packet) { // apply only to equipped item @@ -998,7 +998,7 @@ namespace Game item.ClearEnchantment(EnchantmentSlot.Temp); } - [WorldPacketHandler(ClientOpcodes.GetItemPurchaseData)] + [WorldPacketHandler(ClientOpcodes.GetItemPurchaseData, Processing = PacketProcessing.Inplace)] void HandleGetItemPurchaseData(GetItemPurchaseData packet) { Item item = GetPlayer().GetItemByGuid(packet.ItemGUID); @@ -1011,7 +1011,7 @@ namespace Game GetPlayer().SendRefundInfo(item); } - [WorldPacketHandler(ClientOpcodes.ItemPurchaseRefund)] + [WorldPacketHandler(ClientOpcodes.ItemPurchaseRefund, Processing = PacketProcessing.Inplace)] void HandleItemRefund(ItemPurchaseRefund packet) { Item item = GetPlayer().GetItemByGuid(packet.ItemGUID); @@ -1068,7 +1068,7 @@ namespace Game GetPlayer().DestroyItem(item.GetBagSlot(), item.GetSlot(), true); } - [WorldPacketHandler(ClientOpcodes.SortBags)] + [WorldPacketHandler(ClientOpcodes.SortBags, Processing = PacketProcessing.Inplace)] void HandleSortBags(SortBags sortBags) { // TODO: Implement sorting @@ -1076,7 +1076,7 @@ namespace Game SendPacket(new BagCleanupFinished()); } - [WorldPacketHandler(ClientOpcodes.SortBankBags)] + [WorldPacketHandler(ClientOpcodes.SortBankBags, Processing = PacketProcessing.Inplace)] void HandleSortBankBags(SortBankBags sortBankBags) { // TODO: Implement sorting @@ -1084,7 +1084,7 @@ namespace Game SendPacket(new BagCleanupFinished()); } - [WorldPacketHandler(ClientOpcodes.SortReagentBankBags)] + [WorldPacketHandler(ClientOpcodes.SortReagentBankBags, Processing = PacketProcessing.Inplace)] void HandleSortReagentBankBags(SortReagentBankBags sortReagentBankBags) { // TODO: Implement sorting @@ -1092,7 +1092,7 @@ namespace Game SendPacket(new BagCleanupFinished()); } - [WorldPacketHandler(ClientOpcodes.RemoveNewItem)] + [WorldPacketHandler(ClientOpcodes.RemoveNewItem, Processing = PacketProcessing.Inplace)] void HandleRemoveNewItem(RemoveNewItem removeNewItem) { Item item = _player.GetItemByGuid(removeNewItem.ItemGuid); diff --git a/Source/Game/Handlers/MiscHandler.cs b/Source/Game/Handlers/MiscHandler.cs index 904dd89d6..f56ce461e 100644 --- a/Source/Game/Handlers/MiscHandler.cs +++ b/Source/Game/Handlers/MiscHandler.cs @@ -85,7 +85,7 @@ namespace Game GetPlayer().SetSelection(packet.Selection); } - [WorldPacketHandler(ClientOpcodes.ObjectUpdateFailed)] + [WorldPacketHandler(ClientOpcodes.ObjectUpdateFailed, Processing = PacketProcessing.Inplace)] void HandleObjectUpdateFailed(ObjectUpdateFailed objectUpdateFailed) { Log.outError(LogFilter.Network, "Object update failed for {0} for player {1} ({2})", objectUpdateFailed.ObjectGUID.ToString(), GetPlayerName(), GetPlayer().GetGUID().ToString()); @@ -167,7 +167,7 @@ namespace Game // do something? } - [WorldPacketHandler(ClientOpcodes.AreaTrigger)] + [WorldPacketHandler(ClientOpcodes.AreaTrigger, Processing = PacketProcessing.Inplace)] void HandleAreaTrigger(AreaTriggerPkt packet) { Player player = GetPlayer(); @@ -366,7 +366,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.RequestPlayedTime)] + [WorldPacketHandler(ClientOpcodes.RequestPlayedTime, Processing = PacketProcessing.Inplace)] void HandlePlayedTime(RequestPlayedTime packet) { PlayedTime playedTime = new(); @@ -515,7 +515,7 @@ namespace Game GetPlayer().UpdateVisibilityForPlayer(); } - [WorldPacketHandler(ClientOpcodes.SetTitle)] + [WorldPacketHandler(ClientOpcodes.SetTitle, Processing = PacketProcessing.Inplace)] void HandleSetTitle(SetTitle packet) { // -1 at none diff --git a/Source/Game/Handlers/NPCHandler.cs b/Source/Game/Handlers/NPCHandler.cs index 7e1e74544..555639eb5 100644 --- a/Source/Game/Handlers/NPCHandler.cs +++ b/Source/Game/Handlers/NPCHandler.cs @@ -29,7 +29,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.TabardVendorActivate)] + [WorldPacketHandler(ClientOpcodes.TabardVendorActivate, Processing = PacketProcessing.Inplace)] void HandleTabardVendorActivate(Hello packet) { Creature unit = GetPlayer().GetNPCIfCanInteractWith(packet.Unit, NPCFlags.TabardDesigner, NPCFlags2.None); @@ -53,7 +53,7 @@ namespace Game SendPacket(packet); } - [WorldPacketHandler(ClientOpcodes.TrainerList)] + [WorldPacketHandler(ClientOpcodes.TrainerList, Processing = PacketProcessing.Inplace)] void HandleTrainerList(Hello packet) { Creature npc = GetPlayer().GetNPCIfCanInteractWith(packet.Unit, NPCFlags.Trainer, NPCFlags2.None); @@ -89,7 +89,7 @@ namespace Game trainer.SendSpells(npc, _player, GetSessionDbLocaleIndex()); } - [WorldPacketHandler(ClientOpcodes.TrainerBuySpell)] + [WorldPacketHandler(ClientOpcodes.TrainerBuySpell, Processing = PacketProcessing.Inplace)] void HandleTrainerBuySpell(TrainerBuySpell packet) { Creature npc = _player.GetNPCIfCanInteractWith(packet.TrainerGUID, NPCFlags.Trainer, NPCFlags2.None); @@ -126,7 +126,7 @@ namespace Game SendPacket(trainerBuyFailed); } - [WorldPacketHandler(ClientOpcodes.TalkToGossip)] + [WorldPacketHandler(ClientOpcodes.TalkToGossip, Processing = PacketProcessing.Inplace)] void HandleGossipHello(Hello packet) { Creature unit = GetPlayer().GetNPCIfCanInteractWith(packet.Unit, NPCFlags.Gossip, NPCFlags2.None); @@ -290,7 +290,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.BinderActivate)] + [WorldPacketHandler(ClientOpcodes.BinderActivate, Processing = PacketProcessing.Inplace)] void HandleBinderActivate(Hello packet) { if (!GetPlayer().IsInWorld || !GetPlayer().IsAlive()) @@ -408,7 +408,7 @@ namespace Game SendPacket(petStableResult); } - [WorldPacketHandler(ClientOpcodes.RepairItem)] + [WorldPacketHandler(ClientOpcodes.RepairItem, Processing = PacketProcessing.Inplace)] void HandleRepairItem(RepairItem packet) { Creature unit = GetPlayer().GetNPCIfCanInteractWith(packet.NpcGUID, NPCFlags.Repair, NPCFlags2.None); @@ -440,7 +440,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.ListInventory)] + [WorldPacketHandler(ClientOpcodes.ListInventory, Processing = PacketProcessing.Inplace)] void HandleListInventory(Hello packet) { if (!GetPlayer().IsAlive()) diff --git a/Source/Game/Handlers/PetHandler.cs b/Source/Game/Handlers/PetHandler.cs index 6c3c84f95..62af747b5 100644 --- a/Source/Game/Handlers/PetHandler.cs +++ b/Source/Game/Handlers/PetHandler.cs @@ -102,7 +102,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.PetStopAttack)] + [WorldPacketHandler(ClientOpcodes.PetStopAttack, Processing = PacketProcessing.Inplace)] void HandlePetStopAttack(PetStopAttack packet) { Unit pet = ObjectAccessor.GetCreatureOrPetOrVehicle(GetPlayer(), packet.PetGUID); @@ -410,7 +410,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.QueryPetName)] + [WorldPacketHandler(ClientOpcodes.QueryPetName, Processing = PacketProcessing.Inplace)] void HandleQueryPetName(QueryPetName packet) { SendQueryPetNameResponse(packet.UnitGUID); @@ -602,7 +602,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.PetSpellAutocast)] + [WorldPacketHandler(ClientOpcodes.PetSpellAutocast, Processing = PacketProcessing.Inplace)] void HandlePetSpellAutocast(PetSpellAutocast packet) { Creature pet = ObjectAccessor.GetCreatureOrPetOrVehicle(GetPlayer(), packet.PetGUID); @@ -645,7 +645,7 @@ namespace Game charmInfo.SetSpellAutocast(spellInfo, packet.AutocastEnabled); } - [WorldPacketHandler(ClientOpcodes.PetCastSpell)] + [WorldPacketHandler(ClientOpcodes.PetCastSpell, Processing = PacketProcessing.Inplace)] void HandlePetCastSpell(PetCastSpell petCastSpell) { Unit caster = Global.ObjAccessor.GetUnit(GetPlayer(), petCastSpell.PetGUID); diff --git a/Source/Game/Handlers/QueryHandler.cs b/Source/Game/Handlers/QueryHandler.cs index 11190f61c..d6976426e 100644 --- a/Source/Game/Handlers/QueryHandler.cs +++ b/Source/Game/Handlers/QueryHandler.cs @@ -30,7 +30,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.QueryPlayerName)] + [WorldPacketHandler(ClientOpcodes.QueryPlayerName, Processing = PacketProcessing.Inplace)] void HandleNameQueryRequest(QueryPlayerName queryPlayerName) { SendNameQuery(queryPlayerName.Player); @@ -51,7 +51,7 @@ namespace Game SendPacket(response); } - [WorldPacketHandler(ClientOpcodes.QueryTime)] + [WorldPacketHandler(ClientOpcodes.QueryTime, Processing = PacketProcessing.Inplace)] void HandleQueryTime(QueryTime packet) { SendQueryTimeResponse(); @@ -142,7 +142,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.QueryNpcText)] + [WorldPacketHandler(ClientOpcodes.QueryNpcText, Processing = PacketProcessing.Inplace)] void HandleNpcTextQuery(QueryNPCText packet) { NpcText npcText = Global.ObjectMgr.GetNpcText(packet.TextID); @@ -167,7 +167,7 @@ namespace Game SendPacket(response); } - [WorldPacketHandler(ClientOpcodes.QueryPageText)] + [WorldPacketHandler(ClientOpcodes.QueryPageText, Processing = PacketProcessing.Inplace)] void HandleQueryPageText(QueryPageText packet) { QueryPageTextResponse response = new(); @@ -275,7 +275,7 @@ namespace Game SendPacket(response); } - [WorldPacketHandler(ClientOpcodes.QueryQuestCompletionNpcs)] + [WorldPacketHandler(ClientOpcodes.QueryQuestCompletionNpcs, Processing = PacketProcessing.Inplace)] void HandleQueryQuestCompletionNPCs(QueryQuestCompletionNPCs queryQuestCompletionNPCs) { QuestCompletionNPCResponse response = new(); @@ -306,7 +306,7 @@ namespace Game SendPacket(response); } - [WorldPacketHandler(ClientOpcodes.QuestPoiQuery)] + [WorldPacketHandler(ClientOpcodes.QuestPoiQuery, Processing = PacketProcessing.Inplace)] void HandleQuestPOIQuery(QuestPOIQuery packet) { if (packet.MissingQuestCount >= SharedConst.MaxQuestLogSize) @@ -332,7 +332,7 @@ namespace Game SendPacket(response); } - [WorldPacketHandler(ClientOpcodes.ItemTextQuery)] + [WorldPacketHandler(ClientOpcodes.ItemTextQuery, Processing = PacketProcessing.Inplace)] void HandleItemTextQuery(ItemTextQuery packet) { QueryItemTextResponse queryItemTextResponse = new(); @@ -348,7 +348,7 @@ namespace Game SendPacket(queryItemTextResponse); } - [WorldPacketHandler(ClientOpcodes.QueryRealmName)] + [WorldPacketHandler(ClientOpcodes.QueryRealmName, Processing = PacketProcessing.Inplace)] void HandleQueryRealmName(QueryRealmName queryRealmName) { RealmQueryResponse realmQueryResponse = new(); diff --git a/Source/Game/Handlers/QuestHandler.cs b/Source/Game/Handlers/QuestHandler.cs index 9d4b42442..61045f955 100644 --- a/Source/Game/Handlers/QuestHandler.cs +++ b/Source/Game/Handlers/QuestHandler.cs @@ -58,7 +58,7 @@ namespace Game GetPlayer().PlayerTalkClass.SendQuestGiverStatus(questStatus, packet.QuestGiverGUID); } - [WorldPacketHandler(ClientOpcodes.QuestGiverHello)] + [WorldPacketHandler(ClientOpcodes.QuestGiverHello, Processing = PacketProcessing.Inplace)] void HandleQuestgiverHello(QuestGiverHello packet) { Creature creature = GetPlayer().GetNPCIfCanInteractWith(packet.QuestGiverGUID, NPCFlags.QuestGiver, NPCFlags2.None); @@ -84,7 +84,7 @@ namespace Game GetPlayer().SendPreparedGossip(creature); } - [WorldPacketHandler(ClientOpcodes.QuestGiverAcceptQuest)] + [WorldPacketHandler(ClientOpcodes.QuestGiverAcceptQuest, Processing = PacketProcessing.Inplace)] void HandleQuestgiverAcceptQuest(QuestGiverAcceptQuest packet) { WorldObject obj; @@ -194,7 +194,7 @@ namespace Game CLOSE_GOSSIP_CLEAR_SHARING_INFO(); } - [WorldPacketHandler(ClientOpcodes.QuestGiverQueryQuest)] + [WorldPacketHandler(ClientOpcodes.QuestGiverQueryQuest, Processing = PacketProcessing.Inplace)] void HandleQuestgiverQueryQuest(QuestGiverQueryQuest packet) { // Verify that the guid is valid and is a questgiver or involved in the requested quest @@ -221,7 +221,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.QueryQuestInfo)] + [WorldPacketHandler(ClientOpcodes.QueryQuestInfo, Processing = PacketProcessing.Inplace)] void HandleQuestQuery(QueryQuestInfo packet) { Quest quest = Global.ObjectMgr.GetQuestTemplate(packet.QuestID); @@ -235,7 +235,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.QuestGiverChooseReward)] + [WorldPacketHandler(ClientOpcodes.QuestGiverChooseReward, Processing = PacketProcessing.Inplace)] void HandleQuestgiverChooseReward(QuestGiverChooseReward packet) { Quest quest = Global.ObjectMgr.GetQuestTemplate(packet.QuestID); @@ -410,7 +410,7 @@ namespace Game GetPlayer().PlayerTalkClass.SendQuestGiverOfferReward(quest, packet.QuestGiverGUID, true); } - [WorldPacketHandler(ClientOpcodes.QuestGiverRequestReward)] + [WorldPacketHandler(ClientOpcodes.QuestGiverRequestReward, Processing = PacketProcessing.Inplace)] void HandleQuestgiverRequestReward(QuestGiverRequestReward packet) { WorldObject obj = Global.ObjAccessor.GetObjectByTypeMask(GetPlayer(), packet.QuestGiverGUID, TypeMask.Unit | TypeMask.GameObject); @@ -432,7 +432,7 @@ namespace Game GetPlayer().PlayerTalkClass.SendQuestGiverOfferReward(quest, packet.QuestGiverGUID, true); } - [WorldPacketHandler(ClientOpcodes.QuestLogRemoveQuest)] + [WorldPacketHandler(ClientOpcodes.QuestLogRemoveQuest, Processing = PacketProcessing.Inplace)] void HandleQuestLogRemoveQuest(QuestLogRemoveQuest packet) { if (packet.Entry < SharedConst.MaxQuestLogSize) @@ -511,7 +511,7 @@ namespace Game GetPlayer().ClearQuestSharingInfo(); } - [WorldPacketHandler(ClientOpcodes.QuestGiverCompleteQuest)] + [WorldPacketHandler(ClientOpcodes.QuestGiverCompleteQuest, Processing = PacketProcessing.Inplace)] void HandleQuestgiverCompleteQuest(QuestGiverCompleteQuest packet) { bool autoCompleteMode = packet.FromScript; // 0 - standart complete quest mode with npc, 1 - auto-complete mode @@ -574,7 +574,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.QuestGiverCloseQuest)] + [WorldPacketHandler(ClientOpcodes.QuestGiverCloseQuest, Processing = PacketProcessing.Inplace)] void HandleQuestgiverCloseQuest(QuestGiverCloseQuest questGiverCloseQuest) { if (_player.FindQuestSlot(questGiverCloseQuest.QuestID) >= SharedConst.MaxQuestLogSize) diff --git a/Source/Game/Handlers/ScenarioHandler.cs b/Source/Game/Handlers/ScenarioHandler.cs index 99982d057..454b43be4 100644 --- a/Source/Game/Handlers/ScenarioHandler.cs +++ b/Source/Game/Handlers/ScenarioHandler.cs @@ -24,7 +24,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.QueryScenarioPoi)] + [WorldPacketHandler(ClientOpcodes.QueryScenarioPoi, Processing = PacketProcessing.Inplace)] void HandleQueryScenarioPOI(QueryScenarioPOI queryScenarioPOI) { ScenarioPOIs response = new(); diff --git a/Source/Game/Handlers/SkillHandler.cs b/Source/Game/Handlers/SkillHandler.cs index aab0b109d..cf34e5571 100644 --- a/Source/Game/Handlers/SkillHandler.cs +++ b/Source/Game/Handlers/SkillHandler.cs @@ -26,7 +26,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.LearnTalents)] + [WorldPacketHandler(ClientOpcodes.LearnTalents, Processing = PacketProcessing.Inplace)] void HandleLearnTalents(LearnTalents packet) { LearnTalentFailed learnTalentFailed = new(); @@ -52,7 +52,7 @@ namespace Game GetPlayer().SendTalentsInfoData(); } - [WorldPacketHandler(ClientOpcodes.LearnPvpTalents)] + [WorldPacketHandler(ClientOpcodes.LearnPvpTalents, Processing = PacketProcessing.Inplace)] void HandleLearnPvpTalents(LearnPvpTalents packet) { LearnPvpTalentFailed learnPvpTalentFailed = new(); @@ -114,7 +114,7 @@ namespace Game unit.CastSpell(GetPlayer(), 14867, true); //spell: "Untalent Visual Effect" } - [WorldPacketHandler(ClientOpcodes.UnlearnSkill)] + [WorldPacketHandler(ClientOpcodes.UnlearnSkill, Processing = PacketProcessing.Inplace)] void HandleUnlearnSkill(UnlearnSkill packet) { SkillRaceClassInfoRecord rcEntry = Global.DB2Mgr.GetSkillRaceClassInfo(packet.SkillLine, GetPlayer().GetRace(), GetPlayer().GetClass()); diff --git a/Source/Game/Handlers/SpellHandler.cs b/Source/Game/Handlers/SpellHandler.cs index 998a0810a..65a55d47b 100644 --- a/Source/Game/Handlers/SpellHandler.cs +++ b/Source/Game/Handlers/SpellHandler.cs @@ -31,7 +31,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.UseItem)] + [WorldPacketHandler(ClientOpcodes.UseItem, Processing = PacketProcessing.Inplace)] void HandleUseItem(UseItem packet) { Player user = GetPlayer(); @@ -127,7 +127,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.OpenItem)] + [WorldPacketHandler(ClientOpcodes.OpenItem, Processing = PacketProcessing.Inplace)] void HandleOpenItem(OpenItem packet) { Player player = GetPlayer(); @@ -236,7 +236,7 @@ namespace Game DB.Characters.CommitTransaction(trans); } - [WorldPacketHandler(ClientOpcodes.GameObjUse)] + [WorldPacketHandler(ClientOpcodes.GameObjUse, Processing = PacketProcessing.Inplace)] void HandleGameObjectUse(GameObjUse packet) { GameObject obj = GetPlayer().GetGameObjectIfCanInteractWith(packet.Guid); @@ -251,7 +251,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.GameObjReportUse)] + [WorldPacketHandler(ClientOpcodes.GameObjReportUse, Processing = PacketProcessing.Inplace)] void HandleGameobjectReportUse(GameObjReportUse packet) { // ignore for remote control state @@ -350,7 +350,7 @@ namespace Game GetPlayer().InterruptNonMeleeSpells(false, packet.SpellID, false); } - [WorldPacketHandler(ClientOpcodes.CancelAura)] + [WorldPacketHandler(ClientOpcodes.CancelAura, Processing = PacketProcessing.Inplace)] void HandleCancelAura(CancelAura cancelAura) { SpellInfo spellInfo = Global.SpellMgr.GetSpellInfo(cancelAura.SpellID, _player.GetMap().GetDifficultyID()); @@ -380,7 +380,7 @@ namespace Game GetPlayer().RemoveOwnedAura(cancelAura.SpellID, cancelAura.CasterGUID, 0, AuraRemoveMode.Cancel); } - [WorldPacketHandler(ClientOpcodes.CancelGrowthAura)] + [WorldPacketHandler(ClientOpcodes.CancelGrowthAura, Processing = PacketProcessing.Inplace)] void HandleCancelGrowthAura(CancelGrowthAura cancelGrowthAura) { GetPlayer().RemoveAurasByType(AuraType.ModScale, aurApp => @@ -390,7 +390,7 @@ namespace Game }); } - [WorldPacketHandler(ClientOpcodes.CancelMountAura)] + [WorldPacketHandler(ClientOpcodes.CancelMountAura, Processing = PacketProcessing.Inplace)] void HandleCancelMountAura(CancelMountAura packet) { GetPlayer().RemoveAurasByType(AuraType.Mounted, aurApp => @@ -400,7 +400,7 @@ namespace Game }); } - [WorldPacketHandler(ClientOpcodes.PetCancelAura)] + [WorldPacketHandler(ClientOpcodes.PetCancelAura, Processing = PacketProcessing.Inplace)] void HandlePetCancelAura(PetCancelAura packet) { if (!Global.SpellMgr.HasSpellInfo(packet.SpellID, Difficulty.None)) @@ -431,7 +431,7 @@ namespace Game pet.RemoveOwnedAura(packet.SpellID, ObjectGuid.Empty, 0, AuraRemoveMode.Cancel); } - [WorldPacketHandler(ClientOpcodes.CancelAutoRepeatSpell)] + [WorldPacketHandler(ClientOpcodes.CancelAutoRepeatSpell, Processing = PacketProcessing.Inplace)] void HandleCancelAutoRepeatSpell(CancelAutoRepeatSpell packet) { //may be better send SMSG_CANCEL_AUTO_REPEAT? @@ -439,7 +439,7 @@ namespace Game _player.InterruptSpell(CurrentSpellTypes.AutoRepeat); } - [WorldPacketHandler(ClientOpcodes.CancelChannelling)] + [WorldPacketHandler(ClientOpcodes.CancelChannelling, Processing = PacketProcessing.Inplace)] void HandleCancelChanneling(CancelChannelling cancelChanneling) { // ignore for remote control state (for player case) @@ -450,7 +450,7 @@ namespace Game mover.InterruptSpell(CurrentSpellTypes.Channeled); } - [WorldPacketHandler(ClientOpcodes.TotemDestroyed)] + [WorldPacketHandler(ClientOpcodes.TotemDestroyed, Processing = PacketProcessing.Inplace)] void HandleTotemDestroyed(TotemDestroyed totemDestroyed) { // ignore for remote control state @@ -488,7 +488,7 @@ namespace Game _player.RemoveSelfResSpell(selfRes.SpellId); } - [WorldPacketHandler(ClientOpcodes.SpellClick)] + [WorldPacketHandler(ClientOpcodes.SpellClick, Processing = PacketProcessing.Inplace)] void HandleSpellClick(SpellClick packet) { // this will get something not in world. crash diff --git a/Source/Game/Handlers/ToyHandler.cs b/Source/Game/Handlers/ToyHandler.cs index a735c38f1..cc4fa10f6 100644 --- a/Source/Game/Handlers/ToyHandler.cs +++ b/Source/Game/Handlers/ToyHandler.cs @@ -52,7 +52,7 @@ namespace Game _player.DestroyItem(item.GetBagSlot(), item.GetSlot(), true); } - [WorldPacketHandler(ClientOpcodes.UseToy)] + [WorldPacketHandler(ClientOpcodes.UseToy, Processing = PacketProcessing.Inplace)] void HandleUseToy(UseToy packet) { uint itemId = packet.Cast.Misc[0]; diff --git a/Source/Game/Handlers/VehicleHandler.cs b/Source/Game/Handlers/VehicleHandler.cs index cbf448471..c8789590c 100644 --- a/Source/Game/Handlers/VehicleHandler.cs +++ b/Source/Game/Handlers/VehicleHandler.cs @@ -25,7 +25,7 @@ namespace Game { public partial class WorldSession { - [WorldPacketHandler(ClientOpcodes.MoveDismissVehicle)] + [WorldPacketHandler(ClientOpcodes.MoveDismissVehicle, Processing = PacketProcessing.ThreadSafe)] void HandleMoveDismissVehicle(MoveDismissVehicle packet) { ObjectGuid vehicleGUID = GetPlayer().GetCharmGUID(); @@ -38,7 +38,7 @@ namespace Game GetPlayer().ExitVehicle(); } - [WorldPacketHandler(ClientOpcodes.RequestVehiclePrevSeat)] + [WorldPacketHandler(ClientOpcodes.RequestVehiclePrevSeat, Processing = PacketProcessing.Inplace)] void HandleRequestVehiclePrevSeat(RequestVehiclePrevSeat packet) { Unit vehicle_base = GetPlayer().GetVehicleBase(); @@ -56,7 +56,7 @@ namespace Game GetPlayer().ChangeSeat(-1, false); } - [WorldPacketHandler(ClientOpcodes.RequestVehicleNextSeat)] + [WorldPacketHandler(ClientOpcodes.RequestVehicleNextSeat, Processing = PacketProcessing.Inplace)] void HandleRequestVehicleNextSeat(RequestVehicleNextSeat packet) { Unit vehicle_base = GetPlayer().GetVehicleBase(); @@ -74,7 +74,7 @@ namespace Game GetPlayer().ChangeSeat(-1, true); } - [WorldPacketHandler(ClientOpcodes.MoveChangeVehicleSeats)] + [WorldPacketHandler(ClientOpcodes.MoveChangeVehicleSeats, Processing = PacketProcessing.ThreadSafe)] void HandleMoveChangeVehicleSeats(MoveChangeVehicleSeats packet) { Unit vehicle_base = GetPlayer().GetVehicleBase(); @@ -111,7 +111,7 @@ namespace Game } } - [WorldPacketHandler(ClientOpcodes.RequestVehicleSwitchSeat)] + [WorldPacketHandler(ClientOpcodes.RequestVehicleSwitchSeat, Processing = PacketProcessing.Inplace)] void HandleRequestVehicleSwitchSeat(RequestVehicleSwitchSeat packet) { Unit vehicle_base = GetPlayer().GetVehicleBase(); @@ -198,7 +198,7 @@ namespace Game Log.outError(LogFilter.Network, "HandleEjectPassenger: {0} tried to eject invalid {1}", GetPlayer().GetGUID().ToString(), packet.Passenger.ToString()); } - [WorldPacketHandler(ClientOpcodes.RequestVehicleExit)] + [WorldPacketHandler(ClientOpcodes.RequestVehicleExit, Processing = PacketProcessing.Inplace)] void HandleRequestVehicleExit(RequestVehicleExit packet) { Vehicle vehicle = GetPlayer().GetVehicle(); diff --git a/Source/Game/Handlers/VoidStorageHandler.cs b/Source/Game/Handlers/VoidStorageHandler.cs index 78948aba6..81d3d2ff1 100644 --- a/Source/Game/Handlers/VoidStorageHandler.cs +++ b/Source/Game/Handlers/VoidStorageHandler.cs @@ -30,7 +30,7 @@ namespace Game SendPacket(new VoidTransferResult(result)); } - [WorldPacketHandler(ClientOpcodes.UnlockVoidStorage)] + [WorldPacketHandler(ClientOpcodes.UnlockVoidStorage, Processing = PacketProcessing.Inplace)] void HandleVoidStorageUnlock(UnlockVoidStorage unlockVoidStorage) { Creature unit = GetPlayer().GetNPCIfCanInteractWith(unlockVoidStorage.Npc, NPCFlags.VaultKeeper, NPCFlags2.None); @@ -50,7 +50,7 @@ namespace Game GetPlayer().UnlockVoidStorage(); } - [WorldPacketHandler(ClientOpcodes.QueryVoidStorage)] + [WorldPacketHandler(ClientOpcodes.QueryVoidStorage, Processing = PacketProcessing.Inplace)] void HandleVoidStorageQuery(QueryVoidStorage queryVoidStorage) { Player player = GetPlayer(); @@ -208,7 +208,7 @@ namespace Game SendVoidStorageTransferResult(VoidTransferError.Ok); } - [WorldPacketHandler(ClientOpcodes.SwapVoidItem)] + [WorldPacketHandler(ClientOpcodes.SwapVoidItem, Processing = PacketProcessing.Inplace)] void HandleVoidSwapItem(SwapVoidItem swapVoidItem) { Player player = GetPlayer();