From 49e85411f231ed7fc996918f501b1412b5717bc8 Mon Sep 17 00:00:00 2001 From: Nero Ignis Date: Wed, 21 Apr 2021 21:51:05 +0200 Subject: [PATCH] change icon; fuck questsave; fuck everything; --- css/app.css | 9 +++++---- index.html | 2 +- js/app.js | 34 ++++++++++++++++++++++++---------- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/css/app.css b/css/app.css index 72b5487..9f892fb 100644 --- a/css/app.css +++ b/css/app.css @@ -23,12 +23,13 @@ .level-marker { position: absolute; - top: 2px; - right: 15px; - font-size: 1.8em; - -webkit-text-stroke: 1px lightgrey; + top: 4px; + right: 10px; + font-size: 2.5em; + -webkit-text-stroke: 1px lighgrey; -webkit-text-fill-color: gold; font-family: Arial, serif; + text-shadow: -1px -1px 2px black; } .form-control-sandbox { diff --git a/index.html b/index.html index 237e415..8dde473 100644 --- a/index.html +++ b/index.html @@ -47,7 +47,7 @@

Redeem reward ({{ currentQuest.reward }} ) - Get a new quest + Get a new quest ({{ 3 - questSkipCounter }} left)
You don't have a quest at the moment.
diff --git a/js/app.js b/js/app.js index 3e9bc81..c8441aa 100644 --- a/js/app.js +++ b/js/app.js @@ -1,3 +1,11 @@ +Storage.prototype.setObj = function(key, obj) { + return this.setItem(key, JSON.stringify(obj)) +} + +Storage.prototype.getObj = function(key) { + return JSON.parse(this.getItem(key)) +} + let game = new Vue({ el: '#root', data: { @@ -182,6 +190,7 @@ let game = new Vue({ }, }, currentQuest: null, + questSkipCounter: 0, loadedIntervals: [] }, created() { @@ -189,15 +198,12 @@ let game = new Vue({ lastVersion: 'lastVersion', resources: 'resources' + this.version, buildings: 'buildings' + this.version, - currentQuest: 'currentQuest' + this.version } this.checkVersion(); this.checkBuildings(); this.loadResourcesFromStorage(); - this.currentQuest = JSON.parse(localStorage.getItem(this.storageNames.currentQuest)); - this.loadBuildingsFromStorage(); this.reloadBuildings(); }, @@ -250,7 +256,7 @@ let game = new Vue({ } }); - this.buildings = savedBuildings; + game.buildings = savedBuildings; } }, @@ -410,7 +416,7 @@ let game = new Vue({ if (building.requires) { Object.keys(building.requires).forEach((resource) => { - if (building.requires[resource] > this.resources[resource].amount) { + if (building.requires[resource] > game.resources[resource].amount) { resourcesMissing.push(resource); } }); @@ -432,7 +438,12 @@ let game = new Vue({ }, // Quests - generateQuestWithRandomItems() { + generateQuestWithRandomItems(skip = false) { + if (skip && this.questSkipCounter >= 3) { + this.sendWarning('You can only skip 3 quests in a row!'); + return false; + } + let game = this; let quest = []; let rewardSum = 0; @@ -450,16 +461,18 @@ let game = new Vue({ }); if (rewardSum > 0) { + if (skip) { + game.questSkipCounter++; + } + quest['reward'] = rewardSum; game.currentQuest = quest; + console.log(game.currentQuest); game.$forceUpdate(); } else { game.currentQuest = null; game.sendInfo('You haven\'t unlocked any resources yet.'); } - - localStorage.setItem(this.storageNames.currentQuest, JSON.stringify(this.currentQuest)); - return this.currentQuest; }, getRandomAmountForQuestResource() { @@ -508,6 +521,7 @@ let game = new Vue({ game.add(game.currentQuest['reward']); game.sendRewardMessage(game.currentQuest['reward']); + game.questSkipCounter = 0; game.generateQuestWithRandomItems(); } else { return false; @@ -525,7 +539,7 @@ let game = new Vue({ // Templating getFormattedNumber(value) { - return value.toLocaleString('de-DE'); + return value.toLocaleString(); }, getResourceIconForBuilding(building) {