Merge pull request #782 from DanielNoord/linting

Fixed linting issues
This commit is contained in:
Daniël van Noord
2021-05-01 22:49:33 +02:00
committed by GitHub
94 changed files with 440 additions and 1316 deletions

View File

@@ -6,14 +6,8 @@
const readyCheck = setInterval(() => {
const Game = unsafeWindow.Game;
if (
typeof Game !== "undefined" &&
typeof Game.ready !== "undefined" &&
Game.ready
) {
Game.LoadMod(
"https://aktanusa.github.io/CookieMonster/CookieMonster.js"
);
if (typeof Game !== 'undefined' && typeof Game.ready !== 'undefined' && Game.ready) {
Game.LoadMod('https://aktanusa.github.io/CookieMonster/CookieMonster.js');
clearInterval(readyCheck);
}
}, 1000);

File diff suppressed because one or more lines are too long

View File

@@ -37,11 +37,7 @@ export class CMAvgQueue {
if (time > this.maxLength) time = this.maxLength;
if (time > this.queue.length) time = this.queue.length;
let ret = 0;
for (
let i = this.queue.length - 1;
i >= 0 && i > this.queue.length - 1 - time;
i--
) {
for (let i = this.queue.length - 1; i >= 0 && i > this.queue.length - 1 - time; i--) {
ret += this.queue[i];
}
if (ret === 0) {

View File

@@ -45,11 +45,9 @@ export default function CacheAvgCPS() {
// Add recent gains to AvgQueue's
const timeDiff = currDate - CacheLastCPSCheck;
const bankDiffAvg = Math.max(0, Game.cookies - CacheLastCookies) / timeDiff;
const wrinkDiffAvg =
Math.max(0, CacheWrinklersTotal - CacheLastWrinkCookies) / timeDiff;
const wrinkDiffAvg = Math.max(0, CacheWrinklersTotal - CacheLastWrinkCookies) / timeDiff;
const wrinkFattestDiffAvg =
Math.max(0, CacheWrinklersFattest[0] - CacheLastWrinkFattestCookies) /
timeDiff;
Math.max(0, CacheWrinklersFattest[0] - CacheLastWrinkFattestCookies) / timeDiff;
const choEggDiffAvg = Math.max(0, choEggTotal - CacheLastChoEgg) / timeDiff;
const clicksDiffAvg = (Game.cookieClicks - CacheLastClicks) / timeDiff;
for (let i = 0; i < timeDiff; i++) {
@@ -76,22 +74,16 @@ export default function CacheAvgCPS() {
CacheAverageGainChoEgg = ChoEggDiff.calcAverage(cpsLength);
CacheAverageCPS = CacheAverageGainBank;
if (CMOptions.CalcWrink === 1) CacheAverageCPS += CacheAverageGainWrink;
if (CMOptions.CalcWrink === 2)
CacheAverageCPS += CacheAverageGainWrinkFattest;
if (CMOptions.CalcWrink === 2) CacheAverageCPS += CacheAverageGainWrinkFattest;
const choEgg =
Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg');
const choEgg = Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg');
if (choEgg || CMOptions.CalcWrink === 0) {
CacheAvgCPSWithChoEgg =
CacheAverageGainBank +
CacheAverageGainWrink +
(choEgg ? CacheAverageGainChoEgg : 0);
CacheAverageGainBank + CacheAverageGainWrink + (choEgg ? CacheAverageGainChoEgg : 0);
} else CacheAvgCPSWithChoEgg = CacheAverageCPS; // eslint-disable-line no-unused-vars
// eslint-disable-next-line no-unused-vars
CacheAverageClicks = ClicksDiff.calcAverage(
ClickTimes[CMOptions.AvgClicksHist],
);
CacheAverageClicks = ClicksDiff.calcAverage(ClickTimes[CMOptions.AvgClicksHist]);
}
}

View File

@@ -1,8 +1,5 @@
import { SimObjects } from '../../Sim/VariablesAndData';
import {
CacheCurrWrinklerCount,
CacheCurrWrinklerCPSMult,
} from '../VariablesAndData';
import { CacheCurrWrinklerCount, CacheCurrWrinklerCPSMult } from '../VariablesAndData';
/**
* This functions caches the current Wrinkler CPS multiplier

View File

@@ -5,8 +5,7 @@
export default function GetCPSBuffMult() {
let mult = 1;
Object.keys(Game.buffs).forEach((i) => {
if (typeof Game.buffs[i].multCpS !== 'undefined')
mult *= Game.buffs[i].multCpS;
if (typeof Game.buffs[i].multCpS !== 'undefined') mult *= Game.buffs[i].multCpS;
});
return mult;
}

View File

@@ -3,23 +3,14 @@ import { CMAvgQueue, InitCookiesDiff } from './CPS/AverageQueue';
import CacheAvgCPS from './CPS/CPS';
import CacheDragonAuras from './Dragon/CacheDragonAuras';
import CachePP from './PP/PP';
import {
CacheBuildingsPrices,
CacheIncome,
} from './PriceAndIncome/PriceAndIncome';
import { CacheBuildingsPrices, CacheIncome } from './PriceAndIncome/PriceAndIncome';
import { CacheChain } from './Stats/ChainCookies';
import CacheHeavenlyChipsPS from './Stats/HeavenlyChips';
import CacheAllMissingUpgrades from './Stats/MissingUpgrades';
import CacheSeasonSpec from './Stats/Reindeer';
import {
CacheGoldenAndWrathCookiesMults,
CacheStatsCookies,
} from './Stats/Stats';
import { CacheGoldenAndWrathCookiesMults, CacheStatsCookies } from './Stats/Stats';
import AllAmountTillNextAchievement from './TillNextAchievement/AllAmountTillNextAchievement';
import {
CacheAverageCookiesFromClicks,
HeavenlyChipsDiff,
} from './VariablesAndData';
import { CacheAverageCookiesFromClicks, HeavenlyChipsDiff } from './VariablesAndData';
import CacheWrinklers from './Wrinklers/Wrinklers';
/**
@@ -36,9 +27,7 @@ export default function InitCache() {
InitCookiesDiff();
/** Used by CM.Cache.CacheHeavenlyChipsPS() */
HeavenlyChipsDiff = new CMAvgQueue(5); // eslint-disable-line no-unused-vars
CacheAverageCookiesFromClicks = new CMAvgQueue( // eslint-disable-line no-unused-vars
ClickTimes[ClickTimes.length - 1] * 20,
);
CacheAverageCookiesFromClicks = new CMAvgQueue(ClickTimes[ClickTimes.length - 1] * 20); // eslint-disable-line no-unused-vars
CacheHeavenlyChipsPS();
AllAmountTillNextAchievement();
CacheAvgCPS();

View File

@@ -22,8 +22,7 @@ export default function LoopCache() {
const cookiesToNext =
Game.HowManyCookiesReset(
Math.floor(Game.HowMuchPrestige(Game.cookiesReset + Game.cookiesEarned)) +
1,
Math.floor(Game.HowMuchPrestige(Game.cookiesReset + Game.cookiesEarned)) + 1,
) -
(Game.cookiesEarned + Game.cookiesReset);
CacheTimeTillNextPrestige = FormatTime(cookiesToNext / GetCPS()); // eslint-disable-line no-unused-vars

View File

@@ -3,10 +3,7 @@
import Beautify from '../../Disp/BeautifyAndFormatting/Beautify';
import CopyData from '../../Sim/SimulationData/CopyData';
import { SimDoSims, SimObjects } from '../../Sim/VariablesAndData';
import {
CacheCostDragonUpgrade,
CacheLastDragonLevel,
} from '../VariablesAndData';
import { CacheCostDragonUpgrade, CacheLastDragonLevel } from '../VariablesAndData';
/**
* This functions caches the current cost of upgrading the dragon level so it can be displayed in the tooltip
@@ -17,9 +14,7 @@ export default function CacheDragonCost() {
Game.dragonLevel < 25 &&
Game.dragonLevels[Game.dragonLevel].buy.toString().includes('sacrifice')
) {
let target = Game.dragonLevels[Game.dragonLevel].buy
.toString()
.match(/Objects\[(.*)\]/)[1];
let target = Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];
const amount = Game.dragonLevels[Game.dragonLevel].buy
.toString()
.match(/sacrifice\((.*?)\)/)[1];
@@ -34,10 +29,7 @@ export default function CacheDragonCost() {
let price =
SimObjects[target].basePrice *
Game.priceIncrease **
Math.max(
0,
SimObjects[target].amount - 1 - SimObjects[target].free,
);
Math.max(0, SimObjects[target].amount - 1 - SimObjects[target].free);
price = Game.modifyBuildingPrice(SimObjects[target], price);
price = Math.ceil(price);
cost += price;
@@ -58,10 +50,7 @@ export default function CacheDragonCost() {
let price =
SimObjects[target].basePrice *
Game.priceIncrease **
Math.max(
0,
SimObjects[target].amount - 1 - SimObjects[target].free,
);
Math.max(0, SimObjects[target].amount - 1 - SimObjects[target].free);
price = Game.modifyBuildingPrice(SimObjects[target], price);
price = Math.ceil(price);
cost += price;

View File

@@ -22,10 +22,7 @@ function CacheColour(target, amount) {
return;
}
// eslint-disable-next-line no-param-reassign
target[i].color = ColourOfPP(
target[i],
Game.Objects[i].getSumPrice(amount),
);
target[i].color = ColourOfPP(target[i], Game.Objects[i].getSumPrice(amount));
// Colour based on excluding certain top-buildings
for (let j = 0; j < CMOptions.PPExcludeTop; j++) {
if (target[i].pp === CachePPArray[j][0]) target[i].color = ColourGray; // eslint-disable-line no-param-reassign
@@ -38,12 +35,10 @@ function CachePP(target, amount) {
const price = Game.Objects[i].getSumPrice(amount);
if (Game.cookiesPs) {
target[i].pp = // eslint-disable-line no-param-reassign
Math.max(price - (Game.cookies + GetWrinkConfigBank()), 0) /
Game.cookiesPs +
Math.max(price - (Game.cookies + GetWrinkConfigBank()), 0) / Game.cookiesPs +
price / target[i].bonus;
} else target[i].pp = price / target[i].bonus; // eslint-disable-line no-param-reassign
if (!(CMOptions.PPRigidelMode && amount === 1))
CachePPArray.push([target[i].pp, amount]);
if (!(CMOptions.PPRigidelMode && amount === 1)) CachePPArray.push([target[i].pp, amount]);
});
}

View File

@@ -31,8 +31,7 @@ export default function ColourOfPP(me, price) {
// Colour based on price in terms of CPS
if (Number(CMOptions.PPSecondsLowerLimit) !== 0) {
if (price / GetCPS() < Number(CMOptions.PPSecondsLowerLimit))
color = ColourBlue;
if (price / GetCPS() < Number(CMOptions.PPSecondsLowerLimit)) color = ColourBlue;
}
// Colour based on being able to purchase
if (CMOptions.PPOnlyConsiderBuyable) {

View File

@@ -10,20 +10,12 @@ export default function CacheUpgradePP() {
Object.keys(CacheUpgrades).forEach((i) => {
if (Game.cookiesPs) {
CacheUpgrades[i].pp =
Math.max(
Game.Upgrades[i].getPrice() - (Game.cookies + GetWrinkConfigBank()),
0,
) /
Math.max(Game.Upgrades[i].getPrice() - (Game.cookies + GetWrinkConfigBank()), 0) /
Game.cookiesPs +
Game.Upgrades[i].getPrice() / CacheUpgrades[i].bonus;
} else
CacheUpgrades[i].pp =
Game.Upgrades[i].getPrice() / CacheUpgrades[i].bonus;
} else CacheUpgrades[i].pp = Game.Upgrades[i].getPrice() / CacheUpgrades[i].bonus;
if (Number.isNaN(CacheUpgrades[i].pp)) CacheUpgrades[i].pp = Infinity;
CacheUpgrades[i].color = ColourOfPP(
CacheUpgrades[i],
Game.Upgrades[i].getPrice(),
);
CacheUpgrades[i].color = ColourOfPP(CacheUpgrades[i], Game.Upgrades[i].getPrice());
});
}

View File

@@ -44,10 +44,8 @@ function CacheUpgradeIncome() {
const bonusIncome = BuyUpgradesBonusIncome(i);
if (i === 'Elder Pledge') {
CacheUpgrades[i] = { bonus: Game.cookiesPs - CacheAverageGainBank };
if (CMOptions.CalcWrink === 1)
CacheUpgrades[i].bonus -= CacheAverageGainWrink;
else if (CMOptions.CalcWrink === 2)
CacheUpgrades[i].bonus -= CacheAverageGainWrinkFattest;
if (CMOptions.CalcWrink === 1) CacheUpgrades[i].bonus -= CacheAverageGainWrink;
else if (CMOptions.CalcWrink === 2) CacheUpgrades[i].bonus -= CacheAverageGainWrinkFattest;
if (!Number.isFinite(CacheUpgrades[i].bonus)) CacheUpgrades[i].bonus = 0;
} else {
CacheUpgrades[i] = {};

View File

@@ -31,22 +31,15 @@ export function MaxChainCookieReward(digit, maxPayout, mult) {
let moni = 0;
let nextMoni = 0;
let nextRequired = 0;
let chain =
1 + Math.max(0, Math.ceil(Math.log(Game.cookies) / Math.LN10) - 10);
let chain = 1 + Math.max(0, Math.ceil(Math.log(Game.cookies) / Math.LN10) - 10);
while (nextMoni < maxPayout * mult) {
moni = Math.max(
digit,
Math.min(
Math.floor((1 / 9) * 10 ** chain * digit * mult),
maxPayout * mult,
),
Math.min(Math.floor((1 / 9) * 10 ** chain * digit * mult), maxPayout * mult),
);
nextMoni = Math.max(
digit,
Math.min(
Math.floor((1 / 9) * 10 ** (chain + 1) * digit * mult),
maxPayout * mult,
),
Math.min(Math.floor((1 / 9) * 10 ** (chain + 1) * digit * mult), maxPayout * mult),
);
nextRequired = Math.floor((1 / 9) * 10 ** (chain + 1) * digit * mult);
totalFromChain += moni;
@@ -72,65 +65,28 @@ export function MaxChainCookieReward(digit, maxPayout, mult) {
* @global {number} CM.Cache.ChainFrenzyWrathRequiredNext Total cookies needed for next level for wrath frenzy chain
*/
export function CacheChain() {
let maxPayout =
CacheNoGoldSwitchCookiesPS *
60 *
60 *
6 *
CacheDragonsFortuneMultAdjustment;
let maxPayout = CacheNoGoldSwitchCookiesPS * 60 * 60 * 6 * CacheDragonsFortuneMultAdjustment;
// Removes effect of Frenzy etc.
const cpsBuffMult = GetCPSBuffMult();
if (cpsBuffMult > 0) maxPayout /= cpsBuffMult;
else maxPayout = 0;
CacheChainMaxReward = MaxChainCookieReward(
7,
maxPayout,
CacheGoldenCookiesMult,
);
CacheChainMaxReward = MaxChainCookieReward(7, maxPayout, CacheGoldenCookiesMult);
CacheChainRequired = (CacheChainMaxReward[1] * 2) / CacheGoldenCookiesMult; // eslint-disable-line no-unused-vars
CacheChainRequiredNext = // eslint-disable-line no-unused-vars
CacheChainMaxReward[2] / 60 / 60 / 6 / CacheDragonsFortuneMultAdjustment;
CacheChainRequiredNext = CacheChainMaxReward[2] / 60 / 60 / 6 / CacheDragonsFortuneMultAdjustment; // eslint-disable-line no-unused-vars
CacheChainWrathMaxReward = MaxChainCookieReward(
6,
maxPayout,
CacheWrathCookiesMult,
);
CacheChainWrathRequired = // eslint-disable-line no-unused-vars
(CacheChainWrathMaxReward[1] * 2) / CacheWrathCookiesMult;
CacheChainWrathMaxReward = MaxChainCookieReward(6, maxPayout, CacheWrathCookiesMult);
CacheChainWrathRequired = (CacheChainWrathMaxReward[1] * 2) / CacheWrathCookiesMult; // eslint-disable-line no-unused-vars
CacheChainWrathRequiredNext = // eslint-disable-line no-unused-vars
CacheChainWrathMaxReward[2] /
60 /
60 /
6 /
CacheDragonsFortuneMultAdjustment;
CacheChainWrathMaxReward[2] / 60 / 60 / 6 / CacheDragonsFortuneMultAdjustment;
CacheChainFrenzyMaxReward = MaxChainCookieReward(
7,
maxPayout * 7,
CacheGoldenCookiesMult,
);
CacheChainFrenzyRequired = // eslint-disable-line no-unused-vars
(CacheChainFrenzyMaxReward[1] * 2) / CacheGoldenCookiesMult;
CacheChainFrenzyMaxReward = MaxChainCookieReward(7, maxPayout * 7, CacheGoldenCookiesMult);
CacheChainFrenzyRequired = (CacheChainFrenzyMaxReward[1] * 2) / CacheGoldenCookiesMult; // eslint-disable-line no-unused-vars
CacheChainFrenzyRequiredNext = // eslint-disable-line no-unused-vars
CacheChainFrenzyMaxReward[2] /
60 /
60 /
6 /
CacheDragonsFortuneMultAdjustment;
CacheChainFrenzyMaxReward[2] / 60 / 60 / 6 / CacheDragonsFortuneMultAdjustment;
CacheChainFrenzyWrathMaxReward = MaxChainCookieReward(
6,
maxPayout * 7,
CacheWrathCookiesMult,
);
CacheChainFrenzyWrathRequired = // eslint-disable-line no-unused-vars
(CacheChainFrenzyWrathMaxReward[1] * 2) / CacheWrathCookiesMult;
CacheChainFrenzyWrathMaxReward = MaxChainCookieReward(6, maxPayout * 7, CacheWrathCookiesMult);
CacheChainFrenzyWrathRequired = (CacheChainFrenzyWrathMaxReward[1] * 2) / CacheWrathCookiesMult; // eslint-disable-line no-unused-vars
CacheChainFrenzyWrathRequiredNext = // eslint-disable-line no-unused-vars
CacheChainFrenzyWrathMaxReward[2] /
60 /
60 /
6 /
CacheDragonsFortuneMultAdjustment;
CacheChainFrenzyWrathMaxReward[2] / 60 / 60 / 6 / CacheDragonsFortuneMultAdjustment;
}

View File

@@ -15,15 +15,12 @@ export default function CacheHeavenlyChipsPS() {
// Only calculate every new second
if ((Game.T / Game.fps) % 1 === 0) {
const chipsOwned = Game.HowMuchPrestige(Game.cookiesReset);
const ascendNowToOwn = Math.floor(
Game.HowMuchPrestige(Game.cookiesReset + Game.cookiesEarned),
);
const ascendNowToOwn = Math.floor(Game.HowMuchPrestige(Game.cookiesReset + Game.cookiesEarned));
const ascendNowToGet = ascendNowToOwn - Math.floor(chipsOwned);
// Add recent gains to AvgQueue's
const timeDiff = currDate - CacheLastHeavenlyCheck;
const heavenlyChipsDiffAvg =
Math.max(0, ascendNowToGet - CacheLastHeavenlyChips) / timeDiff;
const heavenlyChipsDiffAvg = Math.max(0, ascendNowToGet - CacheLastHeavenlyChips) / timeDiff;
for (let i = 0; i < timeDiff; i++) {
HeavenlyChipsDiff.addLatest(heavenlyChipsDiffAvg);
}

View File

@@ -38,11 +38,7 @@ export default function CacheAllMissingUpgrades() {
/* eslint-disable no-unused-vars */
if (me.pool === 'prestige') CacheMissingUpgradesPrestige += str;
else if (me.pool === 'cookie') CacheMissingUpgradesCookies += str;
else if (
me.pool !== 'toggle' &&
me.pool !== 'unused' &&
me.pool !== 'debug'
)
else if (me.pool !== 'toggle' && me.pool !== 'unused' && me.pool !== 'debug')
CacheMissingUpgrades += str;
/* eslint-enable no-unused-vars */
}

View File

@@ -31,10 +31,8 @@ export function CacheStatsCookies() {
CacheLuckyReward = CacheGoldenCookiesMult * (CacheLucky * 0.15) + 13; // eslint-disable-line no-unused-vars
CacheLuckyWrathReward = CacheWrathCookiesMult * (CacheLucky * 0.15) + 13; // eslint-disable-line no-unused-vars
CacheLuckyFrenzy = CacheLucky * 7;
CacheLuckyRewardFrenzy = // eslint-disable-line no-unused-vars
CacheGoldenCookiesMult * (CacheLuckyFrenzy * 0.15) + 13;
CacheLuckyWrathRewardFrenzy = // eslint-disable-line no-unused-vars
CacheWrathCookiesMult * (CacheLuckyFrenzy * 0.15) + 13;
CacheLuckyRewardFrenzy = CacheGoldenCookiesMult * (CacheLuckyFrenzy * 0.15) + 13; // eslint-disable-line no-unused-vars
CacheLuckyWrathRewardFrenzy = CacheWrathCookiesMult * (CacheLuckyFrenzy * 0.15) + 13; // eslint-disable-line no-unused-vars
CacheConjure = CacheLucky * 2;
CacheConjureReward = CacheConjure * 0.15; // eslint-disable-line no-unused-vars
@@ -84,7 +82,6 @@ export function CacheGoldenAndWrathCookiesMults() {
// Otherwise, the aura effect will be factored in the base CPS making the multiplier not requiring adjustment.
CacheDragonsFortuneMultAdjustment = 1;
if (Game.shimmerTypes.golden.n === 0) {
CacheDragonsFortuneMultAdjustment *=
1 + Game.auraMult("Dragon's Fortune") * 1.23;
CacheDragonsFortuneMultAdjustment *= 1 + Game.auraMult("Dragon's Fortune") * 1.23;
}
}

View File

@@ -10,8 +10,7 @@ export default function AllAmountTillNextAchievement() {
CacheObjectsNextAchievement[i].TotalNeeded > Game.Objects[i].amount
) {
result[i] = {
AmountNeeded:
CacheObjectsNextAchievement[i].TotalNeeded - Game.Objects[i].amount,
AmountNeeded: CacheObjectsNextAchievement[i].TotalNeeded - Game.Objects[i].amount,
TotalNeeded: CacheObjectsNextAchievement[i].TotalNeeded,
};
} else {

View File

@@ -34,8 +34,7 @@ export default function CacheWrinklers() {
CacheWrinklersTotal += sucked; // eslint-disable-line no-unused-vars
if (Game.wrinklers[i].type === 0) {
CacheWrinklersNormal += sucked; // eslint-disable-line no-unused-vars
if (sucked > CacheWrinklersFattest[0])
CacheWrinklersFattest = [sucked, i];
if (sucked > CacheWrinklersFattest[0]) CacheWrinklersFattest = [sucked, i];
}
}
}

View File

@@ -19,14 +19,8 @@ export function SaveConfig() {
);
const CookieMonsterSave = saveString.match(/CookieMonster.*(;|$)/);
if (CookieMonsterSave !== null) {
const newSaveString = saveString.replace(
CookieMonsterSave[0],
`CookieMonster:${save()}`,
);
localStorage.setItem(
'CookieClickerGame',
escape(`${utf8_to_b64(newSaveString)}!END!`),
);
const newSaveString = saveString.replace(CookieMonsterSave[0], `CookieMonster:${save()}`);
localStorage.setItem('CookieClickerGame', escape(`${utf8_to_b64(newSaveString)}!END!`));
}
}

View File

@@ -7,15 +7,9 @@ import { CMOptions } from './VariablesAndData';
* This function changes the position of both the bottom and timer bar
*/
export function UpdateBotTimerBarPosition() {
if (
CMOptions.BotBar === 1 &&
CMOptions.TimerBar === 1 &&
CMOptions.TimerBarPos === 1
) {
if (CMOptions.BotBar === 1 && CMOptions.TimerBar === 1 && CMOptions.TimerBarPos === 1) {
l('CMBotBar').style.bottom = l('CMTimerBar').style.height;
l('game').style.bottom = `${
Number(l('CMTimerBar').style.height.replace('px', '')) + 70
}px`;
l('game').style.bottom = `${Number(l('CMTimerBar').style.height.replace('px', '')) + 70}px`;
} else if (CMOptions.BotBar === 1) {
l('CMBotBar').style.bottom = '0px';
l('game').style.bottom = '70px';

View File

@@ -17,8 +17,7 @@ export function ToggleConfig(config) {
if (CMOptions[config] === ConfigData[config].label.length) {
CMOptions[config] = 0;
if (ConfigData[config].toggle)
l(ConfigPrefix + config).className = 'option off';
if (ConfigData[config].toggle) l(ConfigPrefix + config).className = 'option off';
} else l(ConfigPrefix + config).className = 'option';
if (typeof ConfigData[config].func !== 'undefined') {

View File

@@ -77,15 +77,13 @@ const ConfigDefault: {
ColourFortuneFlash: '#ffffff',
FortuneSound: 1,
FortuneVolume: 100,
FortuneSoundURL:
'https://freesound.org/data/previews/174/174027_3242494-lq.mp3',
FortuneSoundURL: 'https://freesound.org/data/previews/174/174027_3242494-lq.mp3',
SeaNotification: 0,
SeaFlash: 1,
ColourSeaFlash: '#ffffff',
SeaSound: 1,
SeaVolume: 100,
SeaSoundURL:
'https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3',
SeaSoundURL: 'https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3',
GardFlash: 1,
ColourGardFlash: '#ffffff',
GardSound: 1,
@@ -96,22 +94,19 @@ const ConfigDefault: {
ColourMagicFlash: '#ffffff',
MagicSound: 1,
MagicVolume: 100,
MagicSoundURL:
'https://freesound.org/data/previews/221/221683_1015240-lq.mp3',
MagicSoundURL: 'https://freesound.org/data/previews/221/221683_1015240-lq.mp3',
WrinklerNotification: 0,
WrinklerFlash: 1,
ColourWrinklerFlash: '#ffffff',
WrinklerSound: 1,
WrinklerVolume: 100,
WrinklerSoundURL:
'https://freesound.org/data/previews/124/124186_8043-lq.mp3',
WrinklerSoundURL: 'https://freesound.org/data/previews/124/124186_8043-lq.mp3',
WrinklerMaxNotification: 0,
WrinklerMaxFlash: 1,
ColourWrinklerMaxFlash: '#ffffff',
WrinklerMaxSound: 1,
WrinklerMaxVolume: 100,
WrinklerMaxSoundURL:
'https://freesound.org/data/previews/152/152743_15663-lq.mp3',
WrinklerMaxSoundURL: 'https://freesound.org/data/previews/152/152743_15663-lq.mp3',
BulkBuyBlock: 0,
FavouriteSettings: 1,
Header: {

View File

@@ -1,11 +1,7 @@
/** General functions to format or beautify strings */
import { CMOptions } from '../../Config/VariablesAndData';
import {
metric,
shortScale,
shortScaleAbbreviated,
} from '../../Data/Scales.ts';
import { metric, shortScale, shortScaleAbbreviated } from '../../Data/Scales.ts';
import { BackupFunctions } from '../../Main/VariablesAndData';
/**
@@ -44,12 +40,8 @@ export default function Beautify(num, floats, forced) {
answer = num.toExponential(decimals).toString().replace('e', 'E');
} else {
const exponential = num.toExponential().toString();
const AmountOfTenPowerThree = Math.floor(
exponential.slice(exponential.indexOf('e') + 1) / 3,
);
answer = (num / Number(`1e${AmountOfTenPowerThree * 3}`)).toFixed(
decimals,
);
const AmountOfTenPowerThree = Math.floor(exponential.slice(exponential.indexOf('e') + 1) / 3);
answer = (num / Number(`1e${AmountOfTenPowerThree * 3}`)).toFixed(decimals);
// answer is now "xxx.xx" (e.g., 123456789 would be 123.46)
if ((CMOptions.Scale === 1 && !forced) || forced === 1) {
// Metric scale, 123456789 => 123.457 M
@@ -63,10 +55,7 @@ export default function Beautify(num, floats, forced) {
} else answer = Beautify(num, 0, 4); // If number is too large or little, revert to scientific notation
} else if ((CMOptions.Scale === 3 && !forced) || forced === 3) {
// Short scale, 123456789 => 123.457 M
if (
num >= 0.01 &&
num < Number(`1e${shortScaleAbbreviated.length * 3}`)
) {
if (num >= 0.01 && num < Number(`1e${shortScaleAbbreviated.length * 3}`)) {
answer += ` ${shortScaleAbbreviated[AmountOfTenPowerThree]}`;
} else answer = Beautify(num, 0, 4); // If number is too large or little, revert to scientific notation
} else if ((CMOptions.Scale === 5 && !forced) || forced === 5) {
@@ -76,9 +65,7 @@ export default function Beautify(num, floats, forced) {
}
if (answer === '') {
// eslint-disable-next-line no-console
console.log(
`Could not beautify number with Cookie Monster Beautify: ${num}`,
);
console.log(`Could not beautify number with Cookie Monster Beautify: ${num}`);
answer = BackupFunctions.Beautify(num, floats);
}
if (CMOptions.ScaleSeparator) answer = answer.replace('.', ',');

View File

@@ -25,8 +25,7 @@ export default function FormatTime(time, longFormat) {
str += `${(m < 10 ? '0' : '') + m}:`;
str += (s < 10 ? '0' : '') + s;
} else {
if (formattedTime > 777600000)
return longFormat ? 'Over 9000 days!' : '>9000d';
if (formattedTime > 777600000) return longFormat ? 'Over 9000 days!' : '>9000d';
str +=
y > 0
? `${y + (longFormat ? (y === 1 ? ' year' : ' years') : 'y')}, ` // eslint-disable-line no-nested-ternary

View File

@@ -1,10 +1,5 @@
import { CMOptions } from '../../Config/VariablesAndData';
import {
ColourGreen,
ColourOrange,
ColourRed,
ColourYellow,
} from '../VariablesAndData';
import { ColourGreen, ColourOrange, ColourRed, ColourYellow } from '../VariablesAndData';
import FormatTime from './FormatTime';
/**

View File

@@ -1,8 +1,4 @@
import {
CacheObjects1,
CacheObjects10,
CacheObjects100,
} from '../../Cache/VariablesAndData';
import { CacheObjects1, CacheObjects10, CacheObjects100 } from '../../Cache/VariablesAndData';
import { CMOptions } from '../../Config/VariablesAndData';
import BuildingSell from '../../Sim/SimulationEvents/SellBuilding';
import Beautify from '../BeautifyAndFormatting/Beautify';
@@ -31,8 +27,7 @@ export default function UpdateBuildings() {
if (Game.buyMode === 1) {
if (CMOptions.BuildColour === 1) {
Object.keys(target).forEach((i) => {
l(`productPrice${Game.Objects[i].id}`).style.color =
CMOptions[`Colour${target[i].color}`];
l(`productPrice${Game.Objects[i].id}`).style.color = CMOptions[`Colour${target[i].color}`];
});
} else {
Object.keys(Game.Objects).forEach((i) => {
@@ -70,14 +65,16 @@ export default function UpdateBuildings() {
return o;
});
arr.sort((a, b) => ColoursOrdering.indexOf(a.color) > // eslint-disable-line no-nested-ternary
arr.sort((a, b) =>
ColoursOrdering.indexOf(a.color) > // eslint-disable-line no-nested-ternary
ColoursOrdering.indexOf(b.color)
? 1
: ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary
? -1
: a.pp < b.pp
? -1
: 0);
: 0,
);
} else if (CMOptions.SortBuildings === 2) {
arr = Object.keys(target).map((k) => {
const o = target[k];
@@ -86,14 +83,16 @@ export default function UpdateBuildings() {
return o;
});
arr.sort((a, b) => ColoursOrdering.indexOf(a.color) > // eslint-disable-line no-nested-ternary
arr.sort((a, b) =>
ColoursOrdering.indexOf(a.color) > // eslint-disable-line no-nested-ternary
ColoursOrdering.indexOf(b.color)
? 1
: ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary
? -1
: a.pp < b.pp
? -1
: 0);
: 0,
);
}
for (let x = 0; x < arr.length; x++) {

View File

@@ -38,24 +38,12 @@ function CreateUpgradeBarLegend() {
return div;
};
legend.appendChild(
legendLine(ColourBlue, 'Better than the best PP of a building option'),
);
legend.appendChild(
legendLine(ColourGreen, 'Same as the best PP building option'),
);
legend.appendChild(
legendLine(ColourYellow, 'Within the top 10 of PP for buildings'),
);
legend.appendChild(
legendLine(ColourOrange, 'Within the top 20 of PP for buildings'),
);
legend.appendChild(
legendLine(ColourRed, 'Within the top 30 of PP for buildings'),
);
legend.appendChild(
legendLine(ColourPurple, 'Outside of the top 30 of PP for buildings'),
);
legend.appendChild(legendLine(ColourBlue, 'Better than the best PP of a building option'));
legend.appendChild(legendLine(ColourGreen, 'Same as the best PP building option'));
legend.appendChild(legendLine(ColourYellow, 'Within the top 10 of PP for buildings'));
legend.appendChild(legendLine(ColourOrange, 'Within the top 20 of PP for buildings'));
legend.appendChild(legendLine(ColourRed, 'Within the top 30 of PP for buildings'));
legend.appendChild(legendLine(ColourPurple, 'Outside of the top 30 of PP for buildings'));
legend.appendChild(legendLine(ColourGray, 'Negative or infinity PP'));
return legend;
}
@@ -99,8 +87,5 @@ export default function CreateUpgradeBar() {
UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarPurple', ColourPurple));
UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarGray', ColourGray));
l('upgrades').parentNode.insertBefore(
UpgradeBar,
l('upgrades').parentNode.childNodes[3],
);
l('upgrades').parentNode.insertBefore(UpgradeBar, l('upgrades').parentNode.childNodes[3]);
}

View File

@@ -33,11 +33,8 @@ export default function UpdateUpgrades() {
const me = Game.UpgradesInStore[i];
let addedColour = false;
for (let j = 0; j < l(`upgrade${i}`).childNodes.length; j += 1) {
if (
l(`upgrade${i}`).childNodes[j].className.indexOf(ColourBackPre) !== -1
) {
l(`upgrade${i}`).childNodes[j].className =
ColourBackPre + CacheUpgrades[me.name].color;
if (l(`upgrade${i}`).childNodes[j].className.indexOf(ColourBackPre) !== -1) {
l(`upgrade${i}`).childNodes[j].className = ColourBackPre + CacheUpgrades[me.name].color;
addedColour = true;
break;
}
@@ -79,13 +76,15 @@ export default function UpdateUpgrades() {
}
if (CMOptions.SortUpgrades) {
arr.sort((a, b) => ColoursOrdering.indexOf(a.color) > ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary
arr.sort((a, b) =>
ColoursOrdering.indexOf(a.color) > ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary
? 1
: ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary
? -1
: a.pp < b.pp
? -1
: 0);
: 0,
);
} else {
arr.sort((a, b) => a.price - b.price);
}
@@ -94,7 +93,6 @@ export default function UpdateUpgrades() {
return arr2.findIndex((e) => e.name === upgrade.name);
};
for (let x = 0; x < Game.UpgradesInStore.length; x += 1) {
l(`upgrade${x}`).style.order =
nameChecker(arr, Game.UpgradesInStore[x]) + 1;
l(`upgrade${x}`).style.order = nameChecker(arr, Game.UpgradesInStore[x]) + 1;
}
}

View File

@@ -14,17 +14,14 @@ import FormatTime from '../BeautifyAndFormatting/FormatTime';
export function AddAuraInfo(aura) {
if (CMOptions.DragonAuraInfo === 1) {
const [bonusCPS, priceOfChange] = CalculateChangeAura(aura);
const timeToRecover = FormatTime(
priceOfChange / (bonusCPS + Game.cookiesPs),
);
const timeToRecover = FormatTime(priceOfChange / (bonusCPS + Game.cookiesPs));
let bonusCPSPercentage;
if (Game.cookiesPs === 0) bonusCPSPercentage = Beautify(Infinity);
else bonusCPSPercentage = Beautify((bonusCPS / Game.cookiesPs) * 100);
l('dragonAuraInfo').style.minHeight = '60px';
l('dragonAuraInfo').style.margin = '8px';
l('dragonAuraInfo').appendChild(document.createElement('div')).className =
'line';
l('dragonAuraInfo').appendChild(document.createElement('div')).className = 'line';
const div = document.createElement('div');
div.style.minWidth = '200px';
div.style.textAlign = 'center';

View File

@@ -27,10 +27,8 @@ export default function CreateGCTimer(cookie) {
cookie.pop();
};
GCTimer.onmouseover = function () {
cookie.l.style.filter = // eslint-disable-line no-param-reassign
'brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))';
cookie.l.style.webkitFilter = // eslint-disable-line no-param-reassign
'brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))';
cookie.l.style.filter = 'brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))'; // eslint-disable-line no-param-reassign
cookie.l.style.webkitFilter = 'brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))'; // eslint-disable-line no-param-reassign
};
GCTimer.onmouseout = function () {
cookie.l.style.filter = ''; // eslint-disable-line no-param-reassign

View File

@@ -5,11 +5,7 @@
* @param {number} targetMagic The target magic level
* @returns {number} count / Game.fps The time it takes to reach targetMagic
*/
export default function CalculateGrimoireRefillTime(
currentMagic,
maxMagic,
targetMagic,
) {
export default function CalculateGrimoireRefillTime(currentMagic, maxMagic, targetMagic) {
let magic = currentMagic;
let count = 0;
while (magic < targetMagic) {

View File

@@ -18,16 +18,10 @@ export default function GetCPS() {
return Game.cookiesPs * (1 - Game.cpsSucked);
}
if (CMOptions.CalcWrink === 1) {
return (
Game.cookiesPs *
(CacheCurrWrinklerCPSMult + (1 - CacheCurrWrinklerCount * 0.05))
);
return Game.cookiesPs * (CacheCurrWrinklerCPSMult + (1 - CacheCurrWrinklerCount * 0.05));
}
if (CacheWrinklersFattest[1] !== null)
if (
CMOptions.CalcWrink === 2 &&
Game.wrinklers[CacheWrinklersFattest[1]].type === 1
) {
if (CMOptions.CalcWrink === 2 && Game.wrinklers[CacheWrinklersFattest[1]].type === 1) {
return (
Game.cookiesPs *
((CacheCurrWrinklerCPSMult * 3) / CacheCurrWrinklerCount +
@@ -36,7 +30,6 @@ export default function GetCPS() {
}
return (
Game.cookiesPs *
(CacheCurrWrinklerCPSMult / CacheCurrWrinklerCount +
(1 - CacheCurrWrinklerCount * 0.05))
(CacheCurrWrinklerCPSMult / CacheCurrWrinklerCount + (1 - CacheCurrWrinklerCount * 0.05))
);
}

View File

@@ -1,7 +1,4 @@
import {
CacheWrinklersFattest,
CacheWrinklersTotal,
} from '../../Cache/VariablesAndData';
import { CacheWrinklersFattest, CacheWrinklersTotal } from '../../Cache/VariablesAndData';
import { CMOptions } from '../../Config/VariablesAndData';
/**

View File

@@ -5,11 +5,8 @@
*/
export default function UpdateBackground() {
Game.Background.canvas.width = Game.Background.canvas.parentNode.offsetWidth;
Game.Background.canvas.height =
Game.Background.canvas.parentNode.offsetHeight;
Game.LeftBackground.canvas.width =
Game.LeftBackground.canvas.parentNode.offsetWidth;
Game.LeftBackground.canvas.height =
Game.LeftBackground.canvas.parentNode.offsetHeight;
Game.Background.canvas.height = Game.Background.canvas.parentNode.offsetHeight;
Game.LeftBackground.canvas.width = Game.LeftBackground.canvas.parentNode.offsetWidth;
Game.LeftBackground.canvas.height = Game.LeftBackground.canvas.parentNode.offsetHeight;
Game.DrawBackground();
}

View File

@@ -1,10 +1,6 @@
/** Functions related to the Bottom Bar */
import {
CacheObjects1,
CacheObjects10,
CacheObjects100,
} from '../../Cache/VariablesAndData';
import { CacheObjects1, CacheObjects10, CacheObjects100 } from '../../Cache/VariablesAndData';
import { CMOptions } from '../../Config/VariablesAndData';
import { VersionMajor, VersionMinor } from '../../Data/Moddata.ts';
import Beautify from '../BeautifyAndFormatting/Beautify';
@@ -13,12 +9,7 @@ import GetTimeColour from '../BeautifyAndFormatting/GetTimeColour';
import GetCPS from '../HelperFunctions/GetCPS';
import GetWrinkConfigBank from '../HelperFunctions/GetWrinkConfigBank';
import {
ColourBlue,
ColourTextPre,
ColourYellow,
LastTargetBotBar,
} from '../VariablesAndData';
import { ColourBlue, ColourTextPre, ColourYellow, LastTargetBotBar } from '../VariablesAndData';
import { CreateBotBarBuildingColumn } from './CreateDOMElements';
/**
@@ -35,8 +26,7 @@ export function CreateBotBar() {
BotBar.style.backgroundImage = 'linear-gradient(to bottom, #4d4548, #000000)';
BotBar.style.borderTop = '1px solid black';
BotBar.style.overflow = 'auto';
BotBar.style.textShadow =
'-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black';
BotBar.style.textShadow = '-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black';
const table = BotBar.appendChild(document.createElement('table'));
table.style.width = '100%';
@@ -53,9 +43,7 @@ export function CreateBotBar() {
};
const type = tbody.appendChild(document.createElement('tr'));
type.style.fontWeight = 'bold';
type.appendChild(
firstCol(`CM ${VersionMajor}.${VersionMinor}`, ColourYellow),
);
type.appendChild(firstCol(`CM ${VersionMajor}.${VersionMinor}`, ColourYellow));
const bonus = tbody.appendChild(document.createElement('tr'));
bonus.appendChild(firstCol('Bonus Income', ColourBlue));
const pp = tbody.appendChild(document.createElement('tr'));
@@ -90,37 +78,28 @@ export function UpdateBotBar() {
l('CMBotBar').firstChild.firstChild.childNodes[0].childNodes[
count
].childNodes[1].textContent = Game.Objects[i].amount;
l('CMBotBar').firstChild.firstChild.childNodes[1].childNodes[
count
].textContent = Beautify(target[i].bonus, 2);
l('CMBotBar').firstChild.firstChild.childNodes[2].childNodes[
count
].className = ColourTextPre + target[i].color;
let PPString;
if (CMOptions.PPDisplayTime)
PPString = FormatTime(Math.round(target[i].pp));
else PPString = Beautify(Math.round(target[i].pp), 2);
l('CMBotBar').firstChild.firstChild.childNodes[2].childNodes[
count
].textContent = PPString;
const timeColour = GetTimeColour(
(Game.Objects[i].bulkPrice - (Game.cookies + GetWrinkConfigBank())) /
GetCPS(),
l('CMBotBar').firstChild.firstChild.childNodes[1].childNodes[count].textContent = Beautify(
target[i].bonus,
2,
);
l('CMBotBar').firstChild.firstChild.childNodes[3].childNodes[
count
].className = ColourTextPre + timeColour.color;
if (
timeColour.text === 'Done!' &&
Game.cookies < Game.Objects[i].bulkPrice
) {
l('CMBotBar').firstChild.firstChild.childNodes[2].childNodes[count].className =
ColourTextPre + target[i].color;
let PPString;
if (CMOptions.PPDisplayTime) PPString = FormatTime(Math.round(target[i].pp));
else PPString = Beautify(Math.round(target[i].pp), 2);
l('CMBotBar').firstChild.firstChild.childNodes[2].childNodes[count].textContent = PPString;
const timeColour = GetTimeColour(
(Game.Objects[i].bulkPrice - (Game.cookies + GetWrinkConfigBank())) / GetCPS(),
);
l('CMBotBar').firstChild.firstChild.childNodes[3].childNodes[count].className =
ColourTextPre + timeColour.color;
if (timeColour.text === 'Done!' && Game.cookies < Game.Objects[i].bulkPrice) {
l('CMBotBar').firstChild.firstChild.childNodes[3].childNodes[
count
].textContent = `${timeColour.text} (with Wrink)`;
} else
l('CMBotBar').firstChild.firstChild.childNodes[3].childNodes[
count
].textContent = timeColour.text;
l('CMBotBar').firstChild.firstChild.childNodes[3].childNodes[count].textContent =
timeColour.text;
});
}
}

View File

@@ -77,9 +77,7 @@ export function CreateBotBarBuildingColumn(buildingName) {
const i = buildingName;
const header = type.appendChild(document.createElement('td'));
header.appendChild(
document.createTextNode(
`${i.indexOf(' ') !== -1 ? i.substring(0, i.indexOf(' ')) : i} (`,
),
document.createTextNode(`${i.indexOf(' ') !== -1 ? i.substring(0, i.indexOf(' ')) : i} (`),
);
const span = header.appendChild(document.createElement('span'));

View File

@@ -57,28 +57,19 @@ export function UpdateTimerBar() {
let numberOfTimers = 0;
// Regulates visibility of Golden Cookie timer
if (
Game.shimmerTypes.golden.spawned === 0 &&
!Game.Has('Golden switch [off]')
) {
if (Game.shimmerTypes.golden.spawned === 0 && !Game.Has('Golden switch [off]')) {
l('CMTimerBarGC').style.display = '';
l('CMTimerBarGCMinBar').style.width = `${Math.round(
(Math.max(
0,
Game.shimmerTypes.golden.minTime - Game.shimmerTypes.golden.time,
) *
(Math.max(0, Game.shimmerTypes.golden.minTime - Game.shimmerTypes.golden.time) *
maxWidthTwoBar) /
Game.shimmerTypes.golden.maxTime,
)}px`;
if (CMOptions.TimerBarOverlay >= 1)
l('CMTimerBarGCMinBar').textContent = Math.ceil(
(Game.shimmerTypes.golden.minTime - Game.shimmerTypes.golden.time) /
Game.fps,
(Game.shimmerTypes.golden.minTime - Game.shimmerTypes.golden.time) / Game.fps,
);
else l('CMTimerBarGCMinBar').textContent = '';
if (
Game.shimmerTypes.golden.minTime === Game.shimmerTypes.golden.maxTime
) {
if (Game.shimmerTypes.golden.minTime === Game.shimmerTypes.golden.maxTime) {
l('CMTimerBarGCMinBar').style.borderTopRightRadius = '10px';
l('CMTimerBarGCMinBar').style.borderBottomRightRadius = '10px';
} else {
@@ -102,37 +93,27 @@ export function UpdateTimerBar() {
);
else l('CMTimerBarGCBar').textContent = '';
l('CMTimerBarGCTime').textContent = Math.ceil(
(Game.shimmerTypes.golden.maxTime - Game.shimmerTypes.golden.time) /
Game.fps,
(Game.shimmerTypes.golden.maxTime - Game.shimmerTypes.golden.time) / Game.fps,
);
numberOfTimers += 1;
} else l('CMTimerBarGC').style.display = 'none';
// Regulates visibility of Reindeer timer
if (
Game.season === 'christmas' &&
Game.shimmerTypes.reindeer.spawned === 0
) {
if (Game.season === 'christmas' && Game.shimmerTypes.reindeer.spawned === 0) {
l('CMTimerBarRen').style.display = '';
l('CMTimerBarRenMinBar').style.width = `${Math.round(
(Math.max(
0,
Game.shimmerTypes.reindeer.minTime - Game.shimmerTypes.reindeer.time,
) *
(Math.max(0, Game.shimmerTypes.reindeer.minTime - Game.shimmerTypes.reindeer.time) *
maxWidthTwoBar) /
Game.shimmerTypes.reindeer.maxTime,
)}px`;
if (CMOptions.TimerBarOverlay >= 1)
l('CMTimerBarRenMinBar').textContent = Math.ceil(
(Game.shimmerTypes.reindeer.minTime -
Game.shimmerTypes.reindeer.time) /
Game.fps,
(Game.shimmerTypes.reindeer.minTime - Game.shimmerTypes.reindeer.time) / Game.fps,
);
else l('CMTimerBarRenMinBar').textContent = '';
l('CMTimerBarRenBar').style.width = `${Math.round(
(Math.min(
Game.shimmerTypes.reindeer.maxTime -
Game.shimmerTypes.reindeer.minTime,
Game.shimmerTypes.reindeer.maxTime - Game.shimmerTypes.reindeer.minTime,
Game.shimmerTypes.reindeer.maxTime - Game.shimmerTypes.reindeer.time,
) *
maxWidthTwoBar) /
@@ -141,16 +122,13 @@ export function UpdateTimerBar() {
if (CMOptions.TimerBarOverlay >= 1)
l('CMTimerBarRenBar').textContent = Math.ceil(
Math.min(
Game.shimmerTypes.reindeer.maxTime -
Game.shimmerTypes.reindeer.minTime,
Game.shimmerTypes.reindeer.maxTime -
Game.shimmerTypes.reindeer.time,
Game.shimmerTypes.reindeer.maxTime - Game.shimmerTypes.reindeer.minTime,
Game.shimmerTypes.reindeer.maxTime - Game.shimmerTypes.reindeer.time,
) / Game.fps,
);
else l('CMTimerBarRenBar').textContent = '';
l('CMTimerBarRenTime').textContent = Math.ceil(
(Game.shimmerTypes.reindeer.maxTime - Game.shimmerTypes.reindeer.time) /
Game.fps,
(Game.shimmerTypes.reindeer.maxTime - Game.shimmerTypes.reindeer.time) / Game.fps,
);
numberOfTimers += 1;
} else {
@@ -180,13 +158,10 @@ export function UpdateTimerBar() {
else timer.lastChild.children[1].textContent = '';
timer.lastChild.children[1].style.width = `${Math.round(
(Game.buffs[i].time *
(maxWidthOneBar -
Math.ceil(Game.buffs[i].time / Game.fps).toString().length * 8)) /
(maxWidthOneBar - Math.ceil(Game.buffs[i].time / Game.fps).toString().length * 8)) /
Game.buffs[i].maxTime,
)}px`;
timer.lastChild.children[2].textContent = Math.ceil(
Game.buffs[i].time / Game.fps,
);
timer.lastChild.children[2].textContent = Math.ceil(Game.buffs[i].time / Game.fps);
numberOfTimers += 1;
BuffTimerBars[Game.buffs[i].name] = timer;
}

View File

@@ -15,12 +15,9 @@ export default function CreateSectionHideButtons() {
l('vaultUpgrades').style.display = 'none';
} else {
l('upgrades').style.display = 'flex';
if (l('toggleUpgrades').children.length !== 0)
l('toggleUpgrades').style.display = 'block';
if (l('techUpgrades').children.length !== 0)
l('techUpgrades').style.display = 'block';
if (l('vaultUpgrades').children.length !== 0)
l('vaultUpgrades').style.display = 'block';
if (l('toggleUpgrades').children.length !== 0) l('toggleUpgrades').style.display = 'block';
if (l('techUpgrades').children.length !== 0) l('techUpgrades').style.display = 'block';
if (l('vaultUpgrades').children.length !== 0) l('vaultUpgrades').style.display = 'block';
}
};
a.textContent = 'Hide/Show Upgrades';
@@ -28,8 +25,7 @@ export default function CreateSectionHideButtons() {
const b = document.createElement('a');
b.className = 'option';
b.onclick = function () {
if (l('products').style.display === 'grid')
l('products').style.display = 'none';
if (l('products').style.display === 'grid') l('products').style.display = 'none';
else l('products').style.display = 'grid';
};
b.textContent = 'Hide/Show Buildings';

View File

@@ -18,11 +18,7 @@ export default function CreateWrinklerButtons() {
};
popAllA.onmouseover = function () {
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => CreateTooltip('wb', 'PopAll'),
'this',
);
Game.tooltip.draw(this, () => CreateTooltip('wb', 'PopAll'), 'this');
Game.tooltip.wobble();
};
l('sectionLeftExtra').children[0].append(popAllA);
@@ -31,19 +27,14 @@ export default function CreateWrinklerButtons() {
popFattestA.textContent = 'Pop Single Fattest';
popFattestA.className = 'option';
popFattestA.onclick = function () {
if (CacheWrinklersFattest[1] !== null)
Game.wrinklers[CacheWrinklersFattest[1]].hp = 0;
if (CacheWrinklersFattest[1] !== null) Game.wrinklers[CacheWrinklersFattest[1]].hp = 0;
};
popFattestA.onmouseout = function () {
Game.tooltip.shouldHide = 1;
};
popFattestA.onmouseover = function () {
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => CreateTooltip('wb', 'PopFattest'),
'this',
);
Game.tooltip.draw(this, () => CreateTooltip('wb', 'PopFattest'), 'this');
Game.tooltip.wobble();
};
l('sectionLeftExtra').children[0].append(popFattestA);

View File

@@ -1,11 +1,7 @@
import jscolor, * as JsColor from '@eastdesire/jscolor';
import ToggleFavouriteSetting from '../../../Config/Toggles/ToggleFavourites';
import { SaveConfig } from '../../../Config/SaveLoadReload/SaveLoadReloadSettings';
import {
ConfigPrefix,
ToggleConfig,
ToggleConfigVolume,
} from '../../../Config/ToggleSetting';
import { ConfigPrefix, ToggleConfig, ToggleConfigVolume } from '../../../Config/ToggleSetting';
import { CMOptions } from '../../../Config/VariablesAndData';
import {} from '../../../Data/Sectionheaders.ts';
import Config from '../../../Data/SettingsData';
@@ -13,10 +9,7 @@ import RefreshScale from '../../HelperFunctions/RefreshScale';
import UpdateColours from '../../HelperFunctions/UpdateColours';
import Flash from '../../Notifications/Flash';
import PlaySound from '../../Notifications/Sound';
import {
FavouriteSettings,
SimpleTooltipElements,
} from '../../VariablesAndData';
import { FavouriteSettings, SimpleTooltipElements } from '../../VariablesAndData';
import CookieMonsterPrompt from '../Prompt';
/**
@@ -37,10 +30,7 @@ function CreateFavouriteStar(config) {
Game.UpdateMenu();
};
FavStar.onmouseover = function () {
Game.tooltip.draw(
this,
escape(SimpleTooltipElements.FavouriteSettingPlaceholder.innerHTML),
);
Game.tooltip.draw(this, escape(SimpleTooltipElements.FavouriteSettingPlaceholder.innerHTML));
};
FavStar.onmouseout = function () {
Game.tooltip.hide();

View File

@@ -1,9 +1,6 @@
import { LoadConfig } from '../../../Config/SaveLoadReload/SaveLoadReloadSettings';
import { CMOptions } from '../../../Config/VariablesAndData';
import {
ConfigGroups,
ConfigGroupsNotification,
} from '../../../Data/Sectionheaders.ts';
import { ConfigGroups, ConfigGroupsNotification } from '../../../Data/Sectionheaders.ts';
import Config from '../../../Data/SettingsData';
import ConfigDefault from '../../../Data/SettingsDefault.ts';
import { FavouriteSettings } from '../../VariablesAndData';
@@ -35,24 +32,19 @@ export default function AddMenuPref(title) {
// Make sub-sections of Notification section
if (group === 'Notification') {
Object.keys(ConfigGroupsNotification).forEach((subGroup) => {
const subGroupObject = CreatePrefHeader(
subGroup,
ConfigGroupsNotification[subGroup],
); // (group, display-name of group)
const subGroupObject = CreatePrefHeader(subGroup, ConfigGroupsNotification[subGroup]); // (group, display-name of group)
subGroupObject.style.fontSize = '15px';
subGroupObject.style.opacity = '0.5';
frag.appendChild(subGroupObject);
if (CMOptions.Header[subGroup]) {
Object.keys(Config).forEach((option) => {
if (Config[option].group === subGroup)
frag.appendChild(CreatePrefOption(option));
if (Config[option].group === subGroup) frag.appendChild(CreatePrefOption(option));
});
}
});
} else {
Object.keys(Config).forEach((option) => {
if (Config[option].group === group)
frag.appendChild(CreatePrefOption(option));
if (Config[option].group === group) frag.appendChild(CreatePrefOption(option));
});
}
}
@@ -72,8 +64,6 @@ export default function AddMenuPref(title) {
l('menu').childNodes[2].insertBefore(
frag,
l('menu').childNodes[2].childNodes[
l('menu').childNodes[2].childNodes.length - 1
],
l('menu').childNodes[2].childNodes[l('menu').childNodes[2].childNodes.length - 1],
);
}

View File

@@ -64,9 +64,7 @@ export default function AddMenuStats(title) {
const popAllFrag = document.createDocumentFragment();
popAllFrag.appendChild(
document.createTextNode(
`${Beautify(CacheWrinklersTotal)} / ${Beautify(
CacheWrinklersNormal,
)} `,
`${Beautify(CacheWrinklersTotal)} / ${Beautify(CacheWrinklersNormal)} `,
),
);
const popAllA = document.createElement('a');
@@ -77,31 +75,22 @@ export default function AddMenuStats(title) {
};
popAllFrag.appendChild(popAllA);
stats.appendChild(
CreateElements.StatsListing(
'basic',
'Rewards of Popping (All/Normal)',
popAllFrag,
),
CreateElements.StatsListing('basic', 'Rewards of Popping (All/Normal)', popAllFrag),
);
const popFattestFrag = document.createDocumentFragment();
popFattestFrag.appendChild(
document.createTextNode(`${Beautify(CacheWrinklersFattest[0])} `),
);
popFattestFrag.appendChild(document.createTextNode(`${Beautify(CacheWrinklersFattest[0])} `));
const popFattestA = document.createElement('a');
popFattestA.textContent = 'Pop Single Fattest';
popFattestA.className = 'option';
popFattestA.onclick = function () {
if (CacheWrinklersFattest[1] !== null)
Game.wrinklers[CacheWrinklersFattest[1]].hp = 0;
if (CacheWrinklersFattest[1] !== null) Game.wrinklers[CacheWrinklersFattest[1]].hp = 0;
};
popFattestFrag.appendChild(popFattestA);
stats.appendChild(
CreateElements.StatsListing(
'basic',
`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${
CacheWrinklersFattest[1] !== null
? CacheWrinklersFattest[1]
: 'None'
CacheWrinklersFattest[1] !== null ? CacheWrinklersFattest[1] : 'None'
})`,
popFattestFrag,
),
@@ -128,9 +117,9 @@ export default function AddMenuStats(title) {
stats.appendChild(
CreateElements.StatsListing(
'basic',
`Average cookie clicks per second (past ${
ClickTimes[CMOptions.AvgClicksHist]
}${CMOptions.AvgClicksHist === 0 ? ' second' : ' seconds'})`,
`Average cookie clicks per second (past ${ClickTimes[CMOptions.AvgClicksHist]}${
CMOptions.AvgClicksHist === 0 ? ' second' : ' seconds'
})`,
document.createTextNode(Beautify(CacheAverageClicks, 1)),
),
);
@@ -181,9 +170,7 @@ export default function AddMenuStats(title) {
Game.fps * 60 - (Game.OnAscend ? 0 : Game.T % (Game.fps * 60)),
4,
);
stats.appendChild(
CreateElements.StatsListing('basic', 'Time till autosave', timer),
);
stats.appendChild(CreateElements.StatsListing('basic', 'Time till autosave', timer));
}
}

View File

@@ -64,10 +64,7 @@ export function StatsListing(type, name, text, placeholder) {
Game.tooltip.hide();
};
tooltip.onmouseover = function () {
Game.tooltip.draw(
this,
escape(SimpleTooltipElements[placeholder].innerHTML),
);
Game.tooltip.draw(this, escape(SimpleTooltipElements[placeholder].innerHTML));
};
tooltip.style.cursor = 'default';
tooltip.style.display = 'inline-block';

View File

@@ -7,8 +7,7 @@ function CrateTooltipLockedAchievements(me) {
tags.push('Locked', 0);
let neuromancy = 0;
if (Game.Has('Neuromancy') || (Game.sesame && me.pool === 'debug'))
neuromancy = 1;
if (Game.Has('Neuromancy') || (Game.sesame && me.pool === 'debug')) neuromancy = 1;
if (neuromancy && me.won === 0) tags.push('Click to win!', '#00c462');
else if (neuromancy && me.won > 0) tags.push('Click to lose!', '#00c462');
@@ -21,9 +20,9 @@ function CrateTooltipLockedAchievements(me) {
let tagsStr = '';
for (let i = 0; i < tags.length; i += 2) {
if (i % 2 === 0)
tagsStr += ` <div class="tag" style="color:${
tags[i + 1] === 0 ? '#fff' : tags[i + 1]
};">[${tags[i]}]</div>`;
tagsStr += ` <div class="tag" style="color:${tags[i + 1] === 0 ? '#fff' : tags[i + 1]};">[${
tags[i]
}]</div>`;
}
tagsStr = tagsStr.substring(1);
@@ -35,9 +34,9 @@ function CrateTooltipLockedAchievements(me) {
${tagsStr}<div class="line"></div><div class="description">${desc}</div></div>
${
Game.sesame
? `<div style="font-size:9px;">Id : ${me.id} | Order : ${Math.floor(
me.order,
)}${me.tier ? ` | Tier : ${me.tier}` : ''}</div>`
? `<div style="font-size:9px;">Id : ${me.id} | Order : ${Math.floor(me.order)}${
me.tier ? ` | Tier : ${me.tier}` : ''
}</div>`
: ''
}`;
}
@@ -58,9 +57,7 @@ export default function AddMissingAchievements() {
const id = achievsCrate.onclick.toString().split(/\[(.*)\]/gi)[1];
const { icon } = Game.AchievementsById[id];
// eslint-disable-next-line no-param-reassign
achievsCrate.style.backgroundPosition = `${-icon[0] * 48}px ${
-icon[1] * 48
}px`;
achievsCrate.style.backgroundPosition = `${-icon[0] * 48}px ${-icon[1] * 48}px`;
// eslint-disable-next-line no-param-reassign
achievsCrate.onmouseover = function () {
if (!Game.mouseDown) {
@@ -68,10 +65,9 @@ export default function AddMissingAchievements() {
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => (function () {
return CrateTooltipLockedAchievements(
Game.AchievementsById[id],
);
() =>
(function () {
return CrateTooltipLockedAchievements(Game.AchievementsById[id]);
})(),
'top',
);

View File

@@ -12,22 +12,16 @@ import {
export function AddMissingUpgrades() {
l('menu').childNodes.forEach((menuSection) => {
if (menuSection.children[0]) {
if (
menuSection.children[0].innerHTML === 'Prestige' &&
CacheMissingUpgradesPrestige
) {
if (menuSection.children[0].innerHTML === 'Prestige' && CacheMissingUpgradesPrestige) {
const prestigeUpgradesMissing =
CacheMissingUpgradesPrestige.match(new RegExp('div', 'g') || [])
.length / 2;
CacheMissingUpgradesPrestige.match(new RegExp('div', 'g') || []).length / 2;
const title = document.createElement('div');
title.id = 'CMMissingUpgradesPrestigeTitle';
title.className = 'listing';
const titlefrag = document.createElement('div');
titlefrag.innerHTML = `<b>Missing Prestige upgrades:</b> ${prestigeUpgradesMissing}/${
Game.PrestigeUpgrades.length
} (${Math.floor(
(prestigeUpgradesMissing / Game.PrestigeUpgrades.length) * 100,
)}%)`;
} (${Math.floor((prestigeUpgradesMissing / Game.PrestigeUpgrades.length) * 100)}%)`;
title.appendChild(titlefrag);
menuSection.appendChild(title);
const upgrades = document.createElement('div');
@@ -46,8 +40,7 @@ export function AddMissingUpgrades() {
Game.UpgradesByPool[''].length + Game.UpgradesByPool.tech.length
} (${Math.floor(
(normalUpgradesMissing /
(Game.UpgradesByPool[''].length +
Game.UpgradesByPool.tech.length)) *
(Game.UpgradesByPool[''].length + Game.UpgradesByPool.tech.length)) *
100,
)}%)`;
title.appendChild(titlefrag);
@@ -62,17 +55,14 @@ export function AddMissingUpgrades() {
}
if (CacheMissingUpgradesCookies) {
const cookieUpgradesMissing =
CacheMissingUpgradesCookies.match(new RegExp('div', 'g') || [])
.length / 2;
CacheMissingUpgradesCookies.match(new RegExp('div', 'g') || []).length / 2;
const title = document.createElement('div');
title.id = 'CMMissingUpgradesCookiesTitle';
title.className = 'listing';
const titlefrag = document.createElement('div');
titlefrag.innerHTML = `<b>Missing Cookie upgrades:</b> ${cookieUpgradesMissing}/${
Game.UpgradesByPool.cookie.length
} (${Math.floor(
(cookieUpgradesMissing / Game.UpgradesByPool.cookie.length) * 100,
)}%)`;
} (${Math.floor((cookieUpgradesMissing / Game.UpgradesByPool.cookie.length) * 100)}%)`;
title.appendChild(titlefrag);
menuSection.appendChild(title);
const upgrades = document.createElement('div');
@@ -104,8 +94,8 @@ export function crateMissing(me) {
const tooltip = `function() {return Game.crateTooltip(Game.UpgradesById[${me.id}], 'stats');}`;
return `<div class="${classes}"
${Game.getDynamicTooltip(tooltip, 'top', true)}
style = "${`${
icon[2] ? `background-image: url(${icon[2]});` : ''
}background-position:${-icon[0] * 48}px ${-icon[1] * 48}px`};">
style = "${`${icon[2] ? `background-image: url(${icon[2]});` : ''}background-position:${
-icon[0] * 48
}px ${-icon[1] * 48}px`};">
</div>`;
}

View File

@@ -58,13 +58,10 @@ export function LuckySection() {
const section = document.createElement('div');
section.className = 'CMStatsLuckySection';
const luckyColour =
Game.cookies + GetWrinkConfigBank() < CacheLucky ? ColourRed : ColourGreen;
const luckyColour = Game.cookies + GetWrinkConfigBank() < CacheLucky ? ColourRed : ColourGreen;
const luckyTime =
Game.cookies + GetWrinkConfigBank() < CacheLucky
? FormatTime(
(CacheLucky - (Game.cookies + GetWrinkConfigBank())) / GetCPS(),
)
? FormatTime((CacheLucky - (Game.cookies + GetWrinkConfigBank())) / GetCPS())
: '';
const luckyReqFrag = document.createDocumentFragment();
const luckyReqSpan = document.createElement('span');
@@ -78,23 +75,14 @@ export function LuckySection() {
luckyReqFrag.appendChild(luckyReqSmall);
}
section.appendChild(
StatsListing(
'withTooltip',
'"Lucky!" cookies required',
luckyReqFrag,
goldCookTooltip,
),
StatsListing('withTooltip', '"Lucky!" cookies required', luckyReqFrag, goldCookTooltip),
);
const luckyColourFrenzy =
Game.cookies + GetWrinkConfigBank() < CacheLuckyFrenzy
? ColourRed
: ColourGreen;
Game.cookies + GetWrinkConfigBank() < CacheLuckyFrenzy ? ColourRed : ColourGreen;
const luckyTimeFrenzy =
Game.cookies + GetWrinkConfigBank() < CacheLuckyFrenzy
? FormatTime(
(CacheLuckyFrenzy - (Game.cookies + GetWrinkConfigBank())) / GetCPS(),
)
? FormatTime((CacheLuckyFrenzy - (Game.cookies + GetWrinkConfigBank())) / GetCPS())
: '';
const luckyReqFrenFrag = document.createDocumentFragment();
const luckyReqFrenSpan = document.createElement('span');
@@ -122,8 +110,7 @@ export function LuckySection() {
luckyRewardMaxSpan.style.fontWeight = 'bold';
luckyRewardMaxSpan.className = ColourTextPre + CacheLuckyReward;
luckyRewardMaxSpan.textContent =
Beautify(CacheLuckyReward) +
(luckySplit ? ` / ${Beautify(CacheLuckyWrathReward)}` : '');
Beautify(CacheLuckyReward) + (luckySplit ? ` / ${Beautify(CacheLuckyWrathReward)}` : '');
section.appendChild(
StatsListing(
'withTooltip',
@@ -184,15 +171,10 @@ export function ChainSection() {
section.className = 'CMStatsChainSection';
const chainColour =
Game.cookies + GetWrinkConfigBank() < CacheChainRequired
? ColourRed
: ColourGreen;
Game.cookies + GetWrinkConfigBank() < CacheChainRequired ? ColourRed : ColourGreen;
const chainTime =
Game.cookies + GetWrinkConfigBank() < CacheChainRequired
? FormatTime(
(CacheChainRequired - (Game.cookies + GetWrinkConfigBank())) /
GetCPS(),
)
? FormatTime((CacheChainRequired - (Game.cookies + GetWrinkConfigBank())) / GetCPS())
: '';
const chainReqFrag = document.createDocumentFragment();
const chainReqSpan = document.createElement('span');
@@ -206,24 +188,14 @@ export function ChainSection() {
chainReqFrag.appendChild(chainReqSmall);
}
section.appendChild(
StatsListing(
'withTooltip',
'"Chain" cookies required',
chainReqFrag,
goldCookTooltip,
),
StatsListing('withTooltip', '"Chain" cookies required', chainReqFrag, goldCookTooltip),
);
const chainWrathColour =
Game.cookies + GetWrinkConfigBank() < CacheChainWrathRequired
? ColourRed
: ColourGreen;
Game.cookies + GetWrinkConfigBank() < CacheChainWrathRequired ? ColourRed : ColourGreen;
const chainWrathTime =
Game.cookies + GetWrinkConfigBank() < CacheChainWrathRequired
? FormatTime(
(CacheChainWrathRequired - (Game.cookies + GetWrinkConfigBank())) /
GetCPS(),
)
? FormatTime((CacheChainWrathRequired - (Game.cookies + GetWrinkConfigBank())) / GetCPS())
: '';
const chainWrathReqFrag = document.createDocumentFragment();
const chainWrathReqSpan = document.createElement('span');
@@ -246,15 +218,10 @@ export function ChainSection() {
);
const chainColourFrenzy =
Game.cookies + GetWrinkConfigBank() < CacheChainFrenzyRequired
? ColourRed
: ColourGreen;
Game.cookies + GetWrinkConfigBank() < CacheChainFrenzyRequired ? ColourRed : ColourGreen;
const chainTimeFrenzy =
Game.cookies + GetWrinkConfigBank() < CacheChainFrenzyRequired
? FormatTime(
(CacheChainFrenzyRequired - (Game.cookies + GetWrinkConfigBank())) /
GetCPS(),
)
? FormatTime((CacheChainFrenzyRequired - (Game.cookies + GetWrinkConfigBank())) / GetCPS())
: '';
const chainReqFrenFrag = document.createDocumentFragment();
const chainReqFrenSpan = document.createElement('span');
@@ -277,15 +244,11 @@ export function ChainSection() {
);
const chainWrathColourFrenzy =
Game.cookies + GetWrinkConfigBank() < CacheChainFrenzyWrathRequired
? ColourRed
: ColourGreen;
Game.cookies + GetWrinkConfigBank() < CacheChainFrenzyWrathRequired ? ColourRed : ColourGreen;
const chainWrathTimeFrenzy =
Game.cookies + GetWrinkConfigBank() < CacheChainFrenzyWrathRequired
? FormatTime(
(CacheChainFrenzyWrathRequired -
(Game.cookies + GetWrinkConfigBank())) /
GetCPS(),
(CacheChainFrenzyWrathRequired - (Game.cookies + GetWrinkConfigBank())) / GetCPS(),
)
: '';
const chainWrathReqFrenFrag = document.createDocumentFragment();
@@ -313,9 +276,7 @@ export function ChainSection() {
'withTooltip',
'"Chain" reward (max) (golden / wrath)',
document.createTextNode(
`${Beautify(CacheChainMaxReward[0])} / ${Beautify(
CacheChainWrathMaxReward[0],
)}`,
`${Beautify(CacheChainMaxReward[0])} / ${Beautify(CacheChainWrathMaxReward[0])}`,
),
goldCookTooltip,
),
@@ -326,9 +287,7 @@ export function ChainSection() {
'withTooltip',
'"Chain" reward (max) (frenzy) (golden / wrath)',
document.createTextNode(
`${Beautify(CacheChainFrenzyMaxReward[0])} / ${Beautify(
CacheChainFrenzyMaxReward[0],
)}`,
`${Beautify(CacheChainFrenzyMaxReward[0])} / ${Beautify(CacheChainFrenzyMaxReward[0])}`,
),
goldCookTooltip,
),
@@ -338,23 +297,13 @@ export function ChainSection() {
Game.cookiesPs * 60 * 60 * 6 * CacheDragonsFortuneMultAdjustment,
Game.cookies * 0.5,
);
const chainCur = MaxChainCookieReward(
7,
chainCurMax,
CacheGoldenCookiesMult,
)[0];
const chainCurWrath = MaxChainCookieReward(
6,
chainCurMax,
CacheWrathCookiesMult,
)[0];
const chainCur = MaxChainCookieReward(7, chainCurMax, CacheGoldenCookiesMult)[0];
const chainCurWrath = MaxChainCookieReward(6, chainCurMax, CacheWrathCookiesMult)[0];
section.appendChild(
StatsListing(
'withTooltip',
'"Chain" reward (cur) (golden / wrath)',
document.createTextNode(
`${Beautify(chainCur)} / ${Beautify(chainCurWrath)}`,
),
document.createTextNode(`${Beautify(chainCur)} / ${Beautify(chainCurWrath)}`),
goldCookTooltip,
),
);
@@ -364,9 +313,7 @@ export function ChainSection() {
'withTooltip',
'CPS needed for next level (g / w)',
document.createTextNode(
`${Beautify(CacheChainRequiredNext)} / ${Beautify(
CacheChainWrathRequiredNext,
)}`,
`${Beautify(CacheChainRequiredNext)} / ${Beautify(CacheChainWrathRequiredNext)}`,
),
'ChainNextLevelPlaceholder',
),
@@ -395,14 +342,10 @@ export function SpellsSection() {
section.className = 'CMStatsSpellsSection';
const conjureColour =
Game.cookies + GetWrinkConfigBank() < CacheConjure
? ColourRed
: ColourGreen;
Game.cookies + GetWrinkConfigBank() < CacheConjure ? ColourRed : ColourGreen;
const conjureTime =
Game.cookies + GetWrinkConfigBank() < CacheConjure
? FormatTime(
(CacheConjure - (Game.cookies + GetWrinkConfigBank())) / GetCPS(),
)
? FormatTime((CacheConjure - (Game.cookies + GetWrinkConfigBank())) / GetCPS())
: '';
const conjureReqFrag = document.createDocumentFragment();
@@ -434,18 +377,14 @@ export function SpellsSection() {
);
const conjureFrenzyColour =
Game.cookies + GetWrinkConfigBank() < CacheConjure * 7
? ColourRed
: ColourGreen;
Game.cookies + GetWrinkConfigBank() < CacheConjure * 7 ? ColourRed : ColourGreen;
const conjureFrenzyCur = Math.min(
(Game.cookies + GetWrinkConfigBank()) * 0.15,
CacheNoGoldSwitchCookiesPS * 60 * 30,
);
const conjureFrenzyTime =
Game.cookies + GetWrinkConfigBank() < CacheConjure * 7
? FormatTime(
(CacheConjure * 7 - (Game.cookies + GetWrinkConfigBank())) / GetCPS(),
)
? FormatTime((CacheConjure * 7 - (Game.cookies + GetWrinkConfigBank())) / GetCPS())
: '';
const conjureFrenzyReqFrag = document.createDocumentFragment();
@@ -488,9 +427,7 @@ export function SpellsSection() {
StatsListing(
'withTooltip',
'"Spontaneous Edifice" cookies required (most expensive building)',
document.createTextNode(
`${Beautify(CacheEdifice)} (${CacheEdificeBuilding})`,
),
document.createTextNode(`${Beautify(CacheEdifice)} (${CacheEdificeBuilding})`),
'GoldCookTooltipPlaceholder',
),
);
@@ -506,60 +443,40 @@ export function GardenSection() {
const section = document.createElement('div');
section.className = 'CMStatsGardenSection';
const bakeberryColour =
Game.cookies < Game.cookiesPs * 60 * 10 * 100 ? ColourRed : ColourGreen;
const bakeberryColour = Game.cookies < Game.cookiesPs * 60 * 10 * 100 ? ColourRed : ColourGreen;
const bakeberryFrag = document.createElement('span');
bakeberryFrag.style.fontWeight = 'bold';
bakeberryFrag.className = ColourTextPre + bakeberryColour;
bakeberryFrag.textContent = Beautify(Game.cookiesPs * 60 * 10 * 100);
section.appendChild(
StatsListing(
'basic',
'Cookies required for max reward of Bakeberry: ',
bakeberryFrag,
),
StatsListing('basic', 'Cookies required for max reward of Bakeberry: ', bakeberryFrag),
);
const chocorootColour =
Game.cookies < Game.cookiesPs * 60 * 100 ? ColourRed : ColourGreen;
const chocorootColour = Game.cookies < Game.cookiesPs * 60 * 100 ? ColourRed : ColourGreen;
const chocorootFrag = document.createElement('span');
chocorootFrag.style.fontWeight = 'bold';
chocorootFrag.className = ColourTextPre + chocorootColour;
chocorootFrag.textContent = Beautify(Game.cookiesPs * 60 * 100);
section.appendChild(
StatsListing(
'basic',
'Cookies required for max reward of Chocoroot: ',
chocorootFrag,
),
StatsListing('basic', 'Cookies required for max reward of Chocoroot: ', chocorootFrag),
);
const queenbeetColour =
Game.cookies < Game.cookiesPs * 60 * 60 * 25 ? ColourRed : ColourGreen;
const queenbeetColour = Game.cookies < Game.cookiesPs * 60 * 60 * 25 ? ColourRed : ColourGreen;
const queenbeetFrag = document.createElement('span');
queenbeetFrag.style.fontWeight = 'bold';
queenbeetFrag.className = ColourTextPre + queenbeetColour;
queenbeetFrag.textContent = Beautify(Game.cookiesPs * 60 * 60 * 25);
section.appendChild(
StatsListing(
'basic',
'Cookies required for max reward of Queenbeet: ',
queenbeetFrag,
),
StatsListing('basic', 'Cookies required for max reward of Queenbeet: ', queenbeetFrag),
);
const duketaterColour =
Game.cookies < Game.cookiesPs * 60 * 15 * 100 ? ColourRed : ColourGreen;
const duketaterColour = Game.cookies < Game.cookiesPs * 60 * 15 * 100 ? ColourRed : ColourGreen;
const duketaterFrag = document.createElement('span');
duketaterFrag.style.fontWeight = 'bold';
duketaterFrag.className = ColourTextPre + duketaterColour;
duketaterFrag.textContent = Beautify(Game.cookiesPs * 60 * 15 * 100);
section.appendChild(
StatsListing(
'basic',
'Cookies required for max reward of Duketater: ',
duketaterFrag,
),
StatsListing('basic', 'Cookies required for max reward of Duketater: ', duketaterFrag),
);
const missingPlantDrops = [];
Object.keys(GameData.PlantDrops).forEach((i) => {
@@ -569,11 +486,7 @@ export function GardenSection() {
});
if (missingPlantDrops.length !== 0) {
section.appendChild(
StatsListing(
'basic',
'Rare plant drops left to unlock',
StatsMissDisp(missingPlantDrops),
),
StatsListing('basic', 'Rare plant drops left to unlock', StatsMissDisp(missingPlantDrops)),
);
}
return section;
@@ -592,18 +505,14 @@ export function PrestigeSection() {
CacheRealCookiesEarned +
Game.cookiesReset +
CacheWrinklersTotal +
(Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg')
? CacheLastChoEgg
: 0),
(Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg') ? CacheLastChoEgg : 0),
),
);
section.appendChild(
StatsListing(
'withTooltip',
'Prestige level (cur / max)',
document.createTextNode(
`${Beautify(Game.prestige)} / ${Beautify(possiblePresMax)}`,
),
document.createTextNode(`${Beautify(Game.prestige)} / ${Beautify(possiblePresMax)}`),
'PrestMaxTooltipPlaceholder',
),
);
@@ -614,21 +523,14 @@ export function PrestigeSection() {
(CacheRealCookiesEarned +
Game.cookiesReset +
CacheWrinklersTotal +
((
Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg')
? CacheLastChoEgg
: 0
)
((Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg') ? CacheLastChoEgg : 0)
? CacheLastChoEgg
: 0)),
);
const cookiesNextFrag = document.createDocumentFragment();
cookiesNextFrag.appendChild(document.createTextNode(Beautify(neededCook)));
const cookiesNextSmall = document.createElement('small');
cookiesNextSmall.textContent = ` (${FormatTime(
neededCook / CacheAvgCPSWithChoEgg,
1,
)})`;
cookiesNextSmall.textContent = ` (${FormatTime(neededCook / CacheAvgCPSWithChoEgg, 1)})`;
cookiesNextFrag.appendChild(cookiesNextSmall);
section.appendChild(
StatsListing(
@@ -663,8 +565,7 @@ export function PrestigeSection() {
const HCTarget = Number(CMOptions.HeavenlyChipsTarget);
if (!Number.isNaN(HCTarget)) {
const CookiesTillTarget =
HCTarget -
Math.floor(Game.HowMuchPrestige(Game.cookiesReset + Game.cookiesEarned));
HCTarget - Math.floor(Game.HowMuchPrestige(Game.cookiesReset + Game.cookiesEarned));
if (CookiesTillTarget > 0) {
section.appendChild(
StatsListing(
@@ -677,9 +578,7 @@ export function PrestigeSection() {
StatsListing(
'basic',
'Time till target (cur, current 5 second average)',
document.createTextNode(
FormatTime(CookiesTillTarget / CacheHCPerSecond),
),
document.createTextNode(FormatTime(CookiesTillTarget / CacheHCPerSecond)),
),
);
}
@@ -695,18 +594,11 @@ export function PrestigeSection() {
resetFrag.appendChild(resetSmall);
}
section.appendChild(
StatsListing(
'withTooltip',
'Reset bonus income',
resetFrag,
'ResetTooltipPlaceholder',
),
StatsListing('withTooltip', 'Reset bonus income', resetFrag, 'ResetTooltipPlaceholder'),
);
const currentPrestige = Math.floor(Game.HowMuchPrestige(Game.cookiesReset));
const willHave = Math.floor(
Game.HowMuchPrestige(Game.cookiesReset + Game.cookiesEarned),
);
const willHave = Math.floor(Game.HowMuchPrestige(Game.cookiesReset + Game.cookiesEarned));
const willGet = willHave - currentPrestige;
if (!Game.Has('Lucky digit')) {
let delta7 = 7 - (willHave % 10);
@@ -719,9 +611,7 @@ export function PrestigeSection() {
`${next7Total.toLocaleString()} / ${next7Reset.toLocaleString()} (+${delta7})`,
),
);
section.appendChild(
StatsListing('basic', 'Next "Lucky Digit" (total / reset)', frag7),
);
section.appendChild(StatsListing('basic', 'Next "Lucky Digit" (total / reset)', frag7));
}
if (!Game.Has('Lucky number')) {
@@ -735,9 +625,7 @@ export function PrestigeSection() {
`${next777Total.toLocaleString()} / ${next777Reset.toLocaleString()} (+${delta777})`,
),
);
section.appendChild(
StatsListing('basic', 'Next "Lucky Number" (total / reset)', frag777),
);
section.appendChild(StatsListing('basic', 'Next "Lucky Number" (total / reset)', frag777));
}
if (!Game.Has('Lucky payout')) {
@@ -751,9 +639,7 @@ export function PrestigeSection() {
`${next777777Total.toLocaleString()} / ${next777777Reset.toLocaleString()} (+${delta777777})`,
),
);
section.appendChild(
StatsListing('basic', 'Next "Lucky Payout" (total / reset)', frag777777),
);
section.appendChild(StatsListing('basic', 'Next "Lucky Payout" (total / reset)', frag777777));
}
return section;
@@ -803,8 +689,7 @@ export function SeasonSection() {
specDisp = true;
}
});
const choEgg =
Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg');
const choEgg = Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg');
const centEgg = Game.Has('Century egg');
if (Game.season === 'christmas' || specDisp || choEgg || centEgg) {
@@ -834,9 +719,7 @@ export function SeasonSection() {
'basic',
'Chance of receiving a cookie from wrinkler/shiny wrinkler',
document.createTextNode(
`${Beautify(
(1 - failRateHalloween) * obtainedCookiesChance * 100,
)}% / ${Beautify(
`${Beautify((1 - failRateHalloween) * obtainedCookiesChance * 100)}% / ${Beautify(
(1 - failRateHalloween * 0.9) * obtainedCookiesChance * 100,
)}%`,
),
@@ -867,9 +750,7 @@ export function SeasonSection() {
'basic',
'Chance of receiving a cookie from reindeer',
document.createTextNode(
`${Beautify(
(1 - failRateChristmas) * obtainedCookiesChance * 100,
)}%`,
`${Beautify((1 - failRateChristmas) * obtainedCookiesChance * 100)}%`,
),
),
);
@@ -897,23 +778,14 @@ export function SeasonSection() {
// Calculations courtesy of @svschouw, at https://github.com/Aktanusa/CookieMonster/issues/25
const succesRateEgg = 1 - failRateEgg;
const obtainedEggs = Game.eggDrops.length - missingNormalEggs.length;
const obtainedRareEggs =
Game.rareEggDrops.length - missingRareEggs.length;
const pNormal1 =
succesRateEgg * 0.9 * (1 - obtainedEggs / Game.eggDrops.length);
const pRare1 =
succesRateEgg *
0.1 *
(1 - obtainedRareEggs / Game.rareEggDrops.length);
const pRedropNormal =
succesRateEgg * 0.9 * (obtainedEggs / Game.eggDrops.length);
const pRedropRare =
succesRateEgg * 0.1 * (obtainedRareEggs / Game.rareEggDrops.length);
const obtainedRareEggs = Game.rareEggDrops.length - missingRareEggs.length;
const pNormal1 = succesRateEgg * 0.9 * (1 - obtainedEggs / Game.eggDrops.length);
const pRare1 = succesRateEgg * 0.1 * (1 - obtainedRareEggs / Game.rareEggDrops.length);
const pRedropNormal = succesRateEgg * 0.9 * (obtainedEggs / Game.eggDrops.length);
const pRedropRare = succesRateEgg * 0.1 * (obtainedRareEggs / Game.rareEggDrops.length);
const pRedrop = pRedropNormal + pRedropRare;
const pNormal2 =
pRedrop * 0.9 * (1 - obtainedEggs / Game.eggDrops.length);
const pRare2 =
pRedrop * 0.1 * (1 - obtainedRareEggs / Game.rareEggDrops.length);
const pNormal2 = pRedrop * 0.9 * (1 - obtainedEggs / Game.eggDrops.length);
const pRare2 = pRedrop * 0.1 * (1 - obtainedRareEggs / Game.rareEggDrops.length);
return [pNormal1 + pNormal2, pRare1 + pRare2];
};
if (missingNormalEggs.length !== 0) {
@@ -929,29 +801,21 @@ export function SeasonSection() {
'basic',
'Chance of receiving an egg from wrinkler/golden cookie',
document.createTextNode(
`${Beautify(dropRateEgg(0.98)[0] * 100)}% / ${Beautify(
dropRateEgg(0.9)[0] * 100,
)}%`,
`${Beautify(dropRateEgg(0.98)[0] * 100)}% / ${Beautify(dropRateEgg(0.9)[0] * 100)}%`,
),
),
);
}
if (missingRareEggs.length !== 0) {
section.appendChild(
StatsListing(
'basic',
'Rare easter eggs left to unlock',
StatsMissDisp(missingRareEggs),
),
StatsListing('basic', 'Rare easter eggs left to unlock', StatsMissDisp(missingRareEggs)),
);
section.appendChild(
StatsListing(
'basic',
'Chance of receiving a rare egg from wrinkler/golden cookie',
document.createTextNode(
`${Beautify(dropRateEgg(0.98)[1] * 100)}% / ${Beautify(
dropRateEgg(0.9)[1] * 100,
)}%`,
`${Beautify(dropRateEgg(0.98)[1] * 100)}% / ${Beautify(dropRateEgg(0.9)[1] * 100)}%`,
),
),
);
@@ -959,11 +823,7 @@ export function SeasonSection() {
if (Game.season === 'christmas')
section.appendChild(
StatsListing(
'basic',
'Reindeer reward',
document.createTextNode(Beautify(CacheSeaSpec)),
),
StatsListing('basic', 'Reindeer reward', document.createTextNode(Beautify(CacheSeaSpec))),
);
if (choEgg) {
section.appendChild(
@@ -980,9 +840,7 @@ export function SeasonSection() {
StatsListing(
'basic',
'Century egg multiplier',
document.createTextNode(
`${Math.round((CacheCentEgg - 1) * 10000) / 100}%`,
),
document.createTextNode(`${Math.round((CacheCentEgg - 1) * 10000) / 100}%`),
),
);
}

View File

@@ -12,9 +12,7 @@ import { isInitializing } from '../../InitSaveLoad/Variables';
export default function Flash(mode, config, forced) {
// The arguments check makes the sound not play upon initialization of the mod
if (
((CMOptions[config] === 1 || forced) &&
mode === 3 &&
isInitializing === false) ||
((CMOptions[config] === 1 || forced) && mode === 3 && isInitializing === false) ||
mode === 1
) {
l('CMFlashScreen').style.backgroundColor = CMOptions[`Colour${config}`];

View File

@@ -14,8 +14,7 @@ export default function PlaySound(url, sndConfig, volConfig, forced) {
if ((CMOptions[sndConfig] === 1 || forced) && isInitializing === false) {
// eslint-disable-next-line new-cap
const sound = new Audio(url);
if (CMOptions.GeneralSound)
sound.volume = (CMOptions[volConfig] / 100) * (Game.volume / 100);
if (CMOptions.GeneralSound) sound.volume = (CMOptions[volConfig] / 100) * (Game.volume / 100);
else sound.volume = CMOptions[volConfig] / 100;
sound.play();
}

View File

@@ -20,12 +20,7 @@ export function CreateFavicon() {
export function UpdateFavicon() {
if (CMOptions.Favicon === 1 && LastGoldenCookieState > 0) {
if (CacheSpawnedGoldenShimmer.wrath)
l('CMFavicon').href =
'https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico';
else
l('CMFavicon').href =
'https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico';
} else
l('CMFavicon').href =
'https://orteil.dashnet.org/cookieclicker/favicon.ico';
l('CMFavicon').href = 'https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico';
else l('CMFavicon').href = 'https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico';
} else l('CMFavicon').href = 'https://orteil.dashnet.org/cookieclicker/favicon.ico';
}

View File

@@ -1,14 +1,8 @@
/** Functions related to updating the tab in the browser's tab-bar */
import {
CacheSeasonPopShimmer,
CacheSpawnedGoldenShimmer,
} from '../../Cache/VariablesAndData';
import { CacheSeasonPopShimmer, CacheSpawnedGoldenShimmer } from '../../Cache/VariablesAndData';
import { CMOptions } from '../../Config/VariablesAndData';
import {
LastSeasonPopupState,
LastTickerFortuneState,
} from '../../Main/VariablesAndData';
import { LastSeasonPopupState, LastTickerFortuneState } from '../../Main/VariablesAndData';
import { Title } from '../VariablesAndData';
/**
@@ -28,14 +22,10 @@ export default function UpdateTitle() {
if (CacheSpawnedGoldenShimmer) {
if (CacheSpawnedGoldenShimmer.wrath)
titleGC = `[W${Math.ceil(CacheSpawnedGoldenShimmer.life / Game.fps)}]`;
else
titleGC = `[G${Math.ceil(CacheSpawnedGoldenShimmer.life / Game.fps)}]`;
else titleGC = `[G${Math.ceil(CacheSpawnedGoldenShimmer.life / Game.fps)}]`;
} else if (!Game.Has('Golden switch [off]')) {
titleGC = `[${
Number(l('CMTimerBarGCMinBar').textContent) < 0 ? '!' : ''
}${Math.ceil(
(Game.shimmerTypes.golden.maxTime - Game.shimmerTypes.golden.time) /
Game.fps,
titleGC = `[${Number(l('CMTimerBarGCMinBar').textContent) < 0 ? '!' : ''}${Math.ceil(
(Game.shimmerTypes.golden.maxTime - Game.shimmerTypes.golden.time) / Game.fps,
)}]`;
} else titleGC = '[GS]';
@@ -46,15 +36,10 @@ export default function UpdateTitle() {
if (Game.season === 'christmas') {
addSP = true;
if (LastSeasonPopupState)
titleSP = `[R${Math.ceil(CacheSeasonPopShimmer.life / Game.fps)}]`;
if (LastSeasonPopupState) titleSP = `[R${Math.ceil(CacheSeasonPopShimmer.life / Game.fps)}]`;
else {
titleSP = `[${
Number(l('CMTimerBarRenMinBar').textContent) < 0 ? '!' : ''
}${Math.ceil(
(Game.shimmerTypes.reindeer.maxTime -
Game.shimmerTypes.reindeer.time) /
Game.fps,
titleSP = `[${Number(l('CMTimerBarRenMinBar').textContent) < 0 ? '!' : ''}${Math.ceil(
(Game.shimmerTypes.reindeer.maxTime - Game.shimmerTypes.reindeer.time) / Game.fps,
)}]`;
}
}
@@ -64,9 +49,7 @@ export default function UpdateTitle() {
if (str.charAt(0) === '[') {
str = str.substring(str.lastIndexOf(']') + 1);
}
document.title = `${
titleGC + (addFC ? titleFC : '') + (addSP ? titleSP : '')
} ${str}`;
document.title = `${titleGC + (addFC ? titleFC : '') + (addSP ? titleSP : '')} ${str}`;
} else if (CMOptions.Title === 2) {
let str = '';
let spawn = false;

View File

@@ -15,44 +15,35 @@ export default function ReplaceAscendTooltip() {
const cookiesToNext = Math.max(
0,
Game.HowManyCookiesReset(
Math.floor(Game.HowMuchPrestige(Game.cookiesReset + Game.cookiesEarned)) +
1,
Math.floor(Game.HowMuchPrestige(Game.cookiesReset + Game.cookiesEarned)) + 1,
) -
(Game.cookiesEarned + Game.cookiesReset),
);
const startDate = Game.sayTime(
((Date.now() - Game.startDate) / 1000) * Game.fps,
-1,
);
const startDate = Game.sayTime(((Date.now() - Game.startDate) / 1000) * Game.fps, -1);
let str = '';
str += `You've been on this run for <b>${
startDate === '' ? 'not very long' : startDate
}</b>.<br>`;
str += '<div class="line"></div>';
if (Game.prestige > 0) {
str += `Your prestige level is currently <b>${Beautify(
str += `Your prestige level is currently <b>${Beautify(Game.prestige)}</b>.<br>(CpS +${Beautify(
Game.prestige,
)}</b>.<br>(CpS +${Beautify(Game.prestige)}%)`;
)}%)`;
str += '<div class="line"></div>';
}
if (CacheLastHeavenlyChips < 1)
str += 'Ascending now would grant you no prestige.';
if (CacheLastHeavenlyChips < 1) str += 'Ascending now would grant you no prestige.';
else if (CacheLastHeavenlyChips < 2)
str +=
'Ascending now would grant you<br><b>1 prestige level</b> (+1% CpS)<br>and <b>1 heavenly chip</b> to spend.';
else
str += `Ascending now would grant you<br><b>${Beautify(
CacheLastHeavenlyChips,
)} prestige levels</b> (+${Beautify(
CacheLastHeavenlyChips,
)}% CpS)<br>and <b>${Beautify(
)} prestige levels</b> (+${Beautify(CacheLastHeavenlyChips)}% CpS)<br>and <b>${Beautify(
CacheLastHeavenlyChips,
)} heavenly chips</b> to spend.`;
str += '<div class="line"></div>';
str += `You need <b>${Beautify(
cookiesToNext,
)} more cookies</b> for the next level.<br>`;
str += `You need <b>${Beautify(cookiesToNext)} more cookies</b> for the next level.<br>`;
str += `${
CMOptions.TooltipAscendButton
? `<div class='line'></div>It takes ${CacheTimeTillNextPrestige} to reach the next level and you were making ${Beautify(

View File

@@ -1,9 +1,5 @@
import UpdateTooltips from './UpdateTooltips';
import {
SimpleTooltipElements,
TooltipName,
TooltipType,
} from '../VariablesAndData';
import { SimpleTooltipElements, TooltipName, TooltipType } from '../VariablesAndData';
import { CMOptions } from '../../Config/VariablesAndData';
import BuildingGetPrice from '../../Sim/SimulationEvents/BuyBuilding';
import GetTimeColour from '../BeautifyAndFormatting/GetTimeColour';
@@ -93,32 +89,20 @@ export function CreateTooltip(type, name) {
} else if (type === 'u') {
// Upgrades
if (!Game.UpgradesInStore[name]) return '';
l('tooltip').innerHTML = Game.crateTooltip(
Game.UpgradesInStore[name],
'store',
);
l('tooltip').innerHTML = Game.crateTooltip(Game.UpgradesInStore[name], 'store');
} else if (type === 's') l('tooltip').innerHTML = Game.lumpTooltip();
// Sugar Lumps
else if (type === 'g')
l('tooltip').innerHTML = Game.Objects['Wizard tower'].minigame.spellTooltip(
name,
)();
l('tooltip').innerHTML = Game.Objects['Wizard tower'].minigame.spellTooltip(name)();
// Grimoire
else if (type === 'p')
l('tooltip').innerHTML = Game.ObjectsById[2].minigame.tileTooltip(
name[0],
name[1],
)();
l('tooltip').innerHTML = Game.ObjectsById[2].minigame.tileTooltip(name[0], name[1])();
// Harvest all button in garden
else if (type === 'ha')
l('tooltip').innerHTML = Game.ObjectsById[2].minigame.toolTooltip(1)();
else if (type === 'ha') l('tooltip').innerHTML = Game.ObjectsById[2].minigame.toolTooltip(1)();
else if (type === 'wb') l('tooltip').innerHTML = '';
else if (type === 'pag')
l('tooltip').innerHTML = Game.Objects.Temple.minigame.godTooltip(name)();
else if (type === 'pag') l('tooltip').innerHTML = Game.Objects.Temple.minigame.godTooltip(name)();
else if (type === 'pas')
l('tooltip').innerHTML = Game.Objects.Temple.minigame.slotTooltip(
name[0],
)();
l('tooltip').innerHTML = Game.Objects.Temple.minigame.slotTooltip(name[0])();
// Adds area for extra tooltip-sections
if (

View File

@@ -45,9 +45,7 @@ export default function Building() {
if (CMOptions.TooltipBuildUpgrade === 1 && Game.buyMode === 1) {
l('CMTooltipIncome').textContent = Beautify(TooltipBonusIncome, 2);
const increase = Math.round(
(TooltipBonusIncome / Game.cookiesPs) * 10000,
);
const increase = Math.round((TooltipBonusIncome / Game.cookiesPs) * 10000);
if (Number.isFinite(increase) && increase !== 0) {
l('CMTooltipIncome').textContent += ` (${increase / 100}% of income)`;
} else {
@@ -55,8 +53,7 @@ export default function Building() {
CMOptions.ScaleSeparator ? ',' : '.'
}01% of income)`;
}
l('CMTooltipBorder').className =
ColourTextPre + target[TooltipName].color;
l('CMTooltipBorder').className = ColourTextPre + target[TooltipName].color;
if (CMOptions.PPDisplayTime)
l('CMTooltipPP').textContent = FormatTime(target[TooltipName].pp);
else l('CMTooltipPP').textContent = Beautify(target[TooltipName].pp, 2);
@@ -65,10 +62,7 @@ export default function Building() {
(TooltipPrice - (Game.cookies + GetWrinkConfigBank())) / GetCPS(),
);
l('CMTooltipTime').textContent = timeColour.text;
if (
timeColour.text === 'Done!' &&
Game.cookies < target[TooltipName].price
) {
if (timeColour.text === 'Done!' && Game.cookies < target[TooltipName].price) {
l('CMTooltipTime').textContent = `${timeColour.text} (with Wrink)`;
} else l('CMTooltipTime').textContent = timeColour.text;
l('CMTooltipTime').className = ColourTextPre + timeColour.color;
@@ -80,18 +74,11 @@ export default function Building() {
// eslint-disable-next-line no-restricted-syntax
for (const i of Object.keys(Game.Objects[TooltipName].productionAchievs)) {
if (
!Game.HasAchiev(
Game.Objects[TooltipName].productionAchievs[i].achiev.name,
)
) {
const nextProductionAchiev =
Game.Objects[TooltipName].productionAchievs[i];
if (!Game.HasAchiev(Game.Objects[TooltipName].productionAchievs[i].achiev.name)) {
const nextProductionAchiev = Game.Objects[TooltipName].productionAchievs[i];
l('CMTooltipTime').style.marginBottom = '4px';
l('CMTooltipProductionLeftHeader').style.display = '';
l(
'CMTooltipProductionLeft',
).className = `ProdAchievement${TooltipName}`;
l('CMTooltipProductionLeft').className = `ProdAchievement${TooltipName}`;
l('CMTooltipProductionLeft').textContent = Beautify(
nextProductionAchiev.pow - SimObjects[TooltipName].totalCookies,
15,
@@ -109,10 +96,7 @@ export default function Building() {
let PPOfAmount;
if (Game.cookiesPs) {
PPOfAmount =
Math.max(
ObjectsTillNext.price - (Game.cookies + GetWrinkConfigBank()),
0,
) /
Math.max(ObjectsTillNext.price - (Game.cookies + GetWrinkConfigBank()), 0) /
Game.cookiesPs +
ObjectsTillNext.price /
BuyBuildingsBonusIncome(TooltipName, ObjectsTillNext.AmountNeeded);
@@ -128,8 +112,7 @@ export default function Building() {
const PPFrag = document.createElement('span');
if (CMOptions.PPDisplayTime) PPFrag.textContent = FormatTime(PPOfAmount);
else PPFrag.textContent = Beautify(PPOfAmount);
PPFrag.className =
ColourTextPre + ColourOfPP({ pp: PPOfAmount }, ObjectsTillNext.price);
PPFrag.className = ColourTextPre + ColourOfPP({ pp: PPOfAmount }, ObjectsTillNext.price);
l('CMTooltipNextAchievement').appendChild(PPFrag);
} else {
l('CMTooltipNextAchievementHeader').style.display = 'none';

View File

@@ -9,46 +9,31 @@ import * as Create from '../CreateTooltip';
*/
export default function GardenPlots() {
const { minigame } = Game.Objects.Farm;
if (
CMOptions.TooltipPlots &&
minigame.plot[TooltipName[1]][TooltipName[0]][0] !== 0
) {
if (CMOptions.TooltipPlots && minigame.plot[TooltipName[1]][TooltipName[0]][0] !== 0) {
const mature =
minigame.plot[TooltipName[1]][TooltipName[0]][1] >
minigame.plantsById[minigame.plot[TooltipName[1]][TooltipName[0]][0] - 1]
.mature;
minigame.plantsById[minigame.plot[TooltipName[1]][TooltipName[0]][0] - 1].mature;
const plantName =
minigame.plantsById[minigame.plot[TooltipName[1]][TooltipName[0]][0] - 1]
.name;
l('CMTooltipBorder').appendChild(
Create.TooltipCreateHeader('Reward (Current / Maximum)'),
);
minigame.plantsById[minigame.plot[TooltipName[1]][TooltipName[0]][0] - 1].name;
l('CMTooltipBorder').appendChild(Create.TooltipCreateHeader('Reward (Current / Maximum)'));
const reward = document.createElement('div');
reward.id = 'CMTooltipPlantReward';
l('CMTooltipBorder').appendChild(reward);
if (plantName === 'Bakeberry') {
l('CMTooltipPlantReward').textContent = `${
mature
? Beautify(Math.min(Game.cookies * 0.03, Game.cookiesPs * 60 * 30))
: '0'
mature ? Beautify(Math.min(Game.cookies * 0.03, Game.cookiesPs * 60 * 30)) : '0'
} / ${Beautify(Game.cookiesPs * 60 * 30)}`;
} else if (plantName === 'Chocoroot' || plantName === 'White chocoroot') {
l('CMTooltipPlantReward').textContent = `${
mature
? Beautify(Math.min(Game.cookies * 0.03, Game.cookiesPs * 60 * 3))
: '0'
mature ? Beautify(Math.min(Game.cookies * 0.03, Game.cookiesPs * 60 * 3)) : '0'
} / ${Beautify(Game.cookiesPs * 60 * 3)}`;
} else if (plantName === 'Queenbeet') {
l('CMTooltipPlantReward').textContent = `${
mature
? Beautify(Math.min(Game.cookies * 0.04, Game.cookiesPs * 60 * 60))
: '0'
mature ? Beautify(Math.min(Game.cookies * 0.04, Game.cookiesPs * 60 * 60)) : '0'
} / ${Beautify(Game.cookiesPs * 60 * 60)}`;
} else if (plantName === 'Duketater') {
l('CMTooltipPlantReward').textContent = `${
mature
? Beautify(Math.min(Game.cookies * 0.08, Game.cookiesPs * 60 * 120))
: '0'
mature ? Beautify(Math.min(Game.cookies * 0.08, Game.cookiesPs * 60 * 120)) : '0'
} / ${Beautify(Game.cookiesPs * 60 * 120)}`;
} else l('CMTooltipArea').style.display = 'none';
} else l('CMTooltipArea').style.display = 'none';

View File

@@ -48,9 +48,7 @@ export default function Grimoire() {
// Extra information on cookies gained when spell is Conjure Baked Goods (Name === 0)
if (TooltipName === '0') {
tooltipBox.appendChild(
Create.TooltipCreateHeader('Cookies to be gained/lost'),
);
tooltipBox.appendChild(Create.TooltipCreateHeader('Cookies to be gained/lost'));
const conjure = document.createElement('div');
conjure.id = 'x';
tooltipBox.appendChild(conjure);

View File

@@ -10,9 +10,7 @@ import * as Create from '../CreateTooltip';
export default function HarvestAll() {
const { minigame } = Game.Objects.Farm;
if (CMOptions.TooltipLump) {
l('CMTooltipBorder').appendChild(
Create.TooltipCreateHeader('Cookies gained from harvesting:'),
);
l('CMTooltipBorder').appendChild(Create.TooltipCreateHeader('Cookies gained from harvesting:'));
let totalGain = 0;
let mortal = 0;
if (Game.keys[16] && Game.keys[17]) mortal = 1;
@@ -27,31 +25,17 @@ export default function HarvestAll() {
if (mortal && me.immortal) count = false;
if (tile[1] < me.matureBase) count = false;
if (count && plantName === 'Bakeberry') {
totalGain += Math.min(
Game.cookies * 0.03,
Game.cookiesPs * 60 * 30,
);
} else if (
(count && plantName === 'Chocoroot') ||
plantName === 'White chocoroot'
) {
totalGain += Math.min(Game.cookies * 0.03, Game.cookiesPs * 60 * 30);
} else if ((count && plantName === 'Chocoroot') || plantName === 'White chocoroot') {
totalGain += Math.min(Game.cookies * 0.03, Game.cookiesPs * 60 * 3);
} else if (count && plantName === 'Queenbeet') {
totalGain += Math.min(
Game.cookies * 0.04,
Game.cookiesPs * 60 * 60,
);
totalGain += Math.min(Game.cookies * 0.04, Game.cookiesPs * 60 * 60);
} else if (count && plantName === 'Duketater') {
totalGain += Math.min(
Game.cookies * 0.08,
Game.cookiesPs * 60 * 120,
);
totalGain += Math.min(Game.cookies * 0.08, Game.cookiesPs * 60 * 120);
}
}
}
}
l('CMTooltipBorder').appendChild(
document.createTextNode(Beautify(totalGain)),
);
l('CMTooltipBorder').appendChild(document.createTextNode(Beautify(totalGain)));
} else l('CMTooltipArea').style.display = 'none';
}

View File

@@ -22,15 +22,11 @@ export default function PantheonGods() {
cps1.id = 'CMPantheonTooltipPosition1';
if (CacheGods[GodID][0] !== 0) {
cps1.textContent = Beautify(CacheGods[GodID][0]);
const increase = Math.round(
(CacheGods[GodID][0] / Game.cookiesPs) * 10000,
);
const increase = Math.round((CacheGods[GodID][0] / Game.cookiesPs) * 10000);
if (Number.isFinite(increase) && increase !== 0) {
cps1.textContent += ` (${increase / 100}% of income)`;
} else {
cps1.textContent += ` (<0${
CMOptions.ScaleSeparator ? ',' : '.'
}01% of income)`;
cps1.textContent += ` (<0${CMOptions.ScaleSeparator ? ',' : '.'}01% of income)`;
}
} else cps1.textContent = 'No effect to CPS';
tooltipBox.appendChild(cps1);
@@ -40,15 +36,11 @@ export default function PantheonGods() {
cps2.id = 'CMPantheonTooltipPosition2';
if (CacheGods[GodID][1] !== 0) {
cps2.textContent = Beautify(CacheGods[GodID][1]);
const increase = Math.round(
(CacheGods[GodID][1] / Game.cookiesPs) * 10000,
);
const increase = Math.round((CacheGods[GodID][1] / Game.cookiesPs) * 10000);
if (Number.isFinite(increase) && increase !== 0) {
cps2.textContent += ` (${increase / 100}% of income)`;
} else {
cps2.textContent += ` (<0${
CMOptions.ScaleSeparator ? ',' : '.'
}01% of income)`;
cps2.textContent += ` (<0${CMOptions.ScaleSeparator ? ',' : '.'}01% of income)`;
}
} else cps2.textContent = 'No effect to CPS';
tooltipBox.appendChild(cps2);
@@ -58,15 +50,11 @@ export default function PantheonGods() {
cps3.id = 'CMPantheonTooltipPosition2';
if (CacheGods[GodID][2] !== 0) {
cps3.textContent = Beautify(CacheGods[GodID][2]);
const increase = Math.round(
(CacheGods[GodID][2] / Game.cookiesPs) * 10000,
);
const increase = Math.round((CacheGods[GodID][2] / Game.cookiesPs) * 10000);
if (Number.isFinite(increase) && increase !== 0) {
cps3.textContent += ` (${increase / 100}% of income)`;
} else {
cps3.textContent += ` (<0${
CMOptions.ScaleSeparator ? ',' : '.'
}01% of income)`;
cps3.textContent += ` (<0${CMOptions.ScaleSeparator ? ',' : '.'}01% of income)`;
}
} else cps3.textContent = 'No effect to CPS';
tooltipBox.appendChild(cps3);

View File

@@ -1,7 +1,4 @@
import {
CacheLastChoEgg,
CacheUpgrades,
} from '../../../Cache/VariablesAndData';
import { CacheLastChoEgg, CacheUpgrades } from '../../../Cache/VariablesAndData';
import { CMOptions } from '../../../Config/VariablesAndData';
import Beautify from '../../BeautifyAndFormatting/Beautify';
import FormatTime from '../../BeautifyAndFormatting/FormatTime';
@@ -25,22 +22,15 @@ export default function Upgrade() {
const tooltipBox = l('CMTooltipBorder');
Create.TooltipCreateCalculationSection(tooltipBox);
TooltipBonusIncome =
CacheUpgrades[Game.UpgradesInStore[TooltipName].name].bonus;
TooltipPrice = Game.Upgrades[
Game.UpgradesInStore[TooltipName].name
].getPrice();
TooltipBonusMouse =
CacheUpgrades[Game.UpgradesInStore[TooltipName].name].bonusMouse;
TooltipBonusIncome = CacheUpgrades[Game.UpgradesInStore[TooltipName].name].bonus;
TooltipPrice = Game.Upgrades[Game.UpgradesInStore[TooltipName].name].getPrice();
TooltipBonusMouse = CacheUpgrades[Game.UpgradesInStore[TooltipName].name].bonusMouse;
if (CMOptions.TooltipBuildUpgrade === 1) {
l('CMTooltipIncome').textContent = Beautify(TooltipBonusIncome, 2);
const increase = Math.round((TooltipBonusIncome / Game.cookiesPs) * 10000);
// Don't display certain parts of tooltip if not applicable
if (
l('CMTooltipIncome').textContent === '0' &&
(TooltipType === 'b' || TooltipType === 'u')
) {
if (l('CMTooltipIncome').textContent === '0' && (TooltipType === 'b' || TooltipType === 'u')) {
l('Bonus IncomeTitle').style.display = 'none';
l('CMTooltipIncome').style.display = 'none';
l('Payback PeriodTitle').style.display = 'none';
@@ -54,8 +44,7 @@ export default function Upgrade() {
}01% of income)`;
}
l('CMTooltipBorder').className =
ColourTextPre +
CacheUpgrades[Game.UpgradesInStore[TooltipName].name].color;
ColourTextPre + CacheUpgrades[Game.UpgradesInStore[TooltipName].name].color;
// If clicking power upgrade
if (TooltipBonusMouse) {
l('CMTooltipCookiePerClick').textContent = Beautify(TooltipBonusMouse);
@@ -64,9 +53,7 @@ export default function Upgrade() {
}
// If only a clicking power upgrade change PP to click-based period
if (TooltipBonusIncome === 0 && TooltipBonusMouse) {
l('CMTooltipPP').textContent = `${Beautify(
TooltipPrice / TooltipBonusMouse,
)} Clicks`;
l('CMTooltipPP').textContent = `${Beautify(TooltipPrice / TooltipBonusMouse)} Clicks`;
l('CMTooltipPP').style.color = 'white';
} else {
if (CMOptions.PPDisplayTime)
@@ -79,8 +66,7 @@ export default function Upgrade() {
2,
);
l('CMTooltipPP').className =
ColourTextPre +
CacheUpgrades[Game.UpgradesInStore[TooltipName].name].color;
ColourTextPre + CacheUpgrades[Game.UpgradesInStore[TooltipName].name].color;
}
}
const timeColour = GetTimeColour(
@@ -103,9 +89,7 @@ export default function Upgrade() {
);
const chocolate = document.createElement('div');
chocolate.style.color = 'white';
chocolate.textContent = `${Beautify(Game.cookies * 0.05)} / ${Beautify(
CacheLastChoEgg,
)}`;
chocolate.textContent = `${Beautify(Game.cookies * 0.05)} / ${Beautify(CacheLastChoEgg)}`;
l('CMTooltipBorder').appendChild(chocolate);
}
} else l('CMTooltipArea').style.display = 'none';

View File

@@ -6,11 +6,7 @@ import Beautify from '../../BeautifyAndFormatting/Beautify';
import FormatTime from '../../BeautifyAndFormatting/FormatTime';
import GetCPS from '../../HelperFunctions/GetCPS';
import GetWrinkConfigBank from '../../HelperFunctions/GetWrinkConfigBank';
import {
TooltipBonusIncome,
TooltipPrice,
TooltipType,
} from '../../VariablesAndData';
import { TooltipBonusIncome, TooltipPrice, TooltipType } from '../../VariablesAndData';
import * as Create from '../CreateTooltip';
/**
@@ -23,16 +19,10 @@ export default function Warnings() {
ToggleToolWarnPos();
}
if (CMOptions.ToolWarnPos === 0)
l('CMDispTooltipWarningParent').style.right = '0px';
else
l('CMDispTooltipWarningParent').style.top = `${
l('tooltip').offsetHeight
}px`;
if (CMOptions.ToolWarnPos === 0) l('CMDispTooltipWarningParent').style.right = '0px';
else l('CMDispTooltipWarningParent').style.top = `${l('tooltip').offsetHeight}px`;
l('CMDispTooltipWarningParent').style.width = `${
l('tooltip').offsetWidth - 6
}px`;
l('CMDispTooltipWarningParent').style.width = `${l('tooltip').offsetWidth - 6}px`;
const amount = Game.cookies + GetWrinkConfigBank() - TooltipPrice;
const bonusIncomeUsed = CMOptions.ToolWarnBon ? TooltipBonusIncome : 0;
@@ -48,72 +38,46 @@ export default function Warnings() {
l('CMDispTooltipWarnLucky').style.display = '';
l('CMDispTooltipWarnLuckyText').textContent = `${Beautify(
limitLucky - amount,
)} (${FormatTime(
(limitLucky - amount) / (GetCPS() + bonusIncomeUsed),
)})`;
)} (${FormatTime((limitLucky - amount) / (GetCPS() + bonusIncomeUsed))})`;
} else l('CMDispTooltipWarnLucky').style.display = 'none';
} else l('CMDispTooltipWarnLucky').style.display = 'none';
if (CMOptions.ToolWarnLuckyFrenzy === 1) {
const limitLuckyFrenzy = limitLucky * 7;
if (
amount < limitLuckyFrenzy &&
(TooltipType !== 'b' || Game.buyMode === 1)
) {
if (amount < limitLuckyFrenzy && (TooltipType !== 'b' || Game.buyMode === 1)) {
l('CMDispTooltipWarnLuckyFrenzy').style.display = '';
l('CMDispTooltipWarnLuckyFrenzyText').textContent = `${Beautify(
limitLuckyFrenzy - amount,
)} (${FormatTime(
(limitLuckyFrenzy - amount) / (GetCPS() + bonusIncomeUsed),
)})`;
)} (${FormatTime((limitLuckyFrenzy - amount) / (GetCPS() + bonusIncomeUsed))})`;
} else l('CMDispTooltipWarnLuckyFrenzy').style.display = 'none';
} else l('CMDispTooltipWarnLuckyFrenzy').style.display = 'none';
if (CMOptions.ToolWarnConjure === 1) {
const limitConjure = limitLucky * 2;
if (
amount < limitConjure &&
(TooltipType !== 'b' || Game.buyMode === 1)
) {
if (amount < limitConjure && (TooltipType !== 'b' || Game.buyMode === 1)) {
l('CMDispTooltipWarnConjure').style.display = '';
l('CMDispTooltipWarnConjureText').textContent = `${Beautify(
limitConjure - amount,
)} (${FormatTime(
(limitConjure - amount) / (GetCPS() + bonusIncomeUsed),
)})`;
)} (${FormatTime((limitConjure - amount) / (GetCPS() + bonusIncomeUsed))})`;
} else l('CMDispTooltipWarnConjure').style.display = 'none';
} else l('CMDispTooltipWarnConjure').style.display = 'none';
if (CMOptions.ToolWarnConjureFrenzy === 1) {
const limitConjureFrenzy = limitLucky * 2 * 7;
if (
amount < limitConjureFrenzy &&
(TooltipType !== 'b' || Game.buyMode === 1)
) {
if (amount < limitConjureFrenzy && (TooltipType !== 'b' || Game.buyMode === 1)) {
l('CMDispTooltipWarnConjureFrenzy').style.display = '';
l('CMDispTooltipWarnConjureFrenzyText').textContent = `${Beautify(
limitConjureFrenzy - amount,
)} (${FormatTime(
(limitConjureFrenzy - amount) / (GetCPS() + bonusIncomeUsed),
)})`;
)} (${FormatTime((limitConjureFrenzy - amount) / (GetCPS() + bonusIncomeUsed))})`;
} else l('CMDispTooltipWarnConjureFrenzy').style.display = 'none';
} else l('CMDispTooltipWarnConjureFrenzy').style.display = 'none';
if (
CMOptions.ToolWarnEdifice === 1 &&
Game.Objects['Wizard tower'].minigameLoaded
) {
if (
CacheEdifice &&
amount < CacheEdifice &&
(TooltipType !== 'b' || Game.buyMode === 1)
) {
if (CMOptions.ToolWarnEdifice === 1 && Game.Objects['Wizard tower'].minigameLoaded) {
if (CacheEdifice && amount < CacheEdifice && (TooltipType !== 'b' || Game.buyMode === 1)) {
l('CMDispTooltipWarnEdifice').style.display = '';
l('CMDispTooltipWarnEdificeText').textContent = `${Beautify(
CacheEdifice - amount,
)} (${FormatTime(
(CacheEdifice - amount) / (GetCPS() + bonusIncomeUsed),
)})`;
)} (${FormatTime((CacheEdifice - amount) / (GetCPS() + bonusIncomeUsed))})`;
} else l('CMDispTooltipWarnEdifice').style.display = 'none';
} else l('CMDispTooltipWarnEdifice').style.display = 'none';
@@ -130,8 +94,7 @@ export default function Warnings() {
l('CMDispTooltipWarnUserText').textContent = `${Beautify(
CMOptions.ToolWarnUser * GetCPS() - amount,
)} (${FormatTime(
(CMOptions.ToolWarnUser * GetCPS() - amount) /
(GetCPS() + bonusIncomeUsed),
(CMOptions.ToolWarnUser * GetCPS() - amount) / (GetCPS() + bonusIncomeUsed),
)})`;
} else l('CMDispTooltipWarnUser').style.display = 'none';
} else l('CMDispTooltipWarnUser').style.display = 'none';

View File

@@ -1,7 +1,4 @@
import {
CacheWrinklersFattest,
CacheWrinklersTotal,
} from '../../../Cache/VariablesAndData';
import { CacheWrinklersFattest, CacheWrinklersTotal } from '../../../Cache/VariablesAndData';
import Beautify from '../../BeautifyAndFormatting/Beautify';
import { TooltipName } from '../../VariablesAndData';
import * as Create from '../CreateTooltip';

View File

@@ -35,10 +35,7 @@ export default function UpdateTooltips() {
HarvestAll();
} else if (TooltipType === 'wb') {
WrinklerButton();
} else if (
TooltipType === 'pag' ||
(TooltipType === 'pas' && TooltipName[1] !== -1)
) {
} else if (TooltipType === 'pag' || (TooltipType === 'pas' && TooltipName[1] !== -1)) {
PantheonGods();
}
Warnings();

View File

@@ -20,10 +20,7 @@ export function CheckWrinklerTooltip() {
const me = Game.wrinklers[i];
if (me.phase > 0 && me.selected) {
showingTooltip = true;
if (
TooltipWrinklerBeingShown[i] === 0 ||
TooltipWrinklerBeingShown[i] === undefined
) {
if (TooltipWrinklerBeingShown[i] === 0 || TooltipWrinklerBeingShown[i] === undefined) {
const placeholder = document.createElement('div');
const wrinkler = document.createElement('div');
wrinkler.style.minWidth = '120px';

View File

@@ -73,11 +73,7 @@ export const TooltipText = [
'The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg',
'300px',
],
[
'ChainNextLevelPlaceholder',
'Cheated cookies might break this formula',
'250px',
],
['ChainNextLevelPlaceholder', 'Cheated cookies might break this formula', '250px'],
[
'FavouriteSettingPlaceholder',
"Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings",

View File

@@ -11,8 +11,7 @@ export default function load(str) {
const save = JSON.parse(str);
InitData();
// The if-statement is a failsafe for old saves
if (typeof save.favouriteSettings !== 'undefined')
FavouriteSettings = save.favouriteSettings; // eslint-disable-line no-unused-vars
if (typeof save.favouriteSettings !== 'undefined') FavouriteSettings = save.favouriteSettings; // eslint-disable-line no-unused-vars
LoadConfig(save.settings);
if (save.version !== `${VersionMajor}.${VersionMinor}`) {
if (Game.prefs.popups)

View File

@@ -1,7 +1,4 @@
import {
CacheSpawnedGoldenShimmer,
CacheGoldenShimmersByID,
} from '../../Cache/VariablesAndData';
import { CacheSpawnedGoldenShimmer, CacheGoldenShimmersByID } from '../../Cache/VariablesAndData';
import { CMOptions } from '../../Config/VariablesAndData';
import CreateGCTimer from '../../Disp/GoldenCookieTimers/GoldenCookieTimers';
import Flash from '../../Disp/Notifications/Flash';
@@ -69,11 +66,8 @@ export default function CheckGoldenCookie() {
} else if (CMOptions.GCTimer === 1 && LastGoldenCookieState) {
Object.keys(GCTimers).forEach((i) => {
GCTimers[i].style.opacity = CacheGoldenShimmersByID[i].l.style.opacity;
GCTimers[i].style.transform =
CacheGoldenShimmersByID[i].l.style.transform;
GCTimers[i].textContent = Math.ceil(
CacheGoldenShimmersByID[i].life / Game.fps,
);
GCTimers[i].style.transform = CacheGoldenShimmersByID[i].l.style.transform;
GCTimers[i].textContent = Math.ceil(CacheGoldenShimmersByID[i].life / Game.fps);
});
}
}

View File

@@ -9,10 +9,7 @@ import { LastMagicBarFull } from '../VariablesAndData';
* It is called by CM.Main.Loop
*/
export default function CheckMagicMeter() {
if (
Game.Objects['Wizard tower'].minigameLoaded &&
CMOptions.GrimoireBar === 1
) {
if (Game.Objects['Wizard tower'].minigameLoaded && CMOptions.GrimoireBar === 1) {
const { minigame } = Game.Objects['Wizard tower'];
if (minigame.magic < minigame.magicM) LastMagicBarFull = false;
else if (!LastMagicBarFull) {

View File

@@ -9,20 +9,11 @@ import { LastTickerFortuneState } from '../VariablesAndData';
* It is called by CM.Main.Loop
*/
export default function CheckTickerFortune() {
if (
LastTickerFortuneState !==
(Game.TickerEffect && Game.TickerEffect.type === 'fortune')
) {
LastTickerFortuneState =
Game.TickerEffect && Game.TickerEffect.type === 'fortune';
if (LastTickerFortuneState !== (Game.TickerEffect && Game.TickerEffect.type === 'fortune')) {
LastTickerFortuneState = Game.TickerEffect && Game.TickerEffect.type === 'fortune';
if (LastTickerFortuneState) {
Flash(3, 'FortuneFlash', false);
PlaySound(
CMOptions.FortuneSoundURL,
'FortuneSound',
'FortuneVolume',
false,
);
PlaySound(CMOptions.FortuneSoundURL, 'FortuneSound', 'FortuneVolume', false);
CreateNotification(
'FortuneNotification',
'Fortune Cookie found',

View File

@@ -16,36 +16,17 @@ export default function CheckWrinklerCount() {
});
if (CurrentWrinklers > LastWrinklerCount) {
LastWrinklerCount = CurrentWrinklers;
if (
CurrentWrinklers === Game.getWrinklersMax() &&
CMOptions.WrinklerMaxFlash
) {
if (CurrentWrinklers === Game.getWrinklersMax() && CMOptions.WrinklerMaxFlash) {
Flash(3, 'WrinklerMaxFlash', false);
} else {
Flash(3, 'WrinklerFlash', false);
}
if (
CurrentWrinklers === Game.getWrinklersMax() &&
CMOptions.WrinklerMaxSound
) {
PlaySound(
CMOptions.WrinklerMaxSoundURL,
'WrinklerMaxSound',
'WrinklerMaxVolume',
false,
);
if (CurrentWrinklers === Game.getWrinklersMax() && CMOptions.WrinklerMaxSound) {
PlaySound(CMOptions.WrinklerMaxSoundURL, 'WrinklerMaxSound', 'WrinklerMaxVolume', false);
} else {
PlaySound(
CMOptions.WrinklerSoundURL,
'WrinklerSound',
'WrinklerVolume',
false,
);
PlaySound(CMOptions.WrinklerSoundURL, 'WrinklerSound', 'WrinklerVolume', false);
}
if (
CurrentWrinklers === Game.getWrinklersMax() &&
CMOptions.WrinklerMaxNotification
) {
if (CurrentWrinklers === Game.getWrinklersMax() && CMOptions.WrinklerMaxNotification) {
CreateNotification(
'WrinklerMaxNotification',
'Maximum Wrinklers Reached',

View File

@@ -40,11 +40,7 @@ export default function InitializeCookieMonster() {
CreateSectionHideButtons();
CreateFavicon();
Object.keys(TooltipText).forEach((i) => {
CreateSimpleTooltip(
TooltipText[i][0],
TooltipText[i][1],
TooltipText[i][2],
);
CreateSimpleTooltip(TooltipText[i][0], TooltipText[i][1], TooltipText[i][2]);
});
CreateWrinklerButtons();
UpdateBuildingUpgradeStyle();
@@ -61,17 +57,8 @@ export default function InitializeCookieMonster() {
CMLastAscendState = Game.OnAscend; // eslint-disable-line no-unused-vars
if (Game.prefs.popups)
Game.Popup(
`Cookie Monster version ${VersionMajor}.${VersionMinor} loaded!`,
);
else
Game.Notify(
`Cookie Monster version ${VersionMajor}.${VersionMinor} loaded!`,
'',
'',
1,
1,
);
Game.Popup(`Cookie Monster version ${VersionMajor}.${VersionMinor} loaded!`);
else Game.Notify(`Cookie Monster version ${VersionMajor}.${VersionMinor} loaded!`, '', '', 1, 1);
Game.Win('Third-party');
}

View File

@@ -4,22 +4,13 @@ import CacheNoGoldSwitchCPS from '../Cache/CPS/NoGoldSwitchCPS';
import CacheSellAllForChoEgg from '../Cache/CPS/SellChoEgg';
import CacheDragonCost from '../Cache/Dragon/Dragon';
import CachePantheonGods from '../Cache/PantheonGods/CacheGods';
import {
CacheBuildingsPrices,
CacheIncome,
} from '../Cache/PriceAndIncome/PriceAndIncome';
import { CacheBuildingsPrices, CacheIncome } from '../Cache/PriceAndIncome/PriceAndIncome';
import { CacheChain } from '../Cache/Stats/ChainCookies';
import CacheAllMissingUpgrades from '../Cache/Stats/MissingUpgrades';
import CacheSeasonSpec from '../Cache/Stats/Reindeer';
import {
CacheGoldenAndWrathCookiesMults,
CacheStatsCookies,
} from '../Cache/Stats/Stats';
import { CacheGoldenAndWrathCookiesMults, CacheStatsCookies } from '../Cache/Stats/Stats';
import AllAmountTillNextAchievement from '../Cache/TillNextAchievement/AllAmountTillNextAchievement';
import {
CacheDoRemakeBuildPrices,
CacheHadBuildAura,
} from '../Cache/VariablesAndData';
import { CacheDoRemakeBuildPrices, CacheHadBuildAura } from '../Cache/VariablesAndData';
import UpdateAscendState from '../Disp/HelperFunctions/UpdateAscendState';
import { LastAscendState } from '../Disp/VariablesAndData';
import InitData from '../Sim/InitializeData/InitData';

View File

@@ -14,21 +14,14 @@ import ReplaceTooltipGrimoire from './TooltipGrimoire';
* This function fixes replaces the .draw function of the Grimoire
*/
function ReplaceNativeGrimoireDraw() {
if (
!HasReplaceNativeGrimoireDraw &&
Game.Objects['Wizard tower'].minigameLoaded
) {
if (!HasReplaceNativeGrimoireDraw && Game.Objects['Wizard tower'].minigameLoaded) {
const { minigame } = Game.Objects['Wizard tower'];
BackupGrimoireDraw = minigame.draw;
Game.Objects['Wizard tower'].minigame.draw = function () {
BackupGrimoireDraw();
if (CMOptions.GrimoireBar === 1 && minigame.magic < minigame.magicM) {
minigame.magicBarTextL.innerHTML += ` (${FormatTime(
CalculateGrimoireRefillTime(
minigame.magic,
minigame.magicM,
minigame.magicM,
),
CalculateGrimoireRefillTime(minigame.magic, minigame.magicM, minigame.magicM),
)})`;
}
};
@@ -40,10 +33,7 @@ function ReplaceNativeGrimoireDraw() {
* This function fixes replaces the .launch function of the Grimoire
*/
function ReplaceNativeGrimoireLaunch() {
if (
!HasReplaceNativeGrimoireLaunch &&
Game.Objects['Wizard tower'].minigameLoaded
) {
if (!HasReplaceNativeGrimoireLaunch && Game.Objects['Wizard tower'].minigameLoaded) {
const { minigame } = Game.Objects['Wizard tower'];
BackupGrimoireLaunch = minigame.launch; // eslint-disable-line no-unused-vars
BackupGrimoireLaunchMod = new Function( // eslint-disable-line no-new-func

View File

@@ -6,21 +6,15 @@ import { TooltipGrimoireBackup } from '../VariablesAndData';
*/
export default function ReplaceTooltipGrimoire() {
if (Game.Objects['Wizard tower'].minigameLoaded) {
Object.keys(Game.Objects['Wizard tower'].minigame.spellsById).forEach(
(i) => {
Object.keys(Game.Objects['Wizard tower'].minigame.spellsById).forEach((i) => {
if (l(`grimoireSpell${i}`).onmouseover !== null) {
TooltipGrimoireBackup[i] = l(`grimoireSpell${i}`).onmouseover;
l(`grimoireSpell${i}`).onmouseover = function () {
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => CreateTooltip('g', `${i}`),
'this',
);
Game.tooltip.draw(this, () => CreateTooltip('g', `${i}`), 'this');
Game.tooltip.wobble();
};
}
},
);
});
}
}

View File

@@ -15,11 +15,7 @@ export default function ReplaceTooltipUpgrade() {
if (!Game.mouseDown) {
Game.setOnCrate(this);
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => CreateTooltip('u', `${i}`),
'store',
);
Game.tooltip.draw(this, () => CreateTooltip('u', `${i}`), 'store');
Game.tooltip.wobble();
}
};

View File

@@ -1,11 +1,7 @@
/** Functions related to replacing tooltips */
import { CreateTooltip } from '../../Disp/Tooltips/Tooltip';
import {
LoadMinigames,
TooltipBuildBackup,
TooltipLumpBackup,
} from '../VariablesAndData';
import { LoadMinigames, TooltipBuildBackup, TooltipLumpBackup } from '../VariablesAndData';
import ReplaceNativeGrimoire from './NativeGrimoire';
import ReplaceTooltipGrimoire from './TooltipGrimoire';
@@ -19,11 +15,7 @@ function ReplaceTooltipBuild() {
TooltipBuildBackup[i] = l(`product${me.id}`).onmouseover;
l(`product${me.id}`).onmouseover = function () {
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => CreateTooltip('b', `${i}`),
'store',
);
Game.tooltip.draw(this, () => CreateTooltip('b', `${i}`), 'store');
Game.tooltip.wobble();
};
}
@@ -38,11 +30,7 @@ function ReplaceTooltipLump() {
TooltipLumpBackup = l('lumps').onmouseover; // eslint-disable-line no-unused-vars
l('lumps').onmouseover = function () {
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => CreateTooltip('s', 'Lump'),
'this',
);
Game.tooltip.draw(this, () => CreateTooltip('s', 'Lump'), 'this');
Game.tooltip.wobble();
};
}
@@ -55,11 +43,7 @@ function ReplaceTooltipGarden() {
if (Game.Objects.Farm.minigameLoaded) {
l('gardenTool-1').onmouseover = function () {
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => CreateTooltip('ha', 'HarvestAllButton'),
'this',
);
Game.tooltip.draw(this, () => CreateTooltip('ha', 'HarvestAllButton'), 'this');
Game.tooltip.wobble();
};
Array.from(l('gardenPlot').children).forEach((child) => {
@@ -67,11 +51,7 @@ function ReplaceTooltipGarden() {
// eslint-disable-next-line no-param-reassign
child.onmouseover = function () {
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => CreateTooltip('p', [`${coords[0]}`, `${coords[2]}`]),
'this',
);
Game.tooltip.draw(this, () => CreateTooltip('p', [`${coords[0]}`, `${coords[2]}`]), 'this');
Game.tooltip.wobble();
};
});
@@ -83,11 +63,7 @@ function ReplaceTooltipPantheon() {
for (let i = 0; i < 11; i += 1) {
l(`templeGod${i}`).onmouseover = function () {
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => CreateTooltip('pag', i),
'this',
);
Game.tooltip.draw(this, () => CreateTooltip('pag', i), 'this');
Game.tooltip.wobble();
};
}
@@ -96,10 +72,7 @@ function ReplaceTooltipPantheon() {
Game.tooltip.dynamic = 1;
Game.tooltip.draw(
this,
() => CreateTooltip('pas', [
i,
Game.Objects.Temple.minigame.slot[i],
]),
() => CreateTooltip('pas', [i, Game.Objects.Temple.minigame.slot[i]]),
'this',
);
Game.tooltip.wobble();

View File

@@ -45,10 +45,7 @@ export default function ReplaceNative() {
BackupFunctions.tooltip.update = Game.tooltip.update;
BackupFunctions.tooltip.updateMod = new Function( // eslint-disable-line no-new-func
`return ${Game.tooltip.update
.toString()
.split('this.')
.join('Game.tooltip.')}`,
`return ${Game.tooltip.update.toString().split('this.').join('Game.tooltip.')}`,
)();
Game.tooltip.update = function () {
BackupFunctions.tooltip.updateMod();
@@ -119,10 +116,7 @@ export default function ReplaceNative() {
BackupFunctions.UpdateMenu = Game.UpdateMenu;
Game.UpdateMenu = function () {
if (
typeof jscolor.picker === 'undefined' ||
typeof jscolor.picker.owner === 'undefined'
) {
if (typeof jscolor.picker === 'undefined' || typeof jscolor.picker.owner === 'undefined') {
BackupFunctions.UpdateMenu();
AddMenu();
}
@@ -131,8 +125,7 @@ export default function ReplaceNative() {
BackupFunctions.sayTime = Game.sayTime;
// eslint-disable-next-line no-unused-vars
CMSayTime = function (time, detail) {
if (Number.isNaN(time) || time <= 0)
return BackupFunctions.sayTime(time, detail);
if (Number.isNaN(time) || time <= 0) return BackupFunctions.sayTime(time, detail);
return FormatTime(time / Game.fps, 1);
};

View File

@@ -1,7 +1,4 @@
import {
TooltipWrinklerArea,
TooltipWrinklerBeingShown,
} from '../../Disp/VariablesAndData';
import { TooltipWrinklerArea, TooltipWrinklerBeingShown } from '../../Disp/VariablesAndData';
/**
* This function creates .onmouseover/out events that determine if the mouse is hovering-over a Wrinkler

View File

@@ -1,9 +1,6 @@
import GetCPSBuffMult from '../../Cache/CPS/GetCPSBuffMult';
import { CacheCentEgg } from '../../Cache/VariablesAndData';
import {
CenturyDateAtBeginLoop,
CycliusDateAtBeginLoop,
} from '../../Main/VariablesAndData';
import { CenturyDateAtBeginLoop, CycliusDateAtBeginLoop } from '../../Main/VariablesAndData';
import SimAuraMult from '../ReplacedGameFunctions/SimAuraMult';
import SimEff from '../ReplacedGameFunctions/SimEff';
import SimGetHeavenlyMultiplier from '../ReplacedGameFunctions/SimGetHeavenlyMultiplier';
@@ -44,16 +41,11 @@ export default function CalculateGains() {
SimEffs = effs; // eslint-disable-line no-unused-vars
if (Game.ascensionMode !== 1)
mult +=
parseFloat(SimPrestige) *
0.01 *
SimHeavenlyPower *
SimGetHeavenlyMultiplier();
mult += parseFloat(SimPrestige) * 0.01 * SimHeavenlyPower * SimGetHeavenlyMultiplier();
mult *= SimEff('cps');
if (SimHas('Heralds') && Game.ascensionMode !== 1)
mult *= 1 + 0.01 * Game.heralds;
if (SimHas('Heralds') && Game.ascensionMode !== 1) mult *= 1 + 0.01 * Game.heralds;
Object.keys(Game.cookieUpgrades).forEach((i) => {
const me = Game.cookieUpgrades[i];
@@ -94,26 +86,11 @@ export default function CalculateGains() {
godLvl = SimHasGod('ages');
if (godLvl === 1)
mult *=
1 +
0.15 *
Math.sin(
(CycliusDateAtBeginLoop / 1000 / (60 * 60 * 3)) * Math.PI * 2,
);
mult *= 1 + 0.15 * Math.sin((CycliusDateAtBeginLoop / 1000 / (60 * 60 * 3)) * Math.PI * 2);
else if (godLvl === 2)
mult *=
1 +
0.15 *
Math.sin(
(CycliusDateAtBeginLoop / 1000 / (60 * 60 * 12)) * Math.PI * 2,
);
mult *= 1 + 0.15 * Math.sin((CycliusDateAtBeginLoop / 1000 / (60 * 60 * 12)) * Math.PI * 2);
else if (godLvl === 3)
mult *=
1 +
0.15 *
Math.sin(
(CycliusDateAtBeginLoop / 1000 / (60 * 60 * 24)) * Math.PI * 2,
);
mult *= 1 + 0.15 * Math.sin((CycliusDateAtBeginLoop / 1000 / (60 * 60 * 24)) * Math.PI * 2);
godLvl = SimHasGod('decadence');
if (godLvl === 1) buildMult *= 0.93;
@@ -151,35 +128,25 @@ export default function CalculateGains() {
if (SimHas('Kitten helpers')) catMult *= 1 + milkProgress * 0.1 * milkMult;
if (SimHas('Kitten workers')) catMult *= 1 + milkProgress * 0.125 * milkMult;
if (SimHas('Kitten engineers')) catMult *= 1 + milkProgress * 0.15 * milkMult;
if (SimHas('Kitten overseers'))
catMult *= 1 + milkProgress * 0.175 * milkMult;
if (SimHas('Kitten overseers')) catMult *= 1 + milkProgress * 0.175 * milkMult;
if (SimHas('Kitten managers')) catMult *= 1 + milkProgress * 0.2 * milkMult;
if (SimHas('Kitten accountants'))
catMult *= 1 + milkProgress * 0.2 * milkMult;
if (SimHas('Kitten specialists'))
catMult *= 1 + milkProgress * 0.2 * milkMult;
if (SimHas('Kitten accountants')) catMult *= 1 + milkProgress * 0.2 * milkMult;
if (SimHas('Kitten specialists')) catMult *= 1 + milkProgress * 0.2 * milkMult;
if (SimHas('Kitten experts')) catMult *= 1 + milkProgress * 0.2 * milkMult;
if (SimHas('Kitten consultants'))
catMult *= 1 + milkProgress * 0.2 * milkMult;
if (SimHas('Kitten consultants')) catMult *= 1 + milkProgress * 0.2 * milkMult;
if (SimHas('Kitten assistants to the regional manager'))
catMult *= 1 + milkProgress * 0.175 * milkMult;
if (SimHas('Kitten marketeers'))
catMult *= 1 + milkProgress * 0.15 * milkMult;
if (SimHas('Kitten marketeers')) catMult *= 1 + milkProgress * 0.15 * milkMult;
if (SimHas('Kitten analysts')) catMult *= 1 + milkProgress * 0.125 * milkMult;
if (SimHas('Kitten executives'))
catMult *= 1 + milkProgress * 0.115 * milkMult;
if (SimHas('Kitten executives')) catMult *= 1 + milkProgress * 0.115 * milkMult;
if (SimHas('Kitten angels')) catMult *= 1 + milkProgress * 0.1 * milkMult;
if (SimHas('Fortune #103')) catMult *= 1 + milkProgress * 0.05 * milkMult;
Object.keys(SimObjects).forEach((i) => {
const me = SimObjects[i];
let storedCps = me.cps(me);
if (Game.ascensionMode !== 1)
storedCps *= (1 + me.level * 0.01) * buildMult;
if (
me.name === 'Grandma' &&
SimHas('Milkhelp&reg; lactose intolerance relief tablets')
)
if (Game.ascensionMode !== 1) storedCps *= (1 + me.level * 0.01) * buildMult;
if (me.name === 'Grandma' && SimHas('Milkhelp&reg; lactose intolerance relief tablets'))
storedCps *= 1 + 0.05 * milkProgress * milkMult;
SimCookiesPs += me.amount * storedCps;
});
@@ -204,10 +171,7 @@ export default function CalculateGains() {
if (SimHas('Century egg')) {
// The boost increases a little every day, with diminishing returns up to +10% on the 100th day
let day =
(Math.floor((CenturyDateAtBeginLoop - Game.startDate) / 1000 / 10) * 10) /
60 /
60 /
24;
(Math.floor((CenturyDateAtBeginLoop - Game.startDate) / 1000 / 10) * 10) / 60 / 60 / 24;
day = Math.min(day, 100);
// Sets a Cache value to be displayed in the Stats page, could be moved...
CacheCentEgg = 1 + (1 - (1 - day / 100) ** 3) * 0.1;
@@ -222,8 +186,7 @@ export default function CalculateGains() {
const rawCookiesPs = SimCookiesPs * mult;
Object.keys(Game.CpsAchievements).forEach((i) => {
if (rawCookiesPs >= Game.CpsAchievements[i].threshold)
SimWin(Game.CpsAchievements[i].name);
if (rawCookiesPs >= Game.CpsAchievements[i].threshold) SimWin(Game.CpsAchievements[i].name);
});
SimCookiesPsRaw = rawCookiesPs; // eslint-disable-line no-unused-vars

View File

@@ -32,11 +32,7 @@ export default function CheckOtherAchiev() {
mathematician = 0;
}
if (!SimHasAchiev('Base 10')) {
if (
SimObjects[i].amount <
(Game.ObjectsById.length - Game.Objects[i].id) * 10
)
base10 = 0;
if (SimObjects[i].amount < (Game.ObjectsById.length - Game.Objects[i].id) * 10) base10 = 0;
}
});
if (minAmount >= 1) SimWin('One with everything');
@@ -69,11 +65,9 @@ export default function CheckOtherAchiev() {
if (SimUpgradesOwned >= 400) SimWin("When there's nothing left to add");
if (buildingsOwned >= 4000 && SimUpgradesOwned >= 300) SimWin('Polymath');
if (buildingsOwned >= 8000 && SimUpgradesOwned >= 400)
SimWin('Renaissance baker');
if (buildingsOwned >= 8000 && SimUpgradesOwned >= 400) SimWin('Renaissance baker');
if (SimObjects.Cursor.amount + SimObjects.Grandma.amount >= 777)
SimWin('The elder scrolls');
if (SimObjects.Cursor.amount + SimObjects.Grandma.amount >= 777) SimWin('The elder scrolls');
let hasAllHalloCook = true;
Object.keys(HalloCookies).forEach((i) => {

View File

@@ -70,8 +70,7 @@ export default function InitialBuildingData(buildingName) {
let add = 0;
if (SimHas('One mind')) add += SimObjects.Grandma.amount * 0.02;
if (SimHas('Communal brainsweep'))
add += SimObjects.Grandma.amount * 0.02;
if (SimHas('Communal brainsweep')) add += SimObjects.Grandma.amount * 0.02;
if (SimHas('Elder Pact')) add += SimObjects.Portal.amount * 0.05;
let num = 0;

View File

@@ -7,19 +7,14 @@ import SimHas from './SimHas';
export default function SimGetTieredCpsMult(me) {
let mult = 1;
Object.keys(me.tieredUpgrades).forEach((i) => {
if (
!Game.Tiers[me.tieredUpgrades[i].tier].special &&
SimHas(me.tieredUpgrades[i].name)
)
if (!Game.Tiers[me.tieredUpgrades[i].tier].special && SimHas(me.tieredUpgrades[i].name))
mult *= 2;
});
Object.keys(me.synergies).forEach((i) => {
if (SimHas(me.synergies[i].name)) {
const syn = me.synergies[i];
if (syn.buildingTie1.name === me.name)
mult *= 1 + 0.05 * syn.buildingTie2.amount;
else if (syn.buildingTie2.name === me.name)
mult *= 1 + 0.001 * syn.buildingTie1.amount;
if (syn.buildingTie1.name === me.name) mult *= 1 + 0.05 * syn.buildingTie2.amount;
else if (syn.buildingTie2.name === me.name) mult *= 1 + 0.001 * syn.buildingTie1.amount;
}
});
if (me.fortune && SimHas(me.fortune.name)) mult *= 1.07;

View File

@@ -5,10 +5,6 @@ import { SimUpgrades } from '../VariablesAndData';
*/
export default function SimHas(what) {
const it = SimUpgrades[what];
if (
Game.ascensionMode === 1 &&
(it.pool === 'prestige' || it.tier === 'fortune')
)
return 0;
if (Game.ascensionMode === 1 && (it.pool === 'prestige' || it.tier === 'fortune')) return 0;
return it ? it.bought : 0;
}

View File

@@ -1,7 +1,4 @@
import {
CacheDragonAura,
CacheDragonAura2,
} from '../../Cache/VariablesAndData';
import { CacheDragonAura, CacheDragonAura2 } from '../../Cache/VariablesAndData';
import CalculateGains from '../Calculations/CalculateGains';
import CheckOtherAchiev from '../Calculations/CheckOtherAchiev';
import CopyData from '../SimulationData/CopyData';
@@ -24,18 +21,13 @@ export default function CalculateChangeAura(aura) {
CopyData();
// Check if aura being changed is first or second aura
const auraToBeChanged = l('promptContent').children[0].innerHTML.includes(
'secondary',
);
const auraToBeChanged = l('promptContent').children[0].innerHTML.includes('secondary');
if (auraToBeChanged) SimDragonAura2 = aura;
else SimDragonAura = aura;
// Sell highest building but only if aura is different
let price = 0;
if (
SimDragonAura !== CacheDragonAura ||
SimDragonAura2 !== CacheDragonAura2
) {
if (SimDragonAura !== CacheDragonAura || SimDragonAura2 !== CacheDragonAura2) {
for (let i = Game.ObjectsById.length - 1; i > -1; --i) {
if (Game.ObjectsById[i].amount > 0) {
const highestBuilding = SimObjects[Game.ObjectsById[i].name].name;
@@ -44,12 +36,7 @@ export default function CalculateChangeAura(aura) {
price =
SimObjects[highestBuilding].basePrice *
Game.priceIncrease **
Math.max(
0,
SimObjects[highestBuilding].amount -
1 -
SimObjects[highestBuilding].free,
);
Math.max(0, SimObjects[highestBuilding].amount - 1 - SimObjects[highestBuilding].free);
price = Game.modifyBuildingPrice(SimObjects[highestBuilding], price);
price = Math.ceil(price);
break;

View File

@@ -9,18 +9,11 @@
* @param {number} increase Increase of building
* @returns {number} moni Total price
*/
export default function BuildingGetPrice(
build,
basePrice,
start,
free,
increase,
) {
export default function BuildingGetPrice(build, basePrice, start, free, increase) {
let startingAmount = start;
let moni = 0;
for (let i = 0; i < increase; i += 1) {
let price =
basePrice * Game.priceIncrease ** Math.max(0, startingAmount - free);
let price = basePrice * Game.priceIncrease ** Math.max(0, startingAmount - free);
price = Game.modifyBuildingPrice(build, price);
price = Math.ceil(price);
moni += price;

View File

@@ -2,11 +2,7 @@ import CalculateGains from '../Calculations/CalculateGains';
import CheckOtherAchiev from '../Calculations/CheckOtherAchiev';
import CopyData from '../SimulationData/CopyData';
import SimWin from '../SimulationData/SimWin';
import {
SimAchievementsOwned,
SimCookiesPs,
SimObjects,
} from '../VariablesAndData';
import { SimAchievementsOwned, SimCookiesPs, SimObjects } from '../VariablesAndData';
/**
* This function calculates the bonus income of buying a building
@@ -34,10 +30,7 @@ export default function BuyBuildingsBonusIncome(building, amount) {
if (me.amount >= 800) SimWin("The devil's workshop");
} else {
Object.keys(Game.Objects[me.name].tieredAchievs).forEach((j) => {
if (
me.amount >=
Game.Tiers[Game.Objects[me.name].tieredAchievs[j].tier].achievUnlock
) {
if (me.amount >= Game.Tiers[Game.Objects[me.name].tieredAchievs[j].tier].achievUnlock) {
SimWin(Game.Objects[me.name].tieredAchievs[j].name);
}
});

View File

@@ -63,13 +63,7 @@ function MouseCps() {
if (SimHas('Dragon claw')) mult *= 1.03;
if (SimHas('Aura gloves')) {
mult *=
1 +
0.05 *
Math.min(
Game.Objects.Cursor.level,
SimHas('Luminous gloves') ? 20 : 10,
);
mult *= 1 + 0.05 * Math.min(Game.Objects.Cursor.level, SimHas('Luminous gloves') ? 20 : 10);
}
mult *= SimEff('click');
@@ -83,8 +77,7 @@ function MouseCps() {
}
Object.keys(Game.buffs).forEach((i) => {
if (typeof Game.buffs[i].multClick !== 'undefined')
mult *= Game.buffs[i].multClick;
if (typeof Game.buffs[i].multClick !== 'undefined') mult *= Game.buffs[i].multClick;
});
// if (CM.Sim.auraMult('Dragon Cursor')) mult*=1.05;
@@ -129,8 +122,7 @@ export default function BuyUpgradesBonusIncome(upgrade) {
} else {
SimUpgrades[upgrade].bought = (SimUpgrades[upgrade].bought + 1) % 2;
}
if (Game.CountsAsUpgradeOwned(Game.Upgrades[upgrade].pool))
SimUpgradesOwned += 1; // eslint-disable-line no-unused-vars
if (Game.CountsAsUpgradeOwned(Game.Upgrades[upgrade].pool)) SimUpgradesOwned += 1; // eslint-disable-line no-unused-vars
if (upgrade === 'Elder Pledge') {
SimPledges += 1;

View File

@@ -1,13 +1,7 @@
import CalculateGains from '../Calculations/CalculateGains';
import CheckOtherAchiev from '../Calculations/CheckOtherAchiev';
import CopyData from '../SimulationData/CopyData';
import {
SimAchievementsOwned,
SimCookiesPs,
SimGod1,
SimGod2,
SimGod3,
} from '../VariablesAndData';
import { SimAchievementsOwned, SimCookiesPs, SimGod1, SimGod2, SimGod3 } from '../VariablesAndData';
/**
* This functions calculates the cps and cost of changing a Dragon Aura

View File

@@ -3,12 +3,7 @@ import CalculateGains from '../Calculations/CalculateGains';
import CheckOtherAchiev from '../Calculations/CheckOtherAchiev';
import CopyData from '../SimulationData/CopyData';
import SimWin from '../SimulationData/SimWin';
import {
SimAchievementsOwned,
SimCookiesPs,
SimPrestige,
SimUpgrades,
} from '../VariablesAndData';
import { SimAchievementsOwned, SimCookiesPs, SimPrestige, SimUpgrades } from '../VariablesAndData';
/**
* This function calculates the cookies per click difference betwene current and after a ascension
@@ -41,37 +36,23 @@ export default function ResetBonus(newHeavenlyChips) {
if (CacheRealCookiesEarned >= 1000000000000) SimWin('From scratch');
if (CacheRealCookiesEarned >= 1000000000000000) SimWin('Nihilism');
if (CacheRealCookiesEarned >= 1000000000000000000) SimWin('Dematerialize');
if (CacheRealCookiesEarned >= 1000000000000000000000)
SimWin('Nil zero zilch');
if (CacheRealCookiesEarned >= 1000000000000000000000000)
SimWin('Transcendence');
if (CacheRealCookiesEarned >= 1000000000000000000000000000)
SimWin('Obliterate');
if (CacheRealCookiesEarned >= 1000000000000000000000000000000)
SimWin('Negative void');
if (CacheRealCookiesEarned >= 1000000000000000000000000000000000)
SimWin('To crumbs, you say?');
if (CacheRealCookiesEarned >= 1000000000000000000000000000000000000)
SimWin('You get nothing');
if (CacheRealCookiesEarned >= 1000000000000000000000) SimWin('Nil zero zilch');
if (CacheRealCookiesEarned >= 1000000000000000000000000) SimWin('Transcendence');
if (CacheRealCookiesEarned >= 1000000000000000000000000000) SimWin('Obliterate');
if (CacheRealCookiesEarned >= 1000000000000000000000000000000) SimWin('Negative void');
if (CacheRealCookiesEarned >= 1000000000000000000000000000000000) SimWin('To crumbs, you say?');
if (CacheRealCookiesEarned >= 1000000000000000000000000000000000000) SimWin('You get nothing');
if (CacheRealCookiesEarned >= 1000000000000000000000000000000000000000)
SimWin('Humble rebeginnings');
if (CacheRealCookiesEarned >= 1000000000000000000000000000000000000000000)
SimWin('The end of the world');
if (CacheRealCookiesEarned >= 1000000000000000000000000000000000000000000000)
SimWin("Oh, you're back");
if (
CacheRealCookiesEarned >= 1000000000000000000000000000000000000000000000000
)
if (CacheRealCookiesEarned >= 1000000000000000000000000000000000000000000000000)
SimWin('Lazarus');
if (
CacheRealCookiesEarned >=
1000000000000000000000000000000000000000000000000000
)
if (CacheRealCookiesEarned >= 1000000000000000000000000000000000000000000000000000)
SimWin('Smurf account');
if (
CacheRealCookiesEarned >=
1000000000000000000000000000000000000000000000000000000
)
if (CacheRealCookiesEarned >= 1000000000000000000000000000000000000000000000000000000)
SimWin("If at first you don't succeed");
SimUpgrades['Heavenly chip secret'].bought = 1;

View File

@@ -12,14 +12,7 @@ import SimModifyBuildingPrice from '../ReplacedGameFunctions/SimModifyBuidlingPr
* @param {number} noSim 1 of 0 depending on if function is called from CM.Sim
* @returns {number} moni Total price gained
*/
export default function BuildingSell(
build,
basePrice,
start,
free,
amount,
noSim,
) {
export default function BuildingSell(build, basePrice, start, free, amount, noSim) {
// Calculate money gains from selling buildings
// If noSim is set, use Game methods to compute price instead of Sim ones.
const noSimRes = typeof noSim === 'undefined' ? 0 : noSim;
@@ -29,15 +22,12 @@ export default function BuildingSell(
if (amount === -1) toChange = startingAmount;
if (!amount) toChange = Game.buyBulk;
for (let i = 0; i < toChange; i++) {
let price =
basePrice * Game.priceIncrease ** Math.max(0, startingAmount - free);
let price = basePrice * Game.priceIncrease ** Math.max(0, startingAmount - free);
price = noSimRes
? Game.modifyBuildingPrice(build, price)
: SimModifyBuildingPrice(build, price);
price = Math.ceil(price);
const giveBack = noSimRes
? build.getSellMultiplier()
: SimGetSellMultiplier();
const giveBack = noSimRes ? build.getSellMultiplier() : SimGetSellMultiplier();
price = Math.floor(price * giveBack);
if (startingAmount > 0) {
moni += price;

View File

@@ -1,10 +1,5 @@
import CopyData from '../SimulationData/CopyData';
import {
SimBuildingsOwned,
SimDragonAura,
SimDragonAura2,
SimObjects,
} from '../VariablesAndData';
import { SimBuildingsOwned, SimDragonAura, SimDragonAura2, SimObjects } from '../VariablesAndData';
import BuildingSell from './SellBuilding';
/**

View File

@@ -55,16 +55,10 @@ describe('FormatTime', () => {
assert.equal(FormatTime(3601, 1), '1 hour, 0 minutes, 1 second');
});
it('Format when time is over 1 day', () => {
assert.equal(
FormatTime(86401, 1),
'1 day, 0 hours, 0 minutes, 1 second',
);
assert.equal(FormatTime(86401, 1), '1 day, 0 hours, 0 minutes, 1 second');
});
it('Format when time is over 1 year', () => {
assert.equal(
FormatTime(31536001, 1),
'1 year, 0 days, 0 hours, 0 minutes, 1 second',
);
assert.equal(FormatTime(31536001, 1), '1 year, 0 days, 0 hours, 0 minutes, 1 second');
});
it('Format when time is over >9000 days', () => {
assert.equal(FormatTime(777600001, 1), 'Over 9000 days!');

View File

@@ -4,6 +4,6 @@
"noImplicitAny": true,
"sourceMap": true,
"target": "ES6",
"strictNullChecks": true,
"strictNullChecks": true
}
}