1
0
Fork 0
mirror of https://github.com/Acamaeda/The-Modding-Tree.git synced 2024-11-27 10:31:45 +00:00

Alpha Build 6

This commit is contained in:
Jacorb90 2020-08-20 23:33:13 -04:00
parent a89a6f1176
commit cd465efa3c
3 changed files with 56 additions and 23 deletions

View file

@ -31,6 +31,12 @@
<ul>
<li>Balanced up to 1e920 with all prestige tree paths (before unlocking third row 3 layer)</li>
</ul><br><br>
<h3>Alpha Build 6</h3>
<ul>
<li>Made font work for Mac users</li>
<li>Added 1 new Space & Time milestone each</li>
<li>Balanced up to 1e3,375 points</li>
</ul><br><br>
</div>
<div v-if="player.tab=='info'" class="col right">
<button class="back" onclick="showTab('tree')"></button><br><br><br><br><br>
@ -114,6 +120,7 @@
<tr><td v-bind:class="{ milestone: player.t.best.lt(3), milestoneDone: player.t.best.gte(3) }">3 time capsules<br>Keep Prestige Upgrades on reset</td></tr>
<tr><td v-bind:class="{ milestone: player.t.best.lt(4), milestoneDone: player.t.best.gte(4) }">4 time capsules<br>Keep Booster Upgrades on all row 3 resets</td></tr>
<tr><td v-bind:class="{ milestone: player.t.best.lt(5), milestoneDone: player.t.best.gte(5) }">5 time capsules<br>Automatically purchase Boosters&nbsp;&nbsp;&nbsp;<button v-if="player.t.best.gte(5)" class="smallUpg can b" onclick="toggleAuto('b')">{{player.b.auto?"ON":"OFF"}}</button></td></tr>
<tr><td v-bind:class="{ milestone: player.t.best.lt(12), milestoneDone: player.t.best.gte(12) }">12 time capsules<br>Boosters reset nothing</td></tr>
</table><br><br>
<button v-bind:class="{ upgBig: true, can: (player.b.points.gte(getExtCapsuleCost())&&player.t.unl), locked: (player.b.points.lt(getExtCapsuleCost())||!player.t.unl), t: true }" onclick="buyExtCapsule()">Buy an extra Time Capsule<br>Cost: {{formatWhole(getExtCapsuleCost())}} Boosters<br>Amount: {{formatWhole(player.t.extCapsules)}}</button>
</div>
@ -123,6 +130,7 @@
<tr><td v-bind:class="{ milestone: player.s.best.lt(3), milestoneDone: player.s.best.gte(3) }">3 space energy<br>Keep Prestige Upgrades on reset</td></tr>
<tr><td v-bind:class="{ milestone: player.s.best.lt(4), milestoneDone: player.s.best.gte(4) }">4 space energy<br>Keep Generator Upgrades on all row 3 resets</td></tr>
<tr><td v-bind:class="{ milestone: player.s.best.lt(5), milestoneDone: player.s.best.gte(5) }">5 space energy<br>Automatically purchase Generators&nbsp;&nbsp;&nbsp;<button v-if="player.s.best.gte(5)" class="smallUpg can g" onclick="toggleAuto('g')">{{player.g.auto?"ON":"OFF"}}</button></td></tr>
<tr><td v-bind:class="{ milestone: player.s.best.lt(12), milestoneDone: player.s.best.gte(12) }">12 space energy<br>Generators reset nothing</td></tr>
</table><br><br>
<button onclick="respecSpaceBuildings()" v-bind:class="{ longUpg: true, can: player.s.unl, locked: !player.s.unl }">Respec Space Buildings</button><br>
<table><tr>

View file

@ -339,14 +339,14 @@ const LAYER_UPGS = {
unl: function() { return player.t.unl&&(player.t.order==1||player.s.unl)&&player.e.upgrades.includes(14) },
},
22: {
desc: "???",
cost: new Decimal(1/0),
unl: function() { return false },
desc: "This layer behaves as if you chose it first (base req is now 1e120 points)",
cost: new Decimal(1e22),
unl: function() { return (player.t.unl&&player.s.unl&&player.e.order==2)||player.e.upgrades.includes(22)||player.e.upgrades.includes(23) },
},
23: {
desc: "???",
cost: new Decimal(1/0),
unl: function() { return false },
desc: "This layer behaves as if you chose it first (base req is now 1e120 points)",
cost: new Decimal(1e40),
unl: function() { return (player.t.unl&&player.s.unl&&player.e.order==1)||player.e.upgrades.includes(22)||player.e.upgrades.includes(23) },
},
24: {
desc: "???",
@ -420,9 +420,9 @@ const LAYER_UPGS = {
unl: function() { return (player.t.upgrades.includes(22)&&(player.e.order==1||player.s.unl))||(player.t.upgrades.includes(23)&&(player.s.order==1||player.e.unl)) },
},
32: {
desc: "???",
cost: new Decimal(1/0),
unl: function() { return false },
desc: "This layer behaves as if you chose it first (base req is now 1e120 points)",
cost: new Decimal(12),
unl: function() { return (player.s.unl&&player.e.unl)||player.t.upgrades.includes(32) },
},
33: {
desc: "???",
@ -499,14 +499,16 @@ const LAYER_UPGS = {
unl: function() { return (player.s.upgrades.includes(22)&&(player.t.order==1||player.e.unl))||(player.s.upgrades.includes(23)&&(player.e.order==1||player.t.unl)) },
},
33: {
desc: "???",
cost: new Decimal(1/0),
unl: function() { return false },
desc: "This layer behaves as if you chose it first (base req is now 1e120 points)",
cost: new Decimal(12),
unl: function() { return (player.t.unl&&player.e.unl)||player.s.upgrades.includes(33) },
},
34: {
desc: "???",
cost: new Decimal(1/0),
unl: function() { return false },
desc: "Space Buildings boost the Generator Power effect (before all other boosts).",
cost: new Decimal(15),
unl: function() { return player.t.unl&&player.e.unl&&player.t.order==0&&player.e.order==0&&player.s.order==0 },
currently: function() { return Decimal.pow(Object.values(player.s.buildings).reduce((a,b) => Decimal.add(a,b)), 0.2).div(17.5) },
effDisp: function(x) { return "Add "+format(x)+" to exponent" },
},
},
}
@ -633,7 +635,10 @@ function commaFormat(num, precision) {
function format(decimal, precision=3) {
decimal = new Decimal(decimal)
if (decimal.gte(1e9)) return exponentialFormat(decimal, precision)
if (decimal.gte("eee1000")) return exponentialFormat(decimal, precision)
else if (decimal.gte("ee1000")) return "ee"+format(decimal.log10().log10())
else if (decimal.gte("1e1000")) return decimal.div(Decimal.pow(10, decimal.log10().floor())).toStringWithDecimalPlaces(precision)+"e"+format(decimal.log10().floor())
else if (decimal.gte(1e9)) return exponentialFormat(decimal, precision)
else if (decimal.gte(1e3)) return commaFormat(decimal, 0)
else return commaFormat(decimal, precision)
}
@ -834,6 +839,8 @@ function doReset(layer, force=false) {
for (let i in layers) if (!player[layers[i]].unl) player[layers[i]].order++
}
}
if ((layer=="b"&&player.t.best.gte(12))||(layer=="g"&&player.s.best.gte(12))) return;
let row = LAYER_ROW[layer]
if (row==0) rowReset(0, layer)
else for (let x=row;x>=1;x--) rowReset(x, layer)
@ -846,6 +853,13 @@ function buyUpg(layer, id) {
if (player[layer].points.lt(LAYER_UPGS[layer][id].cost)) return
player[layer].points = player[layer].points.sub(LAYER_UPGS[layer][id].cost)
player[layer].upgrades.push(id);
if (layer=="t"&&id==32) player.t.order = 0;
if (layer=="e"&&(id==22||id==23)) {
player.e.order = 0;
if (!player.e.upgrades.includes(22)) player.e.upgrades.push(22)
if (!player.e.upgrades.includes(23)) player.e.upgrades.push(23)
}
if (layer=="s"&&id==33) player.s.order = 0;
}
function getPointGen() {
@ -897,11 +911,17 @@ function getGenPowerGainMult() {
return mult
}
function getGenPowerEffExp() {
let exp = new Decimal(1/3)
if (player.s.upgrades.includes(34)) exp = exp.plus(LAYER_UPGS.s[34].currently())
if (player.b.upgrades.includes(21)) exp = exp.times(2)
if (player.b.upgrades.includes(22)) exp = exp.times(1.2)
if (player.e.upgrades.includes(21)) exp = exp.times(1.15)
return exp;
}
function getGenPowerEff() {
let eff = player.g.power.plus(1).cbrt();
if (player.b.upgrades.includes(21)) eff = eff.pow(2);
if (player.b.upgrades.includes(22)) eff = eff.pow(1.2);
if (player.e.upgrades.includes(21)) eff = eff.pow(1.15);
let eff = player.g.power.plus(1).pow(getGenPowerEffExp());
return eff
}
@ -914,12 +934,15 @@ function resetRow(row) {
doReset(pre_layers[0], true)
for (let layer in layers) {
player[layers[layer]].unl = false
if (player[layers[layer]].order) player[layers[layer]].order = 0
}
resizeCanvas();
}
function getEnhancerCost() {
let cost = Decimal.pow(2, player.e.enhancers.pow(1.5))
let e = player.e.enhancers
if (e.gte(25)) e = e.pow(2).div(25)
let cost = Decimal.pow(2, e.pow(1.5))
return cost.floor()
}
@ -976,7 +999,9 @@ function getTimeEnergyLimitMult() {
}
function getExtCapsuleCost() {
let cost = player.t.extCapsules.times(0.4).pow(1.2).plus(1).times(10)
let amt = player.t.extCapsules
if (amt.gte(25)) amt = amt.pow(2).div(25)
let cost = amt.times(0.4).pow(1.2).plus(1).times(10)
return cost.floor()
}

View file

@ -1,7 +1,7 @@
* {
transition-duration: 0.5s;
text-align: center;
font-family: "Lucida Console";
font-family: "Lucida Console", "Courier New", monospace;
table-align: center;
margin: auto;
}