Skip to content

Commit 7de8b5b

Browse files
committed
Correct ReplacePremium() qlvl
1 parent e59fd52 commit 7de8b5b

File tree

4 files changed

+12
-11
lines changed

4 files changed

+12
-11
lines changed

Source/items.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4416,10 +4416,11 @@ void SpawnSmith(int lvl)
44164416
SortVendor(SmithItems, PinnedItemCount);
44174417
}
44184418

4419-
void ReplacePremium(const Player &player, Item &item)
4419+
void ReplacePremium(const Player &player, int idx)
44204420
{
4421-
int plvl = item._iCreateInfo & CF_LEVEL;
4422-
SpawnOnePremium(item, plvl, player);
4421+
int plvl = gbIsHellfire ? itemLevelAddHf[idx] : itemLevelAdd[idx];
4422+
plvl += player.getCharacterLevel();
4423+
SpawnOnePremium(PremiumItems[idx], plvl, player);
44234424
}
44244425

44254426
void SpawnPremium(const Player &player)

Source/items.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ void UseItem(Player &player, item_misc_id Mid, SpellID spellID, int spellFrom);
558558
bool UseItemOpensHive(const Item &item, Point position);
559559
bool UseItemOpensGrave(const Item &item, Point position);
560560
void SpawnSmith(int lvl);
561-
void ReplacePremium(const Player &player, Item &item);
561+
void ReplacePremium(const Player &player, int idx);
562562
void SpawnPremium(const Player &player);
563563
void SpawnWitch(int lvl);
564564
void SpawnBoy(int lvl);

Source/stores.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1348,7 +1348,7 @@ void SmithBuyPItem(Item &item)
13481348
StoreAutoPlace(item, true);
13491349

13501350
int idx = OldScrollPos + ((OldTextLine - PreviousScrollPos) / 4);
1351-
ReplacePremium(*MyPlayer, PremiumItems[idx]);
1351+
ReplacePremium(*MyPlayer, idx);
13521352
}
13531353

13541354
void SmithPremiumBuyEnter()

test/vendor_test.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -270,9 +270,9 @@ TEST_F(VendorTest, PremiumQlvl)
270270
qlvls[3] = 0;
271271
qlvls[5] = 0;
272272

273-
ReplacePremium(*MyPlayer, PremiumItems[0]);
274-
ReplacePremium(*MyPlayer, PremiumItems[3]);
275-
ReplacePremium(*MyPlayer, PremiumItems[5]);
273+
ReplacePremium(*MyPlayer, 0);
274+
ReplacePremium(*MyPlayer, 3);
275+
ReplacePremium(*MyPlayer, 5);
276276
test_premium_qlvl(qlvls, NumSmithItems, MyPlayer->getCharacterLevel(), plvl, gbIsHellfire);
277277
for (int i = 0; i < NumSmithItems; i++) {
278278
EXPECT_EQ(PremiumItems[i]._iCreateInfo & CF_LEVEL, qlvls[i]) << "Index: " << i;
@@ -331,9 +331,9 @@ TEST_F(VendorTest, PremiumQlvlHf)
331331
qlvls[7] = 0;
332332
qlvls[14] = 0;
333333

334-
ReplacePremium(*MyPlayer, PremiumItems[0]);
335-
ReplacePremium(*MyPlayer, PremiumItems[7]);
336-
ReplacePremium(*MyPlayer, PremiumItems[14]);
334+
ReplacePremium(*MyPlayer, 0);
335+
ReplacePremium(*MyPlayer, 7);
336+
ReplacePremium(*MyPlayer, 14);
337337
test_premium_qlvl(qlvls, NumSmithItemsHf, MyPlayer->getCharacterLevel(), plvl, gbIsHellfire);
338338
for (int i = 0; i < NumSmithItemsHf; i++) {
339339
EXPECT_EQ(PremiumItems[i]._iCreateInfo & CF_LEVEL, qlvls[i]) << "Index: " << i;

0 commit comments

Comments
 (0)