2020-10-30 17:27:23 +00:00
var systemComponents = {
'tab-buttons' : {
props : [ 'layer' , 'data' , 'name' ] ,
template : `
< div class = "upgRow" >
< div v - for = "tab in Object.keys(data)" >
2020-12-13 03:09:31 +00:00
< button v - if = "data[tab].unlocked == undefined || data[tab].unlocked" v - bind : class = "{tabButton: true, notify: subtabShouldNotify(layer, name, tab), resetNotify: subtabResetNotify(layer, name, tab)}" v - bind : style = "[{'border-color': tmp[layer].color}, tmp[layer].componentStyles['tab-button'], data[tab].buttonStyle]"
v - on : click = "function(){player.subtabs[layer][name] = tab; needCanvasUpdate = true;}" > { { tab } } < / b u t t o n >
2020-10-30 17:27:23 +00:00
< / d i v >
< / d i v >
`
} ,
2020-11-25 07:14:59 +00:00
'tree-node' : {
2020-10-30 17:27:23 +00:00
props : [ 'layer' , 'abb' , 'size' ] ,
template : `
< button v - if = "nodeShown(layer)"
v - bind : id = "layer"
v - on : click = " function ( ) {
2020-11-25 07:14:59 +00:00
if ( tmp [ layer ] . isLayer ) { showTab ( layer ) }
2020-12-13 04:32:55 +00:00
else { run ( layers [ layer ] . onClick , layers [ layer ] ) }
2020-10-30 17:27:23 +00:00
} "
2020-11-28 07:44:17 +00:00
v - bind : tooltip = " ( tmp [ layer ] . tooltip == '' ) ? false : ( tmp [ layer ] . isLayer ) ? (
2020-10-30 17:27:23 +00:00
player [ layer ] . unlocked ? ( tmp [ layer ] . tooltip ? tmp [ layer ] . tooltip : formatWhole ( player [ layer ] . points ) + ' ' + tmp [ layer ] . resource )
: ( tmp [ layer ] . tooltipLocked ? tmp [ layer ] . tooltipLocked : 'Reach ' + formatWhole ( tmp [ layer ] . requires ) + ' ' + tmp [ layer ] . baseResource + ' to unlock (You have ' + formatWhole ( tmp [ layer ] . baseAmount ) + ' ' + tmp [ layer ] . baseResource + ')' )
2020-11-25 07:14:59 +00:00
)
: (
tmp [ layer ] . canClick ? ( tmp [ layer ] . tooltip ? tmp [ layer ] . tooltip : 'I am a button!' )
: ( tmp [ layer ] . tooltipLocked ? tmp [ layer ] . tooltipLocked : 'I am a button!' )
)
2020-10-30 17:27:23 +00:00
"
v - bind : class = " {
2020-11-25 07:14:59 +00:00
treeNode : tmp [ layer ] . isLayer ,
treeButton : ! tmp [ layer ] . isLayer ,
2020-10-30 17:27:23 +00:00
smallNode : size == 'small' ,
[ layer ] : true ,
ghost : tmp [ layer ] . layerShown == 'ghost' ,
hidden : ! tmp [ layer ] . layerShown ,
2020-11-25 07:14:59 +00:00
locked : tmp [ layer ] . isLayer ? ! ( player [ layer ] . unlocked || tmp [ layer ] . canReset ) : ! ( tmp [ layer ] . canClick ) ,
2020-10-30 17:27:23 +00:00
notify : tmp [ layer ] . notify ,
2020-11-08 04:34:53 +00:00
resetNotify : tmp [ layer ] . prestigeNotify ,
2020-11-28 07:44:17 +00:00
can : ( ( player [ layer ] . unlocked || tmp [ layer ] . isLayer ) && tmp [ layer ] . isLayer ) || ( ! tmp [ layer ] . isLayer && tmp [ layer ] . canClick ) ,
2020-10-30 17:27:23 +00:00
} "
2020-12-17 02:20:00 +00:00
v - bind : style = "tmp[layer].computedNodeStyle" >
{ { ( abb !== '' && tmp [ layer ] . image === undefined ) ? abb : ' ' } }
2020-10-30 17:27:23 +00:00
< / b u t t o n >
`
} ,
2020-11-25 07:14:59 +00:00
2020-10-30 17:27:23 +00:00
'layer-tab' : {
2020-12-05 19:52:29 +00:00
props : [ 'layer' , 'back' , 'spacing' , 'embedded' ] ,
2020-10-30 17:27:23 +00:00
template : ` <div 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-10-30 23:40:48 +00:00
< div v - if = "back" > < button v - bind : class = "back == 'big' ? 'other-back' : 'back'" v - on : click = "goBack()" > ← < / b u t t o n > < / d i v >
2020-10-30 17:27:23 +00:00
< div v - if = "!tmp[layer].tabFormat" >
2020-12-10 06:08:23 +00:00
< div v - if = "spacing" v - bind : style = "{'height': spacing}" : key = "this.$vnode.key + '-spacing'" > < / d i v >
< info - box v - if = "tmp[layer].infoboxes" : layer = "layer" : data = "Object.keys(tmp[layer].infoboxes)[0]" : key = "this.$vnode.key + '-info'" > < / i n f o - b o x >
2020-10-30 17:27:23 +00:00
< main - display v - bind : style = "tmp[layer].componentStyles['main-display']" : layer = "layer" > < / m a i n - d i s p l a y >
< div v - if = "tmp[layer].type !== 'none'" >
< prestige - button v - bind : style = "tmp[layer].componentStyles['prestige-button']" : layer = "layer" > < / p r e s t i g e - b u t t o n >
< / d i v >
< resource - display v - bind : style = "tmp[layer].componentStyles['resource-display']" : layer = "layer" > < / r e s o u r c e - d i s p l a y >
< milestones v - bind : style = "tmp[layer].componentStyles.milestones" : layer = "layer" > < / m i l e s t o n e s >
< div v - if = "Array.isArray(tmp[layer].midsection)" >
2020-12-10 06:08:23 +00:00
< column : layer = "layer" : data = "tmp[layer].midsection" : key = "this.$vnode.key + '-mid'" > < / c o l u m n >
2020-10-30 17:27:23 +00:00
< / d i v >
< clickables v - bind : style = "tmp[layer].componentStyles['clickables']" : layer = "layer" > < / c l i c k a b l e s >
< buyables v - bind : style = "tmp[layer].componentStyles.buyables" : layer = "layer" > < / b u y a b l e s >
< upgrades v - bind : style = "tmp[layer].componentStyles['upgrades']" : layer = "layer" > < / u p g r a d e s >
< challenges v - bind : style = "tmp[layer].componentStyles['challenges']" : layer = "layer" > < / c h a l l e n g e s >
2020-11-07 20:29:39 +00:00
< achievements v - bind : style = "tmp[layer].componentStyles.achievements" : layer = "layer" > < / a c h i e v e m e n t s >
2020-10-30 17:27:23 +00:00
< br > < br >
< / d i v >
< div v - if = "tmp[layer].tabFormat" >
< div v - if = "Array.isArray(tmp[layer].tabFormat)" > < div v - if = "spacing" v - bind : style = "{'height': spacing}" > < / d i v >
2020-12-10 06:08:23 +00:00
< column : layer = "layer" : data = "tmp[layer].tabFormat" : key = "this.$vnode.key + '-col'" > < / c o l u m n >
2020-10-30 17:27:23 +00:00
< / d i v >
< div v - else >
2020-12-05 19:52:29 +00:00
< div class = "upgTable" v - bind : style = "{'padding-top': (embedded ? '0' : '25px'), 'margin-top': (embedded ? '-10px' : '0'), 'margin-bottom': '24px'}" >
2020-10-30 17:27:23 +00:00
< tab - buttons v - bind : style = "tmp[layer].componentStyles['tab-buttons']" : layer = "layer" : data = "tmp[layer].tabFormat" : name = "'mainTabs'" > < / t a b - b u t t o n s >
< / d i v >
2020-12-10 06:08:23 +00:00
< layer - tab v - if = "tmp[layer].tabFormat[player.subtabs[layer].mainTabs].embedLayer" : layer = "tmp[layer].tabFormat[player.subtabs[layer].mainTabs].embedLayer" : embedded = "true" : key = "this.$vnode.key + '-' + layer" > < / l a y e r - t a b >
< column v - else : layer = "layer" : data = "tmp[layer].tabFormat[player.subtabs[layer].mainTabs].content" : key = "this.$vnode.key + '-col'" > < / c o l u m n >
2020-10-30 17:27:23 +00:00
< / d i v >
< / d i v > < / d i v >
`
} ,
'overlay-head' : {
template : `
< 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 >
< / s p a n >
< span v - if = "player.offTime !== undefined" class = "overlayThing" >
< br > Offline Time : { { formatTime ( player . offTime . remain ) } } < br >
< / s p a n >
< span v - if = "false && !player.keepGoing" class = "overlayThing" >
< br > Reach { { formatWhole ( ENDGAME ) } } to beat the game ! < br >
< / s p a n >
< br >
< span v - if = "player.points.lt('1e1000')" class = "overlayThing" > You have < / s p a n >
< h2 class = "overlayThing" id = "points" > { { format ( player . points ) } } < / h 2 >
< span v - if = "player.points.lt('1e1e6')" class = "overlayThing" > { { modInfo . pointsName } } < / s p a n >
< br >
< span v - if = "canGenPoints()" class = "overlayThing" > ( { { format ( getPointGen ( ) ) } } / sec ) < / s p a n >
< div v - for = "thing in tmp.displayThings" class = "overlayThing" > < span v - if = "thing" v - html = "thing" > < / s p a n > < / d i v >
< / d i v >
`
} ,
2020-10-30 23:40:48 +00:00
'info-tab' : {
template : `
< div >
< h2 > { { modInfo . name } } < / h 2 >
< br >
< h3 > { { VERSION . withName } } < / h 3 >
< span v - if = "modInfo.author" >
< br >
Made by { { modInfo . author } }
< / s p a n >
< br >
2020-12-05 19:52:29 +00:00
The Modding Tree < a v - bind : href = "'https://github.com/Acamaeda/The-Modding-Tree/blob/master/changelog.md'" target = "_blank" class = "link" v - bind : style = "{'font-size': '14px', 'display': 'inline'}" > { { TMT _VERSION . tmtNum } } < / a > b y A c a m a e d a
2020-10-30 23:40:48 +00:00
< br >
The Prestige Tree made by Jacorb and Aarex
< br >
Original idea by papyrus ( on discord )
2020-12-05 19:52:29 +00:00
< br > < br >
< div class = "link" onclick = "showTab('changelog-tab')" > Changelog < / d i v > < b r >
2020-10-30 23:40:48 +00:00
< span v - if = "modInfo.discordLink" > < a class = "link" v - bind : href = "modInfo.discordLink" target = "_blank" > { { modInfo . discordName } } < / a > < b r > < / s p a n >
< a class = "link" href = "https://discord.gg/F3xveHV" target = "_blank" v - bind : style = "modInfo.discordLink ? {'font-size': '16px'} : {}" > The Modding Tree Discord < / a > < b r >
< a class = "link" href = "http://discord.gg/wwQfgPa" target = "_blank" v - bind : style = "{'font-size': '16px'}" > Main Prestige Tree server < / a > < b r >
2020-12-05 19:52:29 +00:00
< br > < br >
2020-10-30 23:40:48 +00:00
Time Played : { { formatTime ( player . timePlayed ) } } < br > < br >
< h3 > Hotkeys < / h 3 > < b r >
2020-11-29 02:25:53 +00:00
< span v - for = "key in hotkeys" v - if = "player[key.layer].unlocked && tmp[key.layer].hotkeys[key.id].unlocked" > < br > { { key . description } } < / s p a n > < / d i v >
2020-10-30 23:40:48 +00:00
`
} ,
'options-tab' : {
template : `
< table >
< tr >
< td > < button class = "opt" onclick = "save()" > Save < / b u t t o n > < / t d >
< td > < button class = "opt" onclick = "toggleOpt('autosave')" > Autosave : { { player . autosave ? "ON" : "OFF" } } < / b u t t o n > < / t d >
< td > < button class = "opt" onclick = "hardReset()" > HARD RESET < / b u t t o n > < / t d >
< / t r >
< tr >
< td > < button class = "opt" onclick = "exportSave()" > Export to clipboard < / b u t t o n > < / t d >
< td > < button class = "opt" onclick = "importSave()" > Import < / b u t t o n > < / t d >
< td > < button class = "opt" onclick = "toggleOpt('offlineProd')" > Offline Prod : { { player . offlineProd ? "ON" : "OFF" } } < / b u t t o n > < / t d >
< / t r >
< tr >
< td > < button class = "opt" onclick = "switchTheme()" > Theme : { { getThemeName ( ) } } < / b u t t o n > < / t d >
< td > < button class = "opt" onclick = "adjustMSDisp()" > Show Milestones : { { player . msDisplay . toUpperCase ( ) } } < / b u t t o n > < / t d >
< td > < button class = "opt" onclick = "toggleOpt('hqTree')" > High - Quality Tree : { { player . hqTree ? "ON" : "OFF" } } < / b u t t o n > < / t d >
< / t r >
< tr >
< td > < button class = "opt" onclick = "toggleOpt('hideChallenges')" > Completed Challenges : { { player . hideChallenges ? "HIDDEN" : "SHOWN" } } < / b u t t o n > < / t d >
<!-- < td > < button class = "opt" onclick = "toggleOpt('oldStyle')" > Style : { { player . oldStyle ? "v1.0" : "NEW" } } < / b u t t o n > < / t d > - - >
< / t r >
< / t a b l e > `
} ,
'back-button' : {
template : `
< button v - bind : class = "back" onclick = "goBack()" > ← < / b u t t o n >
`
}
2020-10-30 17:27:23 +00:00
}