Files

27 lines
1.8 KiB
TypeScript

export const GAME_SESSION_STORAGE_KEY = 'dragon_ball_game_session_v2';
export const GAME_CHECKPOINT_KEY = 'dragon_ball_checkpoint_v2';
export const PENDING_RESULT_KEY = 'dragon_ball_pending_result_v2';
export const GAME_ROOM_KEY = 'dragon_ball_room_v2';
export const GAME_SESSION_TTL_MS = 90 * 24 * 60 * 60 * 1000;
export const RESULT_RETRY_DELAYS_MS = [2000, 5000, 10000, 30000] as const;
export const GAME_API_MESSAGES: Record<string, string> = {
INVALID_SESSION: '접속 정보가 만료되었습니다. 새로 접속하세요.',
MATCH_PENDING: '이전 대전 기록을 저장한 뒤 다시 시도하세요.',
RESULT_CONFLICT: '이미 저장된 결과와 다릅니다.',
NO_ACTIVE_MATCH: '현재 대전을 확인하세요.',
ROOM_NOT_FOUND: '방 코드를 확인하세요.',
ROOM_FULL: '이미 참가자가 있는 방입니다.',
SELF_JOIN: '자신의 방에는 참가할 수 없습니다.',
ROOM_EXPIRED: '방이 만료되었습니다. 새 방을 만드세요.',
SERVER_ERROR: '처리하지 못했습니다. 다시 시도하세요.',
INVALID_PROFILE: '프로필 정보를 확인하세요.',
INVALID_PROFILE_NAME: '닉네임은 한글·영문·숫자·공백·_·-로 2~16자 입력하세요.',
PROFILE_NAME_PROFANITY: '사용할 수 없는 표현이 포함되어 있습니다. 다른 닉네임을 입력하세요.',
INVALID_APPEARANCE: '캐릭터, 머리, 도복색과 장비를 확인하세요.',
COLOR_LOCKED: '아직 획득하지 않은 도복입니다.',
EQUIPMENT_LOCKED: '아직 획득하지 않은 장비입니다.',
INVALID_ACTION: '현재 선택할 수 없는 행동입니다.',
ACTION_LOCKED: '이미 선택한 행동은 바꿀 수 없습니다.',
RANKED_CLOSED: '랭킹 대전을 이용할 수 없습니다. 잠시 후 다시 시도하세요.',
};