forked from phenom/healer-man
Release Healer Man 0.1.32
This commit is contained in:
1 parent
d3d6aaebdb
commit
6dcb1034e5
102 files changed
+10772
-788
No files matched your search
+25
-5
@@ -56,7 +56,7 @@ import {
|
||||
logoutOnlineSession,
|
||||
refreshOnlineSession,
|
||||
} from "./onlineAccountClient";
|
||||
import { isGameMasterSession } from "../game/manastormAdminConfig";
|
||||
import { sessionCanUseShelvedGmTools, SHELVED_MODES_ENABLED } from "./releaseFeatures";
|
||||
import { useGameStore } from "../game/store";
|
||||
import {
|
||||
normalizeSpecializationId,
|
||||
@@ -324,6 +324,10 @@ export const useShellStore = create<ShellState>((set, get) => ({
|
||||
return true;
|
||||
},
|
||||
openManastorms: () => {
|
||||
if (!SHELVED_MODES_ENABLED) {
|
||||
set({ notice: "Manastorms are temporarily unavailable." });
|
||||
return false;
|
||||
}
|
||||
const { session, selectedCharacterId, characters } = get();
|
||||
if (!session || !selectedCharacterId || !characters.some((character) => character.id === selectedCharacterId)) {
|
||||
set({ phase: session ? "characters" : "login", notice: "Select or create a character first." });
|
||||
@@ -338,6 +342,10 @@ export const useShellStore = create<ShellState>((set, get) => ({
|
||||
return true;
|
||||
},
|
||||
openArenas: () => {
|
||||
if (!SHELVED_MODES_ENABLED) {
|
||||
set({ notice: "Arenas are temporarily unavailable." });
|
||||
return false;
|
||||
}
|
||||
const { session, selectedCharacterId, characters } = get();
|
||||
if (!session || !selectedCharacterId || !characters.some((character) => character.id === selectedCharacterId)) {
|
||||
set({ phase: session ? "characters" : "login", notice: "Select or create a character first." });
|
||||
@@ -348,7 +356,7 @@ export const useShellStore = create<ShellState>((set, get) => ({
|
||||
},
|
||||
openGmAdmin: () => {
|
||||
const { session, selectedCharacterId, characters } = get();
|
||||
if (!isGameMasterSession(session)) {
|
||||
if (!sessionCanUseShelvedGmTools(session)) {
|
||||
set({ notice: "Game Master access is required." });
|
||||
return false;
|
||||
}
|
||||
@@ -429,7 +437,7 @@ export const useShellStore = create<ShellState>((set, get) => ({
|
||||
},
|
||||
returnToMainMenu: () => {
|
||||
useGameStore.setState({ activeGmReviewTarget: null, gmTestMode: false });
|
||||
manastormShellRuntime()?.leaveActiveGame();
|
||||
if (SHELVED_MODES_ENABLED) manastormShellRuntime()?.leaveActiveGame();
|
||||
const { session, characters, activeCharacter, selectedCharacterId } = get();
|
||||
if (!session) {
|
||||
set({ phase: "login", activeCharacter: null });
|
||||
@@ -449,13 +457,21 @@ export const useShellStore = create<ShellState>((set, get) => ({
|
||||
return false;
|
||||
},
|
||||
enterManastorm: (requestedRole, requestedPartySize = 5, requestedStartingLevel) => {
|
||||
if (!SHELVED_MODES_ENABLED) {
|
||||
set({ notice: "Manastorms are temporarily unavailable." });
|
||||
return false;
|
||||
}
|
||||
const runtime = manastormShellRuntime();
|
||||
if (runtime) return runtime.enterManastorm(requestedRole, requestedPartySize, requestedStartingLevel);
|
||||
set({ notice: "Manastorm data is still loading. Try again in a moment." });
|
||||
return false;
|
||||
},
|
||||
abandonManastormRun: () => manastormShellRuntime()?.abandonRun(),
|
||||
failActiveManastorm: () => manastormShellRuntime()?.failRun(),
|
||||
abandonManastormRun: () => {
|
||||
if (SHELVED_MODES_ENABLED) manastormShellRuntime()?.abandonRun();
|
||||
},
|
||||
failActiveManastorm: () => {
|
||||
if (SHELVED_MODES_ENABLED) manastormShellRuntime()?.failRun();
|
||||
},
|
||||
enterWorld: () => get().enterDungeon(DEFAULT_DUNGEON_ID),
|
||||
returnToCharacters: () => {
|
||||
useGameStore.setState({ activeGmReviewTarget: null, gmTestMode: false });
|
||||
@@ -594,6 +610,10 @@ export const useShellStore = create<ShellState>((set, get) => ({
|
||||
}));
|
||||
},
|
||||
saveSelectedManastormLoadout: (loadout) => {
|
||||
if (!SHELVED_MODES_ENABLED) {
|
||||
set({ notice: "Manastorms are temporarily unavailable." });
|
||||
return false;
|
||||
}
|
||||
const runtime = manastormShellRuntime();
|
||||
if (runtime) return runtime.saveSelectedLoadout(loadout);
|
||||
set({ notice: "Manastorm data is still loading. Try again in a moment." });
|
||||
|
||||
Reference in new issue
Block a user