From 8bb25363d4123cce873219ecdd5fc5c33bcdf24b Mon Sep 17 00:00:00 2001 From: codinablack Date: Sun, 1 Dec 2024 04:42:17 -0600 Subject: [PATCH] Pass count for reward container stackables --- src/monster.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/monster.cpp b/src/monster.cpp index 1a89186e..09b23251 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -1911,19 +1911,21 @@ void Monster::death(Creature*) if (lootBlock.unique && mostScoreContributor == playerId) { // Ensure that the mostScoreContributor can receive multiple unique items - auto lootItem = Item::CreateItem(lootBlock.id, uniform_random(1, lootBlock.countmax)); + auto count = uniform_random(1, lootBlock.countmax); + auto lootItem = Item::CreateItem(lootBlock.id, count); lootItem->setIntAttr(ITEM_ATTRIBUTE_DATE, currentTime); lootItem->setIntAttr(ITEM_ATTRIBUTE_REWARDID, getMonster()->getID()); - rewardContainer->internalAddThing(lootItem); // count not being passed, this is likely cause of broken stackables + rewardContainer->internalAddThing(count, lootItem); hasLoot = true; } else if (!lootBlock.unique) { // Normal loot distribution for non-unique items if (uniform_random(1, MAX_LOOTCHANCE) <= adjustedChance) { - auto lootItem = Item::CreateItem(lootBlock.id, uniform_random(1, lootBlock.countmax)); + auto count = uniform_random(1, lootBlock.countmax); + auto lootItem = Item::CreateItem(lootBlock.id, count); lootItem->setIntAttr(ITEM_ATTRIBUTE_DATE, currentTime); lootItem->setIntAttr(ITEM_ATTRIBUTE_REWARDID, getMonster()->getID()); - rewardContainer->internalAddThing(lootItem); // count not being passed, this is likely cause of broken stackables + rewardContainer->internalAddThing(count, lootItem); hasLoot = true; } }