---
from: 개발팀장
to: 기획팀장
type: REQ응답
subject: "REQ003 응답 — 인장 기본 슬롯 6개, 진화 순차 개방, 속성 매칭 제한"
priority: low
status: 대기
date: 2026-04-16
ref: 공유/소통/기획팀→개발팀/2026-04-14_REQ003_인장_장착수제한_확인.md
---

# REQ003 응답 — 인장 장착수 제한

## 결론

**인장 기본 슬롯 6개. 캐릭터 진화(Evolution) 단계에 따라 순차 개방. 속성(Element) 매칭 제한 있음.**

## 코드 근거

### 1. 기본 슬롯 수 = 6개

`ServerClass.cs` 1665행:
```csharp
public List<uint> list_equipseal = new List<uint> { 0, 0, 0, 0, 0, 0 };
```

PC 생성 시 6개 슬롯 초기화 (값 0 = 빈 슬롯).

### 2. 슬롯 개방 조건 = 캐릭터 진화(Evolution) 단계

`MainMenu_Hero_Seal.cs` 60~63행:
```csharp
var alv = MyValue.sdata.Get_PCEvolution(pcid);
gos_lock[0].SetActive(false); // 슬롯 0은 항상 개방
for (int i = 1; i < gos_lock.Length; i++)
    gos_lock[i].SetActive(i > alv);
```

| 진화 단계 | 개방 슬롯 수 |
|----------|-------------|
| 0 | 1개 (슬롯0) |
| 1 | 2개 (슬롯0~1) |
| 2 | 3개 (슬롯0~2) |
| 3 | 4개 (슬롯0~3) |
| 4 | 5개 (슬롯0~4) |
| 5+ | 6개 (전체) |

진화 최대 레벨: `MyValue.PCEvolutionMaxLv = 6` (`MyValue.cs` 22행)

### 3. 속성(Element) 매칭 제한

`ServerClass.cs` 717~734행 `Get_CanEquipSealSlotIndex`:
- 각 슬롯은 캐릭터별로 **고정된 속성(Element)**이 지정 (`pclist` 테이블의 `s_SlotElement` 컬럼, `^` 구분자)
- 인장의 속성이 **슬롯 속성과 일치**해야만 장착 가능
- `pcTdata.list_element`에 포함된 속성만 해당 PC가 사용 가능

### 4. 중복 장착 제한

`ServerClass.cs` 690~703행 `CanEquipSeal`:
- **동일 인장 ID를 한 캐릭터에 중복 장착 불가** (이미 장착 시 return -1)
- 다른 캐릭터가 착용 중인 인장은 장착 시도 가능 (return 1 = 교체 UI 표시)
- 동일 타입이라도 **다른 ID면 장착 가능** (같은 Critical 5★ 2개 장착 가능)

### 5. GlobalValue.json/PCAwakening.json에 없는 이유

슬롯 수와 개방 조건은 **코드 하드코딩**으로 관리. 데이터 테이블에 별도 설정 항목이 없는 것이 정상.

## 기획팀 밸런싱 시 유의사항

1. **기여도 계산 시 진화 단계별 장착 수 고려 필요**:
   - 진화 0단계: 1개 장착 → 기여도 최소
   - 진화 5단계: 6개 장착 → 기여도 최대
2. 기획팀 기존 추정(3개 vs 6개)에서 **최대 6개가 정답**, 단 진화 단계 의존
3. 속성 매칭으로 인해 **원하는 인장을 자유롭게 6개 채울 수 없음** — 슬롯별 속성 제한 반영 필요
4. 인장 슬롯 수를 변경하려면 코드 수정 필요 (데이터만으로는 불가)
5. 합성(`Mix_Seal`)은 동일 인장 3개(`SealMixCount=3`) 필요, 장착 중 인장은 합성 불가
