class LevelsToolTip extends BasePlaceableHUD { static get defaultOptions() { const options = super.defaultOptions; options.classes = options.classes.concat(["levels-tooltip"]); options.template = "modules/levels/templates/tooltip.html"; options.id = "levels-tooltip"; return options; } getData() { const data = super.getData(); return data; } setPosition() { if (!this.object) return; let posleft = this.object.center.x - this.object.width / 2; let postop = this.object.center.y - this.object.height / 2; if(this.object instanceof Note){ postop -= this.object.height / 2; } const position = { width: canvas.grid.size * 1.2, height: canvas.grid.size * 0.8, left: posleft, top: postop, "font-size": canvas.grid.size / 3.5 + "px", display: "grid", }; this.element.css(position); } } Hooks.once("init", () => { Hooks.on("renderHeadsUpDisplay", async (app, html, data) => { html.append(''); canvas.hud.levels = new LevelsToolTip(); }); }); Hooks.on("renderSceneControls", () => { if (canvas.hud?.levels) canvas.hud.levels.clear(); }); Hooks.on("hoverTile", (object, hovered) => { if ( hovered && object.document.overhead && CONFIG.Levels.settings.get("enableTooltips") && !game.Levels3DPreview?._active ) { canvas.hud.levels.bind(object); } else { canvas.hud.levels.clear(); } }); Hooks.on("hoverDrawing", (object, hovered) => { if (hovered && CONFIG.Levels.settings.get("enableTooltips") && !game.Levels3DPreview?._active) { canvas.hud.levels.bind(object); } else { canvas.hud.levels.clear(); } }); Hooks.on("hoverAmbientLight", (object, hovered) => { if (hovered && CONFIG.Levels.settings.get("enableTooltips") && !game.Levels3DPreview?._active) { canvas.hud.levels.bind(object); } else { canvas.hud.levels.clear(); } }); Hooks.on("hoverNote", (object, hovered) => { if (game.user.isGM && hovered && CONFIG.Levels.settings.get("enableTooltips") && !game.Levels3DPreview?._active) { canvas.hud.levels.bind(object); } else { canvas.hud.levels.clear(); } }); Hooks.on("hoverAmbientSound", (object, hovered) => { if (hovered && CONFIG.Levels.settings.get("enableTooltips") && !game.Levels3DPreview?._active) { canvas.hud.levels.bind(object); } else { canvas.hud.levels.clear(); } });