warframe_client/models/
attack.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Attack {
16 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
17 pub name: Option<String>,
18 #[serde(rename = "crit_chance", skip_serializing_if = "Option::is_none")]
19 pub crit_chance: Option<f32>,
20 #[serde(rename = "crit_mult", skip_serializing_if = "Option::is_none")]
21 pub crit_mult: Option<f32>,
22 #[serde(rename = "status_chance", skip_serializing_if = "Option::is_none")]
23 pub status_chance: Option<f32>,
24 #[serde(rename = "shot_type", skip_serializing_if = "Option::is_none")]
25 pub shot_type: Option<f32>,
26 #[serde(rename = "shot_speed", skip_serializing_if = "Option::is_none")]
27 pub shot_speed: Option<f32>,
28 #[serde(rename = "duration", skip_serializing_if = "Option::is_none")]
29 pub duration: Option<f32>,
30 #[serde(rename = "radius", skip_serializing_if = "Option::is_none")]
31 pub radius: Option<f32>,
32 #[serde(rename = "speed", skip_serializing_if = "Option::is_none")]
33 pub speed: Option<f32>,
34 #[serde(rename = "pellet", skip_serializing_if = "Option::is_none")]
35 pub pellet: Option<Box<models::AttackPellet>>,
36 #[serde(rename = "charge_time", skip_serializing_if = "Option::is_none")]
37 pub charge_time: Option<f32>,
38 #[serde(rename = "flight", skip_serializing_if = "Option::is_none")]
39 pub flight: Option<f32>,
40 #[serde(rename = "falloff", skip_serializing_if = "Option::is_none")]
41 pub falloff: Option<Box<models::AttackFalloff>>,
42 #[serde(rename = "damage", skip_serializing_if = "Option::is_none")]
43 pub damage: Option<Box<models::Damage>>,
44 #[serde(rename = "slide", skip_serializing_if = "Option::is_none")]
45 pub slide: Option<String>,
46 #[serde(rename = "jump", skip_serializing_if = "Option::is_none")]
47 pub jump: Option<String>,
48 #[serde(rename = "wall", skip_serializing_if = "Option::is_none")]
49 pub wall: Option<String>,
50 #[serde(rename = "channeling", skip_serializing_if = "Option::is_none")]
51 pub channeling: Option<f32>,
52 #[serde(rename = "slam", skip_serializing_if = "Option::is_none")]
53 pub slam: Option<Box<models::SlamAttack>>,
54}
55
56impl Attack {
57 pub fn new() -> Attack {
58 Attack {
59 name: None,
60 crit_chance: None,
61 crit_mult: None,
62 status_chance: None,
63 shot_type: None,
64 shot_speed: None,
65 duration: None,
66 radius: None,
67 speed: None,
68 pellet: None,
69 charge_time: None,
70 flight: None,
71 falloff: None,
72 damage: None,
73 slide: None,
74 jump: None,
75 wall: None,
76 channeling: None,
77 slam: None,
78 }
79 }
80}
81