From 03234353d966b3fc4accb4797978a393e885724d Mon Sep 17 00:00:00 2001 From: toilet45 <40278624+toilet45@users.noreply.github.com> Date: Mon, 4 Mar 2024 23:09:02 -0600 Subject: [PATCH] 3/4/24 dev build more matter and kohler infinity upgrades --- public/stylesheets/styles.css | 2 +- .../KohlerInfinityUpgrades.vue | 2 +- src/components/tabs/matter/MatterUpgrades.vue | 6 +- src/components/tabs/mending/KohlersRealm.vue | 2 +- .../ui-modes/HeaderChallengeDisplay.vue | 2 +- src/core/dimensions/antimatter-dimension.js | 14 +++-- src/core/dimensions/infinity-dimension.js | 7 ++- src/core/normal-challenges.js | 15 ++++- src/core/player.js | 1 + .../mending/kohler-infinity-upgrades.js | 54 ++++++++++++++-- .../secret-formula/mending/matter-upgrades.js | 62 ++++++++++++------- src/core/storage/migrations.js | 3 +- src/game.js | 5 +- 13 files changed, 130 insertions(+), 45 deletions(-) diff --git a/public/stylesheets/styles.css b/public/stylesheets/styles.css index 17eff3a74..202479f08 100644 --- a/public/stylesheets/styles.css +++ b/public/stylesheets/styles.css @@ -10180,7 +10180,7 @@ input.o-automator-block-input { .c-matter-upgrade-btn--bought { color: #7f7f7f; - background-color: #4f4f4f; + background-color: #202020; border-color: #202020; cursor: default; } diff --git a/src/components/tabs/infinity-upgrades/KohlerInfinityUpgrades.vue b/src/components/tabs/infinity-upgrades/KohlerInfinityUpgrades.vue index 23898845e..ab23d6157 100644 --- a/src/components/tabs/infinity-upgrades/KohlerInfinityUpgrades.vue +++ b/src/components/tabs/infinity-upgrades/KohlerInfinityUpgrades.vue @@ -40,7 +40,7 @@ export default {

You have {{ format(matter, 2) }} Matter. +
+ Your best Matter in IC9 is {{ format(bestMatter, 2) }}.

These upgrades can only be purchased in Infinity Challenge 9
diff --git a/src/components/tabs/mending/KohlersRealm.vue b/src/components/tabs/mending/KohlersRealm.vue index a45c1a8c7..ba275c72e 100644 --- a/src/components/tabs/mending/KohlersRealm.vue +++ b/src/components/tabs/mending/KohlersRealm.vue @@ -29,7 +29,7 @@ export default { computed: { upgrades: () => KohlerUpgrades.all, runningText(){ - return this.isRunning ? "Exit Kohler's Realm" : "Enter Kohler's Realm." + return this.isRunning ? "Exit Kohler's Realm" : "Enter Kohler's Realm" }, unlockInfos: () => KohlerProgressUnlocks.all, showRunReward() { diff --git a/src/components/ui-modes/HeaderChallengeDisplay.vue b/src/components/ui-modes/HeaderChallengeDisplay.vue index a8e43bb5b..2005678c6 100644 --- a/src/components/ui-modes/HeaderChallengeDisplay.vue +++ b/src/components/ui-modes/HeaderChallengeDisplay.vue @@ -94,7 +94,7 @@ export default { }, challengeDisplay() { if (this.inKohler){ - return "Kohler's Realm" + return this.activeChallengeNames.length > 0 ? `${this.activeChallengeNames.join(" + ")} in Kohler's Realm` : "Kohler's Realm" } if (this.inPelle && this.activeChallengeNames.length > 0) { return `${this.activeChallengeNames.join(" + ")} in a Doomed Reality. Good luck.`; diff --git a/src/core/dimensions/antimatter-dimension.js b/src/core/dimensions/antimatter-dimension.js index 441278773..b0d891ac4 100644 --- a/src/core/dimensions/antimatter-dimension.js +++ b/src/core/dimensions/antimatter-dimension.js @@ -98,12 +98,15 @@ export function getDimensionFinalMultiplierUncached(tier) { multiplier = multiplier.pow(1.05); } if (Kohler.isRunning) { - multiplier = multiplier.times(Decimal.pow(20, KohlerUpgrade(3).boughtAmount)); - multiplier = multiplier.times(KohlerUpgrade(14).effectOrDefault(1)); - multiplier = multiplier.times(KohlerUpgrade(17).effectOrDefault(1)); - multiplier = multiplier.times(KohlerInfinityUpgrade(7).effectOrDefault(1)); + multiplier = multiplier.timesEffectsOf(KohlerUpgrade(3), + KohlerUpgrade(14), + KohlerUpgrade(17), + KohlerInfinityUpgrade(7) + ); } - if (tier === 1) multiplier = multiplier.times(KohlerUpgrade(6).effectOrDefault(1)) + if (tier === 1) multiplier = multiplier.timesEffectsOf( + KohlerUpgrade(6), + KohlerInfinityUpgrade(11)) if (tier === 8 && KohlerUpgrade(8).isBought) multiplier = multiplier.times(KohlerUpgrade(6).effectOrDefault(1)) return multiplier; } @@ -636,6 +639,7 @@ class AntimatterDimensionState extends DimensionState { if (player.mending.corruptionChallenge.corruptedMend) { let atomDilutionCorruption = corruptionPenalties.atomDilution[player.mending.corruption[6]]; if(CorruptionUpgrade(22).isBought) atomDilutionCorruption = Math.min(1,atomDilutionCorruption*1.5) + if(Kohler.isRunning) atomDilutionCorruption = Math.min(1, atomDilutionCorruption ** MatterUpgrade(10).effectOrDefault(1)) production = Decimal.pow10(Math.pow(production.log10(),atomDilutionCorruption)) } if(KohlerProgressUnlocks.hostileFragments.isUnlocked){ diff --git a/src/core/dimensions/infinity-dimension.js b/src/core/dimensions/infinity-dimension.js index 37ff5cc2e..ce6ce7366 100644 --- a/src/core/dimensions/infinity-dimension.js +++ b/src/core/dimensions/infinity-dimension.js @@ -264,7 +264,8 @@ class InfinityDimensionState extends DimensionState { if (Kohler.isRunning){ mult = mult.timesEffectsOf( KohlerInfinityUpgrade(2), - KohlerInfinityUpgrade(8) + KohlerInfinityUpgrade(8), + MatterUpgrade(8) ) } return mult; @@ -536,7 +537,7 @@ export const InfinityDimensions = { w **= 0.01; w *= 8; }*/ - let kiu4Mult = (Kohler.isRunning) ? KohlerInfinityUpgrade(4).effectOrDefault(1) : 1; - return w * kiu4Mult; + let kiu4Pow = (Kohler.isRunning) ? KohlerInfinityUpgrade(4).effectOrDefault(1) : 1; + return w ** kiu4Pow; } }; diff --git a/src/core/normal-challenges.js b/src/core/normal-challenges.js index b8e17a050..fb714d053 100644 --- a/src/core/normal-challenges.js +++ b/src/core/normal-challenges.js @@ -8,7 +8,20 @@ export function updateNormalAndInfinityChallenges(diff) { // These caps are values which occur at approximately e308 IP const cappedBase = 1.03 + Math.clampMax(DimBoost.totalBoosts, 400) / 200 + Math.clampMax(player.galaxies, 100) / 100; - Currency.matter.multiply(Decimal.pow(cappedBase, diff.div(20))); + if (InfinityChallenge(9).isRunning){ + let a = diff.times(cappedBase).div(20); + a = a.timesEffectsOf( + MatterUpgrade(1), + MatterUpgrade(7), + KohlerInfinityUpgrade(13), + MatterUpgrade(9) + ) + Currency.matter.add(a.pow(MatterUpgrade(2).effectOrDefault(1))); + if (Currency.matter.value.gt(player.records.bestMatterinIC9)) player.records.bestMatterinIC9 = Currency.matter.value; + } + else{ + Currency.matter.multiply(Decimal.pow(cappedBase, diff.div(20))); + } } if (Currency.matter.gt(Currency.antimatter.value) && NormalChallenge(11).isRunning && !Player.canCrunch) { const values = [Currency.antimatter.value, Currency.matter.value]; diff --git a/src/core/player.js b/src/core/player.js index 6607ec358..779cb1ae8 100644 --- a/src/core/player.js +++ b/src/core/player.js @@ -407,6 +407,7 @@ window.player = { fullGameCompletions: 0, previousRunRealTime: 0, totalAntimatter: DC.E1, + bestMatterinIC9: DC.D0, recentInfinities: Array.range(0, 10).map(() => [Decimal.pow10(Number.MAX_VALUE), Number.MAX_VALUE, DC.D1, DC.D1, ""]), recentEternities: Array.range(0, 10).map(() => diff --git a/src/core/secret-formula/mending/kohler-infinity-upgrades.js b/src/core/secret-formula/mending/kohler-infinity-upgrades.js index 5f2d139e0..ae0fcfffe 100644 --- a/src/core/secret-formula/mending/kohler-infinity-upgrades.js +++ b/src/core/secret-formula/mending/kohler-infinity-upgrades.js @@ -18,10 +18,10 @@ const rebuyable = props => { } return Math.pow(effect, player.infinity.kohlerRebuyables[props.id]); } - props.description = () => props.textTemplate.replace("{value}", formatInt(effect)); + props.description = () => props.textTemplate.replace("{value}", format(effect, 2, 2)); props.formatEffect = value => { - /*if (props.id === 6 || props.id === 16) return effectType + `${formatInt(value)}` - if (props.id === 11) return effectType + `${formatFloat(value, 3)}`*/ + if (props.id === 4) return effectType + `${format(value, 2, 2)}` + /*if (props.id === 11) return effectType + `${formatFloat(value, 3)}`*/ return effectType + `${format(value, 2, 0)}` }; props.formatCost = value => format(value, 2, 0); @@ -61,9 +61,9 @@ export const kohlerInfinityUpgrades = [ name: "Kohler Infinity Upgrade 4", initialCost: 1e11, costMult: 1e6, - textTemplate: `Multiply Infinity Power conversion rate by {value}`, - effect: 2, - effectType: "×" + textTemplate: `Raise Infinity Power conversion rate by {value}`, + effect: 1.05, + effectType: "^" }), rebuyable({ id: 5, @@ -109,5 +109,47 @@ export const kohlerInfinityUpgrades = [ name: "Kohler Infinity Upgrade 10", cost: 1e9, description: () => `Unlock Matter Upgrades and Infinity Challenge 9` + }, + { + id: 11, + name: "Kohler Infinity Upgrade 11", + cost: 1e11, + description: () => `Kohler Infinity Upgrade 7 also applies to the 1st Antimatter Dimension`, + effect: () => Currency.infinityPower.value.pow(InfinityDimensions.powerConversionRate).pow(0.1).clampMin(1), + effectType: "×", + formatEffect: value => formatX(value, 2, 2) + }, + { + id: 12, + name: "Kohler Infinity Upgrade 12", + cost: 1e12, + description: () => `Gamespeed boosts Infinity Point Gain`, + effect: () => getGameSpeedupFactor().log10(), + effectType: "×", + formatEffect: value => formatX(value, 2, 2) + }, + { + id: 13, + name: "Kohler Infinity Upgrade 13", + cost: 1e14, + description: () => `Matter Gain is boosted by Infinity Points`, + effect: () => Currency.infinityPoints.value.log10() / 2, + effectType: "×", + formatEffect: value => formatX(value, 2, 2) + }, + { + id: 14, + name: "Kohler Infinity Upgrade 14", + cost: 1e15, + description: () => `Infinity Power multiplier to Antimatter Dimensions affect Infinity Point gain at a reduced rate`, + effect: () => Math.max(1, Currency.infinityPower.value.pow(InfinityDimensions.powerConversionRate).log10() / 100), + effectType: "×", + formatEffect: value => formatX(value, 2, 2) + }, + { + id: 15, + name: "Kohler Infinity Upgrade 15", + cost: 1e300, + description: () => `???` } ]; diff --git a/src/core/secret-formula/mending/matter-upgrades.js b/src/core/secret-formula/mending/matter-upgrades.js index c02a62cff..53def6276 100644 --- a/src/core/secret-formula/mending/matter-upgrades.js +++ b/src/core/secret-formula/mending/matter-upgrades.js @@ -18,10 +18,10 @@ const rebuyable = props => { } return Math.pow(effect, player.infinity.matterRebuyables[props.id]); } - props.description = () => props.textTemplate.replace("{value}", formatInt(effect)); + props.description = () => props.textTemplate.replace("{value}", format(effect, 2, 2)); props.formatEffect = value => { - /*if (props.id === 6 || props.id === 16) return effectType + `${formatInt(value)}` - if (props.id === 11) return effectType + `${formatFloat(value, 3)}`*/ + if (props.id === 2) return effectType + `${format(value, 2, 2)}` + /*if (props.id === 11) return effectType + `${formatFloat(value, 3)}`*/ return effectType + `${format(value, 2, 0)}` }; props.formatCost = value => format(value, 2, 0); @@ -32,20 +32,20 @@ export const matterUpgrades = [ rebuyable({ id: 1, name: "Matter Upgrade 1", - initialCost: 1e300, - costMult: 1e300, - textTemplate: `[TBD]`, - effect: 1, + initialCost: 100, + costMult: 1e3, + textTemplate: `Multiply Matter gain by {value} in Infinity Challenge 9`, + effect: 2, effectType: "×" }), rebuyable({ id: 2, name: "Matter Upgrade 2", - initialCost: 1e300, - costMult: 1e300, - textTemplate: `[TBD]`, - effect: 1, - effectType: "×" + initialCost: 1e8, + costMult: 1e4, + textTemplate: `Raise Matter gain by {value}`, + effect: 1.05, + effectType: "^" }), rebuyable({ id: 3, @@ -77,30 +77,46 @@ export const matterUpgrades = [ { id: 6, name: "Matter Upgrade 6", - cost: 1e300, - description: () => `???`, + cost: 1e5, + description: () => `Best Matter in Infinity Challenge 9 boosts Infinity Point gain`, + effect: () => Math.max(1, player.records.bestMatterinIC9.log10() * 10), + effectType: "×", + formatEffect: value => formatX(value, 2, 2) }, { id: 7, name: "Matter Upgrade 7", - cost: 1e300, - description: () => `???`, + cost: 1e6, + description: () => `Matter gain is boosted based on Infinity Challenge 1 reward`, + effect: () => InfinityChallenge(1).reward.config.effect().times(10), + effectType: "×", + formatEffect: value => formatX(value, 2, 2) }, { id: 8, name: "Matter Upgrade 8", - cost: 1e300, - description: () => `???`, + cost: 5e6, + description: () => `Best Matter in IC9 boosts Infinity Dimension multiplier`, + effect: () => player.records.bestMatterinIC9.clampMin(1), + effectType: "×", + formatEffect: value => formatX(value, 2, 2) }, { id: 9, name: "Matter Upgrade 9", - cost: 1e300, - description: () => `???`, - }, { + cost: 2.5e7, + description: () => `1st Antimatter Dimension multiplier boosts Matter gain`, + effect: () => AntimatterDimension(1).multiplier.clampMin(1).log10() / 10, + effectType: "×", + formatEffect: value => formatX(value, 2, 2) + }, + { id: 10, name: "Matter Upgrade 10", - cost: 1e300, - description: () => `???`, + cost: 1e9, + description: () => `Best Matter in IC9 boosts Antimatter Exponent`, + effect: () => 1 + (player.records.bestMatterinIC9.log10() / 50), + effectType: "^", + formatEffect: value => formatPow(value, 2, 2) }, ]; diff --git a/src/core/storage/migrations.js b/src/core/storage/migrations.js index ab942db61..1ab6242a8 100644 --- a/src/core/storage/migrations.js +++ b/src/core/storage/migrations.js @@ -813,7 +813,8 @@ export const migrations = { 3: 0, 4: 0, 5: 0, - } + }, + player.records.bestMatterinIC9 = DC.D0; }, 51.300: player => { // This is code that should be enabled on release. Do not enable it earlier. All previous migrations should be shifted up 0.3 on release. diff --git a/src/game.js b/src/game.js index 06920e56a..a9cfa71b2 100644 --- a/src/game.js +++ b/src/game.js @@ -155,7 +155,10 @@ export function gainedInfinityPoints(noSoftcap = false) { if (Kohler.isRunning) { ip = new Decimal(ip.clampMin(1).log10()); ip = ip.timesEffectsOf( - KohlerInfinityUpgrade(1) + KohlerInfinityUpgrade(1), + MatterUpgrade(6), + KohlerInfinityUpgrade(12), + KohlerInfinityUpgrade(14) ) } return ip.floor();