인벤토리 & 아이템박스 UI

Status
작업 완료
분류
시스템
설명

캠프 및 원정 중 인벤토리, 아이템 박스 UI 작동 방식

딤당자
U
Untitled
최종 편집 일시
Jul 12, 2024 6:18 AM
최종 편집자
U
Untitled
History

1. 인벤토리

History대분류이름요약
문서 내 용어

게임 내 획득한 모든 아이템을 확인 및 사용할 수 있는 UI

🎒
인벤토리 개요
  • 게임 내 획득한 모든 아이템 중 실제 유저가 가지고 있는 아이템을 확인 및 사용할 수 있는 UI
    • 은신처 창고에도 아이템이 있음
  • 4 * 4의 16개 칸으로 제한
  • 은신처, 원정 중에 다른 형태로 동작
  • 동일한 정렬 규칙 사용(도구 인벤토리 제외)
    • 좌측 버튼을 눌러 현재 기준으로 정렬
    • 우측 버튼을 눌러 정렬 규칙 변경
      • 습득 순(오름차순)
      • 가치 순(내림차순) - 2차 기준 : 등급(내림차순) - 3차 기준 : 습득(오름차순)
      • 세부 종류 순(오름차순) - 2차 기준 : 등급(내림차순) - 3차 기준 : 습득(오름차순)
      • 등급 순(내림 차순) - 2차 기준 : 세부 종류(오름차순) - 3차 기준 : 습득(오름차순)
    • 현재 정렬 기준과 다른 순서로 배치되어 있을 경우, 정렬 규칙 텍스트 뒤에 *을 붙여 표시
image

1.0. 인벤토리 세부 동작

은신처 / 원정 중 인벤토리 → 구분하지 않음
  • 인벤토리 열기/닫기
    • 인벤토리 열림
      • 가방 단축키(키마 B or I / 패드 =) 또는 우하단 가방 아이콘 좌클릭
        • 해당 방법이 불가능한 경우
          • (서술 필요)
      • 은신처에서 창고가 열릴 때
      • 원정 중 아이템 저장공간(아이템 박스, 아이템 자루, 웨펀랙 등…)이 열릴 때
    • 인벤토리가 열릴 때 자동으로 꺼지거나 닫히는 것들
      • (서술 필요)
    • 인벤토리 닫힘
      • 자동으로 닫히는 경우
        • (서술 필요)
      • 가방 단축키 또는 우하단 가방 아이콘 좌클릭
      • 취소 버튼(키마 esc, 패드 B)
  • 시작 아이템
    • 스테이지 진입 시 이미 들고있었던 무기와 인벤토리 내의 아이템
    • 스테이지에서 획득한 아이템 가치 산정에 반영되지 않음
  • 아이템 획득
    • 획득 시도가 발생하는 상황 - 획득 가능하다면 획득함
      • 바닥에 떨어져있는 아이템과 상호작용 할 때
      • NPC나 이벤트로 아이템을 받을 때
        • 현재 예시 없음
      • 아이템 자루나 아이템 박스에 있는 아이템에 대해 개별 선택 / 상호작용 키(키마) / 모두먹기 동작을 할 때
    • 획득 가능 여부 - 인벤토리가 가득 찼는지를 체크
      • 스택 가능한 아이템이면 기존 뭉치에 겹쳤을 때 전부 들어가는지도 포함해 체크
      • 치트로 아이템을 획득한 경우, 가득 찼다면 인벤토리를 1줄 확장한 후 다시 획득 시도
    • 획득할 수 있다면
      • 스택가능한 경우, 좌상단부터 기존 뭉치에 겹칠 수 있는 만큼 겹치고 나머지를 별개의 묶음으로 획득
        • 겹쳐서 일부가 들어갈 수 있다면 일부만큼만 획득 후 나머지는 원래 자리에 둔 채 인벤풀 에러메시지를 출력
      • 좌상단부터 빈 칸을 탐색 후 최초로 나오는 빈 칸에 넣음
    • 획득 후
      • 시작 아이템이 아니라면, 아이템 가치를 합산하여 UI에 반영
      • 인벤토리 아이템 갯수 표시 갱신
      • 아이템의 습득 시간 갱신
      • 새로 추가된 아이템임을 표시하기 위해 아이콘 좌상단에 녹색 점 표시
        • 마우스오버(키마) 하거나 포인트 커서(패드)를 대면 사라짐
        • 지우기 전까지는 정렬해도 따라감
      • 획득한 아이템에 의해 정렬 순서가 깨졌다면 정렬 규칙 뒤에 * 를 표시
  • 아이템 이동
    • 이동이 발생하는 상황
      • swap - 인벤토리 내 또는 창고 내 이동 (아이템박스 등은 내부 swap 미지원)
        • 소팅으로 인한 변화 발생
        • 인벤토리 내 드래그 & 드랍
      • move - 인벤토리와 타 저장공간 사이의 이동
        • 인벤토리 ↔ 아이템 박스(웨펀랙 등의 아이템 획득처 포함) / 아이템 자루 / 창고 간의 이동
          • 해당 저장공간이 열렸을 때 (이때 인벤토리는 따라서 열림)
            • 인벤토리 → 저장공간: 개별 아이템 선택(좌클릭/A키), 인벤토리 밖으로 드래그&드랍(키마) / B홀드(패드)
            • 저장공간 → 인벤토리: 아이템 획득 상황으로
        • 은신처 복귀 후, 인벤토리에 남기기 위해 선택된 아이템 외의 아이템이 인벤토리에 있을 때 (창고로 이동)
          • 인벤토리에 남길 아이템을 선택 후 확인을 거치면 나머지 아이템은 자동으로 모두 창고로 이동
    • 이동이 발생할 경우
      • swap의 경우
        • A가 B의 위치로 이동이 발생해 swap되면
        • A와 B의 위치가 서로 바뀜
        • 소유자 및 습득시간, 아이템 총 가치, 보유 아이템 갯수 등은 갱신되지 않음 (변동 없기 때문)
      • move의 경우 - 획득과 거의 동일
        • 목표 공간(인벤 or 기타)에 획득과 같은 과정으로 스택 가능 / 이동 가능 여부를 따짐
        • 이후 해당 공간의 좌상단부터 빈 칸 탐색 후 최초의 빈 칸에 넣음(획득과 동일)
        • 타 저장공간에서 인벤토리로 이동한 경우, 획득 후 처리를 진행
        • 인벤토리에서 타 저장공간으로 이동한 경우
          • 소유권을 변경함 (더이상 플레이어 유닛에 소속되지 않음)
          • 시작아이템이 아니라면, 아이템 합산 가치에서 제하고 UI에 반영
          • 인벤토리 아이템 갯수 갱신
  • 아이템 드랍
    • 드랍이 발생하는 상황
      • 아이템을 버릴 때
        • 우클릭→ 버리기(키마), X키→ 버리기(패드), 아이템박스가 열리지 않았을 때 인벤토리 밖으로 드래그&드랍(키마) / B홀드(패드)
      • NPC 또는 이벤트에 의해 아이템을 받았지만 인벤토리가 가득 차서 넣을 수 없을 때
        • 현재 예시 없음
      • 플레이어 유닛이 사망했을 때 (착용하고 있던 무기만 모두 드랍)
      • 드랍아이템이 설정된 유닛이 사망했을 때
      • 기타 특수 조건에 의해
        • 현재 예시 없음
    • 드랍이 발생할 경우
      • 플레이어가 의도적으로 드랍한 경우 (드랍 발생 상황 중 ’아이템을 버릴 때’)
        • 자신의 위치를 포함한 주변 타일(총 9타일)에 아이템 자루가 있는지 체크
          • 아이템 자루가 있다면 가장 처음으로 탐색되는 빈칸에 넣어줌
          • 아이템 자루가 없다면 1번째 칸에 해당 아이템이 있는 아이템 자루를 생성함
            • 아이템 자루는 주변 8타일 중 막혀있지 않은 타일 하나를 랜덤하게 골라 던져짐
            • 주변 8타일이 모두 막혀있다면 유닛의 발밑에 던져짐
        • 시작아이템이 아니라면 해당 아이템의 가치만큼 차감한 후 UI에 반영
        • 인벤토리 아이템 갯수 표시 갱신
      • 그 외의 경우
        • 아이템 자루를 생성하지 않고 개별 아이템을 하나씩 드랍
        • 기타 로직은 동일
  • 아이템(무기) 착용 / 해제
    • 착용
      • 인벤토리 창에서 무기 아이콘 클릭 시, 현재 선택된 캐릭터가 해당 무기 장착
        • 1번 무기 세트가 비어있다면 1번 무기 세트에 장착
        • 1번 무기 세트에 이미 무기가 있고 2번 무기 세트가 비어있다면 2번 무기 세트에 장착
        • 모든 무기 세트에 무기가 있다면 1번 무기 세트에서 교체 장착
          • 교체 장착 시 결과가 인벤토리의 총 수용량을 초과할 경우 교체 불가
          • 예: 한손 무기를 두개 들고, 인벤이 가득 찬 상태에서 양손 무기로 교체 시도 (1개 빠지고 2개 들어오므로 인벤토리 한도를 넘기 때문에 교체 불가)
      • 착용한 아이템은 인벤토리에서 나간 것으로 취급되지만(인벤토리 아이템 갯수에서 차감), 합산가치에는 반영
    • 해제
      • 캐릭터 정보 창에서 무기 아이콘 클릭 시, 해당 무기가 해제되고 인벤토리로 이동
      • 원정 중 메인독에서 무기 아이콘 클릭 시, 해당 무기가 해제되고 인벤토리로 이동
      • 착용한 무기가 해제되어 인벤토리로 들어오면 아이템 획득과 동일한 체크를 진행
      • 인벤토리가 이미 가득 찼다면 무기 해제 불가
  • 아이템 사용
    • 사용 가능한 아이템의 경우, 인벤토리를 열고 선택(좌클릭(키마) / A버튼(패드))하면 사용함
      • 무기의 경우 착용
      • 소모품의 경우 사용 후 제거
        • 스택형 소모품의 경우 스택이 사용된 만큼 차감됨
        • 대상을 지정하고 사용해야 하는 소모품(붕대, 투척용 단검 등)의 경우 대상 지정 상태에서 취소할 경우 사용이 취소되고, 제거되지 않음
        • 대상 지정 상태에서는 스킬과 동일하게 동작(사용 가능 조건, 에러메시지, 취소 등)
    • 스택 불가 아이템 또는 스택의 마지막이 인벤토리에서 없어진 경우 인벤토리 밖으로 나간 것과 동일하게 처리
      • 단, 무기 착용의 경우는 예외로 인벤토리와 별개의 공간이지만 플레이어 유닛에게 소속된 곳으로 이동한 것으로 간주
  • 아이템 나누기
    • (추후 세부 스펙 작성 예정)

1.1. 은신처 내 인벤토리 (0.14.0 QA 스펙 제외)

은신처 내 인벤토리
  • 내러티브 아이템, 잉걸불 조각은 존재하지 않음
    • 내러티브 아이템, 잉걸불 조각은 은신처 복귀 뒤 인벤토리에서 사라짐
  • 아이템 장착 화면에서의 작동
    • 캐릭터 정보 창에서 무기 아이콘 클릭 시, 해당 무기 아이콘이 인벤토리로 이동
    • 인벤토리 창에서 무기 아이콘 클릭 시, 현재 선택된 캐릭터가 해당 무기 장착
      • 1번 무기 세트가 비어있다면 1번 무기 세트에 장착
      • 1번 무기 세트에 이미 무기가 있고 2번 무기 세트가 비어있다면 2번 무기 세트에 장착
      • 모든 무기 세트에 무기가 있다면 1번 무기 세트에서 교체 장착
    • 무기 아이템의 경우 철괴를 소모하여 무기 아이템 수리(우클릭 수리) 가능
  • 잉걸불 화력 화면에서의 작동
    • 아이템 클릭 시, 해당 아이템을 소비하여 잉걸불 화력을 높임
      • 아이템 소비로 최대 잉걸불 화력(500)을 넘을 경우, 경고창 출력
      • image

1.2. 원정 중 인벤토리

기본 인벤토리
  • 4 * 4의 16개 칸으로 제한
  • 내러티브 아이템, 잉걸불 조각 획득 가능
  • 철괴를 소모하여 무기 아이템 수리(우클릭 수리) 불가
도구 인벤토리 → 삭제
  • 원정 중에만 사용하는 도구 아이템 전용 인벤토리
  • 4 * 1로 최대 4개의 도구 아이템 보관 가능
  • 단축키(키보드 기준 1 ~ 4)를 통해 도구 아이템 사용 가능
image

2. 아이템박스

History대분류이름요약
문서 내 용어

원정 중 아이템을 획득할 수 있는 상호작용 가능 오브젝트

  • 원정 중 아이템을 획득할 수 있는 상호작용 가능 오브젝트
  • 무기 진열대, 상자, 자루 등의 오브젝트로 표현
    • 플레이어가 버린 여러 아이템의 덩어리 또한 “자루”로 표현
  • 4 * 3의 12개 칸
image

3. 인벤토리 - 아이템박스 동작

History인벤토리 상태아이템박스 상태동작결과
닫힘
닫힘
아이템박스 상호작용
열림
닫힘
아이템박스 상호작용
열림
열림
인벤토리 닫기
열림
열림
아이템박스 닫기
열림
열림
인벤토리의 아이템 클릭
열림
열림
아이템박스의 일부 아이템 획득
열림
열림
아이템박스의 모든 아이템 획득
image