@@ -1403,7 +1403,7 @@ _item_indexes RndUItem(Monster *monster)
14031403 return false ;
14041404 if (IsAnyOf (item.itype , ItemType::Gold, ItemType::Misc))
14051405 return false ;
1406- if (sgGameInitInfo.bDisableSearch && item.iSpell == SpellID::Search)
1406+ if (sgGameInitInfo.bDisableSearch == 1 && item.iSpell == SpellID::Search)
14071407 return false ;
14081408 return true ;
14091409 });
@@ -1416,7 +1416,7 @@ _item_indexes RndAllItems()
14161416
14171417 int itemMaxLevel = ItemsGetCurrlevel () * 2 ;
14181418 return GetItemIndexForDroppableItem (false , [&itemMaxLevel](const ItemData &item) {
1419- if (sgGameInitInfo.bDisableSearch && item.iSpell == SpellID::Search)
1419+ if (sgGameInitInfo.bDisableSearch == 1 && item.iSpell == SpellID::Search)
14201420 return false ;
14211421 if (itemMaxLevel < item.iMinMLvl )
14221422 return false ;
@@ -1434,7 +1434,7 @@ _item_indexes RndTypeItems(ItemType itemType, int imid, int lvl)
14341434 return false ;
14351435 if (imid != -1 && item.iMiscId != imid)
14361436 return false ;
1437- if (sgGameInitInfo.bDisableSearch && item.iSpell == SpellID::Search)
1437+ if (sgGameInitInfo.bDisableSearch == 1 && item.iSpell == SpellID::Search)
14381438 return false ;
14391439 return true ;
14401440 });
@@ -1533,7 +1533,7 @@ void SetupBaseItem(Point position, _item_indexes idx, bool onlygood, bool sendms
15331533 item = {};
15341534 item.position = originalPos;
15351535 SetupAllItems (*MyPlayer, item, idx, AdvanceRndSeed (), 2 * curlv, 1 , onlygood, delta, false );
1536- } while (item._iSpell == SpellID::Search && sgGameInitInfo.bDisableSearch );
1536+ } while (item._iSpell == SpellID::Search && sgGameInitInfo.bDisableSearch == 1 );
15371537 TryRandomUniqueItem (item, idx, 2 * curlv, 1 , onlygood, delta);
15381538 SetupItem (item);
15391539
@@ -2017,7 +2017,7 @@ void SpawnOnePremium(Item &premiumItem, int plvl, const Player &player)
20172017 && premiumItem._iMinMag <= magic
20182018 && premiumItem._iMinDex <= dexterity
20192019 && premiumItem._iIvalue >= itemValue
2020- && (! sgGameInitInfo.bDisableSearch || premiumItem._iSpell != SpellID::Search)) {
2020+ && (sgGameInitInfo.bDisableSearch != 1 || premiumItem._iSpell != SpellID::Search)) {
20212021 break ;
20222022 }
20232023 }
@@ -2199,7 +2199,7 @@ void CreateMagicItem(Point position, int lvl, ItemType itemType, int imid, int i
21992199 SetupAllItems (*MyPlayer, item, idx, AdvanceRndSeed (), 2 * lvl, 1 , true , delta);
22002200 TryRandomUniqueItem (item, idx, 2 * lvl, 1 , true , delta);
22012201 SetupItem (item);
2202- if (item._iCurs == icurs && (! sgGameInitInfo.bDisableSearch || item._iSpell != SpellID::Search))
2202+ if (item._iCurs == icurs && (sgGameInitInfo.bDisableSearch != 1 || item._iSpell != SpellID::Search))
22032203 break ;
22042204
22052205 idx = RndTypeItems (itemType, imid, lvl);
@@ -3262,7 +3262,7 @@ _item_indexes RndItemForMonsterLevel(int8_t monsterLevel)
32623262 return IDI_GOLD;
32633263
32643264 return GetItemIndexForDroppableItem (true , [&monsterLevel](const ItemData &item) {
3265- if (sgGameInitInfo.bDisableSearch && item.iSpell == SpellID::Search)
3265+ if (sgGameInitInfo.bDisableSearch == 1 && item.iSpell == SpellID::Search)
32663266 return false ;
32673267 return item.iMinMLvl <= monsterLevel;
32683268 });
@@ -3479,7 +3479,7 @@ void SpawnItem(Monster &monster, Point position, bool sendmsg, bool spawn /*= fa
34793479 item = {};
34803480 item.position = originalPos;
34813481 SetupAllItems (*MyPlayer, item, idx, AdvanceRndSeed (), mLevel , uper, onlygood, false , false );
3482- } while (item._iSpell == SpellID::Search && sgGameInitInfo.bDisableSearch );
3482+ } while (item._iSpell == SpellID::Search && sgGameInitInfo.bDisableSearch == 1 );
34833483 TryRandomUniqueItem (item, idx, mLevel , uper, onlygood, false );
34843484 SetupItem (item);
34853485
@@ -3491,11 +3491,7 @@ void SpawnItem(Monster &monster, Point position, bool sendmsg, bool spawn /*= fa
34913491
34923492void CreateRndItem (Point position, bool onlygood, bool sendmsg, bool delta)
34933493{
3494- _item_indexes idx;
3495-
3496- do {
3497- idx = onlygood ? RndUItem (nullptr ) : RndAllItems ();
3498- } while (sgGameInitInfo.bDisableSearch && AllItemsList[idx].iSpell == SpellID::Search);
3494+ _item_indexes idx = onlygood ? RndUItem (nullptr ) : RndAllItems ();
34993495
35003496 SetupBaseItem (position, idx, onlygood, sendmsg, delta);
35013497}
@@ -4504,7 +4500,7 @@ void SpawnWitch(int lvl)
45044500 SetRndSeed (item._iSeed );
45054501 DiscardRandomValues (1 );
45064502 GetItemAttrs (item, bookType, lvl);
4507- } while (item._iSpell == SpellID::Search && sgGameInitInfo.bDisableSearch );
4503+ } while (item._iSpell == SpellID::Search && sgGameInitInfo.bDisableSearch == 1 );
45084504 item._iCreateInfo = lvl | CF_WITCH;
45094505 item._iIdentified = true ;
45104506 bookCount++;
@@ -4532,7 +4528,7 @@ void SpawnWitch(int lvl)
45324528 if (maxlvl != -1 )
45334529 GetItemBonus (*MyPlayer, item, maxlvl / 2 , maxlvl, true , true );
45344530 } while (item._iIvalue > maxValue
4535- || (item._iSpell == SpellID::Search && sgGameInitInfo.bDisableSearch ));
4531+ || (item._iSpell == SpellID::Search && sgGameInitInfo.bDisableSearch == 1 ));
45364532
45374533 item._iCreateInfo = lvl | CF_WITCH;
45384534 item._iIdentified = true ;
@@ -4649,7 +4645,7 @@ void SpawnBoy(int lvl)
46494645 || BoyItem._iMinMag > magic
46504646 || BoyItem._iMinDex > dexterity
46514647 || BoyItem._iIvalue < ivalue
4652- || (BoyItem._iSpell == SpellID::Search && sgGameInitInfo.bDisableSearch ))
4648+ || (BoyItem._iSpell == SpellID::Search && sgGameInitInfo.bDisableSearch == 1 ))
46534649 && count < 250 ));
46544650 BoyItem._iCreateInfo = lvl | CF_BOY;
46554651 BoyItem._iIdentified = true ;
0 commit comments