Update some time-based achievements to match android version (#3010) + fix export button

* Update some time-based achievements to match android version

* Swap positions, also fix export button

* Fix codefactor issues

* Change design achievements too

* Do better fix for export
This commit is contained in:
dan-simon 2022-09-20 20:54:03 -04:00 committed by GitHub
parent 3782a31cec
commit 7721e84d42
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 43 additions and 22 deletions

View File

@ -8,7 +8,7 @@ function giveEternityRewards(auto) {
const newEternities = Pelle.isDisabled("eternityMults")
? new Decimal(1)
: new Decimal(RealityUpgrade(3).effectOrDefault(1)).times(getAdjustedGlyphEffect("timeetermult"));
: new Decimal(getAdjustedGlyphEffect("timeetermult")).timesEffectsOf(RealityUpgrade(3), Achievement(113));
if (Currency.eternities.eq(0) && newEternities.lte(10)) {
Tab.dimensions.time.show();

View File

@ -522,8 +522,8 @@ GameDatabase.achievements.normal = [
{
id: 78,
name: "Blink of an eye",
get description() { return `Get to Infinity in under ${formatInt(200)} milliseconds.`; },
checkRequirement: () => Time.thisInfinityRealTime.totalMilliseconds <= 200,
get description() { return `Infinity in under ${formatInt(250)}ms.`; },
checkRequirement: () => Time.thisInfinityRealTime.totalMilliseconds <= 250,
checkEvent: GAME_EVENT.BIG_CRUNCH_BEFORE,
get reward() {
return `Start with ${format(5e25)} antimatter.`;
@ -782,18 +782,12 @@ GameDatabase.achievements.normal = [
},
{
id: 113,
name: "Long lasting relationship",
get description() {
return `Have your Infinity Power per second exceed your Infinity Power
for ${formatInt(60)} consecutive seconds during a single Infinity.`;
},
checkRequirement: () => AchievementTimers.marathon2
.check(
!EternityChallenge(7).isRunning &&
InfinityDimension(1).productionPerSecond.gt(Currency.infinityPower.value),
60
),
checkEvent: GAME_EVENT.GAME_TICK_AFTER
name: "Eternities are the new infinity",
get description() { return `Eternity in under ${formatInt(250)}ms.`; },
checkRequirement: () => Time.thisEternity.totalMilliseconds <= 250,
checkEvent: GAME_EVENT.ETERNITY_RESET_BEFORE,
get reward() { return `Gain ${formatX(2)} more Eternities.`; },
effect: 2,
},
{
id: 114,
@ -863,10 +857,18 @@ GameDatabase.achievements.normal = [
},
{
id: 124,
name: "Eternities are the new infinity",
get description() { return `Eternity in under ${formatInt(200)}ms.`; },
checkRequirement: () => Time.thisEternity.totalMilliseconds <= 200,
checkEvent: GAME_EVENT.ETERNITY_RESET_BEFORE
name: "Long lasting relationship",
get description() {
return `Have your Infinity Power per second exceed your Infinity Power
for ${formatInt(60)} consecutive seconds during a single Infinity.`;
},
checkRequirement: () => AchievementTimers.marathon2
.check(
!EternityChallenge(7).isRunning &&
InfinityDimension(1).productionPerSecond.gt(Currency.infinityPower.value),
60
),
checkEvent: GAME_EVENT.GAME_TICK_AFTER
},
{
id: 125,

View File

@ -1444,7 +1444,21 @@ GameStorage.devMigrations = {
delete player.options.sidebarMinimized;
delete player.options.chart;
delete player.devMode;
}
},
player => {
const swap1 = player.achievementBits[10] & 4;
const swap2 = player.achievementBits[11] & 8;
if (swap1) {
player.achievementBits[11] |= 8;
} else {
player.achievementBits[11] &= ~8;
}
if (swap2) {
player.achievementBits[10] |= 4;
} else {
player.achievementBits[10] &= ~4;
}
},
],
patch(player) {

View File

@ -699,7 +699,12 @@ GameStorage.migrations = {
convertAchievementsToBits(player) {
// Also switches achievement positions
const swaps = { "4,3": "6,4", "6,4": "7,7", "7,7": "4,3", "10,1": "11,7", "11,7": "10,1" };
// So far there've been three swaps
// (1) a three-way swap of zero deaths, 1 million is a lot, and antitables
// (2) a two-way swap of costco sells dimboosts now and 8 nobody got time for that
// (3) a two-way swap of long lasting relationship and eternities are the new infinity
const swaps = { "4,3": "6,4", "6,4": "7,7", "7,7": "4,3",
"10,1": "11,7", "11,7": "10,1", "11,3": "12,4", "12,4": "11,3" };
const convertAchievementArray = (newAchievements, oldAchievements, isSecret) => {
for (const oldId of oldAchievements) {
let row = Math.floor(oldId / 10);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 790 KiB

After

Width:  |  Height:  |  Size: 672 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@ -76,7 +76,7 @@ export default {
<OptionsButton
class="o-primary-btn--option_font-x-large"
:class="{ 'o-pelle-disabled-pointer': creditsClosed }"
@click="GameStorage.export()"
onclick="GameStorage.export()"
>
Export save
</OptionsButton>