Split custom world generation into staged lightweight batches
Some checks failed
CI / verify (push) Has been cancelled
Some checks failed
CI / verify (push) Has been cancelled
This commit is contained in:
@@ -41,6 +41,7 @@ import {
|
||||
resolveFunctionOption,
|
||||
sortStoryOptionsByPriority,
|
||||
} from '../data/stateFunctions';
|
||||
import { applyStoryReasoningRecovery } from '../data/storyRecovery';
|
||||
import { generateInitialStory, generateNextStep } from '../services/ai';
|
||||
import {
|
||||
Character,
|
||||
@@ -475,7 +476,9 @@ function getStoryGenerationHostileNpcs(state: GameState) {
|
||||
}
|
||||
|
||||
function getResolvedSceneHostileNpcs(state: GameState) {
|
||||
return state.sceneHostileNpcs ?? state.sceneMonsters;
|
||||
return state.sceneMonsters.length > 0
|
||||
? state.sceneMonsters
|
||||
: (state.sceneHostileNpcs ?? []);
|
||||
}
|
||||
|
||||
function sanitizeOptions(
|
||||
@@ -1439,6 +1442,7 @@ export function useStoryGeneration({
|
||||
buildStoryContextFromState,
|
||||
buildFallbackStoryForState,
|
||||
buildDialogueStoryMoment,
|
||||
generateStoryForState,
|
||||
getStoryGenerationHostileNpcs,
|
||||
getTypewriterDelay,
|
||||
getAvailableOptionsForState,
|
||||
@@ -1482,6 +1486,7 @@ export function useStoryGeneration({
|
||||
character: gameState.playerCharacter,
|
||||
history: [],
|
||||
});
|
||||
setGameState(applyStoryReasoningRecovery(gameState));
|
||||
setCurrentStory(nextStory);
|
||||
} catch (error) {
|
||||
console.error('Failed to start story:', error);
|
||||
@@ -1508,6 +1513,7 @@ export function useStoryGeneration({
|
||||
gameState.sceneHostileNpcs,
|
||||
gameState.worldType,
|
||||
isLoading,
|
||||
setGameState,
|
||||
startOpeningAdventure,
|
||||
]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user