From e3c4422d3344bbb8af6b4064a64bdf97561218ff Mon Sep 17 00:00:00 2001
From: qq1010903229 <1010903229@qq.com>
Date: Tue, 12 Dec 2023 02:34:45 +0800
Subject: [PATCH 1/4] collapse
---
js/data/buttons.js | 94 +++++++++++++++++++++++++++++++++++++++----
js/data/milestones.js | 14 ++++++-
js/data/sigils.js | 2 +-
js/save.js | 2 +
js/tabs/buttons.js | 8 ++--
js/tabs/milestones.js | 4 +-
js/tabs/sigils.js | 3 +-
7 files changed, 111 insertions(+), 16 deletions(-)
diff --git a/js/data/buttons.js b/js/data/buttons.js
index 34e18d2..dcfc2b3 100644
--- a/js/data/buttons.js
+++ b/js/data/buttons.js
@@ -24,7 +24,7 @@ let tierColors = [
"#aaa",
"#c4c",
"#f94",
- "#777",
+ "#777",
"#a7c",
]
@@ -209,7 +209,9 @@ function getButtonGain(row, tier) {
return D.pow(base, D.pow(1.05, tier).sub(1).mul(20)).mul(mult);
}
function getRowMulti(row, index) {
- index ??= game.ladder.findIndex(x => D.eq(x.tier, row));
+ index ??= game.ladder.findIndex(x => D.eq(x.tier, row));
+ if(index < 0)return D.add(getRowAmount(D.add(row, 1)), 1)
+ if(index == 0)return D.add(getRowAmount(D.add(row, 1)), 1).mul(temp.milestoneMultis[index] ?? 1).mul(temp.sigilEffects[index] ?? 1).mul(getCollapseMult());
return D.add(getRowAmount(D.add(row, 1)), 1).mul(temp.milestoneMultis[index] ?? 1).mul(temp.sigilEffects[index] ?? 1);
}
function getButtonCost(row, tier) {
@@ -238,6 +240,20 @@ function clickButton(row, tier, auto = false) {
game.tokens = D.add(row, 1).pow(temp.tokenUpgEffects.tokens.normalTierFactor).mul(getTokenMulti()).add(game.tokens);
if (!auto) game.stats.presses++;
}
+ } else if (index == 1 && D(row).gte(2)) {
+ let cost = getMultiReqForCollapse(row, getButtonCost(row, tier));
+ let prevData = game.ladder[index - 1];
+ if (D.gte(prevData.amount, cost)) {
+ game.money = 0;
+ for (let a = 0; a < index; a++) game.ladder[a].amount = game.ladder[a].level = D(0);
+ data.amount = getButtonGain(row, tier).mul(getRowMulti(row)).add(data.amount);
+ data.level = D(0);
+ data.presses = D.add(data.presses, 1);
+ if (!auto && game.unlocks.tok1 && Math.random() * 100 <= temp.tokenUpgEffects.tokens.normalChance)
+ game.tokens = D.add(row, 1).pow(temp.tokenUpgEffects.tokens.normalTierFactor).mul(getTokenMulti()).add(game.tokens);
+ if (!auto) game.stats.presses++;
+ if (game.unlocks.btn5) makeRow(row);
+ }
} else {
let prevData = game.ladder[index - 1];
if (D.gte(prevData.amount, cost)) {
@@ -264,7 +280,27 @@ function makeRow(row) {
presses: D(0),
};
game.ladder.push(highest);
- }
+ }
+ if(D.lte(highest.tier, row) && game.ladder.length == 10 && game.unlocks.col1){
+ game.collapsed = game.collapsed.add(1);
+ for(let i = 2;i < 10; i++){
+ game.ladder[i-1]=game.ladder[i];
+ }
+ highest = {
+ tier: D.add(highest.tier, 1),
+ amount: D(0),
+ level: D(0),
+ presses: D(0),
+ };
+ game.ladder[9]=highest;
+ updateRuneStats();
+ updateMilestoneStats();
+ updateAllChargerUpgEffects();
+ updateAutomationStats();
+ updateTokenStats();
+ updateSigilEffects();
+ allDirty = true;
+ }
}
function updateVisibleUnlocks() {
@@ -291,8 +327,8 @@ function checkEndgame() {
desc.innerHTML = `
You've purchased all the available unlocks currently in the game!
However, it is not the end of the journey...
- Collapse is not implemented yet, make sure to stay tuned for future game updates!
-
+ Collapse is just implemented by loader3229, make sure to stay tuned for future game updates!
+ To collapse the first reset layer, you need to reset Hyperity once after unlocking collapse.
Time played: ${format.time(game.stats.timePlayed)}
`
showOverlay("popup", "Congratulations!", desc, ["Ok"]);
@@ -320,7 +356,8 @@ function doResetAuto(times) {
whileloop: while (D.gt(times, 0)) {
for (let a = (game.automators.reset?.depth ?? 1); a >= 1; a--) {
let row = game.ladder[a];
- let pos = getHighestButton(row.tier, game.ladder[a - 1].amount);
+ let pos = getHighestButton(row.tier, game.ladder[a - 1].amount);
+ if(a == 1 && D(row.tier) >= 2)pos = getHighestButton1(row.tier, game.ladder[a - 1].amount);
if (D.lt(pos, 0)) continue;
let gain = getButtonGain(row.tier, pos).mul(getRowMulti(row.tier));
if (D.div(gain, row.amount).gt(game.automators.reset?.factor ?? 0)) {
@@ -332,4 +369,47 @@ function doResetAuto(times) {
}
break;
}
-}
+}
+
+function getHighestButtonForCollapse(row, amount){
+ let base = D.eq(row, 0) ? 5 : D.eq(row, 1) ? 1e5 : D.pow(2, row).mul(250);
+ return D.div(D(amount).max(0), base).add(1).logBase(D.add(row, 1).mul(10)).div(10).add(1).logBase(1.1);
+}
+
+function getMultiReqForCollapse(row, amount){
+ amount = amount.div(getRowMulti(row)).div(temp.sigilEffects[0]);
+ let tier = getButtonTierForCollapse(row, amount);
+ if(D(row).gte(2))return getMultiReqForCollapse(D(row).sub(1), getButtonCostForCollapse(row, tier));
+ return getButtonCostForCollapse(row, tier);
+}
+
+function getButtonTierForCollapse(row, amount) {
+ let base = D.eq(row, 0) ? 8 : 4;
+ let mult = D.eq(row, 0) ? 1 : D.add(row, 1);
+ return amount.div(mult).logBase(base).div(20).max(-1).add(1).logBase(1.05);
+}
+
+function getButtonCostForCollapse(row, tier) {
+ let base = D.eq(row, 0) ? 5 : D.eq(row, 1) ? 1e5 : D.pow(2, row).mul(250);
+ return D.add(row, 1).mul(10).pow(D.pow(1.1, tier).sub(1).mul(10)).mul(base);
+}
+
+function getCollapseMult() {
+ let m = game.ladder[0].amount, mult = D(1);
+ if(game.collapsed.gte(1)){
+ for(let i = 1;i <= game.collapsed.toNumber();i++){
+ m = getButtonGain(i, getHighestButtonForCollapse(i, m)).mul(getRowMulti(i)).mul(temp.sigilEffects[0]);
+ mult = mult.mul(m);
+ }
+ }
+ return mult;
+}
+
+function getHighestButton1(row, amount){
+ let a = -1;
+ while(true){
+ if(getMultiReqForCollapse(row, getButtonCostForCollapse(row, a)).gte(amount))break;
+ a++;
+ }
+ return D(a-1);
+}
\ No newline at end of file
diff --git a/js/data/milestones.js b/js/data/milestones.js
index 7220116..ab4d0f9 100644
--- a/js/data/milestones.js
+++ b/js/data/milestones.js
@@ -23,10 +23,19 @@ let milestones = {
goalAmount: (x) => D.add(x, 1).mul(D.add(x, 15)),
goalText: ["Complete", "milestones for"],
goalPrecision: 0,
- rewardAmount: (x, row) => D.mul(0.5, x).add(2),
+ rewardAmount: (x, row) => D.mul(D.pow(2,(D(game.milestones.collapse||0)).sub(1)), x).add(2),
rewardText: ["×{0}", "all above milestones' effect"],
rewardPrecision: 1,
},
+ collapse: {
+ goalTarget: (row) => game.collapsed,
+ goalAmount: (x) => D.add(x, 1),
+ goalText: ["Collapse", "layers for"],
+ goalPrecision: 0,
+ rewardAmount: (x, row) => D.pow(2, x),
+ rewardText: ["×{0}", "above milestones' effect(Resets previous milestone)"],
+ rewardPrecision: 0,
+ },
},
rows: {
presses: {
@@ -55,7 +64,8 @@ function clickGlobalMilestone(id) {
let level = game.milestones[id] ?? 0;
if (D.gte(data.goalTarget(), data.goalAmount(level))) {
game.milestones[id] = D.add(level, 1);
- updateMilestoneStats();
+ if(id=="collapse")delete game.milestones.meta;
+ updateMilestoneStats();
}
}
diff --git a/js/data/sigils.js b/js/data/sigils.js
index 861b1bd..ed6b42f 100644
--- a/js/data/sigils.js
+++ b/js/data/sigils.js
@@ -10,7 +10,7 @@ function forgeSigil(cooldown = 200, amount = 1) {
if (D.gte(game.scraps, cost) && time - sigilTime >= cooldown) {
let bulk = D.div(game.scraps, cost).floor().min(amount);
game.scraps = D.sub(game.scraps, D.mul(cost, bulk));
- let rarity = Math.min(Math.floor(Math.log(1 / (1 - Math.random()))), 10);
+ let rarity = Math.min(Math.floor(Math.log(1 / (1 - Math.random()))), 9);
while (game.sigils.length <= rarity) game.sigils.push(D(0));
game.sigils[rarity] = D.add(game.sigils[rarity], bulk);
game.stats.sigilForged++;
diff --git a/js/save.js b/js/save.js
index 33af4ca..b7d1fca 100644
--- a/js/save.js
+++ b/js/save.js
@@ -27,6 +27,8 @@ function getStartGame() {
sigils: [],
+ collapsed: D(0),
+
options: {
tickRate: 10,
diff --git a/js/tabs/buttons.js b/js/tabs/buttons.js
index e4e0469..f0b7776 100644
--- a/js/tabs/buttons.js
+++ b/js/tabs/buttons.js
@@ -68,8 +68,8 @@ tabs.buttons = {
for (let a = 0; a < game.ladder.length; a++) {
let data = game.ladder[a];
let row = this.data.rows[a];
- let name = D.lt(data.tier, tierNames.length) ? tierNames[D(data.tier).toNumber()] : "p";
- row.style.setProperty("--background", D.lt(data.tier, tierColors.length) ? tierColors[D(data.tier).toNumber()] : "#f45");
+ let name = D.lt(data.tier, tierNames.length) ? tierNames[D(data.tier).toNumber()] : "Reset "+D(data.tier).toNumber();
+ row.style.setProperty("--background", tierColors[D(data.tier).toNumber()%tierColors.length]);
row.amount.textContent = format(data.amount);
row.name.textContent = name;
@@ -96,7 +96,8 @@ tabs.buttons = {
button.cost = cost;
}
- if (game.unlocks.btn5) data.level = getHighestButton(a, a == 0 ? game.money : game.ladder[a - 1].amount).max(data.level);
+ if (game.unlocks.btn5 && !(a == 1 && D(data.tier) >= 2)) data.level = getHighestButton(data.tier, a == 0 ? game.money : game.ladder[a - 1].amount).max(data.level);
+ if (game.unlocks.btn5 && a == 1 && D(data.tier) >= 2) data.level = getHighestButton1(data.tier, a == 0 ? game.money : game.ladder[a - 1].amount).max(data.level);
let offset = D.sub(data.level, 6).max(0);
let multi = getRowMulti(data.tier);
let needsUpdate = allDirty || D.neq(multi, row.multi) || D.neq(row.items[0]?.tier ?? -1, offset);
@@ -107,6 +108,7 @@ tabs.buttons = {
let button = row.items[b];
button.tier = D.add(offset, b);
let cost = getButtonCost(data.tier, button.tier);
+ if (a == 1 && D(data.tier) >= 2)cost = getMultiReqForCollapse(data.tier, getButtonCost(data.tier, button.tier));
if (needsUpdate) {
button.gain.textContent = "+" + format(getButtonGain(data.tier, button.tier).mul(row.multi)) + " " + name;
button.cost.textContent = (a == 0 ? "−" : "≥") + format(cost) + " " + prevName;
diff --git a/js/tabs/milestones.js b/js/tabs/milestones.js
index ec8c000..e777e32 100644
--- a/js/tabs/milestones.js
+++ b/js/tabs/milestones.js
@@ -93,8 +93,8 @@ tabs.milestones = {
for (let a = 0; a < game.ladder.length; a++) {
let data = game.ladder[a];
let row = this.data.rows[a];
- let name = D.lt(data.tier, tierNames.length) ? tierNames[D(data.tier).toNumber()] : "p";
- row.style.setProperty("--background", D.lt(data.tier, tierColors.length) ? tierColors[D(data.tier).toNumber()] : "#f45");
+ let name = D.lt(data.tier, tierNames.length) ? tierNames[D(data.tier).toNumber()] : "Reset "+D(data.tier).toNumber();
+ row.style.setProperty("--background", tierColors[D(data.tier).toNumber()%tierColors.length]);
row.amount.textContent = format(data.amount);
row.name.textContent = name;
diff --git a/js/tabs/sigils.js b/js/tabs/sigils.js
index 4388a3f..c4010d0 100644
--- a/js/tabs/sigils.js
+++ b/js/tabs/sigils.js
@@ -95,8 +95,9 @@ tabs.sigils = {
for (let b = 0; b < game.sigils.length; b++) {
let ctn = this.data.details.items[b];
let tier = game.ladder[b].tier;
- let name = D.lt(tier, tierNames.length) ? tierNames[D(tier).toNumber()] : "p";
+ let name = D.lt(tier, tierNames.length) ? tierNames[D(tier).toNumber()] : "Reset "+D(tier).toNumber();
ctn.textContent = "×" + format(temp.sigilEffects[b], 2) + " all " + name + " gains";
+ if(b == 0 && game.unlocks.col1)ctn.textContent = "×" + format(temp.sigilEffects[b], 2) + " all " + name + "/Collapsed Layer gains";
}
},
onEnd() {
From 77f8f03c14edef8de022789bab9141d042829663 Mon Sep 17 00:00:00 2001
From: qq1010903229 <1010903229@qq.com>
Date: Tue, 12 Dec 2023 09:42:59 +0800
Subject: [PATCH 2/4] commit
---
js/data/buttons.js | 20 +++++++++++++++-----
js/tabs/buttons.js | 2 +-
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/js/data/buttons.js b/js/data/buttons.js
index dcfc2b3..0aba78f 100644
--- a/js/data/buttons.js
+++ b/js/data/buttons.js
@@ -195,6 +195,13 @@ let unlocks = {
condition: () => D.gte(temp.skillLevel,200),
conDisplay: () => "Skill level ≥" + format(200) + "",
execute: () => { updateTabVisibility(); },
+ },
+ "col2": {
+ requires: ["col1"],
+ desc: () => "Improve Collapse",
+ condition: () => D.gte(game.money, D('1e600')),
+ conDisplay: () => "−" + format('1e600') + " Money",
+ execute: () => { game.money = D.sub(game.money, '1e600'); },
},
}
let visibleUnlocks = [];
@@ -241,7 +248,7 @@ function clickButton(row, tier, auto = false) {
if (!auto) game.stats.presses++;
}
} else if (index == 1 && D(row).gte(2)) {
- let cost = getMultiReqForCollapse(row, getButtonCost(row, tier));
+ cost = getMultiReqForCollapse(row, getButtonCost(row, tier), cost);
let prevData = game.ladder[index - 1];
if (D.gte(prevData.amount, cost)) {
game.money = 0;
@@ -282,6 +289,7 @@ function makeRow(row) {
game.ladder.push(highest);
}
if(D.lte(highest.tier, row) && game.ladder.length == 10 && game.unlocks.col1){
+ if(game.collapsed.gte(5) && !game.unlocks.col2)return;
game.collapsed = game.collapsed.add(1);
for(let i = 2;i < 10; i++){
game.ladder[i-1]=game.ladder[i];
@@ -376,11 +384,12 @@ function getHighestButtonForCollapse(row, amount){
return D.div(D(amount).max(0), base).add(1).logBase(D.add(row, 1).mul(10)).div(10).add(1).logBase(1.1);
}
-function getMultiReqForCollapse(row, amount){
+function getMultiReqForCollapse(row, amount, orig){
+ if(game.unlocks.col2)return orig;
amount = amount.div(getRowMulti(row)).div(temp.sigilEffects[0]);
let tier = getButtonTierForCollapse(row, amount);
- if(D(row).gte(2))return getMultiReqForCollapse(D(row).sub(1), getButtonCostForCollapse(row, tier));
- return getButtonCostForCollapse(row, tier);
+ if(D(row).gte(2))return getMultiReqForCollapse(D(row).sub(1), getButtonCostForCollapse(row, tier), orig);
+ return getButtonCostForCollapse(row, tier).max(orig);
}
function getButtonTierForCollapse(row, amount) {
@@ -406,9 +415,10 @@ function getCollapseMult() {
}
function getHighestButton1(row, amount){
+ if(game.unlocks.col2)return getHighestButton(row, amount);
let a = -1;
while(true){
- if(getMultiReqForCollapse(row, getButtonCostForCollapse(row, a)).gte(amount))break;
+ if(getMultiReqForCollapse(row, getButtonCost(row, a), getButtonCost(row, a)).gte(amount))break;
a++;
}
return D(a-1);
diff --git a/js/tabs/buttons.js b/js/tabs/buttons.js
index f0b7776..a01ea46 100644
--- a/js/tabs/buttons.js
+++ b/js/tabs/buttons.js
@@ -108,7 +108,7 @@ tabs.buttons = {
let button = row.items[b];
button.tier = D.add(offset, b);
let cost = getButtonCost(data.tier, button.tier);
- if (a == 1 && D(data.tier) >= 2)cost = getMultiReqForCollapse(data.tier, getButtonCost(data.tier, button.tier));
+ if (a == 1 && D(data.tier) >= 2)cost = getMultiReqForCollapse(data.tier, getButtonCost(data.tier, button.tier), getButtonCost(data.tier, button.tier));
if (needsUpdate) {
button.gain.textContent = "+" + format(getButtonGain(data.tier, button.tier).mul(row.multi)) + " " + name;
button.cost.textContent = (a == 0 ? "−" : "≥") + format(cost) + " " + prevName;
From 49a8e3a16bb9bb731f24867c1132470caa3d45da Mon Sep 17 00:00:00 2001
From: qq1010903229 <1010903229@qq.com>
Date: Tue, 12 Dec 2023 14:41:27 +0800
Subject: [PATCH 3/4] commit
---
js/data/buttons.js | 38 +++-----------------------------------
js/tabs/buttons.js | 6 ++----
2 files changed, 5 insertions(+), 39 deletions(-)
diff --git a/js/data/buttons.js b/js/data/buttons.js
index 0aba78f..1bb1354 100644
--- a/js/data/buttons.js
+++ b/js/data/buttons.js
@@ -195,13 +195,6 @@ let unlocks = {
condition: () => D.gte(temp.skillLevel,200),
conDisplay: () => "Skill level ≥" + format(200) + "",
execute: () => { updateTabVisibility(); },
- },
- "col2": {
- requires: ["col1"],
- desc: () => "Improve Collapse",
- condition: () => D.gte(game.money, D('1e600')),
- conDisplay: () => "−" + format('1e600') + " Money",
- execute: () => { game.money = D.sub(game.money, '1e600'); },
},
}
let visibleUnlocks = [];
@@ -247,20 +240,6 @@ function clickButton(row, tier, auto = false) {
game.tokens = D.add(row, 1).pow(temp.tokenUpgEffects.tokens.normalTierFactor).mul(getTokenMulti()).add(game.tokens);
if (!auto) game.stats.presses++;
}
- } else if (index == 1 && D(row).gte(2)) {
- cost = getMultiReqForCollapse(row, getButtonCost(row, tier), cost);
- let prevData = game.ladder[index - 1];
- if (D.gte(prevData.amount, cost)) {
- game.money = 0;
- for (let a = 0; a < index; a++) game.ladder[a].amount = game.ladder[a].level = D(0);
- data.amount = getButtonGain(row, tier).mul(getRowMulti(row)).add(data.amount);
- data.level = D(0);
- data.presses = D.add(data.presses, 1);
- if (!auto && game.unlocks.tok1 && Math.random() * 100 <= temp.tokenUpgEffects.tokens.normalChance)
- game.tokens = D.add(row, 1).pow(temp.tokenUpgEffects.tokens.normalTierFactor).mul(getTokenMulti()).add(game.tokens);
- if (!auto) game.stats.presses++;
- if (game.unlocks.btn5) makeRow(row);
- }
} else {
let prevData = game.ladder[index - 1];
if (D.gte(prevData.amount, cost)) {
@@ -364,8 +343,7 @@ function doResetAuto(times) {
whileloop: while (D.gt(times, 0)) {
for (let a = (game.automators.reset?.depth ?? 1); a >= 1; a--) {
let row = game.ladder[a];
- let pos = getHighestButton(row.tier, game.ladder[a - 1].amount);
- if(a == 1 && D(row.tier) >= 2)pos = getHighestButton1(row.tier, game.ladder[a - 1].amount);
+ let pos = getHighestButton(row.tier, game.ladder[a - 1].amount);
if (D.lt(pos, 0)) continue;
let gain = getButtonGain(row.tier, pos).mul(getRowMulti(row.tier));
if (D.div(gain, row.amount).gt(game.automators.reset?.factor ?? 0)) {
@@ -384,13 +362,13 @@ function getHighestButtonForCollapse(row, amount){
return D.div(D(amount).max(0), base).add(1).logBase(D.add(row, 1).mul(10)).div(10).add(1).logBase(1.1);
}
-function getMultiReqForCollapse(row, amount, orig){
+/* function getMultiReqForCollapse(row, amount, orig){
if(game.unlocks.col2)return orig;
amount = amount.div(getRowMulti(row)).div(temp.sigilEffects[0]);
let tier = getButtonTierForCollapse(row, amount);
if(D(row).gte(2))return getMultiReqForCollapse(D(row).sub(1), getButtonCostForCollapse(row, tier), orig);
return getButtonCostForCollapse(row, tier).max(orig);
-}
+} */
function getButtonTierForCollapse(row, amount) {
let base = D.eq(row, 0) ? 8 : 4;
@@ -412,14 +390,4 @@ function getCollapseMult() {
}
}
return mult;
-}
-
-function getHighestButton1(row, amount){
- if(game.unlocks.col2)return getHighestButton(row, amount);
- let a = -1;
- while(true){
- if(getMultiReqForCollapse(row, getButtonCost(row, a), getButtonCost(row, a)).gte(amount))break;
- a++;
- }
- return D(a-1);
}
\ No newline at end of file
diff --git a/js/tabs/buttons.js b/js/tabs/buttons.js
index a01ea46..2543139 100644
--- a/js/tabs/buttons.js
+++ b/js/tabs/buttons.js
@@ -96,8 +96,7 @@ tabs.buttons = {
button.cost = cost;
}
- if (game.unlocks.btn5 && !(a == 1 && D(data.tier) >= 2)) data.level = getHighestButton(data.tier, a == 0 ? game.money : game.ladder[a - 1].amount).max(data.level);
- if (game.unlocks.btn5 && a == 1 && D(data.tier) >= 2) data.level = getHighestButton1(data.tier, a == 0 ? game.money : game.ladder[a - 1].amount).max(data.level);
+ if (game.unlocks.btn5) data.level = getHighestButton(data.tier, a == 0 ? game.money : game.ladder[a - 1].amount).max(data.level);
let offset = D.sub(data.level, 6).max(0);
let multi = getRowMulti(data.tier);
let needsUpdate = allDirty || D.neq(multi, row.multi) || D.neq(row.items[0]?.tier ?? -1, offset);
@@ -108,8 +107,7 @@ tabs.buttons = {
let button = row.items[b];
button.tier = D.add(offset, b);
let cost = getButtonCost(data.tier, button.tier);
- if (a == 1 && D(data.tier) >= 2)cost = getMultiReqForCollapse(data.tier, getButtonCost(data.tier, button.tier), getButtonCost(data.tier, button.tier));
- if (needsUpdate) {
+ if (needsUpdate) {
button.gain.textContent = "+" + format(getButtonGain(data.tier, button.tier).mul(row.multi)) + " " + name;
button.cost.textContent = (a == 0 ? "−" : "≥") + format(cost) + " " + prevName;
if (game.unlocks.btn6) button.setAttribute("mark", "#" + format(button.tier.add(1)));
From 0f12f402c626681842f1a090659205584c871b77 Mon Sep 17 00:00:00 2001
From: qq1010903229 <1010903229@qq.com>
Date: Tue, 12 Dec 2023 14:50:47 +0800
Subject: [PATCH 4/4] commit
---
js/data/buttons.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/data/buttons.js b/js/data/buttons.js
index 1bb1354..b585f4f 100644
--- a/js/data/buttons.js
+++ b/js/data/buttons.js
@@ -268,7 +268,7 @@ function makeRow(row) {
game.ladder.push(highest);
}
if(D.lte(highest.tier, row) && game.ladder.length == 10 && game.unlocks.col1){
- if(game.collapsed.gte(5) && !game.unlocks.col2)return;
+ //if(game.collapsed.gte(5) && !game.unlocks.col2)return;
game.collapsed = game.collapsed.add(1);
for(let i = 2;i < 10; i++){
game.ladder[i-1]=game.ladder[i];