Kaynağa Gözat

Added click bonuses

tags/v0.0.1
Fen Dweller 7 yıl önce
ebeveyn
işleme
9075fe09a0
2 değiştirilmiş dosya ile 86 ekleme ve 4 silme
  1. +67
    -0
      constants.js
  2. +19
    -4
      gorge.js

+ 67
- 0
constants.js Dosyayı Görüntüle

@@ -137,6 +137,14 @@ const effect_types = {
"desc": function(effect) { "desc": function(effect) {
return "+" + round(effect.amount * 100) + "% food/sec from " + buildings[effect.helped].name + " for every " + buildings[effect.helper].name + " owned."; return "+" + round(effect.amount * 100) + "% food/sec from " + buildings[effect.helped].name + " for every " + buildings[effect.helper].name + " owned.";
} }
},
"click": {
"apply": function(effect, bonus, productivity) {
return bonus + productivity * effect.amount;
},
"desc": function(effect) {
return round(effect.amount * 100) + "% of food/sec gained per click";
}
} }
} }


@@ -171,6 +179,7 @@ function createTemplateUpgrades() {
console.log("qwewq"); console.log("qwewq");
createProdUpgrades(); createProdUpgrades();
createProdAllUpgrades(); createProdAllUpgrades();
createClickUpgrades();
} }


const prodUpgradeCounts = [1, 5, 10, 25, 50, 75, 100]; const prodUpgradeCounts = [1, 5, 10, 25, 50, 75, 100];
@@ -245,6 +254,41 @@ function createProdAllUpgrades() {
} }
} }


function createClickUpgrades() {
let prefix = "prod-click-";

let counter = 1 ;

for (let contents of clickUpgradeText) {
upgrades[prefix + counter] = {
name: contents.name,
desc: contents.desc,
cost: {
food: Math.pow(10, (counter*2)+1)
},
effects: [
{
type: "click",
amount: 0.01
}
],
prereqs: {
productivity: {
food: Math.pow(10, counter)
}
}
};

if (counter > 1) {
upgrades[prefix + counter]["prereqs"].upgrades = [
prefix + (counter - 1)
];
}

counter += 1;
}
}

let prodUpgradeText = { let prodUpgradeText = {
"micro": [ "micro": [
{ {
@@ -369,3 +413,26 @@ let prodAllUpgradeText = [
"desc": "Digest them all." "desc": "Digest them all."
} }
] ]

const clickUpgradeText = [
{
"name": "Grabby Hands",
"desc": ""
},
{
"name": "",
"desc": ""
},
{
"name": "",
"desc": ""
},
{
"name": "",
"desc": ""
},
{
"name": "",
"desc": ""
},
]

+ 19
- 4
gorge.js Dosyayı Görüntüle

@@ -3,16 +3,17 @@
let belongings = {}; let belongings = {};


let ownedUpgrades = {}; let ownedUpgrades = {};
let remainingUpgrades = [];


let effects = {}; let effects = {};


let remainingUpgrades = [];


let resources = {}; let resources = {};


let updateRate = 60; let updateRate = 60;


let currentProductivity = {}; let currentProductivity = {};
let clickBonus = 0;


let lastTime = 0; let lastTime = 0;


@@ -87,7 +88,6 @@ function updateDisplay() {
let delta = newTime - lastTime; let delta = newTime - lastTime;
lastTime = newTime; lastTime = newTime;


updateProductivity();
addResources(delta); addResources(delta);
displayResources(); displayResources();
displayBuildings(); displayBuildings();
@@ -203,6 +203,18 @@ function displayUpgrades() {
} }
} }


function updateClickBonus() {
let bonus = 0;

for (let effect of effects["click"]) {
if (ownedUpgrades[effect.parent]) {
bonus = effect.apply(bonus, currentProductivity["food"]);
}
}

clickBonus = bonus;
}

function buyUpgrade(id) { function buyUpgrade(id) {
if (ownedUpgrades[id]) { if (ownedUpgrades[id]) {
return; return;
@@ -217,10 +229,13 @@ function buyUpgrade(id) {
spend(upgrade.cost); spend(upgrade.cost);


ownedUpgrades[id] = true; ownedUpgrades[id] = true;

updateProductivity();
updateClickBonus();
} }


function eatMicro() { function eatMicro() {
resources.food += productivityMultiplierOf("micro");
resources.food += productivityMultiplierOf("micro") + clickBonus;
} }
// setup stuff lol // setup stuff lol


@@ -481,7 +496,7 @@ function renderPrereqs(prereqs) {
if (prereqs === undefined) { if (prereqs === undefined) {
return renderLines(list); return renderLines(list);
} }
list.push({ list.push({
"text": "Own:" "text": "Own:"
}); });


Yükleniyor…
İptal
Kaydet