mirror of
https://github.com/IvarK/AntimatterDimensionsSourceCode.git
synced 2024-11-21 19:42:17 +00:00
parent
0bb2eed211
commit
782c5cbb8b
@ -12,7 +12,6 @@
|
||||
--color-antimatter--bg: #df50504d;
|
||||
--color-infinity--bg: #b67f334d;
|
||||
--color-eternity--bg: #b341e04d;
|
||||
--color-earth--bg: #37a4ba4d;
|
||||
}
|
||||
|
||||
:root .t-s12 {
|
||||
@ -38,14 +37,12 @@
|
||||
|
||||
--color-laitela--base: black;
|
||||
--color-laitela--accent: white;
|
||||
|
||||
--color-earth: #37a4ba;
|
||||
}
|
||||
|
||||
:root .t-metro,
|
||||
:root .t-inverted-metro,
|
||||
:root .t-s8 {
|
||||
--color-antimatter--bg: rgba(117, 125, 132, 30%);
|
||||
--color-antimatter--bg: rgba(33, 150, 243, 30%);
|
||||
}
|
||||
|
||||
body.t-normal,
|
||||
@ -269,10 +266,6 @@ body.t-s12 {
|
||||
border-left-color: var(--color-celestials);
|
||||
}
|
||||
|
||||
.o-tab-btn--earth::after {
|
||||
border-left-color: var(--color-earth);
|
||||
}
|
||||
|
||||
.tab-button.shop {
|
||||
background-color: #d9bb26;
|
||||
}
|
||||
@ -427,16 +420,6 @@ body.t-s12 {
|
||||
border-top-color: var(--color-celestials);
|
||||
}
|
||||
|
||||
.o-tab-btn--earth .o-subtab__tooltip {
|
||||
color: var(--color-earth);
|
||||
background: var(--color-prestige--accent);
|
||||
border-color: var(--color-earth);
|
||||
}
|
||||
|
||||
.o-tab-btn--earth .o-subtab__tooltip::after {
|
||||
border-top-color: var(--color-earth);
|
||||
}
|
||||
|
||||
.active {
|
||||
background-color: #2c2933;
|
||||
}
|
||||
@ -842,9 +825,8 @@ body.t-s12 {
|
||||
}
|
||||
|
||||
.c-modern-dim-tooltip-container .c-modern-dim-purchase-count-tooltip {
|
||||
visibility: hidden;
|
||||
width: 20rem;
|
||||
position: absolute;
|
||||
width: 20rem;
|
||||
top: 50%;
|
||||
font-size: 1.3rem;
|
||||
line-height: 1.6rem;
|
||||
@ -852,9 +834,10 @@ 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 {
|
||||
@ -864,11 +847,11 @@ body.t-s12 {
|
||||
.c-modern-dim-tooltip-container .c-modern-dim-purchase-count-tooltip::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 100%;
|
||||
top: 50%;
|
||||
border-top: 0.5rem solid transparent;
|
||||
border-bottom: 0.5rem solid transparent;
|
||||
border-left: 0.5rem solid var(--color-text);
|
||||
border-bottom: 0.5rem solid transparent;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
@ -963,10 +946,6 @@ body.t-s12 {
|
||||
color: var(--color-eternity);
|
||||
}
|
||||
|
||||
.c-game-header__pp-amount {
|
||||
color: var(--color-earth);
|
||||
}
|
||||
|
||||
.t-normal .c-game-header__antimatter,
|
||||
.t-s12 .c-game-header__antimatter {
|
||||
color: var(--color-accent);
|
||||
|
@ -104,8 +104,6 @@ html {
|
||||
|
||||
--color-pelle--base: crimson;
|
||||
--color-pelle--secondary: #00bcd4;
|
||||
|
||||
--color-earth: #37a4ba;
|
||||
}
|
||||
|
||||
:root .t-metro,
|
||||
@ -125,8 +123,6 @@ html {
|
||||
--color-reality: #3a823d;
|
||||
--color-reality-light: #d5ffd7;
|
||||
--color-celestials: #00bcd4;
|
||||
|
||||
--color-earth: #37a4ba;
|
||||
}
|
||||
|
||||
:root .t-dark {
|
||||
@ -146,8 +142,6 @@ html {
|
||||
|
||||
--color-laitela--base: black;
|
||||
--color-laitela--accent: white;
|
||||
|
||||
--color-earth: #37a4ba;
|
||||
}
|
||||
|
||||
:root .t-dark-metro {
|
||||
@ -173,8 +167,6 @@ html {
|
||||
|
||||
--color-laitela--base: black;
|
||||
--color-laitela--accent: white;
|
||||
|
||||
--color-earth: #37a4ba;
|
||||
}
|
||||
|
||||
:root .t-amoled {
|
||||
@ -193,8 +185,6 @@ html {
|
||||
|
||||
--color-laitela--base: black;
|
||||
--color-laitela--accent: white;
|
||||
|
||||
--color-earth: #37a4ba;
|
||||
}
|
||||
|
||||
:root .t-amoled-metro {
|
||||
@ -217,8 +207,6 @@ html {
|
||||
|
||||
--color-laitela--base: black;
|
||||
--color-laitela--accent: white;
|
||||
|
||||
--color-earth: #37a4ba;
|
||||
}
|
||||
|
||||
:root .t-s1 {
|
||||
@ -268,8 +256,6 @@ html {
|
||||
|
||||
--color-laitela--base: black;
|
||||
--color-laitela--accent: white;
|
||||
|
||||
--color-earth: #37a4ba;
|
||||
}
|
||||
|
||||
:root .t-s11 {
|
||||
@ -286,8 +272,6 @@ html {
|
||||
|
||||
--color-laitela--base: black;
|
||||
--color-laitela--accent: white;
|
||||
|
||||
--color-earth: #37a4ba;
|
||||
}
|
||||
|
||||
:root .s-base--metro {
|
||||
@ -770,16 +754,6 @@ button:focus {
|
||||
background: var(--color-celestials);
|
||||
}
|
||||
|
||||
.o-tab-btn--earth {
|
||||
color: var(--color-earth);
|
||||
background-color: var(--color-prestige--accent);
|
||||
border-color: var(--color-earth);
|
||||
}
|
||||
|
||||
.o-tab-btn--earth:hover {
|
||||
background: var(--color-earth);
|
||||
}
|
||||
|
||||
/* #endregion tab buttons */
|
||||
|
||||
#loading {
|
||||
@ -2159,19 +2133,6 @@ br {
|
||||
|
||||
/* #endregion Eternity */
|
||||
|
||||
.o-planet-button {
|
||||
font-weight: bold;
|
||||
color: var(--color-earth);
|
||||
background-color: var(--color-prestige--accent);
|
||||
border-color: var(--color-earth);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.o-planet-button:hover {
|
||||
color: black;
|
||||
background-color: var(--color-earth);
|
||||
}
|
||||
|
||||
/* #endregion Big Crunch */
|
||||
|
||||
/* #endregion o-prestige-btn */
|
||||
@ -2347,12 +2308,6 @@ br {
|
||||
|
||||
/* #endregion EP Amount */
|
||||
|
||||
/* #region PP Amount */
|
||||
|
||||
.c-game-header__pp-amount {
|
||||
color: var(--color-earth);
|
||||
}
|
||||
|
||||
/* #region c-game-header__antimatter */
|
||||
|
||||
.c-game-header__antimatter {
|
||||
@ -2450,14 +2405,13 @@ br {
|
||||
}
|
||||
|
||||
.c-dim-tooltip-container {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.c-dim-tooltip-container .c-dim-purchase-count-tooltip {
|
||||
visibility: hidden;
|
||||
width: 20rem;
|
||||
position: absolute;
|
||||
width: 20rem;
|
||||
top: 50%;
|
||||
font-size: 1.3rem;
|
||||
line-height: 1.6rem;
|
||||
@ -2465,8 +2419,9 @@ br {
|
||||
background: black;
|
||||
border: 0.1rem solid var(--color-text);
|
||||
border-radius: var(--var-border-width, 0.5rem);
|
||||
padding: 0.5rem;
|
||||
transform: translate(calc(-100% - 1.5rem), -50%);
|
||||
padding: 0.5rem;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.c-dim-tooltip-container:hover .c-dim-purchase-count-tooltip {
|
||||
@ -2476,11 +2431,11 @@ br {
|
||||
.c-dim-tooltip-container .c-dim-purchase-count-tooltip::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 100%;
|
||||
top: 50%;
|
||||
border-top: 0.5rem solid transparent;
|
||||
border-bottom: 0.5rem solid transparent;
|
||||
border-left: 0.5rem solid var(--color-text);
|
||||
border-bottom: 0.5rem solid transparent;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
@ -3256,6 +3211,7 @@ br {
|
||||
border-color: #388e3c;
|
||||
}
|
||||
|
||||
|
||||
/* #endregion t-dark-metro */
|
||||
|
||||
/* #region t-metro t-inverted-metro t-s8 */
|
||||
@ -4625,11 +4581,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 */
|
||||
@ -5764,9 +5720,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 {
|
||||
@ -8605,8 +8561,8 @@ kbd {
|
||||
background:
|
||||
repeating-linear-gradient(
|
||||
-45deg,
|
||||
#a2a229,
|
||||
#a2a229 3rem,
|
||||
#A2A229,
|
||||
#A2A229 3rem,
|
||||
#919122 3rem,
|
||||
#919122 6rem
|
||||
);
|
||||
@ -8638,11 +8594,11 @@ kbd {
|
||||
.o-requirement-lock {
|
||||
position: absolute;
|
||||
font-size: 5rem;
|
||||
opacity: 0.4;
|
||||
color: black;
|
||||
padding: 0.5rem 1.8rem;
|
||||
pointer-events: none;
|
||||
color: black;
|
||||
opacity: 0.4;
|
||||
user-select: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.c-reality-upgrade-btn--black-hole-unlock {
|
||||
|
@ -1,37 +0,0 @@
|
||||
<script>
|
||||
import ResetModal from "@/components/modals/prestige/ResetModal";
|
||||
|
||||
export default {
|
||||
name: "PlanetsModal",
|
||||
components: {
|
||||
ResetModal
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
gainedPlanetPoints: new Decimal()
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
gainedResources() {
|
||||
return `You will gain ${quantify("Planet Point", this.gainedPlanetPoints, 2, 0)}.`;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
update() {
|
||||
this.gainedPlanetPoints = gainedPlanetPoints().round();
|
||||
},
|
||||
handleYesClick() {
|
||||
planetsReset();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<ResetModal
|
||||
header="You are about to Explore"
|
||||
message="Nice going, Genghis. I bet that'll last a long time"
|
||||
:gained-resources="gainedResources"
|
||||
:confirm-fn="handleYesClick"
|
||||
/>
|
||||
</template>
|
@ -1,15 +0,0 @@
|
||||
<script>
|
||||
export default {
|
||||
name: "EarthTab",
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="l-break-infinity-tab">
|
||||
<h1>Earth's tab</h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
@ -1,25 +0,0 @@
|
||||
<script>
|
||||
import ModernSolarDimensionsTab from "@/components/tabs/earth/ModernSolarDimensionsTab";
|
||||
|
||||
export default {
|
||||
name: "MarsTab",
|
||||
components: {
|
||||
ModernSolarDimensionsTab
|
||||
},
|
||||
computed: {
|
||||
activeComponent() {
|
||||
return this.$viewModel.newUI
|
||||
? "ModernSolarDimensionsTab"
|
||||
: "";
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<component :is="activeComponent" />
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
@ -1,101 +0,0 @@
|
||||
<script>
|
||||
import GenericDimensionRowText from "@/components/GenericDimensionRowText";
|
||||
import PrimaryButton from "@/components/PrimaryButton";
|
||||
|
||||
export default {
|
||||
name: "ModernSolarDimensionRow",
|
||||
components: {
|
||||
GenericDimensionRowText,
|
||||
PrimaryButton
|
||||
},
|
||||
props: {
|
||||
tier: {
|
||||
type: Number,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isUnlocked: false,
|
||||
multiplier: new Decimal(0),
|
||||
amount: new Decimal(0),
|
||||
bought: 0,
|
||||
rateOfChange: new Decimal(0),
|
||||
cost: new Decimal(0),
|
||||
isAvailableForPurchase: false,
|
||||
requirementReached: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
name() {
|
||||
return `${SolarDimension(this.tier).shortDisplayName} Solar Dimension`;
|
||||
},
|
||||
showRow() {
|
||||
return true;
|
||||
},
|
||||
buttonContents() {
|
||||
return `Cost: ${format(this.cost, 2)} PP`;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
update() {
|
||||
const tier = this.tier;
|
||||
const dimension = SolarDimension(tier);
|
||||
this.isUnlocked = dimension.isUnlocked;
|
||||
this.multiplier.copyFrom(dimension.multiplier);
|
||||
this.amount.copyFrom(dimension.amount);
|
||||
this.bought = dimension.bought;
|
||||
if (tier < 8) {
|
||||
this.rateOfChange.copyFrom(dimension.rateOfChange);
|
||||
}
|
||||
this.cost.copyFrom(dimension.cost);
|
||||
this.isAvailableForPurchase = dimension.isAvailableForPurchase;
|
||||
this.requirementReached = Currency.planetPoints.gte(dimension.cost);
|
||||
},
|
||||
buySolarDimension() {
|
||||
buySingleSolarDimension(this.tier);
|
||||
},
|
||||
buyMaxSolarDimension() {
|
||||
buyMaxSolarDimension(this.tier);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div
|
||||
v-show="showRow"
|
||||
class="c-dimension-row l-dimension-row-solar-dim l-dimension-single-row"
|
||||
:class="{ 'c-dim-row--not-reached': (!isUnlocked || !requirementReached) && !amount.gt(0) }"
|
||||
>
|
||||
<GenericDimensionRowText
|
||||
:tier="tier"
|
||||
:name="name"
|
||||
:multiplier-text="formatX(multiplier, 2, 1)"
|
||||
:amount-text="format(amount, 2)"
|
||||
:rate="rateOfChange"
|
||||
/>
|
||||
<div class="l-dim-row-multi-button-container">
|
||||
<PrimaryButton
|
||||
:enabled="isAvailableForPurchase"
|
||||
class="o-primary-btn--buy-td o-primary-btn o-primary-btn--new o-primary-btn--buy-dim"
|
||||
@click="buySolarDimension"
|
||||
>
|
||||
{{ buttonContents }}
|
||||
</PrimaryButton>
|
||||
<PrimaryButton
|
||||
:enabled="isAvailableForPurchase"
|
||||
class="o-primary-btn--buy-td-auto"
|
||||
@click="buyMaxSolarDimension"
|
||||
>
|
||||
Buy Max
|
||||
</PrimaryButton>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.l-dimension-row-solar-dim:nth-child(even) {
|
||||
background-color: var(--color-earth--bg);
|
||||
}
|
||||
</style>
|
@ -1,76 +0,0 @@
|
||||
<script>
|
||||
import ModernSolarDimensionRow from "@/components/tabs/earth/ModernSolarDimensionRow";
|
||||
import PrimaryButton from "@/components/PrimaryButton";
|
||||
|
||||
export default {
|
||||
name: "ModernSolarDimensionsTab",
|
||||
components: {
|
||||
ModernSolarDimensionRow,
|
||||
PrimaryButton
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
watts: new Decimal(0),
|
||||
wattsPerSecond: new Decimal(0)
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
update() {
|
||||
this.watts.copyFrom(Currency.watts);
|
||||
this.wattsPerSecond.copyFrom(SolarDimension(1).productionPerSecond);
|
||||
},
|
||||
maxAll() {
|
||||
maxAllSolarDimensions();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="l-time-dim-tab l-centered-vertical-tab">
|
||||
<div class="c-subtab-option-container">
|
||||
<PrimaryButton
|
||||
class="o-primary-btn--subtab-option"
|
||||
@click="maxAll"
|
||||
>
|
||||
Max all
|
||||
</PrimaryButton>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
You have gained
|
||||
<span class="c-solar-dim-description__accent">{{ format(watts, 2, 1) }}</span> Watts.
|
||||
</p>
|
||||
</div>
|
||||
<div>You are getting {{ format(wattsPerSecond, 2, 0) }} Watts per second.</div>
|
||||
<div class="l-dimensions-container">
|
||||
<ModernSolarDimensionRow
|
||||
v-for="tier in 8"
|
||||
:key="tier"
|
||||
:tier="tier"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.c-solar-dim-description__accent {
|
||||
font-size: 3.5rem;
|
||||
color: var(--color-earth);
|
||||
}
|
||||
|
||||
.t-metro .c-solar-dim-description__accent,
|
||||
.t-s8 .c-solar-dim-description__accent {
|
||||
text-shadow: 0 0 0.1rem rgba(0, 0, 0, 50%), -0.1rem 0.1rem 0.1rem black;
|
||||
}
|
||||
|
||||
.t-dark .c-time-dim-description__accent,
|
||||
.t-amoled .c-time-dim-description__accent,
|
||||
.t-amoled-metro .c-time-dim-description__accent,
|
||||
.t-s6 .c-time-dim-description__accent,
|
||||
.t-s10 .c-time-dim-description__accent,
|
||||
.t-s11 .c-time-dim-description__accent {
|
||||
color: var(--color-earth);
|
||||
text-shadow: 0 0 0.7rem var(--color-earth);
|
||||
}
|
||||
</style>
|
@ -1,15 +0,0 @@
|
||||
<script>
|
||||
export default {
|
||||
name: "VenusTab",
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="l-break-infinity-tab">
|
||||
<h1>Venus' tab</h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
@ -7,7 +7,6 @@ import BlackHoleTab from "./black-hole/BlackHoleTab";
|
||||
import BreakInfinityTab from "./break-infinity/BreakInfinityTab";
|
||||
import CelestialNavigationTab from "./celestial-navigation/CelestialNavigationTab";
|
||||
import ChallengeRecordsTab from "./challenge-records/ChallengeRecordsTab";
|
||||
import EarthTab from "./earth/EarthTab";
|
||||
import EffarigTab from "./celestial-effarig/EffarigTab";
|
||||
import EnslavedTab from "./celestial-enslaved/EnslavedTab";
|
||||
import EternityChallengesTab from "./eternity-challenges/EternityChallengesTab";
|
||||
@ -20,7 +19,6 @@ import InfinityChallengesTab from "./infinity-challenges/InfinityChallengesTab";
|
||||
import InfinityDimensionsTab from "./infinity-dimensions/InfinityDimensionsTab";
|
||||
import InfinityUpgradesTab from "./infinity-upgrades/InfinityUpgradesTab";
|
||||
import LaitelaTab from "./celestial-laitela/LaitelaTab";
|
||||
import MarsTab from "./earth/MarsTab";
|
||||
import MultiplierBreakdownTab from "./statistics/MultiplierBreakdownTab";
|
||||
import NormalAchievementsTab from "./normal-achievements/NormalAchievementsTab";
|
||||
import NormalChallengesTab from "./normal-challenges/NormalChallengesTab";
|
||||
@ -42,7 +40,6 @@ import TeresaTab from "./celestial-teresa/TeresaTab";
|
||||
import TimeDilationTab from "./time-dilation/TimeDilationTab";
|
||||
import TimeDimensionsTab from "./time-dimensions/TimeDimensionsTab";
|
||||
import TimeStudiesTab from "./time-studies/TimeStudiesTab";
|
||||
import VenusTab from "./earth/VenusTab";
|
||||
import VTab from "./celestial-v/VTab";
|
||||
|
||||
const TabComponents = {
|
||||
@ -87,10 +84,7 @@ const TabComponents = {
|
||||
AlchemyTab,
|
||||
CelestialNavigationTab,
|
||||
ShopTab,
|
||||
MultiplierBreakdownTab,
|
||||
VenusTab,
|
||||
EarthTab,
|
||||
MarsTab
|
||||
MultiplierBreakdownTab
|
||||
};
|
||||
|
||||
export default TabComponents;
|
||||
|
@ -28,8 +28,7 @@ export default {
|
||||
"o-tab-btn--infinity": this.parentName === "Infinity",
|
||||
"o-tab-btn--eternity": this.parentName === "Eternity",
|
||||
"o-tab-btn--reality": this.parentName === "Reality",
|
||||
"o-tab-btn--celestial": this.parentName === "Celestials",
|
||||
"o-tab-btn--earth": this.parentName === "Planets"
|
||||
"o-tab-btn--celestial": this.parentName === "Celestials"
|
||||
};
|
||||
},
|
||||
},
|
||||
|
@ -136,10 +136,6 @@ export default {
|
||||
background-color: var(--color-celestials);
|
||||
}
|
||||
|
||||
.o-tab-btn--earth::before {
|
||||
background-color: var(--color-earth);
|
||||
}
|
||||
|
||||
.o-subtab-btn--active {
|
||||
border-bottom-width: 0.5rem;
|
||||
}
|
||||
|
@ -1,18 +1,15 @@
|
||||
<script>
|
||||
import BigCrunchButton from "./BigCrunchButton";
|
||||
import PlanetButton from "./PlanetButton";
|
||||
|
||||
export default {
|
||||
name: "HeaderInfinityContainer",
|
||||
components: {
|
||||
BigCrunchButton,
|
||||
PlanetButton
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showContainer: false,
|
||||
infinityPoints: new Decimal(0),
|
||||
planetPoints: new Decimal(0),
|
||||
isTesseractUnlocked: false,
|
||||
tesseractCost: new Decimal(0),
|
||||
tesseractText: "",
|
||||
@ -22,7 +19,6 @@ export default {
|
||||
update() {
|
||||
this.showContainer = player.break || PlayerProgress.infinityUnlocked();
|
||||
this.infinityPoints.copyFrom(Currency.infinityPoints.value.floor());
|
||||
this.planetPoints.copyFrom(Currency.planetPoints.value.floor());
|
||||
this.isTesseractUnlocked = Enslaved.isCompleted;
|
||||
this.tesseractCost = Tesseracts.nextCost;
|
||||
this.tesseractText = this.tesseractProgress();
|
||||
@ -51,12 +47,6 @@ export default {
|
||||
/>
|
||||
</div>
|
||||
<BigCrunchButton />
|
||||
<div class="c-planet-points">
|
||||
You have
|
||||
<span class="c-game-header__pp-amount">{{ format(planetPoints, 2) }}</span>
|
||||
{{ pluralize("Planet Point", planetPoints) }}.
|
||||
</div>
|
||||
<PlanetButton />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -65,9 +55,4 @@ export default {
|
||||
font-size: 1.2rem;
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.c-planet-points {
|
||||
font-size: 1.2rem;
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
</style>
|
||||
|
@ -1,37 +0,0 @@
|
||||
<script>
|
||||
export default {
|
||||
name: "PlanetButton",
|
||||
data() {
|
||||
return {
|
||||
gainedPP: new Decimal(0)
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
buttonClassObject() {
|
||||
return {
|
||||
"o-planet-button": true
|
||||
};
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
update() {
|
||||
this.gainedPP.copyFrom(gainedPlanetPoints());
|
||||
},
|
||||
explore() {
|
||||
planetResetRequest();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<button
|
||||
:class="buttonClassObject"
|
||||
class="o-prestige-button"
|
||||
@click="explore"
|
||||
>
|
||||
Explore the planets for
|
||||
<span>{{ format(gainedPP, 2) }}</span>
|
||||
Planet {{ pluralize("Point", gainedPP) }}
|
||||
</button>
|
||||
</template>
|
@ -101,8 +101,6 @@ export const GameCache = {
|
||||
|
||||
timeDimensionCommonMultiplier: new Lazy(() => timeDimensionCommonMultiplier()),
|
||||
|
||||
solarDimensionCommonMultiplier: new Lazy(() => solarDimensionCommonMultiplier()),
|
||||
|
||||
glyphInventorySpace: new Lazy(() => Glyphs.freeInventorySpace),
|
||||
|
||||
glyphEffects: new Lazy(() => orderedEffectList.mapToObject(k => k, k => getAdjustedGlyphEffectUncached(k))),
|
||||
|
@ -477,13 +477,3 @@ Currency.galaxyGeneratorGalaxies = new class extends NumberCurrency {
|
||||
player.celestials.pelle.galaxyGenerator.spentGalaxies += spent;
|
||||
}
|
||||
}();
|
||||
|
||||
Currency.planetPoints = new class extends DecimalCurrency {
|
||||
get value() { return player.planetPoints; }
|
||||
set value(value) { player.planetPoints = value; }
|
||||
}();
|
||||
|
||||
Currency.watts = new class extends DecimalCurrency {
|
||||
get value() { return player.watts; }
|
||||
set value(value) { player.watts = value; }
|
||||
}();
|
@ -1,183 +0,0 @@
|
||||
import { DC } from "../constants";
|
||||
|
||||
import { DimensionState } from "./dimension";
|
||||
|
||||
export function solarDimensionCommonMultiplier() {
|
||||
return DC.D1;
|
||||
}
|
||||
|
||||
export function buySingleSolarDimension(tier) {
|
||||
const dim = SolarDimension(tier);
|
||||
if (Currency.planetPoints.lt(dim.cost)) return false;
|
||||
|
||||
Currency.planetPoints.subtract(dim.cost);
|
||||
dim.amount = dim.amount.plus(1);
|
||||
dim.bought++;
|
||||
dim.cost = dim.nextCost(dim.bought);
|
||||
return true;
|
||||
}
|
||||
|
||||
export function buyMaxSolarDimension(tier, portionToSpend = 1) {
|
||||
const dim = SolarDimension(tier);
|
||||
const points = Currency.planetPoints.value.times(portionToSpend);
|
||||
|
||||
if (points.lt(dim.cost)) return false;
|
||||
|
||||
const bulk = bulkBuyBinarySearch(points, {
|
||||
costFunction: bought => dim.nextCost(bought),
|
||||
cumulative: true,
|
||||
firstCost: dim.cost
|
||||
}, dim.bought);
|
||||
|
||||
if (!bulk) return false;
|
||||
|
||||
Currency.planetPoints.subtract(bulk.purchasePrice);
|
||||
dim.amount = dim.amount.plus(bulk.quantity);
|
||||
dim.bought += bulk.quantity;
|
||||
dim.cost = dim.nextCost(dim.bought);
|
||||
return true;
|
||||
}
|
||||
|
||||
export function maxAllSolarDimensions() {
|
||||
// Try to buy single from the highest affordable new dimensions
|
||||
for (let i = 8; i > 0 && SolarDimension(i).bought === 0; i--) {
|
||||
buySingleSolarDimension(i);
|
||||
}
|
||||
|
||||
// Buy everything costing less than 1% of initial EP
|
||||
for (let i = 8; i > 0; i--) {
|
||||
buyMaxSolarDimension(i, 0.01);
|
||||
}
|
||||
|
||||
// Loop buying the cheapest dimension possible; explicit infinite loops make me nervous
|
||||
const unlockedDimensions = SolarDimensions.all.filter(d => d.isUnlocked);
|
||||
for (let stop = 0; stop < 1000; stop++) {
|
||||
const cheapestDim = unlockedDimensions.reduce((a, b) => (b.cost.gte(a.cost) ? a : b));
|
||||
if (!buySingleSolarDimension(cheapestDim.tier, true)) break;
|
||||
}
|
||||
}
|
||||
|
||||
export function fullResetSolarDimensions() {
|
||||
for (const dim of SolarDimensions.all) {
|
||||
dim.cost = new Decimal(dim.baseCost);
|
||||
dim.amount = DC.D0;
|
||||
dim.bought = 0;
|
||||
}
|
||||
player.watts = new Decimal(0);
|
||||
}
|
||||
|
||||
class SolarDimensionState extends DimensionState {
|
||||
constructor(tier) {
|
||||
super(() => player.dimensions.solar, tier);
|
||||
const BASE_COSTS = [null, DC.D1, DC.D5, DC.E3, DC.E10, DC.E100, DC.E1000, DC.E5000, DC.E10000];
|
||||
this._baseCost = BASE_COSTS[tier];
|
||||
const BASE_COST_MULTIPLIERS = [null, DC.D2, DC.D5, DC.E3, DC.E10, DC.E100, DC.E1000, DC.E5000, DC.E10000];
|
||||
this._baseCostMultiplier = BASE_COST_MULTIPLIERS[tier];
|
||||
}
|
||||
|
||||
get cost() { return this.data.cost; }
|
||||
set cost(value) { this.data.cost = value; }
|
||||
|
||||
nextCost(bought) {
|
||||
return Decimal.pow(this._baseCostMultiplier, bought).times(this.baseCost);
|
||||
}
|
||||
|
||||
get isUnlocked() {
|
||||
return true;
|
||||
}
|
||||
|
||||
get isAffordable() {
|
||||
return Currency.planetPoints.gte(this.cost);
|
||||
}
|
||||
|
||||
get isAvailableForPurchase() {
|
||||
return this.isAffordable;
|
||||
}
|
||||
|
||||
get multiplier() {
|
||||
const tier = this._tier;
|
||||
|
||||
const dim = SolarDimension(tier);
|
||||
const bought = tier === 8 ? Math.clampMax(dim.bought, 1e8) : dim.bought;
|
||||
return GameCache.solarDimensionCommonMultiplier.value.times(Decimal.pow(dim.powerMultiplier, bought));
|
||||
}
|
||||
|
||||
get productionPerSecond() {
|
||||
return this.amount.times(this.multiplier);
|
||||
}
|
||||
|
||||
get rateOfChange() {
|
||||
const tier = this._tier;
|
||||
if (tier === 8) {
|
||||
return DC.D0;
|
||||
}
|
||||
const toGain = SolarDimension(tier + 1).productionPerSecond;
|
||||
const current = Decimal.max(this.amount, 1);
|
||||
return toGain.times(10).dividedBy(current);
|
||||
}
|
||||
|
||||
get isProducting() {
|
||||
return this.amount.gt(0);
|
||||
}
|
||||
|
||||
get baseCost() {
|
||||
return this._baseCost;
|
||||
}
|
||||
|
||||
get costMultiplier() {
|
||||
return this._costMultiplier;
|
||||
}
|
||||
|
||||
get baseAmount() {
|
||||
return this.data.baseAmount;
|
||||
}
|
||||
|
||||
set baseAmount(value) {
|
||||
this.data.baseAmount = value;
|
||||
}
|
||||
|
||||
get powerMultiplier() {
|
||||
return DC.D4;
|
||||
}
|
||||
}
|
||||
|
||||
export const SolarDimension = SolarDimensionState.createAccessor();
|
||||
|
||||
export const SolarDimensions = {
|
||||
all: SolarDimension.index.compact(),
|
||||
canBuy() {
|
||||
return true;
|
||||
},
|
||||
tick(diff) {
|
||||
for (let tier = 8; tier > 1; tier--) {
|
||||
SolarDimension(tier).produceDimensions(SolarDimension(tier - 1), diff / 10);
|
||||
}
|
||||
|
||||
SolarDimension(1).produceCurrency(Currency.watts, diff);
|
||||
},
|
||||
buySingle() {
|
||||
if (!this.isAvailableForPurchase) return false;
|
||||
Currency.planetPoints.purchase(this.cost);
|
||||
this.cost = dim.nextCost(dim.bought);
|
||||
this.amount = this.amount.plus(1);
|
||||
|
||||
return true;
|
||||
},
|
||||
buyMax() {
|
||||
if (!this.isAvailableForPurchase) return false;
|
||||
|
||||
const costScaling = new LinearCostScaling(
|
||||
Currency.planetPoints.value,
|
||||
this.cost,
|
||||
this.costMultiplier
|
||||
);
|
||||
|
||||
if (costScaling.purchases <= 0) return false;
|
||||
|
||||
Currency.planetPoints.purchase(costScaling.totalCost);
|
||||
this.cost = this.cost.times(costScaling.totalCostMultiplier);
|
||||
this.amount = this.amount.plus(costScaling.purchases);
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
@ -61,7 +61,6 @@ export * from "./tickspeed";
|
||||
export * from "./dimensions/antimatter-dimension";
|
||||
export * from "./dimensions/infinity-dimension";
|
||||
export * from "./dimensions/time-dimension";
|
||||
export * from "./dimensions/solar-dimensions";
|
||||
|
||||
export * from "./time-studies";
|
||||
|
||||
@ -74,7 +73,6 @@ export * from "./normal-challenges";
|
||||
export * from "./infinity-challenges";
|
||||
export * from "./eternity";
|
||||
export * from "./eternity-challenge";
|
||||
export * from "./planets";
|
||||
export * from "./reality";
|
||||
export * from "./replicanti";
|
||||
export * from "./time-theorems";
|
||||
|
@ -21,7 +21,6 @@ import HardResetModal from "@/components/modals/prestige/HardResetModal";
|
||||
import RealityModal from "@/components/modals/prestige/RealityModal";
|
||||
import ReplicantiGalaxyModal from "@/components/modals/prestige/ReplicantiGalaxyModal";
|
||||
import ResetRealityModal from "@/components/modals/prestige/ResetRealityModal";
|
||||
import PlanetsModal from "@/components/modals/prestige/PlanetsModal";
|
||||
|
||||
import AnimationOptionsModal from "@/components/modals/options/AnimationOptionsModal";
|
||||
import AwayProgressOptionsModal from "@/components/modals/options/AwayProgressOptionsModal";
|
||||
@ -218,7 +217,6 @@ Modal.enterSpeedrun = new Modal(SpeedrunModeModal);
|
||||
Modal.modifySeed = new Modal(ModifySeedModal);
|
||||
Modal.changeName = new Modal(ChangeNameModal);
|
||||
Modal.armageddon = new Modal(ArmageddonModal, 1);
|
||||
Modal.planets = new Modal(PlanetsModal, 1);
|
||||
|
||||
Modal.confirmationOptions = new Modal(ConfirmationOptionsModal);
|
||||
Modal.infoDisplayOptions = new Modal(InfoDisplayOptionsModal);
|
||||
|
@ -1,15 +0,0 @@
|
||||
export function planetResetRequest() {
|
||||
askPlanetConfirmation();
|
||||
}
|
||||
|
||||
function askPlanetConfirmation() {
|
||||
if (player.options.confirmations.planets) {
|
||||
Modal.planets.show();
|
||||
} else {
|
||||
planetsReset();
|
||||
}
|
||||
}
|
||||
|
||||
export function planetsReset() {
|
||||
console.log("Nice button nerd");
|
||||
}
|
@ -27,11 +27,6 @@ window.player = {
|
||||
cost: [DC.D1, DC.D5, DC.E2, DC.E3, DC.E2350, DC.E2650, DC.E3000, DC.E3350][tier],
|
||||
amount: DC.D0,
|
||||
bought: 0
|
||||
})),
|
||||
solar: Array.range(0, 8).map(tier => ({
|
||||
cost: [DC.D1, DC.D5, DC.E3, DC.E10, DC.E100, DC.E1000, DC.E5000, DC.E10000][tier],
|
||||
amount: DC.D0,
|
||||
bought: 0
|
||||
}))
|
||||
},
|
||||
buyUntil10: true,
|
||||
@ -764,16 +759,6 @@ window.player = {
|
||||
showBought: false,
|
||||
}
|
||||
},
|
||||
planetPoints: DC.D0,
|
||||
watts: DC.D0,
|
||||
planets: {
|
||||
earth: {
|
||||
unlocked: false
|
||||
},
|
||||
mars: {
|
||||
unlocked: false
|
||||
}
|
||||
},
|
||||
isGameEnd: false,
|
||||
tabNotifications: new Set(),
|
||||
triggeredTabNotificationBits: 0,
|
||||
@ -874,8 +859,7 @@ window.player = {
|
||||
antimatterGalaxy: true,
|
||||
dimensionBoost: true,
|
||||
switchAutomatorMode: true,
|
||||
respecIAP: true,
|
||||
planets: true,
|
||||
respecIAP: true
|
||||
},
|
||||
awayProgress: {
|
||||
antimatter: true,
|
||||
|
@ -496,40 +496,5 @@ export const tabs = [
|
||||
hidable: true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
key: "planets",
|
||||
name: "Planets",
|
||||
hideAt: 1.9,
|
||||
UIClass: "o-tab-btn--earth",
|
||||
condition: () => true,
|
||||
id: 11,
|
||||
hidable: true,
|
||||
subtabs: [
|
||||
{
|
||||
key: "venus",
|
||||
name: "Venus, Bringer of Peace",
|
||||
symbol: "*",
|
||||
component: "VenusTab",
|
||||
id: 2,
|
||||
hidable: true
|
||||
},
|
||||
{
|
||||
key: "earth",
|
||||
name: "Earth",
|
||||
symbol: "%",
|
||||
component: "EarthTab",
|
||||
id: 0,
|
||||
hidable: true
|
||||
},
|
||||
{
|
||||
key: "mars",
|
||||
name: "Mars, Bringer of War",
|
||||
symbol: "?",
|
||||
component: "MarsTab",
|
||||
id: 1,
|
||||
hidable: true
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
@ -206,8 +206,7 @@ export const Tabs = (function() {
|
||||
Tab.eternity,
|
||||
Tab.reality,
|
||||
Tab.celestials,
|
||||
Tab.shop,
|
||||
Tab.planets
|
||||
Tab.shop
|
||||
],
|
||||
newUI: [
|
||||
Tab.dimensions,
|
||||
@ -220,8 +219,7 @@ export const Tabs = (function() {
|
||||
Tab.achievements,
|
||||
Tab.statistics,
|
||||
Tab.options,
|
||||
Tab.shop,
|
||||
Tab.planets
|
||||
Tab.shop
|
||||
],
|
||||
get currentUIFormat() {
|
||||
return ui.view.newUI ? this.newUI : this.oldUI;
|
||||
|
@ -170,10 +170,6 @@ export function gainedGlyphLevel() {
|
||||
};
|
||||
}
|
||||
|
||||
export function gainedPlanetPoints() {
|
||||
return new Decimal(1);
|
||||
}
|
||||
|
||||
export function resetChallengeStuff() {
|
||||
player.chall2Pow = 1;
|
||||
player.chall3Pow = DC.D0_01;
|
||||
@ -402,8 +398,6 @@ export function realTimeMechanics(realDiff) {
|
||||
|
||||
DarkMatterDimensions.tick(realDiff);
|
||||
|
||||
SolarDimensions.tick(realDiff);
|
||||
|
||||
// When storing real time, skip everything else having to do with production once stats are updated
|
||||
if (Enslaved.isStoringRealTime) {
|
||||
player.records.realTimePlayed += realDiff;
|
||||
@ -489,7 +483,6 @@ export function gameLoop(passDiff, options = {}) {
|
||||
GameCache.antimatterDimensionFinalMultipliers.invalidate();
|
||||
GameCache.infinityDimensionCommonMultiplier.invalidate();
|
||||
GameCache.timeDimensionCommonMultiplier.invalidate();
|
||||
GameCache.solarDimensionCommonMultiplier.invalidate();
|
||||
GameCache.totalIPMult.invalidate();
|
||||
|
||||
const blackHoleDiff = realDiff;
|
||||
|
Loading…
Reference in New Issue
Block a user