From c6eaae9ae1c41da329bd091f4230722d329e831e Mon Sep 17 00:00:00 2001 From: Yuan Si Date: Wed, 29 Mar 2023 00:27:15 +0800 Subject: [PATCH] 2023-03-28 Signed-off-by: Yuan Si --- assets/api2.json | 4 +- assets/gameover.json | 5 + assets/partylist.json | 215 ++ assets/playsong.json | 4388 +++++++++++++++++++++++++++++++++++++++++ handler/live.go | 143 ++ main.go | 3 + model/live.go | 65 + 7 files changed, 4821 insertions(+), 2 deletions(-) create mode 100644 assets/gameover.json create mode 100644 assets/partylist.json create mode 100644 assets/playsong.json create mode 100644 handler/live.go diff --git a/assets/api2.json b/assets/api2.json index 1a9ca6e..d25f0b3 100644 --- a/assets/api2.json +++ b/assets/api2.json @@ -42,8 +42,8 @@ "new_achievement_cnt": 5, "unaccomplished_achievement_cnt": 15, "live_daily_reward_exist": false, - "training_energy": 10, - "training_energy_max": 10, + "training_energy": 999, + "training_energy_max": 999, "notification": { "push": true, "lp": true, diff --git a/assets/gameover.json b/assets/gameover.json new file mode 100644 index 0000000..5ede92c --- /dev/null +++ b/assets/gameover.json @@ -0,0 +1,5 @@ +{ + "response_data": [], + "release_info": [], + "status_code": 200 +} \ No newline at end of file diff --git a/assets/partylist.json b/assets/partylist.json new file mode 100644 index 0000000..8e9a2ff --- /dev/null +++ b/assets/partylist.json @@ -0,0 +1,215 @@ +{ + "response_data": { + "party_list": [ + { + "user_info": { + "user_id": 5762285, + "name": "\u840c\u840c\u5ba1\u795e\u8005", + "level": 21 + }, + "center_unit_info": { + "unit_owning_user_id": 1000880096808, + "unit_id": 855, + "exp": 4394, + "next_exp": 4560, + "level": 11, + "level_limit_id": 2, + "max_level": 100, + "rank": 2, + "max_rank": 2, + "love": 20, + "max_love": 1000, + "unit_skill_level": 1, + "max_hp": 4, + "favorite_flag": false, + "display_rank": 2, + "unit_skill_exp": 0, + "unit_removable_skill_capacity": 4, + "attribute": 1, + "smile": 3540, + "cute": 2410, + "cool": 2870, + "is_love_max": false, + "is_level_max": false, + "is_rank_max": true, + "is_signed": false, + "is_skill_level_max": false, + "setting_award_id": 17, + "removable_skill_ids": [] + }, + "setting_award_id": 17, + "available_social_point": 10, + "friend_status": 1 + }, + { + "user_info": { + "user_id": 5400659, + "name": "\u9ed1\u6850-", + "level": 37 + }, + "center_unit_info": { + "unit_owning_user_id": 1001193273786, + "unit_id": 13, + "exp": 0, + "next_exp": 6, + "level": 1, + "level_limit_id": 0, + "max_level": 30, + "rank": 1, + "max_rank": 2, + "love": 25, + "max_love": 25, + "unit_skill_level": 1, + "max_hp": 2, + "favorite_flag": false, + "display_rank": 1, + "unit_skill_exp": 0, + "unit_removable_skill_capacity": 0, + "attribute": 1, + "smile": 1520, + "cute": 550, + "cool": 308, + "is_love_max": false, + "is_level_max": false, + "is_rank_max": false, + "is_signed": false, + "is_skill_level_max": true, + "setting_award_id": 17, + "removable_skill_ids": [] + }, + "setting_award_id": 17, + "available_social_point": 10, + "friend_status": 1 + }, + { + "user_info": { + "user_id": 7663163, + "name": "\u82b1\u82b1\u82b1\u6912", + "level": 30 + }, + "center_unit_info": { + "unit_owning_user_id": 1002061904425, + "unit_id": 1131, + "exp": 8400, + "next_exp": 8659, + "level": 18, + "level_limit_id": 1, + "max_level": 100, + "rank": 2, + "max_rank": 2, + "love": 1000, + "max_love": 1000, + "unit_skill_level": 1, + "max_hp": 5, + "favorite_flag": true, + "display_rank": 2, + "unit_skill_exp": 0, + "unit_removable_skill_capacity": 4, + "attribute": 3, + "smile": 3195, + "cute": 2925, + "cool": 4085, + "is_love_max": true, + "is_level_max": false, + "is_rank_max": true, + "is_signed": false, + "is_skill_level_max": false, + "setting_award_id": 17, + "removable_skill_ids": [] + }, + "setting_award_id": 17, + "available_social_point": 5, + "friend_status": 0 + }, + { + "user_info": { + "user_id": 7663313, + "name": "\u67f3\u4e95\u4e0e\u5b50", + "level": 34 + }, + "center_unit_info": { + "unit_owning_user_id": 1002062097329, + "unit_id": 1372, + "exp": 79700, + "next_exp": 0, + "level": 100, + "level_limit_id": 1, + "max_level": 100, + "rank": 2, + "max_rank": 2, + "love": 1000, + "max_love": 1000, + "unit_skill_level": 1, + "max_hp": 6, + "favorite_flag": true, + "display_rank": 2, + "unit_skill_exp": 0, + "unit_removable_skill_capacity": 4, + "attribute": 1, + "smile": 5370, + "cute": 4080, + "cool": 4500, + "is_love_max": true, + "is_level_max": true, + "is_rank_max": true, + "is_signed": false, + "is_skill_level_max": false, + "setting_award_id": 17, + "removable_skill_ids": [ + 3, + 2, + 1 + ] + }, + "setting_award_id": 17, + "available_social_point": 5, + "friend_status": 0 + }, + { + "user_info": { + "user_id": 7663527, + "name": "\u6211\u63a8\u5c06\u519b", + "level": 15 + }, + "center_unit_info": { + "unit_owning_user_id": 1002062228744, + "unit_id": 1912, + "exp": 0, + "next_exp": 201, + "level": 1, + "level_limit_id": 1, + "max_level": 100, + "rank": 2, + "max_rank": 2, + "love": 444, + "max_love": 1000, + "unit_skill_level": 1, + "max_hp": 5, + "favorite_flag": false, + "display_rank": 2, + "unit_skill_exp": 0, + "unit_removable_skill_capacity": 4, + "attribute": 1, + "smile": 3870, + "cute": 3090, + "cool": 2470, + "is_love_max": false, + "is_level_max": false, + "is_rank_max": true, + "is_signed": false, + "is_skill_level_max": false, + "setting_award_id": 1, + "removable_skill_ids": [] + }, + "setting_award_id": 1, + "available_social_point": 5, + "friend_status": 0 + } + ], + "training_energy": 999, + "training_energy_max": 999, + "server_timestamp": 1679802984 + }, + "release_info": [], + "status_code": 200 +} \ No newline at end of file diff --git a/assets/playsong.json b/assets/playsong.json new file mode 100644 index 0000000..bd2c440 --- /dev/null +++ b/assets/playsong.json @@ -0,0 +1,4388 @@ +{ + "response_data": { + "rank_info": [ + { + "rank": 5, + "rank_min": 0, + "rank_max": 165845 + }, + { + "rank": 4, + "rank_min": 165846, + "rank_max": 415007 + }, + { + "rank": 3, + "rank_min": 415008, + "rank_max": 497537 + }, + { + "rank": 2, + "rank_min": 497538, + "rank_max": 580853 + }, + { + "rank": 1, + "rank_min": 580854, + "rank_max": 0 + } + ], + "energy_full_time": "2023-03-20 01:28:55", + "over_max_energy": 0, + "available_live_resume": false, + "live_list": [ + { + "live_info": { + "live_difficulty_id": 1225, + "is_random": false, + "ac_flag": 0, + "swing_flag": 0, + "notes_list": [ + { + "timing_sec": 3.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 3.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 4.271, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 4.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 5.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 6.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 6.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 6.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 6.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 6.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 7.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 7.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 7.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 7.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 7.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 7.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 7.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 7.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 8.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 8.271, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 8.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 8.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 8.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 8.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 9.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 9.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 9.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 9.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 9.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 9.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 9.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 9.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 10.271, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 10.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 10.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 10.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 10.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 11.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 11.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 11.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 11.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 11.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 11.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 11.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 12.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 12.271, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 12.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 12.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 12.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 12.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 12.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 13.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 13.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 13.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 13.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 13.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 13.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 13.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 9 + }, + { + "timing_sec": 13.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 1 + }, + { + "timing_sec": 14.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 14.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 14.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 14.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 14.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 14.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 14.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 14.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 14.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 9 + }, + { + "timing_sec": 14.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 1 + }, + { + "timing_sec": 15.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 15.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 15.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 15.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 15.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 15.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 15.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 15.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 16.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 16.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 16.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 16.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 16.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 16.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 16.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 6 + }, + { + "timing_sec": 16.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 4 + }, + { + "timing_sec": 17.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 17.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 17.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 17.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 18.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 8 + }, + { + "timing_sec": 18.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 2 + }, + { + "timing_sec": 18.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 18.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 18.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 18.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 19.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 19.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 19.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 19.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 19.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 19.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 20.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 20.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 20.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 20.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 20.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 6 + }, + { + "timing_sec": 20.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 4 + }, + { + "timing_sec": 20.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 20.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 21.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 21.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 21.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 21.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 21.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 21.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 21.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 21.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 22.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 22.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 22.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 22.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 23.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 8 + }, + { + "timing_sec": 23.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 2 + }, + { + "timing_sec": 23.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 23.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 23.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 23.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 23.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 23.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 24.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 24.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 24.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 24.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 26.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 26.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 26.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 26.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 27.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 27.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 27.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 4 + }, + { + "timing_sec": 27.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 27.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 27.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 28.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 28.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 28.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 28.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 6 + }, + { + "timing_sec": 28.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 4 + }, + { + "timing_sec": 28.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 28.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 29.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 29.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 29.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 29.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 29.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 6 + }, + { + "timing_sec": 29.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 4 + }, + { + "timing_sec": 30.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 30.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 30.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 30.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 30.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 30.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 30.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 30.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 31.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 31.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 31.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 31.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 31.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 31.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 32.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 32.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 32.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 32.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 32.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 32.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 33.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 33.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 33.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 33.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 33.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 33.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 34.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 34.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 34.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 34.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 34.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 34.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 34.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 35.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 35.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 35.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 35.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 35.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 35.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 35.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 35.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 36.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 36.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 36.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 36.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 36.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 36.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 36.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 36.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 36.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 37.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 37.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 8 + }, + { + "timing_sec": 37.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 2 + }, + { + "timing_sec": 37.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 7 + }, + { + "timing_sec": 37.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 3 + }, + { + "timing_sec": 38.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 6 + }, + { + "timing_sec": 38.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 4 + }, + { + "timing_sec": 39.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 3 + }, + { + "timing_sec": 39.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 8 + }, + { + "timing_sec": 39.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 7 + }, + { + "timing_sec": 39.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 2 + }, + { + "timing_sec": 39.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 39.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 40.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 40.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 40.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 40.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 41.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 41.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 41.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 41.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 41.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 41.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 41.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 42.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 8 + }, + { + "timing_sec": 42.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 2 + }, + { + "timing_sec": 42.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 7 + }, + { + "timing_sec": 42.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 3 + }, + { + "timing_sec": 43.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 6 + }, + { + "timing_sec": 43.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.462, + "position": 4 + }, + { + "timing_sec": 43.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 7 + }, + { + "timing_sec": 43.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 2 + }, + { + "timing_sec": 44.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 3 + }, + { + "timing_sec": 44.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 8 + }, + { + "timing_sec": 44.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 44.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 45.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 45.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 45.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 45.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 45.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 46.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 46.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 46.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 46.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 46.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 46.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 47.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 47.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 47.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 47.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 48.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 48.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 49.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 49.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 49.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 49.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 50.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 50.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 51.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 51.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 51.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 51.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 52.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 52.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 52.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 52.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 53.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 53.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 53.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 53.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 53.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 54.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 54.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 54.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 54.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 54.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 54.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 54.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 55.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 55.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 55.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 55.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 55.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 55.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 56.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 56.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 56.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 56.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 56.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 56.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 56.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 57.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 57.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 57.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 57.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 57.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 57.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 57.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 57.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 57.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 57.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 58.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 58.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 58.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 58.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 58.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 58.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 58.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 59.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 59.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 59.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 59.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 60.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 60.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 60.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 60.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 60.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 61.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 61.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 61.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 61.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 61.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.923, + "position": 1 + }, + { + "timing_sec": 61.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 62.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 62.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 62.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 62.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 62.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 62.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 63.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 63.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 63.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 63.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 63.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 63.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 63.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 64.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.923, + "position": 9 + }, + { + "timing_sec": 64.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 64.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 64.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 64.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 65.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 65.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 65.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 65.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 65.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 65.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 66.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 66.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 66.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 66.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 66.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 9 + }, + { + "timing_sec": 66.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 1 + }, + { + "timing_sec": 67.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 7 + }, + { + "timing_sec": 67.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 2 + }, + { + "timing_sec": 67.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 8 + }, + { + "timing_sec": 67.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 3 + }, + { + "timing_sec": 67.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 67.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 67.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 67.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 68.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 68.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 68.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 68.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 68.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 68.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 69.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 69.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 69.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 69.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 69.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 69.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 69.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 69.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 70.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 70.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 70.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 70.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 4 + }, + { + "timing_sec": 70.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 70.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 71.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 71.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 71.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 71.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 71.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 6 + }, + { + "timing_sec": 71.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 71.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 72.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 72.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 72.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 72.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 72.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 3 + }, + { + "timing_sec": 73.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 73.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 73.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 73.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 73.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 73.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 73.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.308, + "position": 7 + }, + { + "timing_sec": 74.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 74.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 74.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 74.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 75.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 75.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 75.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 75.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 75.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 75.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 76.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 76.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 76.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 76.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 76.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 77.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 77.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 77.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 77.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 77.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 77.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 78.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 78.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 78.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 78.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 78.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 78.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 78.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 78.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 78.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 78.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 79.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 79.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 79.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 79.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 79.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 79.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 79.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 79.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 80.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 80.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 80.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 80.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 80.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 81.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 81.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 81.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 82.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 82.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 82.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 82.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 82.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.923, + "position": 7 + }, + { + "timing_sec": 83.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 1 + }, + { + "timing_sec": 83.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 3 + }, + { + "timing_sec": 83.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 83.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.923, + "position": 3 + }, + { + "timing_sec": 84.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 9 + }, + { + "timing_sec": 84.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 3, + "effect_value": 0.154, + "position": 7 + }, + { + "timing_sec": 84.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 85.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 85.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 85.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 85.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 85.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 85.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 86.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 86.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 86.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 86.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 86.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 86.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 87.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 87.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 87.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 87.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 87.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 87.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 87.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 87.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 88.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 88.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 88.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 88.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 88.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 88.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 89.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 89.194, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 89.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 89.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 89.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 89.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 89.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 89.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 89.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 90.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 90.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 90.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 90.809, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 90.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 91.193, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 91.193, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 91.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 91.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 91.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 92.04, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 92.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 92.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 92.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 92.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 92.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 93.193, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 93.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 93.347, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 93.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 2, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 93.501, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 93.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 9 + }, + { + "timing_sec": 93.655, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 1 + }, + { + "timing_sec": 93.963, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 94.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 94.117, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 3 + }, + { + "timing_sec": 94.27, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 94.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 6 + }, + { + "timing_sec": 94.424, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 4 + }, + { + "timing_sec": 94.578, + "notes_attribute": 3, + "notes_level": 1, + "effect": 1, + "effect_value": 2, + "position": 5 + }, + { + "timing_sec": 94.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 2 + }, + { + "timing_sec": 94.732, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 7 + }, + { + "timing_sec": 94.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 8 + }, + { + "timing_sec": 94.886, + "notes_attribute": 3, + "notes_level": 1, + "effect": 4, + "effect_value": 2, + "position": 3 + } + ] + }, + "deck_info": { + "unit_deck_id": 1, + "total_smile": 9, + "total_cute": 9, + "total_cool": 9, + "total_hp": 99, + "prepared_hp_damage": 0, + "unit_list": [ + { + "smile": 1, + "cute": 1, + "cool": 1 + }, + { + "smile": 1, + "cute": 1, + "cool": 1 + }, + { + "smile": 1, + "cute": 1, + "cool": 1 + }, + { + "smile": 1, + "cute": 1, + "cool": 1 + }, + { + "smile": 1, + "cute": 1, + "cool": 1 + }, + { + "smile": 1, + "cute": 1, + "cool": 1 + }, + { + "smile": 1, + "cute": 1, + "cool": 1 + }, + { + "smile": 1, + "cute": 1, + "cool": 1 + }, + { + "smile": 1, + "cute": 1, + "cool": 1 + } + ] + } + } + ], + "is_marathon_event": false, + "marathon_event_id": null, + "no_skill": false, + "can_activate_effect": true, + "server_timestamp": 1679237935 + }, + "release_info": [], + "status_code": 200 +} \ No newline at end of file diff --git a/handler/live.go b/handler/live.go new file mode 100644 index 0000000..0c76f4d --- /dev/null +++ b/handler/live.go @@ -0,0 +1,143 @@ +package handler + +import ( + "encoding/base64" + "fmt" + "honoka-chan/config" + "honoka-chan/database" + "honoka-chan/encrypt" + "honoka-chan/utils" + "net/http" + "time" + + "github.com/gin-gonic/gin" +) + +func PartyListHandler(ctx *gin.Context) { + reqTime := time.Now().Unix() + + authorizeStr := ctx.Request.Header["Authorize"] + authToken, err := utils.GetAuthorizeToken(authorizeStr) + if err != nil { + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + userId := ctx.Request.Header[http.CanonicalHeaderKey("User-ID")] + if len(userId) == 0 { + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + + if !database.MatchTokenUid(authToken, userId[0]) { + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + + nonce, err := utils.GetAuthorizeNonce(authorizeStr) + if err != nil { + fmt.Println(err) + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + nonce++ + + respTime := time.Now().Unix() + newAuthorizeStr := fmt.Sprintf("consumerKey=lovelive_test&timeStamp=%d&version=1.1&token=%s&nonce=%d&user_id=%s&requestTimeStamp=%d", respTime, authToken, nonce, userId[0], reqTime) + // fmt.Println(newAuthorizeStr) + + resp := utils.ReadAllText("assets/partylist.json") + xms := encrypt.RSA_Sign_SHA1([]byte(resp), "privatekey.pem") + xms64 := base64.RawStdEncoding.EncodeToString(xms) + + ctx.Header("Server-Version", config.Conf.Server.VersionNumber) + ctx.Header("user_id", userId[0]) + ctx.Header("authorize", newAuthorizeStr) + ctx.Header("X-Message-Sign", xms64) + ctx.String(http.StatusOK, resp) +} + +func PlayLiveHandler(ctx *gin.Context) { + reqTime := time.Now().Unix() + + authorizeStr := ctx.Request.Header["Authorize"] + authToken, err := utils.GetAuthorizeToken(authorizeStr) + if err != nil { + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + userId := ctx.Request.Header[http.CanonicalHeaderKey("User-ID")] + if len(userId) == 0 { + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + + if !database.MatchTokenUid(authToken, userId[0]) { + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + + nonce, err := utils.GetAuthorizeNonce(authorizeStr) + if err != nil { + fmt.Println(err) + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + nonce++ + + respTime := time.Now().Unix() + newAuthorizeStr := fmt.Sprintf("consumerKey=lovelive_test&timeStamp=%d&version=1.1&token=%s&nonce=%d&user_id=%s&requestTimeStamp=%d", respTime, authToken, nonce, userId[0], reqTime) + // fmt.Println(newAuthorizeStr) + + resp := utils.ReadAllText("assets/playsong.json") + xms := encrypt.RSA_Sign_SHA1([]byte(resp), "privatekey.pem") + xms64 := base64.RawStdEncoding.EncodeToString(xms) + + ctx.Header("Server-Version", config.Conf.Server.VersionNumber) + ctx.Header("user_id", userId[0]) + ctx.Header("authorize", newAuthorizeStr) + ctx.Header("X-Message-Sign", xms64) + ctx.String(http.StatusOK, resp) +} + +func GameOverHandler(ctx *gin.Context) { + reqTime := time.Now().Unix() + + authorizeStr := ctx.Request.Header["Authorize"] + authToken, err := utils.GetAuthorizeToken(authorizeStr) + if err != nil { + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + userId := ctx.Request.Header[http.CanonicalHeaderKey("User-ID")] + if len(userId) == 0 { + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + + if !database.MatchTokenUid(authToken, userId[0]) { + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + + nonce, err := utils.GetAuthorizeNonce(authorizeStr) + if err != nil { + fmt.Println(err) + ctx.String(http.StatusForbidden, "Fuck you!") + return + } + nonce++ + + respTime := time.Now().Unix() + newAuthorizeStr := fmt.Sprintf("consumerKey=lovelive_test&timeStamp=%d&version=1.1&token=%s&nonce=%d&user_id=%s&requestTimeStamp=%d", respTime, authToken, nonce, userId[0], reqTime) + // fmt.Println(newAuthorizeStr) + + resp := utils.ReadAllText("assets/gameover.json") + xms := encrypt.RSA_Sign_SHA1([]byte(resp), "privatekey.pem") + xms64 := base64.RawStdEncoding.EncodeToString(xms) + + ctx.Header("Server-Version", config.Conf.Server.VersionNumber) + ctx.Header("user_id", userId[0]) + ctx.Header("authorize", newAuthorizeStr) + ctx.Header("X-Message-Sign", xms64) + ctx.String(http.StatusOK, resp) +} diff --git a/main.go b/main.go index a8dd2f7..cd9892f 100644 --- a/main.go +++ b/main.go @@ -46,6 +46,9 @@ func main() { r.POST("/main.php/user/changeNavi", handler.SetNotificationTokenHandler) r.POST("/main.php/event/eventList", handler.EventListHandler) r.POST("/main.php/payment/productList", handler.ProductListHandler) + r.POST("/main.php/live/partyList", handler.PartyListHandler) + r.POST("/main.php/live/play", handler.PlayLiveHandler) + r.POST("/main.php/live/gameover", handler.GameOverHandler) r.Run(":8080") // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080") } diff --git a/model/live.go b/model/live.go index 415c61b..2d9ea15 100644 --- a/model/live.go +++ b/model/live.go @@ -88,3 +88,68 @@ type LiveScheduleResp struct { CommandNum bool `json:"commandNum"` TimeStamp int64 `json:"timeStamp"` } + +// Play +type RankInfo struct { + Rank int `json:"rank"` + RankMin int `json:"rank_min"` + RankMax int `json:"rank_max"` +} + +type NotesList struct { + TimingSec float64 `json:"timing_sec"` + NotesAttribute int `json:"notes_attribute"` + NotesLevel int `json:"notes_level"` + Effect int `json:"effect"` + EffectValue int `json:"effect_value"` + Position int `json:"position"` +} + +type LiveInfo struct { + LiveDifficultyID int `json:"live_difficulty_id"` + IsRandom bool `json:"is_random"` + AcFlag int `json:"ac_flag"` + SwingFlag int `json:"swing_flag"` + NotesList []NotesList `json:"notes_list"` +} + +type PlayCostume struct { + UnitID int `json:"unit_id"` + IsRankMax bool `json:"is_rank_max"` + IsSigned bool `json:"is_signed"` +} + +type UnitList struct { + Smile int `json:"smile"` + Cute int `json:"cute"` + Cool int `json:"cool"` + Costume PlayCostume `json:"costume,omitempty"` +} + +type DeckInfo struct { + UnitDeckID int `json:"unit_deck_id"` + TotalSmile int `json:"total_smile"` + TotalCute int `json:"total_cute"` + TotalCool int `json:"total_cool"` + TotalHp int `json:"total_hp"` + PreparedHpDamage int `json:"prepared_hp_damage"` + UnitList []UnitList `json:"unit_list"` +} + +type PlayLiveList struct { + LiveInfo LiveInfo `json:"live_info"` + DeckInfo DeckInfo `json:"deck_info"` +} + +type PlayResponseData struct { + RankInfo []RankInfo `json:"rank_info"` + EnergyFullTime string `json:"energy_full_time"` + OverMaxEnergy int `json:"over_max_energy"` + AvailableLiveResume bool `json:"available_live_resume"` + LiveList []PlayLiveList `json:"live_list"` + IsMarathonEvent bool `json:"is_marathon_event"` + MarathonEventID interface{} `json:"marathon_event_id"` + NoSkill bool `json:"no_skill"` + CanActivateEffect bool `json:"can_activate_effect"` + ServerTimestamp int `json:"server_timestamp"` +}