Update Healer Man server

This commit is contained in:
phenom committed 2026-10-07 13:05:04 -04:00
1 parent 69809f7228
commit ff20ab8779
101 files changed
+16713 -945

No files matched your search

+8
View File
@@ -74,6 +74,14 @@ describe("combat visual mode option", () => {
expect(markup).toContain("Party healing numbers");
});
it("shows the enabled healer recovery option and its exact rate", () => {
const markup = renderOptions(DEFAULT_COMBAT_PRESENTATION_SETTINGS.vfxMode);
expect(markup).toContain("Healer mana recovery");
expect(markup).toContain("15% of maximum mana per second");
expect(markup).toMatch(/Healer mana recovery<\/strong>.*?aria-pressed="true".*?>On<\/button>/);
expect(DEFAULT_GAMEPLAY_SETTINGS.healerManaRecovery).toBe(true);
});
it("shows dungeon graphics controls with the saved defaults", () => {
const markup = renderOptions(DEFAULT_COMBAT_PRESENTATION_SETTINGS.vfxMode);
expect(markup).toContain("Render resolution");
+3 -1
View File
@@ -44,6 +44,7 @@ export interface OptionsPanelSettings extends GraphicsSettings {
showOwnDamageText: boolean;
showAllyDamageText: boolean;
showIncomingDamageText: boolean;
healerManaRecovery: boolean;
autoTargetNearest: boolean;
enableScreenShake: boolean;
masterVolume: number;
@@ -66,12 +67,13 @@ export interface OptionsPanelProps {
interface ToggleOption {
id: keyof Pick<OptionsPanelSettings,
"showMobHealthBars" | "showMobAggroRanges" | "showTargetFrame" | "showThreatMeter" | "showFloatingCombatText" | "showOwnDamageText" | "showAllyDamageText" | "showIncomingDamageText" | "autoTargetNearest" | "enableScreenShake">;
"showMobHealthBars" | "showMobAggroRanges" | "showTargetFrame" | "showThreatMeter" | "showFloatingCombatText" | "showOwnDamageText" | "showAllyDamageText" | "showIncomingDamageText" | "healerManaRecovery" | "autoTargetNearest" | "enableScreenShake">;
label: string;
description: string;
}
const TOGGLES: readonly ToggleOption[] = [
{ id: "healerManaRecovery", label: "Healer mana recovery", description: "A living healer restores 15% of maximum mana per second to the party while out of combat." },
{ id: "showMobHealthBars", label: "Mob health bars", description: "Show health above nearby enemies." },
{ id: "showMobAggroRanges", label: "Mob aggro ranges", description: "Show the boundary where idle dungeon enemies automatically attack your party." },
{ id: "showTargetFrame", label: "Target frame", description: "Show detailed status for your current target." },
+2 -1
View File
@@ -1,3 +1,4 @@
import { HEALER_MANA_RECOVERY_ID } from "../game/healerManaRecovery";
import { useEffect, useRef, useState, type CSSProperties } from "react";
import { classById, isRomClassId, raceById } from "../app/characterCatalog";
import { useShellStore } from "../app/shellStore";
@@ -247,7 +248,7 @@ function MemberFrame({ member, selected, onSelect, healPopups }: {
targetId={member.id}
className="aura-strip--party"
hideLongTerm
keepLongTermUtilityTags={[ROM_SCOUT_BLOOD_ARROW_AURA_TAG]}
keepLongTermUtilityTags={[ROM_SCOUT_BLOOD_ARROW_AURA_TAG, HEALER_MANA_RECOVERY_ID]}
highlightDispellableDebuffs
onAuraContextMenu={(aura) => deactivateRomBloodArrowFromAuraContextMenu(
aura,