diff options
Diffstat (limited to 'src/server/game/Handlers/NPCHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/NPCHandler.cpp | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp index af7759393ae..30f3b45b47b 100644 --- a/src/server/game/Handlers/NPCHandler.cpp +++ b/src/server/game/Handlers/NPCHandler.cpp @@ -859,19 +859,15 @@ void WorldSession::HandleStableSwapPetCallback(PreparedQueryResult result, uint3 SendStableResult(STABLE_SUCCESS_UNSTABLE); } -void WorldSession::HandleRepairItemOpcode(WorldPacket& recvData) +void WorldSession::HandleRepairItemOpcode(WorldPackets::Item::RepairItem& packet) { - TC_LOG_DEBUG("network", "WORLD: CMSG_REPAIR_ITEM"); + TC_LOG_DEBUG("network", "WORLD: CMSG_REPAIR_ITEM: Npc %s, Item %s, UseGuildBank: %u", + packet.NpcGUID.ToString().c_str(), packet.ItemGUID.ToString().c_str(), packet.UseGuildBank); - ObjectGuid npcGUID, itemGUID; - uint8 guildBank; // new in 2.3.2, bool that means from guild bank money - - recvData >> npcGUID >> itemGUID >> guildBank; - - Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(npcGUID, UNIT_NPC_FLAG_REPAIR); + Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(packet.NpcGUID, UNIT_NPC_FLAG_REPAIR); if (!unit) { - TC_LOG_DEBUG("network", "WORLD: HandleRepairItemOpcode - %s not found or you can not interact with him.", npcGUID.ToString().c_str()); + TC_LOG_DEBUG("network", "WORLD: HandleRepairItemOpcode - %s not found or you can not interact with him.", packet.NpcGUID.ToString().c_str()); return; } @@ -882,18 +878,18 @@ void WorldSession::HandleRepairItemOpcode(WorldPacket& recvData) // reputation discount float discountMod = _player->GetReputationPriceDiscount(unit); - if (!itemGUID.IsEmpty()) + if (!packet.ItemGUID.IsEmpty()) { - TC_LOG_DEBUG("network", "ITEM: Repair %s, at %s", itemGUID.ToString().c_str(), npcGUID.ToString().c_str()); + TC_LOG_DEBUG("network", "ITEM: Repair %s, at %s", packet.ItemGUID.ToString().c_str(), packet.NpcGUID.ToString().c_str()); - Item* item = _player->GetItemByGuid(itemGUID); + Item* item = _player->GetItemByGuid(packet.ItemGUID); if (item) - _player->DurabilityRepair(item->GetPos(), true, discountMod, guildBank != 0); + _player->DurabilityRepair(item->GetPos(), true, discountMod, packet.UseGuildBank); } else { - TC_LOG_DEBUG("network", "ITEM: Repair all items at %s", npcGUID.ToString().c_str()); - _player->DurabilityRepairAll(true, discountMod, guildBank != 0); + TC_LOG_DEBUG("network", "ITEM: Repair all items at %s", packet.NpcGUID.ToString().c_str()); + _player->DurabilityRepairAll(true, discountMod, packet.UseGuildBank); } } |
