IIDX: Initial support added for SIRIUS

This commit is contained in:
duel0213 2024-02-23 11:39:06 +09:00
parent c2412571c6
commit 927030100a
17 changed files with 190 additions and 52 deletions

View File

@ -6,6 +6,7 @@ Plugin Version: **v0.1.12**
Supported Versions
- beatmaniaIIDX 17 SIRIUS
- beatmaniaIIDX 18 Resort Anthem
- beatmaniaIIDX 19 Lincle
- beatmaniaIIDX 20 tricoro
@ -106,8 +107,10 @@ Changelogs
- Added Experimental WebUI (WIP)
- Added music.crate/music.breg response
- CLEAR RATE and BEGINNER clear lamp may not work on certain versions
- Added Initial support for SIRIUS (profile only)
- 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
- Fixed where fcombo isn't saving (Resort Anthem)

View File

@ -689,7 +689,7 @@ export const musiccrate: EPR = async (info, data, send) => {
K.ARRAY("s32", [...cRate, ...fcRate], { mid: key }),
);
} else {
if (version < 20) { // TODO:: figure out why this doesn't work in Resort Anthem //
if (version < 20) { // TODO:: figure out why this doesn't work in older than Lincle //
c.push(
K.ARRAY("u8", [...indices.map(i => cRate[i])], { mid: String(NewMidToOldMid(Number(key))) }),
);

View File

@ -1,4 +1,4 @@
import { pcdata, KDZ_pcdata, IIDX27_pcdata, IIDX28_pcdata, IIDX29_pcdata, IIDX30_pcdata, JDZ_pcdata, LDJ_pcdata, IIDX21_pcdata, IIDX22_pcdata, IIDX23_pcdata, IIDX24_pcdata, IIDX25_pcdata, IIDX26_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, IIDX24_pcdata, IIDX25_pcdata, IIDX26_pcdata, JDJ_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";
@ -21,16 +21,29 @@ export const pccommon: EPR = async (info, data, send) => {
// have no idea what some of attribute or value does //
// exposing these to plugin setting or use static value //
switch (version) {
case 17:
result = {
...result,
cmd: K.ATTR({
gmbl: String(Number(U.GetConfig("cmd_gmbl"))),
gmbla: String(Number(U.GetConfig("cmd_gmbla"))),
regl: String(Number(U.GetConfig("cmd_regl"))),
rndp: String(Number(U.GetConfig("cmd_rndp"))),
hrnd: String(Number(U.GetConfig("cmd_hrnd"))),
alls: String(Number(U.GetConfig("cmd_alls"))),
}),
lg: K.ATTR({ lea: String(U.GetConfig("sr_league")) }),
}
case 18:
result = {
...result,
cmd: K.ATTR({
gmbl: String(Number(U.GetConfig("ra_cmd_gmbl"))),
gmbla: String(Number(U.GetConfig("ra_cmd_gmbla"))),
regl: String(Number(U.GetConfig("ra_cmd_regl"))),
rndp: String(Number(U.GetConfig("ra_cmd_rndp"))),
hrnd: String(Number(U.GetConfig("ra_cmd_hrnd"))),
alls: String(Number(U.GetConfig("ra_cmd_alls"))),
gmbl: String(Number(U.GetConfig("cmd_gmbl"))),
gmbla: String(Number(U.GetConfig("cmd_gmbla"))),
regl: String(Number(U.GetConfig("cmd_regl"))),
rndp: String(Number(U.GetConfig("cmd_rndp"))),
hrnd: String(Number(U.GetConfig("cmd_hrnd"))),
alls: String(Number(U.GetConfig("cmd_alls"))),
}),
lg: K.ATTR({ lea: String(U.GetConfig("ra_league")) }),
lf: K.ATTR({ life: String(U.GetConfig("ra_story")) }),
@ -224,6 +237,9 @@ export const pcreg: EPR = async (info, data, send) => {
let lightning_settings: object;
let lightning_playdata: object;
switch (version) {
case 17:
pcdata = JDJ_pcdata;
break;
case 18:
pcdata = JDZ_pcdata;
break;
@ -436,9 +452,35 @@ export const pcget: EPR = async (info, data, send) => {
}
let event;
if (version == 18) {
event = await DB.FindOne(refid, { collection: "event_1", version: version });
if (version == 17) {
return send.pugFile("pug/JDJ/pcget.pug", {
profile,
pcdata,
dArray,
appendsettings,
custom,
rArray,
});
}
else if (version == 18) {
if (_.isNil(pcdata.fcombo)) { // temp //
pcdata.fcombo = Array<number>(2).fill(0);
await DB.Upsert<pcdata>(
refid,
{
collection: "pcdata",
version: version,
},
{
$set: {
fcombo: Array<number>(2).fill(0),
}
}
);
}
event = await DB.FindOne(refid, { collection: "event_1", version: version });
if (!_.isNil(event)) {
event.cf = Base64toBuffer(event.cf).toString("hex");
event.pf = Base64toBuffer(event.pf).toString("hex");
@ -717,6 +759,9 @@ export const pctakeover: EPR = async (info, data, send) => {
let lightning_settings: object;
let lightning_playdata: object;
switch (version) {
case 17:
pcdata = JDJ_pcdata;
break;
case 18:
pcdata = JDZ_pcdata;
break;
@ -880,7 +925,7 @@ export const pcsave: EPR = async (info, data, send) => {
pcdata.mode = parseInt($(data).attr().mode);
pcdata.pmode = parseInt($(data).attr().pmode);
if (version == 18) {
if (version == 17) {
if (cltype == 0) {
pcdata.sach = parseInt($(data).attr().achi);
pcdata.sp_opt = parseInt($(data).attr().opt);
@ -899,6 +944,30 @@ export const pcsave: EPR = async (info, data, send) => {
pcdata.ncomb = parseInt($(data).attr().ncomb);
pcdata.mcomb = parseInt($(data).attr().mcomb);
pcdata.liflen = parseInt($(data).attr().lift);
pcdata.fcombo[cltype] = parseInt($(data).attr().fcombo);
if (!_.isNil($(data).element("party"))) pcdata.party = $(data).element("party").numbers("fnum");
}
else if (version == 18) {
if (cltype == 0) {
pcdata.sach = parseInt($(data).attr().achi);
pcdata.sp_opt = parseInt($(data).attr().opt);
}
else {
pcdata.dach = parseInt($(data).attr().achi);
pcdata.dp_opt = parseInt($(data).attr().opt);
pcdata.dp_opt2 = parseInt($(data).attr().opt2);
}
pcdata.gno = parseInt($(data).attr().gno);
pcdata.timing = parseInt($(data).attr().timing);
pcdata.sflg0 = parseInt($(data).attr().sflg0);
pcdata.sflg1 = parseInt($(data).attr().sflg1);
pcdata.sdhd = parseInt($(data).attr().sdhd);
pcdata.ncomb = parseInt($(data).attr().ncomb);
pcdata.mcomb = parseInt($(data).attr().mcomb);
pcdata.liflen = parseInt($(data).attr().lift);
pcdata.fcombo[cltype] = parseInt($(data).attr().fcombo);
// TODO:: STORY/LEAGUE //

View File

@ -14,6 +14,7 @@ export function register() {
R.Contributor("duel0213");
R.GameCode("JDJ");
R.GameCode("JDZ");
R.GameCode("KDZ");
R.GameCode("LDJ");
@ -21,10 +22,47 @@ export function register() {
// common //
R.Config("BeatPhase", {
name: "Beat #",
desc: "1 / 2 / 3 / FREE",
desc: "1 / 2 / 3 / FREE", // This can be event phase on old versions //
type: "integer",
default: 3, // BEAT FREE //
});
// ~ Resort Anthem (common) / /
R.Config("cmd_gmbl", {
name: "G.JUDGE",
desc: "Enable G.JUDGE Command (~ Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("cmd_gmbla", {
name: "G.JUDGE-A",
desc: "Enable G.JUDGE-A Command (~ Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("cmd_regl", {
name: "REGUL-SPEED",
desc: "Enable REGUL-SPEED Command (~ Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("cmd_rndp", {
name: "RANDOM+",
desc: "Enable RANDOM+ Command (~ Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("cmd_hrnd", {
name: "H-RANDOM",
desc: "Enable H-RANDOM Command (~ Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("cmd_alls", {
name: "ALL-SCRATCH",
desc: "Enable ALL-SCRATCH Command (~ Resort Anthem)",
type: "boolean",
default: true,
});
// SPADA ~ (common) //
R.Config("NewSongAnother12", {
name: "New Song Another",
@ -70,43 +108,14 @@ export function register() {
default: 2,
})
// SIRIUS //
R.Config("sr_league", {
name: "League Phase (SR)",
type: "integer",
default: 0,
});
// Resort Anthem //
R.Config("ra_cmd_gmbl", {
name: "G.JUDGE",
desc: "Enable G.JUDGE Command (Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("ra_cmd_gmbla", {
name: "G.JUDGE-A",
desc: "Enable G.JUDGE-A Command (Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("ra_cmd_regl", {
name: "REGUL-SPEED",
desc: "Enable REGUL-SPEED Command (Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("ra_cmd_rndp", {
name: "RANDOM+",
desc: "Enable RANDOM+ Command (Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("ra_cmd_hrnd", {
name: "H-RANDOM",
desc: "Enable H-RANDOM Command (Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("ra_cmd_alls", {
name: "ALL-SCRATCH",
desc: "Enable ALL-SCRATCH Command (Resort Anthem)",
type: "boolean",
default: true,
});
R.Config("ra_league", {
name: "League Phase (RA)",
type: "integer",

View File

@ -119,6 +119,8 @@ export interface pcdata {
sgid: number; // grade //
dgid: number;
party: number[];
jpoint: number; // jpoint (lincle) //
st_sp_ach: number; // step (lincle) //
@ -212,6 +214,34 @@ export interface pcdata {
tourism_secret_flg2: string[];
}
export const JDJ_pcdata = {
version: 17,
spnum: 0,
dpnum: 0,
sach: 0,
dach: 0,
sflg0: 0,
sflg1: 0,
gno: 0,
timing: 0,
sdhd: 0,
sp_opt: 0,
dp_opt: 0,
dp_opt2: 0,
mcomb: 0,
ncomb: 0,
mode: 0,
pmode: 0,
liflen: 0,
fcombo: Array<number>(2).fill(0),
party: Array<number>(24).fill(0),
sgid: -1,
dgid: -1,
}
export const JDZ_pcdata = {
version: 18,
@ -233,6 +263,8 @@ export const JDZ_pcdata = {
pmode: 0,
liflen: 0,
fcombo: Array<number>(2).fill(0),
sgid: -1,
dgid: -1,
}

View File

@ -0,0 +1,15 @@
pc(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 sflg0=pcdata.sflg0 sflg1=pcdata.sflg1 gno=pcdata.gno timing=pcdata.timing sdhd=pcdata.sdhd sp_opt=pcdata.sp_opt dp_opt=pcdata.dp_opt dp_opt2=pcdata.dp_opt2 mcomb=pcdata.mcomb ncomb=pcdata.ncomb mode=pcdata.mode pmode=pcdata.pmode liflen=pcdata.liflen)
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]}
ex
skin(__type="u16" __count="12") #{custom.frame} #{custom.turntable} #{custom.note_burst} #{custom.menu_music} #{appendsettings} #{custom.lane_cover} 0 #{custom.category_vox} 0 0 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])
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
fcombo(__type="s16" __count="2") #{pcdata.fcombo[0]} #{pcdata.fcombo[1]}
party
fnum(__type="s32" __count="24") #{pcdata.party[0]} #{pcdata.party[1]} #{pcdata.party[2]} #{pcdata.party[3]} #{pcdata.party[4]} #{pcdata.party[5]} #{pcdata.party[6]} #{pcdata.party[7]} #{pcdata.party[8]} #{pcdata.party[9]} #{pcdata.party[10]} #{pcdata.party[11]} #{pcdata.party[12]} #{pcdata.party[13]} #{pcdata.party[14]} #{pcdata.party[15]} #{pcdata.party[16]} #{pcdata.party[17]} #{pcdata.party[18]} #{pcdata.party[19]} #{pcdata.party[20]} #{pcdata.party[21]} #{pcdata.party[22]} #{pcdata.party[23]}
jubeat(jflg_0="-1" jflg_1="-1" jflg_2="-1" jflg_3="-1")

View File

@ -8,6 +8,8 @@ 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])
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
fcombo(__type="s16" __count="2") #{pcdata.fcombo[0]} #{pcdata.fcombo[1]}
lincle(comflg="1" flg1="-1" flg2="-1" flg3="-1" flg4="-1" flg5="-1" flg6="-1" flg7="-1" refcomp="1")
reflec(tf="1" br="1" ssc="1" sr="1" wu="1" sg="1" tb="1")
jubeat(jflg_0="-1" jflg_1="-1" jflg_2="-1" jflg_3="-1")

View File

@ -11,12 +11,11 @@ pc(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])
qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1])
ocrs
weekly(wid="-1" mid="-1")
visitor(anum="0" snum="0" pnum="0" vs_flg="1")
attack(a0="0" a1="0" a2="0" a3="0" a4="0" a5="0")
//-weekly(wid="-1" mid="-1")
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
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_dif=pcdata.st_sp_dif dp_dif=pcdata.st_dp_dif)
lincle(comflg="1" flg1="1" flg2="1" flg3="1" flg4="1" flg5="1" flg6="1" flg7="1")
lincle(comflg="1" flg1="-1" flg2="-1" flg3="-1" flg4="-1" flg5="-1" flg6="-1" flg7="-1")
reflec(tf="1" br="1" ssc="1" sr="1" wu="1" sg="1" tb="1")
jubeat(point="0" bonus="0" jbonus=pcdata.jpoint open="1")
if event != null

View File

@ -30,6 +30,7 @@ IIDX21pc(status="0")
qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1])
shop(name=shop_data.opname)
join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname)
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
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}

View File

@ -30,6 +30,7 @@ IIDX22pc(status="0")
qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1])
shop(name=shop_data.opname)
join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname)
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
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}

View File

@ -31,6 +31,7 @@ IIDX23pc(status="0")
qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1])
shop(name=shop_data.opname)
join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname)
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
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}

View File

@ -46,6 +46,7 @@ IIDX27pc(status="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")
radar_score(__type="s32" __count="6") #{pcdata.nr_dpradar[0]} #{pcdata.nr_dpradar[1]} #{pcdata.nr_dpradar[2]} #{pcdata.nr_dpradar[3]} #{pcdata.nr_dpradar[4]} #{pcdata.nr_dpradar[5]}
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
step(dp_clear_mission_clear=pcdata.st_dp_clear_mission_clear dp_clear_mission_level=pcdata.st_dp_clear_mission_level dp_dj_mission_clear=pcdata.st_dp_dj_mission_clear dp_dj_mission_level=pcdata.st_dp_dj_mission_level dp_level=pcdata.st_dp_level dp_mission_point=pcdata.st_dp_mission_point dp_mplay=pcdata.st_dp_mplay enemy_damage=pcdata.st_enemy_damage progress=pcdata.st_progress sp_clear_mission_clear=pcdata.st_sp_clear_mission_clear sp_clear_mission_level=pcdata.st_sp_clear_mission_level sp_dj_mission_clear=pcdata.st_sp_dj_mission_clear sp_dj_mission_level=pcdata.st_sp_dj_mission_level sp_level=pcdata.st_sp_level sp_mission_point=pcdata.st_sp_mission_point sp_mplay=pcdata.st_sp_mplay tips_read_list=pcdata.st_tips_read_list)
is_track_ticket(__type="bool") #{pcdata.st_is_track_ticket}
achievements(last_weekly=pcdata.achi_lastweekly pack=pcdata.achi_pack pack_comp=pcdata.achi_packcomp rival_crush=pcdata.achi_rivalcrush visit_flg=pcdata.achi_visitflg weekly_num=pcdata.achi_weeklynum)

View File

@ -53,6 +53,7 @@ IIDX28pc(status="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")
radar_score(__type="s32" __count="6") #{pcdata.nr_dpradar[0]} #{pcdata.nr_dpradar[1]} #{pcdata.nr_dpradar[2]} #{pcdata.nr_dpradar[3]} #{pcdata.nr_dpradar[4]} #{pcdata.nr_dpradar[5]}
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
step(dp_clear_mission_clear=pcdata.st_dp_clear_mission_clear dp_clear_mission_level=pcdata.st_dp_clear_mission_level dp_dj_mission_clear=pcdata.st_dp_dj_mission_clear dp_dj_mission_level=pcdata.st_dp_dj_mission_level dp_level=pcdata.st_dp_level dp_mission_point=pcdata.st_dp_mission_point dp_mplay=pcdata.st_dp_mplay enemy_damage=pcdata.st_enemy_damage progress=pcdata.st_progress sp_clear_mission_clear=pcdata.st_sp_clear_mission_clear sp_clear_mission_level=pcdata.st_sp_clear_mission_level sp_dj_mission_clear=pcdata.st_sp_dj_mission_clear sp_dj_mission_level=pcdata.st_sp_dj_mission_level sp_level=pcdata.st_sp_level sp_mission_point=pcdata.st_sp_mission_point sp_mplay=pcdata.st_sp_mplay tips_read_list=pcdata.st_tips_read_list)
is_track_ticket(__type="bool") #{pcdata.st_is_track_ticket}
achievements(last_weekly=pcdata.achi_lastweekly pack=pcdata.achi_pack pack_comp=pcdata.achi_packcomp rival_crush=pcdata.achi_rivalcrush visit_flg=pcdata.achi_visitflg weekly_num=pcdata.achi_weeklynum)

View File

@ -53,6 +53,7 @@ IIDX29pc(status="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")
radar_score(__type="s32" __count="6") #{pcdata.nr_dpradar[0]} #{pcdata.nr_dpradar[1]} #{pcdata.nr_dpradar[2]} #{pcdata.nr_dpradar[3]} #{pcdata.nr_dpradar[4]} #{pcdata.nr_dpradar[5]}
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
step(enemy_damage=pcdata.st_enemy_damage progress=pcdata.st_progress total_point=pcdata.st_total_point enemy_defeat_flg=pcdata.st_enemy_defeat_flg sp_level=pcdata.st_sp_level dp_level=pcdata.st_dp_level mission_clear_num=pcdata.st_mission_clear_num sp_mplay=pcdata.st_sp_mplay dp_mplay=pcdata.st_dp_mplay tips_read_list=pcdata.st_tips_read_list)
is_track_ticket(__type="bool") #{pcdata.st_is_track_ticket}
achievements(last_weekly=pcdata.achi_lastweekly pack=pcdata.achi_pack pack_comp=pcdata.achi_packcomp rival_crush=pcdata.achi_rivalcrush visit_flg=pcdata.achi_visitflg weekly_num=pcdata.achi_weeklynum)

View File

@ -48,6 +48,7 @@ IIDX30pc(status="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")
radar_score(__type="s32" __count="6") #{pcdata.nr_dpradar[0]} #{pcdata.nr_dpradar[1]} #{pcdata.nr_dpradar[2]} #{pcdata.nr_dpradar[3]} #{pcdata.nr_dpradar[4]} #{pcdata.nr_dpradar[5]}
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
step(enemy_damage=pcdata.st_enemy_damage progress=pcdata.st_progress total_point=pcdata.st_total_point enemy_defeat_flg=pcdata.st_enemy_defeat_flg sp_level=pcdata.st_sp_level dp_level=pcdata.st_dp_level sp_fluctuation=pcdata.st_sp_fluctuation dp_fluctuation=pcdata.st_dp_fluctuation mission_clear_num=pcdata.st_mission_clear_num sp_mplay=pcdata.st_sp_mplay dp_mplay=pcdata.st_dp_mplay tips_read_list=pcdata.st_tips_read_list)
is_track_ticket(__type="bool") #{pcdata.st_is_track_ticket}
achievements(last_weekly=pcdata.achi_lastweekly pack=pcdata.achi_pack pack_comp=pcdata.achi_packcomp rival_crush=pcdata.achi_rivalcrush visit_flg=pcdata.achi_visitflg weekly_num=pcdata.achi_weeklynum)

View File

@ -22,6 +22,7 @@ pc(status="0")
qprodata(body=rd.qprodata[3] face=rd.qprodata[2] hair=rd.qprodata[0] hand=rd.qprodata[4] head=rd.qprodata[1])
shop(name=shop_data.opname)
join_shop(joinflg="1" join_cflg="1" join_id="ea" join_name=shop_data.opname)
visitor(anum="10" snum="10" pnum="10" vs_flg="1")
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}

View File

@ -64,6 +64,7 @@ export function Base64toBuffer(s: string) {
export function GetVersion(info: EamuseInfo) {
let version = -1;
switch (info.model.substring(0, 3)) {
case "JDJ": return 17;
case "JDZ": return 18;
case "KDZ": return 19;
case "LDJ":