From 6e8c8017e5b10c0b4f8a78cd1934108c4d8bfe9f Mon Sep 17 00:00:00 2001 From: duel0213 Date: Wed, 14 Feb 2024 08:37:31 +0900 Subject: [PATCH] IIDX: Initial support added for copula --- iidx@asphyxia/README.md | 8 +- iidx@asphyxia/handlers/grade.ts | 2 +- iidx@asphyxia/handlers/music.ts | 22 ++-- iidx@asphyxia/handlers/pc.ts | 184 +++++++++++++++++++++------ iidx@asphyxia/handlers/shop.ts | 85 ++++++++++++- iidx@asphyxia/index.ts | 8 +- iidx@asphyxia/models/pcdata.ts | 84 ++++++++++++ iidx@asphyxia/models/shop.ts | 19 +++ iidx@asphyxia/pug/LDJ/23pccommon.pug | 21 +++ iidx@asphyxia/pug/LDJ/23pcget.pug | 55 ++++++++ 10 files changed, 427 insertions(+), 61 deletions(-) create mode 100644 iidx@asphyxia/models/shop.ts create mode 100644 iidx@asphyxia/pug/LDJ/23pccommon.pug create mode 100644 iidx@asphyxia/pug/LDJ/23pcget.pug diff --git a/iidx@asphyxia/README.md b/iidx@asphyxia/README.md index 24b59be..e34660f 100644 --- a/iidx@asphyxia/README.md +++ b/iidx@asphyxia/README.md @@ -1,6 +1,6 @@ # beatmaniaIIDX -Plugin Version: **v0.1.8** +Plugin Version: **v0.1.9** --- @@ -11,6 +11,7 @@ Supported Versions - beatmaniaIIDX 20 tricoro - beatmaniaIIDX 21 SPADA - beatmaniaIIDX 22 PENDUAL + - beatmaniaIIDX 23 copula - beatmaniaIIDX 27 HEROIC VERSE - beatmaniaIIDX 28 BISTROVER - beatmaniaIIDX 29 CastHour @@ -75,3 +76,8 @@ Changelogs - 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 + - Added shop.getconvention/shop.setconvention/shop.getname/shop.savename response diff --git a/iidx@asphyxia/handlers/grade.ts b/iidx@asphyxia/handlers/grade.ts index 542b28f..bc81a1f 100644 --- a/iidx@asphyxia/handlers/grade.ts +++ b/iidx@asphyxia/handlers/grade.ts @@ -21,7 +21,7 @@ export const graderaised: EPR = async (info, data, send) => { gradeId: gid, }); - if (version >= 27) cflg = parseInt($(data).attr().cstage); + if (version >= 23) cflg = parseInt($(data).attr().cstage); const isTDJ = !(_.isNil($(data).element("lightning_play_data"))); // lightning model // const hasEiseiData = (!(_.isNil($(data).element("eisei_data"))) || !(_.isNil($(data).element("eisei_grade_data"))));; diff --git a/iidx@asphyxia/handlers/music.ts b/iidx@asphyxia/handlers/music.ts index fe020c1..89d7834 100644 --- a/iidx@asphyxia/handlers/music.ts +++ b/iidx@asphyxia/handlers/music.ts @@ -228,10 +228,10 @@ export const musicappoint: EPR = async (info, data, send) => { if (_.isNaN(other_pcdata) || _.isNil(other_musicdata)) break; sdata = K.ITEM("bin", Base64toBuffer(other_musicdata[clid]), { - score: other_musicdata.esArray[clid].toString(), - pid: other_profile[1].toString(), - name: other_profile[0].toString(), - riidxid: other_profile[2].toString() + score: String(other_musicdata.esArray[clid]), + pid: String(other_profile[1]), + name: String(other_profile[0]), + riidxid: String(other_profile[2]) }); break; @@ -249,13 +249,13 @@ export const musicappoint: EPR = async (info, data, send) => { } let other_data = K.ITEM("bin", Base64toBuffer(other_musicdata[clid]), { - score: other_musicdata.esArray[clid].toString(), - achieve: other_pcdata[ClidToPlaySide(clid) + 2].toString(), - pid: other_profile[1].toString(), - name: other_profile[0].toString(), - riidxid: other_profile[2].toString(), - option: other_musicdata.optArray[clid].toString(), // CastHour // - option2: other_musicdata.opt2Array[clid].toString(), + score: String(other_musicdata.esArray[clid]), + achieve: String(other_pcdata[ClidToPlaySide(clid) + 2]), + pid: String(other_profile[1]), + name: String(other_profile[0]), + riidxid: String(other_profile[2]), + option: String(other_musicdata.optArray[clid]), // CastHour // + option2: String(other_musicdata.opt2Array[clid]), }); sdata = { diff --git a/iidx@asphyxia/handlers/pc.ts b/iidx@asphyxia/handlers/pc.ts index 3bd48d5..372032d 100644 --- a/iidx@asphyxia/handlers/pc.ts +++ b/iidx@asphyxia/handlers/pc.ts @@ -1,4 +1,4 @@ -import { pcdata, KDZ_pcdata, IIDX27_pcdata, IIDX28_pcdata, IIDX29_pcdata, IIDX30_pcdata, JDZ_pcdata, LDJ_pcdata, IIDX21_pcdata, IIDX22_pcdata } from "../models/pcdata"; +import { pcdata, KDZ_pcdata, IIDX27_pcdata, IIDX28_pcdata, IIDX29_pcdata, IIDX30_pcdata, JDZ_pcdata, LDJ_pcdata, IIDX21_pcdata, IIDX22_pcdata, IIDX23_pcdata } from "../models/pcdata"; import { grade } from "../models/grade"; import { custom, default_custom } from "../models/custom"; import { IDtoCode, IDtoRef, Base64toBuffer, GetVersion, ReftoProfile, ReftoPcdata, ReftoQPRO, appendSettingConverter } from "../util"; @@ -99,9 +99,8 @@ export const pccommon: EPR = async (info, data, send) => { movie_upload: U.GetConfig("MovieUpload"), }); } - else { - return send.deny(); - } + + return send.deny(); }; export const pcreg: EPR = async (info, data, send) => { @@ -129,6 +128,9 @@ export const pcreg: EPR = async (info, data, send) => { case 22: pcdata = IIDX22_pcdata; break; + case 23: + pcdata = IIDX23_pcdata; + break; case 27: pcdata = IIDX27_pcdata; lightning_playdata = lm_playdata; @@ -378,41 +380,48 @@ export const pcget: EPR = async (info, data, send) => { boss1 = null, chrono_diver = null, evtArray = [], evtArray2 = []; - if (version == 21 || version == 22) { - 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 (!_.isNil(pcdata.st_album)) pcdata.st_album = Base64toBuffer(pcdata.st_album).toString("hex"); - - if (version == 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" }); - - 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) { - chrono_diver = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "chrono_diver" }); - } - } - else { - let event_1 = await DB.Find(refid, { collection: "event_1", version: version }); - let 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); + switch (version) { + case 21: + case 22: + 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"); } - } - if (event_1s.length > 0) { - for (let evt of event_1s) { - evtArray2.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"); + + if (version == 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" }); + + 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) { + chrono_diver = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "chrono_diver" }); } - } + break; + + default: + let event_1 = await DB.Find(refid, { collection: "event_1", version: version }); + let 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); + } + } + break; } if (version >= 30 && lm_music_memo_new.length > 0) { @@ -579,6 +588,9 @@ export const pctakeover: EPR = async (info, data, send) => { case 22: pcdata = IIDX22_pcdata; break; + case 23: + pcdata = IIDX23_pcdata; + break; case 27: pcdata = IIDX27_pcdata; lightning_playdata = lm_playdata; @@ -1518,6 +1530,104 @@ export const pcsave: EPR = async (info, data, send) => { ); } } + else if (version == 23) { + pcdata.rtype = parseInt($(data).attr().rtype); + pcdata.sach = parseInt($(data).attr().s_achi); + pcdata.dach = parseInt($(data).attr().d_achi); + pcdata.sp_opt = parseInt($(data).attr().sp_opt); + pcdata.dp_opt = parseInt($(data).attr().dp_opt); + pcdata.dp_opt2 = parseInt($(data).attr().dp_opt2); + pcdata.gpos = parseInt($(data).attr().gpos); + pcdata.s_sorttype = parseInt($(data).attr().s_sorttype); + pcdata.d_sorttype = parseInt($(data).attr().d_sorttype); + pcdata.s_disp_judge = parseInt($(data).attr().s_disp_judge); + pcdata.d_disp_judge = parseInt($(data).attr().d_disp_judge); + pcdata.s_pace = parseInt($(data).attr().s_pace); + pcdata.d_pace = parseInt($(data).attr().d_pace); + pcdata.s_gno = parseInt($(data).attr().s_gno); + pcdata.d_gno = parseInt($(data).attr().d_gno); + pcdata.s_gtype = parseInt($(data).attr().s_gtype); + pcdata.d_gtype = parseInt($(data).attr().d_gtype); + pcdata.s_sdlen = parseInt($(data).attr().s_sdlen); + 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_notes = parseFloat($(data).attr().s_notes); + pcdata.d_notes = parseFloat($(data).attr().d_notes); + pcdata.s_judge = parseInt($(data).attr().s_judge); + pcdata.d_judge = parseInt($(data).attr().d_judge); + pcdata.s_judgeAdj = parseInt($(data).attr().s_judgeAdj); + pcdata.d_judgeAdj = parseInt($(data).attr().d_judgeAdj); + pcdata.s_hispeed = parseFloat($(data).attr().s_hispeed); + pcdata.d_hispeed = parseFloat($(data).attr().d_hispeed); + pcdata.s_opstyle = parseInt($(data).attr().s_opstyle); + pcdata.d_opstyle = parseInt($(data).attr().d_opstyle); + pcdata.s_exscore = parseInt($(data).attr().s_exscore); + pcdata.d_exscore = parseInt($(data).attr().d_exscore); + pcdata.s_largejudge = parseInt($(data).attr().s_largejudge); + pcdata.d_largejudge = parseInt($(data).attr().d_largejudge); + + if (!_.isNil($(data).attr().s_lift)) pcdata.s_liflen = parseInt($(data).attr().s_lift); + if (!_.isNil($(data).attr().d_lift)) pcdata.s_liflen = parseInt($(data).attr().d_lift); + + if (!_.isNil($(data).element("secret"))) { + pcdata.secret_flg1 = $(data).element("secret").bigints("flg1").map(String); + pcdata.secret_flg2 = $(data).element("secret").bigints("flg2").map(String); + pcdata.secret_flg3 = $(data).element("secret").bigints("flg3").map(String); + } + + if (!_.isNil($(data).element("favorite"))) { + pcdata.sp_mlist = $(data).element("favorite").buffer("sp_mlist").toString("base64"); + pcdata.sp_clist = $(data).element("favorite").buffer("sp_clist").toString("base64"); + pcdata.dp_mlist = $(data).element("favorite").buffer("dp_mlist").toString("base64"); + pcdata.dp_clist = $(data).element("favorite").buffer("dp_clist").toString("base64"); + } + + if (!_.isNil($(data).element("qpro_secret"))) { + custom.qpro_secret_head = $(data).element("qpro_secret").bigints("head").map(String); + custom.qpro_secret_hair = $(data).element("qpro_secret").bigints("hair").map(String); + custom.qpro_secret_face = $(data).element("qpro_secret").bigints("face").map(String); + custom.qpro_secret_body = $(data).element("qpro_secret").bigints("body").map(String); + custom.qpro_secret_hand = $(data).element("qpro_secret").bigints("hand").map(String); + } + + if (!_.isNil($(data).element("qpro_equip"))) { + custom.qpro_head = parseInt($(data).attr("qpro_equip").head); + custom.qpro_hair = parseInt($(data).attr("qpro_equip").hair); + custom.qpro_face = parseInt($(data).attr("qpro_equip").face); + custom.qpro_body = parseInt($(data).attr("qpro_equip").body); + custom.qpro_hand = parseInt($(data).attr("qpro_equip").head); + } + + if (!_.isNil($(data).element("achievements"))) { + // TODO:: achi_packflg, achi_packid, achi_playpack // + pcdata.achi_lastweekly = parseInt($(data).attr("achievements").last_weekly); + pcdata.achi_packcomp = parseInt($(data).attr("achievements").pack_comp); + pcdata.achi_visitflg = parseInt($(data).attr("achievements").visit_flg); + pcdata.achi_weeklynum = parseInt($(data).attr("achievements").weekly_num); + pcdata.achi_trophy = $(data).element("achievements").bigints("trophy").map(String); + } + + if (hasStepUpData) { + pcdata.st_friendship = parseInt($(data).attr("step").friendship); + pcdata.st_progress = parseInt($(data).attr("step").progress); + pcdata.st_station_clear = parseInt($(data).attr("step").station_clear); + pcdata.st_station_play = parseInt($(data).attr("step").station_play); + pcdata.st_sp_mission = parseInt($(data).attr("step").sp_mission); + pcdata.st_dp_mission = parseInt($(data).attr("step").dp_mission); + pcdata.st_sp_level = parseInt($(data).attr("step").sp_level); + pcdata.st_dp_level = parseInt($(data).attr("step").dp_level); + pcdata.st_sp_mplay = parseInt($(data).attr("step").sp_mplay); + pcdata.st_dp_mplay = parseInt($(data).attr("step").dp_mplay); + pcdata.st_mission_gauge = parseInt($(data).attr("step").mission_gauge); + pcdata.st_tokimeki = $(data).buffer("step").toString("base64"); // TODO:: verify // + } + + if (!_.isNil($(data).element("deller"))) pcdata.deller += parseInt($(data).attr("deller").deller); + if (!_.isNil($(data).element("orb_data"))) pcdata.orb += parseInt($(data).attr("orb_data").add_orb); + + // TODO:: fix event saving, these event savings are broken. // + } else if (version >= 27) { // lid bookkeep cid ctype ccode pcdata.rtype = parseInt($(data).attr().rtype); @@ -2057,7 +2167,3 @@ export const pcdrawlanegacha: EPR = async (info, data, send) => { }), }); }; - -export const pcconsumelanegacha: EPR = async (info, data, send) => { - return send.success(); -}; diff --git a/iidx@asphyxia/handlers/shop.ts b/iidx@asphyxia/handlers/shop.ts index 7928a78..fa4c869 100644 --- a/iidx@asphyxia/handlers/shop.ts +++ b/iidx@asphyxia/handlers/shop.ts @@ -1,20 +1,93 @@ -export const shopgetname: EPR = async (info, data, send) => { +import { convention_data, shop_data } from "../models/shop"; +import { GetVersion } from "../util"; + +export const shopgetname: EPR = async (info, data, send) => { + const shop_data = await DB.FindOne({ + collection: "shop_data", + }); + + if (_.isNil(shop_data)) { + return send.object( + K.ATTR({ + status: "0", + opname: "CORE", + pid: "57", + cls_opt: "0", + hr: "0", + mi: "0", + }) + ); + } + return send.object( K.ATTR({ status: "0", - opname: "CORE", - pid: "57", - cls_opt: "0", + opname: shop_data.opname, + pid: String(shop_data.pid), + cls_opt: String(shop_data.cls_opt), hr: "0", mi: "0", }) ); }; +export const shopsavename: EPR = async (info, data, send) => { + await DB.Upsert( + { + collection: "shop_data", + }, + { + $set: { + opname: $(data).attr().opname, + pid: parseInt($(data).attr().pid), + cls_opt: parseInt($(data).attr().cls_opt), + }, + } + ); + + return send.success(); +}; + export const shopgetconvention: EPR = async (info, data, send) => { - return send.deny(); + const version = GetVersion(info); + + const convention_data = await DB.FindOne({ + collection: "shop_convention", + version: version, + }); + if (_.isNil(convention_data)) return send.deny(); + + return send.object( + K.ATTR({ + music_0: String(convention_data.music_0), + music_1: String(convention_data.music_1), + music_2: String(convention_data.music_2), + music_3: String(convention_data.music_3), + }, + { + valid: K.ITEM("bool", convention_data.valid), + }) + ); }; export const shopsetconvention: EPR = async (info, data, send) => { - return send.deny(); + const version = GetVersion(info); + + await DB.Upsert( + { + collection: "shop_convention", + version: version, + }, + { + $set: { + music_0: $(data).number("music_0"), + music_1: $(data).number("music_1"), + music_2: $(data).number("music_2"), + music_3: $(data).number("music_3"), + valid: $(data).bool("valid"), + }, + } + ); + + return send.success(); }; diff --git a/iidx@asphyxia/index.ts b/iidx@asphyxia/index.ts index 6d6d7d0..eacee3e 100644 --- a/iidx@asphyxia/index.ts +++ b/iidx@asphyxia/index.ts @@ -1,5 +1,5 @@ -import { pccommon, pcreg, pcget, pcgetname, pctakeover, pcvisit, pcsave, pcoldget, pcgetlanegacha, pcconsumelanegacha, pcdrawlanegacha, pcshopregister } from "./handlers/pc"; -import { shopgetname, shopgetconvention, shopsetconvention } from "./handlers/shop"; +import { pccommon, pcreg, pcget, pcgetname, pctakeover, pcvisit, pcsave, pcoldget, pcgetlanegacha, pcdrawlanegacha, pcshopregister } from "./handlers/pc"; +import { shopgetname, shopsavename, shopgetconvention, shopsetconvention } from "./handlers/shop"; import { musicreg, musicgetrank, musicappoint, musicarenacpu } from "./handlers/music"; import { graderaised } from "./handlers/grade"; import { gssysteminfo } from "./handlers/gamesystem"; @@ -36,6 +36,7 @@ export function register() { R.Route(`${method}`, handler); R.Route(`IIDX21${method}`, handler); R.Route(`IIDX22${method}`, handler); + R.Route(`IIDX23${method}`, handler); R.Route(`IIDX27${method}`, handler); R.Route(`IIDX28${method}`, handler); R.Route(`IIDX29${method}`, handler); @@ -53,9 +54,10 @@ export function register() { MultiRoute("pc.shopregister", pcshopregister); MultiRoute("pc.getLaneGachaTicket", pcgetlanegacha); MultiRoute("pc.drawLaneGacha", pcdrawlanegacha); - MultiRoute("pc.consumeLaneGachaTicket", pcconsumelanegacha); + MultiRoute("pc.consumeLaneGachaTicket", true); MultiRoute("shop.getname", shopgetname); + MultiRoute("shop.savename", shopsavename); MultiRoute("shop.getconvention", shopgetconvention); MultiRoute("shop.setconvention", shopsetconvention); diff --git a/iidx@asphyxia/models/pcdata.ts b/iidx@asphyxia/models/pcdata.ts index 47c1ff8..091a460 100644 --- a/iidx@asphyxia/models/pcdata.ts +++ b/iidx@asphyxia/models/pcdata.ts @@ -148,6 +148,11 @@ export interface pcdata { st_age_list: number; st_is_present: number; st_is_future: number; + st_friendship: number; // step (copula) // + st_station_clear: number; + st_station_play: number; + st_mission_gauge: number; + st_tokimeki: any; st_enemy_damage: number; // step (Heroic Verse) // st_progress: number; @@ -483,6 +488,85 @@ export const IIDX22_pcdata = { orb: 0, } +export const IIDX23_pcdata = { + version: 23, + + spnum: 0, + dpnum: 0, + sach: 0, + dach: 0, + mode: 0, + pmode: 0, + rtype: 0, + sp_opt: 0, + dp_opt: 0, + dp_opt2: 0, + gpos: 0, + s_sorttype: 0, + d_sorttype: 0, + s_pace: 0, + d_pace: 0, + s_gno: 0, + d_gno: 0, + s_gtype: 0, + d_gtype: 0, + s_sdlen: 0, + d_sdlen: 0, + s_sdtype: 0, + d_sdtype: 0, + s_timing: 0, + d_timing: 0, + s_notes: 0, + d_notes: 0, + s_judge: 0, + d_judge: 0, + s_judgeAdj: 0, + d_judgeAdj: 0, + s_hispeed: 0, + d_hispeed: 0, + s_liflen: 0, + d_liflen: 0, + s_disp_judge: 0, + d_disp_judge: 0, + s_opstyle: 0, + d_opstyle: 0, + s_exscore: 0, + d_exscore: 0, + s_largejudge: 0, + d_largejudge: 0, + + secret_flg1: Array(3).fill("-1"), + secret_flg2: Array(3).fill("-1"), + secret_flg3: Array(3).fill("-1"), + + sgid: -1, + dgid: -1, + + st_friendship: 0, + st_progress: 0, + st_station_clear: 0, + st_station_play: 0, + st_sp_mission: 0, + st_dp_mission: 0, + st_sp_level: 0, + st_dp_level: 0, + st_sp_mplay: 0, + st_dp_mplay: 0, + st_mission_gauge: 0, + st_tokimeki: null, + + achi_pack: 0, + achi_packcomp: 0, + achi_lastweekly: 0, + achi_weeklynum: 0, + achi_visitflg: 0, + achi_rivalcrush: 0, + achi_trophy: Array(20).fill("0"), + + deller: 0, + orb: 0, +} + export const IIDX27_pcdata = { version: 27, diff --git a/iidx@asphyxia/models/shop.ts b/iidx@asphyxia/models/shop.ts new file mode 100644 index 0000000..afb1320 --- /dev/null +++ b/iidx@asphyxia/models/shop.ts @@ -0,0 +1,19 @@ +export interface shop_data { + collection: "shop_data"; + + opname: string; + pid: number; + cls_opt: number; +} + +export interface convention_data { + collection: "shop_convention"; + + version: number; + + music_0: number; + music_1: number; + music_2: number; + music_3: number; + valid: boolean; +} diff --git a/iidx@asphyxia/pug/LDJ/23pccommon.pug b/iidx@asphyxia/pug/LDJ/23pccommon.pug new file mode 100644 index 0000000..51cdafd --- /dev/null +++ b/iidx@asphyxia/pug/LDJ/23pccommon.pug @@ -0,0 +1,21 @@ +IIDX23pc(status="0" expire="600") + ir(beat=beat) + //- + cm(id="" folder="" compo="") + expert(phase="1") + expert_random_secret(phase="2") + boss(phase="3") + event1_phase(phase="1") + event2_phase(phase="2") + extra_boss_event(phase="30") + vip_pass_black + event1_rainbow_ticket + deller_bonus(open="1") + newsong_another(open="1") + expert_secret_full_open + remocon_collabo + ravemania_collabo + djlevel_result + virtual_coin(phase="1") + reflec_volzza_collabo + bemani_summer2016(phase="2") diff --git a/iidx@asphyxia/pug/LDJ/23pcget.pug b/iidx@asphyxia/pug/LDJ/23pcget.pug new file mode 100644 index 0000000..e83b729 --- /dev/null +++ b/iidx@asphyxia/pug/LDJ/23pcget.pug @@ -0,0 +1,55 @@ +IIDX23pc(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_largejudge=pcdata.s_largejudge d_largejudge=pcdata.d_largejudge) + spdp_rival(flg="-1") + bind_eaappli + ea_premium_course + secret + flg1(__type="s64" __count="3") -1 -1 -1 + flg2(__type="s64" __count="3") -1 -1 -1 + flg3(__type="s64" __count="3") -1 -1 -1 + if pcdata.sp_mlist != null + favorite + sp_mlist(__type="bin") #{pcdata.sp_mlist} + sp_clist(__type="bin") #{pcdata.sp_clist} + dp_mlist(__type="bin") #{pcdata.dp_mlist} + dp_clist(__type="bin") #{pcdata.dp_clist} + qpro_secret + head(__type="s64" __count="4") -1 -1 -1 -1 + hair(__type="s64" __count="4") -1 -1 -1 -1 + face(__type="s64" __count="4") -1 -1 -1 -1 + body(__type="s64" __count="4") -1 -1 -1 -1 + hand(__type="s64" __count="4") -1 -1 -1 -1 + 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]} + skin(__type="s16" __count="14") #{custom.frame} #{custom.turntable} #{custom.note_burst} #{custom.menu_music} #{appendsettings} #{custom.lane_cover} 0 #{custom.category_vox} #{custom.note_skin} #{custom.full_combo_splash} 0 #{custom.disable_musicpreview} 0 0 + qprodata(__type="u32" __count="5") #{custom.qpro_head} #{custom.qpro_hair} #{custom.qpro_face} #{custom.qpro_hand} #{custom.qpro_body} + 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") + 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") + 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} + //-step_assist(iidx_id iidx_id_str name hair head face body hand) + qpronicle_love(music_list="-1") + achievements(pack=pcdata.achi_pack pack_comp=pcdata.achi_packcomp last_weekly=pcdata.achi_lastweekly weekly_num=pcdata.achi_weeklynum visit_flg=pcdata.achi_visitflg rival_crush=pcdata.achi_rivalcrush) + trophy(__type="s64" __count="10") #{pcdata.achi_trophy[0]} #{pcdata.achi_trophy[1]} #{pcdata.achi_trophy[2]} #{pcdata.achi_trophy[3]} #{pcdata.achi_trophy[4]} #{pcdata.achi_trophy[5]} #{pcdata.achi_trophy[6]} #{pcdata.achi_trophy[7]} #{pcdata.achi_trophy[8]} #{pcdata.achi_trophy[9]} + //- + event1_data(point_map_0 point_map_1 point_map_2 point_map_3 point_map_4 last_map hold_point rank_point tips_list gift_point) + event1_assist(iidx_id iidx_id_str name hair head face body hand) + event2_data(play_num now_area now_note_grade stop_area_time) + event2_area_data(area_no area_play normal_point hyper_point 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") + bemani_summer_collabo(music_bit="-1") + deller(deller=pcdata.deller rate="1") + orb_data(rest_orb=pcdata.orb) + rainbow_ticket(item_num="10") + beatstream_collabo(music_list="-1") + floor_infection(music_list="-1") + reflec_volzza_collabo(iidx_music_list="-1" reflec_music_list="-1")