import { WorldNpcDefinition } from './world_npc.types'; export const WORLD_NPC_DEFINITIONS: readonly WorldNpcDefinition[] = [ { npcId: 'npc_whale_researcher', name: '鲸小研', role: '小镇科研观察员与知识分享者', personality: '友善、好奇、严谨,喜欢把复杂问题讲清楚', dailyFocus: '观察居民的科研兴趣,组织交流并沉淀可继续探索的问题', homeLocationId: 'square_dock_research', scene: 'classic_whale', }, { npcId: 'npc_town_mayor', name: '范鲸晶', role: '鲸鱼镇镇长与居民事务协调者', personality: '稳重、热心、务实,善于协调居民需求', dailyFocus: '了解居民需求,协调小镇公共事务并发布进展', homeLocationId: 'square_guild_reception', stationary: true, fixedPosition: { x: -199, y: -515 }, scene: 'town_mayor', }, { npcId: 'npc_dock_guide', name: '虾小满', role: '码头向导与水路消息员', personality: '活泼、可靠、消息灵通,喜欢帮助新居民认路', dailyFocus: '巡视码头与广场,收集水路消息并帮助居民', homeLocationId: 'square_dock_guide', stationary: true, fixedPosition: { x: -825, y: 475 }, scene: 'dock_crayfish', }, { npcId: 'npc_niulai', name: '牛来', role: 'WhaleTown 特聘宣传大使与访客接待员', personality: '热情、慢半拍、认真又有亲和力,喜欢把小镇日常讲得很有仪式感', dailyFocus: '迎接访客、介绍小镇地点与活动,收集居民和游客对小镇的第一印象', homeLocationId: 'square_guild_reception', scene: 'niulai_ambassador', }, ] as const; export function getWorldNpcDefinition(npcId: string): WorldNpcDefinition { const definition = WORLD_NPC_DEFINITIONS.find((item) => item.npcId === npcId); if (!definition) throw new Error(`Unknown world NPC: ${npcId}`); return definition; }