성장 / 숙련도 / 접사 작성완료구현밸런싱미완료
본 문서는 스킬·숙련도와 아이템에 부여되는 접사(Affix) 시스템을 정의한다. 아이템 부가 옵션(아이템·루팅·드랍)과 연결된다.
플레이 흐름
섹션 제목: “플레이 흐름”flowchart LR subgraph ACQUIRE [스킬 획득] T[티어 추첨<br/>SkillTierProbabilityTable] S[스킬 추첨<br/>SkillProbabilityTable] SK[스킬 인스턴스<br/>level · tier] end subgraph GROW [성장] EV[진화 조건 확인<br/>SkillEvolutionTable] UP[스킬 진화<br/>resultName] end subgraph ITEM [아이템 접사] DR[드랍 시<br/>접사 추첨] AF[AffixInfo<br/>OptionName · Value] BN[EquipmentStatusBonusType<br/>스탯 보정 적용] end T --> S --> SK --> EV --> UP DR --> AF --> BN classDef acquire fill:#e0f2fe,stroke:#0284c7,stroke-width:2px,color:#075985 classDef grow fill:#bbf7d0,stroke:#16a34a,stroke-width:2px,color:#14532d classDef item fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#78350f class T,S,SK acquire class EV,UP grow class DR,AF,BN item
핵심 원칙
섹션 제목: “핵심 원칙”| 원칙 | 규칙 | 의미 |
|---|---|---|
| 진화형 트리 | 조건 충족 시 스킬이 다른 스킬로 진화 | 단순 강화가 아닌 질적 변화 |
| 클래스 종속 | 스킬은 requireClass로 캐릭터 클래스 제약 | 클래스 정체성이 스킬 세트를 만든다 |
| 2단계 가중치 추첨 | 티어 추첨 → 개별 스킬 추첨 | 등급과 희귀도가 분리되어 관리된다 |
| 접사 = 보정 옵션 | Affix는 EquipmentStatusBonusType enum으로 매핑 | 사전 정의된 보정 종류만 부여 가능 |
1. 스킬 마스터 (SkillInfoTableData)
섹션 제목: “1. 스킬 마스터 (SkillInfoTableData)”스킬의 정적 정의.
| 컬럼 | 의미 |
|---|---|
typeName | 스킬 식별자 |
isBase | 베이스 스킬 여부 (true = 트리 출발점) |
setType | 세트 분류 (같은 setType 스킬 간 시너지 추정) |
requireClass | 사용 가능한 캐릭터 클래스 |
evolutionGrade | 진화 단계 (낮을수록 베이스, 높을수록 최종형) |
additives[] | 결합·강화 시 더해지는 보조 식별자 |
tag1, tag2, tag3 | 분류·필터·시너지 태그 |
2. 스킬 인스턴스 (SkillTableData)
섹션 제목: “2. 스킬 인스턴스 (SkillTableData)”| 컬럼 | 의미 |
|---|---|
name | 스킬 명 (SkillInfoTableData.typeName 참조) |
level | 현재 레벨 |
tier | 티어 (Poor~Artifact와 매핑 가능성) |
level과 tier는 같은 이름의 스킬이라도 서로 다른 강도·효과를 가지게 한다.
3. 스킬 진화 (SkillEvolutionTableData)
섹션 제목: “3. 스킬 진화 (SkillEvolutionTableData)”| 컬럼 | 의미 |
|---|---|
name | 원본 스킬 이름 |
condition1_level | 진화 조건 1 — 레벨 |
condition2_item | 진화 조건 2 — 아이템 소유 |
resultName | 진화 결과 스킬 이름 |
4. 스킬 등장 확률
섹션 제목: “4. 스킬 등장 확률”4.1 스킬별 가중치 (SkillProbabilityTableData)
섹션 제목: “4.1 스킬별 가중치 (SkillProbabilityTableData)”| 컬럼 | 의미 |
|---|---|
skillName | 스킬 이름 |
weight | 등장 가중치 |
4.2 티어별 가중치 (SkillTierProbabilityTableData)
섹션 제목: “4.2 티어별 가중치 (SkillTierProbabilityTableData)”| 컬럼 | 의미 |
|---|---|
tier | 스킬 티어 |
weight | 해당 티어의 등장 가중치 |
티어 추첨 → 해당 티어 내 개별 스킬 추첨의 2단계 구조. 아이템 등급 결정과 유사한 패턴.
5. 스킬 발동 영역 (SkillArea)
섹션 제목: “5. 스킬 발동 영역 (SkillArea)”코드(Character/SkillArea.cs)에 스킬 발동 영역 컴포넌트가 존재. 스킬이 단순 패시브가 아닌 공간 효과를 가지는 능동 액션으로 구현됨을 시사한다.
운영 상세(쿨다운·소모 자원·범위 지속·중첩 규칙)는 시스템 구현 단계에서 정의.
6. 숙련도
섹션 제목: “6. 숙련도”PDF 메타 §IV에 명시된 두 축:
- 숙련도: 특정 행동(무기 사용·이동·생활 등) 반복 누적. 캐릭터 Status·Stat에 영구 보정 가능.
- 스킬트리: 숙련도 또는 조건으로 해금되는 진화형 트리.
코드에는 SkillEvolutionTable이 트리 진화 구조를 부분 표현한다. 별도 “숙련도 누적값” DTO는 현재 확인되지 않는다 — 추후 확장 영역.
7. 접사 (AffixInfo)
섹션 제목: “7. 접사 (AffixInfo)”7.1 정의
섹션 제목: “7.1 정의”접사는 아이템에 붙는 부가 옵션. 같은 무기라도 접사가 다르면 다른 효과를 낸다.
| 필드 | 의미 |
|---|---|
OptionName | 접사 종류 식별자 (EquipmentStatusBonusType enum 매칭) |
Value | 접사의 수치 |
7.2 접사 부여 시점
섹션 제목: “7.2 접사 부여 시점”| 시점 | 방식 |
|---|---|
| 아이템 마스터 정의 | ItemStatus.Affixes (기획자 고정 정의) |
| 드랍 시 추첨 | DropItemInfo.Affixes에 추첨 접사 부여 |
| 세이브 | AffixSaveInfo로 직렬화 보존 |
7.3 접사 ↔ EquipmentStatusBonusType
섹션 제목: “7.3 접사 ↔ EquipmentStatusBonusType”AffixInfo.TryGetEquipmentStatusBonusType이 OptionName을 enum으로 파싱. 사전 정의된 보정 종류(HP+, STR+, AR+ 등으로 추정)만 부여 가능하다.
7.4 접사 부여 규칙 (미정)
섹션 제목: “7.4 접사 부여 규칙 (미정)”- 접사 개수의 상한 (1개 / N개 / 등급별 차등).
- 접사 종류 추첨 규칙 (가중치·중복 허용·등급 종속).
- 접사 수치 범위 (티어·등급별 min/max).
상세는 아이템·루팅·드랍 열린 질문에 등록.
연결 시스템
섹션 제목: “연결 시스템”| 시스템 | 연결 지점 |
|---|---|
| 캐릭터 스테이터스 | 클래스 타입, 스탯 보정, 접사를 통한 RuntimeStat 영향. |
| 아이템·루팅·드랍 | 드랍 시 접사 부여, 스킬 아이템(스크롤 등) 처리. |
| 전투 | 스킬 발동 영역, 패시브 보정. |
| 미션·NPC·상인 | 스킬 획득 보상 (Reward Type 확장 시). |
데이터 시트 매핑
섹션 제목: “데이터 시트 매핑”| 영역 | 시트 |
|---|---|
| 스킬 마스터 | SkillInfoTableSheet |
| 스킬 진화 | SkillEvolutionTableSheet |
| 스킬 가중치 | SkillProbabilityTableSheet |
| 티어 가중치 | SkillTierProbabilityTableSheet |
| 접사 마스터 | (시트 위치 미확정 — EquipmentStatusBonusType enum 매핑 시트) |
열린 질문
섹션 제목: “열린 질문”EquipmentStatusBonusTypeenum의 전체 항목과 매핑 시트 위치.- 접사 개수·종류 추첨 규칙 (등급·티어 종속).
- 숙련도 시스템의 잔존 여부 — 스킬 폐기 시 숙련도 누적 구조도 함께 재검토 필요.