Merge pull request #804 from DanielNoord/bugfixes

Fix issues with "till next achievement"
This commit is contained in:
Daniël van Noord
2021-05-06 21:54:52 +02:00
committed by GitHub
5 changed files with 18 additions and 6 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -4,6 +4,7 @@ import CacheAvgCPS from './CPS/CPS';
import CacheCurrWrinklerCPS from './CPS/CurrWrinklerCPS'; import CacheCurrWrinklerCPS from './CPS/CurrWrinklerCPS';
import CachePP from './PP/PP'; import CachePP from './PP/PP';
import CacheHeavenlyChipsPS from './Stats/HeavenlyChips'; import CacheHeavenlyChipsPS from './Stats/HeavenlyChips';
import AllAmountTillNextAchievement from './TillNextAchievement/AllAmountTillNextAchievement';
import { CacheTimeTillNextPrestige } from './VariablesAndData'; // eslint-disable-line no-unused-vars import { CacheTimeTillNextPrestige } from './VariablesAndData'; // eslint-disable-line no-unused-vars
import CacheWrinklers from './Wrinklers/Wrinklers'; import CacheWrinklers from './Wrinklers/Wrinklers';
@@ -16,6 +17,7 @@ export default function LoopCache() {
CacheWrinklers(); CacheWrinklers();
CachePP(); CachePP();
AllAmountTillNextAchievement(false);
CacheCurrWrinklerCPS(); CacheCurrWrinklerCPS();
CacheAvgCPS(); CacheAvgCPS();
CacheHeavenlyChipsPS(); CacheHeavenlyChipsPS();

View File

@@ -1,23 +1,34 @@
import { CacheObjectsNextAchievement } from '../VariablesAndData'; import { CacheObjectsNextAchievement } from '../VariablesAndData';
import IndividualAmountTillNextAchievement from './IndividualAmountTillNextAchievement'; import IndividualAmountTillNextAchievement from './IndividualAmountTillNextAchievement';
export default function AllAmountTillNextAchievement() { /**
* This functions caches the amount of buildings needed till next achievement
* @param {boolean} forceRecalc Whether a recalcution should be forced (after CPS change)
*/
export default function AllAmountTillNextAchievement(forceRecalc) {
const result = {}; const result = {};
Object.keys(Game.Objects).forEach((i) => { Object.keys(Game.Objects).forEach((i) => {
if ( if (
Object.keys(CacheObjectsNextAchievement).length !== 0 && Object.keys(CacheObjectsNextAchievement).length !== 0 &&
CacheObjectsNextAchievement[i].TotalNeeded > Game.Objects[i].amount CacheObjectsNextAchievement[i].TotalNeeded > Game.Objects[i].amount &&
!forceRecalc
) { ) {
result[i] = { result[i] = {
AmountNeeded: CacheObjectsNextAchievement[i].TotalNeeded - Game.Objects[i].amount, AmountNeeded: CacheObjectsNextAchievement[i].TotalNeeded - Game.Objects[i].amount,
TotalNeeded: CacheObjectsNextAchievement[i].TotalNeeded, TotalNeeded: CacheObjectsNextAchievement[i].TotalNeeded,
price: Game.Objects[i].getSumPrice(
CacheObjectsNextAchievement[i].TotalNeeded - Game.Objects[i].amount,
),
}; };
} else { } else {
const tillNext = IndividualAmountTillNextAchievement(i); const tillNext = IndividualAmountTillNextAchievement(i);
result[i] = { result[i] = {
AmountNeeded: tillNext, AmountNeeded: tillNext,
TotalNeeded: Game.Objects[i].amount + tillNext, TotalNeeded: Game.Objects[i].amount + tillNext,
price: Game.Objects[i].getSumPrice(
Game.Objects[i].amount + tillNext - Game.Objects[i].amount,
),
}; };
} }
}); });

View File

@@ -42,8 +42,7 @@ export default function CMLoopHook() {
// CM.Sim.DoSims is set whenever CPS has changed // CM.Sim.DoSims is set whenever CPS has changed
if (SimDoSims) { if (SimDoSims) {
AllAmountTillNextAchievement(); AllAmountTillNextAchievement(true);
CacheIncome(); CacheIncome();
CacheNoGoldSwitchCPS(); // Needed first CacheNoGoldSwitchCPS(); // Needed first