69 lines
2.5 KiB
JavaScript
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);
|
|
}
|
|
}
|