IIDX: Fixed timing display option isn't saving on certain version

This commit is contained in:
duel0213
2024-03-19 17:18:59 +09:00
parent e04588e942
commit 9a48fadde0
4 changed files with 76 additions and 18 deletions

View File

@@ -129,3 +129,4 @@ Changelogs
- Added Experimental OMEGA-Attack event saving support on tricoro
- Reworked on SINOBUZ ~ Rootage responses
- Fixed where Base64toBuffer returns invalid value sometimes
- Fixed where timing display option isn't saving on certain versions

View File

@@ -661,10 +661,12 @@ export const pcget: EPR = async (info, data, send) => {
boss1 = null,
chrono_diver = null,
qpronicle_chord = null,
qpronicle_chord_sub = [],
qpronicle_phase3 = null,
pendual_talis = null,
open_tokotoko = null,
mystery_line = null,
mystery_line_sub = [],
siege_sinobuz = null,
siege_sinobuz_sub = [],
ninja_shichikyoden = null,
@@ -678,11 +680,14 @@ export const pcget: EPR = async (info, data, send) => {
event_1s = null,
evtArray = [], evtArray2 = [];
if (version == 23) {
if (!_.isNil(pcdata.st_tokimeki)) pcdata.st_tokimeki = Base64toBuffer(pcdata.st_tokimeki).toString("hex");
if (version == 21) {
if (!_.isNil(pcdata.st_album)) pcdata.st_album = Base64toBuffer(pcdata.st_album).toString("hex");
open_tokotoko = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "event1_data" });
mystery_line = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "event2_data" });
link5 = await DB.FindOne(refid, { collection: "event_1", version: 20, event_name: "link5" });
tricolettepark = await DB.FindOne(refid, { collection: "event_1", version: 20, event_name: "tricolettepark" });
boss1 = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "boss1" });
if (!_.isNil(boss1.durability)) boss1.durability = Base64toBuffer(boss1.durability).toString("hex");
}
else if (version == 22) {
if (!_.isNil(pcdata.st_album)) pcdata.st_album = Base64toBuffer(pcdata.st_album).toString("hex");
@@ -692,16 +697,15 @@ export const pcget: EPR = async (info, data, send) => {
if (_.isNil(pendual_talis)) pendual_talis = { point: 0 };
qpronicle_chord = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "qpronicle_chord" });
qpronicle_chord_sub = await DB.Find(refid, { collection: "event_1_sub", version: version, event_name: "qpronicle_chord" });
qpronicle_phase3 = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "qpronicle_phase3" });
}
else if (version == 21) {
if (!_.isNil(pcdata.st_album)) pcdata.st_album = Base64toBuffer(pcdata.st_album).toString("hex");
else if (version == 23) {
if (!_.isNil(pcdata.st_tokimeki)) pcdata.st_tokimeki = Base64toBuffer(pcdata.st_tokimeki).toString("hex");
link5 = await DB.FindOne(refid, { collection: "event_1", version: 20, event_name: "link5" });
tricolettepark = await DB.FindOne(refid, { collection: "event_1", version: 20, event_name: "tricolettepark" });
boss1 = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "boss1" });
if (!_.isNil(boss1.durability)) boss1.durability = Base64toBuffer(boss1.durability).toString("hex");
open_tokotoko = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "event1_data" });
mystery_line = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "event2_data" });
mystery_line_sub = await DB.Find(refid, { collection: "event_1_sub", version: version, event_name: "event2_data" });
}
else if (version == 24) {
siege_sinobuz = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "event1_data" });
@@ -730,6 +734,7 @@ export const pcget: EPR = async (info, data, send) => {
mirage_lib = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "event1_data" });
if (!_.isNil(mirage_lib.quiz_control_list))
mirage_lib.quiz_control_list = Base64toBuffer(mirage_lib.quiz_control_list).toString("hex");
mirage_lib_sub = await DB.Find(refid, { collection: "event_1_sub", version: version, event_name: "event1_data" });
mirage_lib_sub.forEach((res) => {
res.map_route_damage = Base64toBuffer(res.map_route_damage).toString("hex");
@@ -912,10 +917,12 @@ export const pcget: EPR = async (info, data, send) => {
tricolettepark,
chrono_diver,
qpronicle_chord,
qpronicle_chord_sub,
qpronicle_phase3,
pendual_talis,
open_tokotoko,
mystery_line,
mystery_line_sub,
siege_sinobuz,
siege_sinobuz_sub,
ninja_shichikyoden,
@@ -1553,7 +1560,7 @@ export const pcsave: EPR = async (info, data, send) => {
event_data = tricolettepark;
event_data.open_music = parseInt($(data).attr("tricolettepark").open_music),
event_data.boss0_damage += parseInt($(data).attr("tricolettepark").boss0_damage);
event_data.boss0_damage += parseInt($(data).attr("tricolettepark").boss0_damage);
event_data.boss1_damage += parseInt($(data).attr("tricolettepark").boss1_damage);
event_data.boss2_damage += parseInt($(data).attr("tricolettepark").boss2_damage);
event_data.boss3_damage += parseInt($(data).attr("tricolettepark").boss3_damage);
@@ -1695,6 +1702,8 @@ export const pcsave: EPR = async (info, data, send) => {
pcdata.d_sdlen = parseInt($(data).attr().d_sdlen);
pcdata.s_sdtype = parseInt($(data).attr().s_sdtype);
pcdata.d_sdtype = parseInt($(data).attr().d_sdtype);
pcdata.s_timing = parseInt($(data).attr().s_timing);
pcdata.d_timing = parseInt($(data).attr().d_timing);
pcdata.s_notes = parseFloat($(data).attr().s_notes);
pcdata.d_notes = parseFloat($(data).attr().d_notes);
pcdata.s_judge = parseInt($(data).attr().s_judge);
@@ -1954,6 +1963,8 @@ export const pcsave: EPR = async (info, data, send) => {
pcdata.d_sdlen = parseInt($(data).attr().d_sdlen);
pcdata.s_sdtype = parseInt($(data).attr().s_sdtype);
pcdata.d_sdtype = parseInt($(data).attr().d_sdtype);
pcdata.s_timing = parseInt($(data).attr().s_timing);
pcdata.d_timing = parseInt($(data).attr().d_timing);
pcdata.s_notes = parseFloat($(data).attr().s_notes);
pcdata.d_notes = parseFloat($(data).attr().d_notes);
pcdata.s_judge = parseInt($(data).attr().s_judge);
@@ -2079,8 +2090,6 @@ export const pcsave: EPR = async (info, data, send) => {
rare_enemy_damage5: parseInt($(data).attr("qpronicle_chord").rare_enemy_damage5),
};
// TODO:: patona_data //
await DB.Upsert(refid,
{
collection: "event_1",
@@ -2091,6 +2100,26 @@ export const pcsave: EPR = async (info, data, send) => {
$set: event_data,
}
);
// TODO:: verify //
$(data).element("qpronicle_chord").elements("patona_data").forEach((res) => {
DB.Upsert(refid,
{
collection: "event_1_sub",
version: version,
event_name: "qpronicle_chord",
patona_id: parseInt(res.attr().patona_id),
},
{
$set: {
level: parseInt(res.attr().level),
exp: parseInt(res.attr().exp),
affection: parseInt(res.attr().affection),
dissatisfaction: parseInt(res.attr().dissatisfaction),
}
}
);
});
}
if (!_.isNil($(data).element("qpronicle_phase3"))) {
@@ -2144,6 +2173,8 @@ export const pcsave: EPR = async (info, data, send) => {
}
);
}
// chaser //
}
else if (version == 23) {
pcdata.rtype = parseInt($(data).attr().rtype);
@@ -2169,6 +2200,8 @@ export const pcsave: EPR = async (info, data, send) => {
pcdata.d_sdtype = parseInt($(data).attr().d_sdtype);
pcdata.s_notes = parseFloat($(data).attr().s_notes);
pcdata.d_notes = parseFloat($(data).attr().d_notes);
pcdata.s_timing = parseInt($(data).attr().s_timing);
pcdata.d_timing = parseInt($(data).attr().d_timing);
pcdata.s_judge = parseInt($(data).attr().s_judge);
pcdata.d_judge = parseInt($(data).attr().d_judge);
pcdata.s_judgeAdj = parseInt($(data).attr().s_judgeAdj);
@@ -2275,8 +2308,6 @@ export const pcsave: EPR = async (info, data, send) => {
stop_area_time: parseInt($(data).attr("event2_data").stop_area_time),
};
// TODO:: event2_area_data //
await DB.Upsert(refid,
{
collection: "event_1",
@@ -2287,6 +2318,26 @@ export const pcsave: EPR = async (info, data, send) => {
$set: event_data,
}
);
// TODO:: verify //
$(data).element("event2_data").elements("event2_area_data").forEach((res) => {
DB.Upsert(refid,
{
collection: "event_1_sub",
version: version,
event_name: "event2_data",
area_no: parseInt(res.attr().area_no),
},
{
$set: {
area_play_num: parseInt(res.attr().area_play_num),
normal_point: parseInt(res.attr().normal_point),
hyper_point: parseInt(res.attr().hyper_point),
another_point: parseInt(res.attr().another_point),
}
}
);
});
}
}
else if (version == 24) {
@@ -2664,6 +2715,8 @@ export const pcsave: EPR = async (info, data, send) => {
pcdata.d_sdlen = parseInt($(data).attr().d_sdlen);
pcdata.s_sdtype = parseInt($(data).attr().s_sdtype);
pcdata.d_sdtype = parseInt($(data).attr().d_sdtype);
pcdata.s_timing = parseInt($(data).attr().s_timing);
pcdata.d_timing = parseInt($(data).attr().d_timing);
pcdata.s_notes = parseFloat($(data).attr().s_notes);
pcdata.d_notes = parseFloat($(data).attr().d_notes);
pcdata.s_judge = parseInt($(data).attr().s_judge);
@@ -2932,6 +2985,8 @@ export const pcsave: EPR = async (info, data, send) => {
pcdata.d_sdlen = parseInt($(data).attr().d_sdlen);
pcdata.s_sdtype = parseInt($(data).attr().s_sdtype);
pcdata.d_sdtype = parseInt($(data).attr().d_sdtype);
pcdata.s_timing = parseInt($(data).attr().s_timing);
pcdata.d_timing = parseInt($(data).attr().d_timing);
pcdata.s_notes = parseFloat($(data).attr().s_notes);
pcdata.d_notes = parseFloat($(data).attr().d_notes);
pcdata.s_judge = parseInt($(data).attr().s_judge);

View File

@@ -39,7 +39,8 @@ IIDX22pc(status="0")
chrono_diver(play_count=chrono_diver.play_count present_unlock=chrono_diver.present_unlock future_unlock=chrono_diver.future_unlock success_count_0_n=chrono_diver.success_count_0_n success_count_0_h=chrono_diver.success_count_0_h success_count_0_a=chrono_diver.success_count_0_a success_count_1_n=chrono_diver.success_count_1_n success_count_1_h=chrono_diver.success_count_1_h success_count_1_a=chrono_diver.success_count_1_a success_count_2_n=chrono_diver.success_count_2_n success_count_2_h=chrono_diver.success_count_2_h success_count_2_a=chrono_diver.success_count_2_a success_count_3_n=chrono_diver.success_count_3_n success_count_3_h=chrono_diver.success_count_3_h success_count_3_a=chrono_diver.success_count_3_a story_list=chrono_diver.story_list)
if qpronicle_chord != null
qpronicle_chord(is_first_select_map=qpronicle_chord.is_first_select_map last_select_map=qpronicle_chord.last_select_map story_view_list=qpronicle_chord.story_view_list is_login_bonus=qpronicle_chord.is_use_login_bonus patona_leader=qpronicle_chord.patona_leader patona_sub_1=qpronicle_chord.patona_sub_1 patona_sub_2=qpronicle_chord.patona_sub_2 rare_enemy_damage1=qpronicle_chord.rare_enemy_damage1 rare_enemy_damage2=qpronicle_chord.rare_enemy_damage2 rare_enemy_damage3=qpronicle_chord.rare_enemy_damage3 rare_enemy_damage4=qpronicle_chord.rare_enemy_damage4 rare_enemy_damage5=qpronicle_chord.rare_enemy_damage5)
//-patona_data(patona_no level exp affection dissatisfaction)
- for (let evt of qpronicle_chord_sub)
patona_data(patona_no=evt.patona_id level=evt.level exp=evt.exp affection=evt.affection dissatisfaction=evt.dissatisfaction)
if qpronicle_phase3 != null
qpronicle_phase3(stairs_num=qpronicle_phase3.stairs_num flame_list=qpronicle_phase3.flame_list lane_list=qpronicle_phase3.lane_list map0_select=qpronicle_phase3.map0_select map1_select=qpronicle_phase3.map1_select map2_select=qpronicle_phase3.map2_select map3_select=qpronicle_phase3.map3_select map4_select=qpronicle_phase3.map4_select map5_select=qpronicle_phase3.map5_select map6_select=qpronicle_phase3.map6_select is_love_scene_skip="1")
qpronicle_love(music_list="-1")

View File

@@ -44,7 +44,8 @@ IIDX23pc(status="0")
//-event1_assist(iidx_id iidx_id_str name hair head face body hand)
if mystery_line != null
event2_data(play_num=mystery_line.play_num now_area=mystery_line.now_stay_area now_note_grade=mystery_line.now_stay_note_grade stop_area_time=mystery_line.stop_area_time)
//-event2_area_data(area_no area_play normal_point hyper_point another_point)
- for (let evt of mystery_line_sub)
event2_area_data(area_no=evt.area_no area_play=evt.area_play normal_point=evt.normal_point hyper_point=evt.hyper_point another_point=evt.another_point)
//-onemore_data(defeat_0 defeat_1 defeat_2 defeat_3 defeat_4 defeat_5 challenge_num_n challenge_num_h challenge_num_a)
reflec_collabo(phase1_music_list="-1" phase2_music_list="-1")
destiny_catharsis(music_bit="-1")