1
0
Fork 0
mirror of https://github.com/Acamaeda/The-Modding-Tree.git synced 2024-11-24 17:31:50 +00:00

Beta v1.2 Alpha 7

This commit is contained in:
Jacorb90 2020-09-05 13:11:53 -04:00
parent c4a4877c7b
commit f03a3bf1de
4 changed files with 74 additions and 13 deletions

View file

@ -15,6 +15,10 @@
<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.2 Alpha 7</h3>
<ul>
<li>Balanced up to 1e3,950,000 Points, 1,500,000 Magic, and 5,000,000 Balance Energy</li>
</ul><br>
<h3>Beta v1.2 Alpha 6</h3> <h3>Beta v1.2 Alpha 6</h3>
<ul> <ul>
<li>Fixed a bug with hotkeys</li> <li>Fixed a bug with hotkeys</li>
@ -243,7 +247,12 @@
<span v-if="player.q.unl">Q: Quirk reset</span><br> <span v-if="player.q.unl">Q: Quirk reset</span><br>
<span v-if="player.hb.unl">Ctrl+B: Hyper-Booster reset</span><br> <span v-if="player.hb.unl">Ctrl+B: Hyper-Booster reset</span><br>
<span v-if="player.ss.unl">Shift+S: Subspace reset</span><br> <span v-if="player.ss.unl">Shift+S: Subspace reset</span><br>
<span v-if="player.m.unl">M: Magic reset</span><br> <span v-if="player.m.unl">
M: Magic reset<br>
1: Cast spell 1<br>
2: Cast spell 2<br>
3: Cast spell 3
</span><br>
<span v-if="player.ba.unl">A: Balance reset</span><br> <span v-if="player.ba.unl">A: Balance reset</span><br>
</div> </div>
<div v-if="player.tab=='options'" class="col right"> <div v-if="player.tab=='options'" class="col right">
@ -419,14 +428,14 @@
<br> <br>
<div class="upgRow"> <div class="upgRow">
<div v-for="id in 3"> <div v-for="id in 3">
<button v-bind:class="{ upg: true, bought: spellActive(id), can: ((player.m.points.gte(1))&&player.m.unl&&!spellActive(id)), locked: (!(player.m.points.gte(1)||spellActive(id))), m: true }" v-on:click="activateSpell(id)">{{SPELL_NAMES[id]}}<br>Time Left: {{format(player.m.spellTimes[id])}}<br>Effect: {{getSpellDesc(id)}}</button> <button v-bind:class="{ upg: true, bought: spellActive(id), can: ((player.m.points.gte(1))&&player.m.unl&&!spellActive(id)), locked: (!(player.m.points.gte(1)||spellActive(id))), m: true }" v-on:click="activateSpell(id)"><h3>{{SPELL_NAMES[id]}}</h3><br>Time Left: {{format(player.m.spellTimes[id])}}<br>Effect: {{getSpellDesc(id)}}</button>
</div> </div>
</div><br><br> </div><br><br>
You have {{formatWhole(player.m.hexes)}} Hexes, which are multiplying Hindrance Spirit & Quirk gain by {{format(tmp.hexEff)}}<br><br> You have {{formatWhole(player.m.hexes)}} Hexes, which are multiplying Hindrance Spirit & Quirk gain by {{format(tmp.hexEff)}}<br><br>
<table> <table>
<tr><td v-if="milestoneShown(player.m.best.gte(1))" v-bind:class="{ milestone: player.m.best.lt(1), milestoneDone: player.m.best.gte(1) }">1 Magic<br>Keep row 4 milestones on all resets</td></tr> <tr><td v-if="milestoneShown(player.m.best.gte(1))" v-bind:class="{ milestone: player.m.best.lt(1), milestoneDone: player.m.best.gte(1) }">1 Magic<br>Keep row 4 milestones on all resets</td></tr>
<tr><td v-if="milestoneShown(player.m.best.gte(2))" v-bind:class="{ milestone: player.m.best.lt(2), milestoneDone: player.m.best.gte(2) }">2 Magic<br>Keep Hindrance completions on all resets</td></tr> <tr><td v-if="milestoneShown(player.m.best.gte(2))" v-bind:class="{ milestone: player.m.best.lt(2), milestoneDone: player.m.best.gte(2) }">2 Magic<br>Keep Hindrance completions on all resets</td></tr>
<tr><td v-if="milestoneShown(player.m.best.gte(3))" v-bind:class="{ milestone: player.m.best.lt(3), milestoneDone: player.m.best.gte(3) }">3 Magic<br>Gain 1% of Hindrance Energy & Quirk gain every second</td></tr> <tr><td v-if="milestoneShown(player.m.best.gte(3))" v-bind:class="{ milestone: player.m.best.lt(3), milestoneDone: player.m.best.gte(3) }">3 Magic<br>Gain 1% of Hindrance Spirit & Quirk gain every second</td></tr>
<tr><td v-if="milestoneShown(player.m.best.gte(4), true)" v-bind:class="{ milestone: player.m.best.lt(4), milestoneDone: player.m.best.gte(4) }">4 Magic<br>Automatically purchase Hyper-Boosters & Subspace&nbsp;&nbsp;&nbsp;<button v-if="player.m.best.gte(4)" class="smallUpg can hb" onclick="toggleAuto('hb')">{{player.hb.auto?"ON":"OFF"}}</button>&nbsp;&nbsp;&nbsp;<button v-if="player.m.best.gte(4)" class="smallUpg can ss" onclick="toggleAuto('ss')">{{player.ss.auto?"ON":"OFF"}}</button></td></tr> <tr><td v-if="milestoneShown(player.m.best.gte(4), true)" v-bind:class="{ milestone: player.m.best.lt(4), milestoneDone: player.m.best.gte(4) }">4 Magic<br>Automatically purchase Hyper-Boosters & Subspace&nbsp;&nbsp;&nbsp;<button v-if="player.m.best.gte(4)" class="smallUpg can hb" onclick="toggleAuto('hb')">{{player.hb.auto?"ON":"OFF"}}</button>&nbsp;&nbsp;&nbsp;<button v-if="player.m.best.gte(4)" class="smallUpg can ss" onclick="toggleAuto('ss')">{{player.ss.auto?"ON":"OFF"}}</button></td></tr>
</table> </table>
</div> </div>

View file

@ -48,6 +48,7 @@ function drawTree() {
if (layerUnl('m')) { if (layerUnl('m')) {
drawTreeBranch("hb", "m") drawTreeBranch("hb", "m")
drawTreeBranch("h", "m") drawTreeBranch("h", "m")
drawTreeBranch("q", "m")
} }
if (layerUnl('ba')) { if (layerUnl('ba')) {
drawTreeBranch("q", "ba") drawTreeBranch("q", "ba")

View file

@ -1090,13 +1090,15 @@ const LAYER_UPGS = {
unl: function() { return player.m.upgrades.includes(21) }, unl: function() { return player.m.upgrades.includes(21) },
}, },
24: { 24: {
desc: "???", desc: "Add free Quirk Layers based on your Boosters.",
cost: new Decimal(1/0), cost: new Decimal(80000),
unl: function() { return false }, unl: function() { return player.m.upgrades.includes(22) },
currently: function() { return player.b.points.plus(1).log10().times(0.9) },
effDisp: function(x) { return "+"+format(x) },
}, },
}, },
ba: { ba: {
rows: 2, rows: 3,
cols: 4, cols: 4,
11: { 11: {
desc: "All Balance Energy effects use better formulas.", desc: "All Balance Energy effects use better formulas.",
@ -1148,6 +1150,30 @@ const LAYER_UPGS = {
cost: new Decimal(2e4), cost: new Decimal(2e4),
unl: function() { return player.ba.upgrades.includes(22) }, unl: function() { return player.ba.upgrades.includes(22) },
}, },
31: {
desc: "The Quirk Layer cost is adjusted based on your Balance Upgrades bought.",
cost: new Decimal(4e5),
unl: function() { return player.ba.upgrades.includes(23) },
currently: function() { return Decimal.div(0.8, Math.pow(player.ba.upgrades.length+1, 0.1)).plus(1.2) },
effDisp: function(x) { return "2 -> "+format(x) },
},
32: {
desc: "Enhancers are stronger based on your Positivity.",
cost: new Decimal(5e5),
unl: function() { return player.ba.upgrades.includes(24) },
currently: function() { return player.ba.positivity.plus(1).log10().plus(1).log10().plus(1).pow(2) },
effDisp: function(x) { return format(x.sub(1).times(100))+"% stronger" },
},
33: {
desc: "The Balance Power effect is squared.",
cost: new Decimal(1e6),
unl: function() { return player.ba.upgrades.includes(31) },
},
34: {
desc: "The Positivity & Negativity effect uses a better formula.",
cost: new Decimal(2e6),
unl: function() { return player.ba.upgrades.includes(32) },
},
}, },
} }
@ -1961,6 +1987,7 @@ function getEnhancerPow() {
if (player.e.upgrades.includes(31)&&!(tmp.hcActive?tmp.hcActive[12]:true)) pow = pow.times(LAYER_UPGS.e[31].currently()) if (player.e.upgrades.includes(31)&&!(tmp.hcActive?tmp.hcActive[12]:true)) pow = pow.times(LAYER_UPGS.e[31].currently())
if (player.h.challs.includes(31)) pow = pow.times(2) if (player.h.challs.includes(31)) pow = pow.times(2)
if (player.q.upgrades.includes(42)) pow = pow.times(1.4) if (player.q.upgrades.includes(42)) pow = pow.times(1.4)
if (player.ba.upgrades.includes(32)) pow = pow.times(LAYER_UPGS.ba[32].currently())
return pow return pow
} }
@ -2253,13 +2280,19 @@ function addToSBBase() {
return toAdd return toAdd
} }
function getQuirkLayerCostBase() {
let base = new Decimal(2)
if (player.ba.upgrades.includes(31)) base = LAYER_UPGS.ba[31].currently()
return base
}
function getQuirkLayerCost() { function getQuirkLayerCost() {
let cost = Decimal.pow(2, Decimal.pow(2, player.q.layers)).sub(1) let cost = Decimal.pow(tmp.qCB, Decimal.pow(tmp.qCB, player.q.layers)).sub(1)
return cost.max(1); return cost.max(1);
} }
function getQuirkLayerTarg() { function getQuirkLayerTarg() {
let targ = player.q.points.plus(1).log2().plus(1).log2().plus(1).floor() let targ = player.q.points.plus(1).log(tmp.qCB).plus(1).log(tmp.qCB).plus(1).floor()
return targ return targ
} }
@ -2273,10 +2306,16 @@ function getQuirkLayerMult() {
return mult return mult
} }
function getExtraQuirkLayers() {
let layers = new Decimal(0);
if (player.m.upgrades.includes(24)) layers = layers.plus(LAYER_UPGS.m[24].currently())
return layers;
}
function getQuirkEnergyGainExp() { function getQuirkEnergyGainExp() {
let mult = new Decimal(1) let mult = new Decimal(1)
if (spellActive(3)) mult = mult.times(tmp.spellEffs[3]) if (spellActive(3)) mult = mult.times(tmp.spellEffs[3])
return player.q.layers.sub(1).times(mult) return player.q.layers.plus(getExtraQuirkLayers()).sub(1).times(mult)
} }
function getQuirkEnergyEff() { function getQuirkEnergyEff() {
@ -2509,6 +2548,7 @@ function getHyperBoosterPow() {
function getBalancePowerEff() { function getBalancePowerEff() {
let eff = player.ba.power.plus(1).sqrt() let eff = player.ba.power.plus(1).sqrt()
if (player.ba.upgrades.includes(14)) eff = eff.pow(5) if (player.ba.upgrades.includes(14)) eff = eff.pow(5)
if (player.ba.upgrades.includes(33)) eff = eff.pow(2)
return eff; return eff;
} }
@ -2516,6 +2556,7 @@ function getBalanceTypesEff() {
let mod = player.ba.positivity.plus(1).log10().plus(1).div(player.ba.negativity.plus(1).log10().plus(1)).log10().abs().plus(1).pow(-1) let mod = player.ba.positivity.plus(1).log10().plus(1).div(player.ba.negativity.plus(1).log10().plus(1)).log10().abs().plus(1).pow(-1)
let pos = player.ba.positivity.plus(1).log10().plus(1) let pos = player.ba.positivity.plus(1).log10().plus(1)
let neg = player.ba.negativity.plus(1).log10().plus(1) let neg = player.ba.negativity.plus(1).log10().plus(1)
if (player.ba.upgrades.includes(34)) mod = mod.times(1.5)
let eff = pos.times(neg).pow(mod) let eff = pos.times(neg).pow(mod)
return eff; return eff;
} }
@ -2539,9 +2580,9 @@ function getNegGainMult() {
} }
const SPELL_NAMES = { const SPELL_NAMES = {
1: "Spell 1", 1: "Booster Launch",
2: "Spell 2", 2: "Time Warp",
3: "Spell 3", 3: "Quirk Amplification",
} }
const SPELL_DESCS = { const SPELL_DESCS = {
@ -2734,6 +2775,15 @@ document.onkeydown = function(e) {
case "S": case "S":
if (player.ss.unl) doReset("ss") if (player.ss.unl) doReset("ss")
break; break;
case "1":
if (player.ba.unl) activateSpell(1)
break;
case "2":
if (player.ba.unl) activateSpell(2)
break;
case "3":
if (player.ba.unl) activateSpell(3)
break;
} }
} else if (player[key].unl) doReset(key) } else if (player[key].unl) doReset(key)
} }

View file

@ -47,6 +47,7 @@ function updateTemp() {
tmp.sbUnl = getSpaceBuildingsUnl() tmp.sbUnl = getSpaceBuildingsUnl()
tmp.quirkEff = getQuirkEnergyEff() tmp.quirkEff = getQuirkEnergyEff()
tmp.qCB = getQuirkLayerCostBase()
tmp.ssEff1 = getSubspaceEff1() tmp.ssEff1 = getSubspaceEff1()
tmp.ssEff2 = getSubspaceEff2() tmp.ssEff2 = getSubspaceEff2()