장비 파츠·모듈 개조¶
U 화면¶
거점과 작전 중 U 또는 E 키로 전체 화면형 장비·개조 화면을 엽니다. 열린 동안 게임은 일시정지되고 현재 탭의 키 또는 ESC를 누르면 닫힙니다. 미니맵을 포함한 작전 HUD보다 앞에 표시되어 정보가 겹치지 않습니다.
U는 장비 장착 탭, E는 모듈·파츠 탭을 바로 엽니다. 화면이 열린 상태에서 다른 키를 누르면 창을 닫지 않고 해당 탭으로 전환하며, 현재 탭의 키를 다시 누르거나 ESC를 누르면 닫힙니다. 상단 키 배지와 제목도 현재 탭에 맞춰 바뀝니다.
화면 왼쪽의 슬롯 레일에는 메인 무기, 보조 무기, 신체 방어구, 신발 방어구가 항상 표시됩니다. 슬롯을 선택하면 오른쪽의 두 탭이 같은 대상을 관리합니다.
- 장비 장착: 현재 장비의 레벨·태그·모듈 용량·파츠 소켓을 확인하고, 가방의 장비 카드를 직접 선택해 장착
- 모듈 · 파츠: 선택 장비의 장착 슬롯·코스트 막대·합산 적용 수치, 고유 파츠와 보유 모듈·파츠 카드를 표시
- 호환되는 카드는 색상 테두리와
장착 가능상태로, 태그·소켓·코스트가 맞지 않는 카드는 흐리게 표시 - 장착된 모듈 또는 파츠 카드를 선택하면 현재/최대 레벨과 동일 아이템·크레딧 강화 비용을 표시
참조 UI의 선택 장비 → 장착 세팅 → 보유 목록 시선 흐름을 SFH 규칙에 맞게 재구성했습니다. 좁은 슬롯 레일 옆에 선택 장비의 코스트·레벨·태그를 담은 장착 카드와 합산 적용 수치를 두고, 보유 목록은 138×92px 4열 카드로 유지합니다. 각 카드는 MOD/PART, 기본 코스트 또는 소켓, 태그·호환 상태를 클릭 전에 표시합니다.
필터는 전체·모듈·고유 파츠를 유지하며 정렬은 다음 두 방식을 제공합니다.
- 추천: 현재 장비에 바로 장착 가능한 후보를 우선하고 그 안에서 낮은 코스트 순으로 정렬
- 코스트: 모듈의 기본 코스트를 먼저 비교한 뒤 호환 상태와 이름으로 정렬
EquipmentModuleUIPresenter는 장비 상태와 가방 항목을 카드 문자열·적용 수치·정렬 키로 변환하는 표현 전용 어댑터입니다. 호환과 유효 코스트의 진실은 여전히 EquipmentItemState가 소유하며 UI가 별도 공식을 복제하지 않습니다.
장착 동작은 더 이상 첫 번째 호환 아이템을 자동 소비하지 않습니다. 카드에서 원하는 아이템 인스턴스를 고르고 버튼을 눌러야 하며, 장비 시스템이 장착을 승인한 경우에만 가방에서 제거합니다.
거점 장착·교체·해제¶
- 빈 슬롯에 장비를 장착하거나 현재 장비를 가방의 다른 장비로 즉시 교체할 수 있습니다.
- 교체·해제된 장비는 레벨, 개조 태그, 장착 모듈·파츠 상태를 포함한 채 가방으로 돌아갑니다.
- 장착된 모듈 또는 파츠와 가방 후보를 함께 선택하면 교체하고,
선택 모듈 / 파츠 해제로 가방에 반환합니다. - 강화된 모듈·파츠는 해제 후에도 강화 단계를 보존합니다.
- 반환할 가방 공간이 없으면 먼저 장착 상태를 바꾸지 않고 요청을 거부합니다.
- 준비 로드아웃과 가방은 전투 세션 진입·귀환 때 보존되지만 아직 앱 재시작 후 영구 저장되지는 않습니다.
장비 슬롯 태그¶
EquipmentSlotRule이 장착 가능 여부를 판정합니다.
| 슬롯 | 현재 허용 규칙 |
|---|---|
| 메인 | 원거리 > 화기 > 소총 |
| 보조 | 원거리 > 화기 > 권총 |
| 신체 | body 방어구 |
| 신발 | feet 방어구 |
아이템이 가방에서 차지하는 크기는 장착 판정에 관여하지 않습니다. 장착 탭은 무기 3단계 태그 또는 방어구 슬롯 태그만 검사합니다.
무기 고유 파츠¶
파츠는 socket_id와 호환 무기 소분류 목록을 가집니다.
- 소총 조준경:
rifle + optic - 권총 컴펜세이터:
pistol + muzzle - 대검 강화 날:
greatsword + blade
무기 정의에도 사용할 수 있는 소켓 목록이 있습니다. 소분류가 다르거나 무기에 없는 소켓이면 장착할 수 없으며, 같은 소켓에는 파츠 하나만 허용합니다. 방어구는 파츠 장착 API를 항상 거부합니다.
총기 파츠 보드¶
E 화면에서 무기를 선택하면 장착 모듈 아래에 코드 기반 무기 도식과 실제 소켓 지도가 나타납니다. 외부 총기 이미지를 복제하지 않고 minor_tag에 따라 소총·권총·단검·대검 실루엣을 그리므로 상업 라이선스 자산을 추가로 요구하지 않습니다.
- 소총 기본 정의는
optic,muzzle,magazine세 소켓을 도식 주변에 표시합니다. - 장착된 파츠는 청록색, 빈 소켓은 회색, 현재 선택 소켓은 밝은 테두리로 구분합니다.
- 장착된 소켓을 클릭하면 해당 파츠가 기존 강화·교체·해제 대상으로 선택됩니다.
- 빈 소켓을 클릭하면 보유 목록을 고유 파츠로 필터링하고 호환 후보 선택을 안내합니다.
- 방어구 선택 시 총기 도식을 숨기지 않고
고유 파츠 미지원상태를 명시해 빈 화면으로 오해하지 않게 합니다.
WeaponPartsBoard는 EquipmentItemState의 무기 정의·소켓·장착 파츠를 읽고 socket_selected Signal만 방출합니다. 실제 장착 가능 판정, 소켓 중복, 가방 소비와 상태 변경은 기존 Workbench·EquipmentSystem 계약이 계속 담당합니다.
모듈과 장착 코스트¶
무기와 방어구는 각각 다음 두 제한을 가집니다.
module_slot_limit: 장착 가능한 모듈 개수module_cost_limit: 장착 모듈의 유효 코스트 합계
같은 모듈 ID는 한 장비에 중복 장착할 수 없습니다. 모듈은 범용 stat_modifiers와 아직 실행하지 않는 special_feature_ids를 함께 가질 수 있습니다.
모듈 강화¶
cost_by_upgrade_level 배열이 강화 단계별 코스트를 정의합니다. 예를 들어 [4, 3, 2]는 기본 코스트 4, 1강 3, 2강 2를 뜻합니다.
장비 자체의 upgrade_module()은 규칙 적용만 담당합니다. 별도 EquipmentUpgradeService가 동일 모듈 아이템과 휴대 크레딧을 확인·소비한 뒤 이 API를 호출합니다. 고유 파츠도 같은 방식으로 최대 3레벨까지 강화합니다. 현재 비용은 모듈·고유 파츠 강화 경제에서 확인합니다.
장비 레벨과 최고 레벨 개조¶
무기·방어구는 정의별 최고 레벨을 가집니다. 최고 레벨에 도달하면 grant_module_tag()로 개조 태그를 하나 이상 부여할 수 있습니다.
장착 모듈의 태그 중 하나가 장비 개조 태그와 맞으면 해당 모듈의 유효 코스트는 다음처럼 계산합니다.
태그가 여러 개 맞아도 반감은 한 번만 적용됩니다. 장비가 최고 레벨이 아니거나 빈 태그·중복 태그를 요청하면 개조를 거부합니다.
확장 경계¶
- 파츠·모듈의 능력치는
EquipmentStatModifier로 집계 - 특수 기능은 ID만 선언하고 향후 별도 실행기가 소비
- 레벨 경험치는 외부 성장 모듈, 강화 재료·비용은 강화 경제 모듈에서 승인
- 장비 변경 때 스킬 태그 호환성과 플레이어 스탯을 다시 계산
- 모든 상태는 슬롯별
EquipmentItemState에 격리
기능 토글과 의존성¶
거점에서는 U=장비 장착, E=모듈·파츠라는 독립 InputMap Action이 같은 Workbench의 각 탭을 엽니다. 물리 키를 UI가 다시 해석하지 않으므로 Web에서도 U 화면이 E 입력으로 닫히지 않습니다. 장착·교체·해제·레벨업·강화·개조 계약은 작전 화면과 공유합니다. read_only 주입은 향후 관전·미리보기 화면을 위해 남아 있지만 시작 거점에서는 사용하지 않습니다.
equipment_customization_enabled는 equipment_enabled와 inventory_enabled가 모두 필요합니다. 유료 강화는 별도 equipment_upgrade_economy_enabled로 끌 수 있습니다. 장비 개조를 끄면 U 화면만 설치되지 않고 기존 기본 로드아웃과 I 가방은 독립적으로 유지할 수 있습니다.
U 화면은 get_snapshot(), get_items_by_type(), can_equip_definition(), take_equipment_state(), install/uninstall_module() 같은 공개 계약만 사용합니다. 가방 배치 Dictionary나 장비 시스템 내부 슬롯 Dictionary에 직접 접근하지 않으므로 UI Scene을 제거하거나 다른 디자인으로 교체해도 상태 모듈은 유지됩니다.
검색 별칭¶
장비창, U키, E키, ESC, 거점 장비 변경, 장비 교체, 장비 해제, 모듈 UI, 모듈 인벤토리, 모듈 적용 수치, 추천 정렬, 코스트 정렬, 총기 파츠 UI, 무기 도식, 총기 실루엣, 소켓 지도, 광학 파츠, 총구 파츠, 탄창 파츠, 모듈 해제, 파츠 해제, 무기 탭, 방어구 탭, 고유 파츠, 무기 소분류, 소켓, 장비 모듈, 모듈 슬롯, 장착 제한 코스트, 모듈 강화, 코스트 감소, 장비 레벨업, 최고 레벨, 개조 태그, 반값 코스트