diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-07-06 00:05:13 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-07-06 00:05:13 +0200 |
| commit | 70137b8f3aae7c875f1fc0b1643d80aece933104 (patch) | |
| tree | 2ffc5d94bca4988dd5ba5af1a4bd3f077de5e238 /src/server/game/Server/Packets | |
| parent | f7883bd5251a759da1ca8be3ba6f6cead36723ec (diff) | |
| parent | a7fcae93280d5d8010c4fe8139ce1925a92c8744 (diff) | |
Merge branch '6.x' of https://github.com/TrinityCore/TrinityCore into legion
Diffstat (limited to 'src/server/game/Server/Packets')
| -rw-r--r-- | src/server/game/Server/Packets/ItemPackets.cpp | 23 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/ItemPackets.h | 24 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/SpellPackets.cpp | 18 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/SpellPackets.h | 12 |
4 files changed, 76 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp index 3ae94dfb84a..c6609812af5 100644 --- a/src/server/game/Server/Packets/ItemPackets.cpp +++ b/src/server/game/Server/Packets/ItemPackets.cpp @@ -293,7 +293,11 @@ void WorldPackets::Item::ItemInstance::Initialize(::LootItem const& lootItem) ItemBonus->Context = 0; /// @todo } - /// no Modifications + if (lootItem.upgradeId) + { + Modifications = boost::in_place(); + Modifications->Insert(ITEM_MODIFIER_UPGRADE_ID, lootItem.upgradeId); + } } void WorldPackets::Item::ItemInstance::Initialize(::VoidStorageItem const* voidItem) @@ -508,6 +512,15 @@ void WorldPackets::Item::UseCritterItem::Read() _worldPacket >> ItemGuid; } +void WorldPackets::Item::UpgradeItem::Read() +{ + _worldPacket >> ItemMaster; + _worldPacket >> ItemGUID; + _worldPacket >> UpgradeID; + _worldPacket >> ContainerSlot; + _worldPacket >> Slot; +} + void WorldPackets::Item::SocketGems::Read() { _worldPacket >> ItemGuid; @@ -521,3 +534,11 @@ WorldPacket const* WorldPackets::Item::SocketGemsResult::Write() return &_worldPacket; } + +WorldPacket const* WorldPackets::Item::ItemUpgradeResult::Write() +{ + _worldPacket.WriteBit(Success); + _worldPacket.FlushBits(); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h index 384ba7eea5b..aef6060b260 100644 --- a/src/server/game/Server/Packets/ItemPackets.h +++ b/src/server/game/Server/Packets/ItemPackets.h @@ -484,6 +484,30 @@ namespace WorldPackets ObjectGuid ItemGuid; }; + class UpgradeItem final : public ClientPacket + { + public: + UpgradeItem(WorldPacket&& packet) : ClientPacket(CMSG_UPGRADE_ITEM, std::move(packet)) { } + + void Read() override; + + ObjectGuid ItemMaster; + ObjectGuid ItemGUID; + int32 ContainerSlot = 0; + int32 UpgradeID = 0; + int32 Slot = 0; + }; + + class ItemUpgradeResult final : public ServerPacket + { + public: + ItemUpgradeResult() : ServerPacket(SMSG_ITEM_UPGRADE_RESULT, 1) { } + + WorldPacket const* Write() override; + + bool Success = false; + }; + class SocketGems final : public ClientPacket { public: diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp index 599d07e0d87..be57dc2ab9d 100644 --- a/src/server/game/Server/Packets/SpellPackets.cpp +++ b/src/server/game/Server/Packets/SpellPackets.cpp @@ -480,6 +480,24 @@ WorldPacket const* WorldPackets::Spells::LearnedSpells::Write() return &_worldPacket; } +WorldPacket const* WorldPackets::Spells::SupercededSpells::Write() +{ + _worldPacket << uint32(SpellID.size()); + _worldPacket << uint32(Superceded.size()); + _worldPacket << uint32(FavoriteSpellID.size()); + + if (!SpellID.empty()) + _worldPacket.append(SpellID.data(), SpellID.size()); + + if (!Superceded.empty()) + _worldPacket.append(Superceded.data(), Superceded.size()); + + if (!FavoriteSpellID.empty()) + _worldPacket.append(FavoriteSpellID.data(), FavoriteSpellID.size()); + + return &_worldPacket; +} + WorldPacket const* WorldPackets::Spells::SpellFailure::Write() { _worldPacket << CasterUnit; diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h index a3a68c8e194..60299e06c4d 100644 --- a/src/server/game/Server/Packets/SpellPackets.h +++ b/src/server/game/Server/Packets/SpellPackets.h @@ -422,6 +422,18 @@ namespace WorldPackets bool SuppressMessaging = false; }; + class SupercededSpells final : public ServerPacket + { + public: + SupercededSpells() : ServerPacket(SMSG_SUPERCEDED_SPELLS, 4 + 4 + 4 + 4) { } + + WorldPacket const* Write() override; + + std::vector<int32> SpellID; + std::vector<int32> Superceded; + std::vector<int32> FavoriteSpellID; + }; + class SpellFailure final : public ServerPacket { public: |
