Optimize & fix LeftTillNext calculation #805 #832

This commit is contained in:
Daniël van Noord
2021-05-30 10:55:42 +02:00
parent fcbf1b2377
commit 734f3c38c2
3 changed files with 18 additions and 4 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

@@ -3,11 +3,25 @@ import { SimAchievementsOwned } from '../../Sim/VariablesAndData';
export default function IndividualAmountTillNextAchievement(building) { export default function IndividualAmountTillNextAchievement(building) {
const AchievementsAtStart = Game.AchievementsOwned; const AchievementsAtStart = Game.AchievementsOwned;
for (let index = 0; index < 101; index++) { let index = 100;
let lastIndexWithChange = 100;
while (index > -1) {
BuyBuildingsBonusIncome(building, index);
if (SimAchievementsOwned > AchievementsAtStart) {
lastIndexWithChange = index;
index -= 10;
} else if (index === 100) {
return 101;
} else {
index += 1;
while (index <= lastIndexWithChange) {
BuyBuildingsBonusIncome(building, index); BuyBuildingsBonusIncome(building, index);
if (SimAchievementsOwned > AchievementsAtStart) { if (SimAchievementsOwned > AchievementsAtStart) {
return index; return index;
} }
index += 1;
}
}
} }
return 101; return 101;
} }