diff options
Diffstat (limited to 'src/server/game/Handlers/ToyHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/ToyHandler.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/server/game/Handlers/ToyHandler.cpp b/src/server/game/Handlers/ToyHandler.cpp index 7e1348417e8..58b67c36f0b 100644 --- a/src/server/game/Handlers/ToyHandler.cpp +++ b/src/server/game/Handlers/ToyHandler.cpp @@ -53,11 +53,12 @@ void WorldSession::HandleAddToy(WorldPackets::Toy::AddToy& packet) void WorldSession::HandleUseToy(WorldPackets::Toy::UseToy& packet) { - ItemTemplate const* item = sObjectMgr->GetItemTemplate(packet.ItemID); + uint32 itemId = packet.Cast.Misc[0]; + ItemTemplate const* item = sObjectMgr->GetItemTemplate(itemId); if (!item) return; - if (!_collectionMgr->HasToy(packet.ItemID)) + if (!_collectionMgr->HasToy(itemId)) return; auto effect = std::find_if(item->Effects.begin(), item->Effects.end(), [&packet](ItemEffectEntry const* effect) @@ -71,7 +72,7 @@ void WorldSession::HandleUseToy(WorldPackets::Toy::UseToy& packet) SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(packet.Cast.SpellID); if (!spellInfo) { - TC_LOG_ERROR("network", "HandleUseToy: unknown spell id: %u used by Toy Item entry %u", packet.Cast.SpellID, packet.ItemID); + TC_LOG_ERROR("network", "HandleUseToy: unknown spell id: %u used by Toy Item entry %u", packet.Cast.SpellID, itemId); return; } @@ -88,7 +89,7 @@ void WorldSession::HandleUseToy(WorldPackets::Toy::UseToy& packet) SendPacket(spellPrepare.Write()); spell->m_fromClient = true; - spell->m_castItemEntry = packet.ItemID; + spell->m_castItemEntry = itemId; spell->m_misc.Raw.Data[0] = packet.Cast.Misc[0]; spell->m_misc.Raw.Data[1] = packet.Cast.Misc[1]; spell->m_castFlagsEx |= CAST_FLAG_EX_USE_TOY_SPELL; |