배경
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개 통과 (새
UserBuildingTest11개 ·UnlockCatalogTest5개)
완료 조건
서버 테스트가 통과하고, 건물 노드를 열면 그 산업 슬롯의 속도·산출량이 오른다.
막고 있는 것 / 선행 일감
- 없음