From 1faa84481b0ab08a42166d44cc8e7e4427a78c69 Mon Sep 17 00:00:00 2001 From: Sergey Semushin Date: Mon, 6 May 2019 23:20:13 +0300 Subject: [PATCH] Make SpawnUnique bin exact. --- Source/items.cpp | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/Source/items.cpp b/Source/items.cpp index eb0e5d897..a8a4ad6bd 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -1990,24 +1990,23 @@ void SpawnUnique(int uid, int x, int y) { int ii, itype; - if (numitems < MAXITEMS) { - ii = itemavail[0]; - GetSuperItemSpace(x, y, itemavail[0]); - itype = 0; - itemactive[numitems] = ii; - itemavail[0] = itemavail[MAXITEMS - numitems - 1]; + if (numitems >= MAXITEMS) + return; - if (AllItemsList[0].iItemId != UniqueItemList[uid].UIItemId) { - while (AllItemsList[itype].iItemId != UniqueItemList[uid].UIItemId) { - itype++; - } - } + ii = itemavail[0]; + GetSuperItemSpace(x, y, ii); + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; + itemactive[numitems] = ii; - GetItemAttrs(ii, itype, currlevel); - GetUniqueItem(ii, uid); - SetupItem(ii); - numitems++; + itype = 0; + while (AllItemsList[itype].iItemId != UniqueItemList[uid].UIItemId) { + itype++; } + + GetItemAttrs(ii, itype, currlevel); + GetUniqueItem(ii, uid); + SetupItem(ii); + numitems++; } void ItemRndDur(int ii)