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", color: "#7f1bae",
requires() { requires() {
let req = new Decimal(5000) 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 return req
}, // Can be a function that takes requirement increases into account }, // Can be a function that takes requirement increases into account
resource: "files", // Name of prestige currency resource: "files", // Name of prestige currency
@ -18,7 +19,11 @@ addLayer("f", {
baseAmount() {return player.p.points}, // Get the current amount of baseResource 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 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 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 gainMult() { // Calculate the multiplier for main currency from bonuses
return new Decimal(1) return new Decimal(1)
}, },
@ -72,6 +77,11 @@ addLayer("f", {
effectDescription: "You can buy max files.", effectDescription: "You can buy max files.",
done() { return player.f.total.gte(10) } 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: { upgrades: {
11: { 11: {
@ -92,6 +102,12 @@ addLayer("f", {
unlocked() { return hasUpgrade(this.layer, 11) }, unlocked() { return hasUpgrade(this.layer, 11) },
branches: [11] branches: [11]
}, },
23: {
description: "Gain 5% of your PP gain every second.",
cost: 4,
unlocked() { return hasUpgrade(this.layer, 11) },
branches: [11]
},
31: { 31: {
description: "Make Gamma effect use total level as well.", description: "Make Gamma effect use total level as well.",
cost: 5, cost: 5,
@ -101,7 +117,7 @@ addLayer("f", {
32: { 32: {
description: "Multiply base File cost by 0.75.", description: "Multiply base File cost by 0.75.",
cost: 6, 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] branches: [21, 22]
}, },
33: { 33: {
@ -110,19 +126,31 @@ addLayer("f", {
unlocked() { return hasUpgrade(this.layer, 22) }, unlocked() { return hasUpgrade(this.layer, 22) },
branches: [22] branches: [22]
}, },
42: { 41: {
description: "Files divide PP cost.", description: "Raise Beta, Delta, Zeta effects ^1.1.",
cost: 8, 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) }, effect() { return player[this.layer].points.add(3).log(2).add(1) },
effectDisplay() { return "/" + this.effect() + "." }, effectDisplay() { return "/" + this.effect() + "." },
branches: [32, 33] branches: [32, 33]
}, },
43: { 44: {
description: "Gain 5% of your PP gain every second.", description: "Gain another 5% of your PP gain every second.",
cost: 8, cost: 8,
unlocked() { return hasUpgrade(this.layer, 33) }, unlocked() { return hasUpgrade(this.layer, 23) && hasUpgrade(this.layer, 33) },
branches: [33] branches: [[23, 2], 33]
} }
}, },
clickables: { clickables: {
@ -155,7 +183,7 @@ addLayer("f", {
"blank", "blank",
["row", [ ["row", [
["milestones", [0, 2, 4, 6]], ["milestones", [0, 2, 4, 6]],
["milestones", [1, 3, 5]] ["milestones", [1, 3, 5, 7]]
]] ]]
] ]
}, },
@ -170,9 +198,9 @@ addLayer("f", {
"blank", "blank",
["upgrade-tree", [ ["upgrade-tree", [
[11], [11],
[21, 22], [21, 22, 23],
[31, 32, 33], [31, 32, 33],
[42, 43] [41, 42, 43, 44]
]] ]]
], ],
unlocked() { return hasMilestone('f', 4) } 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)) return cumulativeExponential(1.25, getBetaLevel(points)).mul(5).pow(buyableEffect('p', 13))
} }
function getBetaEffect(points = player.p.points) { 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) { function getGammaLevel(points = player.p.points) {
if (Decimal.eq(points, 0)) return new Decimal(0) 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)) return cumulativeExponential(2, getDeltaLevel(points)).mul(30).pow(buyableEffect('p', 13))
} }
function getDeltaEffect(points = player.p.points) { 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) { function getEpsilonLevel(points = player.p.points) {
if (Decimal.eq(points, 0)) return new Decimal(0) 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)) return cumulativeExponential(3, getZetaLevel(points)).mul(80).pow(buyableEffect('p', 13))
} }
function getZetaEffect(points = player.p.points) { 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() { function getTotalLevel() {

View file

@ -73,7 +73,7 @@ var displayThings = [
// Determines when the game "ends" // Determines when the game "ends"
function isEndgame() { 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) let req = new Decimal(1)
if (hasMilestone('f', 2)) { req = req.mul(0.5) } if (hasMilestone('f', 2)) { req = req.mul(0.5) }
if (hasUpgrade('f', 33)) { req = req.mul(0.75) } 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 return req
}, // Can be a function that takes requirement increases into account }, // Can be a function that takes requirement increases into account
resource: "progress points", // Name of prestige currency 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)}}, {key: "p", description: "P: Reset for progress points", onPress(){if (canReset(this.layer)) doReset(this.layer)}},
], ],
passiveGeneration() { passiveGeneration() {
if (hasUpgrade('f', 43)) return 0.05 let gain = 0
return 0 if (hasUpgrade('f', 44)) gain += 0.05
if (hasUpgrade('f', 23)) gain += 0.05
return gain
}, },
bars: { bars: {
alpha: { alpha: {