From c2412571c6f6e109d18a5c8703c298639de1e2cb Mon Sep 17 00:00:00 2001 From: duel0213 Date: Wed, 21 Feb 2024 00:59:21 +0900 Subject: [PATCH] IIDX: Reflect shop name, step up achieve on responses --- iidx@asphyxia/README.md | 14 +++-- iidx@asphyxia/handlers/pc.ts | 86 +++++++++++++++++-------------- iidx@asphyxia/handlers/shop.ts | 8 +++ iidx@asphyxia/pug/LDJ/21pcget.pug | 6 +-- iidx@asphyxia/pug/LDJ/22pcget.pug | 6 +-- iidx@asphyxia/pug/LDJ/23pcget.pug | 6 +-- iidx@asphyxia/pug/LDJ/24pcget.pug | 6 +-- iidx@asphyxia/pug/LDJ/25pcget.pug | 6 +-- iidx@asphyxia/pug/LDJ/26pcget.pug | 6 +-- iidx@asphyxia/pug/LDJ/27pcget.pug | 2 +- iidx@asphyxia/pug/LDJ/28pcget.pug | 2 +- iidx@asphyxia/pug/LDJ/29pcget.pug | 2 +- iidx@asphyxia/pug/LDJ/30pcget.pug | 2 +- iidx@asphyxia/pug/LDJ/pcget.pug | 6 +-- iidx@asphyxia/util.ts | 41 ++++++++++++--- 15 files changed, 122 insertions(+), 77 deletions(-) diff --git a/iidx@asphyxia/README.md b/iidx@asphyxia/README.md index 00b01f8..4b89587 100644 --- a/iidx@asphyxia/README.md +++ b/iidx@asphyxia/README.md @@ -36,7 +36,7 @@ Features Known Issues - Clear Lamps may display invalid lamps due to missing conversion code - - LEGGENDARIA play records before HEROIC VERSE may not display on higher version due missing conversion code + - LEGGENDARIA play records before HEROIC VERSE may not display on higher version due to missing conversion code --- @@ -70,26 +70,26 @@ Changelogs **v0.1.6** - Added Initial support for tricoro - - Event savings are broken + - Some of event savings are broken - Added movie_upload url setting on plugin setting (BISTROVER ~) - This uses JSON instead of XML and this requires additional setup (can't test or implement this as I don't own NVIDIA GPU) **v0.1.7** - Added Initial support for SPADA - - Event savings are broken + - Some of event savings are broken - Fixed where rtype didn't save correctly (BISTROVER ~) **v0.1.8** - Added RIVAL pacemaker support - Added Initial support for PENDUAL - - Event savings are broken + - Some of event savings are broken - Fixed where old_linkage_secret_flg is missing on pc.get response (RESIDENT) - Fixed where game could crash due to invalid rival qprodata - Fixed where lift isn't saving (SPADA) **v0.1.9** - Added Initial support for copula - - Event savings are broken + - Some of event savings are broken - Added shop.getconvention/shop.setconvention/shop.getname/shop.savename response **v0.1.10** @@ -105,5 +105,9 @@ Changelogs - Exposed some of pc.common attributes to plugin settings (WIP) - Added Experimental WebUI (WIP) - Added music.crate/music.breg response + - CLEAR RATE and BEGINNER clear lamp may not work on certain versions - Fixed where Venue Top didn't save correctly (BISTROVER ~) - Fixed where music.appoint send empty response even rival has score data when player doesn't have score data + - Fixed where FAVORITE may work only on specific version + - Fixed where shop name always displayed as "CORE" instead of saved one + - Fixed where rlist STEP UP achieve value was fixed value instead of saved one diff --git a/iidx@asphyxia/handlers/pc.ts b/iidx@asphyxia/handlers/pc.ts index d8912ec..c380a27 100644 --- a/iidx@asphyxia/handlers/pc.ts +++ b/iidx@asphyxia/handlers/pc.ts @@ -6,6 +6,7 @@ import { eisei_grade, eisei_grade_data, lightning_musicmemo, lightning_musicmemo import { profile, default_profile } from "../models/profile"; import { rival, rival_data } from "../models/rival"; import { world_tourism } from "../models/worldtourism"; +import { shop_data } from "../models/shop"; export const pccommon: EPR = async (info, data, send) => { const version = GetVersion(info); @@ -360,6 +361,7 @@ export const pcget: EPR = async (info, data, send) => { const lm_eisei_grade = await DB.Find(refid, { collection: "eisei_grade", version: version }); const lm_music_memo = await DB.Find(refid, { collection: "lightning_musicmemo", version: version }); const lm_music_memo_new = await DB.Find(refid, { collection: "lightning_musicmemo_new", version: version }); + const shop_data = await DB.FindOne({ collection: "shop_data" }); if (_.isNil(pcdata)) return send.deny(); @@ -494,6 +496,7 @@ export const pcget: EPR = async (info, data, send) => { tricolettepark, redboss, yellowboss, + shop_data, }); } else if (version >= 21) { @@ -510,51 +513,55 @@ export const pcget: EPR = async (info, data, send) => { event_1s = null, evtArray = [], evtArray2 = []; - switch (version) { - case 21: - 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" }); + if (version == 23) { + if (!_.isNil(pcdata.st_tokimeki)) pcdata.st_tokimeki = Base64toBuffer(pcdata.st_tokimeki).toString("hex"); - boss1 = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "boss1" }); - if (!_.isNil(boss1.durability)) boss1.durability = Base64toBuffer(boss1.durability).toString("hex"); - case 22: - chrono_diver = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "chrono_diver" }); - pendual_talis = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "boss_event_3" }); - if (_.isNil(pendual_talis)) pendual_talis = { point: 0 }; + 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" }); + } + else if (version == 22) { + if (!_.isNil(pcdata.st_album)) pcdata.st_album = Base64toBuffer(pcdata.st_album).toString("hex"); - qpronicle_chord = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "qpronicle_chord" }); - qpronicle_phase3 = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "qpronicle_phase3" }); - case 23: - if (!_.isNil(pcdata.sp_mlist)) { - pcdata.sp_mlist = Base64toBuffer(pcdata.sp_mlist).toString("hex"); - pcdata.sp_clist = Base64toBuffer(pcdata.sp_clist).toString("hex"); - pcdata.dp_mlist = Base64toBuffer(pcdata.dp_mlist).toString("hex"); - pcdata.dp_clist = Base64toBuffer(pcdata.dp_clist).toString("hex"); + chrono_diver = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "chrono_diver" }); + pendual_talis = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "boss_event_3" }); + if (_.isNil(pendual_talis)) pendual_talis = { point: 0 }; + + qpronicle_chord = await DB.FindOne(refid, { collection: "event_1", 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"); + + 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 { + event_1 = await DB.Find(refid, { collection: "event_1", version: version }); + event_1s = await DB.Find(refid, { collection: "event_1_sub", version: version }); + + if (event_1.length > 0) { + for (let evt of event_1) { + evtArray.push(evt); } + } - if (!_.isNil(pcdata.st_album)) pcdata.st_album = Base64toBuffer(pcdata.st_album).toString("hex"); - else if (!_.isNil(pcdata.st_tokimeki)) pcdata.st_tokimeki = Base64toBuffer(pcdata.st_tokimeki).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" }); - break; - - default: - event_1 = await DB.Find(refid, { collection: "event_1", version: version }); - event_1s = await DB.Find(refid, { collection: "event_1_sub", version: version }); - - if (event_1.length > 0) { - for (let evt of event_1) { - evtArray.push(evt); - } + if (event_1s.length > 0) { + for (let evt of event_1s) { + evtArray2.push(evt); } + } + } - if (event_1s.length > 0) { - for (let evt of event_1s) { - evtArray2.push(evt); - } - } - break; + if (version == 21 || version == 22 || version == 23) { + if (!_.isNil(pcdata.sp_mlist)) { + pcdata.sp_mlist = Base64toBuffer(pcdata.sp_mlist).toString("hex"); + pcdata.sp_clist = Base64toBuffer(pcdata.sp_clist).toString("hex"); + pcdata.dp_mlist = Base64toBuffer(pcdata.dp_mlist).toString("hex"); + pcdata.dp_clist = Base64toBuffer(pcdata.dp_clist).toString("hex"); + } } if (version >= 30 && lm_music_memo_new.length > 0) { @@ -669,6 +676,7 @@ export const pcget: EPR = async (info, data, send) => { mystery_line, wArray, bArray, + shop_data, }); } diff --git a/iidx@asphyxia/handlers/shop.ts b/iidx@asphyxia/handlers/shop.ts index fa4c869..d06be13 100644 --- a/iidx@asphyxia/handlers/shop.ts +++ b/iidx@asphyxia/handlers/shop.ts @@ -7,6 +7,14 @@ export const shopgetname: EPR = async (info, data, send) => { }); if (_.isNil(shop_data)) { + await DB.Insert({ + collection: "shop_data", + + opname: "CORE", + pid: 57, + cls_opt: 0, + }); + return send.object( K.ATTR({ status: "0", diff --git a/iidx@asphyxia/pug/LDJ/21pcget.pug b/iidx@asphyxia/pug/LDJ/21pcget.pug index b542189..db17095 100644 --- a/iidx@asphyxia/pug/LDJ/21pcget.pug +++ b/iidx@asphyxia/pug/LDJ/21pcget.pug @@ -26,10 +26,10 @@ IIDX21pc(status="0") rlist - for (let rd of rArray) rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) - stepdata(step_sach="-1" step_dach="-1") + stepdata(step_sach=rd.pcdata[4] step_dach=rd.pcdata[5]) qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") - join_shop(joinflg="1" join_cflg="1" join_id="0" join_name="CORE") + shop(name=shop_data.opname) + join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname) if pcdata.st_album != null step(damage=pcdata.st_damage defeat=pcdata.st_defeat progress=pcdata.st_progress round=pcdata.st_round sp_mission=pcdata.st_sp_mission dp_mission=pcdata.st_dp_mission sp_level=pcdata.st_sp_level dp_level=pcdata.st_dp_level sp_mplay=pcdata.st_sp_mplay dp_mplay=pcdata.st_dp_mplay last_select=pcdata.st_last_select) album(__type="bin") #{pcdata.st_album} diff --git a/iidx@asphyxia/pug/LDJ/22pcget.pug b/iidx@asphyxia/pug/LDJ/22pcget.pug index 8d7dd67..24357f4 100644 --- a/iidx@asphyxia/pug/LDJ/22pcget.pug +++ b/iidx@asphyxia/pug/LDJ/22pcget.pug @@ -26,10 +26,10 @@ IIDX22pc(status="0") rlist - for (let rd of rArray) rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) - stepdata(step_sach="-1" step_dach="-1") + stepdata(step_sach=rd.pcdata[4] step_dach=rd.pcdata[5]) qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") - join_shop(joinflg="1" join_cflg="1" join_id="0" join_name="CORE") + shop(name=shop_data.opname) + join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname) if pcdata.st_album != null step(damage=pcdata.st_damage defeat=pcdata.st_defeat progress=pcdata.st_progress round=pcdata.st_round sp_mission=pcdata.st_sp_mission dp_mission=pcdata.st_dp_mission sp_level=pcdata.st_sp_level dp_level=pcdata.st_dp_level sp_mplay=pcdata.st_sp_mplay dp_mplay=pcdata.st_dp_mplay age_list=pcdata.st_age_list is_secret=pcdata.st_is_secret is_present=pcdata.st_is_present is_future=pcdata.st_is_future) album(__type="bin") #{pcdata.st_album} diff --git a/iidx@asphyxia/pug/LDJ/23pcget.pug b/iidx@asphyxia/pug/LDJ/23pcget.pug index 7d1aec6..d18010d 100644 --- a/iidx@asphyxia/pug/LDJ/23pcget.pug +++ b/iidx@asphyxia/pug/LDJ/23pcget.pug @@ -27,10 +27,10 @@ IIDX23pc(status="0") rlist - for (let rd of rArray) rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) - stepdata(step_sach="-1" step_dach="-1") + stepdata(step_sach=rd.pcdata[4] step_dach=rd.pcdata[5]) qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") - join_shop(joinflg="1" join_cflg="1" join_id="0" join_name="CORE") + shop(name=shop_data.opname) + join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname) if pcdata.st_tokimeki != null step(friendship=pcdata.st_friendship progress=pcdata.st_progress station_clear=pcdata.st_station_clear station_play=pcdata.st_station_play sp_mission=pcdata.st_sp_mission dp_mission=pcdata.st_dp_mission sp_level=pcdata.st_sp_level dp_level=pcdata.st_dp_level sp_mplay=pcdata.st_sp_mplay dp_mplay=pcdata.st_dp_mplay mission_gauge=pcdata.st_mission_gauge) tokimeki(__type="bin") #{pcdata.st_tokimeki} diff --git a/iidx@asphyxia/pug/LDJ/24pcget.pug b/iidx@asphyxia/pug/LDJ/24pcget.pug index 9c14578..08a3e7f 100644 --- a/iidx@asphyxia/pug/LDJ/24pcget.pug +++ b/iidx@asphyxia/pug/LDJ/24pcget.pug @@ -1,6 +1,6 @@ IIDX24pc(status="0") pcdata(id=profile.id idstr=profile.idstr name=profile.name pid=profile.pid spnum=pcdata.spnum dpnum=pcdata.dpnum sach=pcdata.sach dach=pcdata.dach mode=pcdata.mode pmode=pcdata.pmode rtype=pcdata.rtype sp_opt=pcdata.sp_opt dp_opt=pcdata.dp_opt dp_opt2=pcdata.dp_opt2 gpos=pcdata.gpos s_sorttype=pcdata.s_sorttype d_sorttype=pcdata.d_sorttype s_pace=pcdata.s_pace d_pace=pcdata.d_pace s_gno=pcdata.s_gno d_gno=pcdata.d_gno s_gtype=pcdata.s_gtype d_gtype=pcdata.d_gtype s_sdlen=pcdata.s_sdlen d_sdlen=pcdata.d_sdlen s_sdtype=pcdata.s_sdtype d_sdtype=pcdata.d_sdtype s_timing=pcdata.s_timing d_timing=pcdata.d_timing s_notes=pcdata.s_notes d_notes=pcdata.d_notes s_judge=pcdata.s_judge d_judge=pcdata.d_judge s_judgeAdj=pcdata.s_judgeAdj d_judgeAdj=pcdata.d_judgeAdj s_hispeed=pcdata.s_hispeed d_hispeed=pcdata.d_hispeed s_liflen=pcdata.s_liflen d_liflen=pcdata.d_liflen s_disp_judge=pcdata.s_disp_judge d_disp_judge=pcdata.d_disp_judge s_opstyle=pcdata.s_opstyle d_opstyle=pcdata.d_opstyle s_exscore=pcdata.s_exscore d_exscore=pcdata.d_exscore s_graph_score=pcdata.s_graph_score d_graph_score=pcdata.d_graph_score s_auto_scrach=pcdata.s_auto_scrach d_auto_scrach=pcdata.d_auto_scrach s_gauge_disp=pcdata.s_gauge_disp d_gauge_disp=pcdata.d_gauge_disp s_lane_brignt=pcdata.s_lane_brignt d_lane_brignt=pcdata.d_lane_brignt s_camera_layout=pcdata.s_camera_layout d_camera_layout=pcdata.d_camera_layout) - join_shop(joinflg="1" join_cflg="1" join_id="0" join_name="CORE") + join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname) grade(sgid=pcdata.sgid dgid=pcdata.dgid) - for (let d of dArray) g(__type="u8" __count="4") #{d[0]} #{d[1]} #{d[2]} #{d[3]} @@ -8,9 +8,9 @@ IIDX24pc(status="0") rlist - for (let rd of rArray) rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) - stepdata(step_sach="-1" step_dach="-1") + stepdata(step_sach=rd.pcdata[4] step_dach=rd.pcdata[5]) qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") + shop(name=shop_data.opname) is_robo(__type="bool") 0 ir_data secret_course_data diff --git a/iidx@asphyxia/pug/LDJ/25pcget.pug b/iidx@asphyxia/pug/LDJ/25pcget.pug index 656001a..1b07128 100644 --- a/iidx@asphyxia/pug/LDJ/25pcget.pug +++ b/iidx@asphyxia/pug/LDJ/25pcget.pug @@ -1,6 +1,6 @@ IIDX25pc(status="0") pcdata(id=profile.id idstr=profile.idstr name=profile.name pid=profile.pid spnum=pcdata.spnum dpnum=pcdata.dpnum sach=pcdata.sach dach=pcdata.dach mode=pcdata.mode pmode=pcdata.pmode rtype=pcdata.rtype sp_opt=pcdata.sp_opt dp_opt=pcdata.dp_opt dp_opt2=pcdata.dp_opt2 gpos=pcdata.gpos s_sorttype=pcdata.s_sorttype d_sorttype=pcdata.d_sorttype s_pace=pcdata.s_pace d_pace=pcdata.d_pace s_gno=pcdata.s_gno d_gno=pcdata.d_gno s_gtype=pcdata.s_gtype d_gtype=pcdata.d_gtype s_sdlen=pcdata.s_sdlen d_sdlen=pcdata.d_sdlen s_sdtype=pcdata.s_sdtype d_sdtype=pcdata.d_sdtype s_timing=pcdata.s_timing d_timing=pcdata.d_timing s_notes=pcdata.s_notes d_notes=pcdata.d_notes s_judge=pcdata.s_judge d_judge=pcdata.d_judge s_judgeAdj=pcdata.s_judgeAdj d_judgeAdj=pcdata.d_judgeAdj s_hispeed=pcdata.s_hispeed d_hispeed=pcdata.d_hispeed s_liflen=pcdata.s_liflen d_liflen=pcdata.d_liflen s_disp_judge=pcdata.s_disp_judge d_disp_judge=pcdata.d_disp_judge s_opstyle=pcdata.s_opstyle d_opstyle=pcdata.d_opstyle s_exscore=pcdata.s_exscore d_exscore=pcdata.d_exscore s_graph_score=pcdata.s_graph_score d_graph_score=pcdata.d_graph_score s_auto_scrach=pcdata.s_auto_scrach d_auto_scrach=pcdata.d_auto_scrach s_gauge_disp=pcdata.s_gauge_disp d_gauge_disp=pcdata.d_gauge_disp s_lane_brignt=pcdata.s_lane_brignt d_lane_brignt=pcdata.d_lane_brignt s_camera_layout=pcdata.s_camera_layout d_camera_layout=pcdata.d_camera_layout) - join_shop(joinflg="1" join_cflg="1" join_id="0" join_name="CORE") + join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname) grade(sgid=pcdata.sgid dgid=pcdata.dgid) - for (let d of dArray) g(__type="u8" __count="4") #{d[0]} #{d[1]} #{d[2]} #{d[3]} @@ -8,9 +8,9 @@ IIDX25pc(status="0") rlist - for (let rd of rArray) rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) - stepdata(step_sach="-1" step_dach="-1") + stepdata(step_sach=rd.pcdata[4] step_dach=rd.pcdata[5]) qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") + shop(name=shop_data.opname) is_robo(__type="bool") 0 ir_data secret_course_data diff --git a/iidx@asphyxia/pug/LDJ/26pcget.pug b/iidx@asphyxia/pug/LDJ/26pcget.pug index def0929..9e605d1 100644 --- a/iidx@asphyxia/pug/LDJ/26pcget.pug +++ b/iidx@asphyxia/pug/LDJ/26pcget.pug @@ -1,6 +1,6 @@ IIDX26pc(status="0") pcdata(id=profile.id idstr=profile.idstr name=profile.name pid=profile.pid spnum=pcdata.spnum dpnum=pcdata.dpnum sach=pcdata.sach dach=pcdata.dach mode=pcdata.mode pmode=pcdata.pmode rtype=pcdata.rtype sp_opt=pcdata.sp_opt dp_opt=pcdata.dp_opt dp_opt2=pcdata.dp_opt2 gpos=pcdata.gpos s_sorttype=pcdata.s_sorttype d_sorttype=pcdata.d_sorttype s_pace=pcdata.s_pace d_pace=pcdata.d_pace s_gno=pcdata.s_gno d_gno=pcdata.d_gno s_gtype=pcdata.s_gtype d_gtype=pcdata.d_gtype s_sdlen=pcdata.s_sdlen d_sdlen=pcdata.d_sdlen s_sdtype=pcdata.s_sdtype d_sdtype=pcdata.d_sdtype s_timing=pcdata.s_timing d_timing=pcdata.d_timing s_notes=pcdata.s_notes d_notes=pcdata.d_notes s_judge=pcdata.s_judge d_judge=pcdata.d_judge s_judgeAdj=pcdata.s_judgeAdj d_judgeAdj=pcdata.d_judgeAdj s_hispeed=pcdata.s_hispeed d_hispeed=pcdata.d_hispeed s_liflen=pcdata.s_liflen d_liflen=pcdata.d_liflen s_disp_judge=pcdata.s_disp_judge d_disp_judge=pcdata.d_disp_judge s_opstyle=pcdata.s_opstyle d_opstyle=pcdata.d_opstyle s_graph_score=pcdata.s_graph_score d_graph_score=pcdata.d_graph_score s_auto_scrach=pcdata.s_auto_scrach d_auto_scrach=pcdata.d_auto_scrach s_gauge_disp=pcdata.s_gauge_disp d_gauge_disp=pcdata.d_gauge_disp s_lane_brignt=pcdata.s_lane_brignt d_lane_brignt=pcdata.d_lane_brignt s_camera_layout=pcdata.s_camera_layout d_camera_layout=pcdata.d_camera_layout s_ghost_score=pcdata.s_ghost_score d_ghost_score=pcdata.d_ghost_score s_tsujigiri_disp=pcdata.s_tsujigiri_disp d_tsujigiri_disp=pcdata.d_tsujigiri_disp) - join_shop(joinflg="1" join_cflg="1" join_id="0" join_name="CORE") + join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname) grade(sgid=pcdata.sgid dgid=pcdata.dgid) - for (let d of dArray) g(__type="u8" __count="4") #{d[0]} #{d[1]} #{d[2]} #{d[3]} @@ -8,9 +8,9 @@ IIDX26pc(status="0") rlist - for (let rd of rArray) rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) - stepdata(step_sach="-1" step_dach="-1") + stepdata(step_sach=rd.pcdata[4] step_dach=rd.pcdata[5]) qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") + shop(name=shop_data.opname) is_robo(__type="bool") 0 ir_data secret_course_data diff --git a/iidx@asphyxia/pug/LDJ/27pcget.pug b/iidx@asphyxia/pug/LDJ/27pcget.pug index 12b860d..e72d3b9 100644 --- a/iidx@asphyxia/pug/LDJ/27pcget.pug +++ b/iidx@asphyxia/pug/LDJ/27pcget.pug @@ -35,7 +35,7 @@ IIDX27pc(status="0") rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) is_robo(__type="bool") 0 qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") + shop(name=shop_data.opname) dj_rank(style="0") rank(__type="s32" __count="15") #{pcdata.dr_sprank[0]} #{pcdata.dr_sprank[1]} #{pcdata.dr_sprank[2]} #{pcdata.dr_sprank[3]} #{pcdata.dr_sprank[4]} #{pcdata.dr_sprank[5]} #{pcdata.dr_sprank[6]} #{pcdata.dr_sprank[7]} #{pcdata.dr_sprank[8]} #{pcdata.dr_sprank[9]} #{pcdata.dr_sprank[10]} #{pcdata.dr_sprank[11]} #{pcdata.dr_sprank[12]} #{pcdata.dr_sprank[13]} #{pcdata.dr_sprank[14]} point(__type="s32" __count="15") #{pcdata.dr_sppoint[0]} #{pcdata.dr_sppoint[1]} #{pcdata.dr_sppoint[2]} #{pcdata.dr_sppoint[3]} #{pcdata.dr_sppoint[4]} #{pcdata.dr_sppoint[5]} #{pcdata.dr_sppoint[6]} #{pcdata.dr_sppoint[7]} #{pcdata.dr_sppoint[8]} #{pcdata.dr_sppoint[9]} #{pcdata.dr_sppoint[10]} #{pcdata.dr_sppoint[11]} #{pcdata.dr_sppoint[12]} #{pcdata.dr_sppoint[13]} #{pcdata.dr_sppoint[14]} diff --git a/iidx@asphyxia/pug/LDJ/28pcget.pug b/iidx@asphyxia/pug/LDJ/28pcget.pug index 95c8433..2b2cd26 100644 --- a/iidx@asphyxia/pug/LDJ/28pcget.pug +++ b/iidx@asphyxia/pug/LDJ/28pcget.pug @@ -42,7 +42,7 @@ IIDX28pc(status="0") rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) is_robo(__type="bool") 0 qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") + shop(name=shop_data.opname) dj_rank(style="0") rank(__type="s32" __count="15") #{pcdata.dr_sprank[0]} #{pcdata.dr_sprank[1]} #{pcdata.dr_sprank[2]} #{pcdata.dr_sprank[3]} #{pcdata.dr_sprank[4]} #{pcdata.dr_sprank[5]} #{pcdata.dr_sprank[6]} #{pcdata.dr_sprank[7]} #{pcdata.dr_sprank[8]} #{pcdata.dr_sprank[9]} #{pcdata.dr_sprank[10]} #{pcdata.dr_sprank[11]} #{pcdata.dr_sprank[12]} #{pcdata.dr_sprank[13]} #{pcdata.dr_sprank[14]} point(__type="s32" __count="15") #{pcdata.dr_sppoint[0]} #{pcdata.dr_sppoint[1]} #{pcdata.dr_sppoint[2]} #{pcdata.dr_sppoint[3]} #{pcdata.dr_sppoint[4]} #{pcdata.dr_sppoint[5]} #{pcdata.dr_sppoint[6]} #{pcdata.dr_sppoint[7]} #{pcdata.dr_sppoint[8]} #{pcdata.dr_sppoint[9]} #{pcdata.dr_sppoint[10]} #{pcdata.dr_sppoint[11]} #{pcdata.dr_sppoint[12]} #{pcdata.dr_sppoint[13]} #{pcdata.dr_sppoint[14]} diff --git a/iidx@asphyxia/pug/LDJ/29pcget.pug b/iidx@asphyxia/pug/LDJ/29pcget.pug index 7a2e44a..688debd 100644 --- a/iidx@asphyxia/pug/LDJ/29pcget.pug +++ b/iidx@asphyxia/pug/LDJ/29pcget.pug @@ -42,7 +42,7 @@ IIDX29pc(status="0") rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) is_robo(__type="bool") 0 qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") + shop(name=shop_data.opname) dj_rank(style="0") rank(__type="s32" __count="15") #{pcdata.dr_sprank[0]} #{pcdata.dr_sprank[1]} #{pcdata.dr_sprank[2]} #{pcdata.dr_sprank[3]} #{pcdata.dr_sprank[4]} #{pcdata.dr_sprank[5]} #{pcdata.dr_sprank[6]} #{pcdata.dr_sprank[7]} #{pcdata.dr_sprank[8]} #{pcdata.dr_sprank[9]} #{pcdata.dr_sprank[10]} #{pcdata.dr_sprank[11]} #{pcdata.dr_sprank[12]} #{pcdata.dr_sprank[13]} #{pcdata.dr_sprank[14]} point(__type="s32" __count="15") #{pcdata.dr_sppoint[0]} #{pcdata.dr_sppoint[1]} #{pcdata.dr_sppoint[2]} #{pcdata.dr_sppoint[3]} #{pcdata.dr_sppoint[4]} #{pcdata.dr_sppoint[5]} #{pcdata.dr_sppoint[6]} #{pcdata.dr_sppoint[7]} #{pcdata.dr_sppoint[8]} #{pcdata.dr_sppoint[9]} #{pcdata.dr_sppoint[10]} #{pcdata.dr_sppoint[11]} #{pcdata.dr_sppoint[12]} #{pcdata.dr_sppoint[13]} #{pcdata.dr_sppoint[14]} diff --git a/iidx@asphyxia/pug/LDJ/30pcget.pug b/iidx@asphyxia/pug/LDJ/30pcget.pug index 558eee5..6ed8c77 100644 --- a/iidx@asphyxia/pug/LDJ/30pcget.pug +++ b/iidx@asphyxia/pug/LDJ/30pcget.pug @@ -43,7 +43,7 @@ IIDX30pc(status="0") rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) is_robo(__type="bool") 0 qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") + shop(name=shop_data.opname) notes_radar(style="0") radar_score(__type="s32" __count="6") #{pcdata.nr_spradar[0]} #{pcdata.nr_spradar[1]} #{pcdata.nr_spradar[2]} #{pcdata.nr_spradar[3]} #{pcdata.nr_spradar[4]} #{pcdata.nr_spradar[5]} notes_radar(style="1") diff --git a/iidx@asphyxia/pug/LDJ/pcget.pug b/iidx@asphyxia/pug/LDJ/pcget.pug index b5504b0..b9b907b 100644 --- a/iidx@asphyxia/pug/LDJ/pcget.pug +++ b/iidx@asphyxia/pug/LDJ/pcget.pug @@ -18,10 +18,10 @@ pc(status="0") rlist - for (let rd of rArray) rival(spdp=rd.play_style id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3]) - stepdata(step_sach="-1" step_dach="-1") + stepdata(step_sach=rd.pcdata[4] step_dach=rd.pcdata[5]) qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1]) - shop(name="CORE") - join_shop(joinflg="1" join_cflg="1" join_id="0" join_name="CORE") + shop(name=shop_data.opname) + join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname) fcombo(__type="s16" __count="2") #{pcdata.fcombo[0]} #{pcdata.fcombo[1]} step(sp_ach=pcdata.st_sp_ach dp_ach=pcdata.st_dp_ach sp_hdpt=pcdata.st_sp_hdpt dp_hdpt=pcdata.st_dp_hdpt sp_level=pcdata.st_sp_level dp_level=pcdata.st_dp_level sp_round=pcdata.st_sp_round dp_round=pcdata.st_dp_round sp_mplay=pcdata.st_sp_mplay dp_mplay=pcdata.st_dp_mplay review=pcdata.st_review) stamp(__type="bin") #{pcdata.st_stamp} diff --git a/iidx@asphyxia/util.ts b/iidx@asphyxia/util.ts index 7f53fa3..3920fa3 100644 --- a/iidx@asphyxia/util.ts +++ b/iidx@asphyxia/util.ts @@ -134,16 +134,41 @@ export async function ReftoPcdata(refid: string, version: number) { }); let p_data = []; - try { - p_data = [ - pcdata.sgid, - pcdata.dgid, - pcdata.sach, - pcdata.dach, - ]; + switch (version) { + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + p_data = [ + pcdata.sgid, + pcdata.dgid, + pcdata.sach, + pcdata.dach, + pcdata.st_sp_ach, + pcdata.st_dp_ach, + ]; + break; + default: + p_data = [ + pcdata.sgid, + pcdata.dgid, + pcdata.sach, + pcdata.dach, + ]; + break; + } + + // this seems leftover from tricoro but still being referenced until HEROIC VERSE [st_sp_ach/st_dp_ach] // + for (let a = 0; a < p_data.length; a++) { + if (_.isNil(p_data[a])) p_data[a] = 0; + } + } catch { - p_data = [0, 0, 0, 0]; + p_data = [0, 0, 0, 0, 0, 0]; } return p_data;