Update Healer Man server

This commit is contained in:
phenom committed 2026-09-19 21:01:51 -04:00
1 parent f8314e7de1
commit 1fedb9368d
76 files changed
+20556 -2523

No files matched your search

+17
View File
@@ -42,6 +42,10 @@ import { BrandMark, ControllerLegend, FrontSurface } from "./FrontSurface";
import { OnlineGroupPanel } from "./OnlineGroupPanel";
import { useOnlineGroupStore } from "../app/onlineGroupStore";
import { specializationById } from "../game/specializationCatalog";
import { useCompanionPartyPreferences } from "../game/companionPartyPreferences";
import { useCompanionSpecReadinessStore } from "../game/companionSpecReadinessStore";
import { CompanionPoolControls } from "./CompanionPoolControls";
import { CompanionReadinessScreen } from "./CompanionReadinessScreen";
installManastormShellRuntime();
@@ -71,6 +75,9 @@ export function ManastormSelectScreen() {
? character.categoryId === "rom" ? partyRolesForClass(character.classId) : savedSpecialization ? [savedSpecialization.role] : []
: [];
const [partySize, setPartySize] = useState<ManastormPartySize>(5);
const includeBetaSpecs = useCompanionPartyPreferences((state) => state.includeBetaSpecs);
const readinessPolicy = useCompanionSpecReadinessStore((state) => state.config);
const readinessPolicyRevision = useCompanionSpecReadinessStore((state) => state.revision);
const groupHumanCount = onlineGroup?.members.length ?? 1;
const effectivePartySize = onlineGroup
? (fillWithAi ? Math.max(partySize, groupHumanCount) : groupHumanCount) as ManastormPartySize
@@ -145,6 +152,7 @@ export function ManastormSelectScreen() {
const [pendingDownloadRole, setPendingDownloadRole] = useState<PartyRole | null>(null);
const [downloading, setDownloading] = useState(false);
const [downloadError, setDownloadError] = useState("");
const [readinessOpen, setReadinessOpen] = useState(false);
useEffect(() => {
setSelectedSpellIds(persistedSpellIds);
@@ -170,6 +178,12 @@ export function ManastormSelectScreen() {
role,
effectivePartySize,
character.categoryId ?? "wow",
{
readinessPolicy,
readinessPolicyRevision,
includeBetaSpecs,
excludedPlayerSpecializationId: character.specializationId,
},
);
void preloadAvatarModels([character, ...party]).catch((error) => {
console.warn("Selected party avatar preloading could not be completed", error);
@@ -192,6 +206,7 @@ export function ManastormSelectScreen() {
contentId: "manastorm",
partySize: effectivePartySize,
startingLevel,
includeBetaSpecs,
});
};
@@ -273,6 +288,7 @@ export function ManastormSelectScreen() {
const race = character ? raceById(character.raceId) : null;
const characterClass = character ? classById(character.classId) : null;
if (readinessOpen) return <CompanionReadinessScreen onClose={() => setReadinessOpen(false)} />;
return (
<DualDisplayFrame
@@ -339,6 +355,7 @@ export function ManastormSelectScreen() {
<small>Progress and first clears are tracked separately for every party size.</small>
</header>
<OnlineGroupPanel />
<CompanionPoolControls onOpenReadiness={() => setReadinessOpen(true)} compact />
<div className="manastorm-setup-block">
<strong>Party size</strong>