Browse Source

Drop quest item based on difficulty

pull/6174/head
Anders Jenbo 3 years ago
parent
commit
e707bd0c4a
  1. 13
      Source/items.cpp

13
Source/items.cpp

@ -3224,20 +3224,19 @@ Item *SpawnUnique(_unique_items uid, Point position, std::optional<int> level /*
while (AllItemsList[idx].iItemId != UniqueItems[uid].UIItemId) while (AllItemsList[idx].iItemId != UniqueItems[uid].UIItemId)
idx++; idx++;
if (gbIsMultiplayer) { if (sgGameInitInfo.nDifficulty == DIFF_NORMAL) {
GetItemAttrs(item, static_cast<_item_indexes>(idx), curlv);
GetUniqueItem(*MyPlayer, item, uid);
SetupItem(item);
} else {
if (level) if (level)
curlv = *level; curlv = *level;
const ItemData &uniqueItemData = AllItemsList[idx]; const ItemData &uniqueItemData = AllItemsList[idx];
_item_indexes idx = GetItemIndexForDroppableItem(false, [&uniqueItemData](const ItemData &item) { _item_indexes idx = GetItemIndexForDroppableItem(false, [&uniqueItemData](const ItemData &item) {
return item.itype == uniqueItemData.itype || (uniqueItemData.itype == ItemType::Amulet && item.itype == ItemType::Ring); return item.itype == uniqueItemData.itype;
}); });
SetupAllItems(*MyPlayer, item, idx, AdvanceRndSeed(), curlv * 2, 15, true, false, false); SetupAllItems(*MyPlayer, item, idx, AdvanceRndSeed(), curlv * 2, 15, true, false, false);
} }
if (!gbIsMultiplayer || item._iMagical == ITEM_QUALITY_UNIQUE) {
GetItemAttrs(item, static_cast<_item_indexes>(idx), curlv);
GetUniqueItem(*MyPlayer, item, uid);
SetupItem(item);
}
if (sendmsg) if (sendmsg)
NetSendCmdPItem(false, CMD_SPAWNITEM, item.position, item); NetSendCmdPItem(false, CMD_SPAWNITEM, item.position, item);

Loading…
Cancel
Save