1use crate::dat::common::DeString;
2
3#[derive(Protocol, Debug, Clone, PartialEq)]
4pub struct Effects {
5 size: u32,
6 #[protocol(length_prefix(elements(size)))]
7 pub effects: Vec<Effect>,
8}
9
10#[derive(Protocol, Debug, Clone, PartialEq)]
11pub struct Effect {
12 pub name: DeString,
13 pub command_size: i16,
14 #[protocol(length_prefix(elements(command_size)))]
15 pub commands: Vec<EffectCommand>,
16}
17
18#[derive(Protocol, Debug, Clone, PartialEq)]
19pub struct EffectCommand {
20 pub command_type: u8,
21 pub a: i16,
22 pub b: i16,
23 pub c: i16,
24 pub d: f32,
25}