From c210bed033e2593131cdedb8764de71c4aef2a81 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Thu, 18 Jun 2020 15:49:48 -0500 Subject: [PATCH] feat(onboarding): more early incentives --- website/common/script/fns/randomDrop.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/website/common/script/fns/randomDrop.js b/website/common/script/fns/randomDrop.js index 605924dd1d..cfcab7da5d 100644 --- a/website/common/script/fns/randomDrop.js +++ b/website/common/script/fns/randomDrop.js @@ -46,6 +46,7 @@ export default function randomDrop (user, options, req = {}, analytics) { let chance = min([Math.abs(task.value - 21.27), 37.5]) / 150 + 0.02; chance *= task.priority // Task priority: +50% for Medium, +100% for Hard + * (1 + Math.max(0, 80 - (5 * user.stats.lvl)) / 100) // Experimental: more at low levels * (1 + (task.streak / 100 || 0)) // Streak bonus: +1% per streak * (1 + statsComputed(user).per / 100) // PERception: +1% per point * (1 + (user.contributor.level / 40 || 0)) // Contrib levels: +2.5% per level @@ -82,10 +83,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, })));