콘텐츠로 이동
GameDesign

성장 / 숙련도 / 접사 작성완료구현밸런싱미완료

본 문서는 스킬·숙련도와 아이템에 부여되는 접사(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으로 매핑사전 정의된 보정 종류만 부여 가능

스킬의 정적 정의.

컬럼의미
typeName스킬 식별자
isBase베이스 스킬 여부 (true = 트리 출발점)
setType세트 분류 (같은 setType 스킬 간 시너지 추정)
requireClass사용 가능한 캐릭터 클래스
evolutionGrade진화 단계 (낮을수록 베이스, 높을수록 최종형)
additives[]결합·강화 시 더해지는 보조 식별자
tag1, tag2, tag3분류·필터·시너지 태그
컬럼의미
name스킬 명 (SkillInfoTableData.typeName 참조)
level현재 레벨
tier티어 (Poor~Artifact와 매핑 가능성)

leveltier는 같은 이름의 스킬이라도 서로 다른 강도·효과를 가지게 한다.

3. 스킬 진화 (SkillEvolutionTableData)

섹션 제목: “3. 스킬 진화 (SkillEvolutionTableData)”
컬럼의미
name원본 스킬 이름
condition1_level진화 조건 1 — 레벨
condition2_item진화 조건 2 — 아이템 소유
resultName진화 결과 스킬 이름

4.1 스킬별 가중치 (SkillProbabilityTableData)

섹션 제목: “4.1 스킬별 가중치 (SkillProbabilityTableData)”
컬럼의미
skillName스킬 이름
weight등장 가중치

4.2 티어별 가중치 (SkillTierProbabilityTableData)

섹션 제목: “4.2 티어별 가중치 (SkillTierProbabilityTableData)”
컬럼의미
tier스킬 티어
weight해당 티어의 등장 가중치

티어 추첨 → 해당 티어 내 개별 스킬 추첨의 2단계 구조. 아이템 등급 결정과 유사한 패턴.

코드(Character/SkillArea.cs)에 스킬 발동 영역 컴포넌트가 존재. 스킬이 단순 패시브가 아닌 공간 효과를 가지는 능동 액션으로 구현됨을 시사한다.

운영 상세(쿨다운·소모 자원·범위 지속·중첩 규칙)는 시스템 구현 단계에서 정의.

PDF 메타 §IV에 명시된 두 축:

  • 숙련도: 특정 행동(무기 사용·이동·생활 등) 반복 누적. 캐릭터 Status·Stat에 영구 보정 가능.
  • 스킬트리: 숙련도 또는 조건으로 해금되는 진화형 트리.

코드에는 SkillEvolutionTable이 트리 진화 구조를 부분 표현한다. 별도 “숙련도 누적값” DTO는 현재 확인되지 않는다 — 추후 확장 영역.

접사는 아이템에 붙는 부가 옵션. 같은 무기라도 접사가 다르면 다른 효과를 낸다.

필드의미
OptionName접사 종류 식별자 (EquipmentStatusBonusType enum 매칭)
Value접사의 수치
시점방식
아이템 마스터 정의ItemStatus.Affixes (기획자 고정 정의)
드랍 시 추첨DropItemInfo.Affixes에 추첨 접사 부여
세이브AffixSaveInfo로 직렬화 보존

AffixInfo.TryGetEquipmentStatusBonusTypeOptionName을 enum으로 파싱. 사전 정의된 보정 종류(HP+, STR+, AR+ 등으로 추정)만 부여 가능하다.

  • 접사 개수의 상한 (1개 / N개 / 등급별 차등).
  • 접사 종류 추첨 규칙 (가중치·중복 허용·등급 종속).
  • 접사 수치 범위 (티어·등급별 min/max).

상세는 아이템·루팅·드랍 열린 질문에 등록.

시스템연결 지점
캐릭터 스테이터스클래스 타입, 스탯 보정, 접사를 통한 RuntimeStat 영향.
아이템·루팅·드랍드랍 시 접사 부여, 스킬 아이템(스크롤 등) 처리.
전투스킬 발동 영역, 패시브 보정.
미션·NPC·상인스킬 획득 보상 (Reward Type 확장 시).
영역시트
스킬 마스터SkillInfoTableSheet
스킬 진화SkillEvolutionTableSheet
스킬 가중치SkillProbabilityTableSheet
티어 가중치SkillTierProbabilityTableSheet
접사 마스터(시트 위치 미확정 — EquipmentStatusBonusType enum 매핑 시트)
  • EquipmentStatusBonusType enum의 전체 항목과 매핑 시트 위치.
  • 접사 개수·종류 추첨 규칙 (등급·티어 종속).
  • 숙련도 시스템의 잔존 여부 — 스킬 폐기 시 숙련도 누적 구조도 함께 재검토 필요.