Merge branch 'master' into earth/low-priority-new-cool-modals

This commit is contained in:
WaitingIdly 2021-11-17 10:44:16 -08:00
commit b9df35249f
550 changed files with 13636 additions and 2451 deletions

3
.browserslistrc Normal file
View File

@ -0,0 +1,3 @@
> 1%
last 2 versions
not dead

View File

@ -1,2 +1 @@
javascripts/lib/*.js
javascripts/DragDropTouch.js
public/**/*.js

View File

@ -1,17 +1,18 @@
{
"extends": [
"eslint:recommended"
"eslint:recommended",
"plugin:vue/recommended"
],
"env": {
"es2021": true,
"browser": true,
"jquery": true
"es6": true,
"node": true,
"browser": true
},
"parser": "vue-eslint-parser",
"parserOptions": {
"ecmaVersion": 2021,
"ecmaFeatures": {
"impliedStrict": false
}
"sourceType": "module",
"parser": "@babel/eslint-parser"
},
"rules": {
"no-console": "warn",
@ -31,6 +32,10 @@
"allowElseIf": false
}
],
"vue/component-definition-name-casing": "off",
"vue/order-in-components": "off",
"vue/require-prop-type-constructor": "off",
"vue/require-default-prop": "off",
"no-empty-function": "error",
"no-eval": "error",
"no-extra-bind": "error",

26
.github/workflows/deploy.yml vendored Normal file
View File

@ -0,0 +1,26 @@
name: Deploy 🚀
on:
push:
branches:
- master
jobs:
build:
name: Deploy 🚀
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
lfs: true
- uses: actions/setup-node@v2
with:
node-version: '14'
cache: 'npm'
- run: npm ci
- run: npm run build
- uses: JamesIves/github-pages-deploy-action@4.1.3
with:
branch: gh-pages
folder: dist
single-commit: true

3
.gitignore vendored
View File

@ -1,6 +1,7 @@
dist
.vscode
.idea
node_modules
.eslintrc.js
package-lock.json
playfab.js

View File

@ -1 +1,25 @@
# IvarK.github.io
# Antimatter Dimensions
## Run
To run the game locally, you will need to install
[Node.js](https://nodejs.org/) (LTS suggested).
First, run the following command in your terminal (or command line) while being
inside the checked out repository:
```
npm install
```
After all the packages are installed, start up the game:
```
npm run serve
```
This will make the game served via your localhost, and the playable link will
be displayed in your terminal. The server **doesn't** need to be restarted
after you've made changes - just reload the page. The server **can**
occasionally crash, so check your terminal from time to time and run `serve`
again if needed.

5
babel.config.js Normal file
View File

@ -0,0 +1,5 @@
module.exports = {
presets: [
"@vue/cli-plugin-babel/preset"
]
};

17
build/post-build.js Normal file
View File

@ -0,0 +1,17 @@
const fs = require("fs");
const path = require("path");
const proc = require("child_process");
function executeCommand(command) {
return proc.execSync(command).toString().trim();
}
const commit = {
sha: executeCommand("git rev-parse HEAD"),
message: executeCommand("git log -1 --pretty=%B"),
author: executeCommand("git log -1 --pretty=format:%an")
};
const json = JSON.stringify(commit);
fs.writeFileSync(path.resolve(__dirname, "../dist/commit.json"), json);

View File

@ -1,533 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<title>Antimatter Dimensions</title>
<link rel="icon" type="image/png" href="icon.png">
<meta name="Antimatter Dimensions" content="A game about huge numbers and watching them go up." charset="utf-8" />
<script type="text/javascript" src='https://cdn1.kongregate.com/javascripts/kongregate_api.js'></script>
<script type="text/javascript" src="javascripts/lib/jquery-3.2.1.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=PT+Mono" rel="stylesheet">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css" integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="stylesheets/codemirror/codemirror.css">
<link rel="stylesheet" type="text/css" href="stylesheets/codemirror/show-hint.css">
<link rel="stylesheet" type="text/css" href="stylesheets/codemirror/lint.css">
<link rel="stylesheet" type="text/css" href="stylesheets/codemirror/panda-syntax.css">
<link rel="stylesheet" type="text/css" href="stylesheets/codemirror/liquibyte.css">
<link rel="stylesheet" type="text/css" href="stylesheets/components.css">
<link rel="stylesheet" type="text/css" href="stylesheets/ad-slider-component.css">
<link rel="stylesheet" type="text/css" href="stylesheets/glyphs.css">
<link rel="stylesheet" type="text/css" href="stylesheets/styles.css?3">
<link rel="stylesheet" type="text/css" href="stylesheets/automator.css">
<link rel="stylesheet" type="text/css" href="stylesheets/time-studies.css">
<link rel="stylesheet" type="text/css" href="stylesheets/tooltips.css">
<link rel="stylesheet" type="text/css" href="stylesheets/vis-network.css">
<script>
(function(i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function() {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-77268961-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<div id="loading"></div>
<div id="ui"></div>
<div id="background-animations">
<div class="videocontainer videocontainer--background">
<video autoplay muted loop id="stars">
<source src="images/stars-bg.webm" type="video/webm">
</video>
</div>
<div id="snow" style="display: none;"></div>
</div>
<div class="videocontainer">
<video preload muted id="realityanimbg" style="opacity: 0; display: none;">
<source src="images/realityanimbg.webm" type="video/webm">
</video>
</div>
<div id="performance-stats" class="c-performance-stats" style="display: none;"></div>
</body>
<!-- Here's some firebase stuff -->
<script src="https://www.gstatic.com/firebasejs/8.8.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.8.0/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.8.0/firebase-database.js"></script>
<script type="text/javascript" src="javascripts/lib/vue.js"></script>
<script type="text/javascript" src="javascripts/lib/v-tooltip.min.js"></script>
<script type="text/javascript" src="javascripts/lib/mousetrap.min.js"></script>
<script type="text/javascript" src="javascripts/lib/break_infinity.min.js"></script>
<script type="text/javascript" src="javascripts/lib/lz-string.min.js"></script>
<script type="text/javascript" src="javascripts/lib/vis-network.min.js"></script>
<script type="text/javascript" src="javascripts/lib/sha512.min.js"></script>
<script type="text/javascript" src="javascripts/lib/deepmerge.js"></script>
<script type="text/javascript" src="javascripts/lib/Sortable.min.js"></script>
<script type="text/javascript" src="javascripts/lib/vuedraggable.umd.min.js"></script>
<script type="text/javascript" src="javascripts/lib/Tween.min.js"></script>
<script type="text/javascript" src="javascripts/lib/gamma.js"></script>
<script type="text/javascript" src="javascripts/lib/vue-split-pane.min.js"></script>
<script type="text/javascript" src="javascripts/lib/chevrotain.min.js"></script>
<script type="text/javascript" src="javascripts/lib/codemirror.js"></script>
<script type="text/javascript" src="javascripts/lib/simple.js"></script>
<script type="text/javascript" src="javascripts/lib/show-hint.js"></script>
<script type="text/javascript" src="javascripts/lib/lint.js"></script>
<script type="text/javascript" src="javascripts/lib/active-line.js"></script>
<script type="text/javascript" src="javascripts/lib/closebrackets.js"></script>
<script type="text/javascript" src="javascripts/lib/ad-notations.min.js"></script>
<script type="text/javascript" src="javascripts/lib/svg-pan-zoom.min.js"></script>
<script type="text/javascript" src="javascripts/lib/pako.min.js"></script>
<script type="text/javascript" src="javascripts/lib/base64-binary.js"></script>
<script type="text/javascript" src="PlayFab/PlayFabClientApi.js"></script>
<script type="text/javascript" src="javascripts/DragDropTouch.js"></script>
<script type="text/javascript" src="javascripts/longpress.js"></script>
<script type="text/javascript" src="javascripts/core/polyfill.js"></script>
<script type="text/javascript" src="javascripts/core/extensions.js"></script>
<script type="text/javascript" src="javascripts/core/crash.js"></script>
<script type="text/javascript" src="javascripts/core/timespan.js"></script>
<script type="text/javascript" src="javascripts/core/format.js"></script>
<script type="text/javascript" src="javascripts/core/constants.js"></script>
<script type="text/javascript" src="javascripts/core/math.js"></script>
<script type="text/javascript" src="javascripts/core/async-utils.js"></script>
<script type="text/javascript" src="javascripts/core/game-mechanics/effect.js"></script>
<script type="text/javascript" src="javascripts/core/game-mechanics/effects.js"></script>
<script type="text/javascript" src="javascripts/core/game-mechanics/game-mechanic.js"></script>
<script type="text/javascript" src="javascripts/core/game-mechanics/puchasable.js"></script>
<script type="text/javascript" src="javascripts/core/game-mechanics/set-purchasable.js"></script>
<script type="text/javascript" src="javascripts/core/game-mechanics/bit-purchasable.js"></script>
<script type="text/javascript" src="javascripts/core/game-mechanics/rebuyable.js"></script>
<script type="text/javascript" src="javascripts/core/automator/automator-backend.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/game-database.js"></script>
<script type="text/javascript" src="javascripts/core/glyph-effects.js"></script>
<script type="text/javascript" src="javascripts/core/player.js"></script>
<script type="text/javascript" src="javascripts/core/performance-stats.js"></script>
<script type="text/javascript" src="javascripts/core/currency.js"></script>
<script type="text/javascript" src="javascripts/core/event-hub.js"></script>
<script type="text/javascript" src="javascripts/core/cache.js"></script>
<script type="text/javascript" src="javascripts/core/intervals.js"></script>
<script type="text/javascript" src="javascripts/core/keyboard.js"></script>
<script type="text/javascript" src="javascripts/core/hotkeys.js"></script>
<script type="text/javascript" src="javascripts/core/galaxy.js"></script>
<script type="text/javascript" src="javascripts/core/away-progress.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/antimatter-dimension-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/tickspeed-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/dimboost-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/galaxy-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/big-crunch-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/sacrifice-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/eternity-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/reality-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/infinity-dimension-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/time-dimension-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/time-theorem-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/black-hole-power-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/reality-upgrade-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/imaginary-upgrade-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/replicanti-upgrade-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/dilation-upgrade-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/prestige-currency-multiplier-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/replicanti-galaxy-autobuyer.js"></script>
<script type="text/javascript" src="javascripts/core/autobuyers/autobuyers.js"></script>
<script type="text/javascript" src="javascripts/core/storage/serializer.js"></script>
<script type="text/javascript" src="javascripts/core/storage/storage.js"></script>
<script type="text/javascript" src="javascripts/core/storage/migrations.js?1"></script>
<script type="text/javascript" src="javascripts/core/storage/dev-migrations.js"></script>
<script type="text/javascript" src="javascripts/core/storage/cloud-saving.js"></script>
<script type="text/javascript" src="javascripts/core/storage/progress-checker.js"></script>
<script type="text/javascript" src="javascripts/core/notations.js"></script>
<script type="text/javascript" src="javascripts/core/tutorial.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/tabs.js?1"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/tab-notifications.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/news.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/achievements/normal-achievements.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/achievements/secret-achievements.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/challenges/normal-challenges.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/challenges/infinity-challenges.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/challenges/eternity-challenges.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/infinity/infinity-upgrades.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/infinity/break-infinity-upgrades.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/eternity/time-studies/normal-time-studies.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/eternity/time-studies/ec-time-studies.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/eternity/time-studies/dilation-time-studies.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/eternity/eternity-upgrades.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/eternity/eternity-milestones.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/eternity/dilation-upgrades.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/reality/reality-upgrades.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/reality/imaginary-upgrades.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/reality/perks.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/reality/automator.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/reality/glyph-sacrifices.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/celestials/perk-shop.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/celestials/effarig.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/celestials/enslaved.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/celestials/v.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/celestials/alchemy.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/shop-purchases.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/celestials/navigation.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/celestials/singularity-milestones.js"></script>
<script type="text/javascript" src="javascripts/components/common/primary-button.js"></script>
<script type="text/javascript" src="javascripts/components/common/description-display.js"></script>
<script type="text/javascript" src="javascripts/components/common/effect-display.js"></script>
<script type="text/javascript" src="javascripts/components/common/cost-display.js"></script>
<script type="text/javascript" src="javascripts/components/common/hint-text.js"></script>
<script type="text/javascript" src="javascripts/components/common/footer-links.js"></script>
<script type="text/javascript" src="javascripts/components/tt-shop.js"></script>
<script type="text/javascript" src="javascripts/components/common/plus-minus-button.js"></script>
<script type="text/javascript" src="javascripts/components/common/ad-slider-component.js"></script>
<script type="text/javascript" src="javascripts/components/common/expanding-control-box.js"></script>
<script type="text/javascript" src="javascripts/components/hover-menu.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/header/game-header.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/header/game-header-amounts-line.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/header/game-header-tickspeed-row.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/header/game-header-gamespeed-display.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/header/game-header-big-crunch-button.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/header/game-header-new-dim-button.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/header/game-header-eternity-button.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/old-ui-tab-bar.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/old-ui-tab-button.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/old-ui-subtab-bar.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/old-ui-subtab-button.js"></script>
<script type="text/javascript" src="javascripts/components/old-ui/old-ui.js"></script>
<script type="text/javascript" src="javascripts/components/dimensions/antimatter/antimatter-dim-tab-header.js"></script>
<script type="text/javascript" src="javascripts/components/dimensions/antimatter/antimatter-dim-row.js"></script>
<script type="text/javascript" src="javascripts/components/dimensions/antimatter/antimatter-dim-boost-row.js"></script>
<script type="text/javascript" src="javascripts/components/dimensions/antimatter/antimatter-dim-galaxy-row.js"></script>
<script type="text/javascript" src="javascripts/components/dimensions/antimatter/antimatter-dim-tab-progress-bar.js"></script>
<script type="text/javascript" src="javascripts/components/dimensions/antimatter/antimatter-dim-tab.js"></script>
<script type="text/javascript" src="javascripts/components/dimensions/infinity/infinity-dim-row.js"></script>
<script type="text/javascript" src="javascripts/components/dimensions/infinity/infinity-dim-tab.js"></script>
<script type="text/javascript" src="javascripts/components/dimensions/time/time-dim-row.js"></script>
<script type="text/javascript" src="javascripts/components/dimensions/time/time-dim-tab.js"></script>
<script type="text/javascript" src="javascripts/components/options/options-saving-tab.js"></script>
<script type="text/javascript" src="javascripts/components/options/options-visual-tab.js"></script>
<script type="text/javascript" src="javascripts/components/options/options-gameplay-tab.js"></script>
<script type="text/javascript" src="javascripts/components/options/select-notation.js"></script>
<script type="text/javascript" src="javascripts/components/options/select-theme.js"></script>
<script type="text/javascript" src="javascripts/components/statistics/statistics-tab.js"></script>
<script type="text/javascript" src="javascripts/components/statistics/challenges/challenge-records-list.js"></script>
<script type="text/javascript" src="javascripts/components/statistics/challenges/challenge-records-tab.js"></script>
<script type="text/javascript" src="javascripts/components/statistics/runs/past-runs-container.js"></script>
<script type="text/javascript" src="javascripts/components/statistics/runs/past-runs-tab.js"></script>
<script type="text/javascript" src="javascripts/components/statistics/glyph-sets-tab.js"></script>
<script type="text/javascript" src="javascripts/components/achievements/normal/normal-achievement.js"></script>
<script type="text/javascript" src="javascripts/components/achievements/normal/normal-achievement-row.js"></script>
<script type="text/javascript" src="javascripts/components/achievements/normal/normal-achievements-tab.js"></script>
<script type="text/javascript" src="javascripts/components/achievements/secret/secret-achievement.js"></script>
<script type="text/javascript" src="javascripts/components/achievements/secret/secret-achievements-tab.js"></script>
<script type="text/javascript" src="javascripts/components/achievements/secret/secret-achievement-row.js"></script>
<script type="text/javascript" src="javascripts/core/secret-formula/h2p.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/modal-celestial-quote.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/celestial-quote-history.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/navigation.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/teresa/teresa-tab.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/teresa/perk-shop-upgrade.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/effarig/effarig-tab.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/effarig/effarig-unlock-button.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/v-tab.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/enslaved-tab.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/ra/ra-tab.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/ra/ra-pet.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/ra/ra-pet-level-bar.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/ra/ra-pet-recollection-button.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/ra/ra-upgrade-icon.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/ra/ra-level-chevron.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/ra/alchemy-tab.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/ra/alchemy-resource-info.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/ra/alchemy-circle-node.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/ra/reality-glyph-creation.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/laitela/singularity-milestone.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/laitela/singularity-milestones-modal.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/laitela/laitela-tab.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/laitela/laitela-autobuyer-pane.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/laitela/laitela-center-pane.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/laitela/milestone-pane.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/laitela/singularity-pane.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/pelle-tab.js"></script>
<script type="text/javascript" src="javascripts/components/celestials/subtabs/matter-dimension-row.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/quotes.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/teresa.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/effarig.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/enslaved.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/V.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/ra/ra.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/ra/alchemy.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/laitela/laitela.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/laitela/matter_dimension.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/laitela/singularity.js"></script>
<script type="text/javascript" src="javascripts/core/celestials/celestials.js"></script>
<script type="text/javascript" src="javascripts/components/challenges/challenge-box.js"></script>
<script type="text/javascript" src="javascripts/components/challenges/eternity-challenge-box.js"></script>
<script type="text/javascript" src="javascripts/components/challenges/challenge-grid.js"></script>
<script type="text/javascript" src="javascripts/components/challenges/normal-challenges-tab.js"></script>
<script type="text/javascript" src="javascripts/components/challenges/infinity-challenges-tab.js"></script>
<script type="text/javascript" src="javascripts/components/challenges/eternity-challenges-tab.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/infinity-points-header.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/infinity-upgrade-button.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/upgrades/infinity-upgrades-tab.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/upgrades/ip-multiplier-button.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/autobuyers-tab.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/autobuyer-toggles.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/autobuyer-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/autobuyer-input.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/reality-autobuyer-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/eternity-autobuyer-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/dimboost-autobuyer-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/galaxy-autobuyer-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/dimension-autobuyer-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/tickspeed-autobuyer-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/sacrifice-autobuyer-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/big-crunch-autobuyer-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/autobuyer-interval-button.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/autobuyer-interval-label.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/autobuyer-toggle-label.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/single-autobuyer-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/autobuyers/multiple-autobuyers-box.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/break-infinity/break-infinity-tab.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/break-infinity/break-infinity-button.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/replicanti/replicanti-tab.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/replicanti/replicanti-upgrade-button.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/replicanti/replicanti-gain-text.js"></script>
<script type="text/javascript" src="javascripts/components/infinity/replicanti/replicanti-galaxy-button.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/eternity-points-header.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/time-studies/rem.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/time-studies/time-study.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/time-studies/secret-time-study.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/time-studies/normal-time-study.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/time-studies/ec-time-study.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/time-studies/dilation-time-study.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/time-studies/triad-time-study.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/time-studies/time-study-connection.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/time-studies/time-studies-tab.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/upgrades/eternity-upgrade-button.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/upgrades/ep-multiplier-button.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/upgrades/eternity-upgrades-tab.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/milestones/eternity-milestone.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/milestones/eternity-milestones-tab.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/dilation/time-dilation-tab.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/dilation/dilation-button.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/dilation/dilation-upgrade.js"></script>
<script type="text/javascript" src="javascripts/components/eternity/dilation/tachyon-particles.js"></script>
<script type="text/javascript" src="javascripts/components/reality/reality-machines-header.js"></script>
<script type="text/javascript" src="javascripts/components/reality/pp-label.js"></script>
<script type="text/javascript" src="javascripts/components/reality/perks-tab.js"></script>
<script type="text/javascript" src="javascripts/components/reality/reality-reminder.js"></script>
<script type="text/javascript" src="javascripts/components/reality/upgrades/reality-upgrades-tab.js"></script>
<script type="text/javascript" src="javascripts/components/reality/upgrades/reality-upgrade-button.js"></script>
<script type="text/javascript" src="javascripts/components/reality/upgrades/imaginary-upgrades-tab.js"></script>
<script type="text/javascript" src="javascripts/components/reality/upgrades/imaginary-upgrade-button.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/glyphs-tab.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/reality-button.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/reset-reality-button.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/glyph-levels-and-weights.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/glyph-component.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/glyph-set-preview.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/equipped-glyphs.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/current-glyph-effects.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/glyph-set-name.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/sacrificed-glyphs.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/glyph-inventory.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/reality-amplify-button.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/glyph-peek.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/sidebar/glyph-tab-sidebar.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/sidebar/glyph-inventory-management-panel.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/sidebar/glyph-filter-panel.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/sidebar/glyph-set-save-panel.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/sidebar/glyph-rejection-panel.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/sidebar/glyph-sort-button-group.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/sidebar/glyph-protected-row-button-group.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/sidebar/glyph-autosort-button-group.js"></script>
<script type="text/javascript" src="javascripts/components/reality/glyphs/sidebar/glyph-clean-button-group.js"></script>
<script type="text/javascript" src="javascripts/components/reality/black-hole/black-hole-tab.js"></script>
<script type="text/javascript" src="javascripts/components/reality/black-hole/black-hole-animation.js"></script>
<script type="text/javascript" src="javascripts/components/reality/black-hole/black-hole-state-row.js"></script>
<script type="text/javascript" src="javascripts/components/reality/black-hole/black-hole-header-row.js"></script>
<script type="text/javascript" src="javascripts/components/reality/black-hole/black-hole-unlock-button.js"></script>
<script type="text/javascript" src="javascripts/components/reality/black-hole/black-hole-upgrade-button.js"></script>
<script type="text/javascript" src="javascripts/components/reality/black-hole/black-hole-upgrade-row.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-tab.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-points-list.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-button.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-controls.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-editor.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-text-editor.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/docs/automator-docs.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/docs/automator-docs-main-page.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/docs/automator-man-page.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-error-page.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-event-log.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-blocks.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-block-editor.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-block-tab.js"></script>
<script type="text/javascript" src="javascripts/components/reality/automator/automator-single-block.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-popup.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-shortcuts.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-message.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-ui-choice.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-import.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-import-tree.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-edit-tree.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-load-game.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-std-store.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-h2p.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-progress-bar.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-away-progress.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-delete-companion.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-glyph-purge.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-start-normal-challenge.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-start-infinity-challenge.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-start-eternity-challenge.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-enter-dilation.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-big-crunch.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-sacrifice.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-dimension-boost.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-antimatter-galaxy.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-break-infinity.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-eternity.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-replicanti-galaxy.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-hard-reset.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-automator-script-delete.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-automator-script-import.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-set-save-delete.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-reality.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-reset-reality.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-exit-celestial-reality.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-celestials.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-preferred-tree.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-glyph-undo.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-glyph-sacrifice.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-glyph-delete.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-glyph-replace.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-glyph-refine.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-glyph-showcase-panel.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-delete-all-unprotected-glyphs.js"></script>
<script type="text/javascript" src="javascripts/components/modals/modal-delete-all-rejected-glyphs.js"></script>
<script type="text/javascript" src="javascripts/components/modals/options/modal-options.js"></script>
<script type="text/javascript" src="javascripts/components/modals/options/modal-news-options.js"></script>
<script type="text/javascript" src="javascripts/components/modals/options/modal-animation-options.js"></script>
<script type="text/javascript" src="javascripts/components/modals/options/modal-confirmation-options.js"></script>
<script type="text/javascript" src="javascripts/components/modals/options/modal-info-display-options.js"></script>
<script type="text/javascript" src="javascripts/components/modals/options/modal-away-progress-options.js"></script>
<script type="text/javascript" src="javascripts/components/modals/options/modal-hidden-tabs.js"></script>
<script type="text/javascript" src="javascripts/components/modals/cloud/modal-cloud-conflict-record.js"></script>
<script type="text/javascript" src="javascripts/components/modals/cloud/modal-cloud-load-conflict.js"></script>
<script type="text/javascript" src="javascripts/components/modals/cloud/modal-cloud-save-conflict.js"></script>
<script type="text/javascript" src="javascripts/components/shop/shop-tab.js"></script>
<script type="text/javascript" src="javascripts/components/shop/shop-button.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/sidebar.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/tab-button.js"></script>
<script type="text/javascript" src="javascripts/components/challenges/challenges-header.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/dimensions-tab/new-dimensions-tab.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/dimensions-tab/new-dimension-row.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/dimensions-tab/new-tickspeed-row.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/dimensions-tab/new-dim-boost-row.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/infinity-dimensions-tab/new-inf-dimension-row.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/infinity-dimensions-tab/new-inf-dimensions-tab.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/time-dimensions-tab/new-time-dimension-row.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/time-dimensions-tab/new-time-dimensions-tab.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/dimensions-tab/new-galaxy-row.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/sidebar-resources/sidebar-currency.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/new-ui.js"></script>
<script type="text/javascript" src="javascripts/components/common/news-ticker.js"></script>
<script type="text/javascript" src="javascripts/components/header-challenge-display.js"></script>
<script type="text/javascript" src="javascripts/components/failable-ec-text.js"></script>
<script type="text/javascript" src="javascripts/components/game-ui.js"></script>
<script type="text/javascript" src="javascripts/components/save-timer.js"></script>
<script type="text/javascript" src="javascripts/components/help-me.js"></script>
<script type="text/javascript" src="javascripts/core/automator/automator-codemirror.js"></script>
<script type="text/javascript" src="javascripts/core/automator/lexer.js"></script>
<script type="text/javascript" src="javascripts/core/automator/automator-commands.js"></script>
<script type="text/javascript" src="javascripts/core/automator/parser.js"></script>
<script type="text/javascript" src="javascripts/core/automator/compiler.js"></script>
<script type="text/javascript" src="javascripts/core/automator/automator-points.js"></script>
<script type="text/javascript" src="javascripts/core/app/ui.init.js"></script>
<script type="text/javascript" src="javascripts/core/app/player-progress.js"></script>
<script type="text/javascript" src="javascripts/core/app/modal.js"></script>
<script type="text/javascript" src="javascripts/core/app/themes.js"></script>
<script type="text/javascript" src="javascripts/core/app/options.js"></script>
<script type="text/javascript" src="javascripts/core/app/ui.js"></script>
<script type="text/javascript" src="javascripts/core/app/notify.js"></script>
<script type="text/javascript" src="javascripts/core/achievements/normal-achievement.js"></script>
<script type="text/javascript" src="javascripts/core/achievements/secret-achievement.js"></script>
<script type="text/javascript" src="javascripts/core/achievements/achievement-timer.js"></script>
<script type="text/javascript" src="javascripts/core/glyphs/glyph-core.js"></script>
<script type="text/javascript" src="javascripts/core/glyphs/glyph-effects.js"></script>
<script type="text/javascript" src="javascripts/core/glyphs/glyph-generator.js"></script>
<script type="text/javascript" src="javascripts/core/glyphs/glyph-purge-handler.js"></script>
<script type="text/javascript" src="javascripts/core/glyphs/auto-glyph-processor.js"></script>
<script type="text/javascript" src="javascripts/core/time.js"></script>
<script type="text/javascript" src="javascripts/core/tickspeed.js"></script>
<script type="text/javascript" src="javascripts/core/dimensions/dimension.js"></script>
<script type="text/javascript" src="javascripts/core/dimensions/antimatter-dimension.js"></script>
<script type="text/javascript" src="javascripts/core/dimensions/infinity-dimension.js"></script>
<script type="text/javascript" src="javascripts/core/dimensions/time-dimension.js"></script>
<script type="text/javascript" src="javascripts/core/dimboost.js"></script>
<script type="text/javascript" src="javascripts/core/sacrifice.js"></script>
<script type="text/javascript" src="javascripts/core/big_crunch.js"></script>
<script type="text/javascript" src="javascripts/core/challenge.js"></script>
<script type="text/javascript" src="javascripts/core/eternity.js"></script>
<script type="text/javascript" src="javascripts/core/eternity_challenge.js"></script>
<script type="text/javascript" src="javascripts/core/reality.js"></script>
<script type="text/javascript" src="javascripts/core/replicanti.js"></script>
<script type="text/javascript" src="javascripts/core/time-theorems.js"></script>
<script type="text/javascript" src="javascripts/core/timestudies.js"></script>
<script type="text/javascript" src="javascripts/core/reality-upgrades.js"></script>
<script type="text/javascript" src="javascripts/core/imaginary-upgrades.js"></script>
<script type="text/javascript" src="javascripts/core/perks.js"></script>
<script type="text/javascript" src="javascripts/core/dilation.js"></script>
<script type="text/javascript" src="javascripts/core/black_hole.js"></script>
<script type="text/javascript" src="javascripts/core/machines.js"></script>
<script type="text/javascript" src="javascripts/core/devtools.js"></script>
<script type="text/javascript" src="javascripts/core/news-ticker.js"></script>
<script type="text/javascript" src="javascripts/core/kong.js"></script>
<script type="text/javascript" src="javascripts/core/playfab.js?10"></script>
<script type="text/javascript" src="javascripts/core/ui/tabs.js"></script>
<script type="text/javascript" src="javascripts/core/ui/tab-notifications.js"></script>
<script type="text/javascript" src="javascripts/game.js?85"></script>
</html>

View File

@ -1,4 +1,4 @@
"use strict";
import "./normal-achievement.js";
Vue.component("normal-achievement-row", {
props: {

View File

@ -1,6 +1,10 @@
"use strict";
import "../../common/hint-text.js";
import EffectDisplay from "@/components/EffectDisplay";
Vue.component("normal-achievement", {
components: {
EffectDisplay
},
props: {
/** @type AchievementState */
achievement: {
@ -94,7 +98,11 @@ Vue.component("normal-achievement", {
</div>
<div v-if="config.reward" class="o-achievement__tooltip__reward">
Reward: {{ config.reward }}
<effect-display br v-if="config.formatEffect" :config="config" />
<EffectDisplay
br
v-if="config.formatEffect"
:config="config"
/>
</div>
</template>
</div>

View File

@ -1,4 +1,4 @@
"use strict";
import "./normal-achievement-row.js";
Vue.component("normal-achievements-tab", {
components: {

View File

@ -1,4 +1,4 @@
"use strict";
import "./secret-achievement.js";
Vue.component("secret-achievement-row", {
props: {

View File

@ -1,4 +1,4 @@
"use strict";
import "../../common/hint-text.js";
Vue.component("secret-achievement", {
props: {

View File

@ -1,4 +1,4 @@
"use strict";
import "./secret-achievement-row.js";
Vue.component("secret-achievements-tab", {
computed: {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("celestial-quote-history", {
props: {
celestial: String,

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("modal-celestial-quote", {
data: () => ({
index: 0,

View File

@ -1,5 +1,3 @@
"use strict";
const BezTestData = {
P0: new Vector(300, 300),
scale: 100,

View File

@ -1,4 +1,5 @@
"use strict";
import "./effarig-unlock-button.js";
import "../../celestial-quote-history.js";
Vue.component("effarig-tab", {
components: {

View File

@ -1,6 +1,11 @@
"use strict";
import CostDisplay from "@/components/CostDisplay";
import DescriptionDisplay from "@/components/DescriptionDisplay";
Vue.component("effarig-unlock-button", {
components: {
DescriptionDisplay,
CostDisplay
},
props: {
unlock: Object
},
@ -33,12 +38,12 @@ Vue.component("effarig-unlock-button", {
},
template: `
<button :class="classObject" @click="purchase">
<description-display :config="config" />
<cost-display
<DescriptionDisplay :config="config" />
<CostDisplay
v-if="!isBought"
:config="config"
name="Relic Shard"
title=""
label=""
/>
<div v-else>
(Unlocked)

View File

@ -1,4 +1,5 @@
"use strict";
import "../celestial-quote-history.js";
import "../../common/ad-slider-component.js";
Vue.component("modal-enslaved-hints", {
data() {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("laitela-autobuyer-settings", {
data() {
return {

View File

@ -1,4 +1,4 @@
"use strict";
import "../matter-dimension-row.js";
Vue.component("dark-matter-dimension-group", {
data() {

View File

@ -1,4 +1,9 @@
"use strict";
import "./singularity-pane.js";
import "./milestone-pane.js";
import "./laitela-center-pane.js";
import "./laitela-autobuyer-pane.js";
import "./singularity-milestone.js";
import "../../celestial-quote-history.js";
Vue.component("laitela-tab", {
data() {

View File

@ -1,4 +1,4 @@
"use strict";
import "./singularity-milestone.js";
Vue.component("singularity-milestone-pane", {
data() {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("singularity-milestone", {
props: ["milestone", "suppressGlow"],
data: () => ({

View File

@ -1,4 +1,4 @@
"use strict";
import "./singularity-milestone.js";
Vue.component("singularity-milestones-modal", {
data: () => ({

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("singularity-container", {
data() {
return {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("matter-dimension-row", {
props: {
dimension: Object

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component('pelle-tab', {
data() {
return {
@ -15,4 +13,4 @@ Vue.component('pelle-tab', {
`<div class="l-pelle-celestial-tab">
<p>pelle here</p>
</div>`
});
});

View File

@ -1,4 +1,4 @@
"use strict";
import "../../../common/hint-text.js";
Vue.component("alchemy-circle-node", {
props: {

View File

@ -1,6 +1,9 @@
"use strict";
import EffectDisplay from "@/components/EffectDisplay";
Vue.component("alchemy-resource-info", {
components: {
EffectDisplay
},
props: {
resource: Object
},
@ -89,7 +92,12 @@ Vue.component("alchemy-resource-info", {
</span>
<span v-if="isBaseResource">Base Resource</span>
<span v-else>Reaction: {{ isReactionActive ? "Active" : "Inactive" }} ({{ reactionText }})</span>
<span><effect-display title="Effect" :config="effectConfig" /></span>
<span>
<EffectDisplay
label="Effect"
:config="effectConfig"
/>
</span>
</div>
<div :class="classObject" v-else>
Unlock requirement: {{ unlockRequirement }}

View File

@ -1,4 +1,5 @@
"use strict";
import "./alchemy-circle-node.js";
import "./alchemy-resource-info.js";
class AlchemyOrbitLayout {
constructor(tier, radius, angleOffset = 0) {

View File

@ -1,44 +0,0 @@
"use strict";
Vue.component("ra-level-chevron", {
props: {
minLevel: Number,
level: Number,
goal: Number,
singleLevel: {
type: Boolean,
defualt: false
},
isImportantLevel: Boolean
},
computed: {
levelPercent() {
const startScl = Math.sqrt(Ra.totalExpForLevel(this.minLevel));
const endScl = Math.sqrt(Ra.totalExpForLevel(this.goal));
const currentScl = Math.sqrt(Ra.totalExpForLevel(this.level));
const expFraction = (currentScl - startScl) / (endScl - startScl);
return 100 * expFraction;
},
levelPosition() {
if (this.level === this.goal) return { right: "0%" };
if (this.singleLevel) return { left: "0%" };
return { left: `${this.levelPercent}%` };
},
classList() {
return [
this.isImportantLevel ? "c-important-chevron" : "",
this.level === 1 || this.level === this.goal || this.singleLevel ? "l-ra-lvl-chevron--no-bar" : ""
];
}
},
template: `
<div v-if="level >= minLevel || singleLevel"
class="l-ra-lvl-chevron"
:style="levelPosition"
:class="classList"
>
<span v-if="isImportantLevel || level === goal">
{{ formatInt(level) }}
</span>
</div>`
});

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("ra-pet-level-bar", {
props: {
petConfig: Object

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("ra-pet-recollection-button", {
props: {
petConfig: Object,

View File

@ -1,4 +1,5 @@
"use strict";
import "./ra-upgrade-icon.js";
import "./ra-pet-level-bar.js";
Vue.component("ra-pet", {
props: {

View File

@ -1,4 +1,6 @@
"use strict";
import "./ra-pet.js";
import "./ra-pet-recollection-button.js";
import "../../celestial-quote-history.js";
Vue.component("ra-tab", {
data() {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("ra-upgrade-icon", {
props: {
unlock: Object,

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("modal-reality-glyph-creation", {
data() {
return {

View File

@ -1,6 +1,13 @@
"use strict";
import CostDisplay from "@/components/CostDisplay";
import DescriptionDisplay from "@/components/DescriptionDisplay";
import EffectDisplay from "@/components/EffectDisplay";
Vue.component("perk-shop-upgrade", {
components: {
DescriptionDisplay,
EffectDisplay,
CostDisplay
},
props: {
upgrade: Object
},
@ -28,14 +35,14 @@ Vue.component("perk-shop-upgrade", {
template:
`<div class="l-spoon-btn-group">
<button :class="classObject" @click="upgrade.purchase()">
<description-display
<DescriptionDisplay
:config="upgrade.config"
:length="70"
/>
<br>
<effect-display :config="upgrade.config" />
<EffectDisplay :config="upgrade.config" />
<br>
<cost-display
<CostDisplay
v-if="!isCapped"
:config="upgrade.config"
name="Perk Point"

View File

@ -1,4 +1,7 @@
"use strict";
import "./perk-shop-upgrade.js";
import "../../celestial-quote-history.js";
import "../../../reality/glyphs/glyph-set-preview.js";
import { DC } from "../../../../core/constants.js";
Vue.component("teresa-tab", {
data() {
@ -55,9 +58,9 @@ Vue.component("teresa-tab", {
return GameDatabase.celestials.descriptions[0].description();
},
lastMachinesString() {
return this.lastMachines.lt(new Decimal("1e10000"))
return this.lastMachines.lt(DC.E10000)
? `${quantify("Reality Machine", this.lastMachines, 2)}`
: `${quantify("Imaginary Machine", this.lastMachines.dividedBy(new Decimal("1e10000")), 2)}`;
: `${quantify("Imaginary Machine", this.lastMachines.dividedBy(DC.E10000), 2)}`;
}
},
methods: {

View File

@ -1,4 +1,5 @@
"use strict";
import "../../reality/glyphs/glyph-set-preview.js";
import "../celestial-quote-history.js";
Vue.component("v-tab", {
data() {

View File

@ -1,4 +1,4 @@
"use strict";
import "../common/hint-text.js";
Vue.component("challenge-box", {
props: {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("challenge-grid", {
props: {
count: Number,

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("challenges-header", {
data() {
return {

View File

@ -1,4 +1,4 @@
"use strict";
import "../common/hint-text.js";
Vue.component("eternity-challenge-box", {
props: {

View File

@ -1,8 +1,16 @@
"use strict";
import "./challenges-header.js";
import "./challenge-grid.js";
import "./eternity-challenge-box.js";
import DescriptionDisplay from "@/components/DescriptionDisplay";
import EffectDisplay from "@/components/EffectDisplay";
Vue.component("eternity-challenges-tab", {
components: {
"eternity-challenge-box": {
components: {
DescriptionDisplay,
EffectDisplay
},
props: {
challengeId: Number
},
@ -102,7 +110,10 @@ Vue.component("eternity-challenges-tab", {
:canBeUnlocked="canBeUnlocked"
@start="start"
>
<description-display :config="config" slot="top" />
<DescriptionDisplay
:config="config"
slot="top"
/>
<template slot="bottom">
<div :style="{ visiblity: completions < 5 ? 'visible' : 'hidden' }">
<div>
@ -115,16 +126,23 @@ Vue.component("eternity-challenges-tab", {
</span>
<span>
Reward:
<description-display
<DescriptionDisplay
:config="config.reward"
:length="55"
name="c-challenge-box__reward-description"
/>
</span>
<span>
<effect-display v-if="completions > 0" :config="currentRewardConfig" />
<EffectDisplay
v-if="completions > 0"
:config="currentRewardConfig"
/>
<span v-if="completions > 0 && completions < 5">|</span>
<effect-display v-if="completions < 5" :config="nextRewardConfig" title="Next" />
<EffectDisplay
v-if="completions < 5"
:config="nextRewardConfig"
label="Next"
/>
</span>
</template>
</eternity-challenge-box>`

View File

@ -1,8 +1,16 @@
"use strict";
import "./challenges-header.js";
import "./challenge-grid.js";
import "./challenge-box.js";
import DescriptionDisplay from "@/components/DescriptionDisplay";
import EffectDisplay from "@/components/EffectDisplay";
Vue.component("infinity-challenges-tab", {
components: {
"infinity-challenge-box": {
components: {
DescriptionDisplay,
EffectDisplay
},
props: {
challengeId: Number
},
@ -42,13 +50,22 @@ Vue.component("infinity-challenges-tab", {
@start="challenge.requestStart()"
>
<template slot="top">
<description-display :config="config" />
<effect-display v-if="isRunning" :config="config" />
<DescriptionDisplay :config="config" />
<EffectDisplay
v-if="isRunning"
:config="config"
/>
</template>
<div slot="bottom" class="l-challenge-box__bottom--infinity">
<span>Goal: {{ format(config.goal) }} antimatter</span>
<description-display :config="config.reward" title="Reward:" />
<effect-display v-if="isCompleted" :config="config.reward" />
<DescriptionDisplay
:config="config.reward"
label="Reward:"
/>
<EffectDisplay
v-if="isCompleted"
:config="config.reward"
/>
</div>
</challenge-box>`
}

View File

@ -1,8 +1,14 @@
"use strict";
import "./challenges-header.js";
import "./challenge-grid.js";
import "./challenge-box.js";
import DescriptionDisplay from "@/components/DescriptionDisplay";
Vue.component("normal-challenges-tab", {
components: {
"normal-challenge-box": {
components: {
DescriptionDisplay
},
props: {
challengeId: Number
},
@ -50,7 +56,10 @@ Vue.component("normal-challenges-tab", {
class="c-challenge-box--normal"
@start="challenge.requestStart()"
>
<description-display :config="config" slot="top" />
<DescriptionDisplay
:config="config"
slot="top"
/>
<span slot="bottom">Reward: {{ challenge.config.reward }}</span>
</challenge-box>`
}
@ -59,7 +68,7 @@ Vue.component("normal-challenges-tab", {
<div class="l-challenges-tab">
<challenges-header />
<div>
If you have an active Big Crunch Autobuyer, it will attempt to Crunch
If you have an active Big Crunch Autobuyer, it will attempt to Crunch
as soon as possible when reaching Infinite antimatter.
</div>
<challenge-grid :count="12">

View File

@ -1,4 +1,5 @@
"use strict";
import "./plus-minus-button.js";
/*
* This is based on vue-slider-component
* downloaded from https://github.com/NightCatSama/vue-slider-component
@ -1116,10 +1117,10 @@ Vue.component("ad-slider-component", {
</div>
</template>
<ul class="ad-slider-piecewise">
<li
v-for="(piecewiseObj, index) in piecewiseDotWrap"
class="ad-slider-piecewise-item"
:style="[piecewiseDotStyle, piecewiseObj.style]"
<li
v-for="(piecewiseObj, index) in piecewiseDotWrap"
class="ad-slider-piecewise-item"
:style="[piecewiseDotStyle, piecewiseObj.style]"
:key="index"
>
<slot

View File

@ -1,52 +0,0 @@
"use strict";
Vue.component("cost-display", {
props: {
config: Object,
br: Boolean,
name: String,
title: {
type: String,
default: "Cost:",
}
},
data() {
return {
isVisible: false,
cost: 0
};
},
watch: {
config: {
immediate: true,
handler(config) {
this.isVisible = false;
if (config === undefined) return;
const cost = config.cost;
if (cost === undefined) return;
this.isVisible = true;
this.formatCost = this.config.formatCost ? this.config.formatCost : format;
if (typeof cost !== "function") {
this.cost = typeof cost === "number" ? cost : Decimal.fromDecimal(cost);
return;
}
const costValue = cost();
const isNumber = typeof costValue === "number";
this.cost = isNumber ? costValue : Decimal.fromDecimal(costValue);
this.updateFn = isNumber
? () => this.cost = cost()
: () => this.cost.copyFrom(cost());
}
}
},
methods: {
update() {
if (this.updateFn) this.updateFn();
}
},
template: `
<span v-if="isVisible">
<br v-if="br">
{{ title }} {{ quantify(name, cost, 0, 0, formatCost) }}
</span>`
});

View File

@ -1,51 +0,0 @@
"use strict";
Vue.component("description-display", {
props: {
config: Object,
name: String,
length: Number,
title: {
type: String,
default: "",
}
},
data() {
return {
description: ""
};
},
watch: {
config: {
immediate: true,
handler(config) {
if (config === undefined) return;
const description = config.description;
if (description === undefined) return;
if (typeof description !== "function") {
this.description = description;
return;
}
this.updateFn = () => this.description = description();
}
}
},
computed: {
classObject() {
const name = this.name;
if (name === undefined) return undefined;
const classObject = {};
classObject[name] = true;
if (this.length !== undefined && this.description.length >= this.length) {
classObject[`${name}--small-text`] = true;
}
return classObject;
}
},
methods: {
update() {
if (this.updateFn) this.updateFn();
}
},
template: `<span :class="classObject">{{ title }} {{ description }}</span>`
});

View File

@ -1,94 +0,0 @@
"use strict";
Vue.component("effect-display", {
props: {
config: Object,
br: Boolean,
title: {
type: String,
default: "Currently"
}
},
data() {
return {
isVisible: false,
effectValue: 0,
// Number.MAX_VALUE doesn't really matter here, but we need it because
// undefined values are not allowed for reactive properties
cap: Number.MAX_VALUE,
hasCap: false
};
},
watch: {
config: {
immediate: true,
handler(config) {
this.isVisible = false;
if (config === undefined) return;
const effect = config.effect;
const formatEffect = config.formatEffect;
if (effect === undefined || formatEffect === undefined) return;
this.isVisible = true;
this.formatEffect = formatEffect;
if (typeof effect !== "function") {
this.effectValue = typeof effect === "number" ? effect : Decimal.fromDecimal(effect);
return;
}
const effectValue = effect();
const isNumber = typeof effectValue === "number";
this.effectValue = isNumber ? effectValue : Decimal.fromDecimal(effectValue);
this.updateFn = isNumber
? () => this.effectValue = effect()
: () => this.effectValue.copyFrom(effect());
// If the config has a reachedCapFn, we assume its effect value calculation
// takes account of the cap itself, so we don't have to.
const cap = config.reachedCapFn === undefined ? config.cap : () => this.effectValue;
if (cap === undefined) return;
if (config.reachedCapFn) {
this.reachedCapFn = config.reachedCapFn;
} else {
this.reachedCapFn = isNumber
? () => this.effectValue >= this.cap
: () => this.effectValue.gte(this.cap);
}
if (typeof cap !== "function") {
this.hasCap = true;
this.cap = isNumber ? cap : Decimal.fromDecimal(cap);
return;
}
const updateCap = () => {
this.cap = cap();
this.hasCap = this.cap !== undefined;
};
const updateEffect = this.updateFn;
this.updateFn = () => {
updateEffect();
updateCap();
};
updateCap();
}
}
},
computed: {
reachedCap() {
return this.reachedCapFn();
},
titleDisplay() {
if (this.config.noTitle) return "";
return `${this.hasCap && this.reachedCap ? "Capped" : this.title}: `;
},
effectDisplay() {
return this.formatEffect(this.hasCap && this.reachedCap ? this.cap : this.effectValue);
}
},
methods: {
update() {
if (this.updateFn) this.updateFn();
}
},
template: `
<span v-if="isVisible && effectDisplay !== undefined">
<br v-if="br">
{{ titleDisplay }}{{ effectDisplay }}
</span>`
});

View File

@ -1,5 +1,3 @@
"use strict";
// This wraps a control box of some sort (like glyph weight adjust) in
// a dropdown menu like container.
// You can force it to open programatically by sending it an openrequest event

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("footer-links", {
data() {
return {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("hint-text", {
props: {
type: String

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("news-ticker", {
data() {
return {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("plus-minus-button", {
props: {
type: {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("primary-button", {
props: {
enabled: {
@ -112,4 +110,4 @@ Vue.component("primary-button-cycle", {
},
template:
`<primary-button v-bind="$attrs" @click="emitInput((value + 1) % labels.length)">{{ displayText }}</primary-button>`
});
});

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("antimatter-dim-boost-row", {
data() {
return {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("antimatter-dim-galaxy-row", {
data() {
return {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("antimatter-dim-row", {
props: {
tier: Number

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("antimatter-dim-tab-header", {
data() {
return {

View File

@ -1,4 +1,5 @@
"use strict";
import { DC } from "../../../core/constants.js";
Vue.component("antimatter-dim-tab-progress-bar", {
data() {
@ -60,7 +61,7 @@ Vue.component("antimatter-dim-tab-progress-bar", {
// Show all other goals from the top down, starting at features in the highest prestige layer
setProgress(Currency.infinityPoints.value, Tesseracts.nextCost, "Percentage to next Tesseract");
} else if (PlayerProgress.dilationUnlocked()) {
setProgress(Currency.eternityPoints.value, new Decimal("1e4000"), "Percentage to Reality");
setProgress(Currency.eternityPoints.value, DC.E4000, "Percentage to Reality");
} else if (InfinityDimension(8).isUnlocked) {
setProgress(Currency.infinityPoints.value, Player.eternityGoal, "Percentage to Eternity");
} else if (InfinityDimension(1).isUnlocked) {

View File

@ -1,4 +1,8 @@
"use strict";
import "./antimatter-dim-tab-header.js";
import "./antimatter-dim-row.js";
import "./antimatter-dim-boost-row.js";
import "./antimatter-dim-galaxy-row.js";
import "./antimatter-dim-tab-progress-bar.js";
Vue.component("antimatter-dim-tab", {
data() {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("infinity-dim-row", {
props: {
tier: Number

View File

@ -1,4 +1,4 @@
"use strict";
import "./infinity-dim-row.js";
Vue.component("infinity-dim-tab", {
data() {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("time-dim-row", {
props: {
tier: Number,

View File

@ -1,4 +1,4 @@
"use strict";
import "./time-dim-row.js";
Vue.component("time-dim-tab", {
data() {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("dilation-button", {
data() {
return {

View File

@ -1,6 +1,13 @@
"use strict";
import CostDisplay from "@/components/CostDisplay";
import DescriptionDisplay from "@/components/DescriptionDisplay";
import EffectDisplay from "@/components/EffectDisplay";
Vue.component("dilation-upgrade", {
components: {
DescriptionDisplay,
EffectDisplay,
CostDisplay
},
props: {
isRebuyable: {
type: Boolean,
@ -65,17 +72,17 @@ Vue.component("dilation-upgrade", {
template: `
<div class="l-spoon-btn-group">
<button :class="classObject" @click="upgrade.purchase()" :ach-tooltip="timeEstimate">
<description-display
<DescriptionDisplay
:config="upgrade.config"
:length="70"
name="o-dilation-upgrade__description"
/>
<effect-display
<EffectDisplay
br
:config="upgrade.config"
:key="boughtAmount"
/>
<cost-display
<CostDisplay
br
v-if="!isBought && !isCapped"
:config="upgrade.config"

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("tachyon-particles", {
data() {
return {

View File

@ -1,4 +1,6 @@
"use strict";
import "./tachyon-particles.js";
import "./dilation-upgrade.js";
import "./dilation-button.js";
Vue.component("time-dilation-tab", {
data() {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("eternity-points-header", {
data() {
return {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("eternity-milestone", {
props: {
getMilestone: Function

View File

@ -1,4 +1,4 @@
"use strict";
import "./eternity-milestone.js";
Vue.component("eternity-milestones-tab", {
data() {

View File

@ -1,6 +1,10 @@
"use strict";
import "./time-study.js";
import DescriptionDisplay from "@/components/DescriptionDisplay";
Vue.component("dilation-time-study", {
components: {
DescriptionDisplay
},
props: {
setup: Object
},
@ -42,7 +46,7 @@ Vue.component("dilation-time-study", {
},
template: `
<time-study :setup="setup">
<description-display :config="study.config" />
<DescriptionDisplay :config="study.config" />
<template v-if="showRequirement">
<br>
<span>{{ requirement }}</span>

View File

@ -1,4 +1,4 @@
"use strict";
import "./time-study.js";
Vue.component("ec-time-study", {
props: {

View File

@ -1,6 +1,13 @@
"use strict";
import "../../common/hint-text.js";
import "./time-study.js";
import DescriptionDisplay from "@/components/DescriptionDisplay";
import EffectDisplay from "@/components/EffectDisplay";
Vue.component("normal-time-study", {
components: {
DescriptionDisplay,
EffectDisplay
},
props: {
setup: Object
},
@ -41,7 +48,10 @@ Vue.component("normal-time-study", {
template: `
<time-study :setup="setup" :showCost="showCost" :showSTCost="showSTCost">
<hint-text type="studies" class="l-hint-text--time-study">{{ hintText }}</hint-text>
<description-display :config="study.config" />
<effect-display br :config="study.config" />
<DescriptionDisplay :config="study.config" />
<EffectDisplay
br
:config="study.config"
/>
</time-study>`
});

View File

@ -1,9 +1,3 @@
"use strict";
const remMixin = {
methods: {
rem(value) {
return `${value}rem`;
}
}
};
export function rem(value) {
return `${value}rem`;
}

View File

@ -1,7 +1,6 @@
"use strict";
import { rem } from "./rem.js";
Vue.component("secret-time-study", {
mixins: [remMixin],
props: {
setup: Object
},
@ -26,8 +25,8 @@ Vue.component("secret-time-study", {
},
styleObject() {
return {
top: this.rem(this.setup.top),
left: this.rem(this.setup.left)
top: rem(this.setup.top),
left: rem(this.setup.left)
};
},
classObject() {

View File

@ -1,4 +1,11 @@
"use strict";
import "./normal-time-study.js";
import "./secret-time-study.js";
import "./triad-time-study.js";
import "./ec-time-study.js";
import "./dilation-time-study.js";
import { rem } from "./rem.js";
import { TimeStudySetup } from "./time-study.js";
import { TimeStudyConnectionSetup } from "./time-study-connection.js";
class TimeStudyRow {
constructor(layout, items, isWide) {
@ -217,7 +224,6 @@ const STUDY_TREE_LAYOUT_TYPE = {
};
Vue.component("time-studies-tab", {
mixins: [remMixin],
data() {
return {
respec: player.respec,
@ -274,8 +280,8 @@ Vue.component("time-studies-tab", {
},
treeStyleObject() {
return {
width: this.rem(this.layout.width),
height: this.rem(this.layout.height)
width: rem(this.layout.width),
height: rem(this.layout.height)
};
},
respecClassObject() {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("time-study-connection", {
data() {
return {
@ -69,7 +67,7 @@ Vue.component("time-study-connection", {
/>`
});
class TimeStudyConnectionSetup {
export class TimeStudyConnectionSetup {
constructor(connection) {
this.connection = connection;
}

View File

@ -1,7 +1,10 @@
"use strict";
import { rem } from "./rem.js";
import CostDisplay from "@/components/CostDisplay";
Vue.component("time-study", {
mixins: [remMixin],
components: {
CostDisplay
},
data() {
return {
isBought: false,
@ -27,8 +30,8 @@ Vue.component("time-study", {
},
styleObject() {
return {
top: this.rem(this.setup.top),
left: this.rem(this.setup.left)
top: rem(this.setup.top),
left: rem(this.setup.left)
};
},
classObject() {
@ -110,7 +113,7 @@ Vue.component("time-study", {
@click.exact="handleClick"
@click.shift.exact="shiftClick">
<slot />
<cost-display
<CostDisplay
br
v-if="(showCost && !showSTCost) || STCost === 0"
:config="config"
@ -125,7 +128,7 @@ Vue.component("time-study", {
</button>`
});
class TimeStudySetup {
export class TimeStudySetup {
constructor(props) {
this.study = props.study;
this.row = props.row;

View File

@ -1,6 +1,13 @@
"use strict";
import "../../common/hint-text.js";
import "./time-study.js";
import DescriptionDisplay from "@/components/DescriptionDisplay";
import EffectDisplay from "@/components/EffectDisplay";
Vue.component("triad-time-study", {
components: {
DescriptionDisplay,
EffectDisplay
},
props: {
setup: Object
},
@ -20,7 +27,10 @@ Vue.component("triad-time-study", {
template: `
<time-study :setup="setup" class="o-time-study--triad" :showSTCost="true">
<hint-text type="studies" class="l-hint-text--time-study">T{{ id }}</hint-text>
<description-display :config="study.config" />
<effect-display br :config="study.config" />
<DescriptionDisplay :config="study.config" />
<EffectDisplay
br
:config="study.config"
/>
</time-study>`
});

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("ep-multiplier-button", {
data() {
return {

View File

@ -1,6 +1,13 @@
"use strict";
import CostDisplay from "@/components/CostDisplay";
import DescriptionDisplay from "@/components/DescriptionDisplay";
import EffectDisplay from "@/components/EffectDisplay";
Vue.component("eternity-upgrade-button", {
components: {
DescriptionDisplay,
EffectDisplay,
CostDisplay
},
props: {
upgrade: Object
},
@ -29,9 +36,12 @@ Vue.component("eternity-upgrade-button", {
},
template: `
<button :class="classObject" @click="upgrade.purchase()">
<description-display :config="upgrade.config" />
<effect-display br :config="upgrade.config" />
<cost-display
<DescriptionDisplay :config="upgrade.config" />
<EffectDisplay
br
:config="upgrade.config"
/>
<CostDisplay
br
v-if="!isBought"
:config="upgrade.config"

View File

@ -1,4 +1,5 @@
"use strict";
import "./ep-multiplier-button.js";
import "./eternity-upgrade-button.js";
Vue.component("eternity-upgrades-tab", {
computed: {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("failable-ec-text", {
data() {
return {

View File

@ -1,4 +1,9 @@
"use strict";
import "./old-ui/old-ui.js";
import "./new-ui/new-ui.js";
import "./save-timer.js";
import "./help-me.js";
import "./tt-shop.js";
import "./new-ui/sidebar.js";
Vue.component("game-ui", {
computed: {

View File

@ -1,4 +1,4 @@
"use strict";
import "./failable-ec-text.js";
Vue.component("header-challenge-display", {
data() {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("help-me", {
template: `<div onclick="Modal.h2p.show()" class="o-tab-btn l-help-me">?</div>`
});

View File

@ -1,5 +1,3 @@
"use strict";
/**
* This slotted component manages a context menu that is accessible both
* by right clicking and by hovering; this is mostly about wrangling timers.

View File

@ -0,0 +1,60 @@
import "./common/primary-button.js";
import "./dimensions/antimatter/antimatter-dim-tab.js";
import "./dimensions/infinity/infinity-dim-tab.js";
import "./dimensions/time/time-dim-tab.js";
import "./options/options-saving-tab.js";
import "./options/options-visual-tab.js";
import "./options/options-gameplay-tab.js";
import "./statistics/statistics-tab.js";
import "./statistics/challenges/challenge-records-tab.js";
import "./statistics/runs/past-runs-tab.js";
import "./statistics/glyph-sets-tab.js";
import "./achievements/normal/normal-achievements-tab.js";
import "./achievements/secret/secret-achievements-tab.js";
import "./challenges/normal-challenges-tab.js";
import "./challenges/infinity-challenges-tab.js";
import "./challenges/eternity-challenges-tab.js";
import "./infinity/infinity-points-header.js";
import "./infinity/upgrades/infinity-upgrades-tab.js";
import "./infinity/autobuyers/autobuyers-tab.js";
import "./infinity/break-infinity/break-infinity-tab.js";
import "./infinity/replicanti/replicanti-tab.js";
import "./eternity/eternity-points-header.js";
import "./eternity/time-studies/time-studies-tab.js";
import "./eternity/upgrades/eternity-upgrades-tab.js";
import "./eternity/milestones/eternity-milestones-tab.js";
import "./eternity/dilation/time-dilation-tab.js";
import "./reality/reality-machines-header.js";
import "./reality/glyphs/glyphs-tab.js";
import "./reality/upgrades/reality-upgrades-tab.js";
import "./reality/upgrades/imaginary-upgrades-tab.js";
import "./reality/perks-tab.js";
import "./reality/black-hole/black-hole-tab.js";
import "./reality/automator/automator-tab.js";
import "./celestials/navigation.js";
import "./celestials/subtabs/teresa/teresa-tab.js";
import "./celestials/subtabs/effarig/effarig-tab.js";
import "./celestials/subtabs/v-tab.js";
import "./celestials/subtabs/enslaved-tab.js";
import "./celestials/subtabs/ra/ra-tab.js";
import "./celestials/subtabs/ra/alchemy-tab.js";
import "./celestials/subtabs/laitela/laitela-tab.js";
import "./celestials/subtabs/pelle-tab.js";
import "./shop/shop-tab.js";
import "./new-ui/dimensions-tab/new-dimensions-tab.js";
import "./new-ui/infinity-dimensions-tab/new-inf-dimensions-tab.js";
import "./new-ui/time-dimensions-tab/new-time-dimensions-tab.js";
import "./modals/index.js";
import "./game-ui.js";

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("autobuyer-box", {
components: {
"interval-label": {

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("autobuyer-input", {
props: {
autobuyer: Object,

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("autobuyer-interval-button", {
props: {
autobuyer: Object

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("autobuyer-interval-label", {
props: {
autobuyer: Object,

View File

@ -1,5 +1,3 @@
"use strict";
Vue.component("autobuyer-toggle-label", {
props: {
autobuyer: Object,

Some files were not shown because too many files have changed in this diff Show More