92 lines
6.5 KiB
Markdown
92 lines
6.5 KiB
Markdown
# 게임 API 이벤트 일정·배율 확보 (2026-09-29)
|
||
|
||
앱 1.2.0이 받은 `rpc.api.Event/ListEventInfo` 응답의 디코딩된 객체를 LDPlayer의 실행 중인 테스트 계정 프로세스에서 읽었다. 네트워크 패킷 원본이 아니라, 실제 응답을 담은 protobuf 객체를 필드별로 재구성한 자료다. DB·CDN 파일이나 외부 위키에서 추정한 값이 아니다.
|
||
|
||
보관한 설정: [data/game-events/2026-09-29.json](../../data/game-events/2026-09-29.json). 신규 스코어 챌린지의 일정·라이브 Pt·과제곡 스코어 보너스를 계산기에 적용했다. 미니게임 설정은 원본에 보관하며 기존 라이브 계산 화면의 범위를 확장하지 않는다.
|
||
|
||
## 확보 범위와 검증
|
||
|
||
- 이벤트 설정 5개: 신규 스코어 챌린지, 직전 스포트라이트, 신규 지역 미션, 복귀 미션, 초보자 미션.
|
||
- 마라톤 2개·챕터 5개의 일정, 라이브 Pt 보너스, 악곡 스코어 보너스, 미니게임 Pt 보너스·환산 계수 및 랭킹 보상 설정을 확보했다.
|
||
- 보너스 행 131개, 미니게임 계수 행 26개를 보관했다. 보너스의 카드·멤버·악곡 참조 64개를 해시 검증된 게임 DB와 대조해 모두 확인했다.
|
||
- 앱의 protobuf 정의 12종과 모든 추출 필드의 이름·타입·구조를 대조했다. 누락·추가 필드는 없고 직렬화/역직렬화 왕복 검증을 통과했다.
|
||
- 별도의 메모리 재읽기에서 이벤트 5개의 전체 내용이 동일했다. 표시용 캐시에 있던 4개의 기본 정보도 원래 응답 객체와 모두 일치했다. 복귀 미션은 표시 조건 `cd-comeback_user`가 있으며 이 계정의 표시용 목록에는 없었다.
|
||
- 이벤트 탭의 신규 이벤트 종료 표시 `2026/10/05 19:59`도 추출값과 일치한다. 이 계정에서는 메인 퀘스트 1장 4화 클리어 전 이벤트 상세가 잠겨 있었지만 서버 응답의 설정 객체는 이미 수신되어 있었다.
|
||
- 계정별 `isNew`, `isNoti`, 챕터의 현재 `score`를 공개 설정에서 제외했다. 토큰·인증키·계정 식별자·메모리 주소는 포함하지 않는다. 랭킹 보상은 플레이어 목록이 아닌 공통 보상 규칙이다.
|
||
- 공개 JSON SHA-256: `dbb57a74aa28f1c5684c5dc6f2d45788e8e608011e72aef65db238b148788407`.
|
||
|
||
원본 메모리 추출, 재읽기 및 검증 스크립트는 Git에서 제외된 `data/inspection/android-event-2026-09-29/`에 보관했다. 원본 응답 타입·앱 바이너리·descriptor 해시는 공개 JSON의 `source`에 기록했다. 이 목록은 수신 시점의 설정이며, 과거 모든 이벤트나 향후 서버 변경을 포함한다는 뜻은 아니다.
|
||
|
||
## 신규 스코어 챌린지
|
||
|
||
ID: `marathon_event-normal-005`. 아래 시각은 모두 한국 시간(UTC+9)이다.
|
||
|
||
| 구분 | 서버 값 |
|
||
|---|---|
|
||
| 시작 | 2026-09-29 12:00:00 |
|
||
| 종료 | 2026-10-05 19:59:59 |
|
||
| 교환소 종료 | 2026-10-11 19:59:59 |
|
||
| 집계 시작 | 2026-10-06 00:00:00 |
|
||
| 집계 랭킹 공개 | 2026-10-06 12:00:00 |
|
||
|
||
챕터는 1개다. `isMarathonScoreRankingDisable`은 `true`이며, 악곡별 최고점과 합산 최고점 랭킹 보상은 별도로 존재한다.
|
||
|
||
### 라이브 Pt
|
||
|
||
원본 단위는 퍼밀(‰)이다. `300`은 `+30%`, `100`은 `+10%`다.
|
||
|
||
- 마린·코요리·코보·벨즈의 카드: 멤버 보너스 각 +30%.
|
||
- 이번 신규 수영복 카드 4종: 신규 카드 보너스 각 +30% 추가.
|
||
- 따라서 해당 신규 카드 한 장은 미개화 기준 +60%, 5회 개화 기준 +90%다.
|
||
- 속성만을 조건으로 하는 추가 보너스는 이번 응답에 없다.
|
||
|
||
| 등급 | 개화 0 | 개화 1 | 개화 2 | 개화 3 | 개화 4 | 개화 5 |
|
||
|---|---:|---:|---:|---:|---:|---:|
|
||
| ★3 | 0% | 1% | 1% | 2% | 2% | 3% |
|
||
| ★4 | 0% | 6% | 7% | 8% | 9% | 10% |
|
||
| ★5 | 0% | 15% | 18% | 22% | 26% | 30% |
|
||
|
||
개화 보너스는 해당 단계의 값 하나만 적용한다. 앱의 `CardMarathonLiveEventBonusRatioCache.IsBonusApplicable`에서 희귀도와 양수인 개화 횟수를 동등 비교하고, `CalculateBonusRatioPermil`에서 적용되는 규칙을 합산하는 것을 확인했다. 예를 들어 5회 개화에 1~5단계 값을 누적하지 않는다.
|
||
|
||
### 과제곡 스코어
|
||
|
||
아래 대응 카드에 각 곡의 스코어 +10% 규칙이 있다. 곡명은 확보된 DB의 `Music.titleLangId → LangMusic_Kor`로 확인했다.
|
||
|
||
| 악곡 | ID | 대응 신규 카드 |
|
||
|---|---|---|
|
||
| Kyapi | `m0548` | 마린 `card-00023-5-uniq-0085-00` |
|
||
| BAKU LOVE CHEMISTRY | `m0413` | 코요리 `card-00037-5-uniq-0086-00` |
|
||
| PROPOSE | `m0358` | 코보 `card-03009-5-uniq-0088-00` |
|
||
| Play Dice! | `m0357` | 벨즈 `card-04012-5-uniq-0087-00` |
|
||
|
||
`PARADISE!`(`m0354`)에 대한 스코어 보너스 규칙은 이 응답에 없다.
|
||
|
||
### 미니게임
|
||
|
||
신규 카드 4종 각각에 미니게임 Pt +20% 규칙이 있다. 개화·등급에 따른 미니게임 보너스 행은 없다.
|
||
|
||
| 미니게임 | `marathonScorePermilMultiply` 원본 | 계수 ÷ 1000 | `bonusPermilUp` |
|
||
|---|---:|---:|---:|
|
||
| 줄넘기 | 1300 | 1.3 | 0 |
|
||
| 메가 서킷 | 600 | 0.6 | 0 |
|
||
| 모아 쿠킹 | 44 | 0.044 | 0 |
|
||
| 포카장! | 600 | 0.6 | 0 |
|
||
| 어둠 속 추격 | 300 | 0.3 | 0 |
|
||
| 스플래시 볼 | 2700 | 2.7 | 500 (+50%) |
|
||
|
||
이 표는 서버가 제공한 환산 계수와 보너스다. 미니게임별 점수/시간의 변환·반올림까지 모두 재현한 최종 Pt 공식이라는 의미는 아니다.
|
||
|
||
## 직전 스포트라이트 및 기타 일정
|
||
|
||
`marathon_event-relay-002`는 2026-09-19 20:00:00~09-27 19:59:59, 교환소 종료는 10-03 19:59:59다. 챕터별 대상 멤버는 아키로제·시오리·라플라스·아냐 순서이고 종료 시각은 각각 09-21·23·25·27의 19:59:59다.
|
||
|
||
챕터 대상 멤버 +50%, 해당 이벤트 신규 카드 4종 각 +50%, 대응 과제곡 +10%, 개화 보너스는 위 표와 동일하다. 미니게임 신규 카드 보너스는 각 +20%이고, 미니게임 추가 +50% 대상은 줄넘기다. 이 이벤트는 스플래시 볼 계수 행이 없다.
|
||
|
||
| 미션 | 시작 (한국 시간) | 종료 (한국 시간) |
|
||
|---|---|---|
|
||
| 신규 지역 미션 `area03-release-260929` | 2026-09-29 06:00:00 | 2026-10-26 04:59:59 |
|
||
| 복귀 미션 `comeback-260929` | 2026-09-29 11:00:00 | 2026-10-19 04:59:59 |
|
||
| 초보자 미션 | 원본의 기본 시작값 2000-01-01 00:00:00 | 미설정 (`0`) |
|
||
|
||
원본은 Unix 밀리초를 사용한다. 종료값은 초 단위 `...59.000`이며 기존 수동 기록의 `...59.999`로 보정하지 않았다. 표시·개방 조건이 있는 미션은 기간에 들어왔다는 사실만으로 모든 계정에서 사용할 수 있다고 판단하면 안 된다.
|