<!DOCTYPE html> <head> <link rel="stylesheet" type="text/css" href="style.css" /> <link href="https://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script> <script type="text/javascript" src="js/break_eternity.js"></script> <script type="text/javascript" src="js/layerSupport.js"></script> <script type="text/javascript" src="js/tree.js"></script> <script type="text/javascript" src="js/layers.js"></script> <script type="text/javascript" src="js/mod.js"></script> <script type="text/javascript" src="js/temp.js"></script> <script type="text/javascript" src="js/game.js"></script> <script type="text/javascript" src="js/utils.js"></script> <script type="text/javascript" src="js/v.js"></script> <script type="text/javascript" src="js/canvas.js"></script> </head> <body onload="load()"> <div id="app"> <canvas id="treeCanvas" class="canvas"></canvas> <div v-if="false" id="loadingSection" class="fullWidth"> <h1>Loading... (If this takes too long it means there was a serious error!)</h1> </div> <div class="vl" v-if="player.navTab!= 'none' &&player.tab!='none'&&player.tab!='gameEnded'"></div> <div v-if="player.tab=='gameEnded'" class="fullWidth"> <br> <h2>{{modInfo.name}} {{VERSION.withoutName}}</h2><br><br> <h3>Congratulations! You have reached the end and beaten this game, but for now...</h3><br> <h3>Please check the Discord to see if 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> <button class="longUpg can" onclick="hardReset(true)">Play Again</button> <button class="longUpg can" onclick="keepGoing()">Keep Going</button> <br><br><br> <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> <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> </div> <div v-if="player.tab=='changelog'" class="col right"> <button class="back" onclick="showTab('none')">←</button><br><br><br> </div> <div v-if="player.tab=='info'" class="col right"> <button class="back" onclick="showTab('none')">←</button><br> <h2>{{modInfo.name}}</h2> <br> <h3>{{VERSION.withName}}</h3> <span v-if="modInfo.author"> <br> Made by {{modInfo.author}} </span> <br> The Modding Tree {{TMT_VERSION.tmtNum}} by Acamaeda <br> The Prestige Tree made by Jacorb and Aarex <br> Original idea by papyrus (on discord) <br><br> <a v-bind:href="modInfo.changelogLink" target="_blank" class="link" >Changelog</a><br> <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> <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> <span v-for="key in hotkeys" v-if="player[key.layer].unlocked"><br>{{key.description}}</span> </div> <div v-if="player.tab=='options'" class="col right"> <button class="back" onclick="showTab('none')">←</button><br> <table> <tr> <td><button class="opt" onclick="save()">Save</button></td> <td><button class="opt" onclick="toggleOpt('autosave')">Autosave: {{ player.autosave?"ON":"OFF" }}</button></td> <td><button class="opt" onclick="hardReset()">HARD RESET</button></td> </tr> <tr> <td><button class="opt" onclick="exportSave()">Export to clipboard</button></td> <td><button class="opt" onclick="importSave()">Import</button></td> <td><button class="opt" onclick="toggleOpt('offlineProd')">Offline Prod: {{ player.offlineProd?"ON":"OFF" }}</button></td> </tr> <tr> <td><button class="opt" onclick="switchTheme()">Theme: {{ getThemeName() }}</button></td> <td><button class="opt" onclick="adjustMSDisp()">Show Milestones: {{ player.msDisplay.toUpperCase() }}</button></td> <td><button class="opt" onclick="toggleOpt('hqTree')">High-Quality Tree: {{ player.hqTree?"ON":"OFF" }}</button></td> </tr> <tr> <td><button class="opt" onclick="toggleOpt('hideChallenges')">Completed Challenges: {{ player.hideChallenges?"HIDDEN":"SHOWN" }}</button></td> <!-- <td><button class="opt" onclick="toggleOpt('oldStyle')">Style: {{ player.oldStyle?"v1.0":"NEW" }}</button></td>--> </tr> </table> </div> <div id="treeOverlay" class="treeOverlay" onscroll="resizeCanvas()" v-bind:class="{ fullWidth: (player.tab == 'none' || player.navTab == 'none'), col: (player.tab !== 'none' && player.navTab !== 'none'), left: (player.tab !== 'none' && player.navTab !== 'none')}"> <div id="version" class="overlayThing" style="margin-right: 13px">{{VERSION.withoutName}}</div> <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> <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> <div class="overlayThing" v-if="player.tab!='gameEnded' && !(player.navTab == 'none' && (player.tab=='options' || player.tab=='info'))" 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> <div v-for="thing in tmp.displayThings" class="overlayThing"><span v-if="thing" v-html="thing"></span></div> </div> <div class="sideLayers" > <div v-for="node in OTHER_LAYERS['side']"><layer-node :layer='node' :abb='tmp[node].symbol' :size="'small'"></layer-node></div> </div> </div> <div v-if="player.navTab == 'tree' && player.tab!='gameEnded'" id="treeTab" style="z-index: 0" onscroll="resizeCanvas()" v-bind:class= "{ fullWidth: player.tab == 'none', col: player.tab != 'none', left: player.tab != 'none'}"> <br><br><br><br> <div id="fakeHead" style="visibility: hidden;"> <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> <div v-for="thing in tmp.displayThings" class="overlayThing"><span v-if="thing" v-html="thing"></span></div> </div> <tree :data="(layoutInfo.treeLayout ? layoutInfo.treeLayout : TREE_LAYERS)"></tree> </div> <div v-for="layer in LAYERS" > <div v-if="player.navTab == 'none'" id="fakeHead" style="visibility: hidden;"> <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> <div v-for="thing in tmp.displayThings" class="overlayThing"><span v-if="thing" v-html="thing"></span></div> </div> <div v-if="player.tab==layer" v-bind:class="{ fullWidth: player.navTab == 'none', col: player.navTab != 'none', right: player.navTab != 'none', fast: true, tab: true}"> <layer-tab :layer="layer" :back="'none'"></layer-tab> </div> </div> </div> </body>