58 lines
3.4 KiB
Python
58 lines
3.4 KiB
Python
|
from datetime import date, datetime, timedelta
|
||
|
from typing import Any, Dict
|
||
|
import pytz
|
||
|
import json
|
||
|
|
||
|
from core.config import CoreConfig
|
||
|
from titles.ongeki.base import OngekiBase
|
||
|
from titles.ongeki.const import OngekiConstants
|
||
|
from titles.ongeki.config import OngekiConfig
|
||
|
|
||
|
class OngekiBrightMemory(OngekiBase):
|
||
|
|
||
|
def __init__(self, core_cfg: CoreConfig, game_cfg: OngekiConfig) -> None:
|
||
|
super().__init__(core_cfg, game_cfg)
|
||
|
self.version = OngekiConstants.VER_ONGEKI_BRIGHT_MEMORY
|
||
|
|
||
|
def handle_get_game_setting_api_request(self, data: Dict) -> Dict:
|
||
|
ret = super().handle_get_game_setting_api_request(data)
|
||
|
ret["gameSetting"]["dataVersion"] = "1.35.00"
|
||
|
ret["gameSetting"]["onlineDataVersion"] = "1.35.00"
|
||
|
ret["gameSetting"]["maxCountCharacter"] = 50
|
||
|
ret["gameSetting"]["maxCountCard"] = 300
|
||
|
ret["gameSetting"]["maxCountItem"] = 300
|
||
|
ret["gameSetting"]["maxCountMusic"] = 50
|
||
|
ret["gameSetting"]["maxCountMusicItem"] = 300
|
||
|
ret["gameSetting"]["maxCountRivalMusic"] = 300
|
||
|
return ret
|
||
|
|
||
|
def handle_get_user_memory_chapter_api_request(self, data: Dict) -> Dict:
|
||
|
memories = self.data.item.get_memorychapters(data["userId"])
|
||
|
if not memories:
|
||
|
return {"userId": data["userId"], "length":6, "userMemoryChapterList":[
|
||
|
{"gaugeId":0, "isClear": False, "gaugeNum": 0, "chapterId": 70001, "jewelCount": 0, "isBossWatched": False, "isStoryWatched": False, "isDialogWatched": False, "isEndingWatched": False, "lastPlayMusicId": 0, "lastPlayMusicLevel": 0, "lastPlayMusicCategory": 0},
|
||
|
{"gaugeId":0, "isClear": False, "gaugeNum": 0, "chapterId": 70002, "jewelCount": 0, "isBossWatched": False, "isStoryWatched": False, "isDialogWatched": False, "isEndingWatched": False, "lastPlayMusicId": 0, "lastPlayMusicLevel": 0, "lastPlayMusicCategory": 0},
|
||
|
{"gaugeId":0, "isClear": False, "gaugeNum": 0, "chapterId": 70003, "jewelCount": 0, "isBossWatched": False, "isStoryWatched": False, "isDialogWatched": False, "isEndingWatched": False, "lastPlayMusicId": 0, "lastPlayMusicLevel": 0, "lastPlayMusicCategory": 0},
|
||
|
{"gaugeId":0, "isClear": False, "gaugeNum": 0, "chapterId": 70004, "jewelCount": 0, "isBossWatched": False, "isStoryWatched": False, "isDialogWatched": False, "isEndingWatched": False, "lastPlayMusicId": 0, "lastPlayMusicLevel": 0, "lastPlayMusicCategory": 0},
|
||
|
{"gaugeId":0, "isClear": False, "gaugeNum": 0, "chapterId": 70005, "jewelCount": 0, "isBossWatched": False, "isStoryWatched": False, "isDialogWatched": False, "isEndingWatched": False, "lastPlayMusicId": 0, "lastPlayMusicLevel": 0, "lastPlayMusicCategory": 0},
|
||
|
{"gaugeId":0, "isClear": False, "gaugeNum": 0, "chapterId": 70099, "jewelCount": 0, "isBossWatched": False, "isStoryWatched": False, "isDialogWatched": False, "isEndingWatched": False, "lastPlayMusicId": 0, "lastPlayMusicLevel": 0, "lastPlayMusicCategory": 0}
|
||
|
]}
|
||
|
|
||
|
memory_chp = []
|
||
|
for chp in memories:
|
||
|
tmp = chp._asdict()
|
||
|
tmp.pop("id")
|
||
|
tmp.pop("user")
|
||
|
memory_chp.append(tmp)
|
||
|
|
||
|
return {
|
||
|
"userId": data["userId"],
|
||
|
"length": len(memory_chp),
|
||
|
"userMemoryChapterList": memory_chp
|
||
|
}
|
||
|
|
||
|
def handle_get_game_music_release_state_api_request(self, data: Dict) -> Dict:
|
||
|
return {
|
||
|
"techScore": 0,
|
||
|
"cardNum": 0
|
||
|
}
|