74 lines
2.2 KiB
JavaScript
74 lines
2.2 KiB
JavaScript
import { CMOptions } from '../../Config/VariablesAndData';
|
|
import { FormatTime } from '../../Disp/BeautifyAndFormatting/BeautifyFormatting';
|
|
|
|
import CalculateGrimoireRefillTime from '../../Disp/HelperFunctions/CalculateGrimoireRefillTime';
|
|
import {
|
|
BackupGrimoireDraw,
|
|
BackupGrimoireLaunch,
|
|
BackupGrimoireLaunchMod,
|
|
HasReplaceNativeGrimoireDraw,
|
|
HasReplaceNativeGrimoireLaunch,
|
|
} from '../VariablesAndData';
|
|
import ReplaceTooltipGrimoire from './TooltipGrimoire';
|
|
|
|
/**
|
|
* This function fixes replaces the .draw function of the Grimoire
|
|
*/
|
|
function ReplaceNativeGrimoireDraw() {
|
|
if (
|
|
!HasReplaceNativeGrimoireDraw &&
|
|
Game.Objects['Wizard tower'].minigameLoaded
|
|
) {
|
|
const { minigame } = Game.Objects['Wizard tower'];
|
|
BackupGrimoireDraw = minigame.draw;
|
|
Game.Objects['Wizard tower'].minigame.draw = function () {
|
|
BackupGrimoireDraw();
|
|
if (CMOptions.GrimoireBar === 1 && minigame.magic < minigame.magicM) {
|
|
minigame.magicBarTextL.innerHTML += ` (${FormatTime(
|
|
CalculateGrimoireRefillTime(
|
|
minigame.magic,
|
|
minigame.magicM,
|
|
minigame.magicM,
|
|
),
|
|
)})`;
|
|
}
|
|
};
|
|
HasReplaceNativeGrimoireDraw = true;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function fixes replaces the .launch function of the Grimoire
|
|
*/
|
|
function ReplaceNativeGrimoireLaunch() {
|
|
if (
|
|
!HasReplaceNativeGrimoireLaunch &&
|
|
Game.Objects['Wizard tower'].minigameLoaded
|
|
) {
|
|
const { minigame } = Game.Objects['Wizard tower'];
|
|
BackupGrimoireLaunch = minigame.launch; // eslint-disable-line no-unused-vars
|
|
BackupGrimoireLaunchMod = new Function( // eslint-disable-line no-new-func
|
|
`return ${minigame.launch
|
|
.toString()
|
|
.split('=this')
|
|
.join("= Game.Objects['Wizard tower'].minigame")}`,
|
|
);
|
|
Game.Objects['Wizard tower'].minigame.launch = function () {
|
|
BackupGrimoireLaunchMod();
|
|
ReplaceTooltipGrimoire();
|
|
HasReplaceNativeGrimoireDraw = false;
|
|
ReplaceNativeGrimoireDraw();
|
|
|
|
HasReplaceNativeGrimoireLaunch = true;
|
|
};
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function fixes replaces the Launch and Draw functions of the Grimoire
|
|
*/
|
|
export default function ReplaceNativeGrimoire() {
|
|
ReplaceNativeGrimoireLaunch();
|
|
ReplaceNativeGrimoireDraw();
|
|
}
|