diff --git a/test/common/fns/randomDrop.test.js b/test/common/fns/randomDrop.test.js index 74b9e0493c..4752fa0cca 100644 --- a/test/common/fns/randomDrop.test.js +++ b/test/common/fns/randomDrop.test.js @@ -16,6 +16,7 @@ describe('common.fns.randomDrop', () => { user = generateUser(); user._tmp = user._tmp ? user._tmp : {}; user.items.eggs.Wolf = 0; + user.items.food.Meat = 0; task = generateTodo({ userId: user._id }); predictableRandom = sandbox.stub().returns(0.5); }); diff --git a/website/common/script/fns/randomDrop.js b/website/common/script/fns/randomDrop.js index 605924dd1d..30d4f16522 100644 --- a/website/common/script/fns/randomDrop.js +++ b/website/common/script/fns/randomDrop.js @@ -82,10 +82,12 @@ export default function randomDrop (user, options, req = {}, analytics) { return; } - if (predictableRandom() < chance) { + const firstFoodDrop = size(user.items.food) < 1; + + if (firstFoodDrop || predictableRandom() < chance) { rarity = predictableRandom(); - if (rarity > 0.6) { // food 40% chance + if (firstFoodDrop || rarity > 0.6) { // food 40% chance drop = cloneDropItem(randomVal(filter(content.food, { canDrop: true, })));