poe_types/
passives.rs

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}