Browse Source

change icon; fuck questsave; fuck everything;

master
Nero Ignis 4 years ago
parent
commit
49e85411f2
  1. 9
      css/app.css
  2. 2
      index.html
  3. 34
      js/app.js

9
css/app.css

@ -23,12 +23,13 @@
.level-marker { .level-marker {
position: absolute; position: absolute;
top: 2px; top: 4px;
right: 15px; right: 10px;
font-size: 1.8em; font-size: 2.5em;
-webkit-text-stroke: 1px lightgrey; -webkit-text-stroke: 1px lighgrey;
-webkit-text-fill-color: gold; -webkit-text-fill-color: gold;
font-family: Arial, serif; font-family: Arial, serif;
text-shadow: -1px -1px 2px black;
} }
.form-control-sandbox { .form-control-sandbox {

2
index.html

@ -47,7 +47,7 @@
<br/> <br/>
<br/> <br/>
<a href="javascript:" class="btn btn-sm btn-success float-right" @click="redeemReward()">Redeem reward ({{ currentQuest.reward }} <img class="resource-icon" src="img/gold.png">)</a> <a href="javascript:" class="btn btn-sm btn-success float-right" @click="redeemReward()">Redeem reward ({{ currentQuest.reward }} <img class="resource-icon" src="img/gold.png">)</a>
<a class="btn btn-sm btn-info float-right" style="margin-right: 1em;" @click="generateQuestWithRandomItems()"><i class="fas fa-question"></i> Get a new quest</a> <a class="btn btn-sm btn-info float-right" style="margin-right: 1em;" @click="generateQuestWithRandomItems(true)"><i class="fas fa-question"></i> Get a new quest ({{ 3 - questSkipCounter }} left)</a>
</div> </div>
<div v-else> <div v-else>
You don't have a quest at the moment. <br/> You don't have a quest at the moment. <br/>

34
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({ let game = new Vue({
el: '#root', el: '#root',
data: { data: {
@ -182,6 +190,7 @@ let game = new Vue({
}, },
}, },
currentQuest: null, currentQuest: null,
questSkipCounter: 0,
loadedIntervals: [] loadedIntervals: []
}, },
created() { created() {
@ -189,15 +198,12 @@ let game = new Vue({
lastVersion: 'lastVersion', lastVersion: 'lastVersion',
resources: 'resources' + this.version, resources: 'resources' + this.version,
buildings: 'buildings' + this.version, buildings: 'buildings' + this.version,
currentQuest: 'currentQuest' + this.version
} }
this.checkVersion(); this.checkVersion();
this.checkBuildings(); this.checkBuildings();
this.loadResourcesFromStorage(); this.loadResourcesFromStorage();
this.currentQuest = JSON.parse(localStorage.getItem(this.storageNames.currentQuest));
this.loadBuildingsFromStorage(); this.loadBuildingsFromStorage();
this.reloadBuildings(); 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) { if (building.requires) {
Object.keys(building.requires).forEach((resource) => { 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); resourcesMissing.push(resource);
} }
}); });
@ -432,7 +438,12 @@ let game = new Vue({
}, },
// Quests // 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 game = this;
let quest = []; let quest = [];
let rewardSum = 0; let rewardSum = 0;
@ -450,16 +461,18 @@ let game = new Vue({
}); });
if (rewardSum > 0) { if (rewardSum > 0) {
if (skip) {
game.questSkipCounter++;
}
quest['reward'] = rewardSum; quest['reward'] = rewardSum;
game.currentQuest = quest; game.currentQuest = quest;
console.log(game.currentQuest);
game.$forceUpdate(); game.$forceUpdate();
} else { } else {
game.currentQuest = null; game.currentQuest = null;
game.sendInfo('You haven\'t unlocked any resources yet.'); game.sendInfo('You haven\'t unlocked any resources yet.');
} }
localStorage.setItem(this.storageNames.currentQuest, JSON.stringify(this.currentQuest));
return this.currentQuest;
}, },
getRandomAmountForQuestResource() { getRandomAmountForQuestResource() {
@ -508,6 +521,7 @@ let game = new Vue({
game.add(game.currentQuest['reward']); game.add(game.currentQuest['reward']);
game.sendRewardMessage(game.currentQuest['reward']); game.sendRewardMessage(game.currentQuest['reward']);
game.questSkipCounter = 0;
game.generateQuestWithRandomItems(); game.generateQuestWithRandomItems();
} else { } else {
return false; return false;
@ -525,7 +539,7 @@ let game = new Vue({
// Templating // Templating
getFormattedNumber(value) { getFormattedNumber(value) {
return value.toLocaleString('de-DE'); return value.toLocaleString();
}, },
getResourceIconForBuilding(building) { getResourceIconForBuilding(building) {

Loading…
Cancel
Save