최종 갱신 (KST)

← 일감 목록
T-166

서버 — 섬 산업 건물 (건물 레벨 · 기술 트리 · 속도·산출량 노드 · 자원 비용)

진우 Resolve 우선순위 보통 목표 261024

배경

T-105에서 자원 사용처를 섬 산업 건물로 정했다 → 건물. 첫 구현은 건물 레벨 + 기술 트리 + 수치 노드(속도·산출량) 까지다. 희귀도·기능 노드는 그 콘텐츠가 생길 때 붙인다 (진우, 2026-10-16).

할 일

  • [x] 엑셀 — Building.xlsx(BuildingTable · BuildingNodeTable) · UnlockTable에 ItemTIDs · ItemCounts · Enum.xlsx에 BuildingEffectType (이름 확인 2026-10-16)
  • [x] 테스트 데이터 — 건물 5개(산업당 1) · 해금 TID 4xxx
  • [x] 해금 요청이 자원을 받는다 — 모자라면 NotEnoughItem · 골드·자원 모두 확인한 뒤 차감
  • [x] 노드 효과 — 속도는 Σ가산 · 산출량은 그 산업 항 · 열기 전에 정산
  • [x] 로드 검증 — 노드 행의 UnlockTID가 해금 표에 있다 · ItemTIDs/ItemCounts 길이가 같다
  • [x] 테스트 · 문서(건물 · 해금)
  • [x] 클라 이슈 — 건물 화면 → 이슈 #75

한 것 (2026-10-16)

  • 건물 행은 UnlockTable 그대로 — 상태 저장·패킷 추가 없음. 자원이 빠지면 S_UpdateItemResponse가 따라간다
  • 속도 노드는 슬롯 내역의 TraitAddPermille에 합쳐진다(특성·아티팩트와 같은 자리) — 패킷 모양은 그대로
  • 엑셀 이름 중 효과 enum은 확인한 대로 BuildingEffectType(SpeedAdd · YieldAdd)
  • format-excel.py — 묶인 열 너비를 낱개로 푼다. 안 풀면 Localization.xlsx 저장이 "same key"로 깨진다(새 번역 키가 생길 때마다)
  • 테스트 1014개 통과 (새 UserBuildingTest 11개 · UnlockCatalogTest 5개)

완료 조건

서버 테스트가 통과하고, 건물 노드를 열면 그 산업 슬롯의 속도·산출량이 오른다.

막고 있는 것 / 선행 일감

  • 없음

관련 커밋