2020-08-19 02:50:24 +00:00
<!DOCTYPE html>
< head >
2020-09-29 23:47:47 +00:00
< script >
const modInfo = {
name: "The Modding Tree",
id: "modbase",
2020-10-02 02:11:58 +00:00
pointsName: "points",
offlineLimit: 1 // In hours
2020-09-29 23:47:47 +00:00
}
< / script >
2020-09-27 03:42:41 +00:00
< title > The Modding Tree< / title >
2020-08-19 02:50:24 +00:00
< link rel = "stylesheet" type = "text/css" href = "style.css" / >
2020-09-08 23:22:22 +00:00
< link href = "https://fonts.googleapis.com/css?family=Inconsolata" rel = "stylesheet" >
2020-09-10 01:28:47 +00:00
< script src = "https://cdn.jsdelivr.net/npm/vue@2.6.12" > < / script >
2020-08-26 14:16:23 +00:00
< script type = "text/javascript" src = "js/break_eternity.js" > < / script >
2020-10-03 19:45:47 +00:00
< script type = "text/javascript" src = "js/layerSupport.js" > < / script >
2020-09-24 15:54:41 +00:00
< script type = "text/javascript" src = "js/layers.js" > < / script >
2020-08-21 19:02:34 +00:00
< script type = "text/javascript" src = "js/temp.js" > < / script >
2020-08-23 19:36:03 +00:00
< script type = "text/javascript" src = "js/saves.js" > < / script >
2020-10-03 21:52:51 +00:00
< script type = "text/javascript" src = "js/utils.js" > < / script >
2020-08-19 02:50:24 +00:00
< script type = "text/javascript" src = "js/game.js" > < / script >
< script type = "text/javascript" src = "js/v.js" > < / script >
< script type = "text/javascript" src = "js/canvas.js" > < / script >
2020-09-29 23:47:47 +00:00
2020-08-19 02:50:24 +00:00
< / head >
< body onload = "load()" >
< div id = "app" >
2020-09-10 01:46:36 +00:00
< div class = "vl" v-if = "player.tab!='tree'&&player.tab!='gameEnded'" > < / div >
2020-09-10 01:28:47 +00:00
< div v-if = "player.tab=='gameEnded'" class = "fullWidth" >
2020-09-14 19:26:10 +00:00
< br >
2020-09-29 23:47:47 +00:00
< h2 > {{modInfo.name}} {{VERSION.withoutName}}< / h2 > < br > < br >
2020-09-14 19:26:10 +00:00
< h3 > Congratulations! You have reached the end and beaten this game, but for now...< / h3 > < br >
< h3 > Please check the Discord to see there are new content updates!< / h3 > < br > < br >
< div v-if = "!player.timePlayedReset" > It took you {{formatTime(player.timePlayed)}} to beat the game.< / div >
< div v-if = "player.timePlayedReset" > Make sure that you record the time in your stream or else your speedrun won't count!< / div >
< br >
2020-09-10 01:39:08 +00:00
< button class = "longUpg can" onclick = "hardReset(true)" > Play Again< / button > < button class = "longUpg can" onclick = "keepGoing()" > Keep Going< / button >
2020-09-14 19:26:10 +00:00
< br > < br > < br >
2020-09-24 15:54:41 +00:00
< a class = "link" href = "http://discord.gg/wwQfgPa" target = "_blank" > Main Prestige Tree Discord< / a > < br >
2020-09-14 19:26:10 +00:00
< br > < br >
If you would like to speedrun this, press Play Again and record your attempt, then submit on the Discord Server in the channel #speedrun-submissions.
< br > < br > < br >
< h1 > Oh, you are still reading this?< / h1 >
< br >
2020-09-10 01:28:47 +00:00
< / div >
2020-08-20 04:55:26 +00:00
< div v-if = "player.tab=='changelog'" class = "col right" >
2020-09-11 02:15:05 +00:00
< button class = "back" onclick = "showTab('tree')" > ←< / button > < br >
2020-10-04 17:10:04 +00:00
< h3 > v1.3: Finally some real progress!< / h3 >
2020-10-03 19:45:47 +00:00
< ul >
< li > Many layer features can now be static values or functions. (This made some notations change, which will break things)< / li >
< / ul > < br >
2020-10-04 17:10:04 +00:00
< a href = "https://github.com/Acamaeda/The-Modding-Tree/blob/master/changelog.md" target = "_blank" class = "link" > Full history< / a > < br >
2020-08-25 22:42:43 +00:00
< / div >
2020-10-04 17:10:04 +00:00
2020-08-19 22:12:31 +00:00
< div v-if = "player.tab=='info'" class = "col right" >
2020-09-07 02:33:31 +00:00
< button class = "back" onclick = "showTab('tree')" > ←< / button > < br >
2020-09-29 23:47:47 +00:00
< h2 > {{modInfo.name}}< / h2 >
2020-09-07 02:33:31 +00:00
< br >
2020-09-14 19:26:10 +00:00
< h3 > {{VERSION.withName}}< / h3 >
2020-09-07 02:33:31 +00:00
< br >
2020-09-27 03:42:41 +00:00
The Modding Tree and code refactor by Acamaeda
2020-09-24 15:54:41 +00:00
< br >
The Prestige Tree made by Jacorb and Aarex
2020-09-07 02:33:31 +00:00
< br >
2020-09-24 15:54:41 +00:00
Original idea by papyrus (on discord)
2020-09-07 02:33:31 +00:00
< br > < br >
< div class = "link" onclick = "showTab('changelog')" > Changelog< / div > < br >
2020-09-24 15:54:41 +00:00
< a class = "link" href = "http://discord.gg/wwQfgPa" target = "_blank" > Main Prestige Tree server< / a > < br >
2020-09-07 02:33:31 +00:00
< br >
Note by Jacorb: 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 > .
< br > < br >
Time Played: {{ formatTime(player.timePlayed) }}< br > < br >
< h3 > Hotkeys< / h3 > < br >
2020-10-01 01:30:50 +00:00
< span v-for = "key in hotkeys" v-if = "player[key.layer].unl" > < br > {{key.desc}}< / span >
2020-08-19 22:12:31 +00:00
< / div >
2020-08-19 19:53:14 +00:00
< div v-if = "player.tab=='options'" class = "col right" >
2020-09-07 02:33:31 +00:00
< button class = "back" onclick = "showTab('tree')" > ←< / button > < br >
2020-08-19 02:50:24 +00:00
< table >
< tr >
< td > < button class = "opt" onclick = "save()" > Save< / button > < / td >
2020-09-07 14:16:04 +00:00
< td > < button class = "opt" onclick = "toggleOpt('autosave')" > Autosave: {{ player.autosave?"ON":"OFF" }}< / button > < / td >
2020-08-19 02:50:24 +00:00
< td > < button class = "opt" onclick = "hardReset()" > HARD RESET< / button > < / td >
< / tr >
< tr >
2020-09-03 21:59:23 +00:00
< td > < button class = "opt" onclick = "exportSave()" > Export to clipboard< / button > < / td >
2020-08-19 02:50:24 +00:00
< td > < button class = "opt" onclick = "importSave()" > Import< / button > < / td >
2020-09-07 14:16:04 +00:00
< td > < button class = "opt" onclick = "toggleOpt('offlineProd')" > Offline Prod: {{ player.offlineProd?"ON":"OFF" }}< / button > < / td >
2020-08-19 02:50:24 +00:00
< / tr >
< tr >
2020-09-14 19:26:10 +00:00
< td > < button class = "opt" onclick = "switchTheme()" > Theme: {{ getThemeName() }}< / button > < / td >
2020-08-27 19:12:20 +00:00
< td > < button class = "opt" onclick = "adjustMSDisp()" > Show Milestones: {{ player.msDisplay.toUpperCase() }}< / button > < / td >
2020-09-07 14:16:04 +00:00
< td > < button class = "opt" onclick = "toggleOpt('hqTree')" > High-Quality Tree: {{ player.hqTree?"ON":"OFF" }}< / button > < / td >
2020-08-19 02:50:24 +00:00
< / tr >
< / table >
< / div >
2020-09-11 02:15:05 +00:00
< div id = "treeTab" v-if = "player.tab!='gameEnded'" onscroll = "resizeCanvas()" v-bind:class = "{ fullWidth: player.tab == 'tree', col: player.tab != 'tree', left: player.tab != 'tree'}" >
2020-09-14 19:26:10 +00:00
< div id = "version" onclick = "showTab('changelog')" > {{VERSION.withoutName}}< / div >
2020-08-19 22:20:42 +00:00
< img id = "optionWheel" v-if = "player.tab!='options'" src = "options_wheel.png" onclick = "showTab('options')" > < / img >
2020-09-02 02:30:37 +00:00
< div id = "info" v-if = "player.tab!='info'" onclick = "showTab('info')" > < br > i< / div >
2020-09-14 19:26:10 +00:00
< img id = "discord" onclick = "window.open('https://discord.gg/wwQfgPa','mywindow')" src = "discord.png" target = "_blank" > < / img >
< span v-if = "player.devSpeed && player.devSpeed != 1" >
< br > Dev Speed: {{format(player.devSpeed)}}x< br >
< / span >
2020-09-15 19:27:33 +00:00
< span v-if = "player.offTime !== undefined" >
< br > Offline Time: {{formatTime(player.offTime.remain)}}< br >
2020-09-01 00:39:33 +00:00
< / span >
2020-09-24 15:54:41 +00:00
< span v-if = "false && !player.keepGoing" >
2020-09-14 19:26:10 +00:00
< br > Reach {{formatWhole(ENDGAME)}} to beat the game!< br >
< / span >
2020-09-11 02:15:05 +00:00
< br >
< span v-if = "player.points.lt('1e1000')" > You have < / span >
2020-09-27 20:25:06 +00:00
< h2 id = "points" > {{format(player.points)}}< / h2 >
2020-09-29 23:47:47 +00:00
< span v-if = "player.points.lt('1e1e6')" > {{modInfo.pointsName}}< / span >
2020-08-19 02:50:24 +00:00
< br > < br > < br > < br > < br >
2020-10-01 02:55:38 +00:00
<!-- *************************** Modify the tree in the table below! *************************** -->
2020-08-19 02:50:24 +00:00
< table >
2020-09-24 15:54:41 +00:00
< td > < layer-node layer = 'c' abb = 'C' > < / layer-node > < / td >
2020-08-19 02:50:24 +00:00
< / table > < table >
2020-09-07 02:33:31 +00:00
< td > < button class = "treeNode hidden" > < / button > < / td >
2020-08-19 02:50:24 +00:00
< / table > < table >
2020-09-24 15:54:41 +00:00
< td v-if = "player.tab=='tree'&&(player.c.unl||player.c.unl)" class = "left" > < br > < br > < img class = "remove" src = "remove.png" onclick = "resetRow(1)" > < / img > < / td >
< td > < layer-node layer = 'f' abb = 'F' > < / layer-node > < / td >
2020-08-26 01:45:22 +00:00
< / table > < table >
2020-09-07 02:33:31 +00:00
< td > < button class = "treeNode hidden" > < / button > < / td >
2020-08-19 02:50:24 +00:00
< / table >
< canvas id = "treeCanvas" class = "canvas" > < / canvas >
< / div >
< div v-for = "layer in LAYERS" >
2020-10-03 19:45:47 +00:00
< div v-if = "player.tab==layer" v-bind:class = "'col right'" v-bind:style = "tmp.style[layer] ? tmp.style[layer] : {}" >
2020-08-19 02:50:24 +00:00
< button class = "back" onclick = "showTab('tree')" > ←< / button > < br > < br > < br >
2020-09-30 01:47:26 +00:00
< div v-if = "!layers[layer].tabFormat" >
< main-display :layer = "layer" > < / main-display >
< prestige-button :layer = "layer" > < / prestige-button >
< span v-if = "layers[layer].type=='normal' && tmp.resetGain[layer].lt(100) && player[layer].points.lt(1e3)" > < br > You have {{formatWhole(tmp.layerAmt[layer])}} {{layers[layer].baseResource}}< / span >
< br > < br >
< span v-if = "player[layer].best != undefined" > Your best {{layers[layer].resource}} is {{formatWhole(player[layer].best)}}< br > < / span >
< span v-if = "player[layer].total != undefined" > You have made a total of {{formatWhole(player[layer].total)}} {{layers[layer].resource}}< br > < / span >
< milestones :layer = "layer" > < / milestones >
2020-10-01 00:25:14 +00:00
< buyables :layer = "layer" > < / buyables >
2020-09-30 01:47:26 +00:00
< upgrades :layer = "layer" > < / upgrades >
< challs :layer = "layer" > < / challs >
< br > < br >
< / div >
< div v-if = "layers[layer].tabFormat" >
2020-10-04 17:10:04 +00:00
< div v-if = "Array.isArray(layers[layer].tabFormat)" >
< column :layer = "layer" :data = "layers[layer].tabFormat" > < / column >
< / div >
< div v-else >
< div class = "upgTable" v-bind:style = "{'margin-top': '-30px', 'margin-bottom': '24px'}" >
< div class = "upgRow" >
< div v-for = "tab in Object.keys(layers[layer].tabFormat)" >
< button class = "tabButton" v-on:click = "player[layer].subtab = tab" > {{tab}}< / button >
< / div >
< / div >
< / div >
< div v-for = "tab in Object.keys(layers[layer].tabFormat)" >
< column v-if = "player[layer].subtab == tab" :layer = "layer" :data = "layers[layer].tabFormat[tab]" > < / column >
< / div >
2020-10-03 23:50:03 +00:00
< / div >
2020-10-04 17:10:04 +00:00
< / div >
2020-08-19 02:50:24 +00:00
< / div >
< / div >
< / div >
2020-10-03 23:50:03 +00:00
< / body >