/** PRD-locked constants — do not invent values */

export const GAME_WIDTH = 320;
export const GAME_HEIGHT = 180;
export const TILE_SIZE = 16;
export const PLAYER_SPEED = 96;
export const INTERACT_RANGE = 24;

export const HAPPINESS_MIN = 0;
export const HAPPINESS_MAX = 100;
export const HAPPINESS_START = 30;
export const AWARENESS_START = 0;
export const AWARENESS_MAX = 100;

export const DIALOG_GENTLE_HAPPINESS = 2;
export const DIALOG_HESITANT_AWARENESS = 2;
export const DIALOG_NEGATE_HAPPINESS = -5;
export const DIALOG_NEGATE_AWARENESS = 3;

export const MICRO_HAPPINESS = 1;
export const MICRO_DAILY_CAP = 3;

export const SADNESS_HAPPINESS = -5;
export const SADNESS_AWARENESS = 3;

export const CLUE_AWARENESS = 8;

export const OVERFLOW_POOL_MAX = 15;
export const FORCED_CELEBRATION_THRESHOLD = 30;
export const FORCED_CELEBRATION_MS = 2 * 60 * 1000;
export const FORCED_CELEBRATION_RESTORE = 50;

export const WELL_FOG_GAZE_MS = 5000;
export const WELL_FOG_GAZE_AWARENESS = 3;

export const IDLE_SADNESS_MS = 10000;
export const RAIN_SADNESS_MS = 10000;
export const NPC_ENTANGLE_COUNT = 5;

export const T14_STAND_MS = 60000;
export const T14_FADE_START_MS = 40000;

export const DEFAULT_PLAYER_NAME = '小满';

export const SCENE_KEYS = {
  BOOT: 'BootScene',
  TITLE: 'TitleScene',
  NAME: 'NameScene',
  UI: 'UIScene',
  DREAM: 'DreamScene',
  ENDING: 'EndingScene',
  HOUSE: 'HouseScene',
  PLAZA: 'PlazaScene',
  BAKERY: 'BakeryScene',
  SHOP: 'ShopScene',
  CLINIC: 'ClinicScene',
  LAKE: 'LakeScene',
  FIELD: 'FieldScene',
  WELL: 'WellScene',
  FOG: 'FogScene',
  WHITE: 'WhiteScene',
} as const;

export type MapSceneKey =
  | typeof SCENE_KEYS.HOUSE
  | typeof SCENE_KEYS.PLAZA
  | typeof SCENE_KEYS.BAKERY
  | typeof SCENE_KEYS.SHOP
  | typeof SCENE_KEYS.CLINIC
  | typeof SCENE_KEYS.LAKE
  | typeof SCENE_KEYS.FIELD
  | typeof SCENE_KEYS.WELL
  | typeof SCENE_KEYS.FOG
  | typeof SCENE_KEYS.WHITE;

export const MAP_FILES: Record<MapSceneKey, string> = {
  [SCENE_KEYS.HOUSE]: 'maps/house.json',
  [SCENE_KEYS.PLAZA]: 'maps/plaza.json',
  [SCENE_KEYS.BAKERY]: 'maps/bakery.json',
  [SCENE_KEYS.SHOP]: 'maps/shop.json',
  [SCENE_KEYS.CLINIC]: 'maps/clinic.json',
  [SCENE_KEYS.LAKE]: 'maps/lake.json',
  [SCENE_KEYS.FIELD]: 'maps/field.json',
  [SCENE_KEYS.WELL]: 'maps/well.json',
  [SCENE_KEYS.FOG]: 'maps/fog.json',
  [SCENE_KEYS.WHITE]: 'maps/white.json',
};

/** §13 Debug teleport targets — all 10 maps, digit order 0–9 */
export const DEBUG_TELEPORT_SCENES: readonly MapSceneKey[] = [
  SCENE_KEYS.HOUSE,
  SCENE_KEYS.PLAZA,
  SCENE_KEYS.BAKERY,
  SCENE_KEYS.SHOP,
  SCENE_KEYS.CLINIC,
  SCENE_KEYS.LAKE,
  SCENE_KEYS.FIELD,
  SCENE_KEYS.WELL,
  SCENE_KEYS.FOG,
  SCENE_KEYS.WHITE,
] as const;
