From c6f9bbef5b998d11d7b53a16505d258530c1f035 Mon Sep 17 00:00:00 2001 From: MrRedShark77 Date: Thu, 13 Jul 2023 17:02:19 +0300 Subject: [PATCH] v0.7.1.1.1 --- index.html | 1 + js/atom.js | 2 ++ js/quantum/entropy.js | 8 ++++---- js/ranks.js | 32 +++++++++++++++++++++++++------- js/saves.js | 6 +++++- js/temp.js | 2 ++ 6 files changed, 39 insertions(+), 12 deletions(-) diff --git a/index.html b/index.html index 4a00e021..222ad8bb 100644 --- a/index.html +++ b/index.html @@ -258,6 +258,7 @@

Your mass is enough to go Infinity!



+
diff --git a/js/atom.js b/js/atom.js index 41539407..7fc3c637 100644 --- a/js/atom.js +++ b/js/atom.js @@ -99,6 +99,8 @@ const ATOM = { if (tmp.inf_unl) os = os.pow(theoremEff('atom',1)) + if (false) os = EINF + x = overflow(x,os,0.25) tmp.overflow.atomic = calcOverflow(o,x,os) diff --git a/js/quantum/entropy.js b/js/quantum/entropy.js index bb6d2778..66b44684 100644 --- a/js/quantum/entropy.js +++ b/js/quantum/entropy.js @@ -225,21 +225,21 @@ function calcEntropy(dt) { let s1 = Decimal.pow(4,player.supernova.radiation.hz.add(1).log10().add(1).log10().add(1).log10().add(1)).mul(2.25); if (hasTree("en1")) s1 = s1.add(s1.pow(2)).add(s1.pow(3).div(3)); else s1 = s1.add(s1.pow(2).div(2)); s1 = s1.mul(getEnRewardEff(2)); - if (isNaN(s1)) s1=E(0) + if (isNaN(s1.mag)) s1=E(0) if(player.qu.en.eth[2].lt(s1))player.qu.en.eth[2] = s1; s1 = Decimal.pow(4,player.bh.mass.add(1).log10().add(1).log10().add(1).log10().add(1)).mul(2.25); if (hasTree("en1")) s1 = s1.add(s1.pow(2)).add(s1.pow(3).div(3)); else s1 = s1.add(s1.pow(2).div(2)); s1 = s1.mul(getEnRewardEff(2)); s1 = s1.mul(tmp.dark.abEff.hr||1) - if (isNaN(s1)) s1=E(0) + if (isNaN(s1.mag)) s1=E(0) if(player.qu.en.hr[2].lt(s1))player.qu.en.hr[2] = s1; } if (player.qu.en.eth[0]) { player.qu.en.eth[3] += dt player.qu.en.eth[1] = player.qu.en.eth[1].add(tmp.en.gain.eth.mul(dt)) let s = player.supernova.radiation.hz.div(player.supernova.radiation.hz.max(1).pow(dt).pow(player.qu.en.eth[3]**(2/3))).sub(1) - if (isNaN(s)) s=E(1) + if (isNaN(s.mag)) s=E(1) if (s.lt(1)) ENTROPY.switch(0) else player.supernova.radiation.hz = s } @@ -247,7 +247,7 @@ function calcEntropy(dt) { player.qu.en.hr[3] += dt player.qu.en.hr[1] = player.qu.en.hr[1].add(tmp.en.gain.hr.mul(dt)) let s = player.bh.mass.div(player.bh.mass.max(1).pow(dt).pow(player.qu.en.hr[3]**(2/3))).sub(1) - if (isNaN(s)) s=E(1) + if (isNaN(s.mag)) s=E(1) if (s.lt(1)) ENTROPY.switch(1) else player.bh.mass = s } diff --git a/js/ranks.js b/js/ranks.js index f2eb2b4f..6af4617b 100644 --- a/js/ranks.js +++ b/js/ranks.js @@ -703,25 +703,38 @@ function updateRanksTemp() { const BEYOND_RANKS = { req() { - let x = player.ranks.beyond.pow(1.25).mul(10).add(180).ceil() - return x + let p = player.ranks.beyond, rc = tmp.rank_collapse + + let x = p.scale(rc.start,rc.power,2).pow(1.25).mul(10).add(180) + + rc.reduction = p.gte(rc.start) ? x.log(p.pow(1.25).mul(10).add(180)) : E(1) + + return x.ceil() }, bulk() { - let x = player.ranks.hex.gte(180)?player.ranks.hex.sub(180).div(10).max(0).root(1.25).add(1).floor():E(0) + let rc = tmp.rank_collapse + + let x = player.ranks.hex.gte(180)?player.ranks.hex.sub(180).div(10).max(0).root(1.25).scale(rc.start,rc.power,2,true).add(1).floor():E(0) + return x }, - getTier() { - let x = player.ranks.beyond.gt(0)?player.ranks.beyond.log10().max(0).pow(.8).mul(tmp.beyond_ranks.tier_power).add(1).floor().toNumber():1 + getTier(r=player.ranks.beyond) { + let x = r.gt(0)?r.log10().max(0).pow(.8).mul(tmp.beyond_ranks.tier_power).add(1).floor().toNumber():1 return x }, - getRankFromTier(i) { + getRankFromTier(i,r=player.ranks.beyond) { let hp = Decimal.pow(10,Math.pow((i-1)/tmp.beyond_ranks.tier_power,1/.8)).ceil() - return player.ranks.beyond.div(hp).floor() + return r.div(hp).floor() }, getRequirementFromTier(i,t=tmp.beyond_ranks.latestRank,mt=tmp.beyond_ranks.max_tier) { return Decimal.pow(10,Math.pow(mt/tmp.beyond_ranks.tier_power,1/.8)-Math.pow((mt-i)/tmp.beyond_ranks.tier_power,1/.8)).mul(Decimal.add(t,1)).ceil() }, + getRankDisplayFromValue(r) { + let tier = this.getTier(r), current = this.getRankFromTier(tier,r); + + return getRankTierName(tier+5) + ' ' + current.format(0) + }, reset(auto=false) { if (player.ranks.hex.gte(tmp.beyond_ranks.req) && (!auto || tmp.beyond_ranks.bulk.gt(player.ranks.beyond))) { @@ -1032,6 +1045,11 @@ function updateRanksHTML() { tmp.el.br_desc.setHTML(h) tmp.el.br_desc.setClasses({btn: true, reset: true, locked: player.ranks.hex.lt(tmp.beyond_ranks.req)}) } + + let rc = tmp.rank_collapse + + tmp.el.rankCollapse.setDisplay(player.ranks.beyond.gte(rc.start)) + tmp.el.rankCollapse.setHTML(`Because of Rank Collapse at ${BEYOND_RANKS.getRankDisplayFromValue(rc.start)}, Hept's requirement is raised by ${rc.reduction.format()}!`) } else if (tmp.rank_tab == 1) { tmp.el.pres_base.setHTML(`${tmp.prestiges.baseMul.format(0)}${format(tmp.prestiges.baseExp)} = ${tmp.prestiges.base.format(0)}`) diff --git a/js/saves.js b/js/saves.js index 7873b8e2..e06884d4 100644 --- a/js/saves.js +++ b/js/saves.js @@ -29,8 +29,12 @@ Decimal.prototype.scale = function (s, p, mode, rev=false) { p = E(p) var x = this.clone() if (x.gte(s)) { - if ([0, "pow"].includes(mode)) x = rev ? x.mul(s.pow(p.sub(1))).root(p) : x.pow(p).div(s.pow(p.sub(1))) + if ([0, "pow"].includes(mode)) x = rev ? x.div(s).root(p).mul(s) : x.div(s).pow(p).mul(s) if ([1, "exp"].includes(mode)) x = rev ? x.div(s).max(1).log(p).add(s) : Decimal.pow(p,x.sub(s)).mul(s) + if ([2, "dil"].includes(mode)) { + let s10 = s.log10() + x = rev ? Decimal.pow(10,x.log10().div(s10).root(p).mul(s10)) : Decimal.pow(10,x.log10().div(s10).pow(p).mul(s10)) + } } return x } diff --git a/js/temp.js b/js/temp.js index fed94b8c..99519e49 100644 --- a/js/temp.js +++ b/js/temp.js @@ -174,6 +174,8 @@ function resetTemp() { stronger: E(.5), }, + rank_collapse: { start: E('1e14'), power: E(2), reduction: E(1) }, + mass_glyph_msg: 0, glyph_upg_eff: [],