diff --git a/Source/items.cpp b/Source/items.cpp index e1f14891a..93942c3dd 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -3758,23 +3758,40 @@ void SpawnSmith(int lvl) { int i, iCnt, idata; +#ifdef HELLFIRE + ItemStruct holditem; + holditem = item[0]; + iCnt = random(50, 15) + 10; +#else iCnt = random(50, 10) + 10; +#endif for (i = 0; i < iCnt; i++) { do { item[0]._iSeed = GetRndSeed(); SetRndSeed(item[0]._iSeed); idata = RndSmithItem(lvl) - 1; GetItemAttrs(0, idata, lvl); +#ifdef HELLFIRE + } while (item[0]._iIvalue > 200000); +#else } while (item[0]._iIvalue > 140000); +#endif smithitem[i] = item[0]; smithitem[i]._iCreateInfo = lvl | 0x400; smithitem[i]._iIdentified = TRUE; smithitem[i]._iStatFlag = StoreStatOk(&smithitem[i]); } +#ifdef HELLFIRE + for (i = iCnt; i < 25; i++) +#else for (i = iCnt; i < 20; i++) +#endif smithitem[i]._itype = ITYPE_NONE; SortSmith(); +#ifdef HELLFIRE + item[0] = holditem; +#endif } BOOL PremiumItemOk(int i)