Improved building tooltip #766

This commit is contained in:
Daniël van Noord
2021-04-11 22:04:58 +02:00
parent 62dea78e65
commit 1545d9782b
7 changed files with 43 additions and 8 deletions

View File

@@ -192,7 +192,7 @@ export function TooltipCreateCalculationSection(tooltip) {
}
if (TooltipType === 'b') {
tooltip.appendChild(
TooltipCreateHeader('Buildings left till next additional achievement'),
TooltipCreateHeader('Buildings (price / PP) left till next achievement'),
);
tooltip.lastChild.id = 'CMTooltipNextAchievementHeader'; // eslint-disable-line no-param-reassign
const production = document.createElement('div');

View File

@@ -1,3 +1,4 @@
import ColourOfPP from '../../../Cache/PP/ColourOfPP';
import {
CacheObjects1,
CacheObjects10,
@@ -5,6 +6,7 @@ import {
CacheObjectsNextAchievement,
} from '../../../Cache/VariablesAndData';
import { CMOptions } from '../../../Config/VariablesAndData';
import BuyBuildingsBonusIncome from '../../../Sim/SimulationEvents/BuyBuildingBonusIncome';
import { SimObjects } from '../../../Sim/VariablesAndData';
import {
Beautify,
@@ -101,13 +103,36 @@ export default function Building() {
}
}
if (CacheObjectsNextAchievement[TooltipName].AmountNeeded < 101) {
const ObjectsTillNext = CacheObjectsNextAchievement[TooltipName];
if (ObjectsTillNext.AmountNeeded < 101) {
l('CMTooltipProductionLeft').style.marginBottom = '4px';
l('CMTooltipNextAchievementHeader').style.display = '';
l('CMTooltipNextAchievement').textContent = Beautify(
CacheObjectsNextAchievement[TooltipName].AmountNeeded,
);
let PPOfAmount;
if (Game.cookiesPs) {
PPOfAmount =
Math.max(
ObjectsTillNext.price - (Game.cookies + GetWrinkConfigBank()),
0,
) /
Game.cookiesPs +
ObjectsTillNext.price /
BuyBuildingsBonusIncome(TooltipName, ObjectsTillNext.AmountNeeded);
} else
PPOfAmount =
ObjectsTillNext.price /
BuyBuildingsBonusIncome(TooltipName, ObjectsTillNext.AmountNeeded);
l('CMTooltipNextAchievement').textContent = `${Beautify(
ObjectsTillNext.AmountNeeded,
)} / ${Beautify(ObjectsTillNext.price)} / `;
l('CMTooltipNextAchievement').style.color = 'white';
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);
l('CMTooltipNextAchievement').appendChild(PPFrag);
} else {
l('CMTooltipNextAchievementHeader').style.display = 'none';
l('CMTooltipProductionLeft').style.marginBottom = '0px';