forked from Hay1tsme/artemis
diva: implement StartResponse
This commit is contained in:
@ -419,89 +419,67 @@ class DivaBase:
|
||||
)
|
||||
return f"&cd_adm_result=1&pd_id={data['aime_id']}"
|
||||
|
||||
def handle_start_request(self, data: bytes) -> str:
|
||||
profile = self.data.profile.get_profile(data["pd_id"], self.version)
|
||||
profile_shop = self.data.item.get_shop(data["pd_id"], self.version)
|
||||
def handle_start_request(self, data: bytes) -> str:
|
||||
req = StartRequest(data)
|
||||
profile = self.data.profile.get_profile(req.pd_id, self.version)
|
||||
profile_shop = self.data.item.get_shop(req.pd_id, self.version)
|
||||
if profile is None:
|
||||
return
|
||||
|
||||
resp = StartResponse(req.cmd, req.req_id, req.pd_id, profile['player_name'])
|
||||
|
||||
mdl_have = "F" * 250
|
||||
# generate the mdl_have string if "unlock_all_modules" is disabled
|
||||
if not self.game_config.mods.unlock_all_modules:
|
||||
mdl_have = self.data.module.get_modules_have_string(
|
||||
resp.mdl_have = self.data.module.get_modules_have_string(
|
||||
data["pd_id"], self.version
|
||||
)
|
||||
|
||||
cstmz_itm_have = "F" * 250
|
||||
# generate the cstmz_itm_have string if "unlock_all_items" is disabled
|
||||
if not self.game_config.mods.unlock_all_items:
|
||||
cstmz_itm_have = self.data.customize.get_customize_items_have_string(
|
||||
resp.cstmz_itm_have = self.data.customize.get_customize_items_have_string(
|
||||
data["pd_id"], self.version
|
||||
)
|
||||
|
||||
response = f"&pd_id={data['pd_id']}"
|
||||
response += "&start_result=1"
|
||||
|
||||
response += "&accept_idx=100"
|
||||
response += f"&hp_vol={profile['hp_vol']}"
|
||||
response += f"&btn_se_vol={profile['btn_se_vol']}"
|
||||
response += f"&btn_se_vol2={profile['btn_se_vol2']}"
|
||||
response += f"&sldr_se_vol2={profile['sldr_se_vol2']}"
|
||||
response += f"&sort_kind={profile['sort_kind']}"
|
||||
response += f"&player_name={profile['player_name']}"
|
||||
response += f"&lv_num={profile['lv_num']}"
|
||||
response += f"&lv_pnt={profile['lv_pnt']}"
|
||||
response += f"&lv_efct_id={profile['lv_efct_id']}"
|
||||
response += f"&lv_plt_id={profile['lv_plt_id']}"
|
||||
response += f"&mdl_have={mdl_have}"
|
||||
response += f"&cstmz_itm_have={cstmz_itm_have}"
|
||||
response += f"&use_pv_mdl_eqp={int(profile['use_pv_mdl_eqp'])}"
|
||||
response += f"&use_mdl_pri={int(profile['use_mdl_pri'])}"
|
||||
response += f"&use_pv_skn_eqp={int(profile['use_pv_skn_eqp'])}"
|
||||
response += f"&use_pv_btn_se_eqp={int(profile['use_pv_btn_se_eqp'])}"
|
||||
response += f"&use_pv_sld_se_eqp={int(profile['use_pv_sld_se_eqp'])}"
|
||||
response += f"&use_pv_chn_sld_se_eqp={int(profile['use_pv_chn_sld_se_eqp'])}"
|
||||
response += f"&use_pv_sldr_tch_se_eqp={int(profile['use_pv_sldr_tch_se_eqp'])}"
|
||||
response += f"&vcld_pts={profile['lv_efct_id']}"
|
||||
response += f"&nxt_pv_id={profile['nxt_pv_id']}"
|
||||
response += f"&nxt_dffclty={profile['nxt_dffclty']}"
|
||||
response += f"&nxt_edtn={profile['nxt_edtn']}"
|
||||
response += f"&dsp_clr_brdr={profile['dsp_clr_brdr']}"
|
||||
response += f"&dsp_intrm_rnk={profile['dsp_intrm_rnk']}"
|
||||
response += f"&dsp_clr_sts={profile['dsp_clr_sts']}"
|
||||
response += f"&rgo_sts={profile['rgo_sts']}"
|
||||
resp.pd_id = data['pd_id']
|
||||
resp.hp_vol = {profile['hp_vol']}
|
||||
resp.btn_se_vol = {profile['btn_se_vol']}
|
||||
resp.btn_se_vol2 = {profile['btn_se_vol2']}
|
||||
resp.sldr_se_vol2 = {profile['sldr_se_vol2']}
|
||||
resp.sort_kind = {profile['sort_kind']}
|
||||
resp.player_name = {profile['player_name']}
|
||||
resp.lv_num = {profile['lv_num']}
|
||||
resp.lv_pnt = {profile['lv_pnt']}
|
||||
resp.lv_efct_id = {profile['lv_efct_id']}
|
||||
resp.lv_plt_id = {profile['lv_plt_id']}
|
||||
resp.use_pv_mdl_eqp = {int(profile['use_pv_mdl_eqp'])}
|
||||
resp.use_mdl_pri = {int(profile['use_mdl_pri'])}
|
||||
resp.use_pv_skn_eqp = {int(profile['use_pv_skn_eqp'])}
|
||||
resp.use_pv_btn_se_eqp = {int(profile['use_pv_btn_se_eqp'])}
|
||||
resp.use_pv_sld_se_eqp = {int(profile['use_pv_sld_se_eqp'])}
|
||||
resp.use_pv_chn_sld_se_eqp = {int(profile['use_pv_chn_sld_se_eqp'])}
|
||||
resp.use_pv_sldr_tch_se_eqp = {int(profile['use_pv_sldr_tch_se_eqp'])}
|
||||
resp.vcld_pts = {profile['lv_efct_id']}
|
||||
resp.nxt_pv_id = {profile['nxt_pv_id']}
|
||||
resp.nxt_dffclty = {profile['nxt_dffclty']}
|
||||
resp.nxt_edtn = {profile['nxt_edtn']}
|
||||
resp.dsp_clr_brdr = {profile['dsp_clr_brdr']}
|
||||
resp.dsp_intrm_rnk = {profile['dsp_intrm_rnk']}
|
||||
resp.dsp_clr_sts = {profile['dsp_clr_sts']}
|
||||
resp.rgo_sts = {profile['rgo_sts']}
|
||||
|
||||
# To be fully fixed
|
||||
if "my_qst_id" not in profile:
|
||||
response += f"&my_qst_id=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
|
||||
response += f"&my_qst_sts=0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
|
||||
else:
|
||||
response += f"&my_qst_id={profile['my_qst_id']}"
|
||||
response += f"&my_qst_sts={profile['my_qst_sts']}"
|
||||
|
||||
response += f"&my_qst_prgrs=0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
|
||||
response += f"&my_qst_et=2022-06-19%2010%3A28%3A52.0,2022-06-19%2010%3A28%3A52.0,2022-06-19%2010%3A28%3A52.0,2100-01-01%2008%3A59%3A59.0,2100-01-01%2008%3A59%3A59.0,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx"
|
||||
response += f"&clr_sts=0,0,0,0,0,0,0,0,56,52,35,6,6,3,1,0,0,0,0,0"
|
||||
|
||||
# Store stuff to add to rework
|
||||
response += f"&mdl_eqp_tm={self.time_lut}"
|
||||
|
||||
mdl_eqp_ary = "-999,-999,-999"
|
||||
c_itm_eqp_ary = "-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999"
|
||||
ms_itm_flg_ary = "1,1,1,1,1,1,1,1,1,1,1,1"
|
||||
if "my_qst_id" in profile:
|
||||
resp.my_qst_id = {profile['my_qst_id']}
|
||||
resp.my_qst_sts = {profile['my_qst_sts']}
|
||||
|
||||
# get the common_modules, customize_items and customize_item_flags
|
||||
# from the profile shop
|
||||
if profile_shop:
|
||||
mdl_eqp_ary = profile_shop["mdl_eqp_ary"]
|
||||
c_itm_eqp_ary = profile_shop["c_itm_eqp_ary"]
|
||||
ms_itm_flg_ary = profile_shop["ms_itm_flg_ary"]
|
||||
resp.mdl_eqp_ary = profile_shop["mdl_eqp_ary"]
|
||||
resp.c_itm_eqp_ary = profile_shop["c_itm_eqp_ary"]
|
||||
resp.ms_itm_flg_ary = profile_shop["ms_itm_flg_ary"]
|
||||
|
||||
response += f"&mdl_eqp_ary={mdl_eqp_ary}"
|
||||
response += f"&c_itm_eqp_ary={c_itm_eqp_ary}"
|
||||
response += f"&ms_itm_flg_ary={ms_itm_flg_ary}"
|
||||
|
||||
return response
|
||||
return resp.make()
|
||||
|
||||
def handle_pd_unlock_request(self, data: bytes) -> str:
|
||||
pass
|
||||
|
Reference in New Issue
Block a user