mirror of
https://github.com/Acamaeda/The-Modding-Tree.git
synced 2024-11-28 02:51:55 +00:00
Beta v1.2 Alpha 10
This commit is contained in:
parent
ae961cfd4f
commit
510cf78da3
3 changed files with 51 additions and 26 deletions
|
@ -15,6 +15,12 @@
|
||||||
<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 10</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Made a few visual fixes</li>
|
||||||
|
<li>Adjusted the 1,070 Generator upgrade to cost 1,068 Generators instead</li>
|
||||||
|
<li>Balanced up to 1e6,800,000 Points, 1e14 Magic, and 1.5e12 Balance Energy</li>
|
||||||
|
</ul><br>
|
||||||
<h3>Beta v1.2 Alpha 9</h3>
|
<h3>Beta v1.2 Alpha 9</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Added hints for h8 & h10</li>
|
<li>Added hints for h8 & h10</li>
|
||||||
|
@ -439,6 +445,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div v-if="layer=='m'">
|
<div v-if="layer=='m'">
|
||||||
<br>
|
<br>
|
||||||
|
Note: Activating a Spell uses 1 Magic.<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)"><h3>{{SPELL_NAMES[id]}}</h3><br>Time Left: {{formatTime(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: {{formatTime(player.m.spellTimes[id])}}<br>Effect: {{getSpellDesc(id)}}</button>
|
||||||
|
|
54
js/game.js
54
js/game.js
|
@ -292,11 +292,15 @@ const LAYER_EFFS = {
|
||||||
},
|
},
|
||||||
hb: function() { return Decimal.pow(Decimal.add(1.6, addToHBBase()), player.hb.points.pow(getHyperBoosterExp()).times(getHyperBoosterPow())) },
|
hb: function() { return Decimal.pow(Decimal.add(1.6, addToHBBase()), player.hb.points.pow(getHyperBoosterExp()).times(getHyperBoosterPow())) },
|
||||||
ss: function() { return player.ss.points.pow(2.5).times(getSubspaceGainMult()) },
|
ss: function() { return player.ss.points.pow(2.5).times(getSubspaceGainMult()) },
|
||||||
ba: function() { return {
|
ba: function() {
|
||||||
power: player.ba.points.pow(0.2).pow(tmp.baExp ? tmp.baExp : 1).pow(player.ba.upgrades.includes(41)?2:1),
|
let points1 = player.ba.points
|
||||||
pos: player.ba.points.pow(0.7).pow(tmp.baExp ? tmp.baExp : 1),
|
if (points1.gte(1e12)) points1 = points1.log10().pow(2).times(1e12/144).min(points1)
|
||||||
neg: player.ba.points.pow(0.65).times(0.4).pow(tmp.baExp ? tmp.baExp : 1),
|
return {
|
||||||
}},
|
power: points1.pow(0.2).pow(tmp.baExp ? tmp.baExp : 1).pow(player.ba.upgrades.includes(41)?2:1),
|
||||||
|
pos: player.ba.points.pow(0.7).pow(tmp.baExp ? tmp.baExp : 1),
|
||||||
|
neg: player.ba.points.pow(0.65).times(0.4).pow(tmp.baExp ? tmp.baExp : 1),
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
const LAYER_UPGS = {
|
const LAYER_UPGS = {
|
||||||
|
@ -528,7 +532,7 @@ const LAYER_UPGS = {
|
||||||
},
|
},
|
||||||
34: {
|
34: {
|
||||||
desc: "Generators are stronger based on their amount.",
|
desc: "Generators are stronger based on their amount.",
|
||||||
cost: new Decimal(1070),
|
cost: new Decimal(1068),
|
||||||
unl: function() { return player.ss.upgrades.includes(21) },
|
unl: function() { return player.ss.upgrades.includes(21) },
|
||||||
currently: function() { return player.g.points.plus(1).log10().plus(1).log10().plus(1).sqrt() },
|
currently: function() { return player.g.points.plus(1).log10().plus(1).log10().plus(1).sqrt() },
|
||||||
effDisp: function(x) { return format(x.sub(1).times(100))+"% stronger" },
|
effDisp: function(x) { return format(x.sub(1).times(100))+"% stronger" },
|
||||||
|
@ -1207,14 +1211,16 @@ const LAYER_UPGS = {
|
||||||
unl: function() { return player.ba.upgrades.includes(33)&&player.ba.upgrades.includes(34) },
|
unl: function() { return player.ba.upgrades.includes(33)&&player.ba.upgrades.includes(34) },
|
||||||
},
|
},
|
||||||
42: {
|
42: {
|
||||||
desc: "???",
|
desc: "The Space Building 1 effect is stronger based on your Space Building 1 amount.",
|
||||||
cost: new Decimal(1/0),
|
cost: new Decimal(3e11),
|
||||||
unl: function() { return false },
|
unl: function() { return player.ba.upgrades.includes(33)&&player.ba.upgrades.includes(34) },
|
||||||
|
currently: function() { return player.s.buildings[1].plus(1).pow(0.8) },
|
||||||
|
effDisp: function(x) { return "^"+format(x) },
|
||||||
},
|
},
|
||||||
43: {
|
43: {
|
||||||
desc: "???",
|
desc: "The post-25 Extra Time Capsule cost scaling is disabled.",
|
||||||
cost: new Decimal(1/0),
|
cost: new Decimal(1e12),
|
||||||
unl: function() { return false },
|
unl: function() { return player.ba.upgrades.includes(41)||player.ba.upgrades.includes(42) },
|
||||||
},
|
},
|
||||||
44: {
|
44: {
|
||||||
desc: "???",
|
desc: "???",
|
||||||
|
@ -1670,6 +1676,7 @@ function getResetGain(layer) {
|
||||||
}
|
}
|
||||||
if (tmp.layerAmt[layer].lt(tmp.layerReqs[layer])) return new Decimal(0)
|
if (tmp.layerAmt[layer].lt(tmp.layerReqs[layer])) return new Decimal(0)
|
||||||
let gain = tmp.layerAmt[layer].div(tmp.layerReqs[layer]).pow(LAYER_EXP[layer]).times(tmp.gainMults[layer]).pow(getGainExp(layer))
|
let gain = tmp.layerAmt[layer].div(tmp.layerReqs[layer]).pow(LAYER_EXP[layer]).times(tmp.gainMults[layer]).pow(getGainExp(layer))
|
||||||
|
if (gain.gte("e1e7")) gain = gain.sqrt().times("e5e6")
|
||||||
return gain.floor().max(0);
|
return gain.floor().max(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1683,7 +1690,9 @@ function getNextAt(layer) {
|
||||||
if (LAYER_RES_CEIL.includes(layer)) cost = cost.ceil()
|
if (LAYER_RES_CEIL.includes(layer)) cost = cost.ceil()
|
||||||
return cost;
|
return cost;
|
||||||
} else {
|
} else {
|
||||||
let next = tmp.resetGain[layer].plus(1).root(getGainExp(layer)).div(tmp.gainMults[layer]).root(LAYER_EXP[layer]).times(tmp.layerReqs[layer]).max(tmp.layerReqs[layer])
|
let next = tmp.resetGain[layer].plus(1)
|
||||||
|
if (next.gte("e1e7")) next = next.div("e5e6").pow(2)
|
||||||
|
next = next.root(getGainExp(layer)).div(tmp.gainMults[layer]).root(LAYER_EXP[layer]).times(tmp.layerReqs[layer]).max(tmp.layerReqs[layer])
|
||||||
if (LAYER_RES_CEIL.includes(layer)) next = next.ceil()
|
if (LAYER_RES_CEIL.includes(layer)) next = next.ceil()
|
||||||
return next;
|
return next;
|
||||||
}
|
}
|
||||||
|
@ -2135,7 +2144,7 @@ function getTimeEnergyLimitMult() {
|
||||||
|
|
||||||
function getExtCapsuleCost() {
|
function getExtCapsuleCost() {
|
||||||
let amt = player.t.extCapsules
|
let amt = player.t.extCapsules
|
||||||
if (amt.gte(25)) amt = amt.pow(2).div(25)
|
if (amt.gte(25) && !player.ba.upgrades.includes(43)) amt = amt.pow(2).div(25)
|
||||||
let cost = amt.times(0.4).pow(1.2).plus(1).times(10)
|
let cost = amt.times(0.4).pow(1.2).plus(1).times(10)
|
||||||
return cost.floor()
|
return cost.floor()
|
||||||
}
|
}
|
||||||
|
@ -2150,7 +2159,7 @@ function buyExtCapsule() {
|
||||||
|
|
||||||
function maxExtTimeCapsules() {
|
function maxExtTimeCapsules() {
|
||||||
let target = player.b.points.plus(1).div(10).sub(1).root(1.2).div(0.4)
|
let target = player.b.points.plus(1).div(10).sub(1).root(1.2).div(0.4)
|
||||||
if (target.gte(25)) target = target.times(25).sqrt()
|
if (target.gte(25)&&!player.ba.upgrades.includes(43)) target = target.times(25).sqrt()
|
||||||
target = target.plus(1).floor().max(0)
|
target = target.plus(1).floor().max(0)
|
||||||
player.t.extCapsules = player.t.extCapsules.max(target)
|
player.t.extCapsules = player.t.extCapsules.max(target)
|
||||||
}
|
}
|
||||||
|
@ -2220,9 +2229,12 @@ function getSpaceBuildingEff(x) {
|
||||||
if (tmp.sbUnl<x) bought = new Decimal(0);
|
if (tmp.sbUnl<x) bought = new Decimal(0);
|
||||||
let power = getSpaceBuildingPow()
|
let power = getSpaceBuildingPow()
|
||||||
bought = bought.times(power)
|
bought = bought.times(power)
|
||||||
|
let ret;
|
||||||
switch(x) {
|
switch(x) {
|
||||||
case 1:
|
case 1:
|
||||||
return Decimal.pow(Decimal.add(1, bought.pow((player.s.upgrades.includes(31)&&!(tmp.hcActive?tmp.hcActive[12]:true))?2.75:1)), player.s.points.sqrt()).times(Decimal.mul(4, bought.pow((player.s.upgrades.includes(31)&&!(tmp.hcActive?tmp.hcActive[12]:true))?2.75:1))).max(1)
|
ret = Decimal.pow(Decimal.add(1, bought.pow((player.s.upgrades.includes(31)&&!(tmp.hcActive?tmp.hcActive[12]:true))?2.75:1)), player.s.points.sqrt()).times(Decimal.mul(4, bought.pow((player.s.upgrades.includes(31)&&!(tmp.hcActive?tmp.hcActive[12]:true))?2.75:1))).max(1)
|
||||||
|
if (player.ba.upgrades.includes(42)) ret = ret.pow(LAYER_UPGS.ba[42].currently())
|
||||||
|
return ret;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
return bought.sqrt()
|
return bought.sqrt()
|
||||||
|
@ -2231,7 +2243,9 @@ function getSpaceBuildingEff(x) {
|
||||||
return Decimal.pow(1e18, bought.pow(0.9))
|
return Decimal.pow(1e18, bought.pow(0.9))
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
return bought.plus(1).pow(1.25)
|
ret = bought.plus(1).pow(1.25)
|
||||||
|
if (ret.gte(1e6)) ret = ret.log10().times(1e6/6)
|
||||||
|
return ret;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
return bought.sqrt().times(2)
|
return bought.sqrt().times(2)
|
||||||
|
@ -2510,7 +2524,11 @@ const H_CHALLS = {
|
||||||
unl: function() { return player.m.upgrades.includes(31) },
|
unl: function() { return player.m.upgrades.includes(31) },
|
||||||
goal: new Decimal("1e1150"),
|
goal: new Decimal("1e1150"),
|
||||||
reward: "Gain more Hindrance Spirit based on your Quirk Energy.",
|
reward: "Gain more Hindrance Spirit based on your Quirk Energy.",
|
||||||
currently: function() { return player.q.energy.plus(1).sqrt() },
|
currently: function() {
|
||||||
|
let ret = player.q.energy.plus(1).sqrt()
|
||||||
|
if (ret.gte("1.8e308")) ret = ret.sqrt().times(Decimal.sqrt("1.8e308"))
|
||||||
|
return ret;
|
||||||
|
},
|
||||||
effDisp: function(x) { return format(x)+"x" },
|
effDisp: function(x) { return format(x)+"x" },
|
||||||
},
|
},
|
||||||
72: {
|
72: {
|
||||||
|
|
16
style.css
16
style.css
|
@ -48,8 +48,8 @@ h1, h2 {
|
||||||
.treeNode {
|
.treeNode {
|
||||||
height: 100px;
|
height: 100px;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
|
border: 1px solid black;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border-color: black;
|
|
||||||
font-size: 40px;
|
font-size: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ h1, h2 {
|
||||||
top: 0px;
|
top: 0px;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
background-color: black;
|
background-color: black;
|
||||||
border-color: black;
|
border: 1px solid black;
|
||||||
color: white;
|
color: white;
|
||||||
font-size: 40px;
|
font-size: 40px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
@ -92,14 +92,14 @@ h1, h2 {
|
||||||
height: 100px;
|
height: 100px;
|
||||||
width: 150px;
|
width: 150px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border-color: black;
|
border: 1px solid black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upg {
|
.upg {
|
||||||
height: 120px;
|
height: 120px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
border-radius: 25%;
|
border-radius: 25%;
|
||||||
border-color: black;
|
border: 1px solid black;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,14 +107,14 @@ h1, h2 {
|
||||||
height: 200px;
|
height: 200px;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
border-radius: 25%;
|
border-radius: 25%;
|
||||||
border-color: black;
|
border: 1px solid black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.longUpg {
|
.longUpg {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border-color: black;
|
border: 1px solid black;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ h1, h2 {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
border-radius: 25%;
|
border-radius: 25%;
|
||||||
border-color: black;
|
border: 1px solid black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.p {
|
.p {
|
||||||
|
@ -318,7 +318,7 @@ h1, h2 {
|
||||||
height: 100px;
|
height: 100px;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
border-radius: 25%;
|
border-radius: 25%;
|
||||||
border-color: black;
|
border: 1px solid black;
|
||||||
background-color: #a1a1a1;
|
background-color: #a1a1a1;
|
||||||
color: black;
|
color: black;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
Loading…
Reference in a new issue