generated from incremental-social/The-Modding-Tree
219 lines
8 KiB
JavaScript
219 lines
8 KiB
JavaScript
addLayer("ach", {
|
|
name: "achievements", // This is optional, only used in a few places, If absent it just uses the layer id.
|
|
symbol: "☆", // This appears on the layer's node. Default is the id with the first letter capitalized
|
|
position: 0, // Horizontal position within a row. By default it uses the layer id and sorts in alphabetical order
|
|
startData() { return {
|
|
unlocked: true,
|
|
has45: false,
|
|
has55: false,
|
|
has75: false
|
|
}},
|
|
color: "#9d750d",
|
|
effect() {
|
|
return Decimal.div(player[this.layer].achievements.length, 20).add(1)
|
|
},
|
|
achievements: {
|
|
11: {
|
|
name: "All that progress is gone!",
|
|
done() { return player.p.points.gte(1) },
|
|
tooltip: "Reset for 1 PP."
|
|
},
|
|
12: {
|
|
name: "So that's what the mechanic is...",
|
|
done() { return getAlphaLevel().gte(2) },
|
|
tooltip: "Reach Alpha level 2."
|
|
},
|
|
13: {
|
|
name: "This is quite fun!",
|
|
done() { return getBetaLevel().gte(1) },
|
|
tooltip: "Reach Beta level 1."
|
|
},
|
|
14: {
|
|
name: "Oh so many bars.",
|
|
done() { return getGammaLevel().gte(1) },
|
|
tooltip: "Reach Gamma level 1."
|
|
},
|
|
15: {
|
|
name: "GREEN!!!",
|
|
done() { return options.theme === "verdant" },
|
|
tooltip: "Switch to the Verdant theme."
|
|
},
|
|
21: {
|
|
name: "Nomial gains.",
|
|
done() { return getPointGen().gte(1) },
|
|
tooltip: "Get 1 point per second."
|
|
},
|
|
22: {
|
|
name: "That's an exponent!",
|
|
done() { return getEpsilonLevel().gte(1) },
|
|
tooltip: "Reach Epsilon level 1."
|
|
},
|
|
23: {
|
|
name: "What's a \"Rank\"?",
|
|
done() { return getAlphaRank().gte(1) },
|
|
tooltip: "Reach Alpha rank 1."
|
|
},
|
|
24: {
|
|
name: "No more bars?",
|
|
done() { return getZetaLevel().gte(1) },
|
|
tooltip: "Reach Zeta level 1."
|
|
},
|
|
25: {
|
|
name: "Lots of points",
|
|
done() { return player.points.gte(200) },
|
|
tooltip: "Reach 200 points."
|
|
},
|
|
31: {
|
|
name: "Even more progress.",
|
|
done() { return getBuyableAmount('p', 11).gte(1) },
|
|
tooltip: "Get 1x <b>More progress</b> buyable."
|
|
},
|
|
32: {
|
|
name: "So this just boosts Gamma further?",
|
|
done() { return getBuyableAmount('p', 12).gte(1) },
|
|
tooltip: "Get 1x <b>Rebased</b> buyable."
|
|
},
|
|
33: {
|
|
name: "Softcap?? >:(",
|
|
done() { return getPointGen().gte(getKappaEffect().mul(1000)) },
|
|
tooltip: "Reach the first softcap."
|
|
},
|
|
33: {
|
|
name: "Decrementy",
|
|
done() { return getBuyableAmount('p', 13).gte(1) },
|
|
tooltip: "Get 1x <b>Shorter bars</b> buyable."
|
|
},
|
|
34: {
|
|
name: "Super!",
|
|
done() { return player.points.gte(5000) },
|
|
tooltip: "Reach 5000 points."
|
|
},
|
|
35: {
|
|
name: "Where were you??",
|
|
done() { return getPointGen().gt(0) && player.points.div(100).gte(getPointGen()) },
|
|
tooltip: "Have your points reach 100x your points per second."
|
|
},
|
|
41: {
|
|
name: "Progressed further.",
|
|
done() { return getThetaLevel().gte(1) },
|
|
tooltip: "Reach Theta level 1."
|
|
},
|
|
42: {
|
|
name: "Literally just another exponent.",
|
|
done() { return getIotaLevel().gte(1) },
|
|
tooltip: "Reach Iota level 1."
|
|
},
|
|
43: {
|
|
name: "YES! GOODBYE SOFTCAP!",
|
|
done() { return getKappaLevel().gte(1) },
|
|
tooltip: "Reach Kappa level 1."
|
|
},
|
|
44: {
|
|
name: "Very big multiplier",
|
|
done() { return getLambdaLevel().gte(1) },
|
|
tooltip: "Reach Lambda level 1."
|
|
},
|
|
45: {
|
|
name: "Don't even need PP anymore",
|
|
done() { return player[this.layer].has45 },
|
|
tooltip: "Reset for SPP with 0 PP."
|
|
},
|
|
51: {
|
|
name: "An exponent to progress points?",
|
|
done() { return getBuyableAmount('sp', 11).gte(1) },
|
|
tooltip: "Get 1x <b>Much more progress</b> buyable."
|
|
},
|
|
52: {
|
|
name: "And another exponent to points ¬_¬",
|
|
done() { return getBuyableAmount('sp', 12).gte(1) },
|
|
tooltip: "Get 1x <b>Super point booster</b> buyable."
|
|
},
|
|
53: {
|
|
name: "A new prestige layer!",
|
|
done() { return player.sp.points.gte(250) },
|
|
tooltip: "Reach 250 SPP."
|
|
},
|
|
54: {
|
|
name: "Retention!",
|
|
done() { return hasMilestone('f', 3) },
|
|
tooltip: "Earn Filestone 4."
|
|
},
|
|
55: {
|
|
name: "Well that was useful",
|
|
done() { return player[this.layer].has55 },
|
|
tooltip: "Respec directory upgrades when you have none."
|
|
},
|
|
61: {
|
|
name: "Ooh upgrades",
|
|
done() { return player.f.upgrades.map(x => x - 20).filter(x => x >= 0 && x < 9).length == 3 },
|
|
tooltip: "Get all row 2 directory upgrades."
|
|
},
|
|
62: {
|
|
name: "Lots of boosts!!",
|
|
done() { return player.f.upgrades.map(x => x - 30).filter(x => x >= 0 && x < 9).length == 3 },
|
|
tooltip: "Get all row 3 directory upgrades."
|
|
},
|
|
63: {
|
|
name: "Now it gets expensive.",
|
|
done() { return player.f.upgrades.map(x => x - 40).filter(x => x >= 0 && x < 9).length == 4 },
|
|
tooltip: "Get all row 4 directory upgrades."
|
|
},
|
|
64: {
|
|
name: "Extreme.",
|
|
done() { return player.f.upgrades.map(x => x - 50).filter(x => x >= 0 && x < 9).length == 4 },
|
|
tooltip: "Get all row 5 directory upgrades."
|
|
},
|
|
65: {
|
|
name: "100 times over.",
|
|
done() { return player.f.total.gte(100) },
|
|
tooltip: "Get 100 Files."
|
|
},
|
|
71: {
|
|
name: "Alright I'm out of ideas.",
|
|
done() { return player.f.upgrades.map(x => x - 60).filter(x => x >= 0 && x < 9).length == 2 },
|
|
tooltip: "Get all row 6 directory upgrades."
|
|
},
|
|
72: {
|
|
name: "I guess one last buyable?",
|
|
done() { return getBuyableAmount('f', 11).gte(10) },
|
|
tooltip: "Get 10 <b>The finale of the intro</b> buyables."
|
|
},
|
|
73: {
|
|
name: "FOR THE LOVE OF GOD JUST GET BIGGER",
|
|
done() { return hasMilestone('f', 13) },
|
|
tooltip: "Reach Filestone 14"
|
|
},
|
|
74: {
|
|
name: "And then comes the prestige layer",
|
|
done() { return player.points.log(2).gte(127.9) },
|
|
tooltip: "Reach " + format(Decimal.pow(2, 127.9)) + " points"
|
|
},
|
|
81: {
|
|
name: "Is this even balanced?",
|
|
done() { return hasMilestone('i', 1) },
|
|
tooltip: "Reach Integral milestone 2"
|
|
},
|
|
75: {
|
|
name: "Another one of these?",
|
|
done() { return player[this.layer].has75 },
|
|
tooltip: "Respec number buyables when you have none."
|
|
},
|
|
82: {
|
|
name: "A... number?",
|
|
done() { return hasMilestone('i', 2) },
|
|
tooltip: "Reach Integral milestone 3"
|
|
},
|
|
},
|
|
tabFormat: [
|
|
"blank",
|
|
["raw-html", function () { return "Achievements: " + format(player[this.layer].achievements.length) + "/" + format(Object.keys(tmp[this.layer].achievements).length - 2) }],
|
|
["raw-html", function () { return "Effect: x" + format(tmp[this.layer].effect) + " to point gen." }],
|
|
"blank",
|
|
"achievements"
|
|
],
|
|
tooltip() {
|
|
return format(player[this.layer].achievements.length) + " achievement" + (player[this.layer].achievements.length == 1 ? "" : "s")
|
|
},
|
|
row: "side", // Row the layer is in on the tree (0 is the first row)
|
|
layerShown(){return true}
|
|
})
|