109 lines
No EOL
4.4 KiB
Rust
109 lines
No EOL
4.4 KiB
Rust
use serde::Deserialize;
|
|
|
|
#[derive(Deserialize)]
|
|
#[cfg_attr(feature = "strict_json_fields", serde(deny_unknown_fields))]
|
|
#[serde(rename_all = "PascalCase")]
|
|
pub struct BuffData {
|
|
pub id: i64,
|
|
pub ge_desc: String,
|
|
pub duration_policy: i32, // TODO: Enum ??
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub duration_calculation_policy: Vec<i32>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub duration_magnitude: Vec<i32>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub duration_magnitude2: Vec<i32>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub b_duration_affected_by_bullet_time: bool,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub formation_policy: i32, // TODO: Enum ??
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub probability: i32,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub period: i32,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub b_execute_periodic_effect_on_application: bool,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub periodic_inhibition_policy: i32, // TODO: Enum ??
|
|
#[serde(rename = "GameAttributeID")]
|
|
pub game_attribute_id: i32,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub calculation_policy: Vec<i32>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub modifier_magnitude: Vec<i32>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub modifier_magnitude2: Vec<i32>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub stacking_type: i32, // TODO: Enum??
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub default_stack_count: i32,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub stack_append_count: i32,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub stack_limit_count: i32,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub stack_duration_refresh_policy: i32,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub stack_period_reset_policy: i32,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub stack_expiration_remove_number: i32,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub b_deny_overflow_application: bool,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub b_clear_stack_on_overflow: bool,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub b_require_modifier_success_to_trigger_cues: bool,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub b_suppress_stacking_cues: bool,
|
|
pub gameplay_cue_ids: Vec<i64>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub granted_tags: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub application_source_tag_requirements: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub application_source_tag_ignores: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub application_tag_requirements: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub application_tag_ignores: Vec<String>,
|
|
pub ongoing_tag_requirements: Vec<String>,
|
|
pub ongoing_tag_ignores: Vec<String>,
|
|
pub removal_tag_requirements: Vec<String>,
|
|
pub removal_tag_ignores: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub remove_buff_with_tags: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub granted_application_immunity_tags: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub granted_application_immunity_tag_ignores: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub premature_expiration_effects: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub routine_expiration_effects: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub overflow_effects: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub related_extra_effect_buff_id: Vec<String>,
|
|
#[serde(rename = "ExtraEffectID")]
|
|
pub extra_effect_id: i32,
|
|
pub extra_effect_parameters: Vec<String>,
|
|
pub extra_effect_parameters_grow1: Vec<i32>,
|
|
pub extra_effect_parameters_grow2: Vec<i32>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub extra_effect_requirements: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub extra_effect_req_para: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub extra_effect_req_setting: i32, // TODO: Enum??
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub extra_effect_cd: Vec<i32>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub extra_effect_remove_stack_num: i32,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub extra_effect_probability: Vec<i32>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub buff_action: Vec<String>,
|
|
#[cfg(feature = "strict_json_fields")]
|
|
pub tag_logic: Vec<String>,
|
|
pub dead_remove: bool,
|
|
} |