콘텐츠로 이동
GameDesign

아이템 시트

본 문서는 아이템 마스터 시트들을 코드 DTO 기준으로 정리한다. 각 시트는 한 아이템 카테고리에 대응하며, 모든 아이템 시트는 공통 베이스(ItemTableData)를 상속한다.

연결 시스템: 아이템·루팅·드랍, 전투, 인벤토리·창고, 파츠.

모든 아이템 시트가 공유하는 컬럼.

컬럼타입의미
idstring아이템 고유 식별자
category2string세부 카테고리 (ItemManager.Category2 enum 문자열)
namestring표시명 키 (현지화)
gradeint등급 (ItemGrade enum 값, 1=Poor ~ 7=Artifact)
inventorySizeint[]격자 점유 [sizeX, sizeY]
EntityTagsstring[]의미 시너지 태그 (지역·컨셉·문화 등). 카테고리·등급·슬롯은 태그에 넣지 않는다. 운영은 태그 시스템 참조.
priceint기준가 (푼 단위). 0이면 거래 불가
worthRarityint가치 가중치 (드랍 추첨용)
weightfloat휴대 무게
noiseLevelfloat사용·휘두름 시 발생 소음
durabilityfloat내구도 (방어구·무기·파츠)

연결: Category1은 시트 분리로 표현되고, category2 컬럼이 세부 분류.

ItemTableData를 상속하며 전투 관련 컬럼이 추가된다.

컬럼타입의미
availablePartsstring[]호환 가능한 파츠 ID·태그
attackTypestring공격 타입 (베기/찌르기/때리기 등)
damageTypestring데미지 타입 (물리/마법/원거리 등)
attackRating01 ~ 05int콤보 단계별 또는 데미지 슬롯별 공격등급
damageDeviationfloat데미지 분산
hittedValue01 ~ 05int피격 부여 게이지 5단계
hittedDeviationfloat피격 분산
stunValue01 ~ 05int스턴 부여 게이지 5단계
stunDeviationfloat스턴 분산
criticalRatefloat치명타 발동률
clriticalDeviationfloat치명타 분산 (sic — 코드 오탈자)
frontFatalDamageRatefloat앞잡 데미지 배수
backFatalDamageRatefloat뒤잡 데미지 배수
sprintAttackDamageRatefloat질주 공격 데미지 배수
chargeAttackDamageRatefloat차지 공격 데미지 배수
elementTypestring속성 타입
elementDamageint속성 데미지
rangefloat공격 사거리
attacksPerSecondfloatAPS (초당 공격 횟수)
staminaCostint1회 공격당 스태미너 소모
combatSkillstring무기 종속 콤보 스킬 식별자
컬럼타입의미
defensefloat기본 방어력
slashDefensefloat베기 방어
strikeDefensefloat타격 방어
pierceDefensefloat찌르기 방어
physicsAbsorptionfloat물리 흡수율
elementAbsorptionfloat속성 흡수율
staggerValuefloat경직 저항
guardStabilityfloat가드 안정도 (전투 — 막기s 값)
partsstring[]호환 파츠

방패도 ArmorTableData로 운영되며 guardStability가 패링·막기 모델의 안정도 입력이다.

상속만 받고 추가 컬럼 없음. 효과는 Affix로 부여된다.

컬럼타입의미
extraSlotRowColumnint[]가방 장착 시 인벤토리에 추가되는 [rows, columns]

이로써 인벤토리 §5 Bag 슬롯 열린 질문이었던 “Bag이 인벤토리 칸을 늘리는지 별도 영역인지”가 칸 추가형으로 확정된다.

컬럼타입의미
slotCountint벨트가 제공하는 단축 슬롯 개수

벨트는 단축 슬롯(Quick) 개수를 결정한다. 인벤토리 §5 열린 질문 해소.

컬럼타입의미
stackint한 칸 최대 스택
preDelayfloat사용 전 딜레이 (캐스팅)
effectDurationfloat효과 지속 시간
optionType1string[]효과 옵션 종류 배열
optionValue1float[]효과 옵션 수치 배열

optionType1/optionValue1은 같은 길이의 병렬 배열로 운영된다.

컬럼타입의미
stackint한 칸 최대 스택
컬럼타입의미
stackint한 칸 최대 스택

화폐가 일반 아이템 슬롯에서 스택형으로 운영됨이 확정된다 (인벤토리 — 휴대 인벤토리 참조).

컬럼타입의미
partsTypestring파츠 슬롯 타입 (MainParts/SubParts 또는 세부)
availablePartsstring[]호환 무기 카테고리·태그

상세 운영은 파츠 시스템 참조.

11. 무기 공격 파라미터 — WeaponAttackParameterTableData

섹션 제목: “11. 무기 공격 파라미터 — WeaponAttackParameterTableData”

무기 카테고리별 Δ-더블 힐 곡선.

컬럼타입의미
category2string무기 세부 카테고리
namestring표시명
tierint티어
strengthDelta1 ~ strengthN2floatSTR 곡선 6개 파라미터 (Δ1·Δ2·k1·k2·n1·n2)
agilityDelta1 ~ agilityN2floatAGI 곡선 6개 파라미터

이 시트가 무기 카테고리별로 다른 보정 곡선을 만든다. (전투 — 공격력 산식)

12. 파츠 공격 파라미터 — PartsAttackParameterTableData

섹션 제목: “12. 파츠 공격 파라미터 — PartsAttackParameterTableData”

파츠가 부착될 때 더하는 Δ-더블 힐 보정. 컬럼 구조는 위와 동일.

아이템 등급·카테고리별 접사 풀 정의.

컬럼타입의미
category1string적용 대상 상위 카테고리
category2string적용 대상 세부 카테고리
gradeint적용 대상 등급
ableQuantityint동시 부여 가능 접사 개수
factorfloat접사 값 보정 계수
minimumOffsetfloat최소 보정 오프셋
option1string1번 옵션 타입 (EquipmentStatusBonusType enum)
minValue1, maxValue1float1번 옵션 값 범위
option2 ~ option5string2~5번 옵션
minValue2~5, maxValue2~5float2~5번 옵션 값 범위

접사는 등급·카테고리별로 다른 옵션 풀과 값 범위를 가진다. 5개 옵션 슬롯이 정의되며, ableQuantity가 실제 부여 개수를 결정한다.

이로써 아이템·루팅·드랍 §10 열린 질문이었던 “접사 개수·종류 추첨 규칙”이 시트 구조 기준으로 해소된다.

아이템·루팅·드랍 §1.1에서 풀이한 시트. 컬럼 요약.

컬럼 그룹컬럼
tier
드랍 그룹 키dropEquipKindsValue, dropPartsRateValue, dropMiscKindsValue, dropGradeValue, dropMoneyValue
무기 추첨weaponKinds0Value, weaponKinds1Value (0/1 무기)
파츠 비율partsRate20Value, partsRate40Value, partsRate60Value, partsRate80Value, partsRate100Value
방어구 개수armorKinds0Value ~ armorKinds4Value (0~4 방어구)
잡템 개수miscKinds0Value ~ miscKinds6Value (0~6 잡템)
등급 확률itemGradePoorRate ~ itemGradeArtifactRate (7등급)
골드noneMoneyRate, minMoney, maxMoney
상자 종류woodChestValue, jewelChestValue, lockedChestValue

맵 모듈 §6에서 상세. 컬럼 요약.

컬럼 그룹컬럼
groupID
인스턴스 수count
드랍 키dropWorthValue, dropEquipKindsValue, dropPartsRateValue, dropMiscKindsValue, dropGradeValue, dropMoneyValue
스택dropStackCountValue, dropStackCountAlpha
후보 필터weaponQueryTags, mainPartsQueryTags, subPartsQueryTags, armorQueryTags, miscQueryTags

16. 아이템 그룹 — ItemGroupTableData

섹션 제목: “16. 아이템 그룹 — ItemGroupTableData”

상자 그룹과 동일 컬럼 (단 count 없음). 아이템·루팅·드랍 §1.3 참조.

ItemTableData (베이스)
├─ WeaponTableData ─── WeaponAttackParameterTableData (category2별 곡선)
├─ ArmorTableData (방패 포함)
├─ AccessoryTableData
├─ BagTableData
├─ BeltTableData
├─ UtilityTableData
├─ MaterialTableData
├─ MoneyTableData
└─ PartsTableData ─── PartsAttackParameterTableData
ItemAffixTableData ─── (category1, category2, grade)로 위 아이템에 부여
DropTierTableData (티어별 추첨 확률) ─── 몹 tier로 조회
ChestGroupTableData / ItemGroupTableData ─── 그룹별 후보 필터

18. 본문에서 사용되지 않는 컬럼 (확인 필요)

섹션 제목: “18. 본문에서 사용되지 않는 컬럼 (확인 필요)”
  • WeaponTableData.elementType / elementDamage — 속성 시스템은 전투 시스템에 명시되지 않음. 별도 시스템 작성 필요.
  • WeaponTableData.criticalRate / clriticalDeviation — 일반 치명타 (앞·뒤잡과 별개) 시스템 미문서화.
  • ArmorTableData.physicsAbsorption / elementAbsorption — 방어력 산식과 별개의 흡수율 — 흐름 문서화 필요.
  • UtilityTableData.preDelay — 캐스팅 시간 운영 미문서화.

이들은 risks에 “기획서 누락 — 코드에는 있음” 항목으로 추가한다.