2020-08-19 02:50:24 +00:00
<!DOCTYPE html>
< head >
2020-10-11 02:30:17 +00:00
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-10-11 20:16:36 +00:00
< script type = "text/javascript" src = "js/layers.js" > < / script >
2020-10-17 04:21:59 +00:00
< script type = "text/javascript" src = "js/mod.js" > < / script >
2020-08-21 19:02:34 +00:00
< script type = "text/javascript" src = "js/temp.js" > < / script >
2020-10-11 20:16:36 +00:00
< script type = "text/javascript" src = "js/game.js" > < / script >
2020-10-11 03:26:26 +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/v.js" > < / script >
< script type = "text/javascript" src = "js/canvas.js" > < / script >
2020-10-25 01:01:36 +00:00
2020-08-19 02:50:24 +00:00
< / head >
< body onload = "load()" >
< div id = "app" >
2020-10-05 01:36:03 +00:00
< div v-if = "false" id = "loadingSection" class = "fullWidth" >
< h1 > Loading... (If this takes too long it means there was a serious error!)< / h1 >
< / div >
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 >
2020-10-19 02:23:44 +00:00
< h3 > Please check the Discord to see if there are new content updates!< / h3 > < br > < br >
2020-09-14 19:26:10 +00:00
< 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-10-19 23:52:52 +00:00
< span v-if = "modInfo.discordLink" > < a class = "link" v-bind:href = "modInfo.discordLink" target = "_blank" > {{modInfo.discordName}}< / a > < br > < / span >
< a class = "link" href = "https://discord.gg/F3xveHV" target = "_blank" v-bind:style = "modInfo.discordLink ? {'font-size': '16px'} : {}" > The Modding Tree Discord< / a > < br >
< a class = "link" href = "http://discord.gg/wwQfgPa" target = "_blank" v-bind:style = "{'font-size': '16px'}" > Main Prestige Tree server< / 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-10-07 21:15:25 +00:00
< button class = "back" onclick = "showTab('tree')" > ←< / button > < br > < br > < 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-10-19 23:52:52 +00:00
< span v-if = "modInfo.author" >
< br >
Made by {{modInfo.author}}
< / span >
2020-09-07 02:33:31 +00:00
< br >
2020-10-17 04:21:59 +00:00
The Modding Tree {{TMT_VERSION.tmtNum}} 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 >
2020-10-11 22:11:42 +00:00
< a v-bind:href = "modInfo.changelogLink" target = "_blank" class = "link" > Changelog< / a > < br >
2020-10-11 02:30:17 +00:00
< span v-if = "modInfo.discordLink" > < a class = "link" v-bind:href = "modInfo.discordLink" target = "_blank" > {{modInfo.discordName}}< / a > < br > < / span >
2020-10-11 03:26:26 +00:00
< a class = "link" href = "https://discord.gg/F3xveHV" target = "_blank" v-bind:style = "modInfo.discordLink ? {'font-size': '16px'} : {}" > The Modding Tree Discord< / a > < br >
2020-10-11 02:30:17 +00:00
< a class = "link" href = "http://discord.gg/wwQfgPa" target = "_blank" v-bind:style = "{'font-size': '16px'}" > 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-16 15:39:39 +00:00
< span v-for = "key in hotkeys" v-if = "player[key.layer].unlocked" > < br > {{key.description}}< / 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 >
2020-10-05 01:36:03 +00:00
< tr >
2020-10-17 21:04:38 +00:00
< td > < button class = "opt" onclick = "toggleOpt('hideChallenges')" > Completed Challenges: {{ player.hideChallenges?"HIDDEN":"SHOWN" }}< / button > < / td >
2020-10-05 01:36:03 +00:00
<!-- <td><button class="opt" onclick="toggleOpt('oldStyle')">Style: {{ player.oldStyle?"v1.0":"NEW" }}</button></td> -->
< / tr >
2020-08-19 02:50:24 +00:00
< / table >
< / div >
2020-10-14 23:06:45 +00:00
< div id = "treeOverlay" class = "treeOverlay" v-if = "player.tab!='gameEnded'" onscroll = "resizeCanvas()" v-bind:class = "{ fullWidth: player.tab == 'tree', col: player.tab != 'tree', left: player.tab != 'tree'}" >
2020-10-17 04:21:59 +00:00
< div id = "version" class = "overlayThing" style = "margin-right: 13px" > {{VERSION.withoutName}}< / div >
2020-10-14 23:06:45 +00:00
< img id = "optionWheel" class = "overlayThing" v-if = "player.tab!='options'" src = "options_wheel.png" onclick = "showTab('options')" > < / img >
< div id = "info" v-if = "player.tab!='info'" class = "overlayThing" onclick = "showTab('info')" > < br > i< / div >
2020-10-19 02:23:44 +00:00
< div id = "discord" class = "overlayThing" >
< img onclick = "window.open((modInfo.discordLink ? modInfo.discordLink : 'https://discord.gg/F3xveHV'),'mywindow')" src = "discord.png" target = "_blank" > < / img >
< ul id = "discord-links" >
< li v-if = "modInfo.discordLink" > < a class = "link" v-bind:href = "modInfo.discordLink" target = "_blank" > {{modInfo.discordName}}< / a > < br > < / li >
< li > < a class = "link" href = "https://discord.gg/F3xveHV" target = "_blank" v-bind:style = "modInfo.discordLink ? {'font-size': '16px'} : {}" > The Modding Tree Discord< / a > < br > < / li >
< li > < a class = "link" href = "http://discord.gg/wwQfgPa" target = "_blank" v-bind:style = "{'font-size': '16px'}" > Main Prestige Tree server< / a > < / li >
< / ul >
< / div >
2020-10-14 23:06:45 +00:00
< div class = "overlayThing" style = "padding-bottom:7px; width: 90%" >
< span v-if = "player.devSpeed && player.devSpeed != 1" class = "overlayThing" >
< br > Dev Speed: {{format(player.devSpeed)}}x< br >
< / span >
< span v-if = "player.offTime !== undefined" class = "overlayThing" >
< br > Offline Time: {{formatTime(player.offTime.remain)}}< br >
< / span >
< span v-if = "false && !player.keepGoing" class = "overlayThing" >
< br > Reach {{formatWhole(ENDGAME)}} to beat the game!< br >
< / span >
< br >
< span v-if = "player.points.lt('1e1000')" class = "overlayThing" > You have < / span >
< h2 class = "overlayThing" id = "points" > {{format(player.points)}}< / h2 >
< span v-if = "player.points.lt('1e1e6')" class = "overlayThing" > {{modInfo.pointsName}}< / span >
< br >
< span v-if = "canGenPoints()" class = "overlayThing" > ({{format(getPointGen())}}/sec)< / span >
2020-10-17 21:04:38 +00:00
< div v-for = "thing in tmp.displayThings" class = "overlayThing" > < span v-if = "thing" v-html = "thing" > < / span > < / div >
2020-10-14 23:06:45 +00:00
< / div >
2020-10-14 23:34:15 +00:00
< div class = "sideLayers" >
2020-10-25 01:01:36 +00:00
< div v-for = "node in OTHER_LAYERS['side']" > < layer-node :layer = 'node.layer' :abb = 'tmp[node.layer].symbol' :size = "'small'" > < / layer-node > < / div >
2020-10-14 23:34:15 +00:00
< / div >
2020-10-14 23:06:45 +00:00
< / div >
< div id = "treeTab" style = "z-index: 0" v-if = "player.tab!='gameEnded'" onscroll = "resizeCanvas()" v-bind:class = "{ fullWidth: player.tab == 'tree', col: player.tab != 'tree', left: player.tab != 'tree'}" >
2020-10-05 21:11:15 +00:00
< br > < br > < br > < br >
2020-10-14 23:06:45 +00:00
< div id = "fakeHead" style = "visibility: hidden;" >
2020-10-17 21:04:38 +00:00
< span v-if = "player.devSpeed && player.devSpeed != 1" class = "overlayThing" >
< br > Dev Speed: {{format(player.devSpeed)}}x< br >
2020-10-14 23:06:45 +00:00
< / span >
2020-10-17 21:04:38 +00:00
< span v-if = "player.offTime !== undefined" class = "overlayThing" >
< br > Offline Time: {{formatTime(player.offTime.remain)}}< br >
2020-10-14 23:06:45 +00:00
< / span >
2020-10-17 21:04:38 +00:00
< span v-if = "false && !player.keepGoing" class = "overlayThing" >
< br > Reach {{formatWhole(ENDGAME)}} to beat the game!< br >
2020-10-14 23:06:45 +00:00
< / span >
< br >
2020-10-17 21:04:38 +00:00
< span v-if = "player.points.lt('1e1000')" class = "overlayThing" > You have < / span >
< h2 class = "overlayThing" id = "points" > {{format(player.points)}}< / h2 >
< span v-if = "player.points.lt('1e1e6')" class = "overlayThing" > {{modInfo.pointsName}}< / span >
2020-10-14 23:06:45 +00:00
< br >
2020-10-17 21:04:38 +00:00
< span v-if = "canGenPoints()" class = "overlayThing" > ({{format(getPointGen())}}/sec)< / span >
< div v-for = "thing in tmp.displayThings" class = "overlayThing" > < span v-if = "thing" v-html = "thing" > < / span > < / div >
2020-10-14 23:06:45 +00:00
< / div >
2020-10-21 17:03:39 +00:00
< span v-for = "(n, row) in (maxRow + 1)" > < table >
2020-10-11 03:26:26 +00:00
< td v-if = "player.tab=='tree'&& someLayerUnlocked(row) && row != 0" class = "left" > < br > < br > < img class = "remove" src = "remove.png" onclick = "resetRow(row)" > < / img > < / td >
2020-10-25 01:01:36 +00:00
< td v-for = "node in TREE_LAYERS[row]" > < layer-node :layer = 'node.layer' :abb = 'tmp[node.layer].symbol' > < / layer-node > < / td >
2020-10-11 03:26:26 +00:00
< table > < button class = "treeNode hidden" > < / button > < / td > < / table >
< / span >
2020-08-19 02:50:24 +00:00
< canvas id = "treeCanvas" class = "canvas" > < / canvas >
< / div >
2020-10-12 22:28:12 +00:00
< div v-for = "layer in LAYERS" >
2020-10-25 01:01:36 +00:00
< div v-if = "player.tab==layer" v-bind:class = "'col right fast tab'" v-bind:style = "[tmp[layer].style ? tmp[layer].style : {}, (tmp[layer].tabFormat && !Array.isArray(tmp[layer].tabFormat)) ? tmp[layer].tabFormat[player.subtabs[layer].mainTabs].style : {}]" >
2020-08-19 02:50:24 +00:00
< button class = "back" onclick = "showTab('tree')" > ←< / button > < br > < br > < br >
2020-10-25 01:01:36 +00:00
< div v-if = "!tmp[layer].tabFormat" >
2020-10-25 22:21:02 +00:00
< info-box v-if = "tmp[layer].infoboxes" :layer = "layer" :data = "Object.keys(tmp[layer].infoboxes)[0]" > < / info-box >
2020-10-10 03:16:29 +00:00
< main-display v-bind:style = "tmp[layer].componentStyles['main-display']" :layer = "layer" > < / main-display >
2020-10-15 03:09:30 +00:00
< div v-if = "tmp[layer].type !== 'none'" >
< prestige-button v-bind:style = "tmp[layer].componentStyles['prestige-button']" :layer = "layer" > < / prestige-button >
< / div >
2020-10-18 00:23:39 +00:00
< resource-display v-bind:style = "tmp[layer].componentStyles['resource-display']" :layer = "layer" > < / resource-display >
2020-10-10 03:16:29 +00:00
< milestones v-bind:style = "tmp[layer].componentStyles.milestones" :layer = "layer" > < / milestones >
2020-10-17 21:04:38 +00:00
< div v-if = "Array.isArray(tmp[layer].midsection)" >
2020-10-10 03:16:29 +00:00
< column :layer = "layer" :data = "tmp[layer].midsection" > < / column >
2020-10-08 05:33:44 +00:00
< / div >
2020-10-11 20:16:36 +00:00
< clickables v-bind:style = "tmp[layer].componentStyles['clickables']" :layer = "layer" > < / clickables >
2020-10-10 03:16:29 +00:00
< buyables v-bind:style = "tmp[layer].componentStyles.buyables" :layer = "layer" > < / buyables >
< upgrades v-bind:style = "tmp[layer].componentStyles['upgrades']" :layer = "layer" > < / upgrades >
2020-10-13 03:08:19 +00:00
< challenges v-bind:style = "tmp[layer].componentStyles['challenges']" :layer = "layer" > < / challenges >
2020-09-30 01:47:26 +00:00
< br > < br >
< / div >
2020-10-25 01:01:36 +00:00
< div v-if = "tmp[layer].tabFormat" >
2020-10-17 21:04:38 +00:00
< div v-if = "Array.isArray(tmp[layer].tabFormat)" >
2020-10-10 03:16:29 +00:00
< column :layer = "layer" :data = "tmp[layer].tabFormat" > < / column >
2020-10-04 17:10:04 +00:00
< / div >
2020-10-12 22:28:12 +00:00
< div v-else v-bind:style = "[{'margin-top': '-50px'}]" >
2020-10-07 04:57:41 +00:00
< div class = "upgTable" v-bind:style = "{'padding-top': '25px', 'margin-bottom': '24px'}" >
2020-10-10 03:16:29 +00:00
< tab-buttons v-bind:style = "tmp[layer].componentStyles['tab-buttons']" :layer = "layer" :data = "tmp[layer].tabFormat" :name = "'mainTabs'" > < / tab-buttons >
2020-10-04 17:10:04 +00:00
< / div >
2020-10-10 03:16:29 +00:00
< column :layer = "layer" :data = "tmp[layer].tabFormat[player.subtabs[layer].mainTabs].content" > < / column >
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-25 01:01:36 +00:00
< / body >