From e2e7924a5527b0d8a595672113352c4a23b425d7 Mon Sep 17 00:00:00 2001 From: William Austin Byers <78285417+ab3327@users.noreply.github.com> Date: Fri, 8 Jul 2022 23:10:18 -0400 Subject: [PATCH 1/6] transfered stuff to new branch so i can have it catch up to main --- index.html | 18 ++++++++++++ src/EventListeners.ts | 12 +++++++- src/Hepteracts.ts | 43 ++++++++++++++++++++++++++-- src/Synergism.ts | 18 ++++++++++-- src/Toggles.ts | 62 ++++++++++++++++++++++++++++++++++++++++ src/UpdateVisuals.ts | 6 ++++ src/types/Synergism.d.ts | 1 + 7 files changed, 154 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index cd130e28e..28fa00fe1 100644 --- a/index.html +++ b/index.html @@ -2656,6 +2656,24 @@ 1 +
Auto Setting --- Ratios: +

Ratio: 1.00

+ +

Ratio: 1.00

+ +

Ratio: 1.00

+ +

Ratio: 1.00

+ +

Ratio: 1.00

+ +

Ratio: 1.00

+ +

Ratio: 1.00

+ +

Ratio: 1.00

+ +
diff --git a/src/EventListeners.ts b/src/EventListeners.ts index e85f8deaa..2a0ae94ce 100644 --- a/src/EventListeners.ts +++ b/src/EventListeners.ts @@ -1,4 +1,4 @@ -import { toggleAscStatPerSecond, toggleTabs, toggleSubTab, toggleBuyAmount, toggleAutoTesseracts, toggleSettings, toggleautoreset, toggleautobuytesseract, toggleShops, toggleAutoSacrifice, toggleautoenhance, toggleautofortify, updateRuneBlessingBuyAmount, toggleChallenges, toggleAutoChallengesIgnore, toggleAutoChallengeRun, updateAutoChallenge, toggleResearchBuy, toggleAutoResearch, toggleAntMaxBuy, toggleAntAutoSacrifice, toggleMaxBuyCube, toggleCorruptionLevel, toggleAutoAscend, toggleShopConfirmation, toggleAutoResearchMode, toggleBuyMaxShop, toggleHepteractAutoPercentage } from './Toggles' +import { toggleAscStatPerSecond, toggleTabs, toggleSubTab, toggleBuyAmount, toggleAutoTesseracts, toggleSettings, toggleautoreset, toggleautobuytesseract, toggleShops, toggleAutoSacrifice, toggleautoenhance, toggleautofortify, updateRuneBlessingBuyAmount, toggleChallenges, toggleAutoChallengesIgnore, toggleAutoChallengeRun, updateAutoChallenge, toggleResearchBuy, toggleAutoResearch, toggleAntMaxBuy, toggleAntAutoSacrifice, toggleMaxBuyCube, toggleCorruptionLevel, toggleAutoAscend, toggleShopConfirmation, toggleAutoResearchMode, toggleBuyMaxShop, toggleHepteractAutoPercentage, updateAutoHeptRatios } 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' @@ -542,6 +542,16 @@ export const generateEventHandlers = () => { DOMCacheGetOrSet('hepteractAutoPercentageButton').addEventListener('click', () => toggleHepteractAutoPercentage()) + // Auto hept Ratios inputs + DOMCacheGetOrSet('hepteractAutoRatiosInputChronos').addEventListener('input', () => updateAutoHeptRatios(1)) + DOMCacheGetOrSet('hepteractAutoRatiosInputHyper').addEventListener('input', () => updateAutoHeptRatios(2)) + DOMCacheGetOrSet('hepteractAutoRatiosInputQuark').addEventListener('input', () => updateAutoHeptRatios(3)) + DOMCacheGetOrSet('hepteractAutoRatiosInputChallenge').addEventListener('input', () => updateAutoHeptRatios(4)) + DOMCacheGetOrSet('hepteractAutoRatiosInputAbyss').addEventListener('input', () => updateAutoHeptRatios(5)) + DOMCacheGetOrSet('hepteractAutoRatiosInputAccelerators').addEventListener('input', () => updateAutoHeptRatios(6)) + DOMCacheGetOrSet('hepteractAutoRatiosInputBoost').addEventListener('input', () => updateAutoHeptRatios(7)) + DOMCacheGetOrSet('hepteractAutoRatiosInputMultipliers').addEventListener('input', () => updateAutoHeptRatios(8)) + // CORRUPTION TAB //Part 0: Subtabs DOMCacheGetOrSet('corrStatsBtn').addEventListener('click', () => toggleSubTab(9, 0)) diff --git a/src/Hepteracts.ts b/src/Hepteracts.ts index 71b91eaa8..ef52484e4 100644 --- a/src/Hepteracts.ts +++ b/src/Hepteracts.ts @@ -17,6 +17,7 @@ export interface IHepteractCraft { BAL?: number CAP?: number DISCOUNT?: number + RATIO: number } export const hepteractTypeList = ['chronos', 'hyperrealism', 'quark', 'challenge', @@ -52,6 +53,11 @@ export class HepteractCraft { */ AUTO = false; + /** + * Automatic crafting ratio. If on, determines the ratio of crafted hepteracts. + */ + RATIO = 1; + /** * Conversion rate of additional items * This is in the form of keys being player variables, @@ -81,6 +87,7 @@ export class HepteractCraft { this.CAP = data.CAP ?? this.BASE_CAP // This sets cap either as previous value or keeps it to default. this.DISCOUNT = data.DISCOUNT ?? 0; this.AUTO = data.AUTO ?? false; + this.RATIO = data.RATIO; void this.toggleAutomatic(this.AUTO) } @@ -279,7 +286,7 @@ export class HepteractCraft { autoCraft(heptAmount: number): HepteractCraft { const expandMultiplier = 2; - + this.RATIO = player.hepteractAutoCraftRatios.HTML_STRING // Calculate the largest craft amount possible, with an upper limit being craftAmount const hepteractLimitCraft = Math.floor((heptAmount / this.HEPTERACT_CONVERSION) * 1 / (1 - this.DISCOUNT)); @@ -291,11 +298,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)) } } - + // Create an array of hept ratios and get the largest one + let largestRatio = player.hepteractAutoCraftRatios.chronos + if (largestRatio < player.hepteractAutoCraftRatios.hyperrealism){ + largestRatio = player.hepteractAutoCraftRatios.hyperrealism; + } + if (largestRatio < player.hepteractAutoCraftRatios.quark){ + largestRatio = player.hepteractAutoCraftRatios.quark; + } + if (largestRatio < player.hepteractAutoCraftRatios.challenge){ + largestRatio = player.hepteractAutoCraftRatios.challenge; + } + if (largestRatio < player.hepteractAutoCraftRatios.abyss){ + largestRatio = player.hepteractAutoCraftRatios.abyss; + } + if (largestRatio < player.hepteractAutoCraftRatios.accelerator){ + largestRatio = player.hepteractAutoCraftRatios.accelerator; + } + if (largestRatio < player.hepteractAutoCraftRatios.acceleratorBoost){ + largestRatio = player.hepteractAutoCraftRatios.acceleratorBoost; + } + if (largestRatio < player.hepteractAutoCraftRatios.multiplier){ + largestRatio = player.hepteractAutoCraftRatios.multiplier; + } // 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 = Math.min(smallestItemLimit, hepteractLimitCraft) * (this.RATIO /largestRatio); let amountCrafted = 0 if (amountToCraft >= this.CAP - this.BAL) { this.BAL = this.CAP @@ -575,6 +604,7 @@ export const overfluxPowderWarp = async () => { // Hepteract of Chronos [UNLOCKED] export const ChronosHepteract = new HepteractCraft({ BASE_CAP: 1000, + RATIO: 1, HEPTERACT_CONVERSION: 1e4, OTHER_CONVERSIONS: {'researchPoints': 1e115}, HTML_STRING: 'chronos', @@ -584,6 +614,7 @@ export const ChronosHepteract = new HepteractCraft({ // Hepteract of Hyperrealism [UNLOCKED] export const HyperrealismHepteract = new HepteractCraft({ BASE_CAP: 1000, + RATIO: 1, HEPTERACT_CONVERSION: 1e4, OTHER_CONVERSIONS: {'runeshards': 1e80}, HTML_STRING: 'hyperrealism', @@ -593,6 +624,7 @@ export const HyperrealismHepteract = new HepteractCraft({ // Hepteract of Too Many Quarks [UNLOCKED] export const QuarkHepteract = new HepteractCraft({ BASE_CAP: 1000, + RATIO: 1, HEPTERACT_CONVERSION: 1e4, OTHER_CONVERSIONS: {'worlds': 100}, HTML_STRING: 'quark', @@ -602,6 +634,7 @@ export const QuarkHepteract = new HepteractCraft({ // Hepteract of Challenge [LOCKED] export const ChallengeHepteract = new HepteractCraft({ BASE_CAP: 1000, + RATIO: 1, HEPTERACT_CONVERSION: 5e4, OTHER_CONVERSIONS: {'wowPlatonicCubes': 1e11, 'wowCubes': 1e22}, HTML_STRING: 'challenge' @@ -610,6 +643,7 @@ export const ChallengeHepteract = new HepteractCraft({ // Hepteract of The Abyssal [LOCKED] export const AbyssHepteract = new HepteractCraft({ BASE_CAP: 1, + RATIO: 1, HEPTERACT_CONVERSION: 1e8, OTHER_CONVERSIONS: {'wowCubes': 69}, HTML_STRING: 'abyss' @@ -618,6 +652,7 @@ export const AbyssHepteract = new HepteractCraft({ // Hepteract of Too Many Accelerator [LOCKED] export const AcceleratorHepteract = new HepteractCraft({ BASE_CAP: 1000, + RATIO: 1, HEPTERACT_CONVERSION: 1e5, OTHER_CONVERSIONS: {'wowTesseracts': 1e14}, HTML_STRING: 'accelerator' @@ -626,6 +661,7 @@ export const AcceleratorHepteract = new HepteractCraft({ // Hepteract of Too Many Accelerator Boost [LOCKED] export const AcceleratorBoostHepteract = new HepteractCraft({ BASE_CAP: 1000, + RATIO: 1, HEPTERACT_CONVERSION: 2e5, OTHER_CONVERSIONS: {'wowHypercubes': 1e10}, HTML_STRING: 'acceleratorBoost' @@ -634,6 +670,7 @@ export const AcceleratorBoostHepteract = new HepteractCraft({ // Hepteract of Too Many Multiplier [LOCKED] export const MultiplierHepteract = new HepteractCraft({ BASE_CAP: 1000, + RATIO: 1, HEPTERACT_CONVERSION: 3e5, OTHER_CONVERSIONS: {'researchPoints': 1e130}, HTML_STRING: 'multiplier' diff --git a/src/Synergism.ts b/src/Synergism.ts index a6f0efddc..1b8e32348 100644 --- a/src/Synergism.ts +++ b/src/Synergism.ts @@ -719,7 +719,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, { @@ -1581,7 +1591,11 @@ 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 5a0f0fd55..666a7558a 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; @@ -962,4 +963,65 @@ 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 updateAutoHeptRatios = (i: number) => { + switch (i) { + case 1: { + const t = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputChronos') as HTMLInputElement).value) || 1; + player.hepteractAutoCraftRatios.chronos = Math.max(t, 0); + DOMCacheGetOrSet('ChronosR').textContent = format(player.hepteractAutoCraftRatios.chronos, 2, true); + updateAutoHeptRatiosDisplay(); + return; + } + case 2: { + const u = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputHyper') as HTMLInputElement).value) || 1; + player.hepteractAutoCraftRatios.hyperrealism = Math.max(u, 0); + DOMCacheGetOrSet('HyperR').textContent = format(player.hepteractAutoCraftRatios.hyperrealism, 2, true); + updateAutoHeptRatiosDisplay(); + return; + } + case 3: { + const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputQuark') as HTMLInputElement).value) || 1; + player.hepteractAutoCraftRatios.quark = Math.max(v, 0); + DOMCacheGetOrSet('QuarkR').textContent = format(player.hepteractAutoCraftRatios.quark, 2, true); + updateAutoHeptRatiosDisplay(); + return; + } + case 4: { + const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputChallenge') as HTMLInputElement).value) || 1; + player.hepteractAutoCraftRatios.challenge = Math.max(v, 0); + DOMCacheGetOrSet('ChallengeR').textContent = format(player.hepteractAutoCraftRatios.challenge, 2, true); + updateAutoHeptRatiosDisplay(); + return; + } + case 5: { + const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputAbyss') as HTMLInputElement).value) || 1; + player.hepteractAutoCraftRatios.abyss = Math.max(v, 0); + DOMCacheGetOrSet('AbyssR').textContent = format(player.hepteractAutoCraftRatios.abyss, 2, true); + updateAutoHeptRatiosDisplay(); + return; + } + case 6: { + const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputAccelerators') as HTMLInputElement).value) || 1; + player.hepteractAutoCraftRatios.accelerator = Math.max(v, 0); + DOMCacheGetOrSet('AcceleratorsR').textContent = format(player.hepteractAutoCraftRatios.accelerator, 2, true); + updateAutoHeptRatiosDisplay(); + return; + } + case 7: { + const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputBoost') as HTMLInputElement).value) || 1; + player.hepteractAutoCraftRatios.acceleratorBoost = Math.max(v, 0); + DOMCacheGetOrSet('BoostR').textContent = format(player.hepteractAutoCraftRatios.acceleratorBoost, 2, true); + updateAutoHeptRatiosDisplay(); + return; + } + case 8: { + const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputMultipliers') as HTMLInputElement).value) || 1; + player.hepteractAutoCraftRatios.multiplier = Math.max(v, 0); + DOMCacheGetOrSet('MultipliersR').textContent = format(player.hepteractAutoCraftRatios.multiplier, 2, true); + updateAutoHeptRatiosDisplay(); + return; + } + } } \ No newline at end of file diff --git a/src/UpdateVisuals.ts b/src/UpdateVisuals.ts index be78f1e60..ced9290ec 100644 --- a/src/UpdateVisuals.ts +++ b/src/UpdateVisuals.ts @@ -568,3 +568,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 2c5155103..c8f107376 100644 --- a/src/types/Synergism.d.ts +++ b/src/types/Synergism.d.ts @@ -537,6 +537,7 @@ export interface Player { singularityUpgrades: Record dailyCodeUsed: boolean hepteractAutoCraftPercentage: number + hepteractAutoCraftRatios: Record } From f38bfbba3dbc1e1f29794346812a393b798c204c Mon Sep 17 00:00:00 2001 From: William Austin Byers <78285417+ab3327@users.noreply.github.com> Date: Sat, 9 Jul 2022 02:42:26 -0400 Subject: [PATCH 2/6] got the functionality figured out --- src/Hepteracts.ts | 59 ++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 34 deletions(-) diff --git a/src/Hepteracts.ts b/src/Hepteracts.ts index ef52484e4..68b9425f0 100644 --- a/src/Hepteracts.ts +++ b/src/Hepteracts.ts @@ -17,7 +17,6 @@ export interface IHepteractCraft { BAL?: number CAP?: number DISCOUNT?: number - RATIO: number } export const hepteractTypeList = ['chronos', 'hyperrealism', 'quark', 'challenge', @@ -53,11 +52,6 @@ export class HepteractCraft { */ AUTO = false; - /** - * Automatic crafting ratio. If on, determines the ratio of crafted hepteracts. - */ - RATIO = 1; - /** * Conversion rate of additional items * This is in the form of keys being player variables, @@ -87,7 +81,6 @@ export class HepteractCraft { this.CAP = data.CAP ?? this.BASE_CAP // This sets cap either as previous value or keeps it to default. this.DISCOUNT = data.DISCOUNT ?? 0; this.AUTO = data.AUTO ?? false; - this.RATIO = data.RATIO; void this.toggleAutomatic(this.AUTO) } @@ -286,7 +279,6 @@ export class HepteractCraft { autoCraft(heptAmount: number): HepteractCraft { const expandMultiplier = 2; - this.RATIO = player.hepteractAutoCraftRatios.HTML_STRING // Calculate the largest craft amount possible, with an upper limit being craftAmount const hepteractLimitCraft = Math.floor((heptAmount / this.HEPTERACT_CONVERSION) * 1 / (1 - this.DISCOUNT)); @@ -300,31 +292,38 @@ export class HepteractCraft { } // Create an array of hept ratios and get the largest one let largestRatio = player.hepteractAutoCraftRatios.chronos - if (largestRatio < player.hepteractAutoCraftRatios.hyperrealism){ - largestRatio = player.hepteractAutoCraftRatios.hyperrealism; + for (let item of Object.entries(player.hepteractAutoCraftRatios)){ + if (largestRatio < item[1]){ + largestRatio = item[1]; + } } - if (largestRatio < player.hepteractAutoCraftRatios.quark){ - largestRatio = player.hepteractAutoCraftRatios.quark; + // Get the smallest of the array we created [If Empty, this will be infinite] + const smallestItemLimit = Math.min(...itemLimits); + let amountToCraft; + if (this.HTML_STRING == "chronos"){ + amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.chronos / largestRatio); } - if (largestRatio < player.hepteractAutoCraftRatios.challenge){ - largestRatio = player.hepteractAutoCraftRatios.challenge; + else if (this.HTML_STRING == "hyperreal"){ + amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.hyperreal / largestRatio); } - if (largestRatio < player.hepteractAutoCraftRatios.abyss){ - largestRatio = player.hepteractAutoCraftRatios.abyss; + else if (this.HTML_STRING == "quark"){ + amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.quark / largestRatio); } - if (largestRatio < player.hepteractAutoCraftRatios.accelerator){ - largestRatio = player.hepteractAutoCraftRatios.accelerator; + else if (this.HTML_STRING == "challenge"){ + amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.challenge / largestRatio); } - if (largestRatio < player.hepteractAutoCraftRatios.acceleratorBoost){ - largestRatio = player.hepteractAutoCraftRatios.acceleratorBoost; + else if (this.HTML_STRING == "abyss"){ + amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.abyss / largestRatio); } - if (largestRatio < player.hepteractAutoCraftRatios.multiplier){ - largestRatio = player.hepteractAutoCraftRatios.multiplier; + 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); } - // 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) * (this.RATIO /largestRatio); let amountCrafted = 0 if (amountToCraft >= this.CAP - this.BAL) { this.BAL = this.CAP @@ -604,7 +603,6 @@ export const overfluxPowderWarp = async () => { // Hepteract of Chronos [UNLOCKED] export const ChronosHepteract = new HepteractCraft({ BASE_CAP: 1000, - RATIO: 1, HEPTERACT_CONVERSION: 1e4, OTHER_CONVERSIONS: {'researchPoints': 1e115}, HTML_STRING: 'chronos', @@ -614,7 +612,6 @@ export const ChronosHepteract = new HepteractCraft({ // Hepteract of Hyperrealism [UNLOCKED] export const HyperrealismHepteract = new HepteractCraft({ BASE_CAP: 1000, - RATIO: 1, HEPTERACT_CONVERSION: 1e4, OTHER_CONVERSIONS: {'runeshards': 1e80}, HTML_STRING: 'hyperrealism', @@ -624,7 +621,6 @@ export const HyperrealismHepteract = new HepteractCraft({ // Hepteract of Too Many Quarks [UNLOCKED] export const QuarkHepteract = new HepteractCraft({ BASE_CAP: 1000, - RATIO: 1, HEPTERACT_CONVERSION: 1e4, OTHER_CONVERSIONS: {'worlds': 100}, HTML_STRING: 'quark', @@ -634,7 +630,6 @@ export const QuarkHepteract = new HepteractCraft({ // Hepteract of Challenge [LOCKED] export const ChallengeHepteract = new HepteractCraft({ BASE_CAP: 1000, - RATIO: 1, HEPTERACT_CONVERSION: 5e4, OTHER_CONVERSIONS: {'wowPlatonicCubes': 1e11, 'wowCubes': 1e22}, HTML_STRING: 'challenge' @@ -643,7 +638,6 @@ export const ChallengeHepteract = new HepteractCraft({ // Hepteract of The Abyssal [LOCKED] export const AbyssHepteract = new HepteractCraft({ BASE_CAP: 1, - RATIO: 1, HEPTERACT_CONVERSION: 1e8, OTHER_CONVERSIONS: {'wowCubes': 69}, HTML_STRING: 'abyss' @@ -652,7 +646,6 @@ export const AbyssHepteract = new HepteractCraft({ // Hepteract of Too Many Accelerator [LOCKED] export const AcceleratorHepteract = new HepteractCraft({ BASE_CAP: 1000, - RATIO: 1, HEPTERACT_CONVERSION: 1e5, OTHER_CONVERSIONS: {'wowTesseracts': 1e14}, HTML_STRING: 'accelerator' @@ -661,7 +654,6 @@ export const AcceleratorHepteract = new HepteractCraft({ // Hepteract of Too Many Accelerator Boost [LOCKED] export const AcceleratorBoostHepteract = new HepteractCraft({ BASE_CAP: 1000, - RATIO: 1, HEPTERACT_CONVERSION: 2e5, OTHER_CONVERSIONS: {'wowHypercubes': 1e10}, HTML_STRING: 'acceleratorBoost' @@ -670,7 +662,6 @@ export const AcceleratorBoostHepteract = new HepteractCraft({ // Hepteract of Too Many Multiplier [LOCKED] export const MultiplierHepteract = new HepteractCraft({ BASE_CAP: 1000, - RATIO: 1, HEPTERACT_CONVERSION: 3e5, OTHER_CONVERSIONS: {'researchPoints': 1e130}, HTML_STRING: 'multiplier' From cfc95004a3a7bf154c5f6c594c81dc5f1a0dc428 Mon Sep 17 00:00:00 2001 From: William Austin Byers <78285417+ab3327@users.noreply.github.com> Date: Sat, 9 Jul 2022 20:46:39 -0400 Subject: [PATCH 3/6] made the layout neat for ratios, hold ratios and auto percent over sing --- index.html | 28 ++--- src/EventListeners.ts | 18 ++-- src/Hepteracts.ts | 3 +- src/Reset.ts | 2 + src/Toggles.ts | 231 +++++++++++++++++++++++++++++++++--------- src/UpdateVisuals.ts | 6 +- 6 files changed, 207 insertions(+), 81 deletions(-) diff --git a/index.html b/index.html index 28fa00fe1..c6b1bd522 100644 --- a/index.html +++ b/index.html @@ -2545,6 +2545,7 @@ +
/ @@ -2556,6 +2557,7 @@ +
/ @@ -2567,6 +2569,7 @@ +
/ @@ -2578,6 +2581,7 @@ +
/ @@ -2589,6 +2593,7 @@ +
/ @@ -2600,6 +2605,7 @@ +
/ @@ -2611,6 +2617,7 @@ +
/ @@ -2622,6 +2629,7 @@ +
/ @@ -2656,24 +2664,8 @@ 1
-
Auto Setting --- Ratios: -

Ratio: 1.00

- -

Ratio: 1.00

- -

Ratio: 1.00

- -

Ratio: 1.00

- -

Ratio: 1.00

- -

Ratio: 1.00

- -

Ratio: 1.00

- -

Ratio: 1.00

- -
+
Auto Setting ----- Ratio: +
diff --git a/src/EventListeners.ts b/src/EventListeners.ts index 2a0ae94ce..a8b1357d1 100644 --- a/src/EventListeners.ts +++ b/src/EventListeners.ts @@ -1,4 +1,4 @@ -import { toggleAscStatPerSecond, toggleTabs, toggleSubTab, toggleBuyAmount, toggleAutoTesseracts, toggleSettings, toggleautoreset, toggleautobuytesseract, toggleShops, toggleAutoSacrifice, toggleautoenhance, toggleautofortify, updateRuneBlessingBuyAmount, toggleChallenges, toggleAutoChallengesIgnore, toggleAutoChallengeRun, updateAutoChallenge, toggleResearchBuy, toggleAutoResearch, toggleAntMaxBuy, toggleAntAutoSacrifice, toggleMaxBuyCube, toggleCorruptionLevel, toggleAutoAscend, toggleShopConfirmation, toggleAutoResearchMode, toggleBuyMaxShop, toggleHepteractAutoPercentage, updateAutoHeptRatios } from './Toggles' +import { toggleAscStatPerSecond, toggleTabs, toggleSubTab, toggleBuyAmount, toggleAutoTesseracts, toggleSettings, toggleautoreset, toggleautobuytesseract, toggleShops, toggleAutoSacrifice, toggleautoenhance, toggleautofortify, updateRuneBlessingBuyAmount, toggleChallenges, toggleAutoChallengesIgnore, toggleAutoChallengeRun, updateAutoChallenge, toggleResearchBuy, toggleAutoResearch, toggleAntMaxBuy, toggleAntAutoSacrifice, toggleMaxBuyCube, toggleCorruptionLevel, toggleAutoAscend, toggleShopConfirmation, toggleAutoResearchMode, toggleBuyMaxShop, 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' @@ -543,14 +543,14 @@ export const generateEventHandlers = () => { DOMCacheGetOrSet('hepteractAutoPercentageButton').addEventListener('click', () => toggleHepteractAutoPercentage()) // Auto hept Ratios inputs - DOMCacheGetOrSet('hepteractAutoRatiosInputChronos').addEventListener('input', () => updateAutoHeptRatios(1)) - DOMCacheGetOrSet('hepteractAutoRatiosInputHyper').addEventListener('input', () => updateAutoHeptRatios(2)) - DOMCacheGetOrSet('hepteractAutoRatiosInputQuark').addEventListener('input', () => updateAutoHeptRatios(3)) - DOMCacheGetOrSet('hepteractAutoRatiosInputChallenge').addEventListener('input', () => updateAutoHeptRatios(4)) - DOMCacheGetOrSet('hepteractAutoRatiosInputAbyss').addEventListener('input', () => updateAutoHeptRatios(5)) - DOMCacheGetOrSet('hepteractAutoRatiosInputAccelerators').addEventListener('input', () => updateAutoHeptRatios(6)) - DOMCacheGetOrSet('hepteractAutoRatiosInputBoost').addEventListener('input', () => updateAutoHeptRatios(7)) - DOMCacheGetOrSet('hepteractAutoRatiosInputMultipliers').addEventListener('input', () => updateAutoHeptRatios(8)) + 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 diff --git a/src/Hepteracts.ts b/src/Hepteracts.ts index 68b9425f0..9bbe76bb5 100644 --- a/src/Hepteracts.ts +++ b/src/Hepteracts.ts @@ -268,7 +268,8 @@ export class HepteractCraft { 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' if (bool === undefined) { G['autoHepteractCount'] += (this.AUTO ? 1 : -1) } diff --git a/src/Reset.ts b/src/Reset.ts index 275ec9d72..8687a437f 100644 --- a/src/Reset.ts +++ b/src/Reset.ts @@ -891,6 +891,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/Toggles.ts b/src/Toggles.ts index 666a7558a..a40907917 100644 --- a/src/Toggles.ts +++ b/src/Toggles.ts @@ -965,63 +965,194 @@ export const toggleHepteractAutoPercentage = async(): Promise => { } } -export const updateAutoHeptRatios = (i: number) => { - switch (i) { - case 1: { - const t = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputChronos') as HTMLInputElement).value) || 1; - player.hepteractAutoCraftRatios.chronos = Math.max(t, 0); - DOMCacheGetOrSet('ChronosR').textContent = format(player.hepteractAutoCraftRatios.chronos, 2, true); - updateAutoHeptRatiosDisplay(); - return; +export const updateAutoChronosRatio = async(): Promise => { + const amount = await Prompt( + 'Enter an 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 } - case 2: { - const u = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputHyper') as HTMLInputElement).value) || 1; - player.hepteractAutoCraftRatios.hyperrealism = Math.max(u, 0); - DOMCacheGetOrSet('HyperR').textContent = format(player.hepteractAutoCraftRatios.hyperrealism, 2, true); - updateAutoHeptRatiosDisplay(); - 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 === 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 an 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 } - case 3: { - const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputQuark') as HTMLInputElement).value) || 1; - player.hepteractAutoCraftRatios.quark = Math.max(v, 0); - DOMCacheGetOrSet('QuarkR').textContent = format(player.hepteractAutoCraftRatios.quark, 2, true); - updateAutoHeptRatiosDisplay(); - 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 === 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 an 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 } - case 4: { - const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputChallenge') as HTMLInputElement).value) || 1; - player.hepteractAutoCraftRatios.challenge = Math.max(v, 0); - DOMCacheGetOrSet('ChallengeR').textContent = format(player.hepteractAutoCraftRatios.challenge, 2, true); - updateAutoHeptRatiosDisplay(); - 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 === 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 an 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 } - case 5: { - const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputAbyss') as HTMLInputElement).value) || 1; - player.hepteractAutoCraftRatios.abyss = Math.max(v, 0); - DOMCacheGetOrSet('AbyssR').textContent = format(player.hepteractAutoCraftRatios.abyss, 2, true); - updateAutoHeptRatiosDisplay(); - 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 === 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 an 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 } - case 6: { - const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputAccelerators') as HTMLInputElement).value) || 1; - player.hepteractAutoCraftRatios.accelerator = Math.max(v, 0); - DOMCacheGetOrSet('AcceleratorsR').textContent = format(player.hepteractAutoCraftRatios.accelerator, 2, true); - updateAutoHeptRatiosDisplay(); - 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 === 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 an integer to set acceleraator hepteract autocraft ratio. ' + ); + if (amount === null) { + if (player.toggles[35]) { + return Alert(`Your acceleraator hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleraator}.`); + } else { + return } - case 7: { - const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputBoost') as HTMLInputElement).value) || 1; - player.hepteractAutoCraftRatios.acceleratorBoost = Math.max(v, 0); - DOMCacheGetOrSet('BoostR').textContent = format(player.hepteractAutoCraftRatios.acceleratorBoost, 2, true); - updateAutoHeptRatiosDisplay(); - 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 === player.hepteractAutoCraftRatios.acceleraator && player.toggles[35]) { + return Alert(`Your acceleraator hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleraator}.`) + } + player.hepteractAutoCraftRatios.acceleraator = ratio + updateAutoHeptRatiosDisplay(); + if (player.toggles[35]) { + return Alert(`Okay. Your new acceleraator hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.acceleraator}.`) + } +} + +export const updateAutoAcceleratorBoostRatio = async(): Promise => { + const amount = await Prompt( + 'Enter an integer to set acceleraator boost hepteract autocraft ratio. ' + ); + if (amount === null) { + if (player.toggles[35]) { + return Alert(`Your acceleraator boost hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleraatorBoost}.`); + } else { + return } - case 8: { - const v = parseFloat((DOMCacheGetOrSet('hepteractAutoRatiosInputMultipliers') as HTMLInputElement).value) || 1; - player.hepteractAutoCraftRatios.multiplier = Math.max(v, 0); - DOMCacheGetOrSet('MultipliersR').textContent = format(player.hepteractAutoCraftRatios.multiplier, 2, true); - updateAutoHeptRatiosDisplay(); - 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 === player.hepteractAutoCraftRatios.acceleraatorBoost && player.toggles[35]) { + return Alert(`Your acceleraator boost hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleraatorBoost}.`) + } + player.hepteractAutoCraftRatios.acceleraatorBoost = ratio + updateAutoHeptRatiosDisplay(); + if (player.toggles[35]) { + return Alert(`Okay. Your new acceleraator boost hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.acceleraatorBoost}.`) + } +} + +export const updateAutoMultiplierRatio = async(): Promise => { + const amount = await Prompt( + 'Enter an 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 === 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/UpdateVisuals.ts b/src/UpdateVisuals.ts index ced9290ec..4fef18ee2 100644 --- a/src/UpdateVisuals.ts +++ b/src/UpdateVisuals.ts @@ -570,7 +570,7 @@ export const visualUpdateShop = () => { } 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}` + 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 From 7e4327fa0d88ade2d1740f98a9ae2b94f159bc3b Mon Sep 17 00:00:00 2001 From: William Austin Byers <78285417+ab3327@users.noreply.github.com> Date: Sat, 9 Jul 2022 21:21:12 -0400 Subject: [PATCH 4/6] lint --- src/EventListeners.ts | 2 +- src/Hepteracts.ts | 29 +++++++++++------------------ src/Synergism.ts | 10 +++++----- src/UpdateVisuals.ts | 8 ++++---- 4 files changed, 21 insertions(+), 28 deletions(-) diff --git a/src/EventListeners.ts b/src/EventListeners.ts index a8b1357d1..c77e6427b 100644 --- a/src/EventListeners.ts +++ b/src/EventListeners.ts @@ -1,4 +1,4 @@ -import { toggleAscStatPerSecond, toggleTabs, toggleSubTab, toggleBuyAmount, toggleAutoTesseracts, toggleSettings, toggleautoreset, toggleautobuytesseract, toggleShops, toggleAutoSacrifice, toggleautoenhance, toggleautofortify, updateRuneBlessingBuyAmount, toggleChallenges, toggleAutoChallengesIgnore, toggleAutoChallengeRun, updateAutoChallenge, toggleResearchBuy, toggleAutoResearch, toggleAntMaxBuy, toggleAntAutoSacrifice, toggleMaxBuyCube, toggleCorruptionLevel, toggleAutoAscend, toggleShopConfirmation, toggleAutoResearchMode, toggleBuyMaxShop, toggleHepteractAutoPercentage, updateAutoChronosRatio, updateAutoHyperrealismRatio, updateAutoQuarkRatio, updateAutoChallengeRatio, updateAutoAbyssRatio, updateAutoAcceleratorRatio, updateAutoAcceleratorBoostRatio, updateAutoMultiplierRatio, } from './Toggles' +import { toggleAscStatPerSecond, toggleTabs, toggleSubTab, toggleBuyAmount, toggleAutoTesseracts, toggleSettings, toggleautoreset, toggleautobuytesseract, toggleShops, toggleAutoSacrifice, toggleautoenhance, toggleautofortify, updateRuneBlessingBuyAmount, toggleChallenges, toggleAutoChallengesIgnore, toggleAutoChallengeRun, updateAutoChallenge, toggleResearchBuy, toggleAutoResearch, toggleAntMaxBuy, toggleAntAutoSacrifice, toggleMaxBuyCube, toggleCorruptionLevel, toggleAutoAscend, toggleShopConfirmation, toggleAutoResearchMode, toggleBuyMaxShop, 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' diff --git a/src/Hepteracts.ts b/src/Hepteracts.ts index 9bbe76bb5..c681bd544 100644 --- a/src/Hepteracts.ts +++ b/src/Hepteracts.ts @@ -269,7 +269,7 @@ export class HepteractCraft { 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' + DOMCacheGetOrSet(`${this.HTML_STRING}HepteractAutoRatio`).style.display = this.AUTO ? 'block' : 'none' if (bool === undefined) { G['autoHepteractCount'] += (this.AUTO ? 1 : -1) } @@ -291,9 +291,9 @@ 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)) } } - // Create an array of hept ratios and get the largest one + // Get the largest ratio from hepts let largestRatio = player.hepteractAutoCraftRatios.chronos - for (let item of Object.entries(player.hepteractAutoCraftRatios)){ + for (const item of Object.entries(player.hepteractAutoCraftRatios)){ if (largestRatio < item[1]){ largestRatio = item[1]; } @@ -301,28 +301,21 @@ export class HepteractCraft { // Get the smallest of the array we created [If Empty, this will be infinite] const smallestItemLimit = Math.min(...itemLimits); let amountToCraft; - if (this.HTML_STRING == "chronos"){ + if (this.HTML_STRING === 'chronos'){ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.chronos / largestRatio); - } - else if (this.HTML_STRING == "hyperreal"){ + } else if (this.HTML_STRING === 'hyperreal'){ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.hyperreal / largestRatio); - } - else if (this.HTML_STRING == "quark"){ + } else if (this.HTML_STRING === 'quark'){ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.quark / largestRatio); - } - else if (this.HTML_STRING == "challenge"){ + } else if (this.HTML_STRING === 'challenge'){ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.challenge / largestRatio); - } - else if (this.HTML_STRING == "abyss"){ + } else if (this.HTML_STRING === 'abyss'){ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.abyss / largestRatio); - } - else if (this.HTML_STRING == "accelerator"){ + } else if (this.HTML_STRING === 'accelerator'){ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.accelerator / largestRatio); - } - else if (this.HTML_STRING == "acceleratorBoost"){ + } else if (this.HTML_STRING === 'acceleratorBoost'){ amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.acceleratorBoost / largestRatio); - } - else { + } else { amountToCraft = Math.min(smallestItemLimit, hepteractLimitCraft) * (player.hepteractAutoCraftRatios.multiplier / largestRatio); } let amountCrafted = 0 diff --git a/src/Synergism.ts b/src/Synergism.ts index 1b8e32348..c051adedb 100644 --- a/src/Synergism.ts +++ b/src/Synergism.ts @@ -1591,11 +1591,11 @@ 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}` - + + 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/UpdateVisuals.ts b/src/UpdateVisuals.ts index 4fef18ee2..d21381281 100644 --- a/src/UpdateVisuals.ts +++ b/src/UpdateVisuals.ts @@ -570,7 +570,7 @@ export const visualUpdateShop = () => { } 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 + 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 From 2b5f44a76a80aa0046fa6a7b0c5b8d69cd008937 Mon Sep 17 00:00:00 2001 From: William Austin Byers <78285417+ab3327@users.noreply.github.com> Date: Fri, 15 Jul 2022 09:42:34 -0400 Subject: [PATCH 5/6] fix merge issue --- src/Hepteracts.ts | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/Hepteracts.ts b/src/Hepteracts.ts index 8b4665b01..9ab7fe8e2 100644 --- a/src/Hepteracts.ts +++ b/src/Hepteracts.ts @@ -259,18 +259,6 @@ export class HepteractCraft { toggleAutomatic(newValue?: boolean): Promise | HepteractCraft { const HTML = DOMCacheGetOrSet(`${this.HTML_STRING}HepteractAuto`); - if (!this.UNLOCKED && bool === undefined) { - return Alert('You do not have this as an unlocked craft. Automation is therefore not possible.') - } - const HTML = DOMCacheGetOrSet(`${this.HTML_STRING}HepteractAuto`) - - this.AUTO = bool ?? !this.AUTO - - if (bool === undefined) { - G['autoHepteractCount'] += (this.AUTO ? 1 : -1) - } - // Math.pow(-1, bool) also works here, but c'mon. - Platonic - // When newValue is empty, current value is toggled this.AUTO = newValue ?? !this.AUTO; HTML.textContent = `Auto ${this.AUTO ? 'ON' : 'OFF'}`; From 98fc2bb5ec832c9cd42703c639286ed42f0a4d47 Mon Sep 17 00:00:00 2001 From: William Austin Byers <78285417+ab3327@users.noreply.github.com> Date: Fri, 15 Jul 2022 18:21:50 -0400 Subject: [PATCH 6/6] added check for ratios <= 0 --- src/Toggles.ts | 52 +++++++++++++++++++++++++++++++---------------- src/UpdateHTML.ts | 4 ++-- 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/src/Toggles.ts b/src/Toggles.ts index 0d6fa2956..8c6ee1dca 100644 --- a/src/Toggles.ts +++ b/src/Toggles.ts @@ -1028,7 +1028,7 @@ export const toggleHepteractAutoPercentage = async(): Promise => { export const updateAutoChronosRatio = async(): Promise => { const amount = await Prompt( - 'Enter an integer to set chronos hepteract autocraft ratio. ' + 'Enter a positive non-zero integer to set chronos hepteract autocraft ratio. ' ); if (amount === null) { if (player.toggles[35]) { @@ -1040,6 +1040,8 @@ export const updateAutoChronosRatio = async(): Promise => { 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}.`) } @@ -1052,7 +1054,7 @@ export const updateAutoChronosRatio = async(): Promise => { export const updateAutoHyperrealismRatio = async(): Promise => { const amount = await Prompt( - 'Enter an integer to set hyperrealism hepteract autocraft ratio. ' + 'Enter a positive non-zero integer to set hyperrealism hepteract autocraft ratio. ' ); if (amount === null) { if (player.toggles[35]) { @@ -1064,6 +1066,8 @@ export const updateAutoHyperrealismRatio = async(): Promise => { 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}.`) } @@ -1076,7 +1080,7 @@ export const updateAutoHyperrealismRatio = async(): Promise => { export const updateAutoQuarkRatio = async(): Promise => { const amount = await Prompt( - 'Enter an integer to set quark hepteract autocraft ratio. ' + 'Enter a positive non-zero integer to set quark hepteract autocraft ratio. ' ); if (amount === null) { if (player.toggles[35]) { @@ -1088,6 +1092,8 @@ export const updateAutoQuarkRatio = async(): Promise => { 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}.`) } @@ -1100,7 +1106,7 @@ export const updateAutoQuarkRatio = async(): Promise => { export const updateAutoChallengeRatio = async(): Promise => { const amount = await Prompt( - 'Enter an integer to set challenge hepteract autocraft ratio. ' + 'Enter a positive non-zero integer to set challenge hepteract autocraft ratio. ' ); if (amount === null) { if (player.toggles[35]) { @@ -1112,6 +1118,8 @@ export const updateAutoChallengeRatio = async(): Promise => { 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}.`) } @@ -1124,7 +1132,7 @@ export const updateAutoChallengeRatio = async(): Promise => { export const updateAutoAbyssRatio = async(): Promise => { const amount = await Prompt( - 'Enter an integer to set abyss hepteract autocraft ratio. ' + 'Enter a positive non-zero integer to set abyss hepteract autocraft ratio. ' ); if (amount === null) { if (player.toggles[35]) { @@ -1136,6 +1144,8 @@ export const updateAutoAbyssRatio = async(): Promise => { 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}.`) } @@ -1148,11 +1158,11 @@ export const updateAutoAbyssRatio = async(): Promise => { export const updateAutoAcceleratorRatio = async(): Promise => { const amount = await Prompt( - 'Enter an integer to set acceleraator hepteract autocraft ratio. ' + 'Enter a positive non-zero integer to set accelerator hepteract autocraft ratio. ' ); if (amount === null) { if (player.toggles[35]) { - return Alert(`Your acceleraator hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleraator}.`); + return Alert(`Your accelerator hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.accelerator}.`); } else { return } @@ -1160,23 +1170,25 @@ export const updateAutoAcceleratorRatio = async(): Promise => { 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 === player.hepteractAutoCraftRatios.acceleraator && player.toggles[35]) { - return Alert(`Your acceleraator hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleraator}.`) + } 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.acceleraator = ratio + player.hepteractAutoCraftRatios.accelerator = ratio updateAutoHeptRatiosDisplay(); if (player.toggles[35]) { - return Alert(`Okay. Your new acceleraator hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.acceleraator}.`) + return Alert(`Okay. Your new accelerator hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.accelerator}.`) } } export const updateAutoAcceleratorBoostRatio = async(): Promise => { const amount = await Prompt( - 'Enter an integer to set acceleraator boost hepteract autocraft ratio. ' + 'Enter a positive non-zero integer to set accelerator boost hepteract autocraft ratio. ' ); if (amount === null) { if (player.toggles[35]) { - return Alert(`Your acceleraator boost hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleraatorBoost}.`); + return Alert(`Your accelerator boost hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleratorBoost}.`); } else { return } @@ -1184,19 +1196,21 @@ export const updateAutoAcceleratorBoostRatio = async(): Promise => { 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 === player.hepteractAutoCraftRatios.acceleraatorBoost && player.toggles[35]) { - return Alert(`Your acceleraator boost hepteract autocraft ratio is kept at ${player.hepteractAutoCraftRatios.acceleraatorBoost}.`) + } 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.acceleraatorBoost = ratio + player.hepteractAutoCraftRatios.acceleratorBoost = ratio updateAutoHeptRatiosDisplay(); if (player.toggles[35]) { - return Alert(`Okay. Your new acceleraator boost hepteract autocraft ratio will be ${player.hepteractAutoCraftRatios.acceleraatorBoost}.`) + 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 an integer to set multiplier hepteract autocraft ratio. ' + 'Enter a positive non-zero integer to set multiplier hepteract autocraft ratio. ' ); if (amount === null) { if (player.toggles[35]) { @@ -1208,6 +1222,8 @@ export const updateAutoMultiplierRatio = async(): Promise => { 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}.`) } 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';