1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Default, Clone, Deserialize, Serialize)]
4#[serde(rename_all = "camelCase")]
5pub struct PassiveGroup {
6 pub x: f64,
7 pub y: f64,
8 pub orbits: Vec<usize>,
9 pub is_proxy: Option<bool>,
10 pub proxy: Option<String>,
11 pub nodes: Vec<String>,
12}
13
14#[derive(Debug, Default, Clone, Deserialize, Serialize)]
15#[serde(rename_all = "camelCase")]
16pub struct PassiveNode {
17 pub skill: Option<usize>,
18 pub name: Option<String>,
19 pub icon: Option<String>,
20 pub is_keystone: Option<bool>,
21 pub is_notable: Option<bool>,
22 pub is_mastery: Option<bool>,
23 pub inactive_icon: Option<String>,
24 pub active_icon: Option<String>,
25 pub active_effect_image: Option<String>,
26 pub mastery_effects: Option<Vec<MasteryEffect>>,
27 pub is_blighted: Option<bool>,
28 pub is_tattoo: Option<bool>,
29 pub is_proxy: Option<bool>,
30 pub is_jewel_socket: Option<bool>,
31 pub expansion_jewel: Option<ClusterJewel>,
32 pub recipe: Option<Vec<String>>,
33 pub granted_strength: Option<usize>,
34 pub granted_dexterity: Option<usize>,
35 pub granted_intelligence: Option<usize>,
36 pub ascendancy_name: Option<String>,
37 pub is_ascendancy_start: Option<bool>,
38 pub is_multiple_choice: Option<bool>,
39 pub is_multiple_choice_option: Option<bool>,
40 pub granted_passive_points: Option<usize>,
41 pub stats: Option<Vec<String>>,
42 pub reminder_text: Option<Vec<String>>,
43 pub flavour_text: Option<Vec<String>>,
44 pub class_start_index: Option<usize>,
45 pub group: Option<usize>,
46 pub orbit: Option<usize>,
47 pub orbit_index: Option<usize>,
48 pub out: Vec<String>,
49 pub r#in: Vec<String>,
50}
51
52#[derive(Debug, Default, Clone, Deserialize, Serialize)]
53pub struct MasteryEffect {
54 pub effect: usize,
55 pub stats: Vec<String>,
56 pub reminder_text: Option<Vec<String>>,
57}
58
59#[derive(Debug, Default, Clone, Deserialize, Serialize)]
60pub struct ClusterJewel {
61 pub size: Option<usize>,
62 pub index: Option<usize>,
63 pub proxy: Option<usize>,
64 pub parent: Option<usize>,
65}