Improve live and random live handling

- Add random live handlers, schemas and persistence for lot/play/continue/gameover/reward flow
- Update live status and schedule generation, including special rotation handling and CN timezone alignment
- Add config support for unlocking all daily special rotation songs and document the option
- Refresh live play, reward, precise score and session logic plus bundled main.db updates

Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
2026-06-06 20:59:45 +08:00
parent 4e642cc7c1
commit 0aacf8a4e9
28 changed files with 1085 additions and 228 deletions
+36
View File
@@ -0,0 +1,36 @@
package rliveschema
import liveschema "honoka-chan/internal/schema/live"
type LotReq struct {
Module string `json:"module"`
Action string `json:"action"`
MemberCategory int `json:"member_category"`
Mgd int `json:"mgd"`
Difficulty int `json:"difficulty"`
Attribute int `json:"attribute"`
TimeStamp int64 `json:"timeStamp"`
CommandNum string `json:"commandNum"`
}
type LiveInfo struct {
LiveDifficultyID int `json:"live_difficulty_id"`
IsRandom bool `json:"is_random"`
AcFlag int `json:"ac_flag"`
SwingFlag int `json:"swing_flag"`
}
type LotData struct {
LiveInfo LiveInfo `json:"live_info"`
HasSlideNotes int `json:"has_slide_notes"`
PartyList []liveschema.PartyList `json:"party_list"`
TrainingEnergy int `json:"training_energy"`
TrainingEnergyMax int `json:"training_energy_max"`
Token string `json:"token"`
}
type LotResp struct {
ResponseData LotData `json:"response_data"`
ReleaseInfo []any `json:"release_info"`
StatusCode int `json:"status_code"`
}