diff --git a/common/item_instance.h b/common/item_instance.h index b30836325..22f25b6ad 100644 --- a/common/item_instance.h +++ b/common/item_instance.h @@ -247,11 +247,7 @@ namespace EQ const std::string &GetUniqueID() const { return m_unique_id; } //std::string &GetSerialNumber2() const { return m_serial_number2; } void SetUniqueID(std::string sn) { m_unique_id = std::move(sn); } - - void CreateUniqueID() const - { - m_unique_id = GenerateUniqueID(); - } + void CreateUniqueID() const { m_unique_id = GenerateUniqueID(); } std::map& GetTimers() const { return m_timers; } void SetTimer(std::string name, uint32 time); diff --git a/zone/trading.cpp b/zone/trading.cpp index 5305d5425..0b00dcc56 100644 --- a/zone/trading.cpp +++ b/zone/trading.cpp @@ -1433,9 +1433,9 @@ void Client::BuyTraderItem(const EQApplicationPacket *app) return; } - uint32 quantity = in->quantity; + int16 quantity = static_cast(in->quantity); inst_copy->SetCharges(quantity); - if (inst_copy->IsStackable()) { + if (inst_copy->IsStackable() && quantity != buy_inst->GetCharges()) { inst_copy->CreateUniqueID(); }