forked from Hay1tsme/artemis
feat(mai2): Add PRiSM version support
- Add Mai2Prism class inheriting from Mai2BuddiesPlus, implementing basic functionality for PRiSM version - Add Mai2Prism reference and version check logic in index.py - Implement API request handling methods for new features in PRiSM version
This commit is contained in:
@ -24,6 +24,7 @@ from .base import Mai2Base
|
||||
from .finale import Mai2Finale
|
||||
from .dx import Mai2DX
|
||||
from .dxplus import Mai2DXPlus
|
||||
from .prism import Mai2Prism
|
||||
from .splash import Mai2Splash
|
||||
from .splashplus import Mai2SplashPlus
|
||||
from .universe import Mai2Universe
|
||||
@ -67,7 +68,8 @@ class Mai2Servlet(BaseServlet):
|
||||
Mai2Festival,
|
||||
Mai2FestivalPlus,
|
||||
Mai2Buddies,
|
||||
Mai2BuddiesPlus
|
||||
Mai2BuddiesPlus,
|
||||
Mai2Prism
|
||||
]
|
||||
|
||||
self.logger = logging.getLogger("mai2")
|
||||
@ -307,8 +309,10 @@ class Mai2Servlet(BaseServlet):
|
||||
internal_ver = Mai2Constants.VER_MAIMAI_DX_FESTIVAL_PLUS
|
||||
elif version >= 140 and version < 145: # BUDDiES
|
||||
internal_ver = Mai2Constants.VER_MAIMAI_DX_BUDDIES
|
||||
elif version >= 145: # BUDDiES PLUS
|
||||
elif version >= 145 and version < 150: # BUDDiES PLUS
|
||||
internal_ver = Mai2Constants.VER_MAIMAI_DX_BUDDIES_PLUS
|
||||
elif version >= 150: # PRiSM
|
||||
internal_ver = Mai2Constants.VER_MAIMAI_DX_PRISM
|
||||
elif game_code == "SDGA": # Int
|
||||
if version < 105: # 1.0
|
||||
internal_ver = Mai2Constants.VER_MAIMAI_DX
|
||||
|
46
titles/mai2/prism.py
Normal file
46
titles/mai2/prism.py
Normal file
@ -0,0 +1,46 @@
|
||||
from typing import Dict
|
||||
|
||||
from core.config import CoreConfig
|
||||
from titles.mai2.buddiesplus import Mai2BuddiesPlus
|
||||
from titles.mai2.const import Mai2Constants
|
||||
from titles.mai2.config import Mai2Config
|
||||
|
||||
|
||||
class Mai2Prism(Mai2BuddiesPlus):
|
||||
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
|
||||
super().__init__(cfg, game_cfg)
|
||||
self.version = Mai2Constants.VER_MAIMAI_DX_PRISM
|
||||
|
||||
async def handle_cm_get_user_preview_api_request(self, data: Dict) -> Dict:
|
||||
user_data = await super().handle_cm_get_user_preview_api_request(data)
|
||||
|
||||
# hardcode lastDataVersion for CardMaker
|
||||
user_data["lastDataVersion"] = "1.50.00"
|
||||
return user_data
|
||||
|
||||
async def handle_get_game_kaleidx_scope_api_request(self, data: Dict) -> Dict:
|
||||
return {
|
||||
"gameKaleidxScopeList": []
|
||||
}
|
||||
|
||||
async def handle_get_user_kaleidx_scope_api_request(self, data: Dict) -> Dict:
|
||||
return {
|
||||
"userId": data["userId"],
|
||||
"gameKaleidxScopeList": []
|
||||
}
|
||||
|
||||
async def handle_get_game_music_score_api_request(self, data: Dict) -> Dict:
|
||||
return {
|
||||
"gameMusicScore": {
|
||||
"musicId": 0,
|
||||
"level": 0,
|
||||
"type": 0,
|
||||
"scoreData": ""
|
||||
}
|
||||
}
|
||||
|
||||
async def handle_get_user_new_item_list_api_request(self, data: Dict) -> Dict:
|
||||
return {
|
||||
"userId": data["userId"],
|
||||
"userItemList": []
|
||||
}
|
Reference in New Issue
Block a user