1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
use serde::Deserialize;

#[derive(Debug, Deserialize)]
pub struct Rogue {
    pub role: Role,
    pub basic_info: BasicInfo,
    pub current_record: CurrentRecord,
    pub last_record: LastRecord,
}

#[derive(Debug, Deserialize)]
pub struct Role {
    pub server: String,
    pub nickname: String,
    pub level: u32,
}

#[derive(Debug, Deserialize)]
pub struct BasicInfo {
    pub unlocked_buff_num: u32,
    pub unlocked_miracle_num: u32,
    pub unlocked_skill_points: u32,
}

#[derive(Debug, Deserialize)]
pub struct CurrentRecord {
    pub basic: CurrentRecordBasic,
    pub records: serde_json::Value,
    pub has_data: bool,
    pub best_record: Option<BestRecord>,
}

#[derive(Debug, Deserialize)]
pub struct CurrentRecordBasic {
    pub id: u32,
    pub finish_cnt: u32,
    pub schedule_begin: Schedule,
    pub schedule_end: Schedule,
    pub current_rogue_score: u32,
    pub max_rogue_score: u32
}

#[derive(Debug, Deserialize)]
pub struct Schedule {
    pub year: u32,
    pub month: u8,
    pub day: u8,
    pub hour: u8,
    pub minute: u8,
    pub second: u8,
}

#[derive(Debug, Deserialize)]
pub struct BestRecord {
    pub base_type_list: Vec<BaseTypeList>,
    pub buffs: Vec<Buff>,
}

#[derive(Debug, Deserialize)]
pub struct BaseTypeList {
    pub cnt: u8,
    pub id: u16,
    pub name: String,
}


#[derive(Debug, Deserialize)]
pub struct Buff {
    pub base_type: BaseTypeList,
    pub items: Vec<Item>,

}

#[derive(Debug, Deserialize)]
pub struct Item {
    pub id: u32,
    pub is_evoluted: bool,
    pub name: String,
    pub rank: u8,
}

#[derive(Debug, Deserialize)]
pub struct LastRecord {
    pub basic: LastRecordBasic,
    pub records: serde_json::Value,
    pub has_data: bool,
    pub best_record: serde_json::Value,
}

#[derive(Debug, Deserialize)]
pub struct LastRecordBasic {
    pub id: u32,
    pub finish_cnt: u32,
    pub schedule_begin: Schedule,
    pub schedule_end: Schedule,
    pub current_rogue_score: u32,
    pub max_rogue_score: u32
}