Investigate groundspawn desync

This commit is contained in:
Vayle
2026-03-18 20:09:59 -04:00
parent 40e0aef44f
commit 510af32dad
5 changed files with 19 additions and 6 deletions
+1 -1
View File
@@ -685,7 +685,7 @@ add_definitions(-DZONE)
if(EQEMU_BUILD_LUA)
target_compile_definitions(lua_zone PUBLIC LUA_EQEMU)
target_link_libraries(lua_zone PUBLIC luabind Boost::dynamic_bitset Boost::tuple Boost::foreach common)
target_link_libraries(lua_zone PUBLIC luabind ${EQEMU_BOOST_HEADER_TARGET} common)
if (EQEMU_BUILD_STATIC AND LUA_LIBRARY)
target_link_libraries(zone PRIVATE ${LUA_LIBRARY})
endif()
+2 -3
View File
@@ -679,9 +679,8 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
}
}
// Transfer item to client
sender->PutItemInInventory(EQ::invslot::slotCursor, *m_inst, false);
sender->SendItemPacket(EQ::invslot::slotCursor, m_inst, ItemPacketTrade);
// Transfer item to client using the normal cursor update path.
sender->PutItemInInventory(EQ::invslot::slotCursor, *m_inst, true);
sender->CheckItemDiscoverability(m_inst->GetID());
+10
View File
@@ -354,6 +354,16 @@ bool Zone::LoadGroundSpawns() {
const uint32 max_allowed = g.spawn[slot_id].max_allowed;
if (inst) {
const auto* item = inst->GetItem();
if (
item &&
!inst->IsStackable() &&
inst->GetCharges() == 0 &&
item->MaxCharges > 0
) {
inst->SetCharges(item->MaxCharges);
}
for (uint32 i = 0; i < max_allowed; i++) {
auto object = new Object(
inst,