1use crate::AudioFile;
2
3#[derive(
4 Debug,
5 serde::Serialize,
6 serde::Deserialize,
7 ruby_marshal_derive::FromValue,
8 ruby_marshal_derive::IntoValue,
9)]
10#[ruby_marshal(object = b"RPG::Item")]
11pub struct Item {
12 pub animation1_id: i32,
13 pub consumable: bool,
14 #[ruby_marshal(
15 from_value = "crate::util::ruby_string2string",
16 into_value = "crate::util::string2ruby_string"
17 )]
18 pub icon_name: String,
19 pub minus_state_set: Vec<i32>,
20 #[ruby_marshal(
21 from_value = "crate::util::ruby_string2string",
22 into_value = "crate::util::string2ruby_string"
23 )]
24 pub name: String,
25 pub mdef_f: i32,
26 pub common_event_id: i32,
27 pub recover_hp_rate: i32,
28 pub occasion: i32,
29 pub price: i32,
30 pub recover_sp: i32,
31 pub plus_state_set: Vec<i32>,
32 pub pdef_f: i32,
33 pub menu_se: AudioFile,
34 pub parameter_points: i32,
35 pub scope: i32,
36 pub recover_sp_rate: i32,
37 pub element_set: Vec<i32>,
38 pub hit: i32,
39 pub animation2_id: i32,
40 pub parameter_type: i32,
41 #[ruby_marshal(
42 from_value = "crate::util::ruby_string2string",
43 into_value = "crate::util::string2ruby_string"
44 )]
45 pub description: String,
46 pub id: i32,
47 pub variance: i32,
48 pub recover_hp: i32,
49}