mirror of
https://github.com/Acamaeda/The-Modding-Tree.git
synced 2024-11-22 00:21:32 +00:00
Beta v1.1 Alpha 16
This commit is contained in:
parent
c5bb9aaf7c
commit
425855800b
2 changed files with 117 additions and 8 deletions
14
index.html
14
index.html
|
@ -16,6 +16,13 @@
|
||||||
<div class="vl"></div>
|
<div class="vl"></div>
|
||||||
<div v-if="player.tab=='changelog'" class="col right">
|
<div v-if="player.tab=='changelog'" class="col right">
|
||||||
<button class="back" onclick="showTab('tree')">←</button><br><br>
|
<button class="back" onclick="showTab('tree')">←</button><br><br>
|
||||||
|
<h3>Beta v1.1 Alpha 16</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Added a new Hindrance (h9)</li>
|
||||||
|
<li>Added a new Hyper-Booster milestone</li>
|
||||||
|
<li>Made the Space Building automation prioritize the rightmost buildings first</li>
|
||||||
|
<li>Balanced up to 1e690,000 Points</li>
|
||||||
|
</ul><br>
|
||||||
<h3>Beta v1.1 Alpha 15</h3>
|
<h3>Beta v1.1 Alpha 15</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Balanced up to 1e635,000 Points (don't worry, the crazy inflation stops here)</li>
|
<li>Balanced up to 1e635,000 Points (don't worry, the crazy inflation stops here)</li>
|
||||||
|
@ -316,6 +323,11 @@
|
||||||
</table><br><br>
|
</table><br><br>
|
||||||
<button v-bind:class="{ upgBig: true, can: player.q.points.gte(getQuirkLayerCost()), locked: player.q.points.lt(getQuirkLayerCost()), q: true }" onclick="buyQuirkLayer()">Increment your Quirk Layer<br>Cost: {{formatWhole(getQuirkLayerCost())}} Quirks<br>Layers: {{formatWhole(player.q.layers)}}</button>
|
<button v-bind:class="{ upgBig: true, can: player.q.points.gte(getQuirkLayerCost()), locked: player.q.points.lt(getQuirkLayerCost()), q: true }" onclick="buyQuirkLayer()">Increment your Quirk Layer<br>Cost: {{formatWhole(getQuirkLayerCost())}} Quirks<br>Layers: {{formatWhole(player.q.layers)}}</button>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="layer=='hb'">
|
||||||
|
<table>
|
||||||
|
<tr><td v-if="milestoneShown(player.hb.best.gte(1))" v-bind:class="{ milestone: player.hb.best.lt(1), milestoneDone: player.hb.best.gte(1) }">1 Hyper-Booster<br>You can buy max Super-Boosters</td></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
<div v-if="layer=='ss'">
|
<div v-if="layer=='ss'">
|
||||||
You have {{format(player.ss.subspace)}} Subspace, which provides you with {{formatWhole(tmp.ssEff1)}} extra Space, makes all Space Buildings {{format(tmp.ssEff2)}}x cheaper, and makes all Space Buildings {{format(tmp.ssEff3.sub(1).times(100))}}% stronger<br><br>
|
You have {{format(player.ss.subspace)}} Subspace, which provides you with {{formatWhole(tmp.ssEff1)}} extra Space, makes all Space Buildings {{format(tmp.ssEff2)}}x cheaper, and makes all Space Buildings {{format(tmp.ssEff3.sub(1).times(100))}}% stronger<br><br>
|
||||||
<table>
|
<table>
|
||||||
|
@ -337,7 +349,7 @@
|
||||||
<div v-for="col in H_CHALLS.cols">
|
<div v-for="col in H_CHALLS.cols">
|
||||||
<div v-if="H_CHALLS[row*10+col].unl()" v-bind:class="{hChall: true, done: player.h.challs.includes(row*10+col), canComplete: (player.points.gte(H_CHALLS[row*10+col].goal)&&tmp.hcActive[row*10+col]&&!player.h.challs.includes(row*10+col))}">
|
<div v-if="H_CHALLS[row*10+col].unl()" v-bind:class="{hChall: true, done: player.h.challs.includes(row*10+col), canComplete: (player.points.gte(H_CHALLS[row*10+col].goal)&&tmp.hcActive[row*10+col]&&!player.h.challs.includes(row*10+col))}">
|
||||||
<br><h3>{{H_CHALLS[row*10+col].name}}</h3><br><br>
|
<br><h3>{{H_CHALLS[row*10+col].name}}</h3><br><br>
|
||||||
<button class="longUpg can h" v-on:click="startHindrance(row*10+col)">{{tmp.hcActive[row*10+col]?(player.points.gte(H_CHALLS[row*10+col].goal)?"Finish":"Exit Early"):(player.h.challs.includes(row*10+col)?"Completed":"Start")}}</button><br><br>
|
<button class="longUpg can h" v-on:click="startHindrance(row*10+col)">{{player.h.active==(row*10+col)?(player.points.gte(H_CHALLS[row*10+col].goal)?"Finish":"Exit Early"):(player.h.challs.includes(row*10+col)?"Completed":"Start")}}</button><br><br>
|
||||||
{{H_CHALLS[row*10+col].desc}}<br>
|
{{H_CHALLS[row*10+col].desc}}<br>
|
||||||
Goal: {{format(H_CHALLS[row*10+col].goal)}} Points<br>
|
Goal: {{format(H_CHALLS[row*10+col].goal)}} Points<br>
|
||||||
Reward: {{H_CHALLS[row*10+col].reward}}<br>
|
Reward: {{H_CHALLS[row*10+col].reward}}<br>
|
||||||
|
|
111
js/game.js
111
js/game.js
|
@ -308,7 +308,7 @@ const LAYER_UPGS = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
b: {
|
b: {
|
||||||
rows: 2,
|
rows: 3,
|
||||||
cols: 3,
|
cols: 3,
|
||||||
11: {
|
11: {
|
||||||
desc: "Boosters boost Prestige Point gain.",
|
desc: "Boosters boost Prestige Point gain.",
|
||||||
|
@ -348,9 +348,26 @@ const LAYER_UPGS = {
|
||||||
currently: function() { return player.points.plus(1).log10().plus(1).pow(3.2).pow(tmp.spaceBuildEff?tmp.spaceBuildEff[4]:1) },
|
currently: function() { return player.points.plus(1).log10().plus(1).pow(3.2).pow(tmp.spaceBuildEff?tmp.spaceBuildEff[4]:1) },
|
||||||
effDisp: function(x) { return "/"+format(x) },
|
effDisp: function(x) { return "/"+format(x) },
|
||||||
},
|
},
|
||||||
|
31: {
|
||||||
|
desc: "Hyper-Boosters multiply the Booster base.",
|
||||||
|
cost: new Decimal(1250),
|
||||||
|
unl: function() { return player.hb.upgrades.includes(14) },
|
||||||
|
currently: function() { return Decimal.pow(4, player.hb.points.pow(2)) },
|
||||||
|
effDisp: function(x) { return format(x)+"x" },
|
||||||
|
},
|
||||||
|
32: {
|
||||||
|
desc: "???",
|
||||||
|
cost: new Decimal(1/0),
|
||||||
|
unl: function() { return player.hb.upgrades.includes(14) },
|
||||||
|
},
|
||||||
|
33: {
|
||||||
|
desc: "???",
|
||||||
|
cost: new Decimal(1/0),
|
||||||
|
unl: function() { return player.hb.upgrades.includes(14) },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
g: {
|
g: {
|
||||||
rows: 2,
|
rows: 3,
|
||||||
cols: 5,
|
cols: 5,
|
||||||
11: {
|
11: {
|
||||||
desc: "Generators boost Prestige Point gain.",
|
desc: "Generators boost Prestige Point gain.",
|
||||||
|
@ -415,9 +432,36 @@ const LAYER_UPGS = {
|
||||||
desc: "Prestige Points boost Generator Power gain.",
|
desc: "Prestige Points boost Generator Power gain.",
|
||||||
cost: new Decimal(28),
|
cost: new Decimal(28),
|
||||||
unl: function() { return player.g.upgrades.includes(23) && player.g.upgrades.includes(24) },
|
unl: function() { return player.g.upgrades.includes(23) && player.g.upgrades.includes(24) },
|
||||||
currently: function() { return player.p.points.plus(1).log10().sqrt().plus(1).pow((player.t.upgrades.includes(14)&&!(tmp.hcActive?tmp.hcActive[12]:true))?2.75:1) },
|
currently: function() { return player.p.points.plus(1).log10().sqrt().plus(1).pow((player.t.upgrades.includes(14)&&!(tmp.hcActive?tmp.hcActive[12]:true))?2.75:1).pow(player.g.upgrades.includes(31) ? LAYER_UPGS.g[31].currently() : 1) },
|
||||||
effDisp: function(x) { return format(x)+"x" },
|
effDisp: function(x) { return format(x)+"x" },
|
||||||
},
|
},
|
||||||
|
31: {
|
||||||
|
desc: "Generators Upgrade 10 is stronger based on your Generators.",
|
||||||
|
cost: new Decimal(950),
|
||||||
|
unl: function() { return player.ss.upgrades.includes(21) },
|
||||||
|
currently: function() { return player.g.points.plus(1).log10().pow(3.6).plus(1) },
|
||||||
|
effDisp: function(x) { return format(x.sub(1).times(100))+"% stronger" },
|
||||||
|
},
|
||||||
|
32: {
|
||||||
|
desc: "???",
|
||||||
|
cost: new Decimal(1/0),
|
||||||
|
unl: function() { return player.ss.upgrades.includes(21) },
|
||||||
|
},
|
||||||
|
33: {
|
||||||
|
desc: "???",
|
||||||
|
cost: new Decimal(1/0),
|
||||||
|
unl: function() { return player.ss.upgrades.includes(21) },
|
||||||
|
},
|
||||||
|
34: {
|
||||||
|
desc: "???",
|
||||||
|
cost: new Decimal(1/0),
|
||||||
|
unl: function() { return player.ss.upgrades.includes(21) },
|
||||||
|
},
|
||||||
|
35: {
|
||||||
|
desc: "???",
|
||||||
|
cost: new Decimal(1/0),
|
||||||
|
unl: function() { return player.ss.upgrades.includes(21) },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
e: {
|
e: {
|
||||||
rows: 3,
|
rows: 3,
|
||||||
|
@ -828,7 +872,7 @@ const LAYER_UPGS = {
|
||||||
},
|
},
|
||||||
hb: {
|
hb: {
|
||||||
rows: 1,
|
rows: 1,
|
||||||
cols: 3,
|
cols: 4,
|
||||||
11: {
|
11: {
|
||||||
desc: "Super-Boosters are stronger based on your Hyper-Boosters.",
|
desc: "Super-Boosters are stronger based on your Hyper-Boosters.",
|
||||||
cost: new Decimal(2),
|
cost: new Decimal(2),
|
||||||
|
@ -848,9 +892,14 @@ const LAYER_UPGS = {
|
||||||
cost: new Decimal(2),
|
cost: new Decimal(2),
|
||||||
unl: function() { return player.hb.order>0||(player.ss.upgrades.includes(15))||player.hb.upgrades.includes(13) },
|
unl: function() { return player.hb.order>0||(player.ss.upgrades.includes(15))||player.hb.upgrades.includes(13) },
|
||||||
},
|
},
|
||||||
|
14: {
|
||||||
|
desc: "Unlock 3 new Booster Upgrades.",
|
||||||
|
cost: new Decimal(3),
|
||||||
|
unl: function() { return player.hb.upgrades.includes(13)&&player.ss.upgrades.includes(15) },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
ss: {
|
ss: {
|
||||||
rows: 1,
|
rows: 2,
|
||||||
cols: 5,
|
cols: 5,
|
||||||
11: {
|
11: {
|
||||||
desc: "You get more Space based on your Subspace Energy.",
|
desc: "You get more Space based on your Subspace Energy.",
|
||||||
|
@ -881,6 +930,31 @@ const LAYER_UPGS = {
|
||||||
cost: new Decimal(3),
|
cost: new Decimal(3),
|
||||||
unl: function() { return player.ss.order>0||(player.hb.upgrades.includes(13))||player.ss.upgrades.includes(15) },
|
unl: function() { return player.ss.order>0||(player.hb.upgrades.includes(13))||player.ss.upgrades.includes(15) },
|
||||||
},
|
},
|
||||||
|
21: {
|
||||||
|
desc: "Unlock 5 new Generator Upgrades.",
|
||||||
|
cost: new Decimal(4),
|
||||||
|
unl: function() { return player.hb.upgrades.includes(13)&&player.ss.upgrades.includes(15) },
|
||||||
|
},
|
||||||
|
22: {
|
||||||
|
desc: "???",
|
||||||
|
cost: new Decimal(1/0),
|
||||||
|
unl: function() { return false },
|
||||||
|
},
|
||||||
|
23: {
|
||||||
|
desc: "???",
|
||||||
|
cost: new Decimal(1/0),
|
||||||
|
unl: function() { return false },
|
||||||
|
},
|
||||||
|
24: {
|
||||||
|
desc: "???",
|
||||||
|
cost: new Decimal(1/0),
|
||||||
|
unl: function() { return false },
|
||||||
|
},
|
||||||
|
25: {
|
||||||
|
desc: "???",
|
||||||
|
cost: new Decimal(1/0),
|
||||||
|
unl: function() { return false },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1155,6 +1229,9 @@ function canBuyMax(layer) {
|
||||||
case "s":
|
case "s":
|
||||||
return player.q.best.gte(2)
|
return player.q.best.gte(2)
|
||||||
break;
|
break;
|
||||||
|
case "sb":
|
||||||
|
return player.hb.best.gte(1)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1483,6 +1560,8 @@ function addToBoosterBase() {
|
||||||
if (player.e.upgrades.includes(11)&&!(tmp.hcActive?tmp.hcActive[12]:true)) toAdd = toAdd.plus(LAYER_UPGS.e[11].currently().b)
|
if (player.e.upgrades.includes(11)&&!(tmp.hcActive?tmp.hcActive[12]:true)) toAdd = toAdd.plus(LAYER_UPGS.e[11].currently().b)
|
||||||
if (player.s.unl && tmp.spaceBuildEff) toAdd = toAdd.plus(tmp.spaceBuildEff[2])
|
if (player.s.unl && tmp.spaceBuildEff) toAdd = toAdd.plus(tmp.spaceBuildEff[2])
|
||||||
if (player.sb.upgrades.includes(21)) toAdd = toAdd.plus(LAYER_UPGS.sb[21].currently())
|
if (player.sb.upgrades.includes(21)) toAdd = toAdd.plus(LAYER_UPGS.sb[21].currently())
|
||||||
|
|
||||||
|
if (player.b.upgrades.includes(31)) toAdd = toAdd.times(LAYER_UPGS.b[31].currently())
|
||||||
if (player.sb.unl) toAdd = toAdd.times(tmp.layerEffs.sb)
|
if (player.sb.unl) toAdd = toAdd.times(tmp.layerEffs.sb)
|
||||||
return toAdd
|
return toAdd
|
||||||
}
|
}
|
||||||
|
@ -1500,6 +1579,7 @@ function addToGenBase() {
|
||||||
if (player.e.unl) toAdd = toAdd.plus(tmp.enhEff2)
|
if (player.e.unl) toAdd = toAdd.plus(tmp.enhEff2)
|
||||||
if (player.e.upgrades.includes(11)&&!(tmp.hcActive?tmp.hcActive[12]:true)) toAdd = toAdd.plus(LAYER_UPGS.e[11].currently().g)
|
if (player.e.upgrades.includes(11)&&!(tmp.hcActive?tmp.hcActive[12]:true)) toAdd = toAdd.plus(LAYER_UPGS.e[11].currently().g)
|
||||||
if (player.s.unl && tmp.spaceBuildEff) toAdd = toAdd.plus(tmp.spaceBuildEff[2])
|
if (player.s.unl && tmp.spaceBuildEff) toAdd = toAdd.plus(tmp.spaceBuildEff[2])
|
||||||
|
if (player.h.challs.includes(51)) toAdd = toAdd.times(H_CHALLS[51].currently())
|
||||||
return toAdd
|
return toAdd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1878,7 +1958,7 @@ function buyQuirkLayer() {
|
||||||
}
|
}
|
||||||
|
|
||||||
const H_CHALLS = {
|
const H_CHALLS = {
|
||||||
rows: 4,
|
rows: 5,
|
||||||
cols: 2,
|
cols: 2,
|
||||||
11: {
|
11: {
|
||||||
name: "Skip the Second",
|
name: "Skip the Second",
|
||||||
|
@ -1940,9 +2020,26 @@ const H_CHALLS = {
|
||||||
goal: new Decimal("1e16500"),
|
goal: new Decimal("1e16500"),
|
||||||
reward: "Cube the Generator Power effect.",
|
reward: "Cube the Generator Power effect.",
|
||||||
},
|
},
|
||||||
|
51: {
|
||||||
|
name: "It's all Gone",
|
||||||
|
desc: '"Skip the Second" and "Skip the Third" are both applied at once.',
|
||||||
|
unl: function() { return player.h.challs.includes(41)&&player.h.challs.includes(42) },
|
||||||
|
goal: new Decimal("1e2840"),
|
||||||
|
reward: "Super-Boosters multiply the Generator base.",
|
||||||
|
currently: function() { return player.sb.points.plus(1).sqrt() },
|
||||||
|
effDisp: function(x) { return format(x)+"x" },
|
||||||
|
},
|
||||||
|
52: {
|
||||||
|
name: "???",
|
||||||
|
desc: "???",
|
||||||
|
unl: function() { return player.h.challs.includes(41)&&player.h.challs.includes(42) },
|
||||||
|
goal: new Decimal(1/0),
|
||||||
|
reward: "???",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
function HCActive(x) {
|
function HCActive(x) {
|
||||||
|
if (x==11||x==41) if (HCActive(51)) return true
|
||||||
return player.h.active==x;
|
return player.h.active==x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2049,7 +2146,7 @@ function gameLoop(diff) {
|
||||||
if (player.t.autoCap&&player.h.best.gte(5)) maxExtTimeCapsules()
|
if (player.t.autoCap&&player.h.best.gte(5)) maxExtTimeCapsules()
|
||||||
if (player.t.auto&&player.q.best.gte(10)) doReset("t")
|
if (player.t.auto&&player.q.best.gte(10)) doReset("t")
|
||||||
if (player.s.auto&&player.q.best.gte(10)) doReset("s")
|
if (player.s.auto&&player.q.best.gte(10)) doReset("s")
|
||||||
if (player.s.autoBuild&&player.ss.best.gte(1)) for (let i=1;i<=tmp.sbUnl;i++) maxSpaceBuilding(i)
|
if (player.s.autoBuild&&player.ss.best.gte(1)) for (let i=tmp.sbUnl;i>=1;i--) maxSpaceBuilding(i)
|
||||||
if (player.sb.auto&&player.h.best.gte(15)) doReset("sb")
|
if (player.sb.auto&&player.h.best.gte(15)) doReset("sb")
|
||||||
|
|
||||||
if (player.hasNaN&&!NaNalert) {
|
if (player.hasNaN&&!NaNalert) {
|
||||||
|
|
Loading…
Reference in a new issue