-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathindex.html
More file actions
236 lines (235 loc) · 30.8 KB
/
index.html
File metadata and controls
236 lines (235 loc) · 30.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
<!DOCTYPE html>
<head>
<title>🗲 Incremenergy 🗲</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="js/break_eternity.js"></script>
<script src="js/playerControl.js"></script>
<script src="js/format.js"></script>
<script src="js/temp.js"></script>
<script src="js/game.js"></script>
<script src="js/v.js"></script>
<script src="js/goals.js"></script>
<script src="js/energy.js"></script>
<script src="js/super.js"></script>
<script src="js/auto.js"></script>
<script src="js/mega.js"></script>
<script src="js/skills.js"></script>
<script src="js/hyper.js"></script>
<script src="js/fortune.js"></script>
<script src="js/constellations.js"></script>
<script src="js/ultra.js"></script>
</head>
<body onload="loadGame()">
<div id="app">
{{getUnlockText()}} ({{format(getUnlockProgress()*100)}}%)<br><br>
You have <span class="bigtxt">{{format(player.energy)}}</span> Energy<sup>{{format(tmp.en.exp)}}</sup><br>
<span v-if="tmp.en.divPerSec.gt(1)" class="smalltxt">Due to Energy Overflow, your Energy is being divided by {{format(tmp.en.divPerSec)}} every second.</span><br><br>
<table>
<tr>
<td v-for="t in allTabs"><button v-if="tabUnlocks[t]()" v-bind:class="{small: true, unlocked: true, [t.toLowerCase()]: true}" v-on:click="tab = t">{{t}}</button></td>
</tr>
</table>
<br><br>
<div v-if="tab=='Options'">
<table>
<tr>
<td><button class="unlocked options" onclick="toggleAutosave()">Autosave: {{player.autosave?"ON":"OFF"}}</button><button class="unlocked options" onclick="player.offTime = !player.offTime">Offline Time: {{player.offTime?"ON":"OFF"}}</button></td>
<td><button class="small unlocked options" onclick="save()">Save</button><br>
<button class="small unlocked options" onclick="importSave()">Import</button></td>
<td><button class="small unlocked" style="background-color: #820000;" onclick="hardReset()">HARD RESET</button><br>
<button class="small unlocked options" onclick="exportSave()">Export</button></td>
<td><button class="unlocked options" style="background-color: #1de2be;" onclick="player.hideComplGoals = !player.hideComplGoals;">Completed Goals: {{player.hideComplGoals?"HIDDEN":"SHOWN"}}</button></td>
</tr>
</table><br><br><br><br><b>Info</b><br><br>
The Energy mechanic works like this: You generate 1 Base Energy/sec, then it's raised to the power of the exponent shown.<br><br>
<span v-if="player.unlocks.includes('Fortune')">Positive Karma = Higher chance of getting more Gifts. Negative Karma = Higher chance of getting less Gifts.</span>
</div>
<div v-if="tab=='Goals'">
Goals: <b style="font-size: 20px;">{{formatWhole(player.goals.length)}} / {{formatWhole(total_goal_count)}}</b><br><br>
<subtab-display :tabname="'Goals'"></subtab-display><br>
<table>
<tr v-for="(a,c) in goal_data.map">
<td v-for="(a2,x) in goal_data.map[c]"><div v-bind:class="{goalDiv: true}" v-bind:style="{'background-color': (hasGoal(x)?'#1de2be':'white')}" v-if="(hasGoal(x)?(!player.hideComplGoals):goal_data[x].unl())&&subtabs.Goals==goal_data[x].tab"><h5>{{goal_data[x].title}}</h5>Req: {{goal_data[x].reqDisplay}}<br><br>Progress: {{hasGoal(x)?"COMPLETE":(format(Decimal.mul(goal_data[x].progress(), 100))+"%")}}</div></td>
</tr>
</table>
</div>
<div v-if="tab=='Auto'">
You have <span class="slightlyBigText" style="color: #e6dc8a;">{{format(player.sup.energy)}}</span> Super-Energy<sup>{{format(tmp.sup.exp)}}</sup><br><br>
<subtab-display :tabname="'Auto'"></subtab-display>
<table>
<tr v-for="(a,c) in auto_data.map">
<td v-for="(a2,x) in auto_data.map[c]"><div v-bind:class="{autoDiv: true, [auto_data[x].tab.toLowerCase()+'Auto']: true}" v-if="tmp.auto[x].unl&&subtabs.Auto==auto_data[x].tab"><h5>{{auto_data[x].title}}<br><button v-if="!player.autoUnls.includes(x)" v-bind:class="{locked: player.sup.energy.lt(auto_data[x].cost), unlocked: player.sup.energy.gte(auto_data[x].cost)}" v-on:click="unlockAuto(x)">Cost: {{formatWhole(auto_data[x].cost)}} Super-Energy</button><br><input v-if="player.autoUnls.includes(x)" type="checkbox" v-model="player.autos[x]"></h5></div></td>
</tr>
</table>
</div>
<div v-if="tab=='Main'">
<table>
<tr v-for="(a,c) in energyUpgs.cols">
<td v-for="x in energyUpgs.cols[c]"><button v-if="((x>1)?(tmp.en.upgs[x-1].lvl.gt(0)||player.unlocks.includes('Super')):true)&&energyUpgs[x].unl()" v-on:click="buyEnergyUpg(x)" v-bind:class="{locked: player.energy.lt(tmp.en.upgs[x].cost), unlocked: player.energy.gte(tmp.en.upgs[x].cost), big: true, smalltxt: true}"><h4>{{energyUpgs[x].title}}</h4>{{energyUpgs[x].display()}}<br>Level: {{formatWhole(player.upgs[x])}} <span v-if="tmp.en.upgs[x].extra.gt(0)"> + {{format(tmp.en.upgs[x].extra)}}</span><br>Currently: <b>{{energyUpgs[x].displayEff()}}</b><br><br>Cost: {{format(tmp.en.upgs[x].cost)}} Energy</button></td>
</tr>
</table>
</div>
<div v-if="tab=='Super'">
You have <span class="slightlyBigText" style="color: #e6dc8a;">{{format(player.sup.energy)}}</span> Super-Energy<sup>{{format(tmp.sup.exp)}}</sup>, which adds <b>{{format(tmp.sup.enEff)}}</b> levels to the first 3 Energy Upgrades.<br>
<span style="font-size: 11px">You have supercharged your Energy {{formatWhole(player.sup.times)}} times.</span><br>
<button v-bind:class="{locked: !tmp.sup.can, unlocked: tmp.sup.can, super: tmp.sup.can, reallyBig: true}" onclick="superReset()">Supercharge your Energy to gain {{formatWhole(tmp.sup.gain)}} base Super-Energy, and to increase the Super-Energy exponent by {{format(tmp.sup.expInc)}}.<span v-if="!tmp.sup.can"><br><br>Req: Energy exponent of {{formatWhole(12)}}</span></button><br><br>
<table>
<tr v-for="(a,c) in superUpgs.cols">
<td v-for="x in superUpgs.cols[c]"><button v-if="((x>1)?((tmp.sup.upgs[x-1].lvl.gt(0)||player.unlocks.includes('Mega'))&&player.unlocks.includes('Auto')):true)&&superUpgs[x].unl()" v-on:click="buySuperUpg(x)" v-bind:class="{locked: player.sup.energy.lt(tmp.sup.upgs[x].cost), unlocked: player.sup.energy.gte(tmp.sup.upgs[x].cost), super: player.sup.energy.gt(tmp.sup.upgs[x].cost), big: true, smalltxt: true}"><h4>{{superUpgs[x].title}}</h4>{{superUpgs[x].display()}}<br>Level: {{formatWhole(player.sup.upgs[x])}} <span v-if="tmp.sup.upgs[x].extra.gt(0)"> + {{format(tmp.sup.upgs[x].extra)}}</span><br>Currently: <b>{{superUpgs[x].displayEff()}}</b><br><br>Cost: {{format(tmp.sup.upgs[x].cost)}} Super-Energy</button></td>
</tr>
</table>
</div>
<div v-if="tab=='Mega'">
You have <span class="slightlyBigText" style="color: #786cf5; text-shadow: 0px 0px 7px rgba(255, 255, 255, 0.8);">{{format(player.mega.energy)}}</span> Mega-Energy<sup>{{format(tmp.mega.exp)}}</sup>, which adds <b>{{format(tmp.mega.enEff)}}</b> to the Energy & Super-Energy exponents.<br>
You have <b>{{formatWhole(player.mega.factories)}}</b> Mega Factories, which increase the Mega-Energy exponent by <b>{{format(tmp.mega.factoryEff)}}</b>.<br><br>
<subtab-display :tabname="'Mega'"></subtab-display><br><br>
<div v-if="subtabs.Mega=='Main'">
<button v-bind:class="{locked: !tmp.mega.can, unlocked: tmp.mega.can, mega: tmp.mega.can, reallyBig: true}" onclick="megaReset()">Sacrifice all previous progress to build a Mega Factory.<span v-if="!tmp.mega.can"><br><br>Req: Energy exponent of {{formatWhole(tmp.mega.req)}}</span></button><br><br>
<table>
<tr v-for="(a,c) in megaUpgs.cols">
<td v-for="x in megaUpgs.cols[c]">
<button v-if="megaUpgs[x].unl()||player.mega.upgrades.includes(x)" v-on:click="buyMegaUpg(x)" v-bind:class="{locked: (player.mega.energy.lt(megaUpgs[x].cost)&&!player.mega.upgrades.includes(x)), unlocked: (player.mega.energy.gte(megaUpgs[x].cost)&&!player.mega.upgrades.includes(x)), mega: (player.mega.energy.gte(megaUpgs[x].cost)&&!player.mega.upgrades.includes(x)), bought: player.mega.upgrades.includes(x), big: true, smalltxt: true}"><h4>{{megaUpgs[x].title}}</h4><span v-html="megaUpgs[x].display"></span><br><span v-if="megaUpgs[x].displayEff">Currently: <b><span v-html="megaUpgs[x].displayEff()"></span></b><br></span><br><span v-if="!player.mega.upgrades.includes(x)">Cost: {{format(megaUpgs[x].cost)}} Mega-Energy</span><input id="megaUpg27Active" v-if="x==27 && player.mega.upgrades.includes(27)" type="checkbox" v-model="player.mega.upg27active" @change="hyperReset(true)"></input></button>
</td>
</tr>
</table>
</div><div v-if="subtabs.Mega=='Skills'">
<table>
<tr>
<td v-for="(i,x) in skill_data" class="skilltableitem">+{{formatWhole(tmp.skills[x].xpGain)}} XP (next at {{format(nextXP(x))}} {{skill_data[x].basedOn}})<br></td>
</tr><tr>
<td v-for="(i,x) in skill_data" class="skilltableitem"><button v-bind:class="{reallybigtxt: true, skill: true, ['skill'+x]: true, locked: tmp.skills[x].xpGain.lt(1), unlocked: tmp.skills[x].xpGain.gte(1)}" v-on:click="upgradeSkill(x)" v-html="skill_data[x].symbol"></button><br></td>
</tr><tr>
<td v-for="(i,x) in skill_data" class="skilltableitem"> Level: {{formatWhole(tmp.skills[x].lvl)}} (Next: {{formatWhole(tmp.skills[x].next)}} more XP)<br><br></td>
</tr><tr>
<td v-for="(i,x) in skill_data" class="skilltableitem">{{skill_data[x].desc()}}</td>
</tr>
</table>
</div>
</div>
<div v-if="tab=='Hyper'">
You have <span class="slightlyBigText" style="color: #f29c24;">{{format(player.hyper.energy)}}</span> Hyper-Energy<sup>{{format(tmp.hyper.exp)}}</sup>, which makes Energy Overflow <b>{{format(tmp.hyper.enEff.times(100))}}%</b> weaker, and adds <b>{{format(tmp.hyper.enEff2)}}</b> to all previous Energy exponents.<br>
You have split <b>{{formatWhole(player.hyper.splitAtoms)}}</b> atoms, which adds <b>{{format(tmp.hyper.powerToExp)}}</b> to the Hyper-Energy exponent.<br>
<span style="font-size: 11px">You have put all your energies into the Hypertube {{formatWhole(player.hyper.times)}} times.</span><br><br>
<subtab-display :tabname="'Hyper'"></subtab-display><br><br>
<div v-if="subtabs.Hyper=='Main'">
<button v-bind:class="{locked: !tmp.hyper.can, unlocked: tmp.hyper.can, hyper: tmp.hyper.can, reallyBig: true, hyperBox: true}" onclick="hyperReset()">Put all your Energies into the Hypertube to split {{formatWhole(tmp.hyper.gain)}} atoms.<span v-if="!tmp.hyper.can"><br><br>Req: Energy exponent of {{formatWhole(6e8)}}</span></button><br><br>
<span v-if="player.hyper.times.gt(0)">
<span style="font-size: 12px; color: #f29c24;">WARNING: Each Hyper Upgrade level decreases the Hyper-Energy exponent by {{format(tmp.hyper.upgDecExp)}}. (Currently: -{{format(tmp.hyper.totalUpgs.times(tmp.hyper.upgDecExp))}})</span><br>
<button v-bind:class="{locked: tmp.hyper.totalUpgs.lt(1), unlocked: tmp.hyper.totalUpgs.gte(1), hyper: tmp.hyper.totalUpgs.gte(1)}" onclick="resetHyperUpgs()">Reset Hyper Upgrades</button><br><br>
<table>
<tr v-for="(a,c) in hyperUpgs.cols">
<td v-for="x in hyperUpgs.cols[c]"><button v-if="((x>1&&x<7)?((tmp.hyper.upgs[x-1].lvl.gt(0))&&player.unlocks.includes('Auto')):true)&&hyperUpgs[x].unl()" v-on:click="buyHyperUpg(x)" v-bind:class="{locked: player.hyper.energy.lt(tmp.hyper.upgs[x].cost), unlocked: player.hyper.energy.gte(tmp.hyper.upgs[x].cost), hyper: player.hyper.energy.gt(tmp.hyper.upgs[x].cost), big: true, smalltxt: true, hyperBox: true}"><h4>{{hyperUpgs[x].title}}</h4>{{hyperUpgs[x].display()}}<br>Level: {{formatWhole(player.hyper.upgs[x])}} <span v-if="tmp.hyper.upgs[x].extra.gt(0)"> + {{format(tmp.hyper.upgs[x].extra)}}</span><br>Currently: <b>{{hyperUpgs[x].displayEff()}}</b><br><br>Cost: {{format(tmp.hyper.upgs[x].cost)}} Hyper-Energy</button></td>
</tr>
</table><br><br>
</span>
</div><div v-if="subtabs.Hyper=='Fortune'">
You have <span class="slightlyBigText" style="color: #c3b4d6;">{{format(player.fortune.energy)}}</span> Fortune Energy<sup>{{format(tmp.fortune.exp)}}</sup><br>
Your best Energy exponent in an Unfortunate run is <b>{{format(player.fortune.furthest)}}</b>, which adds <b>{{format(tmp.fortune.furthestToExp)}}</b> to the Fortune Energy exponent.<br><br>
<button v-bind:class="{unlocked: true, fortune: true, reallyBig: true, hyperBox: true}" onclick="startUnfortuneRun()">{{(player.fortune.active)?"Exit this Unfortunate run.":"Start an Unfortunate run, which square roots all Energy exponents."}}</button><br><br>
You have <b>{{formatWhole(player.fortune.gifts)}}</b> Gifts, which multiply the Fortune Energy exponent by <b>{{format(tmp.fortune.eff1)}}</b> and reduce the Mega Energy effect softcap's power by <b>{{format(tmp.fortune.eff2.times(100))}}%</b>.<br><br><b v-if="(!tmp.auto.gifts.active) || tmp.fortune.addKarma.eq(0)">Karma: {{format(player.fortune.karma.plus(tmp.fortune.addKarma).times(100))}}%</b><b v-if="tmp.auto.gifts.active && !tmp.fortune.addKarma.eq(0)">Karma Range: {{format(tmp.fortune.addKarma.sub(1).times(100))}}% to {{format(tmp.fortune.addKarma.plus(1).times(100))}}%</b><br>
<button v-bind:class="{locked: player.fortune.energy.lt(fortune_req), unlocked: player.fortune.energy.gte(fortune_req), fortune: player.fortune.energy.gte(fortune_req), big: true, hyperBox: true}" onclick="giftRNG()">{{(player.mega.upgrades.includes(19))?"Destroy 1 Fortune Energy":"Destroy all your Fortune Energy"}} to get{{(player.fortune.energy.gte(fortune_req)?(" "+formatWhole(tmp.fortune.minGain)+"-"+formatWhole(tmp.fortune.maxGain)):"")}} gifts!<span v-if="player.fortune.energy.lt(fortune_req)"><br>Req: {{formatWhole(fortune_req)}} Fortune Energy.</span></button>
</div><div v-if="subtabs.Hyper=='Constellations'">
You have <span class="slightlyBigText" style="color: #f3e77f; text-shadow: 0px 0px 7px #f3e77f;">{{format(player.constellations.energy)}}</span> Star Energy<sup>{{format(tmp.const.exp)}}</sup><span v-html="player.mega.upgrades.includes(25)?(", which reduces the second Hyper-Energy effect's softcap by <span class='slightlyBigText' style='color: #f3e77f; text-shadow: 0px 0px 7px #f3e77f;'>"+format(tmp.starEff.times(100))+"%</span>"):"""></span><br>
You have <span class="slightlyBigText" style="color: rgb(209, 0, 209);">{{format(player.constellations.darkness)}}</span> Darkness, which multiplies Atom & Gift gain by <span class="slightlyBigText" style="color: rgb(209, 0, 209);">{{format(tmp.const.darkEff)}}</span> & multiplies the Unfortunate run effect by <span class="slightlyBigText" style="color: rgb(209, 0, 209);">{{format(tmp.const.darkEff2)}}</span>
<br><br>
<span v-if="STAR_UNLOCKS[tmp.const.starsCanUnl]!==undefined">Next Star at {{formatWhole(STAR_UNLOCKS[tmp.const.starsCanUnl])}} Darkness<br></span>
<button v-if="tmp.const.starsCanUnl>=2" class="unlocked mini" onclick="syncNeutronStarCooldowns()">Sync Neutron Star Cooldowns</button><br><br>
<div>
<table>
<tr>
<td v-if="tmp.const.starsCanUnl>=10"><button v-bind:class="{star: true, starfocus: player.constellations.selected==10, redGiant: player.constellations.stars[10].type==1, neutronStar: player.constellations.stars[10].type==2, blackHole: player.constellations.stars[10].type==3}" onclick="player.constellations.selected = (player.constellations.selected==10)?0:10;"></button></td>
<td v-if="tmp.const.starsCanUnl>=1"><button v-bind:class="{star: true, starfocus: player.constellations.selected==1, redGiant: player.constellations.stars[1].type==1, neutronStar: player.constellations.stars[1].type==2, blackHole: player.constellations.stars[1].type==3}" onclick="player.constellations.selected = (player.constellations.selected==1)?0:1;"></button></td>
<td v-if="tmp.const.starsCanUnl>=12"><button v-bind:class="{star: true, starfocus: player.constellations.selected==12, redGiant: player.constellations.stars[12].type==1, neutronStar: player.constellations.stars[12].type==2, blackHole: player.constellations.stars[12].type==3}" onclick="player.constellations.selected = (player.constellations.selected==12)?0:12;"></button></td>
</tr>
<tr>
<td v-if="tmp.const.starsCanUnl>=14"><button v-bind:class="{star: true, starfocus: player.constellations.selected==14, redGiant: player.constellations.stars[14].type==1, neutronStar: player.constellations.stars[14].type==2, blackHole: player.constellations.stars[14].type==3}" onclick="player.constellations.selected = (player.constellations.selected==14)?0:14;"></button></td>
<td v-if="tmp.const.starsCanUnl>=2"><button v-bind:class="{star: true, starfocus: player.constellations.selected==2, redGiant: player.constellations.stars[2].type==1, neutronStar: player.constellations.stars[2].type==2, blackHole: player.constellations.stars[2].type==3}" onclick="player.constellations.selected = (player.constellations.selected==2)?0:2;"></button></td>
<td v-if="tmp.const.starsCanUnl>=3"><button v-bind:class="{star: true, starfocus: player.constellations.selected==3, redGiant: player.constellations.stars[3].type==1, neutronStar: player.constellations.stars[3].type==2, blackHole: player.constellations.stars[3].type==3}" onclick="player.constellations.selected = (player.constellations.selected==3)?0:3;"></button></td>
<td v-if="tmp.const.starsCanUnl>=16"><button v-bind:class="{star: true, starfocus: player.constellations.selected==16, redGiant: player.constellations.stars[16].type==1, neutronStar: player.constellations.stars[16].type==2, blackHole: player.constellations.stars[16].type==3}" onclick="player.constellations.selected = (player.constellations.selected==16)?0:16;"></button></td>
</tr>
<tr>
<td v-if="tmp.const.starsCanUnl>=18"><button v-bind:class="{star: true, starfocus: player.constellations.selected==18, redGiant: player.constellations.stars[18].type==1, neutronStar: player.constellations.stars[18].type==2, blackHole: player.constellations.stars[18].type==3}" onclick="player.constellations.selected = (player.constellations.selected==18)?0:18;"></button></td>
<td v-if="tmp.const.starsCanUnl>=4"><button v-bind:class="{star: true, starfocus: player.constellations.selected==4, redGiant: player.constellations.stars[4].type==1, neutronStar: player.constellations.stars[4].type==2, blackHole: player.constellations.stars[4].type==3}" onclick="player.constellations.selected = (player.constellations.selected==4)?0:4;"></button></td>
<td v-if="tmp.const.starsCanUnl>=5"><button v-bind:class="{star: true, starfocus: player.constellations.selected==5, redGiant: player.constellations.stars[5].type==1, neutronStar: player.constellations.stars[5].type==2, blackHole: player.constellations.stars[5].type==3}" onclick="player.constellations.selected = (player.constellations.selected==5)?0:5;"></button></td>
<td v-if="tmp.const.starsCanUnl>=6"><button v-bind:class="{star: true, starfocus: player.constellations.selected==6, redGiant: player.constellations.stars[6].type==1, neutronStar: player.constellations.stars[6].type==2, blackHole: player.constellations.stars[6].type==3}" onclick="player.constellations.selected = (player.constellations.selected==6)?0:6;"></button></td>
<td v-if="tmp.const.starsCanUnl>=19"><button v-bind:class="{star: true, starfocus: player.constellations.selected==19, redGiant: player.constellations.stars[19].type==1, neutronStar: player.constellations.stars[19].type==2, blackHole: player.constellations.stars[19].type==3}" onclick="player.constellations.selected = (player.constellations.selected==19)?0:19;"></button></td>
</tr>
<tr>
<td v-if="tmp.const.starsCanUnl>=17"><button v-bind:class="{star: true, starfocus: player.constellations.selected==17, redGiant: player.constellations.stars[17].type==1, neutronStar: player.constellations.stars[17].type==2, blackHole: player.constellations.stars[17].type==3}" onclick="player.constellations.selected = (player.constellations.selected==17)?0:17;"></button></td>
<td v-if="tmp.const.starsCanUnl>=7"><button v-bind:class="{star: true, starfocus: player.constellations.selected==7, redGiant: player.constellations.stars[7].type==1, neutronStar: player.constellations.stars[7].type==2, blackHole: player.constellations.stars[7].type==3}" onclick="player.constellations.selected = (player.constellations.selected==7)?0:7;"></button></td>
<td v-if="tmp.const.starsCanUnl>=8"><button v-bind:class="{star: true, starfocus: player.constellations.selected==8, redGiant: player.constellations.stars[8].type==1, neutronStar: player.constellations.stars[8].type==2, blackHole: player.constellations.stars[8].type==3}" onclick="player.constellations.selected = (player.constellations.selected==8)?0:8;"></button></td>
<td v-if="tmp.const.starsCanUnl>=15"><button v-bind:class="{star: true, starfocus: player.constellations.selected==15, redGiant: player.constellations.stars[15].type==1, neutronStar: player.constellations.stars[15].type==2, blackHole: player.constellations.stars[15].type==3}" onclick="player.constellations.selected = (player.constellations.selected==15)?0:15;"></button></td>
</tr>
<tr>
<td v-if="tmp.const.starsCanUnl>=13"><button v-bind:class="{star: true, starfocus: player.constellations.selected==13, redGiant: player.constellations.stars[13].type==1, neutronStar: player.constellations.stars[13].type==2, blackHole: player.constellations.stars[13].type==3}" onclick="player.constellations.selected = (player.constellations.selected==13)?0:13;"></button></td>
<td v-if="tmp.const.starsCanUnl>=9"><button v-bind:class="{star: true, starfocus: player.constellations.selected==9, redGiant: player.constellations.stars[9].type==1, neutronStar: player.constellations.stars[9].type==2, blackHole: player.constellations.stars[9].type==3}" onclick="player.constellations.selected = (player.constellations.selected==9)?0:9;"></button></td>
<td v-if="tmp.const.starsCanUnl>=11"><button v-bind:class="{star: true, starfocus: player.constellations.selected==11, redGiant: player.constellations.stars[11].type==1, neutronStar: player.constellations.stars[11].type==2, blackHole: player.constellations.stars[11].type==3}" onclick="player.constellations.selected = (player.constellations.selected==11)?0:11;"></button></td>
</tr>
</table>
</div><br>
<div v-if="player.constellations.selected>0" class="footer">
<br><div class="table" style="display: inline-flex;">
<div class="tableRow" style="display: inline-flex;">
<div><b>Star</b></div>
<div style="margin-left: 60px;"><b>Red Giant</b></div>
<div style="margin-left: 60px;"><b>Neutron Star</b></div>
<div style="margin-left: 60px;"><b>Black Hole</b></div>
</div><div class="tableRow" style="display: inline-flex;">
<div style="height: 60px;"><button v-bind:class="{star: true, starfocus: player.constellations.stars[player.constellations.selected].type==0}" style="transform: scale(125%);" onclick="player.constellations.stars[player.constellations.selected].type = 0;"></button></div>
<div style="height: 60px; margin-left: 65px;"><button v-bind:class="{star: true, redGiant: true, starfocus: player.constellations.stars[player.constellations.selected].type==1}" style="transform: scale(125%);" onclick="player.constellations.stars[player.constellations.selected].type = 1;"></button></div>
<div style="height: 60px; margin-left: 120px;"><button v-bind:class="{star: true, neutronStar: true, starfocus: player.constellations.stars[player.constellations.selected].type==2}" style="transform: scale(125%);" onclick="player.constellations.stars[player.constellations.selected].type = 2; if (player.constellations.stars[player.constellations.selected].time==0) player.constellations.stars[player.constellations.selected].time = 20;"></button></div>
<div style="height: 60px; margin-left: 130px;"><button v-bind:class="{star: true, blackHole: true, starfocus: player.constellations.stars[player.constellations.selected].type==3}" style="transform: scale(125%);" onclick="player.constellations.stars[player.constellations.selected].type = 3;"></button></div>
</div><br><div class="tableRow" style="display: inline-flex; transform: translate(-20px);">
<div style="width: 80px;">Does nothing</div>
<div style="width: 110px; margin-left: 20px;">Star Energy exponent is increased by {{format(redGiantEff())}}</div>
<div style="width: 110px; margin-left: 55px;">Star Energy exponent is increased by {{format(neutronStarEff())}} for {{format(Math.max(player.constellations.stars[player.constellations.selected].time-neutronStarCooldownTime(), 0))}} seconds{{(player.constellations.stars[player.constellations.selected].time>0&&player.constellations.stars[player.constellations.selected].time<=neutronStarCooldownTime())?(" (cooldown: "+format(player.constellations.stars[player.constellations.selected].time)+" seconds)"):""}}</div>
<div style="width: 140px; margin-left: 40px;">Star Energy is halved every second, but you gain Darkness from lost Star Energy</div>
</div>
</div>
</div>
</div>
</div>
<div v-if="tab=='Ultra'">
You have <span class="slightlyBigText" style="color: #a024f2; text-shadow: 0px 0px 7px #bdb7ff;">{{format(player.ultra.energy)}}</span> Ultra-Energy<sup>{{format(tmp.ultra.exp)}}</sup>, which multiplies the Normal, Super, Mega, & Hyper Energy exponents by <span class="slightlyBigText" style="color: #a024f2; text-shadow: 0px 0px 7px #bdb7ff;">{{format(tmp.ultra.enEff)}}</span>, and adds <span class="slightlyBigText" style="color: #a024f2; text-shadow: 0px 0px 7px #bdb7ff;">{{format(tmp.ultra.enEff2)}}</span> to all previous Energy exponents.<br><br>
<span style="font-size: 11px">You have performed {{formatWhole(player.ultra.times)}} Ultra resets, which increases the Ultra-Energy exponent by {{format(tmp.ultra.timesEff)}}</span><br><br>
<button v-bind:class="{locked: !tmp.ultra.can, unlocked: tmp.ultra.can, ultra: tmp.ultra.can, reallyBig: true}" onclick="ultraReset()">Reset all previous progress to gain {{formatTime(tmp.ultra.gain)}} worth of Ultra-Energy.<span v-if="!tmp.ultra.can"><br><br>Req: {{formatWhole("1e1000")}} Hyper-Energy</span></button><br><br>
<table v-if="player.ultra.times.gte(1)">
<tr>
<td><button onclick="toggleUltraChoice(1, 1)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(2), selected: ultraChoice(1, 1) }"><b># of Hyper resets multiplies Super resets gained {{ultraChoice(1, 1)?"(SELECTED)":""}}</b><br>Req: 2 Ultra-Energy</button></td>
<td><button onclick="toggleUltraChoice(1, 2)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(2), selected: ultraChoice(1, 2) }"><b>Mega Factory cost scales 75% slower {{ultraChoice(1, 2)?"(SELECTED)":""}}</b><br>Req: 2 Ultra-Energy</button></td>
</tr>
<tr v-if="player.ultra.energy.gte(2)">
<td><button onclick="toggleUltraChoice(2, 1)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(10), selected: ultraChoice(2, 1) }"><b>You can gain more than 1s worth of Ultra-Energy on reset {{ultraChoice(2, 1)?"(SELECTED)":""}}</b><br>Req: 10 Ultra-Energy</button></td>
<td><button onclick="toggleUltraChoice(2, 2)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(10), selected: ultraChoice(2, 2) }"><b>Evolved Amoebas also affect the Mega-Energy exponent {{ultraChoice(2, 2)?"(SELECTED)":""}}</b><br>Req: 10 Ultra-Energy</button></td>
</tr>
<tr v-if="player.ultra.energy.gte(10)">
<td><button onclick="toggleUltraChoice(3, 1)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(100), selected: ultraChoice(3, 1) }"><b># of Ultra resets multiplies Hyper resets gained {{ultraChoice(3, 1)?"(SELECTED)":""}}</b><br>Req: 100 Ultra-Energy</button></td>
<td><button onclick="toggleUltraChoice(3, 2)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(100), selected: ultraChoice(3, 2) }"><b>Neutron Star cooldown is reduced by 4s {{ultraChoice(3, 2)?"(SELECTED)":""}}</b><br>Req: 100 Ultra-Energy</button></td>
</tr>
<tr v-if="player.ultra.energy.gte(100)">
<td><button onclick="toggleUltraChoice(4, 1)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(500), selected: ultraChoice(4, 1) }"><b>The first Skill's XP gain is multiplied by Star Energy {{ultraChoice(4, 1)?"(SELECTED)":""}}</b><br>Req: 500 Ultra-Energy</button></td>
<td><button onclick="toggleUltraChoice(4, 2)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(500), selected: ultraChoice(4, 2) }"><b>Karma is increased by 25% & Gift RNG is exponential {{ultraChoice(4, 2)?"(SELECTED)":""}}</b><br>Req: 500 Ultra-Energy</button></td>
</tr>
<tr v-if="player.ultra.energy.gte(500)">
<td><button onclick="toggleUltraChoice(5, 1)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(1500), selected: ultraChoice(5, 1) }"><b>Multiply Super Drives' effect by the Star Energy exponent {{ultraChoice(5, 1)?"(SELECTED)":""}}</b><br>Req: 1,500 Ultra-Energy</button></td>
<td><button onclick="toggleUltraChoice(5, 2)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(1500), selected: ultraChoice(5, 2) }"><b>Multiply Skilled Ninja's effect by the Ultra-Energy exponent {{ultraChoice(5, 2)?"(SELECTED)":""}}</b><br>Req: 1,500 Ultra-Energy</button></td>
</tr>
<tr v-if="player.ultra.energy.gte(1500)">
<td><button onclick="toggleUltraChoice(6, 1)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(1e4), selected: ultraChoice(6, 1) }"><b>Mega Resurgence does not force a Hyper reset when bought, and its effect also adds to the Fortune Energy exponent {{ultraChoice(6, 1)?"(SELECTED)":""}}</b><br>Req: 10,000 Ultra-Energy</button></td>
<td><button onclick="toggleUltraChoice(6, 2)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(1e4), selected: ultraChoice(6, 2) }"><b>The first 3 rows of Ultra upgrades are always selected {{ultraChoice(6, 2)?"(SELECTED)":""}}</b><br>Req: 10,000 Ultra-Energy</button></td>
</tr>
<tr v-if="player.ultra.energy.gte(1e4)">
<td><button onclick="toggleUltraChoice(7, 1)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(7.5e4), selected: ultraChoice(7, 1) }"><b>Holy Destroyers are 900% stronger {{ultraChoice(7, 1)?"(SELECTED)":""}}</b><br>Req: 75,000 Ultra-Energy</button></td>
<td><button onclick="toggleUltraChoice(7, 2)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(7.5e4), selected: ultraChoice(7, 2) }"><b>Add 0.5 to the Ultra-Energy exponent {{ultraChoice(7, 2)?"(SELECTED)":""}}</b><br>Req: 75,000 Ultra-Energy</button></td>
</tr>
<tr v-if="player.ultra.energy.gte(7.5e4)">
<td><button onclick="toggleUltraChoice(8, 1)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(1e6), selected: ultraChoice(8, 1) }"><b>All Energy Upgrades are 59% stronger {{ultraChoice(8, 1)?"(SELECTED)":""}}</b><br>Req: 1,000,000 Ultra-Energy</button></td>
<td><button onclick="toggleUltraChoice(8, 2)" v-bind:class="{ ultraChoice: true, locked: player.ultra.energy.lt(1e6), selected: ultraChoice(8, 2) }"><b>Rows 4 & 5 of Ultra upgrades are always selected {{ultraChoice(8, 2)?"(SELECTED)":""}}</b><br>Req: 1,000,000 Ultra-Energy</button></td>
</tr>
</table>
</div>
</div>
</body>