aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-07-06 00:05:13 +0200
committerShauren <shauren.trinity@gmail.com>2016-07-06 00:05:13 +0200
commit70137b8f3aae7c875f1fc0b1643d80aece933104 (patch)
tree2ffc5d94bca4988dd5ba5af1a4bd3f077de5e238 /src/server/game/Server/Packets
parentf7883bd5251a759da1ca8be3ba6f6cead36723ec (diff)
parenta7fcae93280d5d8010c4fe8139ce1925a92c8744 (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.cpp23
-rw-r--r--src/server/game/Server/Packets/ItemPackets.h24
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp18
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h12
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: