just_another_tree/js/levels.js

55 lines
2.3 KiB
JavaScript
Raw Normal View History

2024-03-07 17:49:20 +00:00
function getAlphaLevel(points = player.p.points) {
if (Decimal.eq(points, 0)) return new Decimal(0)
return Decimal.add(points, 10).div(11).log(1.1).add(1).floor().max(0)
}
function getAlphaCost(points = player.p.points) {
2024-03-07 17:49:20 +00:00
return getAlphaLevel(points).pow_base(1.1).mul(11).sub(10)
}
function getAlphaEffect(points = player.p.points) {
return getAlphaLevel(points).mul(getAlphaRankEffect(points).add(0.05))
}
2024-03-07 17:49:20 +00:00
function getBetaLevel(points = player.p.points) {
if (Decimal.eq(points, 0)) return new Decimal(0)
return Decimal.add(points, 20).div(25).log(1.25).add(1).floor().max(0)
}
function getBetaCost(points = player.p.points) {
2024-03-07 17:49:20 +00:00
return getBetaLevel(points).pow_base(1.25).mul(25).sub(20)
}
function getBetaEffect(points = player.p.points) {
return getBetaLevel(points).mul(getBetaRankEffect(points).add(0.05)).add(1)
}
2024-03-07 17:49:20 +00:00
function getGammaLevel(points = player.p.points) {
if (Decimal.eq(points, 0)) return new Decimal(0)
return Decimal.add(points, 30).div(45).log(1.5).add(1).floor().max(0)
}
function getGammaCost(points = player.p.points) {
2024-03-07 17:49:20 +00:00
return getGammaLevel(points).pow_base(1.5).mul(45).sub(30)
}
function getGammaEffect(points = player.p.points) {
return Decimal.add(player.p.points, 100).log(100)
.pow(getGammaLevel(points).mul(getGammaRankEffect(points).add(0.05)).add(1))
}
2024-03-07 17:49:20 +00:00
function getDeltaLevel(points = player.p.points) {
if (Decimal.eq(points, 0)) return new Decimal(0)
return Decimal.add(points, 30).div(60).log(2).add(1).floor().max(0)
}
function getDeltaCost(points = player.p.points) {
2024-03-07 17:49:20 +00:00
return getDeltaLevel(points).pow_base(2).mul(60).sub(30)
}
function getDeltaEffect(points = player.p.points) {
2024-03-07 21:15:13 +00:00
return getDeltaLevel(points).mul(getDeltaRankEffect(points).add(0.2)).add(1)
}
2024-03-07 17:49:20 +00:00
function getEpsilonLevel(points = player.p.points) {
if (Decimal.eq(points, 0)) return new Decimal(0)
2024-03-07 18:38:17 +00:00
return Decimal.mul(points, 3).add(100).div(250).log(2.5).add(1).floor().max(0)
2024-03-07 17:49:20 +00:00
}
function getEpsilonCost(points = player.p.points) {
2024-03-07 18:38:17 +00:00
return getEpsilonLevel(points).pow_base(2.5).mul(250).sub(100).div(3)
}
function getEpsilonEffect(points = player.p.points) {
2024-03-07 21:15:13 +00:00
return getEpsilonLevel(points).mul(getEpsilonRankEffect(points).add(0.1)).add(1)
}
function getTotalLevel() {
return getAlphaLevel().add(getBetaLevel()).add(getGammaLevel()).add(getDeltaLevel()).add(getEpsilonLevel())
2024-03-07 17:49:20 +00:00
}