wowlab_manifest_schema/
periodic.rs1use serde::Deserialize;
4
5use crate::{DamageSchoolKind, PeriodicDamageMode, ScalarRef};
6
7#[derive(Debug, Deserialize)]
9pub struct PeriodicRemoveStack {
10 pub tick_ms: ScalarRef,
11}
12
13#[derive(Debug, Deserialize)]
15pub struct PeriodicDamage {
16 pub tick_ms: ScalarRef,
17 #[serde(default)]
18 pub mode: PeriodicDamageMode,
19 #[serde(default)]
20 pub spell_id: Option<u32>,
21 #[serde(default)]
22 pub ap_coef: Option<ScalarRef>,
23 #[serde(default)]
24 pub sp_coef: Option<ScalarRef>,
25 #[serde(default)]
27 pub item_damage_total: Option<ScalarRef>,
28 #[serde(default)]
29 pub school: Option<DamageSchoolKind>,
30 #[serde(default)]
32 pub direct: bool,
33 #[serde(default)]
34 pub resource_gain: Option<ScalarRef>,
35 #[serde(default)]
36 pub crit_resource_gain: Option<ScalarRef>,
37 #[serde(default)]
38 pub crit_resource_chance: Option<ScalarRef>,
39}
40
41#[derive(Debug, Deserialize)]
43pub struct PeriodicResidualDamage {
44 pub tick_ms: ScalarRef,
45}
46
47#[derive(Debug, Deserialize)]
49pub struct PeriodicResource {
50 pub tick_ms: ScalarRef,
51 pub amount: ScalarRef,
52}
53
54#[derive(Debug, Deserialize)]
56pub struct PeriodicResourceDrain {
58 pub tick_ms: ScalarRef,
59 pub amount: ScalarRef,
60}
61
62#[derive(Debug, Deserialize)]
64pub struct PeriodicApplyAura {
65 pub tick_ms: ScalarRef,
66 pub aura: String,
67}
68
69#[derive(Debug, Deserialize)]
71pub struct PeriodicHook {
72 pub tick_ms: ScalarRef,
73}