@@ -4,7 +4,10 @@ import { GameState, InventoryItem, MonsterLootEntry, RoleActionDefinition, Runti
|
||||
import { buildMonsterAttributeProfile } from './attributeProfileGenerator';
|
||||
import { buildDefaultAxisVector } from './attributeResolver';
|
||||
import {normalizeBuildTags} from './buildTags';
|
||||
import { buildRuntimeCustomWorldInventoryItems, resolveRuleWorldType } from './customWorldRuntime';
|
||||
import {
|
||||
buildRuntimeCustomWorldInventoryItems,
|
||||
resolveCompatibilityTemplateWorldType,
|
||||
} from './customWorldRuntime';
|
||||
import hostileNpcOverridesJson from './hostileNpcOverrides.json';
|
||||
import { buildRuntimeItemGenerationContext } from './runtimeItemContext';
|
||||
import { generateDirectedRuntimeReward } from './runtimeItemDirector';
|
||||
@@ -13,7 +16,7 @@ import {
|
||||
buildRuntimeItemAiIntent,
|
||||
flattenDirectedRuntimeRewardItems,
|
||||
} from './runtimeItemNarrative';
|
||||
import { getPresetWorldAttributeSchema } from './worldAttributeSchemas';
|
||||
import { getTemplateWorldAttributeSchema } from './worldAttributeSchemas';
|
||||
|
||||
export interface HostileNpcPreset extends HostileNpcSpriteConfig {
|
||||
worldType: WorldType;
|
||||
@@ -930,7 +933,7 @@ function buildHostileNpcBehaviorVectors(preset: {
|
||||
function hydrateHostileNpcPresetRoleData(
|
||||
preset: Omit<HostileNpcPreset, 'attributeProfile' | 'behaviorVectors'>,
|
||||
): HostileNpcPreset {
|
||||
const schema = getPresetWorldAttributeSchema(
|
||||
const schema = getTemplateWorldAttributeSchema(
|
||||
preset.worldType === WorldType.XIANXIA ? WorldType.XIANXIA : WorldType.WUXIA,
|
||||
);
|
||||
|
||||
@@ -955,7 +958,8 @@ export function getHostileNpcPresetById(worldType: WorldType, monsterId: string)
|
||||
if (worldType === WorldType.CUSTOM) {
|
||||
return HOSTILE_NPC_PRESETS_BY_WORLD[WorldType.CUSTOM].find(monster => monster.id === monsterId) ?? null;
|
||||
}
|
||||
const resolvedWorldType = resolveRuleWorldType(worldType) ?? WorldType.WUXIA;
|
||||
const resolvedWorldType =
|
||||
resolveCompatibilityTemplateWorldType(worldType) ?? WorldType.WUXIA;
|
||||
return HOSTILE_NPC_PRESETS_BY_WORLD[resolvedWorldType].find(monster => monster.id === monsterId) ?? null;
|
||||
}
|
||||
|
||||
@@ -965,7 +969,8 @@ export function getHostileNpcPresetsByWorld(worldType: WorldType) {
|
||||
if (worldType === WorldType.CUSTOM) {
|
||||
return HOSTILE_NPC_PRESETS_BY_WORLD[WorldType.CUSTOM];
|
||||
}
|
||||
const resolvedWorldType = resolveRuleWorldType(worldType) ?? WorldType.WUXIA;
|
||||
const resolvedWorldType =
|
||||
resolveCompatibilityTemplateWorldType(worldType) ?? WorldType.WUXIA;
|
||||
return HOSTILE_NPC_PRESETS_BY_WORLD[resolvedWorldType];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user