Implement fishing progression features #6

Merged
myong merged 2 commits from myong_dev into main 2026-04-07 07:08:31 +00:00
Collaborator

요약

이번 PR에서는 낚시 미니게임의 진행 시스템을 확장했습니다.

주요 포함 내용:

  • 낚시 프로필 영속화
  • /fishing status 구현
  • 낚시 도감(/fishing dex) 구현
  • 물고기 크기(cm) 시스템 추가
  • 레어도 기반 크기 배율 적용
  • 서버 크기 랭킹(/fishing ranking) 구현
  • 관련 문서 및 데이터 파일 정리

변경 사항

1. 낚시 프로필 및 기록 저장

  • FishingProfile 모델 추가
  • 낚시 시도 수, 성공/실패, 누적 골드, 최고 보상, 레어도별 포획 수 저장
  • 마지막 낚시 시각 저장

2. 낚시 도감 구현

  • FishingCollectionEntry 모델 추가
  • 물고기별 포획 수 저장
  • 물고기별 최고 레어도 저장
  • 물고기별 최고 크기(cm) 저장
  • 마지막 포획 시각 저장
  • /fishing dex 명령 추가

3. 물고기 크기 시스템 추가

  • fish_catalog.json에 물고기별 기본 크기 범위(sizeCm.min/max) 추가
  • fish_rarities.json에 레어도별 크기 배율(sizeMultiplier.min/max) 추가
  • 최종 크기는 물고기 기본 크기 × 레어도 배율로 계산
  • 낚시 성공 메시지에 물고기 크기(cm) 표시

4. 레어도/크기 데이터 정리

  • 물고기 기본 데이터와 레어도 배율 데이터를 JSON 기준으로 분리
  • 물고기별 기본 크기는 fish_catalog.json
  • 레어도별 크기 보정은 fish_rarities.json
  • JSON 파일은 런타임 파싱 안정성을 위해 UTF-8 without BOM으로 유지

5. 낚시 랭킹 추가

  • /fishing ranking 명령 추가
  • 길드 내 최고 크기 기준 Top 10 표시
  • 각 항목에 아래 정보 출력
    • 유저
    • 물고기 종류
    • 최고 레어도
    • 최고 크기(cm)

6. 문서 반영

  • 낚시 기획서 Phase 2 확장 반영
  • WorkDone 문서 추가
  • Docs/index.md 업데이트

새로 추가된 명령

  • /fishing status
  • /fishing dex
  • /fishing ranking

데이터 파일

  • resource/data/fishing/fish_catalog.json
  • resource/data/fishing/fish_rarities.json

검증

  • yarn build
  • yarn test --runInBand

두 명령 모두 정상 통과했습니다.

참고 사항

  • 문서/소스 파일은 UTF-8로 정리했습니다.
  • JSON 데이터 파일은 BOM 없는 UTF-8로 유지했습니다.
  • 글로벌 명령은 직접 재등록했고, /fishing 하위 명령에 ranking까지 포함된 것을 확인했습니다.
## 요약 이번 PR에서는 낚시 미니게임의 진행 시스템을 확장했습니다. 주요 포함 내용: - 낚시 프로필 영속화 - `/fishing status` 구현 - 낚시 도감(`/fishing dex`) 구현 - 물고기 크기(cm) 시스템 추가 - 레어도 기반 크기 배율 적용 - 서버 크기 랭킹(`/fishing ranking`) 구현 - 관련 문서 및 데이터 파일 정리 ## 변경 사항 ### 1. 낚시 프로필 및 기록 저장 - `FishingProfile` 모델 추가 - 낚시 시도 수, 성공/실패, 누적 골드, 최고 보상, 레어도별 포획 수 저장 - 마지막 낚시 시각 저장 ### 2. 낚시 도감 구현 - `FishingCollectionEntry` 모델 추가 - 물고기별 포획 수 저장 - 물고기별 최고 레어도 저장 - 물고기별 최고 크기(cm) 저장 - 마지막 포획 시각 저장 - `/fishing dex` 명령 추가 ### 3. 물고기 크기 시스템 추가 - `fish_catalog.json`에 물고기별 기본 크기 범위(`sizeCm.min/max`) 추가 - `fish_rarities.json`에 레어도별 크기 배율(`sizeMultiplier.min/max`) 추가 - 최종 크기는 `물고기 기본 크기 × 레어도 배율`로 계산 - 낚시 성공 메시지에 물고기 크기(cm) 표시 ### 4. 레어도/크기 데이터 정리 - 물고기 기본 데이터와 레어도 배율 데이터를 JSON 기준으로 분리 - 물고기별 기본 크기는 `fish_catalog.json` - 레어도별 크기 보정은 `fish_rarities.json` - JSON 파일은 런타임 파싱 안정성을 위해 UTF-8 without BOM으로 유지 ### 5. 낚시 랭킹 추가 - `/fishing ranking` 명령 추가 - 길드 내 최고 크기 기준 Top 10 표시 - 각 항목에 아래 정보 출력 - 유저 - 물고기 종류 - 최고 레어도 - 최고 크기(cm) ### 6. 문서 반영 - 낚시 기획서 Phase 2 확장 반영 - WorkDone 문서 추가 - `Docs/index.md` 업데이트 ## 새로 추가된 명령 - `/fishing status` - `/fishing dex` - `/fishing ranking` ## 데이터 파일 - `resource/data/fishing/fish_catalog.json` - `resource/data/fishing/fish_rarities.json` ## 검증 - `yarn build` - `yarn test --runInBand` 두 명령 모두 정상 통과했습니다. ## 참고 사항 - 문서/소스 파일은 UTF-8로 정리했습니다. - JSON 데이터 파일은 BOM 없는 UTF-8로 유지했습니다. - 글로벌 명령은 직접 재등록했고, `/fishing` 하위 명령에 `ranking`까지 포함된 것을 확인했습니다.
myong added 1 commit 2026-04-07 05:53:43 +00:00
myong added 1 commit 2026-04-07 05:58:18 +00:00
myong merged commit 429953306c into main 2026-04-07 07:08:31 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: art/Kord#6
No description provided.