void WorldSession::HandleCancelTempItemEnchantmentOpcode(WorldPacket& recv_data) { sLog.outDebug("WORLD: CMSG_CANCEL_TEMP_ENCHANTMENT"); CHECK_PACKET_SIZE(recv_data,4); uint32 eslot; recv_data >> eslot; // apply only to equipped item if(!Player::IsEquipmentPos(INVENTORY_SLOT_BAG_0,eslot)) return; Item* item = GetPlayer()->GetItemByPos(INVENTORY_SLOT_BAG_0, eslot); if(!item) return; if(!item->GetEnchantmentId(TEMP_ENCHANTMENT_SLOT)) return; GetPlayer()->ApplyEnchantment(item,TEMP_ENCHANTMENT_SLOT,false); item->ClearEnchantment(TEMP_ENCHANTMENT_SLOT); }
void WorldSession::HandleCancelTempEnchantmentOpcode(WorldPackets::Item::CancelTempEnchantment& cancelTempEnchantment) { // apply only to equipped item if (!Player::IsEquipmentPos(INVENTORY_SLOT_BAG_0, cancelTempEnchantment.Slot)) return; Item* item = GetPlayer()->GetItemByPos(INVENTORY_SLOT_BAG_0, cancelTempEnchantment.Slot); if (!item) return; if (!item->GetEnchantmentId(TEMP_ENCHANTMENT_SLOT)) return; GetPlayer()->ApplyEnchantment(item, TEMP_ENCHANTMENT_SLOT, false); item->ClearEnchantment(TEMP_ENCHANTMENT_SLOT); }
void WorldSession::HandleCancelTempEnchantmentOpcode(WorldPacket& recvData) { TC_LOG_DEBUG(LOG_FILTER_NETWORKIO, "WORLD: CMSG_CANCEL_TEMP_ENCHANTMENT"); uint32 eslot; recvData >> eslot; // apply only to equipped item if (!Player::IsEquipmentPos(INVENTORY_SLOT_BAG_0, eslot)) return; Item* item = GetPlayer()->GetItemByPos(INVENTORY_SLOT_BAG_0, eslot); if (!item) return; if (!item->GetEnchantmentId(TEMP_ENCHANTMENT_SLOT)) return; GetPlayer()->ApplyEnchantment(item, TEMP_ENCHANTMENT_SLOT, false); item->ClearEnchantment(TEMP_ENCHANTMENT_SLOT); }