More directory upgrades!

This commit is contained in:
Nif 2024-03-10 17:35:06 +00:00
parent 2835855ba5
commit 3152cb8968
4 changed files with 50 additions and 20 deletions

View file

@ -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) }

View file

@ -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() {

View file

@ -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)
}

View file

@ -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: {