feat: consolidate skin policy, furniture and world NPC work

This commit is contained in:
2026-09-18 01:47:44 +08:00
parent dc188ed03d
commit aaae09399e
17 changed files with 502 additions and 217 deletions

View File

@@ -29,7 +29,7 @@ export const WORLD_NPC_DEFINITIONS: readonly WorldNpcDefinition[] = [
dailyFocus: '巡视码头与广场,收集水路消息并帮助居民',
homeLocationId: 'square_dock_guide',
stationary: true,
fixedPosition: { x: -825, y: 437 },
fixedPosition: { x: -825, y: 475 },
scene: 'dock_crayfish',
},
{

View File

@@ -18,7 +18,8 @@ export const WORLD_LOCATIONS: readonly WorldLocation[] = [
{
id: 'square_dock_guide', mapId: 'whale_port', name: '码头向导岗', x: -720, y: 437,
tags: ['organize', 'socialize', 'reflect'],
slots: [{ x: -900, y: 437 }, { x: -780, y: 437 }, { x: -660, y: 437 }, { x: -540, y: 437 }],
// Approach the inland path below the dock's southeast mooring post.
slots: [{ x: -900, y: 480 }, { x: -780, y: 437 }, { x: -660, y: 437 }, { x: -540, y: 437 }],
},
{
id: 'square_dock_research', mapId: 'whale_port', name: '广场海边研究点', x: -400, y: -180,
@@ -28,10 +29,9 @@ export const WORLD_LOCATIONS: readonly WorldLocation[] = [
{
id: 'square_forum', mapId: 'whale_port', name: '广场交流区', x: 0, y: -280,
tags: ['socialize', 'share'],
// Keep every visual standing point clear of the fountain footprint. The
// last point is used by Niulai; -150 is too close once his sprite height
// and ground anchor are accounted for.
slots: [{ x: 0, y: -430 }, { x: 0, y: -340 }, { x: 0, y: 325 }, { x: 0, y: -240 }],
// All slots connect directly to the north walkway. Keep them on this side
// of the fountain so entering or leaving a slot never crosses the basin.
slots: [{ x: 0, y: -430 }, { x: 0, y: -340 }, { x: 160, y: -380 }, { x: 0, y: -240 }],
},
{
id: 'square_notice_board', mapId: 'whale_port', name: '广场公告栏', x: -520, y: 480,