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 }}, 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 More progress buyable." }, 32: { name: "So this just boosts Gamma further?", done() { return getBuyableAmount('p', 12).gte(1) }, tooltip: "Get 1x Rebased 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 Shorter bars buyable." }, 34: { name: "Super!", done() { return player.sp.points.gte(1) }, tooltip: "Reset for 1 SPP." }, 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 Much more progress buyable." }, 52: { name: "And another exponent to points ¬_¬", done() { return getBuyableAmount('sp', 12).gte(1) }, tooltip: "Get 1x Super point booster buyable." }, 53: { name: "A new prestige layer!", done() { return player.p.points.gte(5000) }, tooltip: "Reach 5000 PP." }, 54: { name: "Ok so that speeds things up", done() { return hasMilestone('f', 2) }, tooltip: "Earn Filestone 3." }, 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: "Wait that's all of them?", 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: "Well that exploded", done() { return player.i.points.gt(0) }, tooltip: "Reset for 1 integral.
Current endgame." }, }, tabFormat: [ "blank", ["raw-html", function () { return "Achievements: " + player[this.layer].achievements.length + "/" + (Object.keys(tmp[this.layer].achievements).length - 2) }], ["raw-html", function () { return "Effect: x" + tmp[this.layer].effect + " to point gen." }], "blank", "achievements" ], tooltip() { return 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} })