diff --git a/.eslintrc.json b/.eslintrc.json index 545ec52910..8fe9aedcb8 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -189,7 +189,7 @@ "max-len": [ "warn", { - "code": 120 + "code": 140 } ], "max-params": "warn", diff --git a/.stylelintignore b/.stylelintignore index 8a73544d02..d87d1117a3 100644 --- a/.stylelintignore +++ b/.stylelintignore @@ -1,3 +1,4 @@ public/stylesheets/fontawesome/**/*.css public/stylesheets/codemirror/*.css public/stylesheets/vis-network.css +public/stylesheets/github-light.css diff --git a/public/stylesheets/github-light.css b/public/stylesheets/github-light.css index 872a6f4b27..12e411d970 100644 --- a/public/stylesheets/github-light.css +++ b/public/stylesheets/github-light.css @@ -31,7 +31,7 @@ .pl-s .pl-s1 /* string source */, .pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ { - color: #333; + color: #333333; } .pl-ent /* entity.name.tag */ { @@ -61,13 +61,13 @@ } .pl-ii /* invalid.illegal */ { - background-color: #b52a1d; color: #f8f8f8; + background-color: #b52a1d; } .pl-sr .pl-cce /* string.regexp constant.character.escape */ { - color: #63a35c; font-weight: bold; + color: #63a35c; } .pl-ml /* markup.list */ { @@ -77,8 +77,8 @@ .pl-mh /* markup.heading */, .pl-mh .pl-en /* markup.heading entity.name */, .pl-ms /* meta.separator */ { - color: #1d3e81; font-weight: bold; + color: #1d3e81; } .pl-mq /* markup.quote */ { @@ -86,31 +86,30 @@ } .pl-mi /* markup.italic */ { - color: #333; font-style: italic; + color: #333333; } .pl-mb /* markup.bold */ { - color: #333; font-weight: bold; + color: #333333; } .pl-md /* markup.deleted, meta.diff.header.from-file */ { - background-color: #ffecec; color: #bd2c00; + background-color: #ffecec; } .pl-mi1 /* markup.inserted, meta.diff.header.to-file */ { - background-color: #eaffea; color: #55a532; + background-color: #eaffea; } .pl-mdr /* meta.diff.range */ { - color: #795da3; font-weight: bold; + color: #795da3; } .pl-mo /* meta.output */ { color: #1d3e81; } - diff --git a/public/stylesheets/new-ui-styles.css b/public/stylesheets/new-ui-styles.css index e873660352..d44dfd22ef 100644 --- a/public/stylesheets/new-ui-styles.css +++ b/public/stylesheets/new-ui-styles.css @@ -739,8 +739,9 @@ body.t-s12 { } .c-modern-dim-tooltip-container .c-modern-dim-purchase-count-tooltip { - position: absolute; + visibility: hidden; width: 20rem; + position: absolute; top: 50%; font-size: 1.3rem; line-height: 1.6rem; @@ -748,10 +749,9 @@ body.t-s12 { background: black; border: 0.1rem solid var(--color-text); border-radius: var(--var-border-width, 0.5rem); + padding: 0.5rem; /* Button is 25rem wide, tooltip is 20rem */ transform: translate(calc(-125% - 1rem), -50%); - padding: 0.5rem; - visibility: hidden; } .c-modern-dim-tooltip-container:hover .c-modern-dim-purchase-count-tooltip { @@ -761,11 +761,11 @@ body.t-s12 { .c-modern-dim-tooltip-container .c-modern-dim-purchase-count-tooltip::after { content: ""; position: absolute; - left: 100%; top: 50%; + left: 100%; border-top: 0.5rem solid transparent; - border-left: 0.5rem solid var(--color-text); border-bottom: 0.5rem solid transparent; + border-left: 0.5rem solid var(--color-text); transform: translateY(-50%); } diff --git a/public/stylesheets/styles.css b/public/stylesheets/styles.css index 65880c8e5c..f3a4f849b8 100644 --- a/public/stylesheets/styles.css +++ b/public/stylesheets/styles.css @@ -50,6 +50,12 @@ html { /* css vars */ +/* stylelint-disable-next-line max-line-length */ +/* we use tags all over the place in order to indicate boldness, but a change has made this not work. Rather than replace all cases, we can use this shortcut */ +b { + font-weight: bold; +} + #ui { display: flex; justify-content: center; @@ -1504,18 +1510,15 @@ br { } .infotooltip:hover .infotooltiptext { + visibility: visible; left: calc(100% + 0.7rem); + opacity: 1; } .s-base--dark .infotooltip .infotooltiptext { border-color: #dddddd; } -.infotooltip:hover .infotooltiptext { - visibility: visible; - opacity: 1; -} - .infotooltip .infotooltiptext::after { content: ""; position: absolute; @@ -2391,13 +2394,14 @@ br { } .c-dim-tooltip-container { - position: relative; display: inline-block; + position: relative; } .c-dim-tooltip-container .c-dim-purchase-count-tooltip { - position: absolute; + visibility: hidden; width: 20rem; + position: absolute; top: 50%; font-size: 1.3rem; line-height: 1.6rem; @@ -2405,9 +2409,8 @@ br { background: black; border: 0.1rem solid var(--color-text); border-radius: var(--var-border-width, 0.5rem); - transform: translate(calc(-100% - 1.5rem), -50%); padding: 0.5rem; - visibility: hidden; + transform: translate(calc(-100% - 1.5rem), -50%); } .c-dim-tooltip-container:hover .c-dim-purchase-count-tooltip { @@ -2417,11 +2420,11 @@ br { .c-dim-tooltip-container .c-dim-purchase-count-tooltip::after { content: ""; position: absolute; - left: 100%; top: 50%; + left: 100%; border-top: 0.5rem solid transparent; - border-left: 0.5rem solid var(--color-text); border-bottom: 0.5rem solid transparent; + border-left: 0.5rem solid var(--color-text); transform: translateY(-50%); } @@ -2751,6 +2754,23 @@ br { cursor: pointer; } +.c-file-import-backup { + width: 14.5rem; + height: 2.55rem; + position: absolute; + bottom: 5.5rem; + left: 31.3rem; + opacity: 0; + margin: -1.9rem -2rem; +} + +.c-file-import-backup::before { + content: " "; + font-size: 100rem; + padding: 10rem 20rem; + cursor: pointer; +} + /* #region l-options-grid */ .l-options-grid { @@ -3196,7 +3216,6 @@ br { border-color: #388e3c; } - /* #endregion t-dark-metro */ /* #region t-metro t-inverted-metro t-s8 */ @@ -4566,11 +4585,11 @@ properly on certain themes. */ .l-replicanti-tab { display: flex; flex-direction: column; - color: var(--color-text); /* To prevent button jitter */ width: 100%; align-items: center; + color: var(--color-text); } /* #region c-replicanti-description */ @@ -5474,12 +5493,6 @@ properly on certain themes. */ width: 45rem; } -.c-modal-IAP__warning { - font-size: 1.6rem; - font-weight: bold; - color: var(--color-notification); -} - /* #endregion c-modal-import */ /* #region c-modal-import-tree */ @@ -5705,9 +5718,9 @@ kbd { } .o-notification--automator { + color: var(--color-automator-docs-font); background-color: var(--color-automator-active-line-background); border-color: var(--color-automator-active-line-outline); - color: var(--color-automator-docs-font); } .o-notification--strike { @@ -6545,7 +6558,7 @@ kbd { .c-enslaved-run-button__icon__sigil { position: absolute; top: -3.7rem; - right: -0.2rem; + right: -0.45rem; font-size: 14.8rem; transform: rotate(45deg); } @@ -7754,7 +7767,7 @@ kbd { } .o-laitela-run-button--large { - width: 44rem; + width: 46rem; } .o-laitela-matter-amount { @@ -8549,8 +8562,8 @@ kbd { background: repeating-linear-gradient( -45deg, - #A2A229, - #A2A229 3rem, + #a2a229, + #a2a229 3rem, #919122 3rem, #919122 6rem ); @@ -8582,11 +8595,11 @@ kbd { .o-requirement-lock { position: absolute; font-size: 5rem; - padding: 0.5rem 1.8rem; - color: black; opacity: 0.4; - user-select: none; + color: black; + padding: 0.5rem 1.8rem; pointer-events: none; + user-select: none; } .c-reality-upgrade-btn--black-hole-unlock { diff --git a/public/stylesheets/theme-Dark Metro.css b/public/stylesheets/theme-Dark Metro.css index 355f0b0af1..95fce611ef 100644 --- a/public/stylesheets/theme-Dark Metro.css +++ b/public/stylesheets/theme-Dark Metro.css @@ -23,4 +23,4 @@ body.t-dark-metro { .t-dark-metro .c-tt-buy-button--locked:hover { background: #e53935; -} \ No newline at end of file +} diff --git a/public/stylesheets/theme-Dark.css b/public/stylesheets/theme-Dark.css index 0e5da459d0..86d6a32eda 100644 --- a/public/stylesheets/theme-Dark.css +++ b/public/stylesheets/theme-Dark.css @@ -37,4 +37,4 @@ input.t-dark { .t-dark .c-rm-amount__desc { color: #757575; -} \ No newline at end of file +} diff --git a/public/stylesheets/time-studies.css b/public/stylesheets/time-studies.css index 2f42b50215..2b16749325 100644 --- a/public/stylesheets/time-studies.css +++ b/public/stylesheets/time-studies.css @@ -43,11 +43,11 @@ font-family: Typewriter, serif; font-size: 1rem; font-weight: bold; + text-decoration: line-through; background-color: crimson; border: 0.1rem solid; border-radius: var(--var-border-radius, 0.4rem); transition-duration: 0.2s; - text-decoration: line-through; } .c-pelle-useless-available { @@ -377,16 +377,16 @@ color: white; background-color: black; border-color: white; - border-width: 0.3rem; border-style: double; + border-width: 0.3rem; } .o-time-study-light--bought { color: black; background-color: white; border-color: black; - border-width: 0.3rem; border-style: double; + border-width: 0.3rem; } .o-time-study-eternity-challenge--bought { diff --git a/src/components/ChallengeBox.vue b/src/components/ChallengeBox.vue index 9c47331775..53d84a8ced 100644 --- a/src/components/ChallengeBox.vue +++ b/src/components/ChallengeBox.vue @@ -100,12 +100,14 @@ export default { \ No newline at end of file diff --git a/src/components/modals/AwayProgressEntry.vue b/src/components/modals/AwayProgressEntry.vue index c232c80e44..333f5b2c48 100644 --- a/src/components/modals/AwayProgressEntry.vue +++ b/src/components/modals/AwayProgressEntry.vue @@ -161,7 +161,7 @@ export default { } .c-modal-away-progress__realities, -.c-modal-away-progress__achievement-count, +.c-modal-away-progress__achievement-amount, .c-modal-away-progress__reality-machines, .c-modal-away-progress__imaginary-machines { color: var(--color-reality); diff --git a/src/components/modals/GlyphShowcasePanelEntry.vue b/src/components/modals/GlyphShowcasePanelEntry.vue index 0a9489084a..6d857583ed 100644 --- a/src/components/modals/GlyphShowcasePanelEntry.vue +++ b/src/components/modals/GlyphShowcasePanelEntry.vue @@ -80,10 +80,10 @@ export default { }; }, rarityStyle() { - // Rarity is handled differently here than usual because this is in contrast with the theme BG, not the glyph BG + // Glyph colors were dealt to contrast the background, but that should never be an issue const color = CosmeticGlyphTypes[this.glyph.type].ignoreRarityColor ? GlyphAppearanceHandler.getBorderColor(this.type) - : getRarity(this.glyph.strength)[Theme.current().isDark() ? "darkColor" : "lightColor"]; + : GlyphAppearanceHandler.getRarityColor(this.glyph.strength, this.type); return { color, "font-weight": "bold" diff --git a/src/components/modals/LoadGameModal.vue b/src/components/modals/LoadGameModal.vue index 97154e0e50..6a1f1d7cbf 100644 --- a/src/components/modals/LoadGameModal.vue +++ b/src/components/modals/LoadGameModal.vue @@ -27,8 +27,8 @@ export default { diff --git a/src/components/modals/celestial-quotes/CelestialQuoteBackground.vue b/src/components/modals/celestial-quotes/CelestialQuoteBackground.vue index 6cf5181f70..815d04d890 100644 --- a/src/components/modals/celestial-quotes/CelestialQuoteBackground.vue +++ b/src/components/modals/celestial-quotes/CelestialQuoteBackground.vue @@ -82,21 +82,21 @@ export default { left: 50vw; justify-content: space-between; align-items: center; + background-color: black; border-radius: var(--var-border-radius, 1rem); transform: translate(-50%, -50%); - background-color: black; } .c-modal-celestial-quote { - position: absolute; + display: flex; width: 100%; height: 100%; + position: absolute; left: 0; - display: flex; justify-content: center; align-items: center; - user-select: none; border-radius: var(--var-border-radius, 1rem); + user-select: none; } .c-modal-celestial-quote__symbol { diff --git a/src/components/modals/challenges/EternityChallengeStartModal.vue b/src/components/modals/challenges/EternityChallengeStartModal.vue index 7ccafe89bf..8f2986c9c3 100644 --- a/src/components/modals/challenges/EternityChallengeStartModal.vue +++ b/src/components/modals/challenges/EternityChallengeStartModal.vue @@ -42,6 +42,11 @@ export default { if (typeof conditionOfChallenge === "function") { conditionOfChallenge = conditionOfChallenge(); } + if (this.challenge._config.scrambleText) { + conditionOfChallenge = conditionOfChallenge + .replace("*", this.challenge._config.scrambleText[1]); + // eslint-disable-next-line vue/no-side-effects-in-computed-properties + } return `Inside this Eternity Challenge, ${conditionOfChallenge}`; } }, diff --git a/src/components/modals/glyph-management/DeleteCompanionGlyphModal.vue b/src/components/modals/glyph-management/DeleteCompanionGlyphModal.vue index eb3828711d..89a53c389b 100644 --- a/src/components/modals/glyph-management/DeleteCompanionGlyphModal.vue +++ b/src/components/modals/glyph-management/DeleteCompanionGlyphModal.vue @@ -49,7 +49,7 @@ export default { deleteCompanion() { // Yes, this actually deletes a companion glyph at random, but the player can only ever legitimately have one. // Passing information into modals seems to require a bunch of refactoring that's not worth it for this one case. - const toDelete = player.reality.glyphs.inventory.filter(g => g.type === "companion")[0]; + const toDelete = player.reality.glyphs.inventory.filter(g => g.idx === ui.chosenCompanionIDx)[0]; Glyphs.removeFromInventory(toDelete); } }, diff --git a/src/components/modals/options/BackupEntry.vue b/src/components/modals/options/BackupEntry.vue index 36913bbd8c..748e8d6e71 100644 --- a/src/components/modals/options/BackupEntry.vue +++ b/src/components/modals/options/BackupEntry.vue @@ -125,8 +125,8 @@ export default { font-size: 1.1rem; border: var(--var-border-width, 0.2rem) solid; border-radius: var(--var-border-radius, 0.4rem); - padding: 0.5rem 0.3rem; margin: 0.3rem; + padding: 0.5rem 0.3rem; } .c-fixed-height { diff --git a/src/components/modals/options/BackupWindowModal.vue b/src/components/modals/options/BackupWindowModal.vue index b0dfa34d68..47dfbccd3f 100644 --- a/src/components/modals/options/BackupWindowModal.vue +++ b/src/components/modals/options/BackupWindowModal.vue @@ -101,7 +101,7 @@ export default { .c-info { - width: 60rem; overflow-x: hidden; + width: 60rem; padding-right: 1rem; } diff --git a/src/components/modals/options/glyph-appearance/GlyphCustomization.vue b/src/components/modals/options/glyph-appearance/GlyphCustomization.vue index fcf112d16f..d6db17e565 100644 --- a/src/components/modals/options/glyph-appearance/GlyphCustomization.vue +++ b/src/components/modals/options/glyph-appearance/GlyphCustomization.vue @@ -179,8 +179,8 @@ export default { diff --git a/src/components/modals/options/glyph-appearance/GlyphDisplayOptionsModal.vue b/src/components/modals/options/glyph-appearance/GlyphDisplayOptionsModal.vue index dc2402948c..122faad871 100644 --- a/src/components/modals/options/glyph-appearance/GlyphDisplayOptionsModal.vue +++ b/src/components/modals/options/glyph-appearance/GlyphDisplayOptionsModal.vue @@ -170,8 +170,8 @@ export default { } .c-glyph-visual-options { - width: 55rem; overflow-x: hidden; + width: 55rem; padding-right: 1rem; } @@ -182,8 +182,8 @@ export default { } .c-dropdown-header { - padding: 0.9rem; height: 6.5rem; + padding: 0.9rem; user-select: none; } diff --git a/src/components/modals/options/hidden-tabs/HiddenSubtabsButton.vue b/src/components/modals/options/hidden-tabs/HiddenSubtabsButton.vue index 6d6c543275..5be0919bea 100644 --- a/src/components/modals/options/hidden-tabs/HiddenSubtabsButton.vue +++ b/src/components/modals/options/hidden-tabs/HiddenSubtabsButton.vue @@ -79,8 +79,8 @@ export default { } .l-hide-modal-button__subtab-icon { - font-size: 1.5rem; width: 2rem; + font-size: 1.5rem; margin: 0.2rem; } diff --git a/src/components/modals/prestige/BigCrunchModal.vue b/src/components/modals/prestige/BigCrunchModal.vue index cf20ef3138..f2126f23f5 100644 --- a/src/components/modals/prestige/BigCrunchModal.vue +++ b/src/components/modals/prestige/BigCrunchModal.vue @@ -17,7 +17,7 @@ export default { }, computed: { isFirstInfinity() { - return !PlayerProgress.infinityUnlocked(); + return !PlayerProgress.infinityUnlocked() && player.records.fullGameCompletions === 0; }, message() { const info = this.isFirstInfinity ? this.firstInfinityInfo : ``; diff --git a/src/components/modals/prestige/ReplicantiGalaxyModal.vue b/src/components/modals/prestige/ReplicantiGalaxyModal.vue index 5e34799080..97d49345be 100644 --- a/src/components/modals/prestige/ReplicantiGalaxyModal.vue +++ b/src/components/modals/prestige/ReplicantiGalaxyModal.vue @@ -31,7 +31,7 @@ export default { methods: { update() { this.replicanti.copyFrom(player.replicanti.amount); - this.divideReplicanti = Achievement(126).isUnlocked; + this.divideReplicanti = Achievement(126).canBeApplied; this.canBeBought = Replicanti.galaxies.gain; if (this.replicanti.lt(Number.MAX_VALUE)) this.emitClose(); }, diff --git a/src/components/modals/prestige/ResetRealityModal.vue b/src/components/modals/prestige/ResetRealityModal.vue index 4117d22741..6524b03cce 100644 --- a/src/components/modals/prestige/ResetRealityModal.vue +++ b/src/components/modals/prestige/ResetRealityModal.vue @@ -60,8 +60,8 @@ export default { diff --git a/src/components/modals/time-study-modal-preview/PseudoTimeStudyButton.vue b/src/components/modals/time-study-modal-preview/PseudoTimeStudyButton.vue index 44b2f1f9b5..921fc5d0eb 100644 --- a/src/components/modals/time-study-modal-preview/PseudoTimeStudyButton.vue +++ b/src/components/modals/time-study-modal-preview/PseudoTimeStudyButton.vue @@ -86,7 +86,8 @@ export default { methods: { update() { const study = this.study; - this.isUseless = Pelle.uselessTimeStudies.includes(this.study.id) && Pelle.isDoomed; + const isCurrentlyUseless = this.study.id === 192 && Pelle.isDoomed && PelleRifts.vacuum.milestones[1].canBeApplied; + this.isUseless = Pelle.isDoomed && (isCurrentlyUseless || Pelle.uselessTimeStudies.includes(this.study.id)); this.isBought = ForceBoughtState.getState(this.forceIsBought, study.isBought); this.doomedRealityStudy = study.type === TIME_STUDY_TYPE.DILATION && study.id === 6 && Pelle.isDoomed; }, @@ -133,7 +134,7 @@ export default { position: absolute; top: 0; left: 0; - background: rgba(255, 214, 11, 0.8); + background: rgb(255, 214, 11, 0.8); border-radius: var(--var-border-radius, inherit); animation: a-new-import 3s infinite; } diff --git a/src/components/tabs/alchemy/AlchemyTab.vue b/src/components/tabs/alchemy/AlchemyTab.vue index 4398b3e449..37b8104ac7 100644 --- a/src/components/tabs/alchemy/AlchemyTab.vue +++ b/src/components/tabs/alchemy/AlchemyTab.vue @@ -288,14 +288,14 @@ export default { position: absolute; top: -1.5rem; left: 0; + z-index: 2; justify-content: center; align-items: center; font-size: 60rem; + opacity: 0.8; color: var(--color-pelle--base); text-shadow: 0 0 3rem; pointer-events: none; user-select: none; - opacity: 0.8; - z-index: 2; } diff --git a/src/components/tabs/antimatter-dimensions/AntimatterDimensionProgressBar.vue b/src/components/tabs/antimatter-dimensions/AntimatterDimensionProgressBar.vue index 5993219f88..50754cd32b 100644 --- a/src/components/tabs/antimatter-dimensions/AntimatterDimensionProgressBar.vue +++ b/src/components/tabs/antimatter-dimensions/AntimatterDimensionProgressBar.vue @@ -34,8 +34,8 @@ export default { // than normal and therefore default filling won't be meaningful. Since challenges get completed or abandoned from // the inside outwards, we show the goals in that priority as well. It only makes sense to check cel6 and not the // others because pre-cel3 completion it'll default to e4000 and cel4/5 don't have meaningful single goals - const inSpecialRun = Player.isInAntimatterChallenge || EternityChallenge.isRunning || player.dilation.active || - Laitela.isRunning; + const inSpecialRun = Player.isInAntimatterChallenge || EternityChallenge.isRunning || + (player.dilation.active && !Pelle.isDoomed) || Laitela.isRunning; if (inSpecialRun) { if (Player.isInAntimatterChallenge) { setProgress(Currency.antimatter.value, Player.antimatterChallenge.goal, "Percentage to Challenge goal"); diff --git a/src/components/tabs/antimatter-dimensions/ClassicAntimatterDimensionRow.vue b/src/components/tabs/antimatter-dimensions/ClassicAntimatterDimensionRow.vue index c5c8f15362..33a3c3127c 100644 --- a/src/components/tabs/antimatter-dimensions/ClassicAntimatterDimensionRow.vue +++ b/src/components/tabs/antimatter-dimensions/ClassicAntimatterDimensionRow.vue @@ -200,14 +200,14 @@ export default { } .o-continuum { - border-color: var(--color-laitela--accent); color: var(--color-laitela--accent); background: var(--color-laitela--base); + border-color: var(--color-laitela--accent); } .o-continuum:hover { - border-color: var(--color-laitela--accent); color: var(--color-laitela--base); background: var(--color-laitela--accent); + border-color: var(--color-laitela--accent); } diff --git a/src/components/tabs/antimatter-dimensions/ClassicAntimatterGalaxyRow.vue b/src/components/tabs/antimatter-dimensions/ClassicAntimatterGalaxyRow.vue index e0d72c6bad..e12ce70e0f 100644 --- a/src/components/tabs/antimatter-dimensions/ClassicAntimatterGalaxyRow.vue +++ b/src/components/tabs/antimatter-dimensions/ClassicAntimatterGalaxyRow.vue @@ -39,8 +39,10 @@ export default { buttonText() { if (this.lockText !== null) return this.lockText; const reset = []; - if (!Achievement(111).isUnlocked) reset.push("Dimensions"); - if (!Achievement(143).isUnlocked) reset.push("Dimension Boosts"); + // eslint-disable-next-line max-len + if (!Achievement(111).isEffectActive && !PelleUpgrade.dimBoostResetsNothing.canBeApplied) reset.push("Dimensions"); + // eslint-disable-next-line max-len + if (!Achievement(143).isEffectActive && !PelleUpgrade.galaxyNoResetDimboost.canBeApplied) reset.push("Dimension Boosts"); return reset.length === 0 ? `Increase the power of Tickspeed upgrades` : `Reset your ${makeEnumeration(reset)} to increase the power of Tickspeed upgrades`; diff --git a/src/components/tabs/antimatter-dimensions/ModernAntimatterDimensionRow.vue b/src/components/tabs/antimatter-dimensions/ModernAntimatterDimensionRow.vue index f42029c023..e500e6518c 100644 --- a/src/components/tabs/antimatter-dimensions/ModernAntimatterDimensionRow.vue +++ b/src/components/tabs/antimatter-dimensions/ModernAntimatterDimensionRow.vue @@ -192,14 +192,14 @@ export default { } .o-continuum { - border-color: var(--color-laitela--accent); color: var(--color-laitela--accent); background: var(--color-laitela--base); + border-color: var(--color-laitela--accent); } .o-continuum:hover { - border-color: var(--color-laitela--accent); color: var(--color-laitela--base); background: var(--color-laitela--accent); + border-color: var(--color-laitela--accent); } diff --git a/src/components/tabs/antimatter-dimensions/ModernAntimatterDimensionsTab.vue b/src/components/tabs/antimatter-dimensions/ModernAntimatterDimensionsTab.vue index a39f8d89ee..4452d7dd61 100644 --- a/src/components/tabs/antimatter-dimensions/ModernAntimatterDimensionsTab.vue +++ b/src/components/tabs/antimatter-dimensions/ModernAntimatterDimensionsTab.vue @@ -86,11 +86,13 @@ export default { this.multiplierText = `Buy 10 Dimension purchase multiplier: ${formatX(this.buy10Mult, 2, 2)}`; if (!isSacrificeUnlocked) return; - this.isFullyAutomated = Autobuyer.sacrifice.isActive && Achievement(118).isUnlocked; - this.isSacrificeAffordable = Sacrifice.canSacrifice && !this.isFullyAutomated; + this.isFullyAutomated = Autobuyer.sacrifice.isActive && Achievement(118).isEffectActive && + Sacrifice.meetsNonBoostConditions; + this.isSacrificeAffordable = this.isFullyAutomated || Sacrifice.canSacrifice; this.currentSacrifice.copyFrom(Sacrifice.totalBoost); this.sacrificeBoost.copyFrom(Sacrifice.nextBoost); - this.disabledCondition = Sacrifice.disabledCondition; + this.disabledCondition = this.isFullyAutomated ? Sacrifice.nonBoostDisabledCondition + : Sacrifice.disabledCondition; const sacText = this.isSacrificeUnlocked ? ` | Dimensional Sacrifice multiplier: ${formatX(this.currentSacrifice, 2, 2)}` : ""; @@ -116,10 +118,10 @@ export default { class="o-primary-btn--sacrifice" @click="sacrifice" > - Dimensional Sacrifice ({{ formatX(sacrificeBoost, 2, 2) }}) - + Dimensional Sacrifice is Automated (Achievement 118) + Dimensional Sacrifice ({{ formatX(sacrificeBoost, 2, 2) }}) Dimensional Sacrifice Disabled ({{ disabledCondition }})