1
0
Fork 0
mirror of https://github.com/Acamaeda/The-Modding-Tree.git synced 2024-11-24 01:11:46 +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> <ul>
<li>Balanced up to 1e920 with all prestige tree paths (before unlocking third row 3 layer)</li> <li>Balanced up to 1e920 with all prestige tree paths (before unlocking third row 3 layer)</li>
</ul><br><br> </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>
<div v-if="player.tab=='info'" class="col right"> <div v-if="player.tab=='info'" class="col right">
<button class="back" onclick="showTab('tree')"></button><br><br><br><br><br> <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(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(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(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> </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> <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> </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(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(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(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> </table><br><br>
<button onclick="respecSpaceBuildings()" v-bind:class="{ longUpg: true, can: player.s.unl, locked: !player.s.unl }">Respec Space Buildings</button><br> <button onclick="respecSpaceBuildings()" v-bind:class="{ longUpg: true, can: player.s.unl, locked: !player.s.unl }">Respec Space Buildings</button><br>
<table><tr> <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) }, unl: function() { return player.t.unl&&(player.t.order==1||player.s.unl)&&player.e.upgrades.includes(14) },
}, },
22: { 22: {
desc: "???", desc: "This layer behaves as if you chose it first (base req is now 1e120 points)",
cost: new Decimal(1/0), cost: new Decimal(1e22),
unl: function() { return false }, unl: function() { return (player.t.unl&&player.s.unl&&player.e.order==2)||player.e.upgrades.includes(22)||player.e.upgrades.includes(23) },
}, },
23: { 23: {
desc: "???", desc: "This layer behaves as if you chose it first (base req is now 1e120 points)",
cost: new Decimal(1/0), cost: new Decimal(1e40),
unl: function() { return false }, unl: function() { return (player.t.unl&&player.s.unl&&player.e.order==1)||player.e.upgrades.includes(22)||player.e.upgrades.includes(23) },
}, },
24: { 24: {
desc: "???", 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)) }, 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: { 32: {
desc: "???", desc: "This layer behaves as if you chose it first (base req is now 1e120 points)",
cost: new Decimal(1/0), cost: new Decimal(12),
unl: function() { return false }, unl: function() { return (player.s.unl&&player.e.unl)||player.t.upgrades.includes(32) },
}, },
33: { 33: {
desc: "???", 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)) }, 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: { 33: {
desc: "???", desc: "This layer behaves as if you chose it first (base req is now 1e120 points)",
cost: new Decimal(1/0), cost: new Decimal(12),
unl: function() { return false }, unl: function() { return (player.t.unl&&player.e.unl)||player.s.upgrades.includes(33) },
}, },
34: { 34: {
desc: "???", desc: "Space Buildings boost the Generator Power effect (before all other boosts).",
cost: new Decimal(1/0), cost: new Decimal(15),
unl: function() { return false }, 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) { function format(decimal, precision=3) {
decimal = new Decimal(decimal) 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 if (decimal.gte(1e3)) return commaFormat(decimal, 0)
else return commaFormat(decimal, precision) 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++ 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] let row = LAYER_ROW[layer]
if (row==0) rowReset(0, layer) if (row==0) rowReset(0, layer)
else for (let x=row;x>=1;x--) rowReset(x, 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 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].points = player[layer].points.sub(LAYER_UPGS[layer][id].cost)
player[layer].upgrades.push(id); 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() { function getPointGen() {
@ -897,11 +911,17 @@ function getGenPowerGainMult() {
return mult 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() { function getGenPowerEff() {
let eff = player.g.power.plus(1).cbrt(); let eff = player.g.power.plus(1).pow(getGenPowerEffExp());
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);
return eff return eff
} }
@ -914,12 +934,15 @@ function resetRow(row) {
doReset(pre_layers[0], true) doReset(pre_layers[0], true)
for (let layer in layers) { for (let layer in layers) {
player[layers[layer]].unl = false player[layers[layer]].unl = false
if (player[layers[layer]].order) player[layers[layer]].order = 0
} }
resizeCanvas(); resizeCanvas();
} }
function getEnhancerCost() { 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() return cost.floor()
} }
@ -976,7 +999,9 @@ function getTimeEnergyLimitMult() {
} }
function getExtCapsuleCost() { 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() return cost.floor()
} }

View file

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