From 3152cb896817c08d5642c39ed32a9699c5966514 Mon Sep 17 00:00:00 2001 From: TJCgames Date: Sun, 10 Mar 2024 17:35:06 +0000 Subject: [PATCH] More directory upgrades! --- js/files.js | 54 ++++++++++++++++++++++++++++++++++++++------------ js/levels.js | 6 +++--- js/mod.js | 2 +- js/progress.js | 8 +++++--- 4 files changed, 50 insertions(+), 20 deletions(-) diff --git a/js/files.js b/js/files.js index cb060ff..7211291 100644 --- a/js/files.js +++ b/js/files.js @@ -10,7 +10,8 @@ addLayer("f", { color: "#7f1bae", requires() { let req = new Decimal(5000) - if (hasUpgrade('f', 32)) { req = req.mul(0.75) } + if (hasUpgrade(this.layer, 32)) { req = req.mul(0.75) } + if (hasMilestone(this.layer, 7)) { req = req.mul(0.8) } return req }, // Can be a function that takes requirement increases into account resource: "files", // Name of prestige currency @@ -18,7 +19,11 @@ addLayer("f", { baseAmount() {return player.p.points}, // Get the current amount of baseResource type: "static", // normal: cost to gain currency depends on amount gained. static: cost depends on how much you already have exponent: 1, // Prestige currency exponent - base: 1.2, + base() { + let base = 1.2 + if (hasUpgrade(this.layer, 41)) base **= 0.95 + return base + }, gainMult() { // Calculate the multiplier for main currency from bonuses return new Decimal(1) }, @@ -72,6 +77,11 @@ addLayer("f", { effectDescription: "You can buy max files.", done() { return player.f.total.gte(10) } }, + 7: { + requirementDescription: "15 total Files.", + effectDescription: "Multiply file cost by x0.8.", + done() { return player.f.total.gte(15) } + }, }, upgrades: { 11: { @@ -92,6 +102,12 @@ addLayer("f", { unlocked() { return hasUpgrade(this.layer, 11) }, branches: [11] }, + 23: { + description: "Gain 5% of your PP gain every second.", + cost: 4, + unlocked() { return hasUpgrade(this.layer, 11) }, + branches: [11] + }, 31: { description: "Make Gamma effect use total level as well.", cost: 5, @@ -101,7 +117,7 @@ addLayer("f", { 32: { description: "Multiply base File cost by 0.75.", cost: 6, - unlocked() { return hasUpgrade(this.layer, 21) || hasUpgrade(this.layer, 22) }, + unlocked() { return hasUpgrade(this.layer, 21) && hasUpgrade(this.layer, 22) }, branches: [21, 22] }, 33: { @@ -110,19 +126,31 @@ addLayer("f", { unlocked() { return hasUpgrade(this.layer, 22) }, branches: [22] }, - 42: { - description: "Files divide PP cost.", + 41: { + description: "Raise Beta, Delta, Zeta effects ^1.1.", cost: 8, - unlocked() { return hasUpgrade(this.layer, 32) || hasUpgrade(this.layer, 33) }, + unlocked() { return hasUpgrade(this.layer, 31) }, + branches: [31] + }, + 42: { + description: "Raise File cost base ^0.95.", + cost: 8, + unlocked() { return hasUpgrade(this.layer, 32) }, + branches: [32] + }, + 43: { + description: "Files divide PP cost.", + cost: 9, + unlocked() { return hasUpgrade(this.layer, 32) && hasUpgrade(this.layer, 33) }, effect() { return player[this.layer].points.add(3).log(2).add(1) }, effectDisplay() { return "/" + this.effect() + "." }, branches: [32, 33] }, - 43: { - description: "Gain 5% of your PP gain every second.", + 44: { + description: "Gain another 5% of your PP gain every second.", cost: 8, - unlocked() { return hasUpgrade(this.layer, 33) }, - branches: [33] + unlocked() { return hasUpgrade(this.layer, 23) && hasUpgrade(this.layer, 33) }, + branches: [[23, 2], 33] } }, clickables: { @@ -155,7 +183,7 @@ addLayer("f", { "blank", ["row", [ ["milestones", [0, 2, 4, 6]], - ["milestones", [1, 3, 5]] + ["milestones", [1, 3, 5, 7]] ]] ] }, @@ -170,9 +198,9 @@ addLayer("f", { "blank", ["upgrade-tree", [ [11], - [21, 22], + [21, 22, 23], [31, 32, 33], - [42, 43] + [41, 42, 43, 44] ]] ], unlocked() { return hasMilestone('f', 4) } diff --git a/js/levels.js b/js/levels.js index 17e6a2b..c7e7bd0 100644 --- a/js/levels.js +++ b/js/levels.js @@ -23,7 +23,7 @@ function getBetaCost(points = player.p.points) { return cumulativeExponential(1.25, getBetaLevel(points)).mul(5).pow(buyableEffect('p', 13)) } function getBetaEffect(points = player.p.points) { - return getBetaLevel(points).mul(getBetaRankEffect(points).add(1/20)).add(1) + return getBetaLevel(points).mul(getBetaRankEffect(points).add(1/20)).add(1).pow(hasUpgrade('f', 41) ? 1.2 : 1) } function getGammaLevel(points = player.p.points) { if (Decimal.eq(points, 0)) return new Decimal(0) @@ -44,7 +44,7 @@ function getDeltaCost(points = player.p.points) { return cumulativeExponential(2, getDeltaLevel(points)).mul(30).pow(buyableEffect('p', 13)) } function getDeltaEffect(points = player.p.points) { - return getDeltaLevel(points).mul(getDeltaRankEffect(points).add(1/5)).add(1) + return getDeltaLevel(points).mul(getDeltaRankEffect(points).add(1/5)).add(1).pow(hasUpgrade('f', 41) ? 1.2 : 1) } function getEpsilonLevel(points = player.p.points) { if (Decimal.eq(points, 0)) return new Decimal(0) @@ -64,7 +64,7 @@ function getZetaCost(points = player.p.points) { return cumulativeExponential(3, getZetaLevel(points)).mul(80).pow(buyableEffect('p', 13)) } function getZetaEffect(points = player.p.points) { - return getZetaLevel(points).mul(getZetaRankEffect().add(1/3)).add(1) + return getZetaLevel(points).mul(getZetaRankEffect().add(1/3)).add(1).pow(hasUpgrade('f', 41) ? 1.2 : 1) } function getTotalLevel() { diff --git a/js/mod.js b/js/mod.js index 27d1daf..d634e8c 100644 --- a/js/mod.js +++ b/js/mod.js @@ -73,7 +73,7 @@ var displayThings = [ // Determines when the game "ends" function isEndgame() { - return player.f.points.gte(6) + return player.f.total.gte(40) } diff --git a/js/progress.js b/js/progress.js index 01ff5ef..6c11582 100644 --- a/js/progress.js +++ b/js/progress.js @@ -11,7 +11,7 @@ addLayer("p", { let req = new Decimal(1) if (hasMilestone('f', 2)) { req = req.mul(0.5) } if (hasUpgrade('f', 33)) { req = req.mul(0.75) } - if (hasUpgrade('f', 42)) { req = req.div(upgradeEffect('f', 42)) } + if (hasUpgrade('f', 43)) { req = req.div(upgradeEffect('f', 43)) } return req }, // Can be a function that takes requirement increases into account resource: "progress points", // Name of prestige currency @@ -30,8 +30,10 @@ addLayer("p", { {key: "p", description: "P: Reset for progress points", onPress(){if (canReset(this.layer)) doReset(this.layer)}}, ], passiveGeneration() { - if (hasUpgrade('f', 43)) return 0.05 - return 0 + let gain = 0 + if (hasUpgrade('f', 44)) gain += 0.05 + if (hasUpgrade('f', 23)) gain += 0.05 + return gain }, bars: { alpha: {