mirror of
https://github.com/IvarK/AntimatterDimensionsSourceCode.git
synced 2024-12-01 16:41:49 +00:00
rename dimshifts to boosts, fix ic3 wording, improve inf upg wording
This commit is contained in:
parent
b212970b12
commit
e6dad499dd
@ -190,7 +190,7 @@
|
||||
|
||||
<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-shift-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>
|
||||
|
@ -1,13 +1,12 @@
|
||||
"use strict";
|
||||
|
||||
Vue.component("antimatter-dim-shift-row", {
|
||||
Vue.component("antimatter-dim-boost-row", {
|
||||
data() {
|
||||
return {
|
||||
requirement: {
|
||||
tier: 1,
|
||||
amount: 0
|
||||
},
|
||||
isShift: false,
|
||||
isBuyable: false,
|
||||
purchasedBoosts: 0,
|
||||
freeBoosts: 0,
|
||||
@ -15,15 +14,15 @@ Vue.component("antimatter-dim-shift-row", {
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
name() {
|
||||
return this.isShift ? "Shift" : "Boost";
|
||||
},
|
||||
dimName() {
|
||||
return AntimatterDimension(this.requirement.tier).displayName;
|
||||
},
|
||||
buttonText() {
|
||||
let dimensionRange = "the 1st Dimension";
|
||||
if (this.purchasedBoosts > 0) dimensionRange = `Dimensions 1-${Math.min(this.purchasedBoosts + 1, 8)}`;
|
||||
if (this.purchasedBoosts >= 7) dimensionRange = `all Dimensions`;
|
||||
return this.lockText === null
|
||||
? `Reset your Dimensions for a ${this.isShift ? "new Dimension" : "boost"}`
|
||||
? `Reset your Dimensions for a new Dimension and a boost to ${dimensionRange}`
|
||||
: this.lockText;
|
||||
},
|
||||
boostCountText() {
|
||||
@ -38,7 +37,7 @@ Vue.component("antimatter-dim-shift-row", {
|
||||
return sum;
|
||||
},
|
||||
tutorialClass() {
|
||||
return Tutorial.glowingClass(TUTORIAL_STATE.DIMSHIFT, this.isBuyable);
|
||||
return Tutorial.glowingClass(TUTORIAL_STATE.DIMBOOST, this.isBuyable);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@ -47,14 +46,13 @@ Vue.component("antimatter-dim-shift-row", {
|
||||
this.requirement.tier = requirement.tier;
|
||||
this.requirement.amount = requirement.amount;
|
||||
this.isBuyable = requirement.isSatisfied && DimBoost.canBeBought;
|
||||
this.isShift = DimBoost.isShift;
|
||||
this.purchasedBoosts = DimBoost.purchasedBoosts;
|
||||
this.freeBoosts = DimBoost.freeBoosts;
|
||||
this.lockText = DimBoost.lockText;
|
||||
},
|
||||
softReset() {
|
||||
softResetBtnClick();
|
||||
Tutorial.turnOffEffect(TUTORIAL_STATE.DIMSHIFT);
|
||||
Tutorial.turnOffEffect(TUTORIAL_STATE.DIMBOOST);
|
||||
}
|
||||
},
|
||||
template:
|
||||
@ -62,7 +60,7 @@ Vue.component("antimatter-dim-shift-row", {
|
||||
<div
|
||||
class="c-dim-row__label c-dim-row__label--growable"
|
||||
>
|
||||
Dimension {{name}} ({{boostCountText}}):
|
||||
Dimension Boost ({{boostCountText}}):
|
||||
requires {{formatInt(requirement.amount)}} {{dimName}} Dimensions
|
||||
</div>
|
||||
<primary-button
|
@ -49,7 +49,7 @@ Vue.component("antimatter-dim-tab", {
|
||||
:tier="tier"
|
||||
:floatingText="$viewModel.tabs.dimensions.antimatter.floatingText[tier]"
|
||||
/>
|
||||
<antimatter-dim-shift-row />
|
||||
<antimatter-dim-boost-row />
|
||||
<antimatter-dim-galaxy-row />
|
||||
</div>
|
||||
<primary-button
|
||||
|
@ -1,13 +1,12 @@
|
||||
"use strict";
|
||||
|
||||
Vue.component("new-dim-shift-row", {
|
||||
Vue.component("new-dim-boost-row", {
|
||||
data() {
|
||||
return {
|
||||
requirement: {
|
||||
tier: 1,
|
||||
amount: 0
|
||||
},
|
||||
isShift: false,
|
||||
isBuyable: false,
|
||||
purchasedBoosts: 0,
|
||||
freeBoosts: 0,
|
||||
@ -15,15 +14,15 @@ Vue.component("new-dim-shift-row", {
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
name() {
|
||||
return this.isShift ? "Shift" : "Boost";
|
||||
},
|
||||
dimName() {
|
||||
return AntimatterDimension(this.requirement.tier).shortDisplayName;
|
||||
},
|
||||
buttonText() {
|
||||
let dimensionRange = "the 1st Dimension";
|
||||
if (this.purchasedBoosts > 0) dimensionRange = `Dimensions 1-${Math.min(this.purchasedBoosts + 1, 8)}`;
|
||||
if (this.purchasedBoosts >= 7) dimensionRange = `all Dimensions`;
|
||||
return this.lockText === null
|
||||
? `Reset your Dimensions for a ${this.isShift ? "new Dimension" : "boost"}`
|
||||
? `Reset your Dimensions for a new Dimension and a boost to ${dimensionRange}`
|
||||
: this.lockText;
|
||||
},
|
||||
boostCountText() {
|
||||
@ -38,7 +37,7 @@ Vue.component("new-dim-shift-row", {
|
||||
return sum;
|
||||
},
|
||||
tutorialClass() {
|
||||
return Tutorial.glowingClass(TUTORIAL_STATE.DIMSHIFT, this.isBuyable);
|
||||
return Tutorial.glowingClass(TUTORIAL_STATE.DIMBOOST, this.isBuyable);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@ -47,19 +46,18 @@ Vue.component("new-dim-shift-row", {
|
||||
this.requirement.tier = requirement.tier;
|
||||
this.requirement.amount = requirement.amount;
|
||||
this.isBuyable = requirement.isSatisfied && DimBoost.canBeBought;
|
||||
this.isShift = DimBoost.isShift;
|
||||
this.purchasedBoosts = DimBoost.purchasedBoosts;
|
||||
this.freeBoosts = DimBoost.freeBoosts;
|
||||
this.lockText = DimBoost.lockText;
|
||||
},
|
||||
softReset() {
|
||||
softResetBtnClick();
|
||||
Tutorial.turnOffEffect(TUTORIAL_STATE.DIMSHIFT);
|
||||
Tutorial.turnOffEffect(TUTORIAL_STATE.DIMBOOST);
|
||||
}
|
||||
},
|
||||
template:
|
||||
`<div class="reset-container dimboost">
|
||||
<div style="height: 4rem;"><h4>Dimensional {{name}} ({{boostCountText}})</h4></div>
|
||||
<div style="height: 4rem;"><h4>Dimension Boost ({{boostCountText}})</h4></div>
|
||||
<span>Requires: {{formatInt(requirement.amount)}} {{dimName}} Antimatter D</span>
|
||||
<div style="height: 2rem;"/> <!-- Padding to match with Galaxy text/button -->
|
||||
<button
|
@ -75,7 +75,7 @@ Vue.component("new-dimensions-tab", {
|
||||
:tier="tier"/>
|
||||
</div>
|
||||
<div class="resets-container">
|
||||
<new-dim-shift-row/>
|
||||
<new-dim-boost-row/>
|
||||
<primary-button
|
||||
v-if="isQuickResetAvailable"
|
||||
class="o-primary-btn--quick-reset"
|
||||
|
@ -79,7 +79,7 @@ Autobuyer.dimboost = new class DimBoostAutobuyerState extends IntervaledAutobuye
|
||||
}
|
||||
|
||||
const limit = this.limitDimBoosts ? this.maxDimBoosts : Number.MAX_VALUE;
|
||||
const bulk = (this.isBulkBuyUnlocked && !DimBoost.isShift) ? Math.clampMin(this.bulk, 1) : 1;
|
||||
const bulk = (this.isBulkBuyUnlocked && !DimBoost.canUnlockNewDimension) ? Math.clampMin(this.bulk, 1) : 1;
|
||||
const isConditionSatisfied = DimBoost.purchasedBoosts + bulk <= limit ||
|
||||
player.galaxies >= this.galaxies;
|
||||
if (!isConditionSatisfied || !DimBoost.bulkRequirement(bulk).isSatisfied) return;
|
||||
|
@ -41,14 +41,12 @@ class DimBoost {
|
||||
return DimBoost.power.pow(this.totalBoosts + 1 - tier).clampMin(1);
|
||||
}
|
||||
|
||||
static get maxShiftTier() {
|
||||
static get maxDimensionsUnlockable() {
|
||||
return NormalChallenge(10).isRunning ? 6 : 8;
|
||||
}
|
||||
|
||||
static get isShift() {
|
||||
// Player starts with 4 unlocked dimensions,
|
||||
// hence there are just 4 (or 2, if in Auto DimBoosts challenge) shifts
|
||||
return DimBoost.purchasedBoosts + 4 < this.maxShiftTier;
|
||||
static get canUnlockNewDimension() {
|
||||
return DimBoost.purchasedBoosts + 4 < DimBoost.maxDimensionsUnlockable;
|
||||
}
|
||||
|
||||
static get challenge8MaxBoosts() {
|
||||
@ -79,7 +77,7 @@ class DimBoost {
|
||||
|
||||
static bulkRequirement(bulk) {
|
||||
const targetResets = DimBoost.purchasedBoosts + bulk;
|
||||
const tier = Math.min(targetResets + 3, this.maxShiftTier);
|
||||
const tier = Math.min(targetResets + 3, this.maxDimensionsUnlockable);
|
||||
let amount = 20;
|
||||
const discount = Effects.sum(
|
||||
TimeStudy(211),
|
||||
@ -163,8 +161,8 @@ function softResetBtnClick() {
|
||||
}
|
||||
|
||||
function maxBuyDimBoosts() {
|
||||
// Shifts are bought one at a time, unlocking the next dimension
|
||||
if (DimBoost.isShift) {
|
||||
// Boosts that unlock new dims are bought one at a time, unlocking the next dimension
|
||||
if (DimBoost.canUnlockNewDimension) {
|
||||
if (DimBoost.requirement.isSatisfied) softReset(1);
|
||||
return;
|
||||
}
|
||||
|
@ -484,7 +484,7 @@ class AntimatterDimensionState extends DimensionState {
|
||||
/**
|
||||
* Continuum doesn't continually update dimension amount because that would require making the code
|
||||
* significantly messier to handle it properly. Instead an effective amount is calculated here, which
|
||||
* is only used for production and checking for shift/boost/galaxy. Doesn't affect achievements.
|
||||
* is only used for production and checking for boost/galaxy. Doesn't affect achievements.
|
||||
* Taking the max is kind of a hack but it seems to work in all cases. Obviously it works if
|
||||
* continuum isn't unlocked. If the dimension is being produced and the continuum is unlocked,
|
||||
* the dimension will be being produced in large numbers (since the save is endgame), so the amount
|
||||
|
@ -14,7 +14,7 @@ class Sacrifice {
|
||||
|
||||
static get disabledCondition() {
|
||||
if (EternityChallenge(3).isRunning) return "Eternity Challenge 3";
|
||||
if (DimBoost.totalBoosts <= DimBoost.maxShiftTier - 4) return "requires a boost";
|
||||
if (DimBoost.totalBoosts < 5) return "requires 5 Dimension Boosts";
|
||||
if (AntimatterDimension(8).totalAmount.eq(0)) return "no 8th Antimatter Dimensions";
|
||||
if (this.nextBoost.lte(1)) return `${formatX(1)} multiplier`;
|
||||
return "";
|
||||
|
@ -203,7 +203,7 @@ GameDatabase.achievements.normal = [
|
||||
{
|
||||
id: 43,
|
||||
name: "Zero Deaths",
|
||||
tooltip: "Get to Infinity without Dimension shifts, boosts or Antimatter Galaxies in a challenge.",
|
||||
tooltip: "Get to Infinity without Dimension Boosts or Antimatter Galaxies while in a challenge.",
|
||||
checkRequirement: () => player.galaxies === 0 && DimBoost.purchasedBoosts === 0 && NormalChallenge.isRunning,
|
||||
checkEvent: GAME_EVENT.BIG_CRUNCH_BEFORE,
|
||||
reward: () => `Antimatter Dimensions 1-4 are ${formatPercents(0.25)} stronger.`,
|
||||
@ -389,8 +389,9 @@ GameDatabase.achievements.normal = [
|
||||
{
|
||||
id: 71,
|
||||
name: "ERROR 909: Dimension not found",
|
||||
tooltip: "Get to Infinity with only a single 1st Antimatter Dimension without Dimension Boosts/Shifts " +
|
||||
"or Antimatter Galaxies, while in the 2nd Antimatter Dimension Autobuyer Challenge.",
|
||||
tooltip:
|
||||
`Get to Infinity with only a single 1st Antimatter Dimension without Dimension Boosts
|
||||
or Antimatter Galaxies, while in the 2nd Antimatter Dimension Autobuyer Challenge.`,
|
||||
checkRequirement: () =>
|
||||
NormalChallenge(2).isRunning &&
|
||||
AntimatterDimension(1).amount.eq(1) &&
|
||||
@ -698,7 +699,7 @@ GameDatabase.achievements.normal = [
|
||||
return true;
|
||||
},
|
||||
checkEvent: GAME_EVENT.BIG_CRUNCH_AFTER,
|
||||
reward: "Your antimatter doesn't reset on Dimension Boost/Shift/Galaxy."
|
||||
reward: "Your Antimatter doesn't reset on Dimension Boosts or Antimatter Galaxies."
|
||||
},
|
||||
{
|
||||
id: 112,
|
||||
|
@ -27,8 +27,9 @@ GameDatabase.challenges.infinity = [
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
description: "Tickspeed interval decrease is always 0%. For every tickspeed purchase, you instead get a static " +
|
||||
"multiplier on all Antimatter Dimensions which increases with Antimatter Galaxies.",
|
||||
description: () =>
|
||||
`Tickspeed upgrades are always ${formatX(1)}. For every tickspeed upgrade purchase, you instead get a static
|
||||
multiplier on all Antimatter Dimensions which increases based on Antimatter Galaxies.`,
|
||||
goal: new Decimal("1e5000"),
|
||||
isQuickResettable: false,
|
||||
effect: () => Decimal.pow(1.05 + (player.galaxies * 0.005), player.totalTickBought),
|
||||
|
@ -28,8 +28,8 @@ GameDatabase.challenges.normal = [
|
||||
legacyId: 3,
|
||||
isQuickResettable: false,
|
||||
description:
|
||||
"The 1st Antimatter Dimension is heavily weakened, but gets an exponentially increasing " +
|
||||
"bonus that resets after Dimension Shifts/Boosts and Antimatter Galaxies.",
|
||||
`The 1st Antimatter Dimension is heavily weakened, but gets an exponentially increasing
|
||||
bonus that resets after Dimension Boosts and Antimatter Galaxies.`,
|
||||
name: "3rd Antimatter Dimension",
|
||||
reward: "Upgradeable 3rd Antimatter Dimension Autobuyer"
|
||||
},
|
||||
@ -64,9 +64,9 @@ GameDatabase.challenges.normal = [
|
||||
id: 7,
|
||||
legacyId: 9,
|
||||
isQuickResettable: false,
|
||||
description: () => `The multiplier from buying ${formatInt(10)} Antimatter Dimensions is reduced ` +
|
||||
`to ${formatX(1)}, but is increased by ${formatX(0.2, 1, 1)} per Dimension Shift/Boost, ` +
|
||||
`up to a maximum of ${formatX(2)}.`,
|
||||
description: () =>
|
||||
`The multiplier from buying ${formatInt(10)} Antimatter Dimensions is reduced to ${formatX(1)}, but is increased
|
||||
by ${formatX(0.2, 1, 1)} per Dimension Boost, up to a maximum of ${formatX(2)}.`,
|
||||
name: "7th Antimatter Dimension Autobuyer",
|
||||
reward: "Upgradeable 7th Antimatter Dimension Autobuyer"
|
||||
},
|
||||
|
@ -97,21 +97,19 @@ in the Options tab.
|
||||
tags: ["dimension", "earlygame", "time"],
|
||||
tab: "dimensions/antimatter"
|
||||
}, {
|
||||
name: "Dimension Shift/Boost",
|
||||
name: "Dimension Boost",
|
||||
info: () => `
|
||||
<b>Dimension Shift:</b> This resets all of your Dimensions and your antimatter, but unlocks another Dimension for
|
||||
you to purchase. Each one requires ${formatInt(20)} of your highest unlocked Dimension.
|
||||
<b>Dimension Boost:</b> This resets all of your Dimensions and your Antimatter, but unlocks another Dimension for
|
||||
you to purchase and boosts your Dimension multipliers. The 1st Dimension Boost requires ${formatInt(20)} 4th
|
||||
Dimensions, the 2nd requires ${formatInt(20)} 5th Dimensions, etc. After unlocking all ${formatInt(8)} Dimensions,
|
||||
every additional boost will cost ${formatInt(15)} more 8th Dimensions than the previous Boost and will no longer
|
||||
unlock a Dimension, but will continue to increase your Dimension multipliers.
|
||||
<br>
|
||||
<br>
|
||||
<b>Dimension Boost:</b> A Dimension Shift, but you don't unlock a new Dimension. This happens after ${formatInt(4)}
|
||||
Dimension Shifts. The first Dimension Boost requires ${formatInt(20)} Eighth Dimensions and every additional boost
|
||||
will cost ${formatInt(15)} more than the previous Boost.
|
||||
<br>
|
||||
<br>
|
||||
You gain a ${formatX(2)} multiplier to the first Dimension for every Dimension Shift and Boost you have. Each higher
|
||||
dimension will have the multiplier applied one less time as the previous, down to a minimum of ${formatInt(0)}.
|
||||
For example, with ${formatInt(3)} Shifts, the First Dimension will gain ${formatX(8)},
|
||||
the Second Dimension ${formatX(4)}, the Third Dimension ${formatX(2)}, and all other Dimensions are unaffected.
|
||||
You gain a ${formatX(2)} multiplier to the 1st Dimension for every Dimension Boost you have. Each higher
|
||||
Dimension will have the multiplier applied one less time as the previous, down to a minimum of ${formatInt(0)}.
|
||||
For example, with ${formatInt(3)} Boosts, the 1st Dimension will gain ${formatX(8)}, the 2nd Dimension ${formatX(4)},
|
||||
the 3rd Dimension ${formatX(2)}, and all other Dimensions are unaffected.
|
||||
<br>
|
||||
<br>
|
||||
<b>Hotkey: D</b>
|
||||
@ -188,8 +186,9 @@ own rewards.
|
||||
info: () => `
|
||||
Once you have too much antimatter for the world to handle (${formatInt(2)}<sup>${formatInt(1024)}</sup>
|
||||
or about ${formatPostBreak(Number.MAX_VALUE, 6)},
|
||||
sometimes called "Infinity"), you’ll be forced to do a “Big Crunch”. This will reset your antimatter, Dimensions,
|
||||
Shifts/Boosts, and your Galaxies. Doing a Big Crunch is also sometimes referred to as "Infinitying".
|
||||
sometimes called "Infinity"), you’ll be forced to do a “Big Crunch”. This will reset your Antimatter, Antimatter
|
||||
Dimensions, Dimension Boosts, and your Antimatter Galaxies. Doing a Big Crunch is also sometimes referred to as
|
||||
"Infinitying".
|
||||
<br>
|
||||
<br>
|
||||
You will eventually be able to pass ${formatPostBreak(Number.MAX_VALUE, 6)}, but until then any larger numbers will
|
||||
@ -239,8 +238,8 @@ The rightmost row of Infinity Upgrades does not work in challenges.
|
||||
<b>Autobuyers:</b>
|
||||
<br>
|
||||
Autobuyers (awarded by completing challenges) allow the
|
||||
automatic purchase of Dimensions, Dimension Shifts/Boosts, Galaxies,
|
||||
tickspeed upgrades, Big Crunches, and Dimensional Sacrifice (later).
|
||||
automatic purchase of Dimensions, Dimension Boosts, Antimatter Galaxies,
|
||||
Tickspeed upgrades, Big Crunches, and Dimensional Sacrifice (later).
|
||||
They are located under the Infinity tab in "Autobuyers".
|
||||
<br>
|
||||
<br>
|
||||
@ -268,7 +267,7 @@ available.
|
||||
<b>Automatic Dimboost Customization:</b> With the Dimboost autobuyer you can set the max number of Boosts it will
|
||||
attempt to buy, a minimum number of Galaxies before Dimboosts are always auto-purchased, and (when unlocked) the
|
||||
ability to buy an exact number of Dimboosts in bulk. If you reach your specified Galaxy threshold, the autobuyer
|
||||
will ignore your max Boost limit. For the purposes of this autobuyer, your first four Shifts also count as Boosts.
|
||||
will ignore your max Boost limit.
|
||||
<br>
|
||||
<br>
|
||||
<b>Max Galaxies:</b> The highest amount of Galaxies the Galaxies autobuyer will buy.
|
||||
|
@ -171,29 +171,29 @@ GameDatabase.infinity.upgrades = (function() {
|
||||
id: "skipReset1",
|
||||
cost: 20,
|
||||
description: () =>
|
||||
`You start with ${formatInt(1)} Dimension Shift, automatically unlocking the 5th Antimatter Dimension`,
|
||||
`Start every reset with ${formatInt(1)} Dimension Boosts, automatically unlocking the 5th Antimatter Dimension`,
|
||||
bannedFromCharging: true
|
||||
},
|
||||
skipReset2: {
|
||||
id: "skipReset2",
|
||||
cost: 40,
|
||||
description: () =>
|
||||
`You start with ${formatInt(2)} Dimension Shifts, automatically unlocking the 6th Antimatter Dimension`,
|
||||
`Start every reset with ${formatInt(2)} Dimension Boosts, automatically unlocking the 6th Antimatter Dimension`,
|
||||
bannedFromCharging: true
|
||||
},
|
||||
skipReset3: {
|
||||
id: "skipReset3",
|
||||
cost: 80,
|
||||
description: () =>
|
||||
`You start with ${formatInt(3)} Dimension Shifts, automatically unlocking the 7th Antimatter Dimension`,
|
||||
`Start every reset with ${formatInt(3)} Dimension Boosts, automatically unlocking the 7th Antimatter Dimension`,
|
||||
bannedFromCharging: true
|
||||
},
|
||||
skipResetGalaxy: {
|
||||
id: "skipResetGalaxy",
|
||||
cost: 300,
|
||||
description: () =>
|
||||
`You start with ${formatInt(4)} Dimension Shifts, automatically unlocking the 8th Antimatter Dimension; ` +
|
||||
"and you start with an Antimatter Galaxy",
|
||||
`Start every reset with ${formatInt(4)} Dimension Boosts, automatically unlocking the 8th Antimatter Dimension;
|
||||
and an Antimatter Galaxy`,
|
||||
bannedFromCharging: true
|
||||
},
|
||||
ipOffline: {
|
||||
|
@ -3,7 +3,7 @@
|
||||
const TUTORIAL_STATE = {
|
||||
DIM1: 0,
|
||||
DIM2: 1,
|
||||
DIMSHIFT: 2,
|
||||
DIMBOOST: 2,
|
||||
GALAXY: 3
|
||||
};
|
||||
|
||||
@ -20,7 +20,7 @@ const tutorialStates = [
|
||||
condition: () => Currency.antimatter.gte(100)
|
||||
},
|
||||
{
|
||||
id: TUTORIAL_STATE.DIMSHIFT,
|
||||
id: TUTORIAL_STATE.DIMBOOST,
|
||||
condition: () => AntimatterDimension(4).amount.gte(20)
|
||||
},
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user