Fixed item's unique ID being reset by a non-unique item (closes #582)

This commit is contained in:
NovaRain
2025-01-31 22:40:49 +08:00
parent 7887bf5e95
commit 7efcf1b21c
+5 -1
View File
@@ -76,9 +76,13 @@ void Objects::SetNewEngineID(fo::GameObject* obj) {
static __declspec(naked) void item_identical_hack() {
using namespace fo::Fields;
__asm {
mov ecx, [edi]; // item id
mov ecx, [edi]; // place_item id
cmp ecx, Start; // start unique ID
jg notIdentical;
mov ecx, [esi]; // inv_item id
cmp ecx, Start; // start unique ID
jg notIdentical;
// engine code
mov eax, [esi + scriptId];
cmp eax, ebx;
notIdentical: