배경
T-150에서 발굴은 상자 대신 미감정 유물(7종 · ItemType.Relic)을 캐고,
골드를 내고 감정하면 상자 같은 보상과 낮은 확률로 아티팩트(보유만으로 계정 영구 효과)가 나온다. 서버·데이터는 끝났다.
- 기획:
유물감정.md· 목업:유물감정목업.html(https://claude.ai/artifact/TZp6NxtCestLgWfkJPsJdY) - 서버가 보내는 것:
- 감정 = 상자 열기와 같은 요청(
C_ItemUseRequest→S_ItemUseResponse). 유물은ItemTable.OpenCostGold× 개수만큼 골드가 빠진다(아티팩트 할인 적용). 모자라면NotEnoughCurrency - 보상
GachaRewardInfo.RewardType = Artifact(5) →ArtifactTid를 읽는다. 아티팩트는 인벤토리에 안 들어간다 S_ArtifactListResponse— 보관함 스냅샷(번호 · 수량). 로그인 직후와 수량이 바뀔 때마다 통째로 온다. 수량 0 = 얻었다가 다 내보냄(도감엔 남김)
- 감정 = 상자 열기와 같은 요청(
할 일
- [ ]
S_ArtifactListResponse핸들러 (지금 MIKA001 경고가 난다) - [ ] 등급 색·이름 표에
GlobalRarity.Special(7) — 무지개 - [ ] 유물 아이콘 7종 · Special 칸 애니메이션(무지개 테두리 회전 · 빛줄기 · 반짝임)
- [ ] 감정 버튼에 비용 표시(할인 반영은 서버 값 기준 — 계산식은
User.DiscountAppraiseCost) · 골드 부족 안내 - [ ] 감정 연출 — 흔들림 → 금 3번 → 번쩍 → 조각 → 등장 · 아티팩트/Special 유물이면 띠와 한 번 더 빛남 · 클릭으로 건너뛰기 (목업 타임라인 표)
- [ ] 아티팩트 보관함(= 도감) — 번호 순 고정 칸 ·
전체 / 보유 중· 등급 필터 · 칸 상태 3가지(보유 · 0개 흐리게 · 미획득 점선) · 수집 수 · 상세 패널 (효과 합계는 보여 주지 않는다) - [ ] 거래소 등록 버튼(상세 패널) —
C_AuctionRegisterRequest { Kind = Artifact, ItemTid = 아티팩트 번호, Count, UnitPrice }. 즉시 판매 버튼은 없다 (T-152). 단가 하한 =ArtifactTable.BasePrice· 마지막 1개면 "효과가 꺼진다" 경고 - [ ] 거래소 화면에 아티팩트 탭 —
C_MarketItemsRequest·C_MarketPriceRequest·C_MarketBuyRequest에Kind = Artifact(비우면 자원) - [ ] 우편
MailInfo.Artifacts표시 — 받으면 보관함으로 간다(인벤토리 칸 무관)
완료 조건
유물을 감정해 연출을 보고, 나온 아티팩트가 보관함의 그 번호 칸에 수량으로 보인다.
막고 있는 것 / 선행 일감
- T-148 — 발굴 교체 클라 반영
- 🎨 아트: 유물 아이콘 7종 · 아티팩트 아이콘
관련 커밋
- 없음