1
0
Fork 0
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:
Jacorb90 2020-08-30 12:18:34 -04:00
parent c5bb9aaf7c
commit 425855800b
2 changed files with 117 additions and 8 deletions

View file

@ -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>

View file

@ -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) {