1
0
Fork 0
mirror of https://github.com/Acamaeda/The-Modding-Tree.git synced 2024-11-22 00:21:32 +00:00

Beta v1.1 Alpha 8

This commit is contained in:
Jacorb90 2020-08-27 11:38:26 -04:00
parent b9f3b5958d
commit ea3e2cd4f1
4 changed files with 77 additions and 18 deletions

View file

@ -1,2 +1,2 @@
# Prestige-Tree # Prestige-Tree
A tree of prestige upgrades (alpha) A tree of prestige upgrades

View file

@ -16,6 +16,11 @@
<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.1 Alpha 8</h3>
<ul>
<li>Several bugfixes</li>
<li>Balanced up to 1e9 Hindrance Spirit & Quirks, and 1e25,750 Points</li>
</ul><br>
<h3>Beta v1.1 Alpha 7</h3> <h3>Beta v1.1 Alpha 7</h3>
<ul> <ul>
<li>Reversed the order of the changelog</li> <li>Reversed the order of the changelog</li>
@ -119,7 +124,8 @@
<div v-if="player.tab=='credits'" class="col right"> <div v-if="player.tab=='credits'" 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>
This game uses <a href="https://github.com/Patashu/break_eternity.js/tree/master" target="_blank">break_eternity.js</a> by Patashu.<br> This game uses <a href="https://github.com/Patashu/break_eternity.js/tree/master" target="_blank">break_eternity.js</a> by Patashu.<br>
This game was inspired by a post shown to me by Crimson406<br> Made by Jacorb<br>
Idea by papyrus (on discord)<br>
Note: If anyone wishes to make a mod of this game, that is perfectly fine with me, just make sure to name it something different (ex: Prestige Tree NG+) and to let me know on <a href="https://discord.gg/wwQfgPa" target="_blank">my discord</a>. Note: If anyone wishes to make a mod of this game, that is perfectly fine with me, just make sure to name it something different (ex: Prestige Tree NG+) and to let me know on <a href="https://discord.gg/wwQfgPa" target="_blank">my discord</a>.
</div> </div>
<div v-if="player.tab=='info'" class="col right"> <div v-if="player.tab=='info'" class="col right">
@ -280,7 +286,7 @@
<div v-if="layer=='h'" class="upgTable"> <div v-if="layer=='h'" class="upgTable">
<div v-for="row in H_CHALLS.rows" class="upgRow"> <div v-for="row in H_CHALLS.rows" class="upgRow">
<div v-for="col in H_CHALLS.cols"> <div v-for="col in H_CHALLS.cols">
<div v-if="H_CHALLS[row*10+col].unl()" v-bind:class="{hChall: true, done: player.h.challs.includes(row*10+col)}"> <div v-if="H_CHALLS[row*10+col].unl()" v-bind:class="{hChall: true, done: player.h.challs.includes(row*10+col), canComplete: (player.points.gte(H_CHALLS[row*10+col].goal)&&tmp.hcActive[row*10+col]&&!player.h.challs.includes(row*10+col))}">
<br><h3>{{H_CHALLS[row*10+col].name}}</h3><br><br> <br><h3>{{H_CHALLS[row*10+col].name}}</h3><br><br>
<button class="longUpg can h" v-on:click="startHindrance(row*10+col)">{{tmp.hcActive[row*10+col]?(player.points.gte(H_CHALLS[row*10+col].goal)?"Finish":"Exit Early"):(player.h.challs.includes(row*10+col)?"Completed":"Start")}}</button><br><br> <button class="longUpg can h" v-on:click="startHindrance(row*10+col)">{{tmp.hcActive[row*10+col]?(player.points.gte(H_CHALLS[row*10+col].goal)?"Finish":"Exit Early"):(player.h.challs.includes(row*10+col)?"Completed":"Start")}}</button><br><br>
{{H_CHALLS[row*10+col].desc}}<br> {{H_CHALLS[row*10+col].desc}}<br>

View file

@ -252,7 +252,11 @@ const LAYER_UPGS = {
desc: "Prestige Point gain is boosted by your Prestige Point amount.", desc: "Prestige Point gain is boosted by your Prestige Point amount.",
cost: new Decimal("1e4450"), cost: new Decimal("1e4450"),
unl: function() { return player.e.upgrades.includes(33) }, unl: function() { return player.e.upgrades.includes(33) },
currently: function() { return player.p.points.plus(1).log10().plus(1).pow(player.p.points.plus(1).log10().div(200).plus(1)).pow(player.p.upgrades.includes(32) ? LAYER_UPGS.p[32].currently() : 1) }, currently: function() {
let ret = player.p.points.plus(1).log10().plus(1).pow(player.p.points.plus(1).log10().div(200).plus(1)).pow(player.p.upgrades.includes(32) ? LAYER_UPGS.p[32].currently() : 1)
if (ret.gte("1e1000")) ret = ret.log10().times("1e997")
return ret;
},
effDisp: function(x) { return format(x)+"x" }, effDisp: function(x) { return format(x)+"x" },
}, },
32: { 32: {
@ -398,7 +402,11 @@ const LAYER_UPGS = {
desc: "Unspent Enhance Points boost Prestige Point gain.", desc: "Unspent Enhance Points boost Prestige Point gain.",
cost: new Decimal(150), cost: new Decimal(150),
unl: function() { return player.e.unl&&player.e.best.gte(40) }, unl: function() { return player.e.unl&&player.e.best.gte(40) },
currently: function() { return player.e.points.plus(1).pow((player.e.upgrades.includes(15)&&!(tmp.hcActive?tmp.hcActive[12]:true))?3.25:1.5) }, currently: function() {
let ret = player.e.points.plus(1).pow((player.e.upgrades.includes(15)&&!(tmp.hcActive?tmp.hcActive[12]:true))?3.25:1.5)
if (ret.gte("1e1500")) ret = ret.sqrt().times("1e750")
return ret
},
effDisp: function(x) { return format(x)+"x" }, effDisp: function(x) { return format(x)+"x" },
}, },
13: { 13: {
@ -461,7 +469,7 @@ const LAYER_UPGS = {
cost: new Decimal(7.5e108), cost: new Decimal(7.5e108),
unl: function() { return player.e.upgrades.includes(25)&&player.sb.unl }, unl: function() { return player.e.upgrades.includes(25)&&player.sb.unl },
currently: function() { currently: function() {
let ret = Decimal.pow(10, player.e.points.plus(1).log10().pow(0.085)).div(10).max(1); let ret = Decimal.pow(10, player.e.points.plus(1).log10().pow(0.085)).div(10).max(1).min(10);
return ret; return ret;
}, },
effDisp: function(x) { return format(x)+"x" }, effDisp: function(x) { return format(x)+"x" },
@ -524,7 +532,11 @@ const LAYER_UPGS = {
desc: "Time Energy production & limit are boosted by your Enhance Points.", desc: "Time Energy production & limit are boosted by your Enhance Points.",
cost: new Decimal(5), cost: new Decimal(5),
unl: function() { return player.t.upgrades.includes(14)&&player.e.unl }, unl: function() { return player.t.upgrades.includes(14)&&player.e.unl },
currently: function() { return player.e.points.plus(1).pow(0.8/(1+player.t.order)) }, currently: function() {
let ret = player.e.points.plus(1).pow(0.8/(1+player.t.order))
if (ret.gte("1e400")) ret = ret.log10().times(Decimal.div("1e400", 400)).min(ret)
return ret;
},
effDisp: function(x) { return format(x)+"x" }, effDisp: function(x) { return format(x)+"x" },
}, },
23: { 23: {
@ -665,7 +677,7 @@ const LAYER_UPGS = {
cols: 0, cols: 0,
}, },
q: { q: {
rows: 2, rows: 3,
cols: 3, cols: 3,
11: { 11: {
desc: "Quirks & Hindrance Spirit boost Point, Prestige Point, and Enhance Point gain.", desc: "Quirks & Hindrance Spirit boost Point, Prestige Point, and Enhance Point gain.",
@ -706,6 +718,21 @@ const LAYER_UPGS = {
cost: new Decimal(5000), cost: new Decimal(5000),
unl: function() { return player.q.upgrades.includes(21)||player.q.upgrades.includes(22) }, unl: function() { return player.q.upgrades.includes(21)||player.q.upgrades.includes(22) },
}, },
31: {
desc: "Get 1 of each Space Building for free.",
cost: new Decimal(150000),
unl: function() { return player.q.upgrades.includes(21)&&player.q.upgrades.includes(22) },
},
32: {
desc: "The Quirk Energy effect is squared.",
cost: new Decimal(500000),
unl: function() { return player.q.upgrades.includes(23)||player.q.upgrades.includes(31) },
},
33: {
desc: "???",
cost: new Decimal(1/0),
unl: function() { return false },
},
}, },
} }
@ -1240,6 +1267,8 @@ function getPointGen() {
if (player.s.unl && tmp.spaceBuildEff) gain = gain.times(tmp.spaceBuildEff[1]) if (player.s.unl && tmp.spaceBuildEff) gain = gain.times(tmp.spaceBuildEff[1])
if (player.q.unl && tmp.quirkEff) gain = gain.times(tmp.quirkEff) if (player.q.unl && tmp.quirkEff) gain = gain.times(tmp.quirkEff)
if (player.q.upgrades.includes(11)) gain = gain.times(LAYER_UPGS.q[11].currently()) if (player.q.upgrades.includes(11)) gain = gain.times(LAYER_UPGS.q[11].currently())
if (tmp.hcActive ? tmp.hcActive[31] : true) gain = gain.tetrate(0.1)
return gain return gain
} }
@ -1320,6 +1349,7 @@ function getEnhancerPow() {
let pow = new Decimal(1) let pow = new Decimal(1)
if (player.e.upgrades.includes(25)&&!(tmp.hcActive?tmp.hcActive[12]:true)) pow = pow.times(LAYER_UPGS.e[25].currently()) if (player.e.upgrades.includes(25)&&!(tmp.hcActive?tmp.hcActive[12]:true)) pow = pow.times(LAYER_UPGS.e[25].currently())
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)
return pow return pow
} }
@ -1438,6 +1468,7 @@ function getSpaceBuildingCostMod() {
function getSpaceBuildingCost(x) { function getSpaceBuildingCost(x) {
let inputVal = new Decimal([1e3,1e10,1e25,1e48,1e100][x-1]) let inputVal = new Decimal([1e3,1e10,1e25,1e48,1e100][x-1])
let bought = player.s.buildings[x] let bought = player.s.buildings[x]
if (bought.gte(100)) bought = bought.pow(2).div(100)
let cost = Decimal.pow(inputVal, bought.times(getSpaceBuildingCostMod()).pow(1.35)).times(inputVal).times((bought.gt(0)||x>1)?1:0) let cost = Decimal.pow(inputVal, bought.times(getSpaceBuildingCostMod()).pow(1.35)).times(inputVal).times((bought.gt(0)||x>1)?1:0)
return cost return cost
} }
@ -1456,6 +1487,7 @@ function getExtraBuildingLevels(x) {
let lvl = new Decimal(0) let lvl = new Decimal(0)
if (player.s.upgrades.includes(11)&&!(tmp.hcActive?tmp.hcActive[12]:true)) lvl = lvl.plus(1); if (player.s.upgrades.includes(11)&&!(tmp.hcActive?tmp.hcActive[12]:true)) lvl = lvl.plus(1);
if (player.s.upgrades.includes(14)&&!(tmp.hcActive?tmp.hcActive[12]:true)) lvl = lvl.plus(1); if (player.s.upgrades.includes(14)&&!(tmp.hcActive?tmp.hcActive[12]:true)) lvl = lvl.plus(1);
if (player.q.upgrades.includes(31)) lvl = lvl.plus(1);
if (x<5) lvl = lvl.plus(tmp.spaceBuildEff[5]) if (x<5) lvl = lvl.plus(tmp.spaceBuildEff[5])
return lvl return lvl
} }
@ -1576,6 +1608,7 @@ function getQuirkEnergyEff() {
} }
eff = eff.pow(mod) eff = eff.pow(mod)
} }
if (player.q.upgrades.includes(32)) eff = eff.pow(2)
return eff; return eff;
} }
@ -1588,7 +1621,7 @@ function buyQuirkLayer() {
} }
const H_CHALLS = { const H_CHALLS = {
rows: 2, rows: 3,
cols: 2, cols: 2,
11: { 11: {
name: "Skip the Second", name: "Skip the Second",
@ -1622,6 +1655,20 @@ const H_CHALLS = {
goal: new Decimal("1e4600"), goal: new Decimal("1e4600"),
reward: "Add 0.25 to the Super-Booster base.", reward: "Add 0.25 to the Super-Booster base.",
}, },
31: {
name: "Flattened Curve",
desc: "Point generation is tetrated by 0.1",
unl: function() { return player.h.challs.includes(21)||player.h.challs.includes(22) },
goal: new Decimal(1e208),
reward: "Enhancers are twice as strong.",
},
32: {
name: "???",
desc: "???",
unl: function() { return false },
goal: new Decimal(1/0),
reward: "???",
},
} }
function HCActive(x) { function HCActive(x) {
@ -1642,20 +1689,20 @@ function startHindrance(x) {
function gameLoop(diff) { function gameLoop(diff) {
if (isNaN(diff)) diff = 0; if (isNaN(diff)) diff = 0;
player.timePlayed += diff player.timePlayed += diff
if (player.p.upgrades.includes(11)) player.points = player.points.plus(tmp.pointGen.times(diff)) if (player.p.upgrades.includes(11)) player.points = player.points.plus(tmp.pointGen.times(diff)).max(0)
if (player.g.unl) player.g.power = player.g.power.plus(tmp.layerEffs.g.times(diff)) if (player.g.unl) player.g.power = player.g.power.plus(tmp.layerEffs.g.times(diff)).max(0)
if (player.g.best.gte(10)) player.p.points = player.p.points.plus(tmp.resetGain.p.times(diff)) if (player.g.best.gte(10)) player.p.points = player.p.points.plus(tmp.resetGain.p.times(diff)).max(0)
if (player.t.unl) { if (player.t.unl) {
let data = tmp.layerEffs.t let data = tmp.layerEffs.t
player.t.energy = player.t.energy.plus(data.gain.times(diff)).min(data.limit) player.t.energy = player.t.energy.plus(data.gain.times(diff)).min(data.limit).max(0)
} }
if (player.q.unl) { if (player.q.unl) {
let mult = getQuirkLayerMult() let mult = getQuirkLayerMult()
player.q.time = player.q.time.plus(mult.times(diff)) player.q.time = player.q.time.plus(mult.times(diff)).max(0)
let exp = getQuirkEnergyGainExp() let exp = getQuirkEnergyGainExp()
if (exp.gte(0)) player.q.energy = player.q.energy.plus(player.q.time.pow(exp).times(mult).times(diff)) if (exp.gte(0)) player.q.energy = player.q.energy.plus(player.q.time.pow(exp).times(mult).times(diff)).max(0)
} }
if (player.q.best.gte(15)) player.e.points = player.e.points.plus(tmp.resetGain.e.times(diff)) if (player.q.best.gte(15)) player.e.points = player.e.points.plus(tmp.resetGain.e.times(diff)).max(0)
if (player.b.auto&&player.t.best.gte(5)) doReset("b") if (player.b.auto&&player.t.best.gte(5)) doReset("b")
if (player.g.auto&&player.s.best.gte(5)) doReset("g") if (player.g.auto&&player.s.best.gte(5)) doReset("g")

View file

@ -219,8 +219,8 @@ h1, h2 {
position: absolute; position: absolute;
top: 0px; top: 0px;
left: 0px; left: 0px;
height: 40px; height: 50px;
width: 40px; width: 50px;
cursor: pointer; cursor: pointer;
} }
@ -366,6 +366,12 @@ ul {
color: #038c2c; color: #038c2c;
} }
.hChall.canComplete {
background-color: #93f0fa;
border: 4px solid #03858f;
color: #03858f;
}
[tooltip] { [tooltip] {
position: relative; position: relative;
z-index: 2; z-index: 2;