forked from xiangwang25/whale-town-end-v2
51 lines
1.9 KiB
TypeScript
51 lines
1.9 KiB
TypeScript
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;
|
|
}
|