/
@@ -2615,6 +2621,7 @@
+
/
@@ -2626,6 +2633,7 @@
+
/
@@ -2660,6 +2668,8 @@
1
+
Auto Setting ----- Ratio:
+
diff --git a/src/EventListeners.ts b/src/EventListeners.ts
index d48876f3a..6011ad654 100644
--- a/src/EventListeners.ts
+++ b/src/EventListeners.ts
@@ -1,4 +1,4 @@
-import { toggleAscStatPerSecond, toggleTabs, toggleSubTab, toggleBuyAmount, toggleAutoTesseracts, toggleSettings, toggleautoreset, toggleautobuytesseract, toggleShops, toggleAutoSacrifice, toggleAutoBuyFragment, toggleautoenhance, toggleautofortify, updateRuneBlessingBuyAmount, toggleSaveOff, toggleChallenges, toggleAutoChallengesIgnore, toggleAutoChallengeRun, updateAutoChallenge, toggleResearchBuy, toggleAutoResearch, toggleAntMaxBuy, toggleAntAutoSacrifice, toggleMaxBuyCube, toggleCorruptionLevel, toggleAutoAscend, toggleShopConfirmation, toggleAutoResearchMode, toggleBuyMaxShop, toggleHideShop, toggleHepteractAutoPercentage } from './Toggles'
+import { toggleAscStatPerSecond, toggleTabs, toggleSubTab, toggleBuyAmount, toggleAutoTesseracts, toggleSettings, toggleautoreset, toggleautobuytesseract, toggleShops, toggleAutoSacrifice, toggleAutoBuyFragment, toggleautoenhance, toggleautofortify, updateRuneBlessingBuyAmount, toggleSaveOff, toggleChallenges, toggleAutoChallengesIgnore, toggleAutoChallengeRun, updateAutoChallenge, toggleResearchBuy, toggleAutoResearch, toggleAntMaxBuy, toggleAntAutoSacrifice, toggleMaxBuyCube, toggleCorruptionLevel, toggleAutoAscend, toggleShopConfirmation, toggleAutoResearchMode, toggleBuyMaxShop, toggleHideShop, toggleHepteractAutoPercentage, updateAutoChronosRatio, updateAutoHyperrealismRatio, updateAutoQuarkRatio, updateAutoChallengeRatio, updateAutoAbyssRatio, updateAutoAcceleratorRatio, updateAutoAcceleratorBoostRatio, updateAutoMultiplierRatio } from './Toggles'
import { resetrepeat, updateAutoReset, updateTesseractAutoBuyAmount } from './Reset'
import { player, resetCheck, saveSynergy } from './Synergism'
import { boostAccelerator, buyAccelerator, buyMultiplier, buyProducer, buyCrystalUpgrades, buyParticleBuilding, buyTesseractBuilding, buyUpgrades, buyRuneBonusLevels, buyAllBlessings } from './Buy'
@@ -545,6 +545,16 @@ export const generateEventHandlers = () => {
DOMCacheGetOrSet('hepteractAutoPercentageButton').addEventListener('click', () => toggleHepteractAutoPercentage())
+ // Auto hept Ratios inputs
+ DOMCacheGetOrSet('chronosHepteractAutoRatio').addEventListener('click', () => updateAutoChronosRatio())
+ DOMCacheGetOrSet('hyperrealismHepteractAutoRatio').addEventListener('click', () => updateAutoHyperrealismRatio())
+ DOMCacheGetOrSet('quarkHepteractAutoRatio').addEventListener('click', () => updateAutoQuarkRatio())
+ DOMCacheGetOrSet('challengeHepteractAutoRatio').addEventListener('click', () => updateAutoChallengeRatio())
+ DOMCacheGetOrSet('abyssHepteractAutoRatio').addEventListener('click', () => updateAutoAbyssRatio())
+ DOMCacheGetOrSet('acceleratorHepteractAutoRatio').addEventListener('click', () => updateAutoAcceleratorRatio())
+ DOMCacheGetOrSet('acceleratorBoostHepteractAutoRatio').addEventListener('click', () => updateAutoAcceleratorBoostRatio())
+ DOMCacheGetOrSet('multiplierHepteractAutoRatio').addEventListener('click', () => updateAutoMultiplierRatio())
+
// CORRUPTION TAB
//Part 0: Subtabs
DOMCacheGetOrSet('corrStatsBtn').addEventListener('click', () => toggleSubTab(9, 0))
diff --git a/src/Hepteracts.ts b/src/Hepteracts.ts
index 69e5ebf83..9ab7fe8e2 100644
--- a/src/Hepteracts.ts
+++ b/src/Hepteracts.ts
@@ -259,18 +259,18 @@ export class HepteractCraft {
toggleAutomatic(newValue?: boolean): Promise | HepteractCraft {
const HTML = DOMCacheGetOrSet(`${this.HTML_STRING}HepteractAuto`);
- // When newValue is empty, current value is toggled
this.AUTO = newValue ?? !this.AUTO;
HTML.textContent = `Auto ${this.AUTO ? 'ON' : 'OFF'}`;
HTML.style.border = `2px solid ${this.AUTO ? 'green' : 'red'}`;
+ DOMCacheGetOrSet(`${this.HTML_STRING}HepteractCraft`).style.display = this.AUTO ? 'none' : 'block'
+ DOMCacheGetOrSet(`${this.HTML_STRING}HepteractAutoRatio`).style.display = this.AUTO ? 'block' : 'none'
return this;
}
autoCraft(heptAmount: number): HepteractCraft {
const expandMultiplier = 2;
-
// Calculate the largest craft amount possible, with an upper limit being craftAmount
const hepteractLimitCraft = Math.floor((heptAmount / this.HEPTERACT_CONVERSION) * 1 / (1 - this.DISCOUNT));
@@ -282,11 +282,33 @@ export class HepteractCraft {
itemLimits.push(Math.floor((player[item as keyof Player] as number) / this.OTHER_CONVERSIONS[item as keyof Player]!) * 1 / (1 - this.DISCOUNT))
}
}
-
+ // Get the largest ratio from hepts
+ let largestRatio = player.hepteractAutoCraftRatios.chronos
+ for (const item of Object.entries(player.hepteractAutoCraftRatios)){
+ if (largestRatio < item[1]){
+ largestRatio = item[1];
+ }
+ }
// Get the smallest of the array we created [If Empty, this will be infinite]
const smallestItemLimit = Math.min(...itemLimits);
-
- let amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft);
+ let amountToCraft;
+ if (this.HTML_STRING === 'chronos'){
+ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.chronos / largestRatio);
+ } else if (this.HTML_STRING === 'hyperreal'){
+ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.hyperreal / largestRatio);
+ } else if (this.HTML_STRING === 'quark'){
+ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.quark / largestRatio);
+ } else if (this.HTML_STRING === 'challenge'){
+ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.challenge / largestRatio);
+ } else if (this.HTML_STRING === 'abyss'){
+ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.abyss / largestRatio);
+ } else if (this.HTML_STRING === 'accelerator'){
+ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.accelerator / largestRatio);
+ } else if (this.HTML_STRING === 'acceleratorBoost'){
+ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.acceleratorBoost / largestRatio);
+ } else {
+ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.multiplier / largestRatio);
+ }
let amountCrafted = 0
if (amountToCraft >= this.CAP - this.BAL) {
this.BAL = this.CAP
diff --git a/src/Reset.ts b/src/Reset.ts
index e582d4d69..95e46c30a 100644
--- a/src/Reset.ts
+++ b/src/Reset.ts
@@ -892,6 +892,8 @@ export const singularity = async (): Promise => {
toggleSubTab(9, 0); // set 'corruption main'
toggleSubTab(-1, 0); // set 'statistics main'
+ hold.hepteractAutoCraftPercentage = player.hepteractAutoCraftPercentage
+ hold.hepteractAutoCraftRatios = player.hepteractAutoCraftRatios
hold.singularityCount = player.singularityCount;
hold.goldenQuarks = player.goldenQuarks;
hold.shopUpgrades = player.shopUpgrades;
diff --git a/src/Synergism.ts b/src/Synergism.ts
index b1bd0ec87..acff55532 100644
--- a/src/Synergism.ts
+++ b/src/Synergism.ts
@@ -726,7 +726,17 @@ export const player: Player = {
singQuarkHepteract3: new SingularityUpgrade(singularityData['singQuarkHepteract3'])
},
dailyCodeUsed: false,
- hepteractAutoCraftPercentage: 50
+ hepteractAutoCraftPercentage: 50,
+ hepteractAutoCraftRatios: {
+ chronos: 1,
+ hyperrealism: 1,
+ quark: 1,
+ challenge: 1,
+ abyss: 1,
+ accelerator: 1,
+ acceleratorBoost: 1,
+ multiplier: 1
+ }
}
export const blankSave = Object.assign({}, player, {
@@ -1613,6 +1623,10 @@ const loadSynergy = async () => {
DOMCacheGetOrSet('autoHepteractPercentage').textContent = `${player.hepteractAutoCraftPercentage}`
+ DOMCacheGetOrSet('autoHepteractRatios').textContent = `${player.hepteractAutoCraftRatios.chronos}` + `${player.hepteractAutoCraftRatios.hyperrealism}`
+ + `${player.hepteractAutoCraftRatios.quark}` + `${player.hepteractAutoCraftRatios.challenge}` + `${player.hepteractAutoCraftRatios.abyss}`
+ + `${player.hepteractAutoCraftRatios.accelerator}` + `${player.hepteractAutoCraftRatios.acceleratorBoost}` + `${player.hepteractAutoCraftRatios.multiplier}`
+
toggleTalismanBuy(player.buyTalismanShardPercent);
updateTalismanInventory();
calculateObtainium();
diff --git a/src/Toggles.ts b/src/Toggles.ts
index 77082d845..8c6ee1dca 100644
--- a/src/Toggles.ts
+++ b/src/Toggles.ts
@@ -12,6 +12,7 @@ import { loadStatisticsCubeMultipliers, loadStatisticsOfferingMultipliers, loadS
import { corruptionDisplay, corruptionLoadoutTableUpdate, maxCorruptionLevel } from './Corruptions';
import type { BuildingSubtab, Player } from './types/Synergism';
import { DOMCacheGetOrSet } from './Cache/DOM';
+import { updateAutoHeptRatiosDisplay } from './UpdateVisuals'
interface TabValue { tabName: keyof typeof tabNumberConst, unlocked: boolean }
type Tab = Record;
@@ -1023,4 +1024,212 @@ export const toggleHepteractAutoPercentage = async(): Promise => {
if (player.toggles[35]) {
return Alert(`Okay. On Ascension, ${player.hepteractAutoCraftPercentage}% of your Hepteracts will be used in crafting.`)
}
+}
+
+export const updateAutoChronosRatio = async(): Promise => {
+ const amount = await Prompt(
+ 'Enter a positive non-zero integer to set chronos hepteract autocraft ratio. '
+ );
+ if (amount === null) {
+ if (player.toggles[35]) {
+ return Alert(`Your chronos hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.chronos}.`);
+ } else {
+ return
+ }
+ }
+ const ratio = parseInt(amount)
+ if (Number.isNaN(ratio) || !Number.isFinite(ratio) || !Number.isInteger(ratio)) {
+ return Alert('Value must be a finite, non-decimal number!');
+ } else if (ratio <= 0) {
+ return Alert('Value must be greater than 0!');
+ } else if (ratio === player.hepteractAutoCraftRatios.chronos && player.toggles[35]) {
+ return Alert(`Your chronos hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.chronos}.`)
+ }
+ player.hepteractAutoCraftRatios.chronos = ratio
+ updateAutoHeptRatiosDisplay();
+ if (player.toggles[35]) {
+ return Alert(`Okay. Your new chronos hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.chronos}.`)
+ }
+}
+
+export const updateAutoHyperrealismRatio = async(): Promise => {
+ const amount = await Prompt(
+ 'Enter a positive non-zero integer to set hyperrealism hepteract autocraft ratio. '
+ );
+ if (amount === null) {
+ if (player.toggles[35]) {
+ return Alert(`Your hyperrealism hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.hyperrealism}.`);
+ } else {
+ return
+ }
+ }
+ const ratio = parseInt(amount)
+ if (Number.isNaN(ratio) || !Number.isFinite(ratio) || !Number.isInteger(ratio)) {
+ return Alert('Value must be a finite, non-decimal number!');
+ } else if (ratio <= 0) {
+ return Alert('Value must be greater than 0!');
+ } else if (ratio === player.hepteractAutoCraftRatios.hyperrealism && player.toggles[35]) {
+ return Alert(`Your hyperrealism hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.hyperrealism}.`)
+ }
+ player.hepteractAutoCraftRatios.hyperrealism = ratio
+ updateAutoHeptRatiosDisplay();
+ if (player.toggles[35]) {
+ return Alert(`Okay. Your new hyperrealism hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.hyperrealism}.`)
+ }
+}
+
+export const updateAutoQuarkRatio = async(): Promise => {
+ const amount = await Prompt(
+ 'Enter a positive non-zero integer to set quark hepteract autocraft ratio. '
+ );
+ if (amount === null) {
+ if (player.toggles[35]) {
+ return Alert(`Your quark hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.quark}.`);
+ } else {
+ return
+ }
+ }
+ const ratio = parseInt(amount)
+ if (Number.isNaN(ratio) || !Number.isFinite(ratio) || !Number.isInteger(ratio)) {
+ return Alert('Value must be a finite, non-decimal number!');
+ } else if (ratio <= 0) {
+ return Alert('Value must be greater than 0!');
+ } else if (ratio === player.hepteractAutoCraftRatios.quark && player.toggles[35]) {
+ return Alert(`Your quark hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.quark}.`)
+ }
+ player.hepteractAutoCraftRatios.quark = ratio
+ updateAutoHeptRatiosDisplay();
+ if (player.toggles[35]) {
+ return Alert(`Okay. Your new quark hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.quark}.`)
+ }
+}
+
+export const updateAutoChallengeRatio = async(): Promise => {
+ const amount = await Prompt(
+ 'Enter a positive non-zero integer to set challenge hepteract autocraft ratio. '
+ );
+ if (amount === null) {
+ if (player.toggles[35]) {
+ return Alert(`Your challenge hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.challenge}.`);
+ } else {
+ return
+ }
+ }
+ const ratio = parseInt(amount)
+ if (Number.isNaN(ratio) || !Number.isFinite(ratio) || !Number.isInteger(ratio)) {
+ return Alert('Value must be a finite, non-decimal number!');
+ } else if (ratio <= 0) {
+ return Alert('Value must be greater than 0!');
+ } else if (ratio === player.hepteractAutoCraftRatios.challenge && player.toggles[35]) {
+ return Alert(`Your challenge hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.challenge}.`)
+ }
+ player.hepteractAutoCraftRatios.challenge = ratio
+ updateAutoHeptRatiosDisplay();
+ if (player.toggles[35]) {
+ return Alert(`Okay. Your new challenge hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.challenge}.`)
+ }
+}
+
+export const updateAutoAbyssRatio = async(): Promise => {
+ const amount = await Prompt(
+ 'Enter a positive non-zero integer to set abyss hepteract autocraft ratio. '
+ );
+ if (amount === null) {
+ if (player.toggles[35]) {
+ return Alert(`Your abyss hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.abyss}.`);
+ } else {
+ return
+ }
+ }
+ const ratio = parseInt(amount)
+ if (Number.isNaN(ratio) || !Number.isFinite(ratio) || !Number.isInteger(ratio)) {
+ return Alert('Value must be a finite, non-decimal number!');
+ } else if (ratio <= 0) {
+ return Alert('Value must be greater than 0!');
+ } else if (ratio === player.hepteractAutoCraftRatios.abyss && player.toggles[35]) {
+ return Alert(`Your abyss hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.abyss}.`)
+ }
+ player.hepteractAutoCraftRatios.abyss = ratio
+ updateAutoHeptRatiosDisplay();
+ if (player.toggles[35]) {
+ return Alert(`Okay. Your new abyss hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.abyss}.`)
+ }
+}
+
+export const updateAutoAcceleratorRatio = async(): Promise => {
+ const amount = await Prompt(
+ 'Enter a positive non-zero integer to set accelerator hepteract autocraft ratio. '
+ );
+ if (amount === null) {
+ if (player.toggles[35]) {
+ return Alert(`Your accelerator hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.accelerator}.`);
+ } else {
+ return
+ }
+ }
+ const ratio = parseInt(amount)
+ if (Number.isNaN(ratio) || !Number.isFinite(ratio) || !Number.isInteger(ratio)) {
+ return Alert('Value must be a finite, non-decimal number!');
+ } else if (ratio <= 0) {
+ return Alert('Value must be greater than 0!');
+ } else if (ratio === player.hepteractAutoCraftRatios.accelerator && player.toggles[35]) {
+ return Alert(`Your acceleraator hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.accelerator}.`)
+ }
+ player.hepteractAutoCraftRatios.accelerator = ratio
+ updateAutoHeptRatiosDisplay();
+ if (player.toggles[35]) {
+ return Alert(`Okay. Your new accelerator hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.accelerator}.`)
+ }
+}
+
+export const updateAutoAcceleratorBoostRatio = async(): Promise => {
+ const amount = await Prompt(
+ 'Enter a positive non-zero integer to set accelerator boost hepteract autocraft ratio. '
+ );
+ if (amount === null) {
+ if (player.toggles[35]) {
+ return Alert(`Your accelerator boost hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleratorBoost}.`);
+ } else {
+ return
+ }
+ }
+ const ratio = parseInt(amount)
+ if (Number.isNaN(ratio) || !Number.isFinite(ratio) || !Number.isInteger(ratio)) {
+ return Alert('Value must be a finite, non-decimal number!');
+ } else if (ratio <= 0) {
+ return Alert('Value must be greater than 0!');
+ } else if (ratio === player.hepteractAutoCraftRatios.acceleratorBoost && player.toggles[35]) {
+ return Alert(`Your accelerator boost hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleratorBoost}.`)
+ }
+ player.hepteractAutoCraftRatios.acceleratorBoost = ratio
+ updateAutoHeptRatiosDisplay();
+ if (player.toggles[35]) {
+ return Alert(`Okay. Your new accelerator boost hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.acceleratorBoost}.`)
+ }
+}
+
+export const updateAutoMultiplierRatio = async(): Promise => {
+ const amount = await Prompt(
+ 'Enter a positive non-zero integer to set multiplier hepteract autocraft ratio. '
+ );
+ if (amount === null) {
+ if (player.toggles[35]) {
+ return Alert(`Your multiplier hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.multiplier}.`);
+ } else {
+ return
+ }
+ }
+ const ratio = parseInt(amount)
+ if (Number.isNaN(ratio) || !Number.isFinite(ratio) || !Number.isInteger(ratio)) {
+ return Alert('Value must be a finite, non-decimal number!');
+ } else if (ratio <= 0) {
+ return Alert('Value must be greater than 0!');
+ } else if (ratio === player.hepteractAutoCraftRatios.multiplier && player.toggles[35]) {
+ return Alert(`Your multiplier hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.multiplier}.`)
+ }
+ player.hepteractAutoCraftRatios.multiplier = ratio
+ updateAutoHeptRatiosDisplay();
+ if (player.toggles[35]) {
+ return Alert(`Okay. Your new multiplier hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.multiplier}.`)
+ }
}
\ No newline at end of file
diff --git a/src/UpdateHTML.ts b/src/UpdateHTML.ts
index 9db0f295b..4229b760f 100644
--- a/src/UpdateHTML.ts
+++ b/src/UpdateHTML.ts
@@ -5,7 +5,7 @@ import { CalcCorruptionStuff, calculateAscensionAcceleration, calculateTimeAccel
import { achievementaward, totalachievementpoints } from './Achievements';
import { displayRuneInformation } from './Runes';
import { autoResearchEnabled } from './Research';
-import { visualUpdateBuildings, visualUpdateUpgrades, visualUpdateAchievements, visualUpdateRunes, visualUpdateChallenges, visualUpdateResearch, visualUpdateSettings, visualUpdateShop, visualUpdateSingularity, visualUpdateAnts, visualUpdateCubes, visualUpdateCorruptions } from './UpdateVisuals';
+import { visualUpdateBuildings, visualUpdateUpgrades, visualUpdateAchievements, visualUpdateRunes, visualUpdateChallenges, visualUpdateResearch, visualUpdateSettings, visualUpdateShop, visualUpdateSingularity, visualUpdateAnts, visualUpdateCubes, visualUpdateCorruptions, updateAutoHeptRatiosDisplay } from './UpdateVisuals';
import { getMaxChallenges } from './Challenges';
import type { OneToFive, ZeroToFour, ZeroToSeven } from './types/Synergism';
import { DOMCacheGetOrSet } from './Cache/DOM';
@@ -204,7 +204,7 @@ export const revealStuff = () => {
}
visualUpdateShop();
-
+ updateAutoHeptRatiosDisplay();
const hepts = DOMCacheGetOrSet('corruptionHepteracts');
hepts.style.display = (player.achievements[255] > 0) ? 'block' : 'none';
diff --git a/src/UpdateVisuals.ts b/src/UpdateVisuals.ts
index 5b89ddfef..58d07ed46 100644
--- a/src/UpdateVisuals.ts
+++ b/src/UpdateVisuals.ts
@@ -702,3 +702,9 @@ export const visualUpdateShop = () => {
DOMCacheGetOrSet('buySingularityQuarksAmount').textContent = `Owned: ${format(player.goldenQuarks)}`
DOMCacheGetOrSet('buySingularityQuarksButton').textContent = `Buy! ${format(getGoldenQuarkCost().cost)} Quarks Each`
}
+
+export const updateAutoHeptRatiosDisplay = () => {
+ DOMCacheGetOrSet('autoHepteractRatios').textContent = `${player.hepteractAutoCraftRatios.chronos} ` + `${player.hepteractAutoCraftRatios.hyperrealism} `
+ + `${player.hepteractAutoCraftRatios.quark} ` + `${player.hepteractAutoCraftRatios.challenge} ` + `${player.hepteractAutoCraftRatios.abyss} `
+ + `${player.hepteractAutoCraftRatios.accelerator} ` + `${player.hepteractAutoCraftRatios.acceleratorBoost} ` + `${player.hepteractAutoCraftRatios.multiplier} `
+}
\ No newline at end of file
diff --git a/src/types/Synergism.d.ts b/src/types/Synergism.d.ts
index 951a3eabb..f2a33a014 100644
--- a/src/types/Synergism.d.ts
+++ b/src/types/Synergism.d.ts
@@ -543,6 +543,7 @@ export interface Player {
singularityUpgrades: Record
dailyCodeUsed: boolean
hepteractAutoCraftPercentage: number
+ hepteractAutoCraftRatios: Record
}