131 lines
3.5 KiB
JavaScript
131 lines
3.5 KiB
JavaScript
/** Functions related to replacing tooltips */
|
|
|
|
import { CreateTooltip } from '../../Disp/Tooltips/Tooltip';
|
|
import {
|
|
LoadMinigames,
|
|
TooltipBuildBackup,
|
|
TooltipLumpBackup,
|
|
} from '../VariablesAndData';
|
|
import ReplaceNativeGrimoire from './NativeGrimoire';
|
|
import ReplaceTooltipGrimoire from './TooltipGrimoire';
|
|
|
|
/**
|
|
* This function replaces the original .onmouseover functions of buildings
|
|
*/
|
|
function ReplaceTooltipBuild() {
|
|
Object.keys(Game.Objects).forEach((i) => {
|
|
const me = Game.Objects[i];
|
|
if (l(`product${me.id}`).onmouseover !== null) {
|
|
TooltipBuildBackup[i] = l(`product${me.id}`).onmouseover;
|
|
l(`product${me.id}`).onmouseover = function () {
|
|
Game.tooltip.dynamic = 1;
|
|
Game.tooltip.draw(
|
|
this,
|
|
() => CreateTooltip('b', `${i}`),
|
|
'store',
|
|
);
|
|
Game.tooltip.wobble();
|
|
};
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* This function replaces the original .onmouseover functions of sugar lumps
|
|
*/
|
|
function ReplaceTooltipLump() {
|
|
if (Game.canLumps()) {
|
|
TooltipLumpBackup = l('lumps').onmouseover; // eslint-disable-line no-unused-vars
|
|
l('lumps').onmouseover = function () {
|
|
Game.tooltip.dynamic = 1;
|
|
Game.tooltip.draw(
|
|
this,
|
|
() => CreateTooltip('s', 'Lump'),
|
|
'this',
|
|
);
|
|
Game.tooltip.wobble();
|
|
};
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function replaces the original .onmouseover functions of all garden plants
|
|
*/
|
|
function ReplaceTooltipGarden() {
|
|
if (Game.Objects.Farm.minigameLoaded) {
|
|
l('gardenTool-1').onmouseover = function () {
|
|
Game.tooltip.dynamic = 1;
|
|
Game.tooltip.draw(
|
|
this,
|
|
() => CreateTooltip('ha', 'HarvestAllButton'),
|
|
'this',
|
|
);
|
|
Game.tooltip.wobble();
|
|
};
|
|
Array.from(l('gardenPlot').children).forEach((child) => {
|
|
const coords = child.id.slice(-3);
|
|
// eslint-disable-next-line no-param-reassign
|
|
child.onmouseover = function () {
|
|
Game.tooltip.dynamic = 1;
|
|
Game.tooltip.draw(
|
|
this,
|
|
() => CreateTooltip('p', [`${coords[0]}`, `${coords[2]}`]),
|
|
'this',
|
|
);
|
|
Game.tooltip.wobble();
|
|
};
|
|
});
|
|
}
|
|
}
|
|
|
|
function ReplaceTooltipPantheon() {
|
|
if (Game.Objects.Temple.minigameLoaded) {
|
|
for (let i = 0; i < 11; i += 1) {
|
|
l(`templeGod${i}`).onmouseover = function () {
|
|
Game.tooltip.dynamic = 1;
|
|
Game.tooltip.draw(
|
|
this,
|
|
() => CreateTooltip('pag', i),
|
|
'this',
|
|
);
|
|
Game.tooltip.wobble();
|
|
};
|
|
}
|
|
for (let i = 0; i < 3; i += 1) {
|
|
l(`templeSlot${i}`).onmouseover = function () {
|
|
Game.tooltip.dynamic = 1;
|
|
Game.tooltip.draw(
|
|
this,
|
|
() => CreateTooltip('pas', [
|
|
i,
|
|
Game.Objects.Temple.minigame.slot[i],
|
|
]),
|
|
'this',
|
|
);
|
|
Game.tooltip.wobble();
|
|
};
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function call all functions that replace Game-tooltips with Cookie Monster enhanced tooltips
|
|
*/
|
|
export default function ReplaceTooltips() {
|
|
ReplaceTooltipBuild();
|
|
ReplaceTooltipLump();
|
|
|
|
// Replace Tooltips of Minigames. Nesting it in LoadMinigames makes sure to replace them even if
|
|
// they were not loaded initially
|
|
// eslint-disable-next-line prefer-destructuring
|
|
LoadMinigames = Game.LoadMinigames;
|
|
Game.LoadMinigames = function () {
|
|
LoadMinigames();
|
|
ReplaceTooltipGarden();
|
|
ReplaceTooltipGrimoire();
|
|
ReplaceTooltipPantheon();
|
|
ReplaceNativeGrimoire();
|
|
};
|
|
Game.LoadMinigames();
|
|
}
|