From b000eb1f24fcf0dc588a8d61afde6899d48122b5 Mon Sep 17 00:00:00 2001 From: Nero Ignis Date: Wed, 21 Apr 2021 22:40:17 +0200 Subject: [PATCH] Don't select all resources for quests; Make quarry buildable; Balance Lumberjack; --- js/app.js | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/js/app.js b/js/app.js index 2ed216e..14d5d2f 100644 --- a/js/app.js +++ b/js/app.js @@ -99,10 +99,10 @@ let game = new Vue({ isUpgradeable: true, amount: 2, intervalInSeconds: 10, - price: 500, - amountPerLevel: [100, 250, 500, 750, 1000, 1500, 2000, 2500, 3000, 5000], + price: 250, + amountPerLevel: [10, 15, 20, 25, 30, 35, 40, 45, 50, 55], pricePerLevel: [500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000], - intervalPerLevel: [15, 25, 30, 45, 60, 90, 90, 120, 120, 120], + intervalPerLevel: [15, 15, 15, 15, 15, 15, 15, 15, 15, 15], }, carpenter: { name: 'Carpenter', @@ -149,6 +149,9 @@ let game = new Vue({ amount: 2, intervalInSeconds: 20, price: 500, + resourcesToBuild: { + stone: 600 + }, amountPerLevel: [100, 250, 500, 750, 1000, 1500, 2000, 2500, 3000, 5000], pricePerLevel: [500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000], intervalPerLevel: [15, 25, 30, 45, 60, 90, 90, 120, 120, 120], @@ -490,9 +493,27 @@ let game = new Vue({ let game = this; let quest = []; let rewardSum = 0; - let resources = Object.keys(game.resources); - resources.forEach((resource) => { + const maxResourcesPerQuest = 3; + + let unlockedResources = []; + Object.keys(game.resources).forEach((resource) => { + if (game.resources[resource].unlocked && resource !== 'gold') { + unlockedResources.push(resource); + } + }); + + if (unlockedResources.length > 1) { + unlockedResources = unlockedResources.sort(() => 0.5 - Math.random()); + unlockedResources = unlockedResources.slice( + 1, + (maxResourcesPerQuest > unlockedResources.length) ? unlockedResources.length : maxResourcesPerQuest + ); + } else { + unlockedResources = [unlockedResources[0]]; + } + + unlockedResources.forEach((resource) => { if (game.resources[resource].unlocked === true && resource !== 'gold') { let amount = game.getRandomAmountForQuestResource(); @@ -510,7 +531,6 @@ let game = new Vue({ quest['reward'] = rewardSum; game.currentQuest = quest; - console.log(game.currentQuest); game.$forceUpdate(); } else { game.currentQuest = null;