From 28538c17dd197ad6e0eb58711868d35a307fa41d Mon Sep 17 00:00:00 2001 From: duel0213 Date: Sun, 18 Feb 2024 19:03:26 +0900 Subject: [PATCH] IIDX: Exposed more pc.common attributes to plugin settings IIDX: Fixed couple of events saving --- iidx@asphyxia/handlers/pc.ts | 202 +++++++++++++++++++++++------- iidx@asphyxia/index.ts | 132 ++++++++++++++++++- iidx@asphyxia/models/pcdata.ts | 4 +- iidx@asphyxia/pug/LDJ/22pcget.pug | 10 +- iidx@asphyxia/pug/LDJ/23pcget.pug | 13 +- 5 files changed, 297 insertions(+), 64 deletions(-) diff --git a/iidx@asphyxia/handlers/pc.ts b/iidx@asphyxia/handlers/pc.ts index 766fec0..272da90 100644 --- a/iidx@asphyxia/handlers/pc.ts +++ b/iidx@asphyxia/handlers/pc.ts @@ -11,12 +11,10 @@ export const pccommon: EPR = async (info, data, send) => { const version = GetVersion(info); let result: any = { - "@attr": { - expire: 300, - }, - ir: K.ATTR({ - beat: String(U.GetConfig("BeatPhase")), - }), + "@attr": { expire: 300 }, + ir: K.ATTR({ beat: String(U.GetConfig("BeatPhase")) }), + expert: K.ATTR({ phase: String(U.GetConfig("ExpertPhase")) }), + expert_random_secret: K.ATTR({ phase: String(U.GetConfig("ExpertRandomPhase")) }), } // have no idea what some of attribute or value does // @@ -63,37 +61,35 @@ export const pccommon: EPR = async (info, data, send) => { case 21: result = { ...result, - limit: K.ATTR({ phase: String(4) }), - boss: K.ATTR({ phase: String(3) }), - boss1: K.ATTR({ phase: String(4) }), + limit: K.ATTR({ phase: String(U.GetConfig("sp_limit")) }), + boss: K.ATTR({ phase: String(U.GetConfig("sp_boss")) }), + boss1: K.ATTR({ phase: String(U.GetConfig("sp_boss1")) }), medal: K.ATTR({ phase: String(1) }), vip_pass_black: {}, - cafe: K.ATTR({ open: String(1) }), - tricolettepark: K.ATTR({ open: String(1) }), - tricolettepark_skip: K.ATTR({ phase: String(2) }), + cafe: K.ATTR({ open: String(Number(U.GetConfig("sp_cafe"))) }), + tricolettepark: K.ATTR({ open: String(Number(U.GetConfig("sp_tripark"))) }), + tricolettepark_skip: K.ATTR({ phase: String(U.GetConfig("sp_triparkskip")) }), deller_bonus: K.ATTR({ open: String(1) }), gumi_event: {}, newsong_another: K.ATTR({ open: String(1) }), - superstar: K.ATTR({ phase: String(2) }), + superstar: K.ATTR({ phase: String(U.GetConfig("sp_superstar")) }), } break; case 22: result = { ...result, - pre_play: K.ATTR({ phase: String(2) }), - expert: K.ATTR({ phase: String(2) }), - toho_remix: K.ATTR({ phase: String(2) }), - expert_random_secret: K.ATTR({ phase: String(2) }), - limit: K.ATTR({ phase: String(9) }), - boss: K.ATTR({ phase: String(3) }), - chrono_diver: K.ATTR({ phase: String(3) }), - qpronicle_chord: K.ATTR({ phase: String(2) }), + pre_play: K.ATTR({ phase: String(U.GetConfig("pd_preplay")) }), + toho_remix: K.ATTR({ phase: String(U.GetConfig("pd_tohoremix")) }), + limit: K.ATTR({ phase: String(U.GetConfig("pd_limit")) }), + boss: K.ATTR({ phase: String(U.GetConfig("pd_boss")) }), + chrono_diver: K.ATTR({ phase: String(U.GetConfig("pd_chronodiver")) }), + qpronicle_chord: K.ATTR({ phase: String(U.GetConfig("pd_qproniclechord")) }), vip_pass_black: {}, - cc_collabo_event: K.ATTR({ phase: String(3) }), + cc_collabo_event: K.ATTR({ phase: String(U.GetConfig("pd_cccollabo")) }), cc_collabo_license: {}, deller_bonus: K.ATTR({ open: String(1) }), newsong_another: K.ATTR({ open: String(1) }), - common_timeshift_phase: K.ATTR({ phase: String(0) }), + common_timeshift_phase: K.ATTR({ phase: String(U.GetConfig("pd_timephase")) }), expert_secret_full_open: {}, eappli_expert: {}, eaorder: {}, @@ -102,12 +98,10 @@ export const pccommon: EPR = async (info, data, send) => { case 23: result = { ...result, - expert: K.ATTR({ phase: String(1) }), - expert_random_secret: K.ATTR({ phase: String(2) }), - boss: K.ATTR({ phase: String(3) }), - event1_phase: K.ATTR({ phase: String(1) }), - event2_phase: K.ATTR({ phase: String(2) }), - extra_boss_event: K.ATTR({ phase: String(30) }), + boss: K.ATTR({ phase: String(U.GetConfig("cp_boss")) }), + event1_phase: K.ATTR({ phase: String(U.GetConfig("cp_event1")) }), + event2_phase: K.ATTR({ phase: String(U.GetConfig("cp_event2")) }), + extra_boss_event: K.ATTR({ phase: String(30) }), // TODO:: verify // vip_pass_black: {}, event1_ranbow_ticket: {}, deller_bonus: K.ATTR({ open: String(1) }), @@ -118,7 +112,7 @@ export const pccommon: EPR = async (info, data, send) => { djlevel_result: {}, virtual_coin: K.ATTR({ phase: String(1) }), reflec_volzza_collabo: {}, - bemani_summer2016: K.ATTR({ phase: String(2) }), + bemani_summer2016: K.ATTR({ phase: String(U.GetConfig("cp_bemanisummer")) }), } break; case 24: // asphyxia_route_public // @@ -129,14 +123,11 @@ export const pccommon: EPR = async (info, data, send) => { newsong_another: K.ATTR({ open: String(1) }), expert_secret_full_open: {}, system_voice_phase: K.ATTR({ phase: String(_.random(0, 8)) }), - expert: K.ATTR({ phase: String(1) }) } break; case 27: result = { ...result, - expert: K.ATTR({ phase: String(1) }), - expert_random_secret: K.ATTR({ phase: String(1) }), boss: K.ATTR({ phase: String(1) }), vip_pass_black: {}, deller_bonus: K.ATTR({ open: String(1) }), @@ -156,8 +147,6 @@ export const pccommon: EPR = async (info, data, send) => { ...result, movie_agreement: K.ATTR({ version: String(1) }), movie_upload: K.ATTR({ url: String(U.GetConfig("bo_movieupload")) }), - expert: K.ATTR({ phase: String(1) }), - expert_random_secret: K.ATTR({ phase: String(1) }), boss: K.ATTR({ phase: String(1) }), vip_pass_black: {}, eisei: K.ATTR({ open: String(1) }), @@ -180,8 +169,6 @@ export const pccommon: EPR = async (info, data, send) => { ...result, movie_agreement: K.ATTR({ version: String(1) }), movie_upload: K.ATTR({ url: String(U.GetConfig("bo_movieupload")) }), - expert: K.ATTR({ phase: String(1) }), - expert_random_secret: K.ATTR({ phase: String(1) }), boss: K.ATTR({ phase: String(1) }), vip_pass_black: {}, eisei: K.ATTR({ open: String(1) }), @@ -514,11 +501,29 @@ export const pcget: EPR = async (info, data, send) => { tricolettepark = null, boss1 = null, chrono_diver = null, + qpronicle_chord = null, + qpronicle_phase3 = null, + pendual_talis = null, + open_tokotoko = null, + mystery_line = null, + event_1 = null, + 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" }); + + 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 }; + + 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"); @@ -530,20 +535,13 @@ export const pcget: EPR = async (info, data, send) => { 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" }); - } + 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: - 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 }); + 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) { @@ -664,6 +662,11 @@ export const pcget: EPR = async (info, data, send) => { link5, tricolettepark, chrono_diver, + qpronicle_chord, + qpronicle_phase3, + pendual_talis, + open_tokotoko, + mystery_line, wArray, bArray, }); @@ -1647,6 +1650,62 @@ export const pcsave: EPR = async (info, data, send) => { ); } + if (!_.isNil($(data).element("qpronicle_chord"))) { + let event_data = { + is_first_select_map: parseInt($(data).attr("qpronicle_chord").is_first_select_map), + last_select_map: parseInt($(data).attr("qpronicle_chord").last_select_map), + story_view_list: parseInt($(data).attr("qpronicle_chord").story_view_list), + is_use_login_bonus: parseInt($(data).attr("qpronicle_chord").is_use_login_bonus), + patona_leader: parseInt($(data).attr("qpronicle_chord").patona_leader), + patona_sub_1: parseInt($(data).attr("qpronicle_chord").patona_sub_1), + patona_sub_2: parseInt($(data).attr("qpronicle_chord").patona_sub_2), + rare_enemy_damage1: parseInt($(data).attr("qpronicle_chord").rare_enemy_damage1), + rare_enemy_damage2: parseInt($(data).attr("qpronicle_chord").rare_enemy_damage2), + rare_enemy_damage3: parseInt($(data).attr("qpronicle_chord").rare_enemy_damage3), + rare_enemy_damage4: parseInt($(data).attr("qpronicle_chord").rare_enemy_damage4), + rare_enemy_damage5: parseInt($(data).attr("qpronicle_chord").rare_enemy_damage5), + }; + + // TODO:: patona_data // + + await DB.Upsert(refid, + { + collection: "event_1", + version: version, + event_name: "qpronicle_chord", + }, + { + $set: event_data, + } + ); + } + + if (!_.isNil($(data).element("qpronicle_phase3"))) { + let event_data = { + stairs_num: parseInt($(data).attr("qpronicle_phase3").stairs_num), + flame_list: parseInt($(data).attr("qpronicle_phase3").flame_list), + lane_list: parseInt($(data).attr("qpronicle_phase3").lane_list), + map0_select: parseInt($(data).attr("qpronicle_phase3").map0_select), + map1_select: parseInt($(data).attr("qpronicle_phase3").map1_select), + map2_select: parseInt($(data).attr("qpronicle_phase3").map2_select), + map3_select: parseInt($(data).attr("qpronicle_phase3").map3_select), + map4_select: parseInt($(data).attr("qpronicle_phase3").map4_select), + map5_select: parseInt($(data).attr("qpronicle_phase3").map5_select), + map6_select: parseInt($(data).attr("qpronicle_phase3").map6_select), + }; + + await DB.Upsert(refid, + { + collection: "event_1", + version: version, + event_name: "qpronicle_phase3", + }, + { + $set: event_data, + } + ); + } + if (!_.isNil($(data).element("boss_event_3"))) { let boss_event_3 = await DB.FindOne(refid, { collection: "event_1", version: version, event_name: "boss_event_3" }); let event_data; @@ -1770,6 +1829,53 @@ export const pcsave: EPR = async (info, data, send) => { if (!_.isNil($(data).element("orb_data"))) pcdata.orb += parseInt($(data).attr("orb_data").add_orb); // TODO:: fix event saving, these event savings are broken. // + if (!_.isNil($(data).element("event1_data"))) { + let event_data = { + point_map_0: parseInt($(data).attr("event1_data").point_map_0), + point_map_1: parseInt($(data).attr("event1_data").point_map_1), + point_map_2: parseInt($(data).attr("event1_data").point_map_2), + point_map_3: parseInt($(data).attr("event1_data").point_map_3), + point_map_4: parseInt($(data).attr("event1_data").point_map_4), + last_map: parseInt($(data).attr("event1_data").last_map), + hold_point: parseInt($(data).attr("event1_data").hold_point), + rank_point: parseInt($(data).attr("event1_data").rank_point), + tips_list: parseInt($(data).attr("event1_data").tips_list), + use_gift_point: $(data).element("event1_data").bool("use_gift_point"), + }; + + await DB.Upsert(refid, + { + collection: "event_1", + version: version, + event_name: "event1_data", + }, + { + $set: event_data, + } + ); + } + + if (!_.isNil($(data).element("event2_data"))) { + let event_data = { + now_stay_area: parseInt($(data).attr("event2_data").now_stay_area), + now_stay_note_grade: parseInt($(data).attr("event2_data").now_stay_note_grade), + play_num: parseInt($(data).attr("event2_data").play_num), + stop_area_time: parseInt($(data).attr("event2_data").stop_area_time), + }; + + // TODO:: event2_area_data // + + await DB.Upsert(refid, + { + collection: "event_1", + version: version, + event_name: "event2_data", + }, + { + $set: event_data, + } + ); + } } else if (version == 24) { pcdata.sach = parseInt($(data).attr().s_achi); diff --git a/iidx@asphyxia/index.ts b/iidx@asphyxia/index.ts index ea16ce4..5f6f847 100644 --- a/iidx@asphyxia/index.ts +++ b/iidx@asphyxia/index.ts @@ -24,6 +24,16 @@ export function register() { type: "integer", default: 3, }); + R.Config("ExpertPhase", { + name: "Expert Phase", + type: "integer", + default: 2, + }); + R.Config("ExpertRandomPhase", { + name: "Expert Random Phase", + type: "integer", + default: 2, + }); // Resort Anthem // R.Config("ra_cmd_gmbl", { @@ -97,13 +107,13 @@ export function register() { // tricoro // R.Config("tr_limit", { - name: "Limit Burst Phase", + name: "Limit Burst Phase (TR)", type: "integer", - default: 4, + default: 24, // TODO:: verify // }); R.Config("tr_boss", { name: "Event Phase (TR)", - desc: "RED/BLUE/YELLOW", + desc: "RED / BLUE / YELLOW", type: "integer", default: 3, }); @@ -137,6 +147,120 @@ export function register() { default: true, }); + // SPADA // + R.Config("sp_limit", { + name: "Limit Burst Phase (SP)", + type: "integer", + default: 24, + }); + R.Config("sp_boss", { + name: "Event Phase (SP)", + desc: "Spada†leggendaria Phase", + type: "integer", + default: 3, + }); + R.Config("sp_boss1", { + name: "Qprogue Phase (SP)", + type: "integer", + default: 4, + }); + R.Config("sp_cafe", { + name: "Café de Tran", + desc: "Enable Café de Tran Event (SPADA)", + type: "boolean", + default: true, + }); + R.Config("sp_tripark", { + name: "Everyone's SPACEWAR!!", + desc: "Enable クプロ・ミミニャミ・パステルくんのみんなで宇宙戦争!! Event (SPADA)", + type: "boolean", + default: true, + }); + R.Config("sp_triparkskip", { + name: "Everyone's SPACEWAR!! Skip", + desc: "Skips クプロ・ミミニャミ・パステルくんのみんなで宇宙戦争!! Event Scenes", + type: "integer", + default: 2, + }); + R.Config("sp_superstar", { + name: "SUPER STAR -MITSURU-", + desc: "SUPER STAR 満 -MITSURU- 完全復活祭 Phase", + type: "integer", + default: 2, + }); + + // PENDUAL // + R.Config("pd_preplay", { + name: "SUPER FUTURE 2323 Phase", + type: "integer", + default: 2, + }); + R.Config("pd_tohoremix", { + name: "BEMANI X TOHO", + desc: "BEMANI×TOHO REITAISAI 2015 project Phase", + type: "integer", + default: 2, + }); + R.Config("pd_limit", { + name: "Chrono Chaser Phase", + type: "integer", + default: 9, + }); + R.Config("pd_boss", { + name: "Event Phase (SP)", + desc: "Chrono Seeker / Qpronicle Chord / PENDUAL TALISMAN", + type: "integer", + default: 3, + }); + R.Config("pd_chronodiver", { + name: "Chrono Seeker", + type: "integer", + default: 3, + }); + R.Config("pd_qproniclechord", { + name: "Qpronicle Chord", + type: "integer", + default: 2, + }); + R.Config("pd_cccollabo", { + name: "Coca-Cola×BEMANI", + desc: "Coca-Cola×BEMANI 店舗限定ロケテスト Phase", + type: "integer", + default: 3, + }); + R.Config("pd_timephase", { + name: "Time Phase", + type: "integer", + desc: "Default / Present / Future", + default: 0, + }); + + // copula // + R.Config("cp_boss", { + name: "Event Phase (CP)", + desc: "開通!とことこライン / Mystery Line", + type: "integer", + default: 2, + }); + R.Config("cp_event1", { + name: "開通!とことこライン", + desc: "開通!とことこライン Phase", + type: "integer", + default: 1, + }); + R.Config("cp_event2", { + name: "Mystery Line", + desc: "Mystery Line Phase", + type: "integer", + default: 2, + }); + R.Config("cp_bemanisummer", { + name: "BEMANI Summer 2016", + desc: "NEW Generation 夏の流星フェスタ2016 Phase", + type: "integer", + default: 2, + }); + // BISTROVER ~ (common) // R.Config("bo_movieupload", { name: "Movie Upload URL", @@ -144,7 +268,7 @@ export function register() { default: "http://localhost/" }); - // TODO:: Reflect data when version dropdown menu has been changed + // TODO:: Reflect data when version dropdown menu has been changed // R.WebUIEvent("updateIIDXRival", updateRivalSettings); R.WebUIEvent("updateIIDXCustom", updateCustomSettings); diff --git a/iidx@asphyxia/models/pcdata.ts b/iidx@asphyxia/models/pcdata.ts index 6558220..1935b62 100644 --- a/iidx@asphyxia/models/pcdata.ts +++ b/iidx@asphyxia/models/pcdata.ts @@ -178,8 +178,8 @@ export interface pcdata { st_sp_fluctuation: number; // RESIDENT // st_dp_fluctuation: number; - - event_play_num: number; // event (Heroic Verse) / / + + event_play_num: number; // event (HEROIC VERSE) // event_last_select_id: number; event_last_select_type: number; // CastHour // event_story_prog: number; // BISTROVER // diff --git a/iidx@asphyxia/pug/LDJ/22pcget.pug b/iidx@asphyxia/pug/LDJ/22pcget.pug index 74bac33..8d7dd67 100644 --- a/iidx@asphyxia/pug/LDJ/22pcget.pug +++ b/iidx@asphyxia/pug/LDJ/22pcget.pug @@ -36,11 +36,13 @@ IIDX22pc(status="0") //-step_assist(iidx_id iidx_id_str name hair head face body hand) if chrono_diver != null 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) - //-qpronicle_chord(is_first_select_map last_select_map story_view_list is_login_bonus patona_leader patona_sub_1 patona_sub_2 rare_enemy_damage1 rare_enemy_damage2 rare_enemy_damage3 rare_enemy_damage4 rare_enemy_damage5) - patona_data(patona_no level exp affection dissatisfaction) - //-qpronicle_phase3(stairs_num flame_list lane_list map0_select map1_select map2_select map3_select map5_select map6_select is_love_scene_skip) + 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) + 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") - boss_event_3(music_list="-1" bonus_point="0") + boss_event_3(music_list="-1" bonus_point=pendual_talis.point) //-chaser(phase attack exist_age summon_gate success failed damage_point boss_hp) ues_music(__type="u32" __count="40") 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) diff --git a/iidx@asphyxia/pug/LDJ/23pcget.pug b/iidx@asphyxia/pug/LDJ/23pcget.pug index e83b729..7d1aec6 100644 --- a/iidx@asphyxia/pug/LDJ/23pcget.pug +++ b/iidx@asphyxia/pug/LDJ/23pcget.pug @@ -38,12 +38,13 @@ IIDX23pc(status="0") 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) + if open_tokotoko != null + event1_data(point_map_0=open_tokotoko.point_map_0 point_map_1=open_tokotoko.point_map_1 point_map_2=open_tokotoko.point_map_2 point_map_3=open_tokotoko.point_map_3 point_map_4=open_tokotoko.point_map_4 last_map=open_tokotoko.last_map hold_point=open_tokotoko.hold_point rank_point=open_tokotoko.rank_point tips_list=open_tokotoko.tips_list gift_point="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) + //-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")