feat(game): акт 2 — Клинт, размещения NPC по флагу
- механика NPC_PLACEMENTS/npcsForArea в npcs.ts: NPC появляется в области
  при поднятом флаге (act2_hook от Милы), мёрж в LocationScene при загрузке;
- SceneObjects.addNpc: размещения попадают в клик-роутинг и кэш занятых
  тайлов (иначе клик по Клинту резолвился как движение);
- диалоги clint_first/clint_repeat (крючок «пол-тона»), спрайт в атласе
  npcs_sheet (6 кадров, clint_idle);
- validate: placements проверяются на bounds/walkable, def-ы — на ссылки
  флагов и диалогов;
- interact.mjs: шаг «флаг -> Клинт в роще -> диалог -> met_clint».

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent fa38ee7 commit 58a81640a0a66aea32caf475716e8a583b56cac7
@root root authored 2 hours ago
Showing 14 changed files
View
apps/game/assets/chars/clint.png 0 → 100644
View
apps/game/assets/chars/npcs_sheet.json
View
apps/game/assets/chars/npcs_sheet.png
View
apps/game/src/data/dialogues.ts
View
apps/game/src/data/dialogues/clint_first.json 0 → 100644
View
apps/game/src/data/dialogues/clint_repeat.json 0 → 100644
View
apps/game/src/data/dialogues/trader_after.json
View
apps/game/src/data/ids.ts
View
apps/game/src/data/npcs.ts
View
apps/game/src/data/validate.ts
View
apps/game/src/scenes/LocationScene.ts
View
apps/game/src/systems/SceneObjects.ts
View
apps/game/tools/checks/interact.mjs
View
apps/game/tools/pixelart/gen.mjs