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:
parent
a89a6f1176
commit
cd465efa3c
3 changed files with 56 additions and 23 deletions
|
@ -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 <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 <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>
|
||||
|
|
69
js/game.js
69
js/game.js
|
@ -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()
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue