Files
CookieMonster/src/Disp/Tooltips/WrinklerTooltips.js
Daniël van Noord 1c8bd79640 Fixed linting issues
2021-05-01 22:43:02 +02:00

69 lines
2.5 KiB
JavaScript

import { CMOptions } from '../../Config/VariablesAndData';
import { SimObjects } from '../../Sim/VariablesAndData';
import Beautify from '../BeautifyAndFormatting/Beautify';
import {
TooltipWrinkler,
TooltipWrinklerArea,
TooltipWrinklerBeingShown,
} from '../VariablesAndData';
/**
* This function checks and create a tooltip for the wrinklers
* It is called by CM.Disp.Draw()
* As wrinklers are not appended to the DOM we us a different system than for other tooltips
*/
export function CheckWrinklerTooltip() {
if (CMOptions.TooltipWrink === 1 && TooltipWrinklerArea === 1) {
// Latter is set by CM.Main.AddWrinklerAreaDetect
let showingTooltip = false;
Object.keys(Game.wrinklers).forEach((i) => {
const me = Game.wrinklers[i];
if (me.phase > 0 && me.selected) {
showingTooltip = true;
if (TooltipWrinklerBeingShown[i] === 0 || TooltipWrinklerBeingShown[i] === undefined) {
const placeholder = document.createElement('div');
const wrinkler = document.createElement('div');
wrinkler.style.minWidth = '120px';
wrinkler.style.marginBottom = '4px';
const div = document.createElement('div');
div.style.textAlign = 'center';
div.id = 'CMTooltipWrinkler';
wrinkler.appendChild(div);
placeholder.appendChild(wrinkler);
Game.tooltip.draw(this, escape(placeholder.innerHTML));
TooltipWrinkler = i;
TooltipWrinklerBeingShown[i] = 1;
}
} else {
TooltipWrinklerBeingShown[i] = 0;
}
});
if (!showingTooltip) {
Game.tooltip.hide();
}
}
}
/**
* This function updates the amount to be displayed by the wrinkler tooltip created by CM.Disp.CheckWrinklerTooltip()
* It is called by CM.Disp.Draw()
* As wrinklers are not appended to the DOM we us a different system than for other tooltips
*/
export function UpdateWrinklerTooltip() {
if (CMOptions.TooltipWrink === 1 && l('CMTooltipWrinkler') !== null) {
let { sucked } = Game.wrinklers[TooltipWrinkler];
let toSuck = 1.1;
if (Game.Has('Sacrilegious corruption')) toSuck *= 1.05;
if (Game.wrinklers[TooltipWrinkler].type === 1) toSuck *= 3; // Shiny wrinklers
sucked *= toSuck;
if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
if (SimObjects.Temple.minigameLoaded) {
const godLvl = Game.hasGod('scorn');
if (godLvl === 1) sucked *= 1.15;
else if (godLvl === 2) sucked *= 1.1;
else if (godLvl === 3) sucked *= 1.05;
}
l('CMTooltipWrinkler').textContent = Beautify(sucked);
}
}