|
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> |
|---|
|
|
| apps/game/assets/chars/clint.png 0 → 100644 |
|---|
|
|
| apps/game/assets/chars/npcs_sheet.json |
|---|
| apps/game/assets/chars/npcs_sheet.png |
|---|
|
|
| apps/game/src/data/dialogues.ts |
|---|
| apps/game/src/data/dialogues/clint_first.json 0 → 100644 |
|---|
| apps/game/src/data/dialogues/clint_repeat.json 0 → 100644 |
|---|
| apps/game/src/data/dialogues/trader_after.json |
|---|
| apps/game/src/data/ids.ts |
|---|
| apps/game/src/data/npcs.ts |
|---|
| apps/game/src/data/validate.ts |
|---|
| apps/game/src/scenes/LocationScene.ts |
|---|
| apps/game/src/systems/SceneObjects.ts |
|---|
| apps/game/tools/checks/interact.mjs |
|---|
| apps/game/tools/pixelart/gen.mjs |
|---|