배경
장비를 얻는 정식 경로가 없다. 지금 장비를 넣는 방법은 치트(ECheatCommand.GiveEquip)뿐이라
테스트 계정에서만 장비를 볼 수 있다. 창고 장비 탭은 2026-09-19에 열렸으므로
(T-043) 받을 그릇은 준비돼 있다.
가챠는 이미 1회·10회로 돌고 있는데(GachaService) 풀이 아이템·캐릭터 둘뿐이다:
| 축 | 시트 | GachaRewardType |
|---|---|---|
| 아이템 | GachaItemTable |
Item = 1 |
| 캐릭터 | GachaCharacterTable |
Character = 2 |
| 장비 | 없다 | 없다 |
캐릭터 축이 이미 "개체를 발급하고 목록을 다시 내려보내는" 모양이라, 장비도 같은 자리에 붙는다
(GrantEquip → S_EquipSyncResponse). 새 지급 경로를 만들 필요가 없다.
2026-09-19 — 뽑을 물건은 다 생겼다.
EquipTable이 5행 → 69종이 됐다 (무기 31 · 장신구 7 · 보석 31, Common~Mythic 전 등급). 풀만 만들면 된다.
할 일
-
[x]
GameDesign/Excel—GachaEquipTable시트 (GachaId·EquipTID·Count·Weight).GachaItemTable과 같은 모양이고Ref는EquipTable을 본다 - TID 대역이 규칙적이라 가중치를 등급으로 묶기 쉽다 —11xx농사 ·12xx낚시 ·13xx채굴 ·14xx벌목 ·15xx사냥 (무기),31xx~35xx(보석),20xx장신구(전 산업), 끝자리가 등급 - ⚠️ 구 번호1002(낚싯대) ·2002(어부의 목걸이)는 대역 밖이다. 풀에 넣을지 따로 정한다 -
[x]
GachaInfoTable에 장비 풀 행 추가 (이름 · 비용 —CostSingle/CostMulti) -
[x]
GameData.GachaRewardType· 프로토콜EGachaRewardType에Equip = 3(값이 1:1이어야 한다 —PacketEnumTest가 본다) -
[x]
GachaRewardInfo에EquipTid필드 — 연출용. 지금RewardType이ItemId/CharacterTid중 무엇을 읽을지 정한다 -
[x]
GachaPoolCatalog— 세 번째 시트를 풀에 조립 -
[x]
GachaService.Draw— 장비 보상은Count만큼GrantEquip. 캐릭터와 같이 개체 PK가 DB 발급이라 응답보다 늦게S_EquipSyncResponse로 내려간다 -
[x] 테스트 ·
Server/docs갱신 -
[x] 클라 배선 (2026-09-20) —
GachaPresenter.draws4줄 → 8줄(캐릭터·무기·장신구·보석 × 1회·10회) ·GachaResultPresenter.ToSlotData에EGachaRewardType.Equip분기(EquipTid→GetEquipName). 같은 작업에서 구슬 풀 버튼을 뺐다(T-031 · 이슈 #30) -
[x] 플레이 확인 (2026-09-20 · 사용자) — 뽑으면 골드가 빠지고 창고 장비 탭에 즉시 들어온다
결과 (2026-09-19 · 서버 몫)
-
실측 (더미 클라 + 실서버) — 무기 10연 5,000골드 → 무기 10개 · 장신구 1회 300 → 2001 · 보석 1회 200 → 3302. 장비는
S_EquipSyncResponse로 창고 칸 0부터 차례로 들어왔다 -
풀을 종류별로 셋 둔다 (사용자 결정) —
GachaId3 무기 · 4 장신구 · 5 보석. 한 풀에 한 종류(GachaEquipSheetTest가 지킨다) -
비용(테스트값): 무기 500 / 5,000 · 장신구 300 / 3,000 · 보석 200 / 2,000 골드
-
가중치(테스트값): 등급별 640 · 200 · 100 · 40 · 15 · 5 (아이템 풀과 같다). 구 번호
1001·1002·2001·2002·3001도 종류대로 넣었다 -
GachaRewardType.Equip = 3·EGachaRewardType.Equip = 3·GachaRewardInfo.EquipTid(끝에 추가) -
GachaService— 장비 1개당GrantEquip1건. 개체는S_EquipSyncResponse로 늦게 내려간다 -
기획 반영: 캐릭터 5.1.1 · 게임기획코어 5장 · 아이템 4장 · 거래 3.2 · 문서관계도 ·
Server/docs/데이터-카탈로그.md
완료 조건
더미 클라 또는 클라 가챠 화면에서 장비 풀을 1회·10회 뽑으면 골드가 빠지고, 뽑힌 장비가 창고 장비 탭에 즉시 나타난다(재접속 불필요).
막고 있는 것 / 선행 일감
- 없음. 받는 쪽(클라 장비 탭·
S_EquipSyncResponse처리)도, 뽑을 물건(EquipTable69종)도 서 있다. - ⚠️ 장비 풀의 확률·비용은 기획 결정이다 — 테스트값으로 먼저 돌려도 된다(T-008과 같은 성격).
- ⚠️ 장비
BasePrice와 묶인다 — 뽑기 비용이 판매가 기댓값보다 낮으면 뽑아서 되파는 골드 루프가 생긴다 (T-018이Special6종에서 같은 함정을 적어 뒀다). - 연관: T-029 상자 풀에 장비를 넣을지와 같은 결정이다. 한쪽만 정하면 경로가 둘로 갈린다.
관련 커밋
- 서버 몫:
6a8bc84— 장비 풀 3개 ·GachaEquipTable·EGachaRewardType.Equip - 클라 몫:
7fc65ea(보상 분기) ·81bd727(씬 버튼 8줄) - 요청·완료: 이슈 #27 — 2026-09-20 닫음
참고
- 클라가 할 일은 버튼 2줄 + 보상 분기 하나뿐이다 —
GachaPresenter.draws(인스펙터 배선)에gachaId·drawCount2줄,GachaResultPresenter.ToSlotData에EGachaRewardType.Equip분기.ECheatCommand번호와 인자 뜻만 알려 주면 붙인다. - 치트 지급(
GiveEquip = 8)은 이미 있다 →Server/docs/치트.md