//! Param bindings generated from paramdef XMLs.

// DO NOT EDIT THIS FILE DIRECTLY.

/// Trait to perform safe param lookups.
pub trait ParamDef {
    /// The all-caps, snake-case name of the parameter definition.
    const NAME: &str;

    /// The index in the global parameter repository of the *first*
    /// parameter with this definition. Some definitions are re-used
    /// across multiple parameters, which are usually contiguous in
    /// the repository.
    const INDEX: usize;
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ACTIONBUTTON_PARAM_ST {
    region_type: u8,
    padding1: [u8; 3],
    dummy_poly1: i32,
    dummy_poly2: i32,
    radius: f32,
    angle: i32,
    depth: f32,
    width: f32,
    height: f32,
    base_height_offset: f32,
    angle_check_type: u8,
    padding2: [u8; 3],
    allow_angle: i32,
    text_box_type: u8,
    padding3: [u8; 3],
    text_id: i32,
    invalid_flag: i32,
    grayout_flag: i32,
    priority: i32,
    exec_invalid_time: f32,
    exec_button_circle: u8,
    same_category_action_display: u8,
    padding4: [u8; 2],
}

impl ParamDef for ACTIONBUTTON_PARAM_ST {
    const NAME: &str = "ACTIONBUTTON_PARAM_ST";
    const INDEX: usize = 0;
}

impl ACTIONBUTTON_PARAM_ST {
    pub fn region_type(&self) -> u8 {
        self.region_type
    }

    pub fn set_region_type(&mut self, value: u8) {
        self.region_type = value;
    }

    pub fn dummy_poly1(&self) -> i32 {
        self.dummy_poly1
    }

    pub fn set_dummy_poly1(&mut self, value: i32) {
        self.dummy_poly1 = value;
    }

    pub fn dummy_poly2(&self) -> i32 {
        self.dummy_poly2
    }

    pub fn set_dummy_poly2(&mut self, value: i32) {
        self.dummy_poly2 = value;
    }

    pub fn radius(&self) -> f32 {
        self.radius
    }

    pub fn set_radius(&mut self, value: f32) {
        self.radius = value;
    }

    pub fn angle(&self) -> i32 {
        self.angle
    }

    pub fn set_angle(&mut self, value: i32) {
        self.angle = value;
    }

    pub fn depth(&self) -> f32 {
        self.depth
    }

    pub fn set_depth(&mut self, value: f32) {
        self.depth = value;
    }

    pub fn width(&self) -> f32 {
        self.width
    }

    pub fn set_width(&mut self, value: f32) {
        self.width = value;
    }

    pub fn height(&self) -> f32 {
        self.height
    }

    pub fn set_height(&mut self, value: f32) {
        self.height = value;
    }

    pub fn base_height_offset(&self) -> f32 {
        self.base_height_offset
    }

    pub fn set_base_height_offset(&mut self, value: f32) {
        self.base_height_offset = value;
    }

    pub fn angle_check_type(&self) -> u8 {
        self.angle_check_type
    }

    pub fn set_angle_check_type(&mut self, value: u8) {
        self.angle_check_type = value;
    }

    pub fn allow_angle(&self) -> i32 {
        self.allow_angle
    }

    pub fn set_allow_angle(&mut self, value: i32) {
        self.allow_angle = value;
    }

    pub fn text_box_type(&self) -> u8 {
        self.text_box_type
    }

    pub fn set_text_box_type(&mut self, value: u8) {
        self.text_box_type = value;
    }

    pub fn text_id(&self) -> i32 {
        self.text_id
    }

    pub fn set_text_id(&mut self, value: i32) {
        self.text_id = value;
    }

    pub fn invalid_flag(&self) -> i32 {
        self.invalid_flag
    }

    pub fn set_invalid_flag(&mut self, value: i32) {
        self.invalid_flag = value;
    }

    pub fn grayout_flag(&self) -> i32 {
        self.grayout_flag
    }

    pub fn set_grayout_flag(&mut self, value: i32) {
        self.grayout_flag = value;
    }

    pub fn priority(&self) -> i32 {
        self.priority
    }

    pub fn set_priority(&mut self, value: i32) {
        self.priority = value;
    }

    pub fn exec_invalid_time(&self) -> f32 {
        self.exec_invalid_time
    }

    pub fn set_exec_invalid_time(&mut self, value: f32) {
        self.exec_invalid_time = value;
    }

    pub fn exec_button_circle(&self) -> u8 {
        self.exec_button_circle
    }

    pub fn set_exec_button_circle(&mut self, value: u8) {
        self.exec_button_circle = value;
    }

    pub fn same_category_action_display(&self) -> u8 {
        self.same_category_action_display
    }

    pub fn set_same_category_action_display(&mut self, value: u8) {
        self.same_category_action_display = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct AI_SOUND_PARAM_ST {
    radius: f32,
    life_frame: f32,
    b_sp_effect_enable: u8,
    typ: u8,
    bits_a: u8,
    rank: u8,
    endpad: [u8; 20],
}

impl ParamDef for AI_SOUND_PARAM_ST {
    const NAME: &str = "AI_SOUND_PARAM_ST";
    const INDEX: usize = 1;
}

impl AI_SOUND_PARAM_ST {
    pub fn radius(&self) -> f32 {
        self.radius
    }

    pub fn set_radius(&mut self, value: f32) {
        self.radius = value;
    }

    pub fn life_frame(&self) -> f32 {
        self.life_frame
    }

    pub fn set_life_frame(&mut self, value: f32) {
        self.life_frame = value;
    }

    pub fn b_sp_effect_enable(&self) -> u8 {
        self.b_sp_effect_enable
    }

    pub fn set_b_sp_effect_enable(&mut self, value: u8) {
        self.b_sp_effect_enable = value;
    }

    pub fn typ(&self) -> u8 {
        self.typ
    }

    pub fn set_typ(&mut self, value: u8) {
        self.typ = value;
    }

    #[allow(clippy::identity_op)]
    pub fn oppose_target(&self) -> u8 {
        (self.bits_a >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_oppose_target(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn friendly_target(&self) -> u8 {
        (self.bits_a >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_friendly_target(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn self_target(&self) -> u8 {
        (self.bits_a >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_self_target(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    pub fn rank(&self) -> u8 {
        self.rank
    }

    pub fn set_rank(&mut self, value: u8) {
        self.rank = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ATK_PARAM_ST {
    hit0_radius: f32,
    hit1_radius: f32,
    hit2_radius: f32,
    hit3_radius: f32,
    knockback_dist: f32,
    hit_stop_time: f32,
    sp_effect0: i32,
    sp_effect1: i32,
    sp_effect2: i32,
    sp_effect3: i32,
    sp_effect4: i32,
    hit0_dmy_poly1: i16,
    hit1_dmy_poly1: i16,
    hit2_dmy_poly1: i16,
    hit3_dmy_poly1: i16,
    hit0_dmy_poly2: i16,
    hit1_dmy_poly2: i16,
    hit2_dmy_poly2: i16,
    hit3_dmy_poly2: i16,
    blowing_correction: u16,
    atk_phys_correction: u16,
    atk_mag_correction: u16,
    atk_fire_correction: u16,
    atk_thun_correction: u16,
    atk_stam_correction: u16,
    guard_atk_rate_correction: u16,
    guard_break_correction: u16,
    atk_throw_escape_correction: u16,
    atk_super_armor_correction: u16,
    atk_phys: u16,
    atk_mag: u16,
    atk_fire: u16,
    atk_thun: u16,
    atk_stam: u16,
    guard_atk_rate: u16,
    guard_break_rate: u16,
    atk_super_armor: u16,
    atk_throw_escape: u16,
    atk_obj: u16,
    guard_stamina_cut_rate: i16,
    guard_rate: i16,
    throw_type_id: u16,
    hit0_hit_type: u8,
    hit1_hit_type: u8,
    hit2_hit_type: u8,
    hit3_hit_type: u8,
    hit0_priority: u8,
    hit1_priority: u8,
    hit2_priority: u8,
    hit3_priority: u8,
    damage_level: u8,
    map_hit_type: u8,
    guard_cut_cancel_rate: i8,
    atk_attribute: u8,
    sp_attribute: u8,
    atk_type: u8,
    atk_material: u8,
    atk_size: i8,
    def_material: i8,
    def_sfx_material: i8,
    hit_source_type: u8,
    throw_flag: u8,
    bits_7e: u8,
    atk_pow_for_sfx_se: u8,
    atk_dir_for_sfx_se: u8,
    bits_81: u8,
    atk_behavior_id: u8,
    same_attack_judgment_id: u8,
    death_cause_id: i32,
    decal_id1: i32,
    decal_id2: i32,
    appear_ai_sound_id: i32,
    hit_ai_sound_id: i32,
    hit_rumble_id: i32,
    hit_rumble_id_by_normal: i32,
    hit_rumble_id_by_middle: i32,
    hit_rumble_id_by_root: i32,
    trace_sfx_id0: i32,
    trace_dmy_id_head0: i32,
    trace_dmy_id_tail0: i32,
    trace_sfx_id1: i32,
    trace_dmy_id_head1: i32,
    trace_dmy_id_tail1: i32,
    trace_sfx_id2: i32,
    trace_dmy_id_head2: i32,
    trace_dmy_id_tail2: i32,
    trace_sfx_id3: i32,
    trace_dmy_id_head3: i32,
    trace_dmy_id_tail3: i32,
    trace_sfx_id4: i32,
    trace_dmy_id_head4: i32,
    trace_dmy_id_tail4: i32,
    trace_sfx_id5: i32,
    trace_dmy_id_head5: i32,
    trace_dmy_id_tail5: i32,
    trace_sfx_id6: i32,
    trace_dmy_id_head6: i32,
    trace_dmy_id_tail6: i32,
    trace_sfx_id7: i32,
    trace_dmy_id_head7: i32,
    trace_dmy_id_tail7: i32,
    hit4_radius: f32,
    hit5_radius: f32,
    hit6_radius: f32,
    hit7_radius: f32,
    hit8_radius: f32,
    hit9_radius: f32,
    hit10_radius: f32,
    hit11_radius: f32,
    hit12_radius: f32,
    hit13_radius: f32,
    hit14_radius: f32,
    hit15_radius: f32,
    hit4_dmy_poly1: i16,
    hit5_dmy_poly1: i16,
    hit6_dmy_poly1: i16,
    hit7_dmy_poly1: i16,
    hit8_dmy_poly1: i16,
    hit9_dmy_poly1: i16,
    hit10_dmy_poly1: i16,
    hit11_dmy_poly1: i16,
    hit12_dmy_poly1: i16,
    hit13_dmy_poly1: i16,
    hit14_dmy_poly1: i16,
    hit15_dmy_poly1: i16,
    hit4_dmy_poly2: i16,
    hit5_dmy_poly2: i16,
    hit6_dmy_poly2: i16,
    hit7_dmy_poly2: i16,
    hit8_dmy_poly2: i16,
    hit9_dmy_poly2: i16,
    hit10_dmy_poly2: i16,
    hit11_dmy_poly2: i16,
    hit12_dmy_poly2: i16,
    hit13_dmy_poly2: i16,
    hit14_dmy_poly2: i16,
    hit15_dmy_poly2: i16,
    hit4_hit_type: u8,
    hit5_hit_type: u8,
    hit6_hit_type: u8,
    hit7_hit_type: u8,
    hit8_hit_type: u8,
    hit9_hit_type: u8,
    hit10_hit_type: u8,
    hit11_hit_type: u8,
    hit12_hit_type: u8,
    hit13_hit_type: u8,
    hit14_hit_type: u8,
    hit15_hit_type: u8,
    pad10: [u8; 12],
    def_material_val0: i16,
    def_material_val1: i16,
    def_material_val2: i16,
    atk_dark_correction: i16,
    atk_dark: i16,
    bits_18a: u8,
    dmg_level_vs_player: u8,
    status_ailment_atk_power_correct_rate: u16,
    sp_effect_atk_power_correct_rate_by_point: u16,
    sp_effect_atk_power_correct_rate_by_rate: u16,
    sp_effect_atk_power_correct_rate_by_dmg: u16,
    atk_behavior_id_2: u8,
    throw_damage_attribute: u8,
    status_ailment_atk_power_correct_rate_by_point: i16,
    atk_element_correct_id: i32,
    pad2: [u8; 12],
}

impl ParamDef for ATK_PARAM_ST {
    const NAME: &str = "ATK_PARAM_ST";
    const INDEX: usize = 2;
}

impl ATK_PARAM_ST {
    pub fn hit0_radius(&self) -> f32 {
        self.hit0_radius
    }

    pub fn set_hit0_radius(&mut self, value: f32) {
        self.hit0_radius = value;
    }

    pub fn hit1_radius(&self) -> f32 {
        self.hit1_radius
    }

    pub fn set_hit1_radius(&mut self, value: f32) {
        self.hit1_radius = value;
    }

    pub fn hit2_radius(&self) -> f32 {
        self.hit2_radius
    }

    pub fn set_hit2_radius(&mut self, value: f32) {
        self.hit2_radius = value;
    }

    pub fn hit3_radius(&self) -> f32 {
        self.hit3_radius
    }

    pub fn set_hit3_radius(&mut self, value: f32) {
        self.hit3_radius = value;
    }

    pub fn knockback_dist(&self) -> f32 {
        self.knockback_dist
    }

    pub fn set_knockback_dist(&mut self, value: f32) {
        self.knockback_dist = value;
    }

    pub fn hit_stop_time(&self) -> f32 {
        self.hit_stop_time
    }

    pub fn set_hit_stop_time(&mut self, value: f32) {
        self.hit_stop_time = value;
    }

    pub fn sp_effect0(&self) -> i32 {
        self.sp_effect0
    }

    pub fn set_sp_effect0(&mut self, value: i32) {
        self.sp_effect0 = value;
    }

    pub fn sp_effect1(&self) -> i32 {
        self.sp_effect1
    }

    pub fn set_sp_effect1(&mut self, value: i32) {
        self.sp_effect1 = value;
    }

    pub fn sp_effect2(&self) -> i32 {
        self.sp_effect2
    }

    pub fn set_sp_effect2(&mut self, value: i32) {
        self.sp_effect2 = value;
    }

    pub fn sp_effect3(&self) -> i32 {
        self.sp_effect3
    }

    pub fn set_sp_effect3(&mut self, value: i32) {
        self.sp_effect3 = value;
    }

    pub fn sp_effect4(&self) -> i32 {
        self.sp_effect4
    }

    pub fn set_sp_effect4(&mut self, value: i32) {
        self.sp_effect4 = value;
    }

    pub fn hit0_dmy_poly1(&self) -> i16 {
        self.hit0_dmy_poly1
    }

    pub fn set_hit0_dmy_poly1(&mut self, value: i16) {
        self.hit0_dmy_poly1 = value;
    }

    pub fn hit1_dmy_poly1(&self) -> i16 {
        self.hit1_dmy_poly1
    }

    pub fn set_hit1_dmy_poly1(&mut self, value: i16) {
        self.hit1_dmy_poly1 = value;
    }

    pub fn hit2_dmy_poly1(&self) -> i16 {
        self.hit2_dmy_poly1
    }

    pub fn set_hit2_dmy_poly1(&mut self, value: i16) {
        self.hit2_dmy_poly1 = value;
    }

    pub fn hit3_dmy_poly1(&self) -> i16 {
        self.hit3_dmy_poly1
    }

    pub fn set_hit3_dmy_poly1(&mut self, value: i16) {
        self.hit3_dmy_poly1 = value;
    }

    pub fn hit0_dmy_poly2(&self) -> i16 {
        self.hit0_dmy_poly2
    }

    pub fn set_hit0_dmy_poly2(&mut self, value: i16) {
        self.hit0_dmy_poly2 = value;
    }

    pub fn hit1_dmy_poly2(&self) -> i16 {
        self.hit1_dmy_poly2
    }

    pub fn set_hit1_dmy_poly2(&mut self, value: i16) {
        self.hit1_dmy_poly2 = value;
    }

    pub fn hit2_dmy_poly2(&self) -> i16 {
        self.hit2_dmy_poly2
    }

    pub fn set_hit2_dmy_poly2(&mut self, value: i16) {
        self.hit2_dmy_poly2 = value;
    }

    pub fn hit3_dmy_poly2(&self) -> i16 {
        self.hit3_dmy_poly2
    }

    pub fn set_hit3_dmy_poly2(&mut self, value: i16) {
        self.hit3_dmy_poly2 = value;
    }

    pub fn blowing_correction(&self) -> u16 {
        self.blowing_correction
    }

    pub fn set_blowing_correction(&mut self, value: u16) {
        self.blowing_correction = value;
    }

    pub fn atk_phys_correction(&self) -> u16 {
        self.atk_phys_correction
    }

    pub fn set_atk_phys_correction(&mut self, value: u16) {
        self.atk_phys_correction = value;
    }

    pub fn atk_mag_correction(&self) -> u16 {
        self.atk_mag_correction
    }

    pub fn set_atk_mag_correction(&mut self, value: u16) {
        self.atk_mag_correction = value;
    }

    pub fn atk_fire_correction(&self) -> u16 {
        self.atk_fire_correction
    }

    pub fn set_atk_fire_correction(&mut self, value: u16) {
        self.atk_fire_correction = value;
    }

    pub fn atk_thun_correction(&self) -> u16 {
        self.atk_thun_correction
    }

    pub fn set_atk_thun_correction(&mut self, value: u16) {
        self.atk_thun_correction = value;
    }

    pub fn atk_stam_correction(&self) -> u16 {
        self.atk_stam_correction
    }

    pub fn set_atk_stam_correction(&mut self, value: u16) {
        self.atk_stam_correction = value;
    }

    pub fn guard_atk_rate_correction(&self) -> u16 {
        self.guard_atk_rate_correction
    }

    pub fn set_guard_atk_rate_correction(&mut self, value: u16) {
        self.guard_atk_rate_correction = value;
    }

    pub fn guard_break_correction(&self) -> u16 {
        self.guard_break_correction
    }

    pub fn set_guard_break_correction(&mut self, value: u16) {
        self.guard_break_correction = value;
    }

    pub fn atk_throw_escape_correction(&self) -> u16 {
        self.atk_throw_escape_correction
    }

    pub fn set_atk_throw_escape_correction(&mut self, value: u16) {
        self.atk_throw_escape_correction = value;
    }

    pub fn atk_super_armor_correction(&self) -> u16 {
        self.atk_super_armor_correction
    }

    pub fn set_atk_super_armor_correction(&mut self, value: u16) {
        self.atk_super_armor_correction = value;
    }

    pub fn atk_phys(&self) -> u16 {
        self.atk_phys
    }

    pub fn set_atk_phys(&mut self, value: u16) {
        self.atk_phys = value;
    }

    pub fn atk_mag(&self) -> u16 {
        self.atk_mag
    }

    pub fn set_atk_mag(&mut self, value: u16) {
        self.atk_mag = value;
    }

    pub fn atk_fire(&self) -> u16 {
        self.atk_fire
    }

    pub fn set_atk_fire(&mut self, value: u16) {
        self.atk_fire = value;
    }

    pub fn atk_thun(&self) -> u16 {
        self.atk_thun
    }

    pub fn set_atk_thun(&mut self, value: u16) {
        self.atk_thun = value;
    }

    pub fn atk_stam(&self) -> u16 {
        self.atk_stam
    }

    pub fn set_atk_stam(&mut self, value: u16) {
        self.atk_stam = value;
    }

    pub fn guard_atk_rate(&self) -> u16 {
        self.guard_atk_rate
    }

    pub fn set_guard_atk_rate(&mut self, value: u16) {
        self.guard_atk_rate = value;
    }

    pub fn guard_break_rate(&self) -> u16 {
        self.guard_break_rate
    }

    pub fn set_guard_break_rate(&mut self, value: u16) {
        self.guard_break_rate = value;
    }

    pub fn atk_super_armor(&self) -> u16 {
        self.atk_super_armor
    }

    pub fn set_atk_super_armor(&mut self, value: u16) {
        self.atk_super_armor = value;
    }

    pub fn atk_throw_escape(&self) -> u16 {
        self.atk_throw_escape
    }

    pub fn set_atk_throw_escape(&mut self, value: u16) {
        self.atk_throw_escape = value;
    }

    pub fn atk_obj(&self) -> u16 {
        self.atk_obj
    }

    pub fn set_atk_obj(&mut self, value: u16) {
        self.atk_obj = value;
    }

    pub fn guard_stamina_cut_rate(&self) -> i16 {
        self.guard_stamina_cut_rate
    }

    pub fn set_guard_stamina_cut_rate(&mut self, value: i16) {
        self.guard_stamina_cut_rate = value;
    }

    pub fn guard_rate(&self) -> i16 {
        self.guard_rate
    }

    pub fn set_guard_rate(&mut self, value: i16) {
        self.guard_rate = value;
    }

    pub fn throw_type_id(&self) -> u16 {
        self.throw_type_id
    }

    pub fn set_throw_type_id(&mut self, value: u16) {
        self.throw_type_id = value;
    }

    pub fn hit0_hit_type(&self) -> u8 {
        self.hit0_hit_type
    }

    pub fn set_hit0_hit_type(&mut self, value: u8) {
        self.hit0_hit_type = value;
    }

    pub fn hit1_hit_type(&self) -> u8 {
        self.hit1_hit_type
    }

    pub fn set_hit1_hit_type(&mut self, value: u8) {
        self.hit1_hit_type = value;
    }

    pub fn hit2_hit_type(&self) -> u8 {
        self.hit2_hit_type
    }

    pub fn set_hit2_hit_type(&mut self, value: u8) {
        self.hit2_hit_type = value;
    }

    pub fn hit3_hit_type(&self) -> u8 {
        self.hit3_hit_type
    }

    pub fn set_hit3_hit_type(&mut self, value: u8) {
        self.hit3_hit_type = value;
    }

    pub fn hit0_priority(&self) -> u8 {
        self.hit0_priority
    }

    pub fn set_hit0_priority(&mut self, value: u8) {
        self.hit0_priority = value;
    }

    pub fn hit1_priority(&self) -> u8 {
        self.hit1_priority
    }

    pub fn set_hit1_priority(&mut self, value: u8) {
        self.hit1_priority = value;
    }

    pub fn hit2_priority(&self) -> u8 {
        self.hit2_priority
    }

    pub fn set_hit2_priority(&mut self, value: u8) {
        self.hit2_priority = value;
    }

    pub fn hit3_priority(&self) -> u8 {
        self.hit3_priority
    }

    pub fn set_hit3_priority(&mut self, value: u8) {
        self.hit3_priority = value;
    }

    pub fn damage_level(&self) -> u8 {
        self.damage_level
    }

    pub fn set_damage_level(&mut self, value: u8) {
        self.damage_level = value;
    }

    pub fn map_hit_type(&self) -> u8 {
        self.map_hit_type
    }

    pub fn set_map_hit_type(&mut self, value: u8) {
        self.map_hit_type = value;
    }

    pub fn guard_cut_cancel_rate(&self) -> i8 {
        self.guard_cut_cancel_rate
    }

    pub fn set_guard_cut_cancel_rate(&mut self, value: i8) {
        self.guard_cut_cancel_rate = value;
    }

    pub fn atk_attribute(&self) -> u8 {
        self.atk_attribute
    }

    pub fn set_atk_attribute(&mut self, value: u8) {
        self.atk_attribute = value;
    }

    pub fn sp_attribute(&self) -> u8 {
        self.sp_attribute
    }

    pub fn set_sp_attribute(&mut self, value: u8) {
        self.sp_attribute = value;
    }

    pub fn atk_type(&self) -> u8 {
        self.atk_type
    }

    pub fn set_atk_type(&mut self, value: u8) {
        self.atk_type = value;
    }

    pub fn atk_material(&self) -> u8 {
        self.atk_material
    }

    pub fn set_atk_material(&mut self, value: u8) {
        self.atk_material = value;
    }

    pub fn atk_size(&self) -> i8 {
        self.atk_size
    }

    pub fn set_atk_size(&mut self, value: i8) {
        self.atk_size = value;
    }

    pub fn def_material(&self) -> i8 {
        self.def_material
    }

    pub fn set_def_material(&mut self, value: i8) {
        self.def_material = value;
    }

    pub fn def_sfx_material(&self) -> i8 {
        self.def_sfx_material
    }

    pub fn set_def_sfx_material(&mut self, value: i8) {
        self.def_sfx_material = value;
    }

    pub fn hit_source_type(&self) -> u8 {
        self.hit_source_type
    }

    pub fn set_hit_source_type(&mut self, value: u8) {
        self.hit_source_type = value;
    }

    pub fn throw_flag(&self) -> u8 {
        self.throw_flag
    }

    pub fn set_throw_flag(&mut self, value: u8) {
        self.throw_flag = value;
    }

    #[allow(clippy::identity_op)]
    pub fn disable_guard(&self) -> u8 {
        (self.bits_7e >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_guard(&mut self, value: u8) {
        self.bits_7e = (self.bits_7e & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_stamina_attack(&self) -> u8 {
        (self.bits_7e >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_stamina_attack(&mut self, value: u8) {
        self.bits_7e = (self.bits_7e & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_hit_sp_effect(&self) -> u8 {
        (self.bits_7e >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_hit_sp_effect(&mut self, value: u8) {
        self.bits_7e = (self.bits_7e & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn ignore_notify_miss_swing_for_ai(&self) -> u8 {
        (self.bits_7e >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_ignore_notify_miss_swing_for_ai(&mut self, value: u8) {
        self.bits_7e = (self.bits_7e & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn repeat_hit_sfx(&self) -> u8 {
        (self.bits_7e >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_repeat_hit_sfx(&mut self, value: u8) {
        self.bits_7e = (self.bits_7e & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_arrow_atk(&self) -> u8 {
        (self.bits_7e >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_arrow_atk(&mut self, value: u8) {
        self.bits_7e = (self.bits_7e & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_ghost_atk(&self) -> u8 {
        (self.bits_7e >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ghost_atk(&mut self, value: u8) {
        self.bits_7e = (self.bits_7e & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_no_damage(&self) -> u8 {
        (self.bits_7e >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_no_damage(&mut self, value: u8) {
        self.bits_7e = (self.bits_7e & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn atk_pow_for_sfx_se(&self) -> u8 {
        self.atk_pow_for_sfx_se
    }

    pub fn set_atk_pow_for_sfx_se(&mut self, value: u8) {
        self.atk_pow_for_sfx_se = value;
    }

    pub fn atk_dir_for_sfx_se(&self) -> u8 {
        self.atk_dir_for_sfx_se
    }

    pub fn set_atk_dir_for_sfx_se(&mut self, value: u8) {
        self.atk_dir_for_sfx_se = value;
    }

    #[allow(clippy::identity_op)]
    pub fn oppose_target(&self) -> u8 {
        (self.bits_81 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_oppose_target(&mut self, value: u8) {
        self.bits_81 = (self.bits_81 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn friendly_target(&self) -> u8 {
        (self.bits_81 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_friendly_target(&mut self, value: u8) {
        self.bits_81 = (self.bits_81 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn self_target(&self) -> u8 {
        (self.bits_81 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_self_target(&mut self, value: u8) {
        self.bits_81 = (self.bits_81 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_charge_atk(&self) -> u8 {
        (self.bits_81 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_charge_atk(&mut self, value: u8) {
        self.bits_81 = (self.bits_81 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_share_hit_list(&self) -> u8 {
        (self.bits_81 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_share_hit_list(&mut self, value: u8) {
        self.bits_81 = (self.bits_81 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_check_obj_penetration(&self) -> u8 {
        (self.bits_81 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_check_obj_penetration(&mut self, value: u8) {
        self.bits_81 = (self.bits_81 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    pub fn atk_behavior_id(&self) -> u8 {
        self.atk_behavior_id
    }

    pub fn set_atk_behavior_id(&mut self, value: u8) {
        self.atk_behavior_id = value;
    }

    pub fn same_attack_judgment_id(&self) -> u8 {
        self.same_attack_judgment_id
    }

    pub fn set_same_attack_judgment_id(&mut self, value: u8) {
        self.same_attack_judgment_id = value;
    }

    pub fn death_cause_id(&self) -> i32 {
        self.death_cause_id
    }

    pub fn set_death_cause_id(&mut self, value: i32) {
        self.death_cause_id = value;
    }

    pub fn decal_id1(&self) -> i32 {
        self.decal_id1
    }

    pub fn set_decal_id1(&mut self, value: i32) {
        self.decal_id1 = value;
    }

    pub fn decal_id2(&self) -> i32 {
        self.decal_id2
    }

    pub fn set_decal_id2(&mut self, value: i32) {
        self.decal_id2 = value;
    }

    pub fn appear_ai_sound_id(&self) -> i32 {
        self.appear_ai_sound_id
    }

    pub fn set_appear_ai_sound_id(&mut self, value: i32) {
        self.appear_ai_sound_id = value;
    }

    pub fn hit_ai_sound_id(&self) -> i32 {
        self.hit_ai_sound_id
    }

    pub fn set_hit_ai_sound_id(&mut self, value: i32) {
        self.hit_ai_sound_id = value;
    }

    pub fn hit_rumble_id(&self) -> i32 {
        self.hit_rumble_id
    }

    pub fn set_hit_rumble_id(&mut self, value: i32) {
        self.hit_rumble_id = value;
    }

    pub fn hit_rumble_id_by_normal(&self) -> i32 {
        self.hit_rumble_id_by_normal
    }

    pub fn set_hit_rumble_id_by_normal(&mut self, value: i32) {
        self.hit_rumble_id_by_normal = value;
    }

    pub fn hit_rumble_id_by_middle(&self) -> i32 {
        self.hit_rumble_id_by_middle
    }

    pub fn set_hit_rumble_id_by_middle(&mut self, value: i32) {
        self.hit_rumble_id_by_middle = value;
    }

    pub fn hit_rumble_id_by_root(&self) -> i32 {
        self.hit_rumble_id_by_root
    }

    pub fn set_hit_rumble_id_by_root(&mut self, value: i32) {
        self.hit_rumble_id_by_root = value;
    }

    pub fn trace_sfx_id0(&self) -> i32 {
        self.trace_sfx_id0
    }

    pub fn set_trace_sfx_id0(&mut self, value: i32) {
        self.trace_sfx_id0 = value;
    }

    pub fn trace_dmy_id_head0(&self) -> i32 {
        self.trace_dmy_id_head0
    }

    pub fn set_trace_dmy_id_head0(&mut self, value: i32) {
        self.trace_dmy_id_head0 = value;
    }

    pub fn trace_dmy_id_tail0(&self) -> i32 {
        self.trace_dmy_id_tail0
    }

    pub fn set_trace_dmy_id_tail0(&mut self, value: i32) {
        self.trace_dmy_id_tail0 = value;
    }

    pub fn trace_sfx_id1(&self) -> i32 {
        self.trace_sfx_id1
    }

    pub fn set_trace_sfx_id1(&mut self, value: i32) {
        self.trace_sfx_id1 = value;
    }

    pub fn trace_dmy_id_head1(&self) -> i32 {
        self.trace_dmy_id_head1
    }

    pub fn set_trace_dmy_id_head1(&mut self, value: i32) {
        self.trace_dmy_id_head1 = value;
    }

    pub fn trace_dmy_id_tail1(&self) -> i32 {
        self.trace_dmy_id_tail1
    }

    pub fn set_trace_dmy_id_tail1(&mut self, value: i32) {
        self.trace_dmy_id_tail1 = value;
    }

    pub fn trace_sfx_id2(&self) -> i32 {
        self.trace_sfx_id2
    }

    pub fn set_trace_sfx_id2(&mut self, value: i32) {
        self.trace_sfx_id2 = value;
    }

    pub fn trace_dmy_id_head2(&self) -> i32 {
        self.trace_dmy_id_head2
    }

    pub fn set_trace_dmy_id_head2(&mut self, value: i32) {
        self.trace_dmy_id_head2 = value;
    }

    pub fn trace_dmy_id_tail2(&self) -> i32 {
        self.trace_dmy_id_tail2
    }

    pub fn set_trace_dmy_id_tail2(&mut self, value: i32) {
        self.trace_dmy_id_tail2 = value;
    }

    pub fn trace_sfx_id3(&self) -> i32 {
        self.trace_sfx_id3
    }

    pub fn set_trace_sfx_id3(&mut self, value: i32) {
        self.trace_sfx_id3 = value;
    }

    pub fn trace_dmy_id_head3(&self) -> i32 {
        self.trace_dmy_id_head3
    }

    pub fn set_trace_dmy_id_head3(&mut self, value: i32) {
        self.trace_dmy_id_head3 = value;
    }

    pub fn trace_dmy_id_tail3(&self) -> i32 {
        self.trace_dmy_id_tail3
    }

    pub fn set_trace_dmy_id_tail3(&mut self, value: i32) {
        self.trace_dmy_id_tail3 = value;
    }

    pub fn trace_sfx_id4(&self) -> i32 {
        self.trace_sfx_id4
    }

    pub fn set_trace_sfx_id4(&mut self, value: i32) {
        self.trace_sfx_id4 = value;
    }

    pub fn trace_dmy_id_head4(&self) -> i32 {
        self.trace_dmy_id_head4
    }

    pub fn set_trace_dmy_id_head4(&mut self, value: i32) {
        self.trace_dmy_id_head4 = value;
    }

    pub fn trace_dmy_id_tail4(&self) -> i32 {
        self.trace_dmy_id_tail4
    }

    pub fn set_trace_dmy_id_tail4(&mut self, value: i32) {
        self.trace_dmy_id_tail4 = value;
    }

    pub fn trace_sfx_id5(&self) -> i32 {
        self.trace_sfx_id5
    }

    pub fn set_trace_sfx_id5(&mut self, value: i32) {
        self.trace_sfx_id5 = value;
    }

    pub fn trace_dmy_id_head5(&self) -> i32 {
        self.trace_dmy_id_head5
    }

    pub fn set_trace_dmy_id_head5(&mut self, value: i32) {
        self.trace_dmy_id_head5 = value;
    }

    pub fn trace_dmy_id_tail5(&self) -> i32 {
        self.trace_dmy_id_tail5
    }

    pub fn set_trace_dmy_id_tail5(&mut self, value: i32) {
        self.trace_dmy_id_tail5 = value;
    }

    pub fn trace_sfx_id6(&self) -> i32 {
        self.trace_sfx_id6
    }

    pub fn set_trace_sfx_id6(&mut self, value: i32) {
        self.trace_sfx_id6 = value;
    }

    pub fn trace_dmy_id_head6(&self) -> i32 {
        self.trace_dmy_id_head6
    }

    pub fn set_trace_dmy_id_head6(&mut self, value: i32) {
        self.trace_dmy_id_head6 = value;
    }

    pub fn trace_dmy_id_tail6(&self) -> i32 {
        self.trace_dmy_id_tail6
    }

    pub fn set_trace_dmy_id_tail6(&mut self, value: i32) {
        self.trace_dmy_id_tail6 = value;
    }

    pub fn trace_sfx_id7(&self) -> i32 {
        self.trace_sfx_id7
    }

    pub fn set_trace_sfx_id7(&mut self, value: i32) {
        self.trace_sfx_id7 = value;
    }

    pub fn trace_dmy_id_head7(&self) -> i32 {
        self.trace_dmy_id_head7
    }

    pub fn set_trace_dmy_id_head7(&mut self, value: i32) {
        self.trace_dmy_id_head7 = value;
    }

    pub fn trace_dmy_id_tail7(&self) -> i32 {
        self.trace_dmy_id_tail7
    }

    pub fn set_trace_dmy_id_tail7(&mut self, value: i32) {
        self.trace_dmy_id_tail7 = value;
    }

    pub fn hit4_radius(&self) -> f32 {
        self.hit4_radius
    }

    pub fn set_hit4_radius(&mut self, value: f32) {
        self.hit4_radius = value;
    }

    pub fn hit5_radius(&self) -> f32 {
        self.hit5_radius
    }

    pub fn set_hit5_radius(&mut self, value: f32) {
        self.hit5_radius = value;
    }

    pub fn hit6_radius(&self) -> f32 {
        self.hit6_radius
    }

    pub fn set_hit6_radius(&mut self, value: f32) {
        self.hit6_radius = value;
    }

    pub fn hit7_radius(&self) -> f32 {
        self.hit7_radius
    }

    pub fn set_hit7_radius(&mut self, value: f32) {
        self.hit7_radius = value;
    }

    pub fn hit8_radius(&self) -> f32 {
        self.hit8_radius
    }

    pub fn set_hit8_radius(&mut self, value: f32) {
        self.hit8_radius = value;
    }

    pub fn hit9_radius(&self) -> f32 {
        self.hit9_radius
    }

    pub fn set_hit9_radius(&mut self, value: f32) {
        self.hit9_radius = value;
    }

    pub fn hit10_radius(&self) -> f32 {
        self.hit10_radius
    }

    pub fn set_hit10_radius(&mut self, value: f32) {
        self.hit10_radius = value;
    }

    pub fn hit11_radius(&self) -> f32 {
        self.hit11_radius
    }

    pub fn set_hit11_radius(&mut self, value: f32) {
        self.hit11_radius = value;
    }

    pub fn hit12_radius(&self) -> f32 {
        self.hit12_radius
    }

    pub fn set_hit12_radius(&mut self, value: f32) {
        self.hit12_radius = value;
    }

    pub fn hit13_radius(&self) -> f32 {
        self.hit13_radius
    }

    pub fn set_hit13_radius(&mut self, value: f32) {
        self.hit13_radius = value;
    }

    pub fn hit14_radius(&self) -> f32 {
        self.hit14_radius
    }

    pub fn set_hit14_radius(&mut self, value: f32) {
        self.hit14_radius = value;
    }

    pub fn hit15_radius(&self) -> f32 {
        self.hit15_radius
    }

    pub fn set_hit15_radius(&mut self, value: f32) {
        self.hit15_radius = value;
    }

    pub fn hit4_dmy_poly1(&self) -> i16 {
        self.hit4_dmy_poly1
    }

    pub fn set_hit4_dmy_poly1(&mut self, value: i16) {
        self.hit4_dmy_poly1 = value;
    }

    pub fn hit5_dmy_poly1(&self) -> i16 {
        self.hit5_dmy_poly1
    }

    pub fn set_hit5_dmy_poly1(&mut self, value: i16) {
        self.hit5_dmy_poly1 = value;
    }

    pub fn hit6_dmy_poly1(&self) -> i16 {
        self.hit6_dmy_poly1
    }

    pub fn set_hit6_dmy_poly1(&mut self, value: i16) {
        self.hit6_dmy_poly1 = value;
    }

    pub fn hit7_dmy_poly1(&self) -> i16 {
        self.hit7_dmy_poly1
    }

    pub fn set_hit7_dmy_poly1(&mut self, value: i16) {
        self.hit7_dmy_poly1 = value;
    }

    pub fn hit8_dmy_poly1(&self) -> i16 {
        self.hit8_dmy_poly1
    }

    pub fn set_hit8_dmy_poly1(&mut self, value: i16) {
        self.hit8_dmy_poly1 = value;
    }

    pub fn hit9_dmy_poly1(&self) -> i16 {
        self.hit9_dmy_poly1
    }

    pub fn set_hit9_dmy_poly1(&mut self, value: i16) {
        self.hit9_dmy_poly1 = value;
    }

    pub fn hit10_dmy_poly1(&self) -> i16 {
        self.hit10_dmy_poly1
    }

    pub fn set_hit10_dmy_poly1(&mut self, value: i16) {
        self.hit10_dmy_poly1 = value;
    }

    pub fn hit11_dmy_poly1(&self) -> i16 {
        self.hit11_dmy_poly1
    }

    pub fn set_hit11_dmy_poly1(&mut self, value: i16) {
        self.hit11_dmy_poly1 = value;
    }

    pub fn hit12_dmy_poly1(&self) -> i16 {
        self.hit12_dmy_poly1
    }

    pub fn set_hit12_dmy_poly1(&mut self, value: i16) {
        self.hit12_dmy_poly1 = value;
    }

    pub fn hit13_dmy_poly1(&self) -> i16 {
        self.hit13_dmy_poly1
    }

    pub fn set_hit13_dmy_poly1(&mut self, value: i16) {
        self.hit13_dmy_poly1 = value;
    }

    pub fn hit14_dmy_poly1(&self) -> i16 {
        self.hit14_dmy_poly1
    }

    pub fn set_hit14_dmy_poly1(&mut self, value: i16) {
        self.hit14_dmy_poly1 = value;
    }

    pub fn hit15_dmy_poly1(&self) -> i16 {
        self.hit15_dmy_poly1
    }

    pub fn set_hit15_dmy_poly1(&mut self, value: i16) {
        self.hit15_dmy_poly1 = value;
    }

    pub fn hit4_dmy_poly2(&self) -> i16 {
        self.hit4_dmy_poly2
    }

    pub fn set_hit4_dmy_poly2(&mut self, value: i16) {
        self.hit4_dmy_poly2 = value;
    }

    pub fn hit5_dmy_poly2(&self) -> i16 {
        self.hit5_dmy_poly2
    }

    pub fn set_hit5_dmy_poly2(&mut self, value: i16) {
        self.hit5_dmy_poly2 = value;
    }

    pub fn hit6_dmy_poly2(&self) -> i16 {
        self.hit6_dmy_poly2
    }

    pub fn set_hit6_dmy_poly2(&mut self, value: i16) {
        self.hit6_dmy_poly2 = value;
    }

    pub fn hit7_dmy_poly2(&self) -> i16 {
        self.hit7_dmy_poly2
    }

    pub fn set_hit7_dmy_poly2(&mut self, value: i16) {
        self.hit7_dmy_poly2 = value;
    }

    pub fn hit8_dmy_poly2(&self) -> i16 {
        self.hit8_dmy_poly2
    }

    pub fn set_hit8_dmy_poly2(&mut self, value: i16) {
        self.hit8_dmy_poly2 = value;
    }

    pub fn hit9_dmy_poly2(&self) -> i16 {
        self.hit9_dmy_poly2
    }

    pub fn set_hit9_dmy_poly2(&mut self, value: i16) {
        self.hit9_dmy_poly2 = value;
    }

    pub fn hit10_dmy_poly2(&self) -> i16 {
        self.hit10_dmy_poly2
    }

    pub fn set_hit10_dmy_poly2(&mut self, value: i16) {
        self.hit10_dmy_poly2 = value;
    }

    pub fn hit11_dmy_poly2(&self) -> i16 {
        self.hit11_dmy_poly2
    }

    pub fn set_hit11_dmy_poly2(&mut self, value: i16) {
        self.hit11_dmy_poly2 = value;
    }

    pub fn hit12_dmy_poly2(&self) -> i16 {
        self.hit12_dmy_poly2
    }

    pub fn set_hit12_dmy_poly2(&mut self, value: i16) {
        self.hit12_dmy_poly2 = value;
    }

    pub fn hit13_dmy_poly2(&self) -> i16 {
        self.hit13_dmy_poly2
    }

    pub fn set_hit13_dmy_poly2(&mut self, value: i16) {
        self.hit13_dmy_poly2 = value;
    }

    pub fn hit14_dmy_poly2(&self) -> i16 {
        self.hit14_dmy_poly2
    }

    pub fn set_hit14_dmy_poly2(&mut self, value: i16) {
        self.hit14_dmy_poly2 = value;
    }

    pub fn hit15_dmy_poly2(&self) -> i16 {
        self.hit15_dmy_poly2
    }

    pub fn set_hit15_dmy_poly2(&mut self, value: i16) {
        self.hit15_dmy_poly2 = value;
    }

    pub fn hit4_hit_type(&self) -> u8 {
        self.hit4_hit_type
    }

    pub fn set_hit4_hit_type(&mut self, value: u8) {
        self.hit4_hit_type = value;
    }

    pub fn hit5_hit_type(&self) -> u8 {
        self.hit5_hit_type
    }

    pub fn set_hit5_hit_type(&mut self, value: u8) {
        self.hit5_hit_type = value;
    }

    pub fn hit6_hit_type(&self) -> u8 {
        self.hit6_hit_type
    }

    pub fn set_hit6_hit_type(&mut self, value: u8) {
        self.hit6_hit_type = value;
    }

    pub fn hit7_hit_type(&self) -> u8 {
        self.hit7_hit_type
    }

    pub fn set_hit7_hit_type(&mut self, value: u8) {
        self.hit7_hit_type = value;
    }

    pub fn hit8_hit_type(&self) -> u8 {
        self.hit8_hit_type
    }

    pub fn set_hit8_hit_type(&mut self, value: u8) {
        self.hit8_hit_type = value;
    }

    pub fn hit9_hit_type(&self) -> u8 {
        self.hit9_hit_type
    }

    pub fn set_hit9_hit_type(&mut self, value: u8) {
        self.hit9_hit_type = value;
    }

    pub fn hit10_hit_type(&self) -> u8 {
        self.hit10_hit_type
    }

    pub fn set_hit10_hit_type(&mut self, value: u8) {
        self.hit10_hit_type = value;
    }

    pub fn hit11_hit_type(&self) -> u8 {
        self.hit11_hit_type
    }

    pub fn set_hit11_hit_type(&mut self, value: u8) {
        self.hit11_hit_type = value;
    }

    pub fn hit12_hit_type(&self) -> u8 {
        self.hit12_hit_type
    }

    pub fn set_hit12_hit_type(&mut self, value: u8) {
        self.hit12_hit_type = value;
    }

    pub fn hit13_hit_type(&self) -> u8 {
        self.hit13_hit_type
    }

    pub fn set_hit13_hit_type(&mut self, value: u8) {
        self.hit13_hit_type = value;
    }

    pub fn hit14_hit_type(&self) -> u8 {
        self.hit14_hit_type
    }

    pub fn set_hit14_hit_type(&mut self, value: u8) {
        self.hit14_hit_type = value;
    }

    pub fn hit15_hit_type(&self) -> u8 {
        self.hit15_hit_type
    }

    pub fn set_hit15_hit_type(&mut self, value: u8) {
        self.hit15_hit_type = value;
    }

    pub fn def_material_val0(&self) -> i16 {
        self.def_material_val0
    }

    pub fn set_def_material_val0(&mut self, value: i16) {
        self.def_material_val0 = value;
    }

    pub fn def_material_val1(&self) -> i16 {
        self.def_material_val1
    }

    pub fn set_def_material_val1(&mut self, value: i16) {
        self.def_material_val1 = value;
    }

    pub fn def_material_val2(&self) -> i16 {
        self.def_material_val2
    }

    pub fn set_def_material_val2(&mut self, value: i16) {
        self.def_material_val2 = value;
    }

    pub fn atk_dark_correction(&self) -> i16 {
        self.atk_dark_correction
    }

    pub fn set_atk_dark_correction(&mut self, value: i16) {
        self.atk_dark_correction = value;
    }

    pub fn atk_dark(&self) -> i16 {
        self.atk_dark
    }

    pub fn set_atk_dark(&mut self, value: i16) {
        self.atk_dark = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_parry(&self) -> u8 {
        (self.bits_18a >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_parry(&mut self, value: u8) {
        self.bits_18a = (self.bits_18a & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_both_hands_atk_bonus(&self) -> u8 {
        (self.bits_18a >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_both_hands_atk_bonus(&mut self, value: u8) {
        self.bits_18a = (self.bits_18a & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_invalidated_by_no_damage_in_air(&self) -> u8 {
        (self.bits_18a >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_invalidated_by_no_damage_in_air(&mut self, value: u8) {
        self.bits_18a = (self.bits_18a & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn dmg_level_vs_player(&self) -> u8 {
        self.dmg_level_vs_player
    }

    pub fn set_dmg_level_vs_player(&mut self, value: u8) {
        self.dmg_level_vs_player = value;
    }

    pub fn status_ailment_atk_power_correct_rate(&self) -> u16 {
        self.status_ailment_atk_power_correct_rate
    }

    pub fn set_status_ailment_atk_power_correct_rate(&mut self, value: u16) {
        self.status_ailment_atk_power_correct_rate = value;
    }

    pub fn sp_effect_atk_power_correct_rate_by_point(&self) -> u16 {
        self.sp_effect_atk_power_correct_rate_by_point
    }

    pub fn set_sp_effect_atk_power_correct_rate_by_point(&mut self, value: u16) {
        self.sp_effect_atk_power_correct_rate_by_point = value;
    }

    pub fn sp_effect_atk_power_correct_rate_by_rate(&self) -> u16 {
        self.sp_effect_atk_power_correct_rate_by_rate
    }

    pub fn set_sp_effect_atk_power_correct_rate_by_rate(&mut self, value: u16) {
        self.sp_effect_atk_power_correct_rate_by_rate = value;
    }

    pub fn sp_effect_atk_power_correct_rate_by_dmg(&self) -> u16 {
        self.sp_effect_atk_power_correct_rate_by_dmg
    }

    pub fn set_sp_effect_atk_power_correct_rate_by_dmg(&mut self, value: u16) {
        self.sp_effect_atk_power_correct_rate_by_dmg = value;
    }

    pub fn atk_behavior_id_2(&self) -> u8 {
        self.atk_behavior_id_2
    }

    pub fn set_atk_behavior_id_2(&mut self, value: u8) {
        self.atk_behavior_id_2 = value;
    }

    pub fn throw_damage_attribute(&self) -> u8 {
        self.throw_damage_attribute
    }

    pub fn set_throw_damage_attribute(&mut self, value: u8) {
        self.throw_damage_attribute = value;
    }

    pub fn status_ailment_atk_power_correct_rate_by_point(&self) -> i16 {
        self.status_ailment_atk_power_correct_rate_by_point
    }

    pub fn set_status_ailment_atk_power_correct_rate_by_point(&mut self, value: i16) {
        self.status_ailment_atk_power_correct_rate_by_point = value;
    }

    pub fn atk_element_correct_id(&self) -> i32 {
        self.atk_element_correct_id
    }

    pub fn set_atk_element_correct_id(&mut self, value: i32) {
        self.atk_element_correct_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ATTACK_ELEMENT_CORRECT_PARAM_ST {
    bits_0: u8,
    bits_1: u8,
    bits_2: u8,
    bits_3: u8,
    overwrite_strength_correct_rate_by_physics: i16,
    overwrite_dexterity_correct_rate_by_physics: i16,
    overwrite_magic_correct_rate_by_physics: i16,
    overwrite_faith_correct_rate_by_physics: i16,
    overwrite_luck_correct_rate_by_physics: i16,
    overwrite_strength_correct_rate_by_magic: i16,
    overwrite_dexterity_correct_rate_by_magic: i16,
    overwrite_magic_correct_rate_by_magic: i16,
    overwrite_faith_correct_rate_by_magic: i16,
    overwrite_luck_correct_rate_by_magic: i16,
    overwrite_strength_correct_rate_by_fire: i16,
    overwrite_dexterity_correct_rate_by_fire: i16,
    overwrite_magic_correct_rate_by_fire: i16,
    overwrite_faith_correct_rate_by_fire: i16,
    overwrite_luck_correct_rate_by_fire: i16,
    overwrite_strength_correct_rate_by_thunder: i16,
    overwrite_dexterity_correct_rate_by_thunder: i16,
    overwrite_magic_correct_rate_by_thunder: i16,
    overwrite_faith_correct_rate_by_thunder: i16,
    overwrite_luck_correct_rate_by_thunder: i16,
    overwrite_strength_correct_rate_by_dark: i16,
    overwrite_dexterity_correct_rate_by_dark: i16,
    overwrite_magic_correct_rate_by_dark: i16,
    overwrite_faith_correct_rate_by_dark: i16,
    overwrite_luck_correct_rate_by_dark: i16,
    influence_strength_correct_rate_by_physics: i16,
    influence_dexterity_correct_rate_by_physics: i16,
    influence_magic_correct_rate_by_physics: i16,
    influence_faith_correct_rate_by_physics: i16,
    influence_luck_correct_rate_by_physics: i16,
    influence_strength_correct_rate_by_magic: i16,
    influence_dexterity_correct_rate_by_magic: i16,
    influence_magic_correct_rate_by_magic: i16,
    influence_faith_correct_rate_by_magic: i16,
    influence_luck_correct_rate_by_magic: i16,
    influence_strength_correct_rate_by_fire: i16,
    influence_dexterity_correct_rate_by_fire: i16,
    influence_magic_correct_rate_by_fire: i16,
    influence_faith_correct_rate_by_fire: i16,
    influence_luck_correct_rate_by_fire: i16,
    influence_strength_correct_rate_by_thunder: i16,
    influence_dexterity_correct_rate_by_thunder: i16,
    influence_magic_correct_rate_by_thunder: i16,
    influence_faith_correct_rate_by_thunder: i16,
    influence_luck_correct_rate_by_thunder: i16,
    influence_strength_correct_rate_by_dark: i16,
    influence_dexterity_correct_rate_by_dark: i16,
    influence_magic_correct_rate_by_dark: i16,
    influence_faith_correct_rate_by_dark: i16,
    influence_luck_correct_rate_by_dark: i16,
    pad2: [u8; 24],
}

impl ParamDef for ATTACK_ELEMENT_CORRECT_PARAM_ST {
    const NAME: &str = "ATTACK_ELEMENT_CORRECT_PARAM_ST";
    const INDEX: usize = 4;
}

impl ATTACK_ELEMENT_CORRECT_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn is_strength_correct_by_physics(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_strength_correct_by_physics(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_dexterity_correct_by_physics(&self) -> u8 {
        (self.bits_0 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_dexterity_correct_by_physics(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_magic_correct_by_physics(&self) -> u8 {
        (self.bits_0 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_magic_correct_by_physics(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_faith_correct_by_physics(&self) -> u8 {
        (self.bits_0 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_faith_correct_by_physics(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_luck_correct_by_physics(&self) -> u8 {
        (self.bits_0 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_luck_correct_by_physics(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_strength_correct_by_magic(&self) -> u8 {
        (self.bits_0 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_strength_correct_by_magic(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_dexterity_correct_by_magic(&self) -> u8 {
        (self.bits_0 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_dexterity_correct_by_magic(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_magic_correct_by_magic(&self) -> u8 {
        (self.bits_0 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_magic_correct_by_magic(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_faith_correct_by_magic(&self) -> u8 {
        (self.bits_1 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_faith_correct_by_magic(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_luck_correct_by_magic(&self) -> u8 {
        (self.bits_1 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_luck_correct_by_magic(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_strength_correct_by_fire(&self) -> u8 {
        (self.bits_1 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_strength_correct_by_fire(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_dexterity_correct_by_fire(&self) -> u8 {
        (self.bits_1 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_dexterity_correct_by_fire(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_magic_correct_by_fire(&self) -> u8 {
        (self.bits_1 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_magic_correct_by_fire(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_faith_correct_by_fire(&self) -> u8 {
        (self.bits_1 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_faith_correct_by_fire(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_luck_correct_by_fire(&self) -> u8 {
        (self.bits_1 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_luck_correct_by_fire(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_strength_correct_by_thunder(&self) -> u8 {
        (self.bits_1 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_strength_correct_by_thunder(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_dexterity_correct_by_thunder(&self) -> u8 {
        (self.bits_2 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_dexterity_correct_by_thunder(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_magic_correct_by_thunder(&self) -> u8 {
        (self.bits_2 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_magic_correct_by_thunder(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_faith_correct_by_thunder(&self) -> u8 {
        (self.bits_2 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_faith_correct_by_thunder(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_luck_correct_by_thunder(&self) -> u8 {
        (self.bits_2 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_luck_correct_by_thunder(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_strength_correct_by_dark(&self) -> u8 {
        (self.bits_2 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_strength_correct_by_dark(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_dexterity_correct_by_dark(&self) -> u8 {
        (self.bits_2 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_dexterity_correct_by_dark(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_magic_correct_by_dark(&self) -> u8 {
        (self.bits_2 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_magic_correct_by_dark(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_faith_correct_by_dark(&self) -> u8 {
        (self.bits_2 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_faith_correct_by_dark(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_luck_correct_by_dark(&self) -> u8 {
        (self.bits_3 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_luck_correct_by_dark(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn overwrite_strength_correct_rate_by_physics(&self) -> i16 {
        self.overwrite_strength_correct_rate_by_physics
    }

    pub fn set_overwrite_strength_correct_rate_by_physics(&mut self, value: i16) {
        self.overwrite_strength_correct_rate_by_physics = value;
    }

    pub fn overwrite_dexterity_correct_rate_by_physics(&self) -> i16 {
        self.overwrite_dexterity_correct_rate_by_physics
    }

    pub fn set_overwrite_dexterity_correct_rate_by_physics(&mut self, value: i16) {
        self.overwrite_dexterity_correct_rate_by_physics = value;
    }

    pub fn overwrite_magic_correct_rate_by_physics(&self) -> i16 {
        self.overwrite_magic_correct_rate_by_physics
    }

    pub fn set_overwrite_magic_correct_rate_by_physics(&mut self, value: i16) {
        self.overwrite_magic_correct_rate_by_physics = value;
    }

    pub fn overwrite_faith_correct_rate_by_physics(&self) -> i16 {
        self.overwrite_faith_correct_rate_by_physics
    }

    pub fn set_overwrite_faith_correct_rate_by_physics(&mut self, value: i16) {
        self.overwrite_faith_correct_rate_by_physics = value;
    }

    pub fn overwrite_luck_correct_rate_by_physics(&self) -> i16 {
        self.overwrite_luck_correct_rate_by_physics
    }

    pub fn set_overwrite_luck_correct_rate_by_physics(&mut self, value: i16) {
        self.overwrite_luck_correct_rate_by_physics = value;
    }

    pub fn overwrite_strength_correct_rate_by_magic(&self) -> i16 {
        self.overwrite_strength_correct_rate_by_magic
    }

    pub fn set_overwrite_strength_correct_rate_by_magic(&mut self, value: i16) {
        self.overwrite_strength_correct_rate_by_magic = value;
    }

    pub fn overwrite_dexterity_correct_rate_by_magic(&self) -> i16 {
        self.overwrite_dexterity_correct_rate_by_magic
    }

    pub fn set_overwrite_dexterity_correct_rate_by_magic(&mut self, value: i16) {
        self.overwrite_dexterity_correct_rate_by_magic = value;
    }

    pub fn overwrite_magic_correct_rate_by_magic(&self) -> i16 {
        self.overwrite_magic_correct_rate_by_magic
    }

    pub fn set_overwrite_magic_correct_rate_by_magic(&mut self, value: i16) {
        self.overwrite_magic_correct_rate_by_magic = value;
    }

    pub fn overwrite_faith_correct_rate_by_magic(&self) -> i16 {
        self.overwrite_faith_correct_rate_by_magic
    }

    pub fn set_overwrite_faith_correct_rate_by_magic(&mut self, value: i16) {
        self.overwrite_faith_correct_rate_by_magic = value;
    }

    pub fn overwrite_luck_correct_rate_by_magic(&self) -> i16 {
        self.overwrite_luck_correct_rate_by_magic
    }

    pub fn set_overwrite_luck_correct_rate_by_magic(&mut self, value: i16) {
        self.overwrite_luck_correct_rate_by_magic = value;
    }

    pub fn overwrite_strength_correct_rate_by_fire(&self) -> i16 {
        self.overwrite_strength_correct_rate_by_fire
    }

    pub fn set_overwrite_strength_correct_rate_by_fire(&mut self, value: i16) {
        self.overwrite_strength_correct_rate_by_fire = value;
    }

    pub fn overwrite_dexterity_correct_rate_by_fire(&self) -> i16 {
        self.overwrite_dexterity_correct_rate_by_fire
    }

    pub fn set_overwrite_dexterity_correct_rate_by_fire(&mut self, value: i16) {
        self.overwrite_dexterity_correct_rate_by_fire = value;
    }

    pub fn overwrite_magic_correct_rate_by_fire(&self) -> i16 {
        self.overwrite_magic_correct_rate_by_fire
    }

    pub fn set_overwrite_magic_correct_rate_by_fire(&mut self, value: i16) {
        self.overwrite_magic_correct_rate_by_fire = value;
    }

    pub fn overwrite_faith_correct_rate_by_fire(&self) -> i16 {
        self.overwrite_faith_correct_rate_by_fire
    }

    pub fn set_overwrite_faith_correct_rate_by_fire(&mut self, value: i16) {
        self.overwrite_faith_correct_rate_by_fire = value;
    }

    pub fn overwrite_luck_correct_rate_by_fire(&self) -> i16 {
        self.overwrite_luck_correct_rate_by_fire
    }

    pub fn set_overwrite_luck_correct_rate_by_fire(&mut self, value: i16) {
        self.overwrite_luck_correct_rate_by_fire = value;
    }

    pub fn overwrite_strength_correct_rate_by_thunder(&self) -> i16 {
        self.overwrite_strength_correct_rate_by_thunder
    }

    pub fn set_overwrite_strength_correct_rate_by_thunder(&mut self, value: i16) {
        self.overwrite_strength_correct_rate_by_thunder = value;
    }

    pub fn overwrite_dexterity_correct_rate_by_thunder(&self) -> i16 {
        self.overwrite_dexterity_correct_rate_by_thunder
    }

    pub fn set_overwrite_dexterity_correct_rate_by_thunder(&mut self, value: i16) {
        self.overwrite_dexterity_correct_rate_by_thunder = value;
    }

    pub fn overwrite_magic_correct_rate_by_thunder(&self) -> i16 {
        self.overwrite_magic_correct_rate_by_thunder
    }

    pub fn set_overwrite_magic_correct_rate_by_thunder(&mut self, value: i16) {
        self.overwrite_magic_correct_rate_by_thunder = value;
    }

    pub fn overwrite_faith_correct_rate_by_thunder(&self) -> i16 {
        self.overwrite_faith_correct_rate_by_thunder
    }

    pub fn set_overwrite_faith_correct_rate_by_thunder(&mut self, value: i16) {
        self.overwrite_faith_correct_rate_by_thunder = value;
    }

    pub fn overwrite_luck_correct_rate_by_thunder(&self) -> i16 {
        self.overwrite_luck_correct_rate_by_thunder
    }

    pub fn set_overwrite_luck_correct_rate_by_thunder(&mut self, value: i16) {
        self.overwrite_luck_correct_rate_by_thunder = value;
    }

    pub fn overwrite_strength_correct_rate_by_dark(&self) -> i16 {
        self.overwrite_strength_correct_rate_by_dark
    }

    pub fn set_overwrite_strength_correct_rate_by_dark(&mut self, value: i16) {
        self.overwrite_strength_correct_rate_by_dark = value;
    }

    pub fn overwrite_dexterity_correct_rate_by_dark(&self) -> i16 {
        self.overwrite_dexterity_correct_rate_by_dark
    }

    pub fn set_overwrite_dexterity_correct_rate_by_dark(&mut self, value: i16) {
        self.overwrite_dexterity_correct_rate_by_dark = value;
    }

    pub fn overwrite_magic_correct_rate_by_dark(&self) -> i16 {
        self.overwrite_magic_correct_rate_by_dark
    }

    pub fn set_overwrite_magic_correct_rate_by_dark(&mut self, value: i16) {
        self.overwrite_magic_correct_rate_by_dark = value;
    }

    pub fn overwrite_faith_correct_rate_by_dark(&self) -> i16 {
        self.overwrite_faith_correct_rate_by_dark
    }

    pub fn set_overwrite_faith_correct_rate_by_dark(&mut self, value: i16) {
        self.overwrite_faith_correct_rate_by_dark = value;
    }

    pub fn overwrite_luck_correct_rate_by_dark(&self) -> i16 {
        self.overwrite_luck_correct_rate_by_dark
    }

    pub fn set_overwrite_luck_correct_rate_by_dark(&mut self, value: i16) {
        self.overwrite_luck_correct_rate_by_dark = value;
    }

    pub fn influence_strength_correct_rate_by_physics(&self) -> i16 {
        self.influence_strength_correct_rate_by_physics
    }

    pub fn set_influence_strength_correct_rate_by_physics(&mut self, value: i16) {
        self.influence_strength_correct_rate_by_physics = value;
    }

    pub fn influence_dexterity_correct_rate_by_physics(&self) -> i16 {
        self.influence_dexterity_correct_rate_by_physics
    }

    pub fn set_influence_dexterity_correct_rate_by_physics(&mut self, value: i16) {
        self.influence_dexterity_correct_rate_by_physics = value;
    }

    pub fn influence_magic_correct_rate_by_physics(&self) -> i16 {
        self.influence_magic_correct_rate_by_physics
    }

    pub fn set_influence_magic_correct_rate_by_physics(&mut self, value: i16) {
        self.influence_magic_correct_rate_by_physics = value;
    }

    pub fn influence_faith_correct_rate_by_physics(&self) -> i16 {
        self.influence_faith_correct_rate_by_physics
    }

    pub fn set_influence_faith_correct_rate_by_physics(&mut self, value: i16) {
        self.influence_faith_correct_rate_by_physics = value;
    }

    pub fn influence_luck_correct_rate_by_physics(&self) -> i16 {
        self.influence_luck_correct_rate_by_physics
    }

    pub fn set_influence_luck_correct_rate_by_physics(&mut self, value: i16) {
        self.influence_luck_correct_rate_by_physics = value;
    }

    pub fn influence_strength_correct_rate_by_magic(&self) -> i16 {
        self.influence_strength_correct_rate_by_magic
    }

    pub fn set_influence_strength_correct_rate_by_magic(&mut self, value: i16) {
        self.influence_strength_correct_rate_by_magic = value;
    }

    pub fn influence_dexterity_correct_rate_by_magic(&self) -> i16 {
        self.influence_dexterity_correct_rate_by_magic
    }

    pub fn set_influence_dexterity_correct_rate_by_magic(&mut self, value: i16) {
        self.influence_dexterity_correct_rate_by_magic = value;
    }

    pub fn influence_magic_correct_rate_by_magic(&self) -> i16 {
        self.influence_magic_correct_rate_by_magic
    }

    pub fn set_influence_magic_correct_rate_by_magic(&mut self, value: i16) {
        self.influence_magic_correct_rate_by_magic = value;
    }

    pub fn influence_faith_correct_rate_by_magic(&self) -> i16 {
        self.influence_faith_correct_rate_by_magic
    }

    pub fn set_influence_faith_correct_rate_by_magic(&mut self, value: i16) {
        self.influence_faith_correct_rate_by_magic = value;
    }

    pub fn influence_luck_correct_rate_by_magic(&self) -> i16 {
        self.influence_luck_correct_rate_by_magic
    }

    pub fn set_influence_luck_correct_rate_by_magic(&mut self, value: i16) {
        self.influence_luck_correct_rate_by_magic = value;
    }

    pub fn influence_strength_correct_rate_by_fire(&self) -> i16 {
        self.influence_strength_correct_rate_by_fire
    }

    pub fn set_influence_strength_correct_rate_by_fire(&mut self, value: i16) {
        self.influence_strength_correct_rate_by_fire = value;
    }

    pub fn influence_dexterity_correct_rate_by_fire(&self) -> i16 {
        self.influence_dexterity_correct_rate_by_fire
    }

    pub fn set_influence_dexterity_correct_rate_by_fire(&mut self, value: i16) {
        self.influence_dexterity_correct_rate_by_fire = value;
    }

    pub fn influence_magic_correct_rate_by_fire(&self) -> i16 {
        self.influence_magic_correct_rate_by_fire
    }

    pub fn set_influence_magic_correct_rate_by_fire(&mut self, value: i16) {
        self.influence_magic_correct_rate_by_fire = value;
    }

    pub fn influence_faith_correct_rate_by_fire(&self) -> i16 {
        self.influence_faith_correct_rate_by_fire
    }

    pub fn set_influence_faith_correct_rate_by_fire(&mut self, value: i16) {
        self.influence_faith_correct_rate_by_fire = value;
    }

    pub fn influence_luck_correct_rate_by_fire(&self) -> i16 {
        self.influence_luck_correct_rate_by_fire
    }

    pub fn set_influence_luck_correct_rate_by_fire(&mut self, value: i16) {
        self.influence_luck_correct_rate_by_fire = value;
    }

    pub fn influence_strength_correct_rate_by_thunder(&self) -> i16 {
        self.influence_strength_correct_rate_by_thunder
    }

    pub fn set_influence_strength_correct_rate_by_thunder(&mut self, value: i16) {
        self.influence_strength_correct_rate_by_thunder = value;
    }

    pub fn influence_dexterity_correct_rate_by_thunder(&self) -> i16 {
        self.influence_dexterity_correct_rate_by_thunder
    }

    pub fn set_influence_dexterity_correct_rate_by_thunder(&mut self, value: i16) {
        self.influence_dexterity_correct_rate_by_thunder = value;
    }

    pub fn influence_magic_correct_rate_by_thunder(&self) -> i16 {
        self.influence_magic_correct_rate_by_thunder
    }

    pub fn set_influence_magic_correct_rate_by_thunder(&mut self, value: i16) {
        self.influence_magic_correct_rate_by_thunder = value;
    }

    pub fn influence_faith_correct_rate_by_thunder(&self) -> i16 {
        self.influence_faith_correct_rate_by_thunder
    }

    pub fn set_influence_faith_correct_rate_by_thunder(&mut self, value: i16) {
        self.influence_faith_correct_rate_by_thunder = value;
    }

    pub fn influence_luck_correct_rate_by_thunder(&self) -> i16 {
        self.influence_luck_correct_rate_by_thunder
    }

    pub fn set_influence_luck_correct_rate_by_thunder(&mut self, value: i16) {
        self.influence_luck_correct_rate_by_thunder = value;
    }

    pub fn influence_strength_correct_rate_by_dark(&self) -> i16 {
        self.influence_strength_correct_rate_by_dark
    }

    pub fn set_influence_strength_correct_rate_by_dark(&mut self, value: i16) {
        self.influence_strength_correct_rate_by_dark = value;
    }

    pub fn influence_dexterity_correct_rate_by_dark(&self) -> i16 {
        self.influence_dexterity_correct_rate_by_dark
    }

    pub fn set_influence_dexterity_correct_rate_by_dark(&mut self, value: i16) {
        self.influence_dexterity_correct_rate_by_dark = value;
    }

    pub fn influence_magic_correct_rate_by_dark(&self) -> i16 {
        self.influence_magic_correct_rate_by_dark
    }

    pub fn set_influence_magic_correct_rate_by_dark(&mut self, value: i16) {
        self.influence_magic_correct_rate_by_dark = value;
    }

    pub fn influence_faith_correct_rate_by_dark(&self) -> i16 {
        self.influence_faith_correct_rate_by_dark
    }

    pub fn set_influence_faith_correct_rate_by_dark(&mut self, value: i16) {
        self.influence_faith_correct_rate_by_dark = value;
    }

    pub fn influence_luck_correct_rate_by_dark(&self) -> i16 {
        self.influence_luck_correct_rate_by_dark
    }

    pub fn set_influence_luck_correct_rate_by_dark(&mut self, value: i16) {
        self.influence_luck_correct_rate_by_dark = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct BEHAVIOR_PARAM_ST {
    variation_id: i32,
    behavior_judge_id: i32,
    ez_state_behavior_type_old: u8,
    ref_type: u8,
    pad1: [u8; 2],
    ref_id: i32,
    sfx_variation_id: i32,
    stamina: i32,
    consume_durability: i32,
    category: u8,
    hero_point: u8,
    pad2: [u8; 2],
}

impl ParamDef for BEHAVIOR_PARAM_ST {
    const NAME: &str = "BEHAVIOR_PARAM_ST";
    const INDEX: usize = 5;
}

impl BEHAVIOR_PARAM_ST {
    pub fn variation_id(&self) -> i32 {
        self.variation_id
    }

    pub fn set_variation_id(&mut self, value: i32) {
        self.variation_id = value;
    }

    pub fn behavior_judge_id(&self) -> i32 {
        self.behavior_judge_id
    }

    pub fn set_behavior_judge_id(&mut self, value: i32) {
        self.behavior_judge_id = value;
    }

    pub fn ez_state_behavior_type_old(&self) -> u8 {
        self.ez_state_behavior_type_old
    }

    pub fn set_ez_state_behavior_type_old(&mut self, value: u8) {
        self.ez_state_behavior_type_old = value;
    }

    pub fn ref_type(&self) -> u8 {
        self.ref_type
    }

    pub fn set_ref_type(&mut self, value: u8) {
        self.ref_type = value;
    }

    pub fn ref_id(&self) -> i32 {
        self.ref_id
    }

    pub fn set_ref_id(&mut self, value: i32) {
        self.ref_id = value;
    }

    pub fn sfx_variation_id(&self) -> i32 {
        self.sfx_variation_id
    }

    pub fn set_sfx_variation_id(&mut self, value: i32) {
        self.sfx_variation_id = value;
    }

    pub fn stamina(&self) -> i32 {
        self.stamina
    }

    pub fn set_stamina(&mut self, value: i32) {
        self.stamina = value;
    }

    pub fn consume_durability(&self) -> i32 {
        self.consume_durability
    }

    pub fn set_consume_durability(&mut self, value: i32) {
        self.consume_durability = value;
    }

    pub fn category(&self) -> u8 {
        self.category
    }

    pub fn set_category(&mut self, value: u8) {
        self.category = value;
    }

    pub fn hero_point(&self) -> u8 {
        self.hero_point
    }

    pub fn set_hero_point(&mut self, value: u8) {
        self.hero_point = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct BONFIRE_WARP_PARAM_ST {
    eventflag_id: i32,
    bonfire_entity_id: i32,
    bonfire_name_id: i32,
    description_text_id: i32,
    picture_id: i32,
    list_id: u8,
    is_disable_quickwarp: u8,
    ceremony_id: i16,
    online_area_id: i32,
    online_area_id2: i32,
    pad1: [u8; 32],
}

impl ParamDef for BONFIRE_WARP_PARAM_ST {
    const NAME: &str = "BONFIRE_WARP_PARAM_ST";
    const INDEX: usize = 7;
}

impl BONFIRE_WARP_PARAM_ST {
    pub fn eventflag_id(&self) -> i32 {
        self.eventflag_id
    }

    pub fn set_eventflag_id(&mut self, value: i32) {
        self.eventflag_id = value;
    }

    pub fn bonfire_entity_id(&self) -> i32 {
        self.bonfire_entity_id
    }

    pub fn set_bonfire_entity_id(&mut self, value: i32) {
        self.bonfire_entity_id = value;
    }

    pub fn bonfire_name_id(&self) -> i32 {
        self.bonfire_name_id
    }

    pub fn set_bonfire_name_id(&mut self, value: i32) {
        self.bonfire_name_id = value;
    }

    pub fn description_text_id(&self) -> i32 {
        self.description_text_id
    }

    pub fn set_description_text_id(&mut self, value: i32) {
        self.description_text_id = value;
    }

    pub fn picture_id(&self) -> i32 {
        self.picture_id
    }

    pub fn set_picture_id(&mut self, value: i32) {
        self.picture_id = value;
    }

    pub fn list_id(&self) -> u8 {
        self.list_id
    }

    pub fn set_list_id(&mut self, value: u8) {
        self.list_id = value;
    }

    pub fn is_disable_quickwarp(&self) -> u8 {
        self.is_disable_quickwarp
    }

    pub fn set_is_disable_quickwarp(&mut self, value: u8) {
        self.is_disable_quickwarp = value;
    }

    pub fn ceremony_id(&self) -> i16 {
        self.ceremony_id
    }

    pub fn set_ceremony_id(&mut self, value: i16) {
        self.ceremony_id = value;
    }

    pub fn online_area_id(&self) -> i32 {
        self.online_area_id
    }

    pub fn set_online_area_id(&mut self, value: i32) {
        self.online_area_id = value;
    }

    pub fn online_area_id2(&self) -> i32 {
        self.online_area_id2
    }

    pub fn set_online_area_id2(&mut self, value: i32) {
        self.online_area_id2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct BUDGET_PARAM_ST {
    vram_all: f32,
    vram_mapobj_tex: f32,
    vram_mapobj_mdl: f32,
    vram_map: f32,
    vram_chr: f32,
    vram_parts: f32,
    vram_sfx: f32,
    vram_chr_tex: f32,
    vram_chr_mdl: f32,
    vram_parts_tex: f32,
    vram_parts_mdl: f32,
    vram_sfx_tex: f32,
    vram_sfx_mdl: f32,
    vram_gi: f32,
    vram_menu_tex: f32,
    vram_decal_rt: f32,
    vram_decal: f32,
    vram_other_tex: f32,
    vram_other_mdl: f32,
    havok_anim: f32,
    havok_ins: f32,
    havok_hit: f32,
    vram_other: f32,
    vram_chr_and_parts: f32,
    vram_detail_all: f32,
    havok_navimesh: f32,
    pad1: [u8; 28],
}

impl ParamDef for BUDGET_PARAM_ST {
    const NAME: &str = "BUDGET_PARAM_ST";
    const INDEX: usize = 8;
}

impl BUDGET_PARAM_ST {
    pub fn vram_all(&self) -> f32 {
        self.vram_all
    }

    pub fn set_vram_all(&mut self, value: f32) {
        self.vram_all = value;
    }

    pub fn vram_mapobj_tex(&self) -> f32 {
        self.vram_mapobj_tex
    }

    pub fn set_vram_mapobj_tex(&mut self, value: f32) {
        self.vram_mapobj_tex = value;
    }

    pub fn vram_mapobj_mdl(&self) -> f32 {
        self.vram_mapobj_mdl
    }

    pub fn set_vram_mapobj_mdl(&mut self, value: f32) {
        self.vram_mapobj_mdl = value;
    }

    pub fn vram_map(&self) -> f32 {
        self.vram_map
    }

    pub fn set_vram_map(&mut self, value: f32) {
        self.vram_map = value;
    }

    pub fn vram_chr(&self) -> f32 {
        self.vram_chr
    }

    pub fn set_vram_chr(&mut self, value: f32) {
        self.vram_chr = value;
    }

    pub fn vram_parts(&self) -> f32 {
        self.vram_parts
    }

    pub fn set_vram_parts(&mut self, value: f32) {
        self.vram_parts = value;
    }

    pub fn vram_sfx(&self) -> f32 {
        self.vram_sfx
    }

    pub fn set_vram_sfx(&mut self, value: f32) {
        self.vram_sfx = value;
    }

    pub fn vram_chr_tex(&self) -> f32 {
        self.vram_chr_tex
    }

    pub fn set_vram_chr_tex(&mut self, value: f32) {
        self.vram_chr_tex = value;
    }

    pub fn vram_chr_mdl(&self) -> f32 {
        self.vram_chr_mdl
    }

    pub fn set_vram_chr_mdl(&mut self, value: f32) {
        self.vram_chr_mdl = value;
    }

    pub fn vram_parts_tex(&self) -> f32 {
        self.vram_parts_tex
    }

    pub fn set_vram_parts_tex(&mut self, value: f32) {
        self.vram_parts_tex = value;
    }

    pub fn vram_parts_mdl(&self) -> f32 {
        self.vram_parts_mdl
    }

    pub fn set_vram_parts_mdl(&mut self, value: f32) {
        self.vram_parts_mdl = value;
    }

    pub fn vram_sfx_tex(&self) -> f32 {
        self.vram_sfx_tex
    }

    pub fn set_vram_sfx_tex(&mut self, value: f32) {
        self.vram_sfx_tex = value;
    }

    pub fn vram_sfx_mdl(&self) -> f32 {
        self.vram_sfx_mdl
    }

    pub fn set_vram_sfx_mdl(&mut self, value: f32) {
        self.vram_sfx_mdl = value;
    }

    pub fn vram_gi(&self) -> f32 {
        self.vram_gi
    }

    pub fn set_vram_gi(&mut self, value: f32) {
        self.vram_gi = value;
    }

    pub fn vram_menu_tex(&self) -> f32 {
        self.vram_menu_tex
    }

    pub fn set_vram_menu_tex(&mut self, value: f32) {
        self.vram_menu_tex = value;
    }

    pub fn vram_decal_rt(&self) -> f32 {
        self.vram_decal_rt
    }

    pub fn set_vram_decal_rt(&mut self, value: f32) {
        self.vram_decal_rt = value;
    }

    pub fn vram_decal(&self) -> f32 {
        self.vram_decal
    }

    pub fn set_vram_decal(&mut self, value: f32) {
        self.vram_decal = value;
    }

    pub fn vram_other_tex(&self) -> f32 {
        self.vram_other_tex
    }

    pub fn set_vram_other_tex(&mut self, value: f32) {
        self.vram_other_tex = value;
    }

    pub fn vram_other_mdl(&self) -> f32 {
        self.vram_other_mdl
    }

    pub fn set_vram_other_mdl(&mut self, value: f32) {
        self.vram_other_mdl = value;
    }

    pub fn havok_anim(&self) -> f32 {
        self.havok_anim
    }

    pub fn set_havok_anim(&mut self, value: f32) {
        self.havok_anim = value;
    }

    pub fn havok_ins(&self) -> f32 {
        self.havok_ins
    }

    pub fn set_havok_ins(&mut self, value: f32) {
        self.havok_ins = value;
    }

    pub fn havok_hit(&self) -> f32 {
        self.havok_hit
    }

    pub fn set_havok_hit(&mut self, value: f32) {
        self.havok_hit = value;
    }

    pub fn vram_other(&self) -> f32 {
        self.vram_other
    }

    pub fn set_vram_other(&mut self, value: f32) {
        self.vram_other = value;
    }

    pub fn vram_chr_and_parts(&self) -> f32 {
        self.vram_chr_and_parts
    }

    pub fn set_vram_chr_and_parts(&mut self, value: f32) {
        self.vram_chr_and_parts = value;
    }

    pub fn vram_detail_all(&self) -> f32 {
        self.vram_detail_all
    }

    pub fn set_vram_detail_all(&mut self, value: f32) {
        self.vram_detail_all = value;
    }

    pub fn havok_navimesh(&self) -> f32 {
        self.havok_navimesh
    }

    pub fn set_havok_navimesh(&mut self, value: f32) {
        self.havok_navimesh = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct BULLET_CREATE_LIMIT_PARAM_ST {
    max_ammount: u8,
    pad1: [u8; 31],
}

impl ParamDef for BULLET_CREATE_LIMIT_PARAM_ST {
    const NAME: &str = "BULLET_CREATE_LIMIT_PARAM_ST";
    const INDEX: usize = 10;
}

impl BULLET_CREATE_LIMIT_PARAM_ST {
    pub fn max_ammount(&self) -> u8 {
        self.max_ammount
    }

    pub fn set_max_ammount(&mut self, value: u8) {
        self.max_ammount = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct BULLET_PARAM_ST {
    atk_bullet_id: i32,
    sfx_id_bullet: i32,
    sfx_id_hit: i32,
    sfx_id_flick: i32,
    life: f32,
    dist: f32,
    shoot_interval: f32,
    gravity_in_range: f32,
    gravity_out_range: f32,
    homing_stop_range: f32,
    init_vellocity: f32,
    accel_in_range: f32,
    accel_out_range: f32,
    max_vellocity: f32,
    min_vellocity: f32,
    accel_time: f32,
    homing_begin_dist: f32,
    hit_radius: f32,
    hit_radius_max: f32,
    spread_time: f32,
    exp_delay: f32,
    homing_offset_range: f32,
    dmg_hit_record_life_time: f32,
    external_force: f32,
    sp_effect_id_for_shooter: i32,
    auto_search_npc_think_id: i32,
    hit_bullet_id: i32,
    sp_effect_id0: i32,
    sp_effect_id1: i32,
    sp_effect_id2: i32,
    sp_effect_id3: i32,
    sp_effect_id4: i32,
    num_shoot: i16,
    homing_angle: i16,
    shoot_angle: i16,
    shoot_angle_interval: i16,
    shoot_angle_x_interval: i16,
    damage_damp: u8,
    magic_damage_damp: u8,
    fire_damage_damp: u8,
    thunder_damage_damp: u8,
    stamina_damp: u8,
    knockback_damp: u8,
    shoot_angle_xz: u8,
    lock_shoot_limit_ang: u8,
    is_penetrate: u8,
    prev_vellocity_dir_rate: u8,
    atk_attribute: u8,
    sp_attribute: u8,
    material_attack_type: u8,
    material_attack_material: u8,
    material_size: u8,
    launch_condition_type: u8,
    bits_9a: u8,
    bits_9b: u8,
    bits_9c: u8,
    dark_damage_damp: u8,
    bullet_sfx_delete_type_by_hit: u8,
    bullet_sfx_delete_type_by_life_dead: u8,
    target_y_offset_range: f32,
    shoot_angle_y_max_random: f32,
    shoot_angle_x_max_random: f32,
    interval_create_bullet_id: i32,
    interval_create_time_min: f32,
    interval_create_time_max: f32,
    prediction_shoot_observe_time: f32,
    interval_create_wait_time: f32,
    launch_type: u8,
    create_limit_group_id: u8,
    counter_hit_type: u8,
    bits_c3: u8,
    random_create_radius: f32,
    asset_no_hit: i32,
    life_random_range: f32,
    homing_angle_x: i16,
    pad1: [u8; 2],
    lock_shoot_correction_ang: f32,
    pad2: [u8; 40],
}

impl ParamDef for BULLET_PARAM_ST {
    const NAME: &str = "BULLET_PARAM_ST";
    const INDEX: usize = 9;
}

impl BULLET_PARAM_ST {
    pub fn atk_bullet_id(&self) -> i32 {
        self.atk_bullet_id
    }

    pub fn set_atk_bullet_id(&mut self, value: i32) {
        self.atk_bullet_id = value;
    }

    pub fn sfx_id_bullet(&self) -> i32 {
        self.sfx_id_bullet
    }

    pub fn set_sfx_id_bullet(&mut self, value: i32) {
        self.sfx_id_bullet = value;
    }

    pub fn sfx_id_hit(&self) -> i32 {
        self.sfx_id_hit
    }

    pub fn set_sfx_id_hit(&mut self, value: i32) {
        self.sfx_id_hit = value;
    }

    pub fn sfx_id_flick(&self) -> i32 {
        self.sfx_id_flick
    }

    pub fn set_sfx_id_flick(&mut self, value: i32) {
        self.sfx_id_flick = value;
    }

    pub fn life(&self) -> f32 {
        self.life
    }

    pub fn set_life(&mut self, value: f32) {
        self.life = value;
    }

    pub fn dist(&self) -> f32 {
        self.dist
    }

    pub fn set_dist(&mut self, value: f32) {
        self.dist = value;
    }

    pub fn shoot_interval(&self) -> f32 {
        self.shoot_interval
    }

    pub fn set_shoot_interval(&mut self, value: f32) {
        self.shoot_interval = value;
    }

    pub fn gravity_in_range(&self) -> f32 {
        self.gravity_in_range
    }

    pub fn set_gravity_in_range(&mut self, value: f32) {
        self.gravity_in_range = value;
    }

    pub fn gravity_out_range(&self) -> f32 {
        self.gravity_out_range
    }

    pub fn set_gravity_out_range(&mut self, value: f32) {
        self.gravity_out_range = value;
    }

    pub fn homing_stop_range(&self) -> f32 {
        self.homing_stop_range
    }

    pub fn set_homing_stop_range(&mut self, value: f32) {
        self.homing_stop_range = value;
    }

    pub fn init_vellocity(&self) -> f32 {
        self.init_vellocity
    }

    pub fn set_init_vellocity(&mut self, value: f32) {
        self.init_vellocity = value;
    }

    pub fn accel_in_range(&self) -> f32 {
        self.accel_in_range
    }

    pub fn set_accel_in_range(&mut self, value: f32) {
        self.accel_in_range = value;
    }

    pub fn accel_out_range(&self) -> f32 {
        self.accel_out_range
    }

    pub fn set_accel_out_range(&mut self, value: f32) {
        self.accel_out_range = value;
    }

    pub fn max_vellocity(&self) -> f32 {
        self.max_vellocity
    }

    pub fn set_max_vellocity(&mut self, value: f32) {
        self.max_vellocity = value;
    }

    pub fn min_vellocity(&self) -> f32 {
        self.min_vellocity
    }

    pub fn set_min_vellocity(&mut self, value: f32) {
        self.min_vellocity = value;
    }

    pub fn accel_time(&self) -> f32 {
        self.accel_time
    }

    pub fn set_accel_time(&mut self, value: f32) {
        self.accel_time = value;
    }

    pub fn homing_begin_dist(&self) -> f32 {
        self.homing_begin_dist
    }

    pub fn set_homing_begin_dist(&mut self, value: f32) {
        self.homing_begin_dist = value;
    }

    pub fn hit_radius(&self) -> f32 {
        self.hit_radius
    }

    pub fn set_hit_radius(&mut self, value: f32) {
        self.hit_radius = value;
    }

    pub fn hit_radius_max(&self) -> f32 {
        self.hit_radius_max
    }

    pub fn set_hit_radius_max(&mut self, value: f32) {
        self.hit_radius_max = value;
    }

    pub fn spread_time(&self) -> f32 {
        self.spread_time
    }

    pub fn set_spread_time(&mut self, value: f32) {
        self.spread_time = value;
    }

    pub fn exp_delay(&self) -> f32 {
        self.exp_delay
    }

    pub fn set_exp_delay(&mut self, value: f32) {
        self.exp_delay = value;
    }

    pub fn homing_offset_range(&self) -> f32 {
        self.homing_offset_range
    }

    pub fn set_homing_offset_range(&mut self, value: f32) {
        self.homing_offset_range = value;
    }

    pub fn dmg_hit_record_life_time(&self) -> f32 {
        self.dmg_hit_record_life_time
    }

    pub fn set_dmg_hit_record_life_time(&mut self, value: f32) {
        self.dmg_hit_record_life_time = value;
    }

    pub fn external_force(&self) -> f32 {
        self.external_force
    }

    pub fn set_external_force(&mut self, value: f32) {
        self.external_force = value;
    }

    pub fn sp_effect_id_for_shooter(&self) -> i32 {
        self.sp_effect_id_for_shooter
    }

    pub fn set_sp_effect_id_for_shooter(&mut self, value: i32) {
        self.sp_effect_id_for_shooter = value;
    }

    pub fn auto_search_npc_think_id(&self) -> i32 {
        self.auto_search_npc_think_id
    }

    pub fn set_auto_search_npc_think_id(&mut self, value: i32) {
        self.auto_search_npc_think_id = value;
    }

    pub fn hit_bullet_id(&self) -> i32 {
        self.hit_bullet_id
    }

    pub fn set_hit_bullet_id(&mut self, value: i32) {
        self.hit_bullet_id = value;
    }

    pub fn sp_effect_id0(&self) -> i32 {
        self.sp_effect_id0
    }

    pub fn set_sp_effect_id0(&mut self, value: i32) {
        self.sp_effect_id0 = value;
    }

    pub fn sp_effect_id1(&self) -> i32 {
        self.sp_effect_id1
    }

    pub fn set_sp_effect_id1(&mut self, value: i32) {
        self.sp_effect_id1 = value;
    }

    pub fn sp_effect_id2(&self) -> i32 {
        self.sp_effect_id2
    }

    pub fn set_sp_effect_id2(&mut self, value: i32) {
        self.sp_effect_id2 = value;
    }

    pub fn sp_effect_id3(&self) -> i32 {
        self.sp_effect_id3
    }

    pub fn set_sp_effect_id3(&mut self, value: i32) {
        self.sp_effect_id3 = value;
    }

    pub fn sp_effect_id4(&self) -> i32 {
        self.sp_effect_id4
    }

    pub fn set_sp_effect_id4(&mut self, value: i32) {
        self.sp_effect_id4 = value;
    }

    pub fn num_shoot(&self) -> i16 {
        self.num_shoot
    }

    pub fn set_num_shoot(&mut self, value: i16) {
        self.num_shoot = value;
    }

    pub fn homing_angle(&self) -> i16 {
        self.homing_angle
    }

    pub fn set_homing_angle(&mut self, value: i16) {
        self.homing_angle = value;
    }

    pub fn shoot_angle(&self) -> i16 {
        self.shoot_angle
    }

    pub fn set_shoot_angle(&mut self, value: i16) {
        self.shoot_angle = value;
    }

    pub fn shoot_angle_interval(&self) -> i16 {
        self.shoot_angle_interval
    }

    pub fn set_shoot_angle_interval(&mut self, value: i16) {
        self.shoot_angle_interval = value;
    }

    pub fn shoot_angle_x_interval(&self) -> i16 {
        self.shoot_angle_x_interval
    }

    pub fn set_shoot_angle_x_interval(&mut self, value: i16) {
        self.shoot_angle_x_interval = value;
    }

    pub fn damage_damp(&self) -> u8 {
        self.damage_damp
    }

    pub fn set_damage_damp(&mut self, value: u8) {
        self.damage_damp = value;
    }

    pub fn magic_damage_damp(&self) -> u8 {
        self.magic_damage_damp
    }

    pub fn set_magic_damage_damp(&mut self, value: u8) {
        self.magic_damage_damp = value;
    }

    pub fn fire_damage_damp(&self) -> u8 {
        self.fire_damage_damp
    }

    pub fn set_fire_damage_damp(&mut self, value: u8) {
        self.fire_damage_damp = value;
    }

    pub fn thunder_damage_damp(&self) -> u8 {
        self.thunder_damage_damp
    }

    pub fn set_thunder_damage_damp(&mut self, value: u8) {
        self.thunder_damage_damp = value;
    }

    pub fn stamina_damp(&self) -> u8 {
        self.stamina_damp
    }

    pub fn set_stamina_damp(&mut self, value: u8) {
        self.stamina_damp = value;
    }

    pub fn knockback_damp(&self) -> u8 {
        self.knockback_damp
    }

    pub fn set_knockback_damp(&mut self, value: u8) {
        self.knockback_damp = value;
    }

    pub fn shoot_angle_xz(&self) -> u8 {
        self.shoot_angle_xz
    }

    pub fn set_shoot_angle_xz(&mut self, value: u8) {
        self.shoot_angle_xz = value;
    }

    pub fn lock_shoot_limit_ang(&self) -> u8 {
        self.lock_shoot_limit_ang
    }

    pub fn set_lock_shoot_limit_ang(&mut self, value: u8) {
        self.lock_shoot_limit_ang = value;
    }

    pub fn is_penetrate(&self) -> u8 {
        self.is_penetrate
    }

    pub fn set_is_penetrate(&mut self, value: u8) {
        self.is_penetrate = value;
    }

    pub fn prev_vellocity_dir_rate(&self) -> u8 {
        self.prev_vellocity_dir_rate
    }

    pub fn set_prev_vellocity_dir_rate(&mut self, value: u8) {
        self.prev_vellocity_dir_rate = value;
    }

    pub fn atk_attribute(&self) -> u8 {
        self.atk_attribute
    }

    pub fn set_atk_attribute(&mut self, value: u8) {
        self.atk_attribute = value;
    }

    pub fn sp_attribute(&self) -> u8 {
        self.sp_attribute
    }

    pub fn set_sp_attribute(&mut self, value: u8) {
        self.sp_attribute = value;
    }

    pub fn material_attack_type(&self) -> u8 {
        self.material_attack_type
    }

    pub fn set_material_attack_type(&mut self, value: u8) {
        self.material_attack_type = value;
    }

    pub fn material_attack_material(&self) -> u8 {
        self.material_attack_material
    }

    pub fn set_material_attack_material(&mut self, value: u8) {
        self.material_attack_material = value;
    }

    pub fn material_size(&self) -> u8 {
        self.material_size
    }

    pub fn set_material_size(&mut self, value: u8) {
        self.material_size = value;
    }

    pub fn launch_condition_type(&self) -> u8 {
        self.launch_condition_type
    }

    pub fn set_launch_condition_type(&mut self, value: u8) {
        self.launch_condition_type = value;
    }

    #[allow(clippy::identity_op)]
    pub fn follow_type(&self) -> u8 {
        (self.bits_9a >> 0) & 0b00000111
    }

    #[allow(clippy::identity_op)]
    pub fn set_follow_type(&mut self, value: u8) {
        self.bits_9a = (self.bits_9a & !(0b00000111 << 0)) | ((value & 0b00000111) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn emitte_pos_type(&self) -> u8 {
        (self.bits_9a >> 1) & 0b00000111
    }

    #[allow(clippy::identity_op)]
    pub fn set_emitte_pos_type(&mut self, value: u8) {
        self.bits_9a = (self.bits_9a & !(0b00000111 << 1)) | ((value & 0b00000111) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_attack_sfx(&self) -> u8 {
        (self.bits_9a >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_attack_sfx(&mut self, value: u8) {
        self.bits_9a = (self.bits_9a & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_endless_hit(&self) -> u8 {
        (self.bits_9a >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_endless_hit(&mut self, value: u8) {
        self.bits_9a = (self.bits_9a & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_penetrate_map(&self) -> u8 {
        (self.bits_9b >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_penetrate_map(&mut self, value: u8) {
        self.bits_9b = (self.bits_9b & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hit_both_team(&self) -> u8 {
        (self.bits_9b >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hit_both_team(&mut self, value: u8) {
        self.bits_9b = (self.bits_9b & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_shard_hit_list(&self) -> u8 {
        (self.bits_9b >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_shard_hit_list(&mut self, value: u8) {
        self.bits_9b = (self.bits_9b & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_multi_dmy_poly_if_place(&self) -> u8 {
        (self.bits_9b >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_multi_dmy_poly_if_place(&mut self, value: u8) {
        self.bits_9b = (self.bits_9b & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn attach_effect_type0(&self) -> u8 {
        (self.bits_9b >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_attach_effect_type0(&mut self, value: u8) {
        self.bits_9b = (self.bits_9b & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn attach_effect_type1(&self) -> u8 {
        (self.bits_9b >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_attach_effect_type1(&mut self, value: u8) {
        self.bits_9b = (self.bits_9b & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hit_force_magic(&self) -> u8 {
        (self.bits_9b >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hit_force_magic(&mut self, value: u8) {
        self.bits_9b = (self.bits_9b & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_ignore_sfx_if_hit_water(&self) -> u8 {
        (self.bits_9b >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ignore_sfx_if_hit_water(&mut self, value: u8) {
        self.bits_9b = (self.bits_9b & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_ignore_move_state_if_hit_water(&self) -> u8 {
        (self.bits_9c >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ignore_move_state_if_hit_water(&mut self, value: u8) {
        self.bits_9c = (self.bits_9c & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hit_dark_force_magic(&self) -> u8 {
        (self.bits_9c >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hit_dark_force_magic(&mut self, value: u8) {
        self.bits_9c = (self.bits_9c & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_inherit_effect_to_child(&self) -> u8 {
        (self.bits_9c >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_inherit_effect_to_child(&mut self, value: u8) {
        self.bits_9c = (self.bits_9c & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_inherit_speed_to_child1(&self) -> u8 {
        (self.bits_9c >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_inherit_speed_to_child1(&mut self, value: u8) {
        self.bits_9c = (self.bits_9c & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_auto_homing(&self) -> u8 {
        (self.bits_9c >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_auto_homing(&mut self, value: u8) {
        self.bits_9c = (self.bits_9c & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_sync_bullet_culc_dumypoly_pos(&self) -> u8 {
        (self.bits_9c >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_sync_bullet_culc_dumypoly_pos(&mut self, value: u8) {
        self.bits_9c = (self.bits_9c & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_owner_override_init_angle(&self) -> u8 {
        (self.bits_9c >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_owner_override_init_angle(&mut self, value: u8) {
        self.bits_9c = (self.bits_9c & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_inherit_sfx_to_child(&self) -> u8 {
        (self.bits_9c >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_inherit_sfx_to_child(&mut self, value: u8) {
        self.bits_9c = (self.bits_9c & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn dark_damage_damp(&self) -> u8 {
        self.dark_damage_damp
    }

    pub fn set_dark_damage_damp(&mut self, value: u8) {
        self.dark_damage_damp = value;
    }

    pub fn bullet_sfx_delete_type_by_hit(&self) -> u8 {
        self.bullet_sfx_delete_type_by_hit
    }

    pub fn set_bullet_sfx_delete_type_by_hit(&mut self, value: u8) {
        self.bullet_sfx_delete_type_by_hit = value;
    }

    pub fn bullet_sfx_delete_type_by_life_dead(&self) -> u8 {
        self.bullet_sfx_delete_type_by_life_dead
    }

    pub fn set_bullet_sfx_delete_type_by_life_dead(&mut self, value: u8) {
        self.bullet_sfx_delete_type_by_life_dead = value;
    }

    pub fn target_y_offset_range(&self) -> f32 {
        self.target_y_offset_range
    }

    pub fn set_target_y_offset_range(&mut self, value: f32) {
        self.target_y_offset_range = value;
    }

    pub fn shoot_angle_y_max_random(&self) -> f32 {
        self.shoot_angle_y_max_random
    }

    pub fn set_shoot_angle_y_max_random(&mut self, value: f32) {
        self.shoot_angle_y_max_random = value;
    }

    pub fn shoot_angle_x_max_random(&self) -> f32 {
        self.shoot_angle_x_max_random
    }

    pub fn set_shoot_angle_x_max_random(&mut self, value: f32) {
        self.shoot_angle_x_max_random = value;
    }

    pub fn interval_create_bullet_id(&self) -> i32 {
        self.interval_create_bullet_id
    }

    pub fn set_interval_create_bullet_id(&mut self, value: i32) {
        self.interval_create_bullet_id = value;
    }

    pub fn interval_create_time_min(&self) -> f32 {
        self.interval_create_time_min
    }

    pub fn set_interval_create_time_min(&mut self, value: f32) {
        self.interval_create_time_min = value;
    }

    pub fn interval_create_time_max(&self) -> f32 {
        self.interval_create_time_max
    }

    pub fn set_interval_create_time_max(&mut self, value: f32) {
        self.interval_create_time_max = value;
    }

    pub fn prediction_shoot_observe_time(&self) -> f32 {
        self.prediction_shoot_observe_time
    }

    pub fn set_prediction_shoot_observe_time(&mut self, value: f32) {
        self.prediction_shoot_observe_time = value;
    }

    pub fn interval_create_wait_time(&self) -> f32 {
        self.interval_create_wait_time
    }

    pub fn set_interval_create_wait_time(&mut self, value: f32) {
        self.interval_create_wait_time = value;
    }

    pub fn launch_type(&self) -> u8 {
        self.launch_type
    }

    pub fn set_launch_type(&mut self, value: u8) {
        self.launch_type = value;
    }

    pub fn create_limit_group_id(&self) -> u8 {
        self.create_limit_group_id
    }

    pub fn set_create_limit_group_id(&mut self, value: u8) {
        self.create_limit_group_id = value;
    }

    pub fn counter_hit_type(&self) -> u8 {
        self.counter_hit_type
    }

    pub fn set_counter_hit_type(&mut self, value: u8) {
        self.counter_hit_type = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_inherit_speed_to_child2(&self) -> u8 {
        (self.bits_c3 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_inherit_speed_to_child2(&mut self, value: u8) {
        self.bits_c3 = (self.bits_c3 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_hit_sfx_by_chr_and_obj(&self) -> u8 {
        (self.bits_c3 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_hit_sfx_by_chr_and_obj(&mut self, value: u8) {
        self.bits_c3 = (self.bits_c3 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_check_wall_by_center_ray(&self) -> u8 {
        (self.bits_c3 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_check_wall_by_center_ray(&mut self, value: u8) {
        self.bits_c3 = (self.bits_c3 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hit_flare(&self) -> u8 {
        (self.bits_c3 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hit_flare(&mut self, value: u8) {
        self.bits_c3 = (self.bits_c3 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_bullet_wall_filter(&self) -> u8 {
        (self.bits_c3 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_bullet_wall_filter(&mut self, value: u8) {
        self.bits_c3 = (self.bits_c3 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_sp_correction2(&self) -> u8 {
        (self.bits_c3 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_sp_correction2(&mut self, value: u8) {
        self.bits_c3 = (self.bits_c3 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_non_dependence_magic_for_funnle_num(&self) -> u8 {
        (self.bits_c3 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_non_dependence_magic_for_funnle_num(&mut self, value: u8) {
        self.bits_c3 = (self.bits_c3 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_ai_interrupt_shoot_no_damage_bullet(&self) -> u8 {
        (self.bits_c3 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ai_interrupt_shoot_no_damage_bullet(&mut self, value: u8) {
        self.bits_c3 = (self.bits_c3 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn random_create_radius(&self) -> f32 {
        self.random_create_radius
    }

    pub fn set_random_create_radius(&mut self, value: f32) {
        self.random_create_radius = value;
    }

    pub fn asset_no_hit(&self) -> i32 {
        self.asset_no_hit
    }

    pub fn set_asset_no_hit(&mut self, value: i32) {
        self.asset_no_hit = value;
    }

    pub fn life_random_range(&self) -> f32 {
        self.life_random_range
    }

    pub fn set_life_random_range(&mut self, value: f32) {
        self.life_random_range = value;
    }

    pub fn homing_angle_x(&self) -> i16 {
        self.homing_angle_x
    }

    pub fn set_homing_angle_x(&mut self, value: i16) {
        self.homing_angle_x = value;
    }

    pub fn lock_shoot_correction_ang(&self) -> f32 {
        self.lock_shoot_correction_ang
    }

    pub fn set_lock_shoot_correction_ang(&mut self, value: f32) {
        self.lock_shoot_correction_ang = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CACL_CORRECT_GRAPH_ST {
    stage_max_val0: f32,
    stage_max_val1: f32,
    stage_max_val2: f32,
    stage_max_val3: f32,
    stage_max_val4: f32,
    stage_max_grow_val0: f32,
    stage_max_grow_val1: f32,
    stage_max_grow_val2: f32,
    stage_max_grow_val3: f32,
    stage_max_grow_val4: f32,
    adj_pt_max_grow_val0: f32,
    adj_pt_max_grow_val1: f32,
    adj_pt_max_grow_val2: f32,
    adj_pt_max_grow_val3: f32,
    adj_pt_max_grow_val4: f32,
    init_inclination_soul: f32,
    adjustment_value: f32,
    boundry_inclination_soul: f32,
    boundry_value: f32,
    pad1: [u8; 4],
}

impl ParamDef for CACL_CORRECT_GRAPH_ST {
    const NAME: &str = "CACL_CORRECT_GRAPH_ST";
    const INDEX: usize = 11;
}

impl CACL_CORRECT_GRAPH_ST {
    pub fn stage_max_val0(&self) -> f32 {
        self.stage_max_val0
    }

    pub fn set_stage_max_val0(&mut self, value: f32) {
        self.stage_max_val0 = value;
    }

    pub fn stage_max_val1(&self) -> f32 {
        self.stage_max_val1
    }

    pub fn set_stage_max_val1(&mut self, value: f32) {
        self.stage_max_val1 = value;
    }

    pub fn stage_max_val2(&self) -> f32 {
        self.stage_max_val2
    }

    pub fn set_stage_max_val2(&mut self, value: f32) {
        self.stage_max_val2 = value;
    }

    pub fn stage_max_val3(&self) -> f32 {
        self.stage_max_val3
    }

    pub fn set_stage_max_val3(&mut self, value: f32) {
        self.stage_max_val3 = value;
    }

    pub fn stage_max_val4(&self) -> f32 {
        self.stage_max_val4
    }

    pub fn set_stage_max_val4(&mut self, value: f32) {
        self.stage_max_val4 = value;
    }

    pub fn stage_max_grow_val0(&self) -> f32 {
        self.stage_max_grow_val0
    }

    pub fn set_stage_max_grow_val0(&mut self, value: f32) {
        self.stage_max_grow_val0 = value;
    }

    pub fn stage_max_grow_val1(&self) -> f32 {
        self.stage_max_grow_val1
    }

    pub fn set_stage_max_grow_val1(&mut self, value: f32) {
        self.stage_max_grow_val1 = value;
    }

    pub fn stage_max_grow_val2(&self) -> f32 {
        self.stage_max_grow_val2
    }

    pub fn set_stage_max_grow_val2(&mut self, value: f32) {
        self.stage_max_grow_val2 = value;
    }

    pub fn stage_max_grow_val3(&self) -> f32 {
        self.stage_max_grow_val3
    }

    pub fn set_stage_max_grow_val3(&mut self, value: f32) {
        self.stage_max_grow_val3 = value;
    }

    pub fn stage_max_grow_val4(&self) -> f32 {
        self.stage_max_grow_val4
    }

    pub fn set_stage_max_grow_val4(&mut self, value: f32) {
        self.stage_max_grow_val4 = value;
    }

    pub fn adj_pt_max_grow_val0(&self) -> f32 {
        self.adj_pt_max_grow_val0
    }

    pub fn set_adj_pt_max_grow_val0(&mut self, value: f32) {
        self.adj_pt_max_grow_val0 = value;
    }

    pub fn adj_pt_max_grow_val1(&self) -> f32 {
        self.adj_pt_max_grow_val1
    }

    pub fn set_adj_pt_max_grow_val1(&mut self, value: f32) {
        self.adj_pt_max_grow_val1 = value;
    }

    pub fn adj_pt_max_grow_val2(&self) -> f32 {
        self.adj_pt_max_grow_val2
    }

    pub fn set_adj_pt_max_grow_val2(&mut self, value: f32) {
        self.adj_pt_max_grow_val2 = value;
    }

    pub fn adj_pt_max_grow_val3(&self) -> f32 {
        self.adj_pt_max_grow_val3
    }

    pub fn set_adj_pt_max_grow_val3(&mut self, value: f32) {
        self.adj_pt_max_grow_val3 = value;
    }

    pub fn adj_pt_max_grow_val4(&self) -> f32 {
        self.adj_pt_max_grow_val4
    }

    pub fn set_adj_pt_max_grow_val4(&mut self, value: f32) {
        self.adj_pt_max_grow_val4 = value;
    }

    pub fn init_inclination_soul(&self) -> f32 {
        self.init_inclination_soul
    }

    pub fn set_init_inclination_soul(&mut self, value: f32) {
        self.init_inclination_soul = value;
    }

    pub fn adjustment_value(&self) -> f32 {
        self.adjustment_value
    }

    pub fn set_adjustment_value(&mut self, value: f32) {
        self.adjustment_value = value;
    }

    pub fn boundry_inclination_soul(&self) -> f32 {
        self.boundry_inclination_soul
    }

    pub fn set_boundry_inclination_soul(&mut self, value: f32) {
        self.boundry_inclination_soul = value;
    }

    pub fn boundry_value(&self) -> f32 {
        self.boundry_value
    }

    pub fn set_boundry_value(&mut self, value: f32) {
        self.boundry_value = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CEREMONY_PARAM_ST {
    event_layer_id: i32,
    map_studio_layer_id: i32,
    gparam_id_up: i16,
    gparam_id_low: i16,
    point_cloud_id: i32,
    gi_texture_id: i32,
    light_group_id: i32,
    is_reload: u8,
    is_disable_online: u8,
    pad1: [u8; 10],
}

impl ParamDef for CEREMONY_PARAM_ST {
    const NAME: &str = "CEREMONY_PARAM_ST";
    const INDEX: usize = 12;
}

impl CEREMONY_PARAM_ST {
    pub fn event_layer_id(&self) -> i32 {
        self.event_layer_id
    }

    pub fn set_event_layer_id(&mut self, value: i32) {
        self.event_layer_id = value;
    }

    pub fn map_studio_layer_id(&self) -> i32 {
        self.map_studio_layer_id
    }

    pub fn set_map_studio_layer_id(&mut self, value: i32) {
        self.map_studio_layer_id = value;
    }

    pub fn gparam_id_up(&self) -> i16 {
        self.gparam_id_up
    }

    pub fn set_gparam_id_up(&mut self, value: i16) {
        self.gparam_id_up = value;
    }

    pub fn gparam_id_low(&self) -> i16 {
        self.gparam_id_low
    }

    pub fn set_gparam_id_low(&mut self, value: i16) {
        self.gparam_id_low = value;
    }

    pub fn point_cloud_id(&self) -> i32 {
        self.point_cloud_id
    }

    pub fn set_point_cloud_id(&mut self, value: i32) {
        self.point_cloud_id = value;
    }

    pub fn gi_texture_id(&self) -> i32 {
        self.gi_texture_id
    }

    pub fn set_gi_texture_id(&mut self, value: i32) {
        self.gi_texture_id = value;
    }

    pub fn light_group_id(&self) -> i32 {
        self.light_group_id
    }

    pub fn set_light_group_id(&mut self, value: i32) {
        self.light_group_id = value;
    }

    pub fn is_reload(&self) -> u8 {
        self.is_reload
    }

    pub fn set_is_reload(&mut self, value: u8) {
        self.is_reload = value;
    }

    pub fn is_disable_online(&self) -> u8 {
        self.is_disable_online
    }

    pub fn set_is_disable_online(&mut self, value: u8) {
        self.is_disable_online = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CHARACTER_INIT_PARAM {
    base_rec_mp: f32,
    base_rec_sp: f32,
    red_falldam: f32,
    soul: i32,
    equip_wep_right: i32,
    equip_subwep_right: i32,
    equip_wep_left: i32,
    equip_subwep_left: i32,
    equip_helm: i32,
    equip_armor: i32,
    equip_gaunt: i32,
    equip_leg: i32,
    equip_arrow: i32,
    equip_bolt: i32,
    equip_sub_arrow: i32,
    equip_sub_bolt: i32,
    equip_accessory1: i32,
    equip_accessory2: i32,
    equip_accessory3: i32,
    equip_accessory4: i32,
    equip_accessory5: i32,
    equip_skill_01: i32,
    equip_skill_02: i32,
    equip_skill_03: i32,
    equip_spell_01: i32,
    equip_spell_02: i32,
    equip_spell_03: i32,
    equip_spell_04: i32,
    equip_spell_05: i32,
    equip_spell_06: i32,
    equip_spell_07: i32,
    item_01: i32,
    item_02: i32,
    item_03: i32,
    item_04: i32,
    item_05: i32,
    item_06: i32,
    item_07: i32,
    item_08: i32,
    item_09: i32,
    item_10: i32,
    npc_player_face_gen_id: i32,
    npc_player_think_id: i32,
    base_hp: i16,
    base_mp: i16,
    base_sp: i16,
    arrow_num: i16,
    bolt_num: i16,
    sub_arrow_num: i16,
    sub_bolt_num: i16,
    qwc_sb: i16,
    qwc_mw: i16,
    qwc_cd: i16,
    soul_lvl: i16,
    base_vit: i8,
    base_wil: i8,
    base_end: i8,
    base_str: i8,
    base_dex: i8,
    base_mag: i8,
    base_fai: i8,
    base_luc: i8,
    base_hero_point: i8,
    base_durability: i8,
    item_num_01: u8,
    item_num_02: u8,
    item_num_03: u8,
    item_num_04: u8,
    item_num_05: u8,
    item_num_06: u8,
    item_num_07: u8,
    item_num_08: u8,
    item_num_09: u8,
    item_num_10: u8,
    body_scale_head: u8,
    body_scale_breast: u8,
    body_scale_abdomen: u8,
    body_scale_arm: u8,
    body_scale_leg: u8,
    gestureid0: u8,
    gestureid1: u8,
    gestureid2: u8,
    gestureid3: u8,
    gestureid4: u8,
    gestureid5: u8,
    gestureid6: u8,
    npc_player_type: u8,
    npc_player_draw_type: u8,
    npc_player_sex: u8,
    vow_type: u8,
    voice_type: u8,
    unknown_0xe7: u8,
    equip_wep_right_gen_id: i32,
    equip_subwep_right_gen_id: i32,
    equip_wep_left_gen_id: i32,
    equip_subwep_left_gen_id: i32,
    equip_helm_gen_id: i32,
    equip_armor_gen_id: i32,
    equip_gaunt_gen_id: i32,
    equip_leg_gen_id: i32,
    equip_wep_body_gen_id: i32,
    secondary_item_01: i32,
    secondary_item_02: i32,
    secondary_item_03: i32,
    secondary_item_04: i32,
    secondary_item_05: i32,
    secondary_item_06: i32,
    secondary_item_07: i32,
    secondary_item_08: i32,
    secondary_item_num_01: u8,
    secondary_item_num_02: u8,
    secondary_item_num_03: u8,
    secondary_item_num_04: u8,
    secondary_item_num_05: u8,
    secondary_item_num_06: u8,
    secondary_item_num_07: u8,
    secondary_item_num_08: u8,
    pad2: [u8; 12],
}

impl ParamDef for CHARACTER_INIT_PARAM {
    const NAME: &str = "CHARACTER_INIT_PARAM";
    const INDEX: usize = 14;
}

impl CHARACTER_INIT_PARAM {
    pub fn base_rec_mp(&self) -> f32 {
        self.base_rec_mp
    }

    pub fn set_base_rec_mp(&mut self, value: f32) {
        self.base_rec_mp = value;
    }

    pub fn base_rec_sp(&self) -> f32 {
        self.base_rec_sp
    }

    pub fn set_base_rec_sp(&mut self, value: f32) {
        self.base_rec_sp = value;
    }

    pub fn red_falldam(&self) -> f32 {
        self.red_falldam
    }

    pub fn set_red_falldam(&mut self, value: f32) {
        self.red_falldam = value;
    }

    pub fn soul(&self) -> i32 {
        self.soul
    }

    pub fn set_soul(&mut self, value: i32) {
        self.soul = value;
    }

    pub fn equip_wep_right(&self) -> i32 {
        self.equip_wep_right
    }

    pub fn set_equip_wep_right(&mut self, value: i32) {
        self.equip_wep_right = value;
    }

    pub fn equip_subwep_right(&self) -> i32 {
        self.equip_subwep_right
    }

    pub fn set_equip_subwep_right(&mut self, value: i32) {
        self.equip_subwep_right = value;
    }

    pub fn equip_wep_left(&self) -> i32 {
        self.equip_wep_left
    }

    pub fn set_equip_wep_left(&mut self, value: i32) {
        self.equip_wep_left = value;
    }

    pub fn equip_subwep_left(&self) -> i32 {
        self.equip_subwep_left
    }

    pub fn set_equip_subwep_left(&mut self, value: i32) {
        self.equip_subwep_left = value;
    }

    pub fn equip_helm(&self) -> i32 {
        self.equip_helm
    }

    pub fn set_equip_helm(&mut self, value: i32) {
        self.equip_helm = value;
    }

    pub fn equip_armor(&self) -> i32 {
        self.equip_armor
    }

    pub fn set_equip_armor(&mut self, value: i32) {
        self.equip_armor = value;
    }

    pub fn equip_gaunt(&self) -> i32 {
        self.equip_gaunt
    }

    pub fn set_equip_gaunt(&mut self, value: i32) {
        self.equip_gaunt = value;
    }

    pub fn equip_leg(&self) -> i32 {
        self.equip_leg
    }

    pub fn set_equip_leg(&mut self, value: i32) {
        self.equip_leg = value;
    }

    pub fn equip_arrow(&self) -> i32 {
        self.equip_arrow
    }

    pub fn set_equip_arrow(&mut self, value: i32) {
        self.equip_arrow = value;
    }

    pub fn equip_bolt(&self) -> i32 {
        self.equip_bolt
    }

    pub fn set_equip_bolt(&mut self, value: i32) {
        self.equip_bolt = value;
    }

    pub fn equip_sub_arrow(&self) -> i32 {
        self.equip_sub_arrow
    }

    pub fn set_equip_sub_arrow(&mut self, value: i32) {
        self.equip_sub_arrow = value;
    }

    pub fn equip_sub_bolt(&self) -> i32 {
        self.equip_sub_bolt
    }

    pub fn set_equip_sub_bolt(&mut self, value: i32) {
        self.equip_sub_bolt = value;
    }

    pub fn equip_accessory1(&self) -> i32 {
        self.equip_accessory1
    }

    pub fn set_equip_accessory1(&mut self, value: i32) {
        self.equip_accessory1 = value;
    }

    pub fn equip_accessory2(&self) -> i32 {
        self.equip_accessory2
    }

    pub fn set_equip_accessory2(&mut self, value: i32) {
        self.equip_accessory2 = value;
    }

    pub fn equip_accessory3(&self) -> i32 {
        self.equip_accessory3
    }

    pub fn set_equip_accessory3(&mut self, value: i32) {
        self.equip_accessory3 = value;
    }

    pub fn equip_accessory4(&self) -> i32 {
        self.equip_accessory4
    }

    pub fn set_equip_accessory4(&mut self, value: i32) {
        self.equip_accessory4 = value;
    }

    pub fn equip_accessory5(&self) -> i32 {
        self.equip_accessory5
    }

    pub fn set_equip_accessory5(&mut self, value: i32) {
        self.equip_accessory5 = value;
    }

    pub fn equip_skill_01(&self) -> i32 {
        self.equip_skill_01
    }

    pub fn set_equip_skill_01(&mut self, value: i32) {
        self.equip_skill_01 = value;
    }

    pub fn equip_skill_02(&self) -> i32 {
        self.equip_skill_02
    }

    pub fn set_equip_skill_02(&mut self, value: i32) {
        self.equip_skill_02 = value;
    }

    pub fn equip_skill_03(&self) -> i32 {
        self.equip_skill_03
    }

    pub fn set_equip_skill_03(&mut self, value: i32) {
        self.equip_skill_03 = value;
    }

    pub fn equip_spell_01(&self) -> i32 {
        self.equip_spell_01
    }

    pub fn set_equip_spell_01(&mut self, value: i32) {
        self.equip_spell_01 = value;
    }

    pub fn equip_spell_02(&self) -> i32 {
        self.equip_spell_02
    }

    pub fn set_equip_spell_02(&mut self, value: i32) {
        self.equip_spell_02 = value;
    }

    pub fn equip_spell_03(&self) -> i32 {
        self.equip_spell_03
    }

    pub fn set_equip_spell_03(&mut self, value: i32) {
        self.equip_spell_03 = value;
    }

    pub fn equip_spell_04(&self) -> i32 {
        self.equip_spell_04
    }

    pub fn set_equip_spell_04(&mut self, value: i32) {
        self.equip_spell_04 = value;
    }

    pub fn equip_spell_05(&self) -> i32 {
        self.equip_spell_05
    }

    pub fn set_equip_spell_05(&mut self, value: i32) {
        self.equip_spell_05 = value;
    }

    pub fn equip_spell_06(&self) -> i32 {
        self.equip_spell_06
    }

    pub fn set_equip_spell_06(&mut self, value: i32) {
        self.equip_spell_06 = value;
    }

    pub fn equip_spell_07(&self) -> i32 {
        self.equip_spell_07
    }

    pub fn set_equip_spell_07(&mut self, value: i32) {
        self.equip_spell_07 = value;
    }

    pub fn item_01(&self) -> i32 {
        self.item_01
    }

    pub fn set_item_01(&mut self, value: i32) {
        self.item_01 = value;
    }

    pub fn item_02(&self) -> i32 {
        self.item_02
    }

    pub fn set_item_02(&mut self, value: i32) {
        self.item_02 = value;
    }

    pub fn item_03(&self) -> i32 {
        self.item_03
    }

    pub fn set_item_03(&mut self, value: i32) {
        self.item_03 = value;
    }

    pub fn item_04(&self) -> i32 {
        self.item_04
    }

    pub fn set_item_04(&mut self, value: i32) {
        self.item_04 = value;
    }

    pub fn item_05(&self) -> i32 {
        self.item_05
    }

    pub fn set_item_05(&mut self, value: i32) {
        self.item_05 = value;
    }

    pub fn item_06(&self) -> i32 {
        self.item_06
    }

    pub fn set_item_06(&mut self, value: i32) {
        self.item_06 = value;
    }

    pub fn item_07(&self) -> i32 {
        self.item_07
    }

    pub fn set_item_07(&mut self, value: i32) {
        self.item_07 = value;
    }

    pub fn item_08(&self) -> i32 {
        self.item_08
    }

    pub fn set_item_08(&mut self, value: i32) {
        self.item_08 = value;
    }

    pub fn item_09(&self) -> i32 {
        self.item_09
    }

    pub fn set_item_09(&mut self, value: i32) {
        self.item_09 = value;
    }

    pub fn item_10(&self) -> i32 {
        self.item_10
    }

    pub fn set_item_10(&mut self, value: i32) {
        self.item_10 = value;
    }

    pub fn npc_player_face_gen_id(&self) -> i32 {
        self.npc_player_face_gen_id
    }

    pub fn set_npc_player_face_gen_id(&mut self, value: i32) {
        self.npc_player_face_gen_id = value;
    }

    pub fn npc_player_think_id(&self) -> i32 {
        self.npc_player_think_id
    }

    pub fn set_npc_player_think_id(&mut self, value: i32) {
        self.npc_player_think_id = value;
    }

    pub fn base_hp(&self) -> i16 {
        self.base_hp
    }

    pub fn set_base_hp(&mut self, value: i16) {
        self.base_hp = value;
    }

    pub fn base_mp(&self) -> i16 {
        self.base_mp
    }

    pub fn set_base_mp(&mut self, value: i16) {
        self.base_mp = value;
    }

    pub fn base_sp(&self) -> i16 {
        self.base_sp
    }

    pub fn set_base_sp(&mut self, value: i16) {
        self.base_sp = value;
    }

    pub fn arrow_num(&self) -> i16 {
        self.arrow_num
    }

    pub fn set_arrow_num(&mut self, value: i16) {
        self.arrow_num = value;
    }

    pub fn bolt_num(&self) -> i16 {
        self.bolt_num
    }

    pub fn set_bolt_num(&mut self, value: i16) {
        self.bolt_num = value;
    }

    pub fn sub_arrow_num(&self) -> i16 {
        self.sub_arrow_num
    }

    pub fn set_sub_arrow_num(&mut self, value: i16) {
        self.sub_arrow_num = value;
    }

    pub fn sub_bolt_num(&self) -> i16 {
        self.sub_bolt_num
    }

    pub fn set_sub_bolt_num(&mut self, value: i16) {
        self.sub_bolt_num = value;
    }

    pub fn qwc_sb(&self) -> i16 {
        self.qwc_sb
    }

    pub fn set_qwc_sb(&mut self, value: i16) {
        self.qwc_sb = value;
    }

    pub fn qwc_mw(&self) -> i16 {
        self.qwc_mw
    }

    pub fn set_qwc_mw(&mut self, value: i16) {
        self.qwc_mw = value;
    }

    pub fn qwc_cd(&self) -> i16 {
        self.qwc_cd
    }

    pub fn set_qwc_cd(&mut self, value: i16) {
        self.qwc_cd = value;
    }

    pub fn soul_lvl(&self) -> i16 {
        self.soul_lvl
    }

    pub fn set_soul_lvl(&mut self, value: i16) {
        self.soul_lvl = value;
    }

    pub fn base_vit(&self) -> i8 {
        self.base_vit
    }

    pub fn set_base_vit(&mut self, value: i8) {
        self.base_vit = value;
    }

    pub fn base_wil(&self) -> i8 {
        self.base_wil
    }

    pub fn set_base_wil(&mut self, value: i8) {
        self.base_wil = value;
    }

    pub fn base_end(&self) -> i8 {
        self.base_end
    }

    pub fn set_base_end(&mut self, value: i8) {
        self.base_end = value;
    }

    pub fn base_str(&self) -> i8 {
        self.base_str
    }

    pub fn set_base_str(&mut self, value: i8) {
        self.base_str = value;
    }

    pub fn base_dex(&self) -> i8 {
        self.base_dex
    }

    pub fn set_base_dex(&mut self, value: i8) {
        self.base_dex = value;
    }

    pub fn base_mag(&self) -> i8 {
        self.base_mag
    }

    pub fn set_base_mag(&mut self, value: i8) {
        self.base_mag = value;
    }

    pub fn base_fai(&self) -> i8 {
        self.base_fai
    }

    pub fn set_base_fai(&mut self, value: i8) {
        self.base_fai = value;
    }

    pub fn base_luc(&self) -> i8 {
        self.base_luc
    }

    pub fn set_base_luc(&mut self, value: i8) {
        self.base_luc = value;
    }

    pub fn base_hero_point(&self) -> i8 {
        self.base_hero_point
    }

    pub fn set_base_hero_point(&mut self, value: i8) {
        self.base_hero_point = value;
    }

    pub fn base_durability(&self) -> i8 {
        self.base_durability
    }

    pub fn set_base_durability(&mut self, value: i8) {
        self.base_durability = value;
    }

    pub fn item_num_01(&self) -> u8 {
        self.item_num_01
    }

    pub fn set_item_num_01(&mut self, value: u8) {
        self.item_num_01 = value;
    }

    pub fn item_num_02(&self) -> u8 {
        self.item_num_02
    }

    pub fn set_item_num_02(&mut self, value: u8) {
        self.item_num_02 = value;
    }

    pub fn item_num_03(&self) -> u8 {
        self.item_num_03
    }

    pub fn set_item_num_03(&mut self, value: u8) {
        self.item_num_03 = value;
    }

    pub fn item_num_04(&self) -> u8 {
        self.item_num_04
    }

    pub fn set_item_num_04(&mut self, value: u8) {
        self.item_num_04 = value;
    }

    pub fn item_num_05(&self) -> u8 {
        self.item_num_05
    }

    pub fn set_item_num_05(&mut self, value: u8) {
        self.item_num_05 = value;
    }

    pub fn item_num_06(&self) -> u8 {
        self.item_num_06
    }

    pub fn set_item_num_06(&mut self, value: u8) {
        self.item_num_06 = value;
    }

    pub fn item_num_07(&self) -> u8 {
        self.item_num_07
    }

    pub fn set_item_num_07(&mut self, value: u8) {
        self.item_num_07 = value;
    }

    pub fn item_num_08(&self) -> u8 {
        self.item_num_08
    }

    pub fn set_item_num_08(&mut self, value: u8) {
        self.item_num_08 = value;
    }

    pub fn item_num_09(&self) -> u8 {
        self.item_num_09
    }

    pub fn set_item_num_09(&mut self, value: u8) {
        self.item_num_09 = value;
    }

    pub fn item_num_10(&self) -> u8 {
        self.item_num_10
    }

    pub fn set_item_num_10(&mut self, value: u8) {
        self.item_num_10 = value;
    }

    pub fn body_scale_head(&self) -> u8 {
        self.body_scale_head
    }

    pub fn set_body_scale_head(&mut self, value: u8) {
        self.body_scale_head = value;
    }

    pub fn body_scale_breast(&self) -> u8 {
        self.body_scale_breast
    }

    pub fn set_body_scale_breast(&mut self, value: u8) {
        self.body_scale_breast = value;
    }

    pub fn body_scale_abdomen(&self) -> u8 {
        self.body_scale_abdomen
    }

    pub fn set_body_scale_abdomen(&mut self, value: u8) {
        self.body_scale_abdomen = value;
    }

    pub fn body_scale_arm(&self) -> u8 {
        self.body_scale_arm
    }

    pub fn set_body_scale_arm(&mut self, value: u8) {
        self.body_scale_arm = value;
    }

    pub fn body_scale_leg(&self) -> u8 {
        self.body_scale_leg
    }

    pub fn set_body_scale_leg(&mut self, value: u8) {
        self.body_scale_leg = value;
    }

    pub fn gestureid0(&self) -> u8 {
        self.gestureid0
    }

    pub fn set_gestureid0(&mut self, value: u8) {
        self.gestureid0 = value;
    }

    pub fn gestureid1(&self) -> u8 {
        self.gestureid1
    }

    pub fn set_gestureid1(&mut self, value: u8) {
        self.gestureid1 = value;
    }

    pub fn gestureid2(&self) -> u8 {
        self.gestureid2
    }

    pub fn set_gestureid2(&mut self, value: u8) {
        self.gestureid2 = value;
    }

    pub fn gestureid3(&self) -> u8 {
        self.gestureid3
    }

    pub fn set_gestureid3(&mut self, value: u8) {
        self.gestureid3 = value;
    }

    pub fn gestureid4(&self) -> u8 {
        self.gestureid4
    }

    pub fn set_gestureid4(&mut self, value: u8) {
        self.gestureid4 = value;
    }

    pub fn gestureid5(&self) -> u8 {
        self.gestureid5
    }

    pub fn set_gestureid5(&mut self, value: u8) {
        self.gestureid5 = value;
    }

    pub fn gestureid6(&self) -> u8 {
        self.gestureid6
    }

    pub fn set_gestureid6(&mut self, value: u8) {
        self.gestureid6 = value;
    }

    pub fn npc_player_type(&self) -> u8 {
        self.npc_player_type
    }

    pub fn set_npc_player_type(&mut self, value: u8) {
        self.npc_player_type = value;
    }

    pub fn npc_player_draw_type(&self) -> u8 {
        self.npc_player_draw_type
    }

    pub fn set_npc_player_draw_type(&mut self, value: u8) {
        self.npc_player_draw_type = value;
    }

    pub fn npc_player_sex(&self) -> u8 {
        self.npc_player_sex
    }

    pub fn set_npc_player_sex(&mut self, value: u8) {
        self.npc_player_sex = value;
    }

    pub fn vow_type(&self) -> u8 {
        self.vow_type
    }

    pub fn set_vow_type(&mut self, value: u8) {
        self.vow_type = value;
    }

    pub fn voice_type(&self) -> u8 {
        self.voice_type
    }

    pub fn set_voice_type(&mut self, value: u8) {
        self.voice_type = value;
    }

    pub fn equip_wep_right_gen_id(&self) -> i32 {
        self.equip_wep_right_gen_id
    }

    pub fn set_equip_wep_right_gen_id(&mut self, value: i32) {
        self.equip_wep_right_gen_id = value;
    }

    pub fn equip_subwep_right_gen_id(&self) -> i32 {
        self.equip_subwep_right_gen_id
    }

    pub fn set_equip_subwep_right_gen_id(&mut self, value: i32) {
        self.equip_subwep_right_gen_id = value;
    }

    pub fn equip_wep_left_gen_id(&self) -> i32 {
        self.equip_wep_left_gen_id
    }

    pub fn set_equip_wep_left_gen_id(&mut self, value: i32) {
        self.equip_wep_left_gen_id = value;
    }

    pub fn equip_subwep_left_gen_id(&self) -> i32 {
        self.equip_subwep_left_gen_id
    }

    pub fn set_equip_subwep_left_gen_id(&mut self, value: i32) {
        self.equip_subwep_left_gen_id = value;
    }

    pub fn equip_helm_gen_id(&self) -> i32 {
        self.equip_helm_gen_id
    }

    pub fn set_equip_helm_gen_id(&mut self, value: i32) {
        self.equip_helm_gen_id = value;
    }

    pub fn equip_armor_gen_id(&self) -> i32 {
        self.equip_armor_gen_id
    }

    pub fn set_equip_armor_gen_id(&mut self, value: i32) {
        self.equip_armor_gen_id = value;
    }

    pub fn equip_gaunt_gen_id(&self) -> i32 {
        self.equip_gaunt_gen_id
    }

    pub fn set_equip_gaunt_gen_id(&mut self, value: i32) {
        self.equip_gaunt_gen_id = value;
    }

    pub fn equip_leg_gen_id(&self) -> i32 {
        self.equip_leg_gen_id
    }

    pub fn set_equip_leg_gen_id(&mut self, value: i32) {
        self.equip_leg_gen_id = value;
    }

    pub fn equip_wep_body_gen_id(&self) -> i32 {
        self.equip_wep_body_gen_id
    }

    pub fn set_equip_wep_body_gen_id(&mut self, value: i32) {
        self.equip_wep_body_gen_id = value;
    }

    pub fn secondary_item_01(&self) -> i32 {
        self.secondary_item_01
    }

    pub fn set_secondary_item_01(&mut self, value: i32) {
        self.secondary_item_01 = value;
    }

    pub fn secondary_item_02(&self) -> i32 {
        self.secondary_item_02
    }

    pub fn set_secondary_item_02(&mut self, value: i32) {
        self.secondary_item_02 = value;
    }

    pub fn secondary_item_03(&self) -> i32 {
        self.secondary_item_03
    }

    pub fn set_secondary_item_03(&mut self, value: i32) {
        self.secondary_item_03 = value;
    }

    pub fn secondary_item_04(&self) -> i32 {
        self.secondary_item_04
    }

    pub fn set_secondary_item_04(&mut self, value: i32) {
        self.secondary_item_04 = value;
    }

    pub fn secondary_item_05(&self) -> i32 {
        self.secondary_item_05
    }

    pub fn set_secondary_item_05(&mut self, value: i32) {
        self.secondary_item_05 = value;
    }

    pub fn secondary_item_06(&self) -> i32 {
        self.secondary_item_06
    }

    pub fn set_secondary_item_06(&mut self, value: i32) {
        self.secondary_item_06 = value;
    }

    pub fn secondary_item_07(&self) -> i32 {
        self.secondary_item_07
    }

    pub fn set_secondary_item_07(&mut self, value: i32) {
        self.secondary_item_07 = value;
    }

    pub fn secondary_item_08(&self) -> i32 {
        self.secondary_item_08
    }

    pub fn set_secondary_item_08(&mut self, value: i32) {
        self.secondary_item_08 = value;
    }

    pub fn secondary_item_num_01(&self) -> u8 {
        self.secondary_item_num_01
    }

    pub fn set_secondary_item_num_01(&mut self, value: u8) {
        self.secondary_item_num_01 = value;
    }

    pub fn secondary_item_num_02(&self) -> u8 {
        self.secondary_item_num_02
    }

    pub fn set_secondary_item_num_02(&mut self, value: u8) {
        self.secondary_item_num_02 = value;
    }

    pub fn secondary_item_num_03(&self) -> u8 {
        self.secondary_item_num_03
    }

    pub fn set_secondary_item_num_03(&mut self, value: u8) {
        self.secondary_item_num_03 = value;
    }

    pub fn secondary_item_num_04(&self) -> u8 {
        self.secondary_item_num_04
    }

    pub fn set_secondary_item_num_04(&mut self, value: u8) {
        self.secondary_item_num_04 = value;
    }

    pub fn secondary_item_num_05(&self) -> u8 {
        self.secondary_item_num_05
    }

    pub fn set_secondary_item_num_05(&mut self, value: u8) {
        self.secondary_item_num_05 = value;
    }

    pub fn secondary_item_num_06(&self) -> u8 {
        self.secondary_item_num_06
    }

    pub fn set_secondary_item_num_06(&mut self, value: u8) {
        self.secondary_item_num_06 = value;
    }

    pub fn secondary_item_num_07(&self) -> u8 {
        self.secondary_item_num_07
    }

    pub fn set_secondary_item_num_07(&mut self, value: u8) {
        self.secondary_item_num_07 = value;
    }

    pub fn secondary_item_num_08(&self) -> u8 {
        self.secondary_item_num_08
    }

    pub fn set_secondary_item_num_08(&mut self, value: u8) {
        self.secondary_item_num_08 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CHARACTER_LOAD_PARAM_ST {
    chr_bnd_type: u8,
    ani_bnd_type: u8,
    tex_bnd_type: u8,
    beh_bnd_type: u8,
    snd_chr_type: u8,
}

impl ParamDef for CHARACTER_LOAD_PARAM_ST {
    const NAME: &str = "CHARACTER_LOAD_PARAM_ST";
    const INDEX: usize = 13;
}

impl CHARACTER_LOAD_PARAM_ST {
    pub fn chr_bnd_type(&self) -> u8 {
        self.chr_bnd_type
    }

    pub fn set_chr_bnd_type(&mut self, value: u8) {
        self.chr_bnd_type = value;
    }

    pub fn ani_bnd_type(&self) -> u8 {
        self.ani_bnd_type
    }

    pub fn set_ani_bnd_type(&mut self, value: u8) {
        self.ani_bnd_type = value;
    }

    pub fn tex_bnd_type(&self) -> u8 {
        self.tex_bnd_type
    }

    pub fn set_tex_bnd_type(&mut self, value: u8) {
        self.tex_bnd_type = value;
    }

    pub fn beh_bnd_type(&self) -> u8 {
        self.beh_bnd_type
    }

    pub fn set_beh_bnd_type(&mut self, value: u8) {
        self.beh_bnd_type = value;
    }

    pub fn snd_chr_type(&self) -> u8 {
        self.snd_chr_type
    }

    pub fn set_snd_chr_type(&mut self, value: u8) {
        self.snd_chr_type = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CHARMAKEMENUTOP_PARAM_ST {
    command_id: i32,
    face_param_id: i32,
    table_id: i32,
    view_condition: i32,
    preview_mode: u8,
    pad1: [u8; 3],
    menu_type: i8,
    pad2: [u8; 11],
}

impl ParamDef for CHARMAKEMENUTOP_PARAM_ST {
    const NAME: &str = "CHARMAKEMENUTOP_PARAM_ST";
    const INDEX: usize = 16;
}

impl CHARMAKEMENUTOP_PARAM_ST {
    pub fn command_id(&self) -> i32 {
        self.command_id
    }

    pub fn set_command_id(&mut self, value: i32) {
        self.command_id = value;
    }

    pub fn face_param_id(&self) -> i32 {
        self.face_param_id
    }

    pub fn set_face_param_id(&mut self, value: i32) {
        self.face_param_id = value;
    }

    pub fn table_id(&self) -> i32 {
        self.table_id
    }

    pub fn set_table_id(&mut self, value: i32) {
        self.table_id = value;
    }

    pub fn view_condition(&self) -> i32 {
        self.view_condition
    }

    pub fn set_view_condition(&mut self, value: i32) {
        self.view_condition = value;
    }

    pub fn preview_mode(&self) -> u8 {
        self.preview_mode
    }

    pub fn set_preview_mode(&mut self, value: u8) {
        self.preview_mode = value;
    }

    pub fn menu_type(&self) -> i8 {
        self.menu_type
    }

    pub fn set_menu_type(&mut self, value: i8) {
        self.menu_type = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CHARMAKEMENU_LISTITEM_PARAM_ST {
    value: i32,
    caption_id: i32,
    icon_id: u8,
    pad1: [u8; 7],
}

impl ParamDef for CHARMAKEMENU_LISTITEM_PARAM_ST {
    const NAME: &str = "CHARMAKEMENU_LISTITEM_PARAM_ST";
    const INDEX: usize = 15;
}

impl CHARMAKEMENU_LISTITEM_PARAM_ST {
    pub fn value(&self) -> i32 {
        self.value
    }

    pub fn set_value(&mut self, value: i32) {
        self.value = value;
    }

    pub fn caption_id(&self) -> i32 {
        self.caption_id
    }

    pub fn set_caption_id(&mut self, value: i32) {
        self.caption_id = value;
    }

    pub fn icon_id(&self) -> u8 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: u8) {
        self.icon_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CLEAR_COUNT_CORRECT_PARAM_ST {
    hp: f32,
    mana: f32,
    stamina: f32,
    phys_dmg: f32,
    slash_dmg: f32,
    blow_dmg: f32,
    thrust_dmg: f32,
    neutral: f32,
    magic_dmg: f32,
    fire_dmg: f32,
    thunder_dmg: f32,
    dark_dmg: f32,
    phys_resist: f32,
    magic_resist: f32,
    fire_resist: f32,
    thunder_resist: f32,
    dark_resist: f32,
    stamina_dmg: f32,
    mp_recover: f32,
    poison_resist: f32,
    toxic_resist: f32,
    bleed_resist: f32,
    curse_resist: f32,
    frost_resist: f32,
    hp_recover: f32,
    sub_mp_recover: f32,
    sub_hp_recover: f32,
    pad1: [u8; 20],
}

impl ParamDef for CLEAR_COUNT_CORRECT_PARAM_ST {
    const NAME: &str = "CLEAR_COUNT_CORRECT_PARAM_ST";
    const INDEX: usize = 17;
}

impl CLEAR_COUNT_CORRECT_PARAM_ST {
    pub fn hp(&self) -> f32 {
        self.hp
    }

    pub fn set_hp(&mut self, value: f32) {
        self.hp = value;
    }

    pub fn mana(&self) -> f32 {
        self.mana
    }

    pub fn set_mana(&mut self, value: f32) {
        self.mana = value;
    }

    pub fn stamina(&self) -> f32 {
        self.stamina
    }

    pub fn set_stamina(&mut self, value: f32) {
        self.stamina = value;
    }

    pub fn phys_dmg(&self) -> f32 {
        self.phys_dmg
    }

    pub fn set_phys_dmg(&mut self, value: f32) {
        self.phys_dmg = value;
    }

    pub fn slash_dmg(&self) -> f32 {
        self.slash_dmg
    }

    pub fn set_slash_dmg(&mut self, value: f32) {
        self.slash_dmg = value;
    }

    pub fn blow_dmg(&self) -> f32 {
        self.blow_dmg
    }

    pub fn set_blow_dmg(&mut self, value: f32) {
        self.blow_dmg = value;
    }

    pub fn thrust_dmg(&self) -> f32 {
        self.thrust_dmg
    }

    pub fn set_thrust_dmg(&mut self, value: f32) {
        self.thrust_dmg = value;
    }

    pub fn neutral(&self) -> f32 {
        self.neutral
    }

    pub fn set_neutral(&mut self, value: f32) {
        self.neutral = value;
    }

    pub fn magic_dmg(&self) -> f32 {
        self.magic_dmg
    }

    pub fn set_magic_dmg(&mut self, value: f32) {
        self.magic_dmg = value;
    }

    pub fn fire_dmg(&self) -> f32 {
        self.fire_dmg
    }

    pub fn set_fire_dmg(&mut self, value: f32) {
        self.fire_dmg = value;
    }

    pub fn thunder_dmg(&self) -> f32 {
        self.thunder_dmg
    }

    pub fn set_thunder_dmg(&mut self, value: f32) {
        self.thunder_dmg = value;
    }

    pub fn dark_dmg(&self) -> f32 {
        self.dark_dmg
    }

    pub fn set_dark_dmg(&mut self, value: f32) {
        self.dark_dmg = value;
    }

    pub fn phys_resist(&self) -> f32 {
        self.phys_resist
    }

    pub fn set_phys_resist(&mut self, value: f32) {
        self.phys_resist = value;
    }

    pub fn magic_resist(&self) -> f32 {
        self.magic_resist
    }

    pub fn set_magic_resist(&mut self, value: f32) {
        self.magic_resist = value;
    }

    pub fn fire_resist(&self) -> f32 {
        self.fire_resist
    }

    pub fn set_fire_resist(&mut self, value: f32) {
        self.fire_resist = value;
    }

    pub fn thunder_resist(&self) -> f32 {
        self.thunder_resist
    }

    pub fn set_thunder_resist(&mut self, value: f32) {
        self.thunder_resist = value;
    }

    pub fn dark_resist(&self) -> f32 {
        self.dark_resist
    }

    pub fn set_dark_resist(&mut self, value: f32) {
        self.dark_resist = value;
    }

    pub fn stamina_dmg(&self) -> f32 {
        self.stamina_dmg
    }

    pub fn set_stamina_dmg(&mut self, value: f32) {
        self.stamina_dmg = value;
    }

    pub fn mp_recover(&self) -> f32 {
        self.mp_recover
    }

    pub fn set_mp_recover(&mut self, value: f32) {
        self.mp_recover = value;
    }

    pub fn poison_resist(&self) -> f32 {
        self.poison_resist
    }

    pub fn set_poison_resist(&mut self, value: f32) {
        self.poison_resist = value;
    }

    pub fn toxic_resist(&self) -> f32 {
        self.toxic_resist
    }

    pub fn set_toxic_resist(&mut self, value: f32) {
        self.toxic_resist = value;
    }

    pub fn bleed_resist(&self) -> f32 {
        self.bleed_resist
    }

    pub fn set_bleed_resist(&mut self, value: f32) {
        self.bleed_resist = value;
    }

    pub fn curse_resist(&self) -> f32 {
        self.curse_resist
    }

    pub fn set_curse_resist(&mut self, value: f32) {
        self.curse_resist = value;
    }

    pub fn frost_resist(&self) -> f32 {
        self.frost_resist
    }

    pub fn set_frost_resist(&mut self, value: f32) {
        self.frost_resist = value;
    }

    pub fn hp_recover(&self) -> f32 {
        self.hp_recover
    }

    pub fn set_hp_recover(&mut self, value: f32) {
        self.hp_recover = value;
    }

    pub fn sub_mp_recover(&self) -> f32 {
        self.sub_mp_recover
    }

    pub fn set_sub_mp_recover(&mut self, value: f32) {
        self.sub_mp_recover = value;
    }

    pub fn sub_hp_recover(&self) -> f32 {
        self.sub_hp_recover
    }

    pub fn set_sub_hp_recover(&mut self, value: f32) {
        self.sub_hp_recover = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct COOL_TIME_PARAM_ST {
    limitation_time_0: f32,
    observation_time_0: f32,
    limitation_time_1: f32,
    observation_time_1: f32,
    limitation_time_2: f32,
    observation_time_2: f32,
    limitation_time_3: f32,
    observation_time_3: f32,
}

impl ParamDef for COOL_TIME_PARAM_ST {
    const NAME: &str = "COOL_TIME_PARAM_ST";
    const INDEX: usize = 18;
}

impl COOL_TIME_PARAM_ST {
    pub fn limitation_time_0(&self) -> f32 {
        self.limitation_time_0
    }

    pub fn set_limitation_time_0(&mut self, value: f32) {
        self.limitation_time_0 = value;
    }

    pub fn observation_time_0(&self) -> f32 {
        self.observation_time_0
    }

    pub fn set_observation_time_0(&mut self, value: f32) {
        self.observation_time_0 = value;
    }

    pub fn limitation_time_1(&self) -> f32 {
        self.limitation_time_1
    }

    pub fn set_limitation_time_1(&mut self, value: f32) {
        self.limitation_time_1 = value;
    }

    pub fn observation_time_1(&self) -> f32 {
        self.observation_time_1
    }

    pub fn set_observation_time_1(&mut self, value: f32) {
        self.observation_time_1 = value;
    }

    pub fn limitation_time_2(&self) -> f32 {
        self.limitation_time_2
    }

    pub fn set_limitation_time_2(&mut self, value: f32) {
        self.limitation_time_2 = value;
    }

    pub fn observation_time_2(&self) -> f32 {
        self.observation_time_2
    }

    pub fn set_observation_time_2(&mut self, value: f32) {
        self.observation_time_2 = value;
    }

    pub fn limitation_time_3(&self) -> f32 {
        self.limitation_time_3
    }

    pub fn set_limitation_time_3(&mut self, value: f32) {
        self.limitation_time_3 = value;
    }

    pub fn observation_time_3(&self) -> f32 {
        self.observation_time_3
    }

    pub fn set_observation_time_3(&mut self, value: f32) {
        self.observation_time_3 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CULT_SETTING_PARAM_ST {
    distance: f32,
    angle: f32,
    event_flag_id: i32,
    coefficient: i16,
    cult_state1: i8,
    cult_state2: i8,
    pad1: [u8; 16],
}

impl ParamDef for CULT_SETTING_PARAM_ST {
    const NAME: &str = "CULT_SETTING_PARAM_ST";
    const INDEX: usize = 19;
}

impl CULT_SETTING_PARAM_ST {
    pub fn distance(&self) -> f32 {
        self.distance
    }

    pub fn set_distance(&mut self, value: f32) {
        self.distance = value;
    }

    pub fn angle(&self) -> f32 {
        self.angle
    }

    pub fn set_angle(&mut self, value: f32) {
        self.angle = value;
    }

    pub fn event_flag_id(&self) -> i32 {
        self.event_flag_id
    }

    pub fn set_event_flag_id(&mut self, value: i32) {
        self.event_flag_id = value;
    }

    pub fn coefficient(&self) -> i16 {
        self.coefficient
    }

    pub fn set_coefficient(&mut self, value: i16) {
        self.coefficient = value;
    }

    pub fn cult_state1(&self) -> i8 {
        self.cult_state1
    }

    pub fn set_cult_state1(&mut self, value: i8) {
        self.cult_state1 = value;
    }

    pub fn cult_state2(&self) -> i8 {
        self.cult_state2
    }

    pub fn set_cult_state2(&mut self, value: i8) {
        self.cult_state2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct DECAL_PARAM_ST {
    texture_id: i32,
    dmypoly_id: i32,
    pitch_angle: f32,
    yaw_angle: f32,
    near_distance: f32,
    far_distance: f32,
    near_size: f32,
    far_size: f32,
    mask_speffect_id: i32,
    bits_24: u8,
    bits_25: u8,
    bits_26: u8,
    bits_27: u8,
    random_size_min: i16,
    random_size_max: i16,
    random_roll_min: f32,
    random_roll_max: f32,
    random_pitch_min: f32,
    random_pitch_max: f32,
    random_yaw_min: f32,
    random_yaw_max: f32,
    pom_height_scale: f32,
    pom_sample_min: u8,
    pom_sample_max: u8,
    blend_mode: i8,
    appear_dir_type: i8,
    emissive_value_begin: f32,
    emissive_value_end: f32,
    emissive_time: f32,
    b_intp_enable: u8,
    pad_01: [u8; 3],
    intp_interval_dist: f32,
    begin_intp_texture_id: i32,
    end_intp_texture_id: i32,
    appear_sfx_id: i32,
    appear_sfx_offset_pos: f32,
    mask_texture_id: i32,
    diffuse_texture_id: i32,
    reflec_texture_id: i32,
    mask_scale: f32,
    normal_texture_id: i32,
    height_texture_id: i32,
    emissive_texture_id: i32,
    diffuse_color_r: u8,
    diffuse_color_g: u8,
    diffuse_color_b: u8,
    pad_03: [u8; 1],
    reflec_color_r: u8,
    reflec_color_g: u8,
    reflec_color_b: u8,
    b_life_enable: u8,
    sini_scale: f32,
    life_time_sec: f32,
    fade_out_time_sec: f32,
    priority: i16,
    b_dist_thin_out_enable: u8,
    b_aligned_tex_random_variation_enable: u8,
    dist_thin_out_check_dist: f32,
    dist_thin_out_check_angle_deg: f32,
    dist_thin_out_max_num: u8,
    dist_thin_out_check_num: u8,
    delay_appear_frame: i16,
    bits_b0: u8,
    bits_b1: u8,
    bits_b2: u8,
    bits_b3: u8,
    fade_in_time_sec: f32,
    pad1: [u8; 8],
}

impl ParamDef for DECAL_PARAM_ST {
    const NAME: &str = "DECAL_PARAM_ST";
    const INDEX: usize = 20;
}

impl DECAL_PARAM_ST {
    pub fn texture_id(&self) -> i32 {
        self.texture_id
    }

    pub fn set_texture_id(&mut self, value: i32) {
        self.texture_id = value;
    }

    pub fn dmypoly_id(&self) -> i32 {
        self.dmypoly_id
    }

    pub fn set_dmypoly_id(&mut self, value: i32) {
        self.dmypoly_id = value;
    }

    pub fn pitch_angle(&self) -> f32 {
        self.pitch_angle
    }

    pub fn set_pitch_angle(&mut self, value: f32) {
        self.pitch_angle = value;
    }

    pub fn yaw_angle(&self) -> f32 {
        self.yaw_angle
    }

    pub fn set_yaw_angle(&mut self, value: f32) {
        self.yaw_angle = value;
    }

    pub fn near_distance(&self) -> f32 {
        self.near_distance
    }

    pub fn set_near_distance(&mut self, value: f32) {
        self.near_distance = value;
    }

    pub fn far_distance(&self) -> f32 {
        self.far_distance
    }

    pub fn set_far_distance(&mut self, value: f32) {
        self.far_distance = value;
    }

    pub fn near_size(&self) -> f32 {
        self.near_size
    }

    pub fn set_near_size(&mut self, value: f32) {
        self.near_size = value;
    }

    pub fn far_size(&self) -> f32 {
        self.far_size
    }

    pub fn set_far_size(&mut self, value: f32) {
        self.far_size = value;
    }

    pub fn mask_speffect_id(&self) -> i32 {
        self.mask_speffect_id
    }

    pub fn set_mask_speffect_id(&mut self, value: i32) {
        self.mask_speffect_id = value;
    }

    #[allow(clippy::identity_op)]
    pub fn replace_texture_id_by_material(&self) -> u8 {
        (self.bits_24 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_replace_texture_id_by_material(&mut self, value: u8) {
        self.bits_24 = (self.bits_24 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn dmypoly_category(&self) -> u8 {
        (self.bits_24 >> 2) & 0b00000011
    }

    #[allow(clippy::identity_op)]
    pub fn set_dmypoly_category(&mut self, value: u8) {
        self.bits_24 = (self.bits_24 & !(0b00000011 << 2)) | ((value & 0b00000011) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn use_deferred_decal(&self) -> u8 {
        (self.bits_25 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_deferred_decal(&mut self, value: u8) {
        self.bits_25 = (self.bits_25 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn use_paint_decal(&self) -> u8 {
        (self.bits_25 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_paint_decal(&mut self, value: u8) {
        self.bits_25 = (self.bits_25 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn blood_type_enable(&self) -> u8 {
        (self.bits_25 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_blood_type_enable(&mut self, value: u8) {
        self.bits_25 = (self.bits_25 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn b_use_normal(&self) -> u8 {
        (self.bits_25 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_use_normal(&mut self, value: u8) {
        self.bits_25 = (self.bits_25 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn use_pom(&self) -> u8 {
        (self.bits_26 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_pom(&mut self, value: u8) {
        self.bits_26 = (self.bits_26 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn use_emissive(&self) -> u8 {
        (self.bits_26 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_emissive(&mut self, value: u8) {
        self.bits_26 = (self.bits_26 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn put_vertical(&self) -> u8 {
        (self.bits_26 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_put_vertical(&mut self, value: u8) {
        self.bits_26 = (self.bits_26 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    pub fn random_size_min(&self) -> i16 {
        self.random_size_min
    }

    pub fn set_random_size_min(&mut self, value: i16) {
        self.random_size_min = value;
    }

    pub fn random_size_max(&self) -> i16 {
        self.random_size_max
    }

    pub fn set_random_size_max(&mut self, value: i16) {
        self.random_size_max = value;
    }

    pub fn random_roll_min(&self) -> f32 {
        self.random_roll_min
    }

    pub fn set_random_roll_min(&mut self, value: f32) {
        self.random_roll_min = value;
    }

    pub fn random_roll_max(&self) -> f32 {
        self.random_roll_max
    }

    pub fn set_random_roll_max(&mut self, value: f32) {
        self.random_roll_max = value;
    }

    pub fn random_pitch_min(&self) -> f32 {
        self.random_pitch_min
    }

    pub fn set_random_pitch_min(&mut self, value: f32) {
        self.random_pitch_min = value;
    }

    pub fn random_pitch_max(&self) -> f32 {
        self.random_pitch_max
    }

    pub fn set_random_pitch_max(&mut self, value: f32) {
        self.random_pitch_max = value;
    }

    pub fn random_yaw_min(&self) -> f32 {
        self.random_yaw_min
    }

    pub fn set_random_yaw_min(&mut self, value: f32) {
        self.random_yaw_min = value;
    }

    pub fn random_yaw_max(&self) -> f32 {
        self.random_yaw_max
    }

    pub fn set_random_yaw_max(&mut self, value: f32) {
        self.random_yaw_max = value;
    }

    pub fn pom_height_scale(&self) -> f32 {
        self.pom_height_scale
    }

    pub fn set_pom_height_scale(&mut self, value: f32) {
        self.pom_height_scale = value;
    }

    pub fn pom_sample_min(&self) -> u8 {
        self.pom_sample_min
    }

    pub fn set_pom_sample_min(&mut self, value: u8) {
        self.pom_sample_min = value;
    }

    pub fn pom_sample_max(&self) -> u8 {
        self.pom_sample_max
    }

    pub fn set_pom_sample_max(&mut self, value: u8) {
        self.pom_sample_max = value;
    }

    pub fn blend_mode(&self) -> i8 {
        self.blend_mode
    }

    pub fn set_blend_mode(&mut self, value: i8) {
        self.blend_mode = value;
    }

    pub fn appear_dir_type(&self) -> i8 {
        self.appear_dir_type
    }

    pub fn set_appear_dir_type(&mut self, value: i8) {
        self.appear_dir_type = value;
    }

    pub fn emissive_value_begin(&self) -> f32 {
        self.emissive_value_begin
    }

    pub fn set_emissive_value_begin(&mut self, value: f32) {
        self.emissive_value_begin = value;
    }

    pub fn emissive_value_end(&self) -> f32 {
        self.emissive_value_end
    }

    pub fn set_emissive_value_end(&mut self, value: f32) {
        self.emissive_value_end = value;
    }

    pub fn emissive_time(&self) -> f32 {
        self.emissive_time
    }

    pub fn set_emissive_time(&mut self, value: f32) {
        self.emissive_time = value;
    }

    pub fn b_intp_enable(&self) -> u8 {
        self.b_intp_enable
    }

    pub fn set_b_intp_enable(&mut self, value: u8) {
        self.b_intp_enable = value;
    }

    pub fn intp_interval_dist(&self) -> f32 {
        self.intp_interval_dist
    }

    pub fn set_intp_interval_dist(&mut self, value: f32) {
        self.intp_interval_dist = value;
    }

    pub fn begin_intp_texture_id(&self) -> i32 {
        self.begin_intp_texture_id
    }

    pub fn set_begin_intp_texture_id(&mut self, value: i32) {
        self.begin_intp_texture_id = value;
    }

    pub fn end_intp_texture_id(&self) -> i32 {
        self.end_intp_texture_id
    }

    pub fn set_end_intp_texture_id(&mut self, value: i32) {
        self.end_intp_texture_id = value;
    }

    pub fn appear_sfx_id(&self) -> i32 {
        self.appear_sfx_id
    }

    pub fn set_appear_sfx_id(&mut self, value: i32) {
        self.appear_sfx_id = value;
    }

    pub fn appear_sfx_offset_pos(&self) -> f32 {
        self.appear_sfx_offset_pos
    }

    pub fn set_appear_sfx_offset_pos(&mut self, value: f32) {
        self.appear_sfx_offset_pos = value;
    }

    pub fn mask_texture_id(&self) -> i32 {
        self.mask_texture_id
    }

    pub fn set_mask_texture_id(&mut self, value: i32) {
        self.mask_texture_id = value;
    }

    pub fn diffuse_texture_id(&self) -> i32 {
        self.diffuse_texture_id
    }

    pub fn set_diffuse_texture_id(&mut self, value: i32) {
        self.diffuse_texture_id = value;
    }

    pub fn reflec_texture_id(&self) -> i32 {
        self.reflec_texture_id
    }

    pub fn set_reflec_texture_id(&mut self, value: i32) {
        self.reflec_texture_id = value;
    }

    pub fn mask_scale(&self) -> f32 {
        self.mask_scale
    }

    pub fn set_mask_scale(&mut self, value: f32) {
        self.mask_scale = value;
    }

    pub fn normal_texture_id(&self) -> i32 {
        self.normal_texture_id
    }

    pub fn set_normal_texture_id(&mut self, value: i32) {
        self.normal_texture_id = value;
    }

    pub fn height_texture_id(&self) -> i32 {
        self.height_texture_id
    }

    pub fn set_height_texture_id(&mut self, value: i32) {
        self.height_texture_id = value;
    }

    pub fn emissive_texture_id(&self) -> i32 {
        self.emissive_texture_id
    }

    pub fn set_emissive_texture_id(&mut self, value: i32) {
        self.emissive_texture_id = value;
    }

    pub fn diffuse_color_r(&self) -> u8 {
        self.diffuse_color_r
    }

    pub fn set_diffuse_color_r(&mut self, value: u8) {
        self.diffuse_color_r = value;
    }

    pub fn diffuse_color_g(&self) -> u8 {
        self.diffuse_color_g
    }

    pub fn set_diffuse_color_g(&mut self, value: u8) {
        self.diffuse_color_g = value;
    }

    pub fn diffuse_color_b(&self) -> u8 {
        self.diffuse_color_b
    }

    pub fn set_diffuse_color_b(&mut self, value: u8) {
        self.diffuse_color_b = value;
    }

    pub fn reflec_color_r(&self) -> u8 {
        self.reflec_color_r
    }

    pub fn set_reflec_color_r(&mut self, value: u8) {
        self.reflec_color_r = value;
    }

    pub fn reflec_color_g(&self) -> u8 {
        self.reflec_color_g
    }

    pub fn set_reflec_color_g(&mut self, value: u8) {
        self.reflec_color_g = value;
    }

    pub fn reflec_color_b(&self) -> u8 {
        self.reflec_color_b
    }

    pub fn set_reflec_color_b(&mut self, value: u8) {
        self.reflec_color_b = value;
    }

    pub fn b_life_enable(&self) -> u8 {
        self.b_life_enable
    }

    pub fn set_b_life_enable(&mut self, value: u8) {
        self.b_life_enable = value;
    }

    pub fn sini_scale(&self) -> f32 {
        self.sini_scale
    }

    pub fn set_sini_scale(&mut self, value: f32) {
        self.sini_scale = value;
    }

    pub fn life_time_sec(&self) -> f32 {
        self.life_time_sec
    }

    pub fn set_life_time_sec(&mut self, value: f32) {
        self.life_time_sec = value;
    }

    pub fn fade_out_time_sec(&self) -> f32 {
        self.fade_out_time_sec
    }

    pub fn set_fade_out_time_sec(&mut self, value: f32) {
        self.fade_out_time_sec = value;
    }

    pub fn priority(&self) -> i16 {
        self.priority
    }

    pub fn set_priority(&mut self, value: i16) {
        self.priority = value;
    }

    pub fn b_dist_thin_out_enable(&self) -> u8 {
        self.b_dist_thin_out_enable
    }

    pub fn set_b_dist_thin_out_enable(&mut self, value: u8) {
        self.b_dist_thin_out_enable = value;
    }

    pub fn b_aligned_tex_random_variation_enable(&self) -> u8 {
        self.b_aligned_tex_random_variation_enable
    }

    pub fn set_b_aligned_tex_random_variation_enable(&mut self, value: u8) {
        self.b_aligned_tex_random_variation_enable = value;
    }

    pub fn dist_thin_out_check_dist(&self) -> f32 {
        self.dist_thin_out_check_dist
    }

    pub fn set_dist_thin_out_check_dist(&mut self, value: f32) {
        self.dist_thin_out_check_dist = value;
    }

    pub fn dist_thin_out_check_angle_deg(&self) -> f32 {
        self.dist_thin_out_check_angle_deg
    }

    pub fn set_dist_thin_out_check_angle_deg(&mut self, value: f32) {
        self.dist_thin_out_check_angle_deg = value;
    }

    pub fn dist_thin_out_max_num(&self) -> u8 {
        self.dist_thin_out_max_num
    }

    pub fn set_dist_thin_out_max_num(&mut self, value: u8) {
        self.dist_thin_out_max_num = value;
    }

    pub fn dist_thin_out_check_num(&self) -> u8 {
        self.dist_thin_out_check_num
    }

    pub fn set_dist_thin_out_check_num(&mut self, value: u8) {
        self.dist_thin_out_check_num = value;
    }

    pub fn delay_appear_frame(&self) -> i16 {
        self.delay_appear_frame
    }

    pub fn set_delay_appear_frame(&mut self, value: i16) {
        self.delay_appear_frame = value;
    }

    #[allow(clippy::identity_op)]
    pub fn rand_varia_diffuse(&self) -> u8 {
        (self.bits_b0 >> 0) & 0b00001111
    }

    #[allow(clippy::identity_op)]
    pub fn set_rand_varia_diffuse(&mut self, value: u8) {
        self.bits_b0 = (self.bits_b0 & !(0b00001111 << 0)) | ((value & 0b00001111) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn rand_varia_mask(&self) -> u8 {
        (self.bits_b0 >> 1) & 0b00001111
    }

    #[allow(clippy::identity_op)]
    pub fn set_rand_varia_mask(&mut self, value: u8) {
        self.bits_b0 = (self.bits_b0 & !(0b00001111 << 1)) | ((value & 0b00001111) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn rand_varia_reflec(&self) -> u8 {
        (self.bits_b1 >> 0) & 0b00001111
    }

    #[allow(clippy::identity_op)]
    pub fn set_rand_varia_reflec(&mut self, value: u8) {
        self.bits_b1 = (self.bits_b1 & !(0b00001111 << 0)) | ((value & 0b00001111) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn rand_varia_normal(&self) -> u8 {
        (self.bits_b2 >> 0) & 0b00001111
    }

    #[allow(clippy::identity_op)]
    pub fn set_rand_varia_normal(&mut self, value: u8) {
        self.bits_b2 = (self.bits_b2 & !(0b00001111 << 0)) | ((value & 0b00001111) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn rand_varia_height(&self) -> u8 {
        (self.bits_b2 >> 1) & 0b00001111
    }

    #[allow(clippy::identity_op)]
    pub fn set_rand_varia_height(&mut self, value: u8) {
        self.bits_b2 = (self.bits_b2 & !(0b00001111 << 1)) | ((value & 0b00001111) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn rand_varia_emissive(&self) -> u8 {
        (self.bits_b3 >> 0) & 0b00001111
    }

    #[allow(clippy::identity_op)]
    pub fn set_rand_varia_emissive(&mut self, value: u8) {
        self.bits_b3 = (self.bits_b3 & !(0b00001111 << 0)) | ((value & 0b00001111) << 0);
    }

    pub fn fade_in_time_sec(&self) -> f32 {
        self.fade_in_time_sec
    }

    pub fn set_fade_in_time_sec(&mut self, value: f32) {
        self.fade_in_time_sec = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct DIRECTION_CAMERA_PARAM_ST {
    bits_0: u8,
    pad1: [u8; 15],
}

impl ParamDef for DIRECTION_CAMERA_PARAM_ST {
    const NAME: &str = "DIRECTION_CAMERA_PARAM_ST";
    const INDEX: usize = 21;
}

impl DIRECTION_CAMERA_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn is_use_option(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_option(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_MTRL_SET_PARAM_ST {
    material_id01: i32,
    material_id02: i32,
    material_id03: i32,
    material_id04: i32,
    material_id05: i32,
    item_num01: i8,
    item_num02: i8,
    item_num03: i8,
    item_num04: i8,
    item_num05: i8,
    bits_19: u8,
    pad1: [u8; 6],
}

impl ParamDef for EQUIP_MTRL_SET_PARAM_ST {
    const NAME: &str = "EQUIP_MTRL_SET_PARAM_ST";
    const INDEX: usize = 22;
}

impl EQUIP_MTRL_SET_PARAM_ST {
    pub fn material_id01(&self) -> i32 {
        self.material_id01
    }

    pub fn set_material_id01(&mut self, value: i32) {
        self.material_id01 = value;
    }

    pub fn material_id02(&self) -> i32 {
        self.material_id02
    }

    pub fn set_material_id02(&mut self, value: i32) {
        self.material_id02 = value;
    }

    pub fn material_id03(&self) -> i32 {
        self.material_id03
    }

    pub fn set_material_id03(&mut self, value: i32) {
        self.material_id03 = value;
    }

    pub fn material_id04(&self) -> i32 {
        self.material_id04
    }

    pub fn set_material_id04(&mut self, value: i32) {
        self.material_id04 = value;
    }

    pub fn material_id05(&self) -> i32 {
        self.material_id05
    }

    pub fn set_material_id05(&mut self, value: i32) {
        self.material_id05 = value;
    }

    pub fn item_num01(&self) -> i8 {
        self.item_num01
    }

    pub fn set_item_num01(&mut self, value: i8) {
        self.item_num01 = value;
    }

    pub fn item_num02(&self) -> i8 {
        self.item_num02
    }

    pub fn set_item_num02(&mut self, value: i8) {
        self.item_num02 = value;
    }

    pub fn item_num03(&self) -> i8 {
        self.item_num03
    }

    pub fn set_item_num03(&mut self, value: i8) {
        self.item_num03 = value;
    }

    pub fn item_num04(&self) -> i8 {
        self.item_num04
    }

    pub fn set_item_num04(&mut self, value: i8) {
        self.item_num04 = value;
    }

    pub fn item_num05(&self) -> i8 {
        self.item_num05
    }

    pub fn set_item_num05(&mut self, value: i8) {
        self.item_num05 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num01(&self) -> u8 {
        (self.bits_19 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num01(&mut self, value: u8) {
        self.bits_19 = (self.bits_19 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num02(&self) -> u8 {
        (self.bits_19 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num02(&mut self, value: u8) {
        self.bits_19 = (self.bits_19 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num03(&self) -> u8 {
        (self.bits_19 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num03(&mut self, value: u8) {
        self.bits_19 = (self.bits_19 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num04(&self) -> u8 {
        (self.bits_19 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num04(&mut self, value: u8) {
        self.bits_19 = (self.bits_19 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num05(&self) -> u8 {
        (self.bits_19 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num05(&mut self, value: u8) {
        self.bits_19 = (self.bits_19 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_PARAM_ACCESSORY_ST {
    ref_id: i32,
    sfx_variation_id: i32,
    weight: f32,
    behavior_id: i32,
    basic_price: i32,
    sell_value: i32,
    sort_id: i32,
    qwc_id: i32,
    equip_model_id: i16,
    icon_id: i16,
    shop_lv: i16,
    trophy_s_grade_id: i16,
    trophy_seq_id: i16,
    equip_model_category: u8,
    equip_model_gender: u8,
    accessory_category: u8,
    ref_category: u8,
    sp_effect_category: u8,
    pad1: [u8; 1],
    vagrant_item_lot_id: i32,
    vagrant_bonus_ene_drop_item_lot_id: i32,
    vagrant_item_ene_drop_item_lot_id: i32,
    bits_3c: u8,
    pad2: [u8; 3],
    sale_value: i32,
    accessory_group: i16,
    vow_id: u8,
    comp_trophy_sed_id: u8,
    resident_sp_effect_id1: i32,
    resident_sp_effect_id2: i32,
    resident_sp_effect_id3: i32,
    resident_sp_effect_id4: i32,
    pad3: [u8; 8],
}

impl ParamDef for EQUIP_PARAM_ACCESSORY_ST {
    const NAME: &str = "EQUIP_PARAM_ACCESSORY_ST";
    const INDEX: usize = 23;
}

impl EQUIP_PARAM_ACCESSORY_ST {
    pub fn ref_id(&self) -> i32 {
        self.ref_id
    }

    pub fn set_ref_id(&mut self, value: i32) {
        self.ref_id = value;
    }

    pub fn sfx_variation_id(&self) -> i32 {
        self.sfx_variation_id
    }

    pub fn set_sfx_variation_id(&mut self, value: i32) {
        self.sfx_variation_id = value;
    }

    pub fn weight(&self) -> f32 {
        self.weight
    }

    pub fn set_weight(&mut self, value: f32) {
        self.weight = value;
    }

    pub fn behavior_id(&self) -> i32 {
        self.behavior_id
    }

    pub fn set_behavior_id(&mut self, value: i32) {
        self.behavior_id = value;
    }

    pub fn basic_price(&self) -> i32 {
        self.basic_price
    }

    pub fn set_basic_price(&mut self, value: i32) {
        self.basic_price = value;
    }

    pub fn sell_value(&self) -> i32 {
        self.sell_value
    }

    pub fn set_sell_value(&mut self, value: i32) {
        self.sell_value = value;
    }

    pub fn sort_id(&self) -> i32 {
        self.sort_id
    }

    pub fn set_sort_id(&mut self, value: i32) {
        self.sort_id = value;
    }

    pub fn qwc_id(&self) -> i32 {
        self.qwc_id
    }

    pub fn set_qwc_id(&mut self, value: i32) {
        self.qwc_id = value;
    }

    pub fn equip_model_id(&self) -> i16 {
        self.equip_model_id
    }

    pub fn set_equip_model_id(&mut self, value: i16) {
        self.equip_model_id = value;
    }

    pub fn icon_id(&self) -> i16 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i16) {
        self.icon_id = value;
    }

    pub fn shop_lv(&self) -> i16 {
        self.shop_lv
    }

    pub fn set_shop_lv(&mut self, value: i16) {
        self.shop_lv = value;
    }

    pub fn trophy_s_grade_id(&self) -> i16 {
        self.trophy_s_grade_id
    }

    pub fn set_trophy_s_grade_id(&mut self, value: i16) {
        self.trophy_s_grade_id = value;
    }

    pub fn trophy_seq_id(&self) -> i16 {
        self.trophy_seq_id
    }

    pub fn set_trophy_seq_id(&mut self, value: i16) {
        self.trophy_seq_id = value;
    }

    pub fn equip_model_category(&self) -> u8 {
        self.equip_model_category
    }

    pub fn set_equip_model_category(&mut self, value: u8) {
        self.equip_model_category = value;
    }

    pub fn equip_model_gender(&self) -> u8 {
        self.equip_model_gender
    }

    pub fn set_equip_model_gender(&mut self, value: u8) {
        self.equip_model_gender = value;
    }

    pub fn accessory_category(&self) -> u8 {
        self.accessory_category
    }

    pub fn set_accessory_category(&mut self, value: u8) {
        self.accessory_category = value;
    }

    pub fn ref_category(&self) -> u8 {
        self.ref_category
    }

    pub fn set_ref_category(&mut self, value: u8) {
        self.ref_category = value;
    }

    pub fn sp_effect_category(&self) -> u8 {
        self.sp_effect_category
    }

    pub fn set_sp_effect_category(&mut self, value: u8) {
        self.sp_effect_category = value;
    }

    pub fn vagrant_item_lot_id(&self) -> i32 {
        self.vagrant_item_lot_id
    }

    pub fn set_vagrant_item_lot_id(&mut self, value: i32) {
        self.vagrant_item_lot_id = value;
    }

    pub fn vagrant_bonus_ene_drop_item_lot_id(&self) -> i32 {
        self.vagrant_bonus_ene_drop_item_lot_id
    }

    pub fn set_vagrant_bonus_ene_drop_item_lot_id(&mut self, value: i32) {
        self.vagrant_bonus_ene_drop_item_lot_id = value;
    }

    pub fn vagrant_item_ene_drop_item_lot_id(&self) -> i32 {
        self.vagrant_item_ene_drop_item_lot_id
    }

    pub fn set_vagrant_item_ene_drop_item_lot_id(&mut self, value: i32) {
        self.vagrant_item_ene_drop_item_lot_id = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_deposit(&self) -> u8 {
        (self.bits_3c >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_deposit(&mut self, value: u8) {
        self.bits_3c = (self.bits_3c & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_equip_out_brake(&self) -> u8 {
        (self.bits_3c >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_equip_out_brake(&mut self, value: u8) {
        self.bits_3c = (self.bits_3c & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_multi_drop_share(&self) -> u8 {
        (self.bits_3c >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_multi_drop_share(&mut self, value: u8) {
        self.bits_3c = (self.bits_3c & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_discard(&self) -> u8 {
        (self.bits_3c >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_discard(&mut self, value: u8) {
        self.bits_3c = (self.bits_3c & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_drop(&self) -> u8 {
        (self.bits_3c >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_drop(&mut self, value: u8) {
        self.bits_3c = (self.bits_3c & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn show_log_cond_type(&self) -> u8 {
        (self.bits_3c >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_log_cond_type(&mut self, value: u8) {
        self.bits_3c = (self.bits_3c & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn show_dialog_cond_type(&self) -> u8 {
        (self.bits_3c >> 6) & 0b00000011
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_dialog_cond_type(&mut self, value: u8) {
        self.bits_3c = (self.bits_3c & !(0b00000011 << 6)) | ((value & 0b00000011) << 6);
    }

    pub fn sale_value(&self) -> i32 {
        self.sale_value
    }

    pub fn set_sale_value(&mut self, value: i32) {
        self.sale_value = value;
    }

    pub fn accessory_group(&self) -> i16 {
        self.accessory_group
    }

    pub fn set_accessory_group(&mut self, value: i16) {
        self.accessory_group = value;
    }

    pub fn vow_id(&self) -> u8 {
        self.vow_id
    }

    pub fn set_vow_id(&mut self, value: u8) {
        self.vow_id = value;
    }

    pub fn comp_trophy_sed_id(&self) -> u8 {
        self.comp_trophy_sed_id
    }

    pub fn set_comp_trophy_sed_id(&mut self, value: u8) {
        self.comp_trophy_sed_id = value;
    }

    pub fn resident_sp_effect_id1(&self) -> i32 {
        self.resident_sp_effect_id1
    }

    pub fn set_resident_sp_effect_id1(&mut self, value: i32) {
        self.resident_sp_effect_id1 = value;
    }

    pub fn resident_sp_effect_id2(&self) -> i32 {
        self.resident_sp_effect_id2
    }

    pub fn set_resident_sp_effect_id2(&mut self, value: i32) {
        self.resident_sp_effect_id2 = value;
    }

    pub fn resident_sp_effect_id3(&self) -> i32 {
        self.resident_sp_effect_id3
    }

    pub fn set_resident_sp_effect_id3(&mut self, value: i32) {
        self.resident_sp_effect_id3 = value;
    }

    pub fn resident_sp_effect_id4(&self) -> i32 {
        self.resident_sp_effect_id4
    }

    pub fn set_resident_sp_effect_id4(&mut self, value: i32) {
        self.resident_sp_effect_id4 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_PARAM_GOODS_ST {
    ref_id_default: i32,
    sfx_variation_id: i32,
    weight: f32,
    basic_price: i32,
    sell_value: i32,
    behavior_id: i32,
    replace_item_id: i32,
    sort_id: i32,
    appearance_replace_item_id: i32,
    yes_no_dialog_message_id: i32,
    magic_id: i32,
    icon_id: i16,
    model_id: i16,
    shop_lv: i16,
    comp_trophy_sed_id: i16,
    trophy_seq_id: i16,
    max_num: i16,
    consume_hero_point: u8,
    over_dexterity: u8,
    goods_type: u8,
    ref_category: u8,
    sp_effect_category: u8,
    pad3: u8,
    goods_use_anim: i8,
    opme_menu_type: u8,
    use_limit_category: u8,
    replace_category: u8,
    bits_42: u8,
    bits_43: u8,
    bits_44: u8,
    bits_45: u8,
    bits_46: u8,
    bits_47: u8,
    ref_id_1: i32,
    ref_virtual_wep_id: i32,
    vagrant_item_lot_id: i32,
    vagrant_bonus_ene_drop_item_lot_id: i32,
    vagrant_item_ene_drop_item_lot_id: i32,
    cast_sfx_id: i32,
    fire_sfx_id: i32,
    effect_sfx_id: i32,
    bits_68: u8,
    supple_type: u8,
    auto_replenish_type: u8,
    is_drop: u8,
    max_rep_num: i16,
    invade_type: u8,
    pad1: [u8; 1],
    shop_id: i32,
    consume_mp: i16,
    use_limit_category2: i16,
    pad2: [u8; 8],
}

impl ParamDef for EQUIP_PARAM_GOODS_ST {
    const NAME: &str = "EQUIP_PARAM_GOODS_ST";
    const INDEX: usize = 24;
}

impl EQUIP_PARAM_GOODS_ST {
    pub fn ref_id_default(&self) -> i32 {
        self.ref_id_default
    }

    pub fn set_ref_id_default(&mut self, value: i32) {
        self.ref_id_default = value;
    }

    pub fn sfx_variation_id(&self) -> i32 {
        self.sfx_variation_id
    }

    pub fn set_sfx_variation_id(&mut self, value: i32) {
        self.sfx_variation_id = value;
    }

    pub fn weight(&self) -> f32 {
        self.weight
    }

    pub fn set_weight(&mut self, value: f32) {
        self.weight = value;
    }

    pub fn basic_price(&self) -> i32 {
        self.basic_price
    }

    pub fn set_basic_price(&mut self, value: i32) {
        self.basic_price = value;
    }

    pub fn sell_value(&self) -> i32 {
        self.sell_value
    }

    pub fn set_sell_value(&mut self, value: i32) {
        self.sell_value = value;
    }

    pub fn behavior_id(&self) -> i32 {
        self.behavior_id
    }

    pub fn set_behavior_id(&mut self, value: i32) {
        self.behavior_id = value;
    }

    pub fn replace_item_id(&self) -> i32 {
        self.replace_item_id
    }

    pub fn set_replace_item_id(&mut self, value: i32) {
        self.replace_item_id = value;
    }

    pub fn sort_id(&self) -> i32 {
        self.sort_id
    }

    pub fn set_sort_id(&mut self, value: i32) {
        self.sort_id = value;
    }

    pub fn appearance_replace_item_id(&self) -> i32 {
        self.appearance_replace_item_id
    }

    pub fn set_appearance_replace_item_id(&mut self, value: i32) {
        self.appearance_replace_item_id = value;
    }

    pub fn yes_no_dialog_message_id(&self) -> i32 {
        self.yes_no_dialog_message_id
    }

    pub fn set_yes_no_dialog_message_id(&mut self, value: i32) {
        self.yes_no_dialog_message_id = value;
    }

    pub fn magic_id(&self) -> i32 {
        self.magic_id
    }

    pub fn set_magic_id(&mut self, value: i32) {
        self.magic_id = value;
    }

    pub fn icon_id(&self) -> i16 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i16) {
        self.icon_id = value;
    }

    pub fn model_id(&self) -> i16 {
        self.model_id
    }

    pub fn set_model_id(&mut self, value: i16) {
        self.model_id = value;
    }

    pub fn shop_lv(&self) -> i16 {
        self.shop_lv
    }

    pub fn set_shop_lv(&mut self, value: i16) {
        self.shop_lv = value;
    }

    pub fn comp_trophy_sed_id(&self) -> i16 {
        self.comp_trophy_sed_id
    }

    pub fn set_comp_trophy_sed_id(&mut self, value: i16) {
        self.comp_trophy_sed_id = value;
    }

    pub fn trophy_seq_id(&self) -> i16 {
        self.trophy_seq_id
    }

    pub fn set_trophy_seq_id(&mut self, value: i16) {
        self.trophy_seq_id = value;
    }

    pub fn max_num(&self) -> i16 {
        self.max_num
    }

    pub fn set_max_num(&mut self, value: i16) {
        self.max_num = value;
    }

    pub fn consume_hero_point(&self) -> u8 {
        self.consume_hero_point
    }

    pub fn set_consume_hero_point(&mut self, value: u8) {
        self.consume_hero_point = value;
    }

    pub fn over_dexterity(&self) -> u8 {
        self.over_dexterity
    }

    pub fn set_over_dexterity(&mut self, value: u8) {
        self.over_dexterity = value;
    }

    pub fn goods_type(&self) -> u8 {
        self.goods_type
    }

    pub fn set_goods_type(&mut self, value: u8) {
        self.goods_type = value;
    }

    pub fn ref_category(&self) -> u8 {
        self.ref_category
    }

    pub fn set_ref_category(&mut self, value: u8) {
        self.ref_category = value;
    }

    pub fn sp_effect_category(&self) -> u8 {
        self.sp_effect_category
    }

    pub fn set_sp_effect_category(&mut self, value: u8) {
        self.sp_effect_category = value;
    }

    pub fn goods_use_anim(&self) -> i8 {
        self.goods_use_anim
    }

    pub fn set_goods_use_anim(&mut self, value: i8) {
        self.goods_use_anim = value;
    }

    pub fn opme_menu_type(&self) -> u8 {
        self.opme_menu_type
    }

    pub fn set_opme_menu_type(&mut self, value: u8) {
        self.opme_menu_type = value;
    }

    pub fn use_limit_category(&self) -> u8 {
        self.use_limit_category
    }

    pub fn set_use_limit_category(&mut self, value: u8) {
        self.use_limit_category = value;
    }

    pub fn replace_category(&self) -> u8 {
        self.replace_category
    }

    pub fn set_replace_category(&mut self, value: u8) {
        self.replace_category = value;
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type0(&self) -> u8 {
        (self.bits_42 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type0(&mut self, value: u8) {
        self.bits_42 = (self.bits_42 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type1(&self) -> u8 {
        (self.bits_42 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type1(&mut self, value: u8) {
        self.bits_42 = (self.bits_42 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type2(&self) -> u8 {
        (self.bits_42 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type2(&mut self, value: u8) {
        self.bits_42 = (self.bits_42 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type3(&self) -> u8 {
        (self.bits_42 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type3(&mut self, value: u8) {
        self.bits_42 = (self.bits_42 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type4(&self) -> u8 {
        (self.bits_42 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type4(&mut self, value: u8) {
        self.bits_42 = (self.bits_42 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type5(&self) -> u8 {
        (self.bits_42 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type5(&mut self, value: u8) {
        self.bits_42 = (self.bits_42 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type6(&self) -> u8 {
        (self.bits_42 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type6(&mut self, value: u8) {
        self.bits_42 = (self.bits_42 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type7(&self) -> u8 {
        (self.bits_42 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type7(&mut self, value: u8) {
        self.bits_42 = (self.bits_42 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type8(&self) -> u8 {
        (self.bits_43 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type8(&mut self, value: u8) {
        self.bits_43 = (self.bits_43 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type9(&self) -> u8 {
        (self.bits_43 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type9(&mut self, value: u8) {
        self.bits_43 = (self.bits_43 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type10(&self) -> u8 {
        (self.bits_43 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type10(&mut self, value: u8) {
        self.bits_43 = (self.bits_43 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type11(&self) -> u8 {
        (self.bits_43 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type11(&mut self, value: u8) {
        self.bits_43 = (self.bits_43 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type12(&self) -> u8 {
        (self.bits_43 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type12(&mut self, value: u8) {
        self.bits_43 = (self.bits_43 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type13(&self) -> u8 {
        (self.bits_43 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type13(&mut self, value: u8) {
        self.bits_43 = (self.bits_43 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type14(&self) -> u8 {
        (self.bits_43 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type14(&mut self, value: u8) {
        self.bits_43 = (self.bits_43 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type15(&self) -> u8 {
        (self.bits_43 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type15(&mut self, value: u8) {
        self.bits_43 = (self.bits_43 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_live(&self) -> u8 {
        (self.bits_44 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_live(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_gray(&self) -> u8 {
        (self.bits_44 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_gray(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_white(&self) -> u8 {
        (self.bits_44 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_white(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_black(&self) -> u8 {
        (self.bits_44 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_black(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_multi(&self) -> u8 {
        (self.bits_44 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_multi(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_offline(&self) -> u8 {
        (self.bits_44 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_offline(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_equip(&self) -> u8 {
        (self.bits_44 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_equip(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_consume(&self) -> u8 {
        (self.bits_44 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_consume(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_auto_equip(&self) -> u8 {
        (self.bits_45 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_auto_equip(&mut self, value: u8) {
        self.bits_45 = (self.bits_45 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_establishment(&self) -> u8 {
        (self.bits_45 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_establishment(&mut self, value: u8) {
        self.bits_45 = (self.bits_45 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_only_one(&self) -> u8 {
        (self.bits_45 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_only_one(&mut self, value: u8) {
        self.bits_45 = (self.bits_45 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_discard(&self) -> u8 {
        (self.bits_45 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_discard(&mut self, value: u8) {
        self.bits_45 = (self.bits_45 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_deposit(&self) -> u8 {
        (self.bits_45 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_deposit(&mut self, value: u8) {
        self.bits_45 = (self.bits_45 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_hand(&self) -> u8 {
        (self.bits_45 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_hand(&mut self, value: u8) {
        self.bits_45 = (self.bits_45 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_remove_item_for_game_clear(&self) -> u8 {
        (self.bits_45 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_remove_item_for_game_clear(&mut self, value: u8) {
        self.bits_45 = (self.bits_45 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_supple_item(&self) -> u8 {
        (self.bits_45 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_supple_item(&mut self, value: u8) {
        self.bits_45 = (self.bits_45 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_full_supple_item(&self) -> u8 {
        (self.bits_46 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_full_supple_item(&mut self, value: u8) {
        self.bits_46 = (self.bits_46 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enhance(&self) -> u8 {
        (self.bits_46 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enhance(&mut self, value: u8) {
        self.bits_46 = (self.bits_46 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_fix_item(&self) -> u8 {
        (self.bits_46 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_fix_item(&mut self, value: u8) {
        self.bits_46 = (self.bits_46 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_mutli_drop_share(&self) -> u8 {
        (self.bits_46 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_mutli_drop_share(&mut self, value: u8) {
        self.bits_46 = (self.bits_46 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_use_at_coliseum(&self) -> u8 {
        (self.bits_46 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_use_at_coliseum(&mut self, value: u8) {
        self.bits_46 = (self.bits_46 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_use_at_outof_coliseum(&self) -> u8 {
        (self.bits_46 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_use_at_outof_coliseum(&mut self, value: u8) {
        self.bits_46 = (self.bits_46 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_fast_use_item(&self) -> u8 {
        (self.bits_46 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_fast_use_item(&mut self, value: u8) {
        self.bits_46 = (self.bits_46 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_apply_special_effect(&self) -> u8 {
        (self.bits_46 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_apply_special_effect(&mut self, value: u8) {
        self.bits_46 = (self.bits_46 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn sync_num_vary_id(&self) -> u8 {
        (self.bits_47 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_sync_num_vary_id(&mut self, value: u8) {
        self.bits_47 = (self.bits_47 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_ashen_estus_flask(&self) -> u8 {
        (self.bits_47 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ashen_estus_flask(&mut self, value: u8) {
        self.bits_47 = (self.bits_47 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    pub fn ref_id_1(&self) -> i32 {
        self.ref_id_1
    }

    pub fn set_ref_id_1(&mut self, value: i32) {
        self.ref_id_1 = value;
    }

    pub fn ref_virtual_wep_id(&self) -> i32 {
        self.ref_virtual_wep_id
    }

    pub fn set_ref_virtual_wep_id(&mut self, value: i32) {
        self.ref_virtual_wep_id = value;
    }

    pub fn vagrant_item_lot_id(&self) -> i32 {
        self.vagrant_item_lot_id
    }

    pub fn set_vagrant_item_lot_id(&mut self, value: i32) {
        self.vagrant_item_lot_id = value;
    }

    pub fn vagrant_bonus_ene_drop_item_lot_id(&self) -> i32 {
        self.vagrant_bonus_ene_drop_item_lot_id
    }

    pub fn set_vagrant_bonus_ene_drop_item_lot_id(&mut self, value: i32) {
        self.vagrant_bonus_ene_drop_item_lot_id = value;
    }

    pub fn vagrant_item_ene_drop_item_lot_id(&self) -> i32 {
        self.vagrant_item_ene_drop_item_lot_id
    }

    pub fn set_vagrant_item_ene_drop_item_lot_id(&mut self, value: i32) {
        self.vagrant_item_ene_drop_item_lot_id = value;
    }

    pub fn cast_sfx_id(&self) -> i32 {
        self.cast_sfx_id
    }

    pub fn set_cast_sfx_id(&mut self, value: i32) {
        self.cast_sfx_id = value;
    }

    pub fn fire_sfx_id(&self) -> i32 {
        self.fire_sfx_id
    }

    pub fn set_fire_sfx_id(&mut self, value: i32) {
        self.fire_sfx_id = value;
    }

    pub fn effect_sfx_id(&self) -> i32 {
        self.effect_sfx_id
    }

    pub fn set_effect_sfx_id(&mut self, value: i32) {
        self.effect_sfx_id = value;
    }

    #[allow(clippy::identity_op)]
    pub fn enable_active_ember(&self) -> u8 {
        (self.bits_68 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_active_ember(&mut self, value: u8) {
        self.bits_68 = (self.bits_68 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_bonfire_warp_item(&self) -> u8 {
        (self.bits_68 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_bonfire_warp_item(&mut self, value: u8) {
        self.bits_68 = (self.bits_68 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ladder(&self) -> u8 {
        (self.bits_68 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ladder(&mut self, value: u8) {
        self.bits_68 = (self.bits_68 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_multi_play_preparation(&self) -> u8 {
        (self.bits_68 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_multi_play_preparation(&mut self, value: u8) {
        self.bits_68 = (self.bits_68 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn can_multi_use(&self) -> u8 {
        (self.bits_68 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_can_multi_use(&mut self, value: u8) {
        self.bits_68 = (self.bits_68 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_shield_enchant(&self) -> u8 {
        (self.bits_68 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_shield_enchant(&mut self, value: u8) {
        self.bits_68 = (self.bits_68 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_warp_prohibited(&self) -> u8 {
        (self.bits_68 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_warp_prohibited(&mut self, value: u8) {
        self.bits_68 = (self.bits_68 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_multi_penalty_only(&self) -> u8 {
        (self.bits_68 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_multi_penalty_only(&mut self, value: u8) {
        self.bits_68 = (self.bits_68 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn supple_type(&self) -> u8 {
        self.supple_type
    }

    pub fn set_supple_type(&mut self, value: u8) {
        self.supple_type = value;
    }

    pub fn auto_replenish_type(&self) -> u8 {
        self.auto_replenish_type
    }

    pub fn set_auto_replenish_type(&mut self, value: u8) {
        self.auto_replenish_type = value;
    }

    pub fn is_drop(&self) -> u8 {
        self.is_drop
    }

    pub fn set_is_drop(&mut self, value: u8) {
        self.is_drop = value;
    }

    pub fn max_rep_num(&self) -> i16 {
        self.max_rep_num
    }

    pub fn set_max_rep_num(&mut self, value: i16) {
        self.max_rep_num = value;
    }

    pub fn invade_type(&self) -> u8 {
        self.invade_type
    }

    pub fn set_invade_type(&mut self, value: u8) {
        self.invade_type = value;
    }

    pub fn shop_id(&self) -> i32 {
        self.shop_id
    }

    pub fn set_shop_id(&mut self, value: i32) {
        self.shop_id = value;
    }

    pub fn consume_mp(&self) -> i16 {
        self.consume_mp
    }

    pub fn set_consume_mp(&mut self, value: i16) {
        self.consume_mp = value;
    }

    pub fn use_limit_category2(&self) -> i16 {
        self.use_limit_category2
    }

    pub fn set_use_limit_category2(&mut self, value: i16) {
        self.use_limit_category2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_PARAM_PROTECTOR_ST {
    sort_id: i32,
    wandering_equip_id: i32,
    vagrant_item_lot_id: i32,
    vagrant_bonusene_drop_item_lot_id: i32,
    vagrant_item_ene_drop_item_lot_id: i32,
    fix_price: i32,
    basic_price: i32,
    sell_value: i32,
    weight: f32,
    resident_sp_effect_id: i32,
    resident_sp_effect_id2: i32,
    resident_sp_effect_id3: i32,
    material_set_id: i32,
    parts_damage_rate: f32,
    correct_sa_recover: f32,
    origin_equip_pro1: i32,
    origin_equip_pro2: i32,
    origin_equip_pro3: i32,
    origin_equip_pro4: i32,
    origin_equip_pro5: i32,
    origin_equip_pro6: i32,
    origin_equip_pro7: i32,
    origin_equip_pro8: i32,
    origin_equip_pro9: i32,
    origin_equip_pro10: i32,
    origin_equip_pro11: i32,
    origin_equip_pro12: i32,
    origin_equip_pro13: i32,
    origin_equip_pro14: i32,
    origin_equip_pro15: i32,
    origin_equip_pro16: i32,
    face_scale_m_scale_x: f32,
    face_scale_m_scale_z: f32,
    face_scale_m_max_x: f32,
    face_scale_m_max_z: f32,
    face_scale_f_scale_x: f32,
    face_scale_f_scale_z: f32,
    face_scale_f_max_x: f32,
    face_scale_f_max_z: f32,
    qwc_id: i32,
    equip_model_id: i16,
    icon_id_m: i16,
    icon_id_f: i16,
    knockback: i16,
    knockback_bounce_rate: i16,
    durability: i16,
    durability_max: i16,
    sa_durability: i16,
    def_flick_power: i16,
    defense_phys: i16,
    defense_magic: i16,
    defense_fire: i16,
    defense_thunder: i16,
    defense_slash: i16,
    defense_blow: i16,
    defense_thrust: i16,
    resist_poison: i16,
    resist_toxic: i16,
    resist_blood: i16,
    resist_curse: i16,
    reinforce_type_id: i16,
    comp_trophy_sed_id: i16,
    shop_lv: i16,
    knockback_param_id: u8,
    flick_damage_cut_rate: u8,
    equip_model_category: u8,
    equip_model_gender: u8,
    protector_category: u8,
    defense_material: u8,
    defense_material_sfx: u8,
    parts_dmg_type: u8,
    defense_material_weak: u8,
    defense_material_sfx_weak: u8,
    bits_d8: u8,
    bits_d9: u8,
    bits_da: u8,
    bits_db: u8,
    bits_dc: u8,
    bits_dd: u8,
    bits_de: u8,
    bits_df: u8,
    phys_damage_cut_rate: f32,
    slash_damage_cut_rate: f32,
    strike_damage_cut_rate: f32,
    thrust_damage_cut_rate: f32,
    magic_damage_cut_rate: f32,
    fire_damage_cut_rate: f32,
    thunder_damage_cut_rate: f32,
    defense_material_sfx1: u16,
    defense_material_sfx_weak1: u16,
    defense_material1: u16,
    defense_material_weak1: u16,
    defense_material_sfx2: u16,
    defense_material_sfx_weak2: u16,
    foot_material_se: u16,
    defense_material_weak2: u16,
    auto_foot_effect_decal_base_id1: i32,
    toughness_damage_cut_rate: f32,
    pad1: [u8; 4],
    dark_damage_cut_rate: f32,
    defense_dark: i16,
    unk6: u8,
    unk7: u8,
    unk8: i32,
    posture_control_id: i32,
    sale_value: i32,
    resist_frost: i16,
    mask00: u8,
    mask01: u8,
    mask02: u8,
    mask03: u8,
    mask04: u8,
    mask05: u8,
    mask06: u8,
    mask07: u8,
    mask08: u8,
    mask09: u8,
    mask10: u8,
    mask11: u8,
    mask12: u8,
    mask13: u8,
    mask14: u8,
    mask15: u8,
    mask16: u8,
    mask17: u8,
    mask18: u8,
    mask19: u8,
    mask20: u8,
    mask21: u8,
    mask22: u8,
    mask23: u8,
    mask24: u8,
    mask25: u8,
    mask26: u8,
    mask27: u8,
    mask28: u8,
    mask29: u8,
    mask30: u8,
    mask31: u8,
    mask32: u8,
    mask33: u8,
    mask34: u8,
    mask35: u8,
    mask36: u8,
    mask37: u8,
    mask38: u8,
    mask39: u8,
    mask40: u8,
    mask41: u8,
    mask42: u8,
    mask43: u8,
    mask44: u8,
    mask45: u8,
    mask46: u8,
    mask47: u8,
    mask48: u8,
    mask49: u8,
    mask50: u8,
    mask51: u8,
    mask52: u8,
    mask53: u8,
    mask54: u8,
    mask55: u8,
    mask56: u8,
    mask57: u8,
    mask58: u8,
    mask59: u8,
    mask60: u8,
    mask61: u8,
    mask62: u8,
    mask63: u8,
    mask64: u8,
    mask65: u8,
    mask66: u8,
    mask67: u8,
    mask68: u8,
    mask69: u8,
    mask70: u8,
    mask71: u8,
    mask72: u8,
    mask73: u8,
    mask74: u8,
    mask75: u8,
    mask76: u8,
    mask77: u8,
    mask78: u8,
    mask79: u8,
    mask80: u8,
    mask81: u8,
    mask82: u8,
    mask83: u8,
    mask84: u8,
    mask85: u8,
    mask86: u8,
    mask87: u8,
    mask88: u8,
    mask89: u8,
    mask90: u8,
    mask91: u8,
    mask92: u8,
    mask93: u8,
    mask94: u8,
    mask95: u8,
    mask96: u8,
    mask97: u8,
}

impl ParamDef for EQUIP_PARAM_PROTECTOR_ST {
    const NAME: &str = "EQUIP_PARAM_PROTECTOR_ST";
    const INDEX: usize = 25;
}

impl EQUIP_PARAM_PROTECTOR_ST {
    pub fn sort_id(&self) -> i32 {
        self.sort_id
    }

    pub fn set_sort_id(&mut self, value: i32) {
        self.sort_id = value;
    }

    pub fn wandering_equip_id(&self) -> i32 {
        self.wandering_equip_id
    }

    pub fn set_wandering_equip_id(&mut self, value: i32) {
        self.wandering_equip_id = value;
    }

    pub fn vagrant_item_lot_id(&self) -> i32 {
        self.vagrant_item_lot_id
    }

    pub fn set_vagrant_item_lot_id(&mut self, value: i32) {
        self.vagrant_item_lot_id = value;
    }

    pub fn vagrant_bonusene_drop_item_lot_id(&self) -> i32 {
        self.vagrant_bonusene_drop_item_lot_id
    }

    pub fn set_vagrant_bonusene_drop_item_lot_id(&mut self, value: i32) {
        self.vagrant_bonusene_drop_item_lot_id = value;
    }

    pub fn vagrant_item_ene_drop_item_lot_id(&self) -> i32 {
        self.vagrant_item_ene_drop_item_lot_id
    }

    pub fn set_vagrant_item_ene_drop_item_lot_id(&mut self, value: i32) {
        self.vagrant_item_ene_drop_item_lot_id = value;
    }

    pub fn fix_price(&self) -> i32 {
        self.fix_price
    }

    pub fn set_fix_price(&mut self, value: i32) {
        self.fix_price = value;
    }

    pub fn basic_price(&self) -> i32 {
        self.basic_price
    }

    pub fn set_basic_price(&mut self, value: i32) {
        self.basic_price = value;
    }

    pub fn sell_value(&self) -> i32 {
        self.sell_value
    }

    pub fn set_sell_value(&mut self, value: i32) {
        self.sell_value = value;
    }

    pub fn weight(&self) -> f32 {
        self.weight
    }

    pub fn set_weight(&mut self, value: f32) {
        self.weight = value;
    }

    pub fn resident_sp_effect_id(&self) -> i32 {
        self.resident_sp_effect_id
    }

    pub fn set_resident_sp_effect_id(&mut self, value: i32) {
        self.resident_sp_effect_id = value;
    }

    pub fn resident_sp_effect_id2(&self) -> i32 {
        self.resident_sp_effect_id2
    }

    pub fn set_resident_sp_effect_id2(&mut self, value: i32) {
        self.resident_sp_effect_id2 = value;
    }

    pub fn resident_sp_effect_id3(&self) -> i32 {
        self.resident_sp_effect_id3
    }

    pub fn set_resident_sp_effect_id3(&mut self, value: i32) {
        self.resident_sp_effect_id3 = value;
    }

    pub fn material_set_id(&self) -> i32 {
        self.material_set_id
    }

    pub fn set_material_set_id(&mut self, value: i32) {
        self.material_set_id = value;
    }

    pub fn parts_damage_rate(&self) -> f32 {
        self.parts_damage_rate
    }

    pub fn set_parts_damage_rate(&mut self, value: f32) {
        self.parts_damage_rate = value;
    }

    pub fn correct_sa_recover(&self) -> f32 {
        self.correct_sa_recover
    }

    pub fn set_correct_sa_recover(&mut self, value: f32) {
        self.correct_sa_recover = value;
    }

    pub fn origin_equip_pro1(&self) -> i32 {
        self.origin_equip_pro1
    }

    pub fn set_origin_equip_pro1(&mut self, value: i32) {
        self.origin_equip_pro1 = value;
    }

    pub fn origin_equip_pro2(&self) -> i32 {
        self.origin_equip_pro2
    }

    pub fn set_origin_equip_pro2(&mut self, value: i32) {
        self.origin_equip_pro2 = value;
    }

    pub fn origin_equip_pro3(&self) -> i32 {
        self.origin_equip_pro3
    }

    pub fn set_origin_equip_pro3(&mut self, value: i32) {
        self.origin_equip_pro3 = value;
    }

    pub fn origin_equip_pro4(&self) -> i32 {
        self.origin_equip_pro4
    }

    pub fn set_origin_equip_pro4(&mut self, value: i32) {
        self.origin_equip_pro4 = value;
    }

    pub fn origin_equip_pro5(&self) -> i32 {
        self.origin_equip_pro5
    }

    pub fn set_origin_equip_pro5(&mut self, value: i32) {
        self.origin_equip_pro5 = value;
    }

    pub fn origin_equip_pro6(&self) -> i32 {
        self.origin_equip_pro6
    }

    pub fn set_origin_equip_pro6(&mut self, value: i32) {
        self.origin_equip_pro6 = value;
    }

    pub fn origin_equip_pro7(&self) -> i32 {
        self.origin_equip_pro7
    }

    pub fn set_origin_equip_pro7(&mut self, value: i32) {
        self.origin_equip_pro7 = value;
    }

    pub fn origin_equip_pro8(&self) -> i32 {
        self.origin_equip_pro8
    }

    pub fn set_origin_equip_pro8(&mut self, value: i32) {
        self.origin_equip_pro8 = value;
    }

    pub fn origin_equip_pro9(&self) -> i32 {
        self.origin_equip_pro9
    }

    pub fn set_origin_equip_pro9(&mut self, value: i32) {
        self.origin_equip_pro9 = value;
    }

    pub fn origin_equip_pro10(&self) -> i32 {
        self.origin_equip_pro10
    }

    pub fn set_origin_equip_pro10(&mut self, value: i32) {
        self.origin_equip_pro10 = value;
    }

    pub fn origin_equip_pro11(&self) -> i32 {
        self.origin_equip_pro11
    }

    pub fn set_origin_equip_pro11(&mut self, value: i32) {
        self.origin_equip_pro11 = value;
    }

    pub fn origin_equip_pro12(&self) -> i32 {
        self.origin_equip_pro12
    }

    pub fn set_origin_equip_pro12(&mut self, value: i32) {
        self.origin_equip_pro12 = value;
    }

    pub fn origin_equip_pro13(&self) -> i32 {
        self.origin_equip_pro13
    }

    pub fn set_origin_equip_pro13(&mut self, value: i32) {
        self.origin_equip_pro13 = value;
    }

    pub fn origin_equip_pro14(&self) -> i32 {
        self.origin_equip_pro14
    }

    pub fn set_origin_equip_pro14(&mut self, value: i32) {
        self.origin_equip_pro14 = value;
    }

    pub fn origin_equip_pro15(&self) -> i32 {
        self.origin_equip_pro15
    }

    pub fn set_origin_equip_pro15(&mut self, value: i32) {
        self.origin_equip_pro15 = value;
    }

    pub fn origin_equip_pro16(&self) -> i32 {
        self.origin_equip_pro16
    }

    pub fn set_origin_equip_pro16(&mut self, value: i32) {
        self.origin_equip_pro16 = value;
    }

    pub fn face_scale_m_scale_x(&self) -> f32 {
        self.face_scale_m_scale_x
    }

    pub fn set_face_scale_m_scale_x(&mut self, value: f32) {
        self.face_scale_m_scale_x = value;
    }

    pub fn face_scale_m_scale_z(&self) -> f32 {
        self.face_scale_m_scale_z
    }

    pub fn set_face_scale_m_scale_z(&mut self, value: f32) {
        self.face_scale_m_scale_z = value;
    }

    pub fn face_scale_m_max_x(&self) -> f32 {
        self.face_scale_m_max_x
    }

    pub fn set_face_scale_m_max_x(&mut self, value: f32) {
        self.face_scale_m_max_x = value;
    }

    pub fn face_scale_m_max_z(&self) -> f32 {
        self.face_scale_m_max_z
    }

    pub fn set_face_scale_m_max_z(&mut self, value: f32) {
        self.face_scale_m_max_z = value;
    }

    pub fn face_scale_f_scale_x(&self) -> f32 {
        self.face_scale_f_scale_x
    }

    pub fn set_face_scale_f_scale_x(&mut self, value: f32) {
        self.face_scale_f_scale_x = value;
    }

    pub fn face_scale_f_scale_z(&self) -> f32 {
        self.face_scale_f_scale_z
    }

    pub fn set_face_scale_f_scale_z(&mut self, value: f32) {
        self.face_scale_f_scale_z = value;
    }

    pub fn face_scale_f_max_x(&self) -> f32 {
        self.face_scale_f_max_x
    }

    pub fn set_face_scale_f_max_x(&mut self, value: f32) {
        self.face_scale_f_max_x = value;
    }

    pub fn face_scale_f_max_z(&self) -> f32 {
        self.face_scale_f_max_z
    }

    pub fn set_face_scale_f_max_z(&mut self, value: f32) {
        self.face_scale_f_max_z = value;
    }

    pub fn qwc_id(&self) -> i32 {
        self.qwc_id
    }

    pub fn set_qwc_id(&mut self, value: i32) {
        self.qwc_id = value;
    }

    pub fn equip_model_id(&self) -> i16 {
        self.equip_model_id
    }

    pub fn set_equip_model_id(&mut self, value: i16) {
        self.equip_model_id = value;
    }

    pub fn icon_id_m(&self) -> i16 {
        self.icon_id_m
    }

    pub fn set_icon_id_m(&mut self, value: i16) {
        self.icon_id_m = value;
    }

    pub fn icon_id_f(&self) -> i16 {
        self.icon_id_f
    }

    pub fn set_icon_id_f(&mut self, value: i16) {
        self.icon_id_f = value;
    }

    pub fn knockback(&self) -> i16 {
        self.knockback
    }

    pub fn set_knockback(&mut self, value: i16) {
        self.knockback = value;
    }

    pub fn knockback_bounce_rate(&self) -> i16 {
        self.knockback_bounce_rate
    }

    pub fn set_knockback_bounce_rate(&mut self, value: i16) {
        self.knockback_bounce_rate = value;
    }

    pub fn durability(&self) -> i16 {
        self.durability
    }

    pub fn set_durability(&mut self, value: i16) {
        self.durability = value;
    }

    pub fn durability_max(&self) -> i16 {
        self.durability_max
    }

    pub fn set_durability_max(&mut self, value: i16) {
        self.durability_max = value;
    }

    pub fn sa_durability(&self) -> i16 {
        self.sa_durability
    }

    pub fn set_sa_durability(&mut self, value: i16) {
        self.sa_durability = value;
    }

    pub fn def_flick_power(&self) -> i16 {
        self.def_flick_power
    }

    pub fn set_def_flick_power(&mut self, value: i16) {
        self.def_flick_power = value;
    }

    pub fn defense_phys(&self) -> i16 {
        self.defense_phys
    }

    pub fn set_defense_phys(&mut self, value: i16) {
        self.defense_phys = value;
    }

    pub fn defense_magic(&self) -> i16 {
        self.defense_magic
    }

    pub fn set_defense_magic(&mut self, value: i16) {
        self.defense_magic = value;
    }

    pub fn defense_fire(&self) -> i16 {
        self.defense_fire
    }

    pub fn set_defense_fire(&mut self, value: i16) {
        self.defense_fire = value;
    }

    pub fn defense_thunder(&self) -> i16 {
        self.defense_thunder
    }

    pub fn set_defense_thunder(&mut self, value: i16) {
        self.defense_thunder = value;
    }

    pub fn defense_slash(&self) -> i16 {
        self.defense_slash
    }

    pub fn set_defense_slash(&mut self, value: i16) {
        self.defense_slash = value;
    }

    pub fn defense_blow(&self) -> i16 {
        self.defense_blow
    }

    pub fn set_defense_blow(&mut self, value: i16) {
        self.defense_blow = value;
    }

    pub fn defense_thrust(&self) -> i16 {
        self.defense_thrust
    }

    pub fn set_defense_thrust(&mut self, value: i16) {
        self.defense_thrust = value;
    }

    pub fn resist_poison(&self) -> i16 {
        self.resist_poison
    }

    pub fn set_resist_poison(&mut self, value: i16) {
        self.resist_poison = value;
    }

    pub fn resist_toxic(&self) -> i16 {
        self.resist_toxic
    }

    pub fn set_resist_toxic(&mut self, value: i16) {
        self.resist_toxic = value;
    }

    pub fn resist_blood(&self) -> i16 {
        self.resist_blood
    }

    pub fn set_resist_blood(&mut self, value: i16) {
        self.resist_blood = value;
    }

    pub fn resist_curse(&self) -> i16 {
        self.resist_curse
    }

    pub fn set_resist_curse(&mut self, value: i16) {
        self.resist_curse = value;
    }

    pub fn reinforce_type_id(&self) -> i16 {
        self.reinforce_type_id
    }

    pub fn set_reinforce_type_id(&mut self, value: i16) {
        self.reinforce_type_id = value;
    }

    pub fn comp_trophy_sed_id(&self) -> i16 {
        self.comp_trophy_sed_id
    }

    pub fn set_comp_trophy_sed_id(&mut self, value: i16) {
        self.comp_trophy_sed_id = value;
    }

    pub fn shop_lv(&self) -> i16 {
        self.shop_lv
    }

    pub fn set_shop_lv(&mut self, value: i16) {
        self.shop_lv = value;
    }

    pub fn knockback_param_id(&self) -> u8 {
        self.knockback_param_id
    }

    pub fn set_knockback_param_id(&mut self, value: u8) {
        self.knockback_param_id = value;
    }

    pub fn flick_damage_cut_rate(&self) -> u8 {
        self.flick_damage_cut_rate
    }

    pub fn set_flick_damage_cut_rate(&mut self, value: u8) {
        self.flick_damage_cut_rate = value;
    }

    pub fn equip_model_category(&self) -> u8 {
        self.equip_model_category
    }

    pub fn set_equip_model_category(&mut self, value: u8) {
        self.equip_model_category = value;
    }

    pub fn equip_model_gender(&self) -> u8 {
        self.equip_model_gender
    }

    pub fn set_equip_model_gender(&mut self, value: u8) {
        self.equip_model_gender = value;
    }

    pub fn protector_category(&self) -> u8 {
        self.protector_category
    }

    pub fn set_protector_category(&mut self, value: u8) {
        self.protector_category = value;
    }

    pub fn defense_material(&self) -> u8 {
        self.defense_material
    }

    pub fn set_defense_material(&mut self, value: u8) {
        self.defense_material = value;
    }

    pub fn defense_material_sfx(&self) -> u8 {
        self.defense_material_sfx
    }

    pub fn set_defense_material_sfx(&mut self, value: u8) {
        self.defense_material_sfx = value;
    }

    pub fn parts_dmg_type(&self) -> u8 {
        self.parts_dmg_type
    }

    pub fn set_parts_dmg_type(&mut self, value: u8) {
        self.parts_dmg_type = value;
    }

    pub fn defense_material_weak(&self) -> u8 {
        self.defense_material_weak
    }

    pub fn set_defense_material_weak(&mut self, value: u8) {
        self.defense_material_weak = value;
    }

    pub fn defense_material_sfx_weak(&self) -> u8 {
        self.defense_material_sfx_weak
    }

    pub fn set_defense_material_sfx_weak(&mut self, value: u8) {
        self.defense_material_sfx_weak = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_deposit(&self) -> u8 {
        (self.bits_d8 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_deposit(&mut self, value: u8) {
        self.bits_d8 = (self.bits_d8 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn head_equip(&self) -> u8 {
        (self.bits_d8 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_head_equip(&mut self, value: u8) {
        self.bits_d8 = (self.bits_d8 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn body_equip(&self) -> u8 {
        (self.bits_d8 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_body_equip(&mut self, value: u8) {
        self.bits_d8 = (self.bits_d8 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn arm_equip(&self) -> u8 {
        (self.bits_d8 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_arm_equip(&mut self, value: u8) {
        self.bits_d8 = (self.bits_d8 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn leg_equip(&self) -> u8 {
        (self.bits_d8 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_leg_equip(&mut self, value: u8) {
        self.bits_d8 = (self.bits_d8 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn use_face_scale(&self) -> u8 {
        (self.bits_d8 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_face_scale(&mut self, value: u8) {
        self.bits_d8 = (self.bits_d8 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag00(&self) -> u8 {
        (self.bits_d8 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag00(&mut self, value: u8) {
        self.bits_d8 = (self.bits_d8 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag01(&self) -> u8 {
        (self.bits_d8 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag01(&mut self, value: u8) {
        self.bits_d8 = (self.bits_d8 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag02(&self) -> u8 {
        (self.bits_d9 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag02(&mut self, value: u8) {
        self.bits_d9 = (self.bits_d9 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag03(&self) -> u8 {
        (self.bits_d9 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag03(&mut self, value: u8) {
        self.bits_d9 = (self.bits_d9 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag04(&self) -> u8 {
        (self.bits_d9 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag04(&mut self, value: u8) {
        self.bits_d9 = (self.bits_d9 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag05(&self) -> u8 {
        (self.bits_d9 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag05(&mut self, value: u8) {
        self.bits_d9 = (self.bits_d9 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag06(&self) -> u8 {
        (self.bits_d9 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag06(&mut self, value: u8) {
        self.bits_d9 = (self.bits_d9 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag07(&self) -> u8 {
        (self.bits_d9 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag07(&mut self, value: u8) {
        self.bits_d9 = (self.bits_d9 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag08(&self) -> u8 {
        (self.bits_d9 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag08(&mut self, value: u8) {
        self.bits_d9 = (self.bits_d9 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag09(&self) -> u8 {
        (self.bits_d9 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag09(&mut self, value: u8) {
        self.bits_d9 = (self.bits_d9 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag10(&self) -> u8 {
        (self.bits_da >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag10(&mut self, value: u8) {
        self.bits_da = (self.bits_da & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag11(&self) -> u8 {
        (self.bits_da >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag11(&mut self, value: u8) {
        self.bits_da = (self.bits_da & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag12(&self) -> u8 {
        (self.bits_da >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag12(&mut self, value: u8) {
        self.bits_da = (self.bits_da & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag13(&self) -> u8 {
        (self.bits_da >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag13(&mut self, value: u8) {
        self.bits_da = (self.bits_da & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag14(&self) -> u8 {
        (self.bits_da >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag14(&mut self, value: u8) {
        self.bits_da = (self.bits_da & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag15(&self) -> u8 {
        (self.bits_da >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag15(&mut self, value: u8) {
        self.bits_da = (self.bits_da & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag16(&self) -> u8 {
        (self.bits_da >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag16(&mut self, value: u8) {
        self.bits_da = (self.bits_da & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag17(&self) -> u8 {
        (self.bits_da >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag17(&mut self, value: u8) {
        self.bits_da = (self.bits_da & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag18(&self) -> u8 {
        (self.bits_db >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag18(&mut self, value: u8) {
        self.bits_db = (self.bits_db & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag19(&self) -> u8 {
        (self.bits_db >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag19(&mut self, value: u8) {
        self.bits_db = (self.bits_db & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag20(&self) -> u8 {
        (self.bits_db >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag20(&mut self, value: u8) {
        self.bits_db = (self.bits_db & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag21(&self) -> u8 {
        (self.bits_db >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag21(&mut self, value: u8) {
        self.bits_db = (self.bits_db & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag22(&self) -> u8 {
        (self.bits_db >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag22(&mut self, value: u8) {
        self.bits_db = (self.bits_db & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag23(&self) -> u8 {
        (self.bits_db >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag23(&mut self, value: u8) {
        self.bits_db = (self.bits_db & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag24(&self) -> u8 {
        (self.bits_db >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag24(&mut self, value: u8) {
        self.bits_db = (self.bits_db & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag25(&self) -> u8 {
        (self.bits_db >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag25(&mut self, value: u8) {
        self.bits_db = (self.bits_db & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag26(&self) -> u8 {
        (self.bits_dc >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag26(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag27(&self) -> u8 {
        (self.bits_dc >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag27(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag28(&self) -> u8 {
        (self.bits_dc >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag28(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag29(&self) -> u8 {
        (self.bits_dc >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag29(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag30(&self) -> u8 {
        (self.bits_dc >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag30(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag31(&self) -> u8 {
        (self.bits_dc >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag31(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag32(&self) -> u8 {
        (self.bits_dc >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag32(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag33(&self) -> u8 {
        (self.bits_dc >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag33(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag34(&self) -> u8 {
        (self.bits_dd >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag34(&mut self, value: u8) {
        self.bits_dd = (self.bits_dd & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag35(&self) -> u8 {
        (self.bits_dd >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag35(&mut self, value: u8) {
        self.bits_dd = (self.bits_dd & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag36(&self) -> u8 {
        (self.bits_dd >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag36(&mut self, value: u8) {
        self.bits_dd = (self.bits_dd & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag37(&self) -> u8 {
        (self.bits_dd >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag37(&mut self, value: u8) {
        self.bits_dd = (self.bits_dd & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag38(&self) -> u8 {
        (self.bits_dd >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag38(&mut self, value: u8) {
        self.bits_dd = (self.bits_dd & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag39(&self) -> u8 {
        (self.bits_dd >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag39(&mut self, value: u8) {
        self.bits_dd = (self.bits_dd & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag40(&self) -> u8 {
        (self.bits_dd >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag40(&mut self, value: u8) {
        self.bits_dd = (self.bits_dd & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag41(&self) -> u8 {
        (self.bits_dd >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag41(&mut self, value: u8) {
        self.bits_dd = (self.bits_dd & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag42(&self) -> u8 {
        (self.bits_de >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag42(&mut self, value: u8) {
        self.bits_de = (self.bits_de & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag43(&self) -> u8 {
        (self.bits_de >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag43(&mut self, value: u8) {
        self.bits_de = (self.bits_de & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag44(&self) -> u8 {
        (self.bits_de >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag44(&mut self, value: u8) {
        self.bits_de = (self.bits_de & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag45(&self) -> u8 {
        (self.bits_de >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag45(&mut self, value: u8) {
        self.bits_de = (self.bits_de & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag46(&self) -> u8 {
        (self.bits_de >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag46(&mut self, value: u8) {
        self.bits_de = (self.bits_de & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag47(&self) -> u8 {
        (self.bits_de >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag47(&mut self, value: u8) {
        self.bits_de = (self.bits_de & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_multi_drop_share(&self) -> u8 {
        (self.bits_de >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_multi_drop_share(&mut self, value: u8) {
        self.bits_de = (self.bits_de & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn simple_model_for_dlc1(&self) -> u8 {
        (self.bits_de >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_simple_model_for_dlc1(&mut self, value: u8) {
        self.bits_de = (self.bits_de & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_guest_drop0(&self) -> u8 {
        (self.bits_df >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_guest_drop0(&mut self, value: u8) {
        self.bits_df = (self.bits_df & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_guest_drop1(&self) -> u8 {
        (self.bits_df >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_guest_drop1(&mut self, value: u8) {
        self.bits_df = (self.bits_df & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn show_log_cond_type(&self) -> u8 {
        (self.bits_df >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_log_cond_type(&mut self, value: u8) {
        self.bits_df = (self.bits_df & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn show_dialog_cond_type(&self) -> u8 {
        (self.bits_df >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_dialog_cond_type(&mut self, value: u8) {
        self.bits_df = (self.bits_df & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn phys_damage_cut_rate(&self) -> f32 {
        self.phys_damage_cut_rate
    }

    pub fn set_phys_damage_cut_rate(&mut self, value: f32) {
        self.phys_damage_cut_rate = value;
    }

    pub fn slash_damage_cut_rate(&self) -> f32 {
        self.slash_damage_cut_rate
    }

    pub fn set_slash_damage_cut_rate(&mut self, value: f32) {
        self.slash_damage_cut_rate = value;
    }

    pub fn strike_damage_cut_rate(&self) -> f32 {
        self.strike_damage_cut_rate
    }

    pub fn set_strike_damage_cut_rate(&mut self, value: f32) {
        self.strike_damage_cut_rate = value;
    }

    pub fn thrust_damage_cut_rate(&self) -> f32 {
        self.thrust_damage_cut_rate
    }

    pub fn set_thrust_damage_cut_rate(&mut self, value: f32) {
        self.thrust_damage_cut_rate = value;
    }

    pub fn magic_damage_cut_rate(&self) -> f32 {
        self.magic_damage_cut_rate
    }

    pub fn set_magic_damage_cut_rate(&mut self, value: f32) {
        self.magic_damage_cut_rate = value;
    }

    pub fn fire_damage_cut_rate(&self) -> f32 {
        self.fire_damage_cut_rate
    }

    pub fn set_fire_damage_cut_rate(&mut self, value: f32) {
        self.fire_damage_cut_rate = value;
    }

    pub fn thunder_damage_cut_rate(&self) -> f32 {
        self.thunder_damage_cut_rate
    }

    pub fn set_thunder_damage_cut_rate(&mut self, value: f32) {
        self.thunder_damage_cut_rate = value;
    }

    pub fn defense_material_sfx1(&self) -> u16 {
        self.defense_material_sfx1
    }

    pub fn set_defense_material_sfx1(&mut self, value: u16) {
        self.defense_material_sfx1 = value;
    }

    pub fn defense_material_sfx_weak1(&self) -> u16 {
        self.defense_material_sfx_weak1
    }

    pub fn set_defense_material_sfx_weak1(&mut self, value: u16) {
        self.defense_material_sfx_weak1 = value;
    }

    pub fn defense_material1(&self) -> u16 {
        self.defense_material1
    }

    pub fn set_defense_material1(&mut self, value: u16) {
        self.defense_material1 = value;
    }

    pub fn defense_material_weak1(&self) -> u16 {
        self.defense_material_weak1
    }

    pub fn set_defense_material_weak1(&mut self, value: u16) {
        self.defense_material_weak1 = value;
    }

    pub fn defense_material_sfx2(&self) -> u16 {
        self.defense_material_sfx2
    }

    pub fn set_defense_material_sfx2(&mut self, value: u16) {
        self.defense_material_sfx2 = value;
    }

    pub fn defense_material_sfx_weak2(&self) -> u16 {
        self.defense_material_sfx_weak2
    }

    pub fn set_defense_material_sfx_weak2(&mut self, value: u16) {
        self.defense_material_sfx_weak2 = value;
    }

    pub fn foot_material_se(&self) -> u16 {
        self.foot_material_se
    }

    pub fn set_foot_material_se(&mut self, value: u16) {
        self.foot_material_se = value;
    }

    pub fn defense_material_weak2(&self) -> u16 {
        self.defense_material_weak2
    }

    pub fn set_defense_material_weak2(&mut self, value: u16) {
        self.defense_material_weak2 = value;
    }

    pub fn auto_foot_effect_decal_base_id1(&self) -> i32 {
        self.auto_foot_effect_decal_base_id1
    }

    pub fn set_auto_foot_effect_decal_base_id1(&mut self, value: i32) {
        self.auto_foot_effect_decal_base_id1 = value;
    }

    pub fn toughness_damage_cut_rate(&self) -> f32 {
        self.toughness_damage_cut_rate
    }

    pub fn set_toughness_damage_cut_rate(&mut self, value: f32) {
        self.toughness_damage_cut_rate = value;
    }

    pub fn dark_damage_cut_rate(&self) -> f32 {
        self.dark_damage_cut_rate
    }

    pub fn set_dark_damage_cut_rate(&mut self, value: f32) {
        self.dark_damage_cut_rate = value;
    }

    pub fn defense_dark(&self) -> i16 {
        self.defense_dark
    }

    pub fn set_defense_dark(&mut self, value: i16) {
        self.defense_dark = value;
    }

    pub fn posture_control_id(&self) -> i32 {
        self.posture_control_id
    }

    pub fn set_posture_control_id(&mut self, value: i32) {
        self.posture_control_id = value;
    }

    pub fn sale_value(&self) -> i32 {
        self.sale_value
    }

    pub fn set_sale_value(&mut self, value: i32) {
        self.sale_value = value;
    }

    pub fn resist_frost(&self) -> i16 {
        self.resist_frost
    }

    pub fn set_resist_frost(&mut self, value: i16) {
        self.resist_frost = value;
    }

    pub fn mask00(&self) -> u8 {
        self.mask00
    }

    pub fn set_mask00(&mut self, value: u8) {
        self.mask00 = value;
    }

    pub fn mask01(&self) -> u8 {
        self.mask01
    }

    pub fn set_mask01(&mut self, value: u8) {
        self.mask01 = value;
    }

    pub fn mask02(&self) -> u8 {
        self.mask02
    }

    pub fn set_mask02(&mut self, value: u8) {
        self.mask02 = value;
    }

    pub fn mask03(&self) -> u8 {
        self.mask03
    }

    pub fn set_mask03(&mut self, value: u8) {
        self.mask03 = value;
    }

    pub fn mask04(&self) -> u8 {
        self.mask04
    }

    pub fn set_mask04(&mut self, value: u8) {
        self.mask04 = value;
    }

    pub fn mask05(&self) -> u8 {
        self.mask05
    }

    pub fn set_mask05(&mut self, value: u8) {
        self.mask05 = value;
    }

    pub fn mask06(&self) -> u8 {
        self.mask06
    }

    pub fn set_mask06(&mut self, value: u8) {
        self.mask06 = value;
    }

    pub fn mask07(&self) -> u8 {
        self.mask07
    }

    pub fn set_mask07(&mut self, value: u8) {
        self.mask07 = value;
    }

    pub fn mask08(&self) -> u8 {
        self.mask08
    }

    pub fn set_mask08(&mut self, value: u8) {
        self.mask08 = value;
    }

    pub fn mask09(&self) -> u8 {
        self.mask09
    }

    pub fn set_mask09(&mut self, value: u8) {
        self.mask09 = value;
    }

    pub fn mask10(&self) -> u8 {
        self.mask10
    }

    pub fn set_mask10(&mut self, value: u8) {
        self.mask10 = value;
    }

    pub fn mask11(&self) -> u8 {
        self.mask11
    }

    pub fn set_mask11(&mut self, value: u8) {
        self.mask11 = value;
    }

    pub fn mask12(&self) -> u8 {
        self.mask12
    }

    pub fn set_mask12(&mut self, value: u8) {
        self.mask12 = value;
    }

    pub fn mask13(&self) -> u8 {
        self.mask13
    }

    pub fn set_mask13(&mut self, value: u8) {
        self.mask13 = value;
    }

    pub fn mask14(&self) -> u8 {
        self.mask14
    }

    pub fn set_mask14(&mut self, value: u8) {
        self.mask14 = value;
    }

    pub fn mask15(&self) -> u8 {
        self.mask15
    }

    pub fn set_mask15(&mut self, value: u8) {
        self.mask15 = value;
    }

    pub fn mask16(&self) -> u8 {
        self.mask16
    }

    pub fn set_mask16(&mut self, value: u8) {
        self.mask16 = value;
    }

    pub fn mask17(&self) -> u8 {
        self.mask17
    }

    pub fn set_mask17(&mut self, value: u8) {
        self.mask17 = value;
    }

    pub fn mask18(&self) -> u8 {
        self.mask18
    }

    pub fn set_mask18(&mut self, value: u8) {
        self.mask18 = value;
    }

    pub fn mask19(&self) -> u8 {
        self.mask19
    }

    pub fn set_mask19(&mut self, value: u8) {
        self.mask19 = value;
    }

    pub fn mask20(&self) -> u8 {
        self.mask20
    }

    pub fn set_mask20(&mut self, value: u8) {
        self.mask20 = value;
    }

    pub fn mask21(&self) -> u8 {
        self.mask21
    }

    pub fn set_mask21(&mut self, value: u8) {
        self.mask21 = value;
    }

    pub fn mask22(&self) -> u8 {
        self.mask22
    }

    pub fn set_mask22(&mut self, value: u8) {
        self.mask22 = value;
    }

    pub fn mask23(&self) -> u8 {
        self.mask23
    }

    pub fn set_mask23(&mut self, value: u8) {
        self.mask23 = value;
    }

    pub fn mask24(&self) -> u8 {
        self.mask24
    }

    pub fn set_mask24(&mut self, value: u8) {
        self.mask24 = value;
    }

    pub fn mask25(&self) -> u8 {
        self.mask25
    }

    pub fn set_mask25(&mut self, value: u8) {
        self.mask25 = value;
    }

    pub fn mask26(&self) -> u8 {
        self.mask26
    }

    pub fn set_mask26(&mut self, value: u8) {
        self.mask26 = value;
    }

    pub fn mask27(&self) -> u8 {
        self.mask27
    }

    pub fn set_mask27(&mut self, value: u8) {
        self.mask27 = value;
    }

    pub fn mask28(&self) -> u8 {
        self.mask28
    }

    pub fn set_mask28(&mut self, value: u8) {
        self.mask28 = value;
    }

    pub fn mask29(&self) -> u8 {
        self.mask29
    }

    pub fn set_mask29(&mut self, value: u8) {
        self.mask29 = value;
    }

    pub fn mask30(&self) -> u8 {
        self.mask30
    }

    pub fn set_mask30(&mut self, value: u8) {
        self.mask30 = value;
    }

    pub fn mask31(&self) -> u8 {
        self.mask31
    }

    pub fn set_mask31(&mut self, value: u8) {
        self.mask31 = value;
    }

    pub fn mask32(&self) -> u8 {
        self.mask32
    }

    pub fn set_mask32(&mut self, value: u8) {
        self.mask32 = value;
    }

    pub fn mask33(&self) -> u8 {
        self.mask33
    }

    pub fn set_mask33(&mut self, value: u8) {
        self.mask33 = value;
    }

    pub fn mask34(&self) -> u8 {
        self.mask34
    }

    pub fn set_mask34(&mut self, value: u8) {
        self.mask34 = value;
    }

    pub fn mask35(&self) -> u8 {
        self.mask35
    }

    pub fn set_mask35(&mut self, value: u8) {
        self.mask35 = value;
    }

    pub fn mask36(&self) -> u8 {
        self.mask36
    }

    pub fn set_mask36(&mut self, value: u8) {
        self.mask36 = value;
    }

    pub fn mask37(&self) -> u8 {
        self.mask37
    }

    pub fn set_mask37(&mut self, value: u8) {
        self.mask37 = value;
    }

    pub fn mask38(&self) -> u8 {
        self.mask38
    }

    pub fn set_mask38(&mut self, value: u8) {
        self.mask38 = value;
    }

    pub fn mask39(&self) -> u8 {
        self.mask39
    }

    pub fn set_mask39(&mut self, value: u8) {
        self.mask39 = value;
    }

    pub fn mask40(&self) -> u8 {
        self.mask40
    }

    pub fn set_mask40(&mut self, value: u8) {
        self.mask40 = value;
    }

    pub fn mask41(&self) -> u8 {
        self.mask41
    }

    pub fn set_mask41(&mut self, value: u8) {
        self.mask41 = value;
    }

    pub fn mask42(&self) -> u8 {
        self.mask42
    }

    pub fn set_mask42(&mut self, value: u8) {
        self.mask42 = value;
    }

    pub fn mask43(&self) -> u8 {
        self.mask43
    }

    pub fn set_mask43(&mut self, value: u8) {
        self.mask43 = value;
    }

    pub fn mask44(&self) -> u8 {
        self.mask44
    }

    pub fn set_mask44(&mut self, value: u8) {
        self.mask44 = value;
    }

    pub fn mask45(&self) -> u8 {
        self.mask45
    }

    pub fn set_mask45(&mut self, value: u8) {
        self.mask45 = value;
    }

    pub fn mask46(&self) -> u8 {
        self.mask46
    }

    pub fn set_mask46(&mut self, value: u8) {
        self.mask46 = value;
    }

    pub fn mask47(&self) -> u8 {
        self.mask47
    }

    pub fn set_mask47(&mut self, value: u8) {
        self.mask47 = value;
    }

    pub fn mask48(&self) -> u8 {
        self.mask48
    }

    pub fn set_mask48(&mut self, value: u8) {
        self.mask48 = value;
    }

    pub fn mask49(&self) -> u8 {
        self.mask49
    }

    pub fn set_mask49(&mut self, value: u8) {
        self.mask49 = value;
    }

    pub fn mask50(&self) -> u8 {
        self.mask50
    }

    pub fn set_mask50(&mut self, value: u8) {
        self.mask50 = value;
    }

    pub fn mask51(&self) -> u8 {
        self.mask51
    }

    pub fn set_mask51(&mut self, value: u8) {
        self.mask51 = value;
    }

    pub fn mask52(&self) -> u8 {
        self.mask52
    }

    pub fn set_mask52(&mut self, value: u8) {
        self.mask52 = value;
    }

    pub fn mask53(&self) -> u8 {
        self.mask53
    }

    pub fn set_mask53(&mut self, value: u8) {
        self.mask53 = value;
    }

    pub fn mask54(&self) -> u8 {
        self.mask54
    }

    pub fn set_mask54(&mut self, value: u8) {
        self.mask54 = value;
    }

    pub fn mask55(&self) -> u8 {
        self.mask55
    }

    pub fn set_mask55(&mut self, value: u8) {
        self.mask55 = value;
    }

    pub fn mask56(&self) -> u8 {
        self.mask56
    }

    pub fn set_mask56(&mut self, value: u8) {
        self.mask56 = value;
    }

    pub fn mask57(&self) -> u8 {
        self.mask57
    }

    pub fn set_mask57(&mut self, value: u8) {
        self.mask57 = value;
    }

    pub fn mask58(&self) -> u8 {
        self.mask58
    }

    pub fn set_mask58(&mut self, value: u8) {
        self.mask58 = value;
    }

    pub fn mask59(&self) -> u8 {
        self.mask59
    }

    pub fn set_mask59(&mut self, value: u8) {
        self.mask59 = value;
    }

    pub fn mask60(&self) -> u8 {
        self.mask60
    }

    pub fn set_mask60(&mut self, value: u8) {
        self.mask60 = value;
    }

    pub fn mask61(&self) -> u8 {
        self.mask61
    }

    pub fn set_mask61(&mut self, value: u8) {
        self.mask61 = value;
    }

    pub fn mask62(&self) -> u8 {
        self.mask62
    }

    pub fn set_mask62(&mut self, value: u8) {
        self.mask62 = value;
    }

    pub fn mask63(&self) -> u8 {
        self.mask63
    }

    pub fn set_mask63(&mut self, value: u8) {
        self.mask63 = value;
    }

    pub fn mask64(&self) -> u8 {
        self.mask64
    }

    pub fn set_mask64(&mut self, value: u8) {
        self.mask64 = value;
    }

    pub fn mask65(&self) -> u8 {
        self.mask65
    }

    pub fn set_mask65(&mut self, value: u8) {
        self.mask65 = value;
    }

    pub fn mask66(&self) -> u8 {
        self.mask66
    }

    pub fn set_mask66(&mut self, value: u8) {
        self.mask66 = value;
    }

    pub fn mask67(&self) -> u8 {
        self.mask67
    }

    pub fn set_mask67(&mut self, value: u8) {
        self.mask67 = value;
    }

    pub fn mask68(&self) -> u8 {
        self.mask68
    }

    pub fn set_mask68(&mut self, value: u8) {
        self.mask68 = value;
    }

    pub fn mask69(&self) -> u8 {
        self.mask69
    }

    pub fn set_mask69(&mut self, value: u8) {
        self.mask69 = value;
    }

    pub fn mask70(&self) -> u8 {
        self.mask70
    }

    pub fn set_mask70(&mut self, value: u8) {
        self.mask70 = value;
    }

    pub fn mask71(&self) -> u8 {
        self.mask71
    }

    pub fn set_mask71(&mut self, value: u8) {
        self.mask71 = value;
    }

    pub fn mask72(&self) -> u8 {
        self.mask72
    }

    pub fn set_mask72(&mut self, value: u8) {
        self.mask72 = value;
    }

    pub fn mask73(&self) -> u8 {
        self.mask73
    }

    pub fn set_mask73(&mut self, value: u8) {
        self.mask73 = value;
    }

    pub fn mask74(&self) -> u8 {
        self.mask74
    }

    pub fn set_mask74(&mut self, value: u8) {
        self.mask74 = value;
    }

    pub fn mask75(&self) -> u8 {
        self.mask75
    }

    pub fn set_mask75(&mut self, value: u8) {
        self.mask75 = value;
    }

    pub fn mask76(&self) -> u8 {
        self.mask76
    }

    pub fn set_mask76(&mut self, value: u8) {
        self.mask76 = value;
    }

    pub fn mask77(&self) -> u8 {
        self.mask77
    }

    pub fn set_mask77(&mut self, value: u8) {
        self.mask77 = value;
    }

    pub fn mask78(&self) -> u8 {
        self.mask78
    }

    pub fn set_mask78(&mut self, value: u8) {
        self.mask78 = value;
    }

    pub fn mask79(&self) -> u8 {
        self.mask79
    }

    pub fn set_mask79(&mut self, value: u8) {
        self.mask79 = value;
    }

    pub fn mask80(&self) -> u8 {
        self.mask80
    }

    pub fn set_mask80(&mut self, value: u8) {
        self.mask80 = value;
    }

    pub fn mask81(&self) -> u8 {
        self.mask81
    }

    pub fn set_mask81(&mut self, value: u8) {
        self.mask81 = value;
    }

    pub fn mask82(&self) -> u8 {
        self.mask82
    }

    pub fn set_mask82(&mut self, value: u8) {
        self.mask82 = value;
    }

    pub fn mask83(&self) -> u8 {
        self.mask83
    }

    pub fn set_mask83(&mut self, value: u8) {
        self.mask83 = value;
    }

    pub fn mask84(&self) -> u8 {
        self.mask84
    }

    pub fn set_mask84(&mut self, value: u8) {
        self.mask84 = value;
    }

    pub fn mask85(&self) -> u8 {
        self.mask85
    }

    pub fn set_mask85(&mut self, value: u8) {
        self.mask85 = value;
    }

    pub fn mask86(&self) -> u8 {
        self.mask86
    }

    pub fn set_mask86(&mut self, value: u8) {
        self.mask86 = value;
    }

    pub fn mask87(&self) -> u8 {
        self.mask87
    }

    pub fn set_mask87(&mut self, value: u8) {
        self.mask87 = value;
    }

    pub fn mask88(&self) -> u8 {
        self.mask88
    }

    pub fn set_mask88(&mut self, value: u8) {
        self.mask88 = value;
    }

    pub fn mask89(&self) -> u8 {
        self.mask89
    }

    pub fn set_mask89(&mut self, value: u8) {
        self.mask89 = value;
    }

    pub fn mask90(&self) -> u8 {
        self.mask90
    }

    pub fn set_mask90(&mut self, value: u8) {
        self.mask90 = value;
    }

    pub fn mask91(&self) -> u8 {
        self.mask91
    }

    pub fn set_mask91(&mut self, value: u8) {
        self.mask91 = value;
    }

    pub fn mask92(&self) -> u8 {
        self.mask92
    }

    pub fn set_mask92(&mut self, value: u8) {
        self.mask92 = value;
    }

    pub fn mask93(&self) -> u8 {
        self.mask93
    }

    pub fn set_mask93(&mut self, value: u8) {
        self.mask93 = value;
    }

    pub fn mask94(&self) -> u8 {
        self.mask94
    }

    pub fn set_mask94(&mut self, value: u8) {
        self.mask94 = value;
    }

    pub fn mask95(&self) -> u8 {
        self.mask95
    }

    pub fn set_mask95(&mut self, value: u8) {
        self.mask95 = value;
    }

    pub fn mask96(&self) -> u8 {
        self.mask96
    }

    pub fn set_mask96(&mut self, value: u8) {
        self.mask96 = value;
    }

    pub fn mask97(&self) -> u8 {
        self.mask97
    }

    pub fn set_mask97(&mut self, value: u8) {
        self.mask97 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_PARAM_WEAPON_ST {
    behavior_variation_id: i32,
    sort_id: i32,
    wandering_equip_id: i32,
    weight: f32,
    weapon_weight_rate: f32,
    fix_price: i32,
    basic_price: i32,
    sell_value: i32,
    correct_strength: f32,
    correct_agility: f32,
    corret_magic: f32,
    corret_faith: f32,
    phys_guard_cut_rate: f32,
    mag_guard_cut_rate: f32,
    fire_guard_cut_rate: f32,
    thun_guard_cut_rate: f32,
    sp_effect_behavior_id0: i32,
    sp_effect_behavior_id1: i32,
    sp_effect_behavior_id2: i32,
    resident_sp_effect_id0: i32,
    resident_sp_effect_id1: i32,
    resident_sp_effect_id2: i32,
    material_set_id: i32,
    origin_equip_wep0: i32,
    origin_equip_wep1: i32,
    origin_equip_wep2: i32,
    origin_equip_wep3: i32,
    origin_equip_wep4: i32,
    origin_equip_wep5: i32,
    origin_equip_wep6: i32,
    origin_equip_wep7: i32,
    origin_equip_wep8: i32,
    origin_equip_wep9: i32,
    origin_equip_wep10: i32,
    origin_equip_wep11: i32,
    origin_equip_wep12: i32,
    origin_equip_wep13: i32,
    origin_equip_wep14: i32,
    origin_equip_wep15: i32,
    weak_a_damage_rate: f32,
    weak_b_damage_rate: f32,
    weak_c_damage_rate: f32,
    weak_d_damage_rate: f32,
    vagrant_item_lot_id: i32,
    vagrant_bonusene_drop_item_lot_id: i32,
    vagrant_item_ene_drop_item_lot_id: i32,
    equip_model_id: i16,
    icon_id: i16,
    durability: i16,
    duraility_max: i16,
    attack_throw_escape: i16,
    parry_damage_life: i16,
    atk_base_physics: i16,
    atk_base_magic: i16,
    atk_base_fire: i16,
    atk_base_thunder: i16,
    atk_base_stamina: i16,
    sa_weapon_damage: i16,
    sa_durability: i16,
    guard_angle: i16,
    stamina_guard_def: i16,
    reinforce_type_id: i16,
    trophy_s_grade_id: i16,
    trophy_seq_id: i16,
    throw_atk_rate: i16,
    bow_dist_rate: i16,
    equip_model_category: u8,
    equip_model_gender: u8,
    weapon_category: u8,
    wepmotion_category: u8,
    guardmotion_category: u8,
    atk_material: u8,
    def_material: u8,
    def_sfx_material: u8,
    correct_type: u8,
    sp_attribute: u8,
    sp_atk_category: i16,
    wepmotion_one_hand_id: u8,
    wepmotion_both_hand_id: u8,
    proper_strength: u8,
    proper_agility: u8,
    proper_magic: u8,
    proper_faith: u8,
    over_strength: u8,
    attack_base_parry: u8,
    defense_base_parry: u8,
    guard_base_repel: u8,
    attack_base_repel: u8,
    guard_cut_cancel_rate: u8,
    guard_level: u8,
    slash_guard_cut_rate: u8,
    blow_guard_cut_rate: u8,
    thrust_guard_cut_rate: u8,
    poison_guard_resist: u8,
    toxic_guard_resist: u8,
    blood_guard_resist: u8,
    curse_guard_resist: u8,
    atk_attribute: u8,
    bits_101: u8,
    bits_102: u8,
    bits_103: u8,
    bits_104: u8,
    bits_105: u8,
    def_sfx_material1: u16,
    wep_collidable_type0: u8,
    wep_collidable_type1: u8,
    posture_control_id_right: u8,
    posture_control_id_left: u8,
    group0_atk_vfx_id: i32,
    group0_dummy_poly_id0: i32,
    group0_dummy_poly_id1: i32,
    group1_atk_vfx_id: i32,
    group1_dummy_poly_id0: i32,
    group1_dummy_poly_id1: i32,
    group2_atk_vfx_id: i32,
    group2_dummy_poly_id0: i32,
    group2_dummy_poly_id1: i32,
    group3_atk_vfx_id: i32,
    group3_dummy_poly_id0: i32,
    group3_dummy_poly_id1: i32,
    group4_atk_vfx_id: i32,
    group4_dummy_poly_id0: i32,
    group4_dummy_poly_id1: i32,
    group5_atk_vfx_id: i32,
    group5_dummy_poly_id0: i32,
    group5_dummy_poly_id1: i32,
    group6_atk_vfx_id: i32,
    group6_dummy_poly_id0: i32,
    group6_dummy_poly_id1: i32,
    group7_atk_vfx_id: i32,
    group7_dummy_poly_id0: i32,
    group7_dummy_poly_id1: i32,
    def_sfx_material2: i16,
    def_se_material2: i16,
    absorp_param_id: i32,
    toughness_correct_rate: f32,
    bits_178: u8,
    correct_type_magic: u8,
    correct_type_fire: u8,
    correct_type_thunder: u8,
    weak_e_damage_rate: f32,
    weak_f_damage_rate: f32,
    dark_guard_cut_rate: f32,
    atk_base_dark: i16,
    correct_type_dark: u8,
    correct_type_poison: u8,
    sword_art_act_id: i32,
    correct_type_bleed: u8,
    proper_luck: u8,
    freeze_guard_resist: u8,
    auto_replenish_type: u8,
    sword_arts_param_id: i32,
    correct_luck: f32,
    arrow_bolt_equip_id: u32,
    derivation_level_type: u8,
    enchant_sfx_size: u8,
    display_type_id: i16,
    phys_guard_cut_rate_max_correct: f32,
    mag_guard_cut_rate_max_correct: f32,
    fire_guard_cut_rate_max_correct: f32,
    thun_guard_cut_rate_max_correct: f32,
    dark_guard_cut_rate_max_correct: f32,
    poison_guard_resist_max_correct: f32,
    disease_guard_resist_max_correct: f32,
    blood_guard_resist_max_correct: f32,
    curse_guard_resist_max_correct: f32,
    freeze_guard_resist_max_correct: f32,
    stamina_guard_def_max_correct: f32,
    weapon_vfx0: i32,
    weapon_vfx1: i32,
    weapon_vfx2: i32,
    weapon_vfx3: i32,
    weapon_vfx4: i32,
    weapon_vfx5: i32,
    weapon_vfx6: i32,
    weapon_vfx7: i32,
    stamina_consume_rate: f32,
    vs_player_dmg_correct_rate_physics: f32,
    vs_player_dmg_correct_rate_magic: f32,
    vs_player_dmg_correct_rate_fire: f32,
    vs_player_dmg_correct_rate_thunder: f32,
    vs_player_dmg_correct_rate_dark: f32,
    vs_player_dmg_correct_rate_poison: f32,
    vs_player_dmg_correct_rate_blood: f32,
    vs_player_dmg_correct_rate_freeze: f32,
    attainment_wep_status_str: i32,
    attainment_wep_status_dex: i32,
    attainment_wep_status_mag: i32,
    attainment_wep_status_fai: i32,
    attainment_wep_status_luc: i32,
    attack_element_correct_id: i32,
    sale_value: i32,
    reinforce_shop_category: u8,
    max_arrow_quantity: u8,
    bits_232: u8,
    wep_se_id_offset: u8,
    base_change_price: i32,
    level_sync_correct_id: i16,
    pad1: [u8; 38],
}

impl ParamDef for EQUIP_PARAM_WEAPON_ST {
    const NAME: &str = "EQUIP_PARAM_WEAPON_ST";
    const INDEX: usize = 26;
}

impl EQUIP_PARAM_WEAPON_ST {
    pub fn behavior_variation_id(&self) -> i32 {
        self.behavior_variation_id
    }

    pub fn set_behavior_variation_id(&mut self, value: i32) {
        self.behavior_variation_id = value;
    }

    pub fn sort_id(&self) -> i32 {
        self.sort_id
    }

    pub fn set_sort_id(&mut self, value: i32) {
        self.sort_id = value;
    }

    pub fn wandering_equip_id(&self) -> i32 {
        self.wandering_equip_id
    }

    pub fn set_wandering_equip_id(&mut self, value: i32) {
        self.wandering_equip_id = value;
    }

    pub fn weight(&self) -> f32 {
        self.weight
    }

    pub fn set_weight(&mut self, value: f32) {
        self.weight = value;
    }

    pub fn weapon_weight_rate(&self) -> f32 {
        self.weapon_weight_rate
    }

    pub fn set_weapon_weight_rate(&mut self, value: f32) {
        self.weapon_weight_rate = value;
    }

    pub fn fix_price(&self) -> i32 {
        self.fix_price
    }

    pub fn set_fix_price(&mut self, value: i32) {
        self.fix_price = value;
    }

    pub fn basic_price(&self) -> i32 {
        self.basic_price
    }

    pub fn set_basic_price(&mut self, value: i32) {
        self.basic_price = value;
    }

    pub fn sell_value(&self) -> i32 {
        self.sell_value
    }

    pub fn set_sell_value(&mut self, value: i32) {
        self.sell_value = value;
    }

    pub fn correct_strength(&self) -> f32 {
        self.correct_strength
    }

    pub fn set_correct_strength(&mut self, value: f32) {
        self.correct_strength = value;
    }

    pub fn correct_agility(&self) -> f32 {
        self.correct_agility
    }

    pub fn set_correct_agility(&mut self, value: f32) {
        self.correct_agility = value;
    }

    pub fn corret_magic(&self) -> f32 {
        self.corret_magic
    }

    pub fn set_corret_magic(&mut self, value: f32) {
        self.corret_magic = value;
    }

    pub fn corret_faith(&self) -> f32 {
        self.corret_faith
    }

    pub fn set_corret_faith(&mut self, value: f32) {
        self.corret_faith = value;
    }

    pub fn phys_guard_cut_rate(&self) -> f32 {
        self.phys_guard_cut_rate
    }

    pub fn set_phys_guard_cut_rate(&mut self, value: f32) {
        self.phys_guard_cut_rate = value;
    }

    pub fn mag_guard_cut_rate(&self) -> f32 {
        self.mag_guard_cut_rate
    }

    pub fn set_mag_guard_cut_rate(&mut self, value: f32) {
        self.mag_guard_cut_rate = value;
    }

    pub fn fire_guard_cut_rate(&self) -> f32 {
        self.fire_guard_cut_rate
    }

    pub fn set_fire_guard_cut_rate(&mut self, value: f32) {
        self.fire_guard_cut_rate = value;
    }

    pub fn thun_guard_cut_rate(&self) -> f32 {
        self.thun_guard_cut_rate
    }

    pub fn set_thun_guard_cut_rate(&mut self, value: f32) {
        self.thun_guard_cut_rate = value;
    }

    pub fn sp_effect_behavior_id0(&self) -> i32 {
        self.sp_effect_behavior_id0
    }

    pub fn set_sp_effect_behavior_id0(&mut self, value: i32) {
        self.sp_effect_behavior_id0 = value;
    }

    pub fn sp_effect_behavior_id1(&self) -> i32 {
        self.sp_effect_behavior_id1
    }

    pub fn set_sp_effect_behavior_id1(&mut self, value: i32) {
        self.sp_effect_behavior_id1 = value;
    }

    pub fn sp_effect_behavior_id2(&self) -> i32 {
        self.sp_effect_behavior_id2
    }

    pub fn set_sp_effect_behavior_id2(&mut self, value: i32) {
        self.sp_effect_behavior_id2 = value;
    }

    pub fn resident_sp_effect_id0(&self) -> i32 {
        self.resident_sp_effect_id0
    }

    pub fn set_resident_sp_effect_id0(&mut self, value: i32) {
        self.resident_sp_effect_id0 = value;
    }

    pub fn resident_sp_effect_id1(&self) -> i32 {
        self.resident_sp_effect_id1
    }

    pub fn set_resident_sp_effect_id1(&mut self, value: i32) {
        self.resident_sp_effect_id1 = value;
    }

    pub fn resident_sp_effect_id2(&self) -> i32 {
        self.resident_sp_effect_id2
    }

    pub fn set_resident_sp_effect_id2(&mut self, value: i32) {
        self.resident_sp_effect_id2 = value;
    }

    pub fn material_set_id(&self) -> i32 {
        self.material_set_id
    }

    pub fn set_material_set_id(&mut self, value: i32) {
        self.material_set_id = value;
    }

    pub fn origin_equip_wep0(&self) -> i32 {
        self.origin_equip_wep0
    }

    pub fn set_origin_equip_wep0(&mut self, value: i32) {
        self.origin_equip_wep0 = value;
    }

    pub fn origin_equip_wep1(&self) -> i32 {
        self.origin_equip_wep1
    }

    pub fn set_origin_equip_wep1(&mut self, value: i32) {
        self.origin_equip_wep1 = value;
    }

    pub fn origin_equip_wep2(&self) -> i32 {
        self.origin_equip_wep2
    }

    pub fn set_origin_equip_wep2(&mut self, value: i32) {
        self.origin_equip_wep2 = value;
    }

    pub fn origin_equip_wep3(&self) -> i32 {
        self.origin_equip_wep3
    }

    pub fn set_origin_equip_wep3(&mut self, value: i32) {
        self.origin_equip_wep3 = value;
    }

    pub fn origin_equip_wep4(&self) -> i32 {
        self.origin_equip_wep4
    }

    pub fn set_origin_equip_wep4(&mut self, value: i32) {
        self.origin_equip_wep4 = value;
    }

    pub fn origin_equip_wep5(&self) -> i32 {
        self.origin_equip_wep5
    }

    pub fn set_origin_equip_wep5(&mut self, value: i32) {
        self.origin_equip_wep5 = value;
    }

    pub fn origin_equip_wep6(&self) -> i32 {
        self.origin_equip_wep6
    }

    pub fn set_origin_equip_wep6(&mut self, value: i32) {
        self.origin_equip_wep6 = value;
    }

    pub fn origin_equip_wep7(&self) -> i32 {
        self.origin_equip_wep7
    }

    pub fn set_origin_equip_wep7(&mut self, value: i32) {
        self.origin_equip_wep7 = value;
    }

    pub fn origin_equip_wep8(&self) -> i32 {
        self.origin_equip_wep8
    }

    pub fn set_origin_equip_wep8(&mut self, value: i32) {
        self.origin_equip_wep8 = value;
    }

    pub fn origin_equip_wep9(&self) -> i32 {
        self.origin_equip_wep9
    }

    pub fn set_origin_equip_wep9(&mut self, value: i32) {
        self.origin_equip_wep9 = value;
    }

    pub fn origin_equip_wep10(&self) -> i32 {
        self.origin_equip_wep10
    }

    pub fn set_origin_equip_wep10(&mut self, value: i32) {
        self.origin_equip_wep10 = value;
    }

    pub fn origin_equip_wep11(&self) -> i32 {
        self.origin_equip_wep11
    }

    pub fn set_origin_equip_wep11(&mut self, value: i32) {
        self.origin_equip_wep11 = value;
    }

    pub fn origin_equip_wep12(&self) -> i32 {
        self.origin_equip_wep12
    }

    pub fn set_origin_equip_wep12(&mut self, value: i32) {
        self.origin_equip_wep12 = value;
    }

    pub fn origin_equip_wep13(&self) -> i32 {
        self.origin_equip_wep13
    }

    pub fn set_origin_equip_wep13(&mut self, value: i32) {
        self.origin_equip_wep13 = value;
    }

    pub fn origin_equip_wep14(&self) -> i32 {
        self.origin_equip_wep14
    }

    pub fn set_origin_equip_wep14(&mut self, value: i32) {
        self.origin_equip_wep14 = value;
    }

    pub fn origin_equip_wep15(&self) -> i32 {
        self.origin_equip_wep15
    }

    pub fn set_origin_equip_wep15(&mut self, value: i32) {
        self.origin_equip_wep15 = value;
    }

    pub fn weak_a_damage_rate(&self) -> f32 {
        self.weak_a_damage_rate
    }

    pub fn set_weak_a_damage_rate(&mut self, value: f32) {
        self.weak_a_damage_rate = value;
    }

    pub fn weak_b_damage_rate(&self) -> f32 {
        self.weak_b_damage_rate
    }

    pub fn set_weak_b_damage_rate(&mut self, value: f32) {
        self.weak_b_damage_rate = value;
    }

    pub fn weak_c_damage_rate(&self) -> f32 {
        self.weak_c_damage_rate
    }

    pub fn set_weak_c_damage_rate(&mut self, value: f32) {
        self.weak_c_damage_rate = value;
    }

    pub fn weak_d_damage_rate(&self) -> f32 {
        self.weak_d_damage_rate
    }

    pub fn set_weak_d_damage_rate(&mut self, value: f32) {
        self.weak_d_damage_rate = value;
    }

    pub fn vagrant_item_lot_id(&self) -> i32 {
        self.vagrant_item_lot_id
    }

    pub fn set_vagrant_item_lot_id(&mut self, value: i32) {
        self.vagrant_item_lot_id = value;
    }

    pub fn vagrant_bonusene_drop_item_lot_id(&self) -> i32 {
        self.vagrant_bonusene_drop_item_lot_id
    }

    pub fn set_vagrant_bonusene_drop_item_lot_id(&mut self, value: i32) {
        self.vagrant_bonusene_drop_item_lot_id = value;
    }

    pub fn vagrant_item_ene_drop_item_lot_id(&self) -> i32 {
        self.vagrant_item_ene_drop_item_lot_id
    }

    pub fn set_vagrant_item_ene_drop_item_lot_id(&mut self, value: i32) {
        self.vagrant_item_ene_drop_item_lot_id = value;
    }

    pub fn equip_model_id(&self) -> i16 {
        self.equip_model_id
    }

    pub fn set_equip_model_id(&mut self, value: i16) {
        self.equip_model_id = value;
    }

    pub fn icon_id(&self) -> i16 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i16) {
        self.icon_id = value;
    }

    pub fn durability(&self) -> i16 {
        self.durability
    }

    pub fn set_durability(&mut self, value: i16) {
        self.durability = value;
    }

    pub fn duraility_max(&self) -> i16 {
        self.duraility_max
    }

    pub fn set_duraility_max(&mut self, value: i16) {
        self.duraility_max = value;
    }

    pub fn attack_throw_escape(&self) -> i16 {
        self.attack_throw_escape
    }

    pub fn set_attack_throw_escape(&mut self, value: i16) {
        self.attack_throw_escape = value;
    }

    pub fn parry_damage_life(&self) -> i16 {
        self.parry_damage_life
    }

    pub fn set_parry_damage_life(&mut self, value: i16) {
        self.parry_damage_life = value;
    }

    pub fn atk_base_physics(&self) -> i16 {
        self.atk_base_physics
    }

    pub fn set_atk_base_physics(&mut self, value: i16) {
        self.atk_base_physics = value;
    }

    pub fn atk_base_magic(&self) -> i16 {
        self.atk_base_magic
    }

    pub fn set_atk_base_magic(&mut self, value: i16) {
        self.atk_base_magic = value;
    }

    pub fn atk_base_fire(&self) -> i16 {
        self.atk_base_fire
    }

    pub fn set_atk_base_fire(&mut self, value: i16) {
        self.atk_base_fire = value;
    }

    pub fn atk_base_thunder(&self) -> i16 {
        self.atk_base_thunder
    }

    pub fn set_atk_base_thunder(&mut self, value: i16) {
        self.atk_base_thunder = value;
    }

    pub fn atk_base_stamina(&self) -> i16 {
        self.atk_base_stamina
    }

    pub fn set_atk_base_stamina(&mut self, value: i16) {
        self.atk_base_stamina = value;
    }

    pub fn sa_weapon_damage(&self) -> i16 {
        self.sa_weapon_damage
    }

    pub fn set_sa_weapon_damage(&mut self, value: i16) {
        self.sa_weapon_damage = value;
    }

    pub fn sa_durability(&self) -> i16 {
        self.sa_durability
    }

    pub fn set_sa_durability(&mut self, value: i16) {
        self.sa_durability = value;
    }

    pub fn guard_angle(&self) -> i16 {
        self.guard_angle
    }

    pub fn set_guard_angle(&mut self, value: i16) {
        self.guard_angle = value;
    }

    pub fn stamina_guard_def(&self) -> i16 {
        self.stamina_guard_def
    }

    pub fn set_stamina_guard_def(&mut self, value: i16) {
        self.stamina_guard_def = value;
    }

    pub fn reinforce_type_id(&self) -> i16 {
        self.reinforce_type_id
    }

    pub fn set_reinforce_type_id(&mut self, value: i16) {
        self.reinforce_type_id = value;
    }

    pub fn trophy_s_grade_id(&self) -> i16 {
        self.trophy_s_grade_id
    }

    pub fn set_trophy_s_grade_id(&mut self, value: i16) {
        self.trophy_s_grade_id = value;
    }

    pub fn trophy_seq_id(&self) -> i16 {
        self.trophy_seq_id
    }

    pub fn set_trophy_seq_id(&mut self, value: i16) {
        self.trophy_seq_id = value;
    }

    pub fn throw_atk_rate(&self) -> i16 {
        self.throw_atk_rate
    }

    pub fn set_throw_atk_rate(&mut self, value: i16) {
        self.throw_atk_rate = value;
    }

    pub fn bow_dist_rate(&self) -> i16 {
        self.bow_dist_rate
    }

    pub fn set_bow_dist_rate(&mut self, value: i16) {
        self.bow_dist_rate = value;
    }

    pub fn equip_model_category(&self) -> u8 {
        self.equip_model_category
    }

    pub fn set_equip_model_category(&mut self, value: u8) {
        self.equip_model_category = value;
    }

    pub fn equip_model_gender(&self) -> u8 {
        self.equip_model_gender
    }

    pub fn set_equip_model_gender(&mut self, value: u8) {
        self.equip_model_gender = value;
    }

    pub fn weapon_category(&self) -> u8 {
        self.weapon_category
    }

    pub fn set_weapon_category(&mut self, value: u8) {
        self.weapon_category = value;
    }

    pub fn wepmotion_category(&self) -> u8 {
        self.wepmotion_category
    }

    pub fn set_wepmotion_category(&mut self, value: u8) {
        self.wepmotion_category = value;
    }

    pub fn guardmotion_category(&self) -> u8 {
        self.guardmotion_category
    }

    pub fn set_guardmotion_category(&mut self, value: u8) {
        self.guardmotion_category = value;
    }

    pub fn atk_material(&self) -> u8 {
        self.atk_material
    }

    pub fn set_atk_material(&mut self, value: u8) {
        self.atk_material = value;
    }

    pub fn def_material(&self) -> u8 {
        self.def_material
    }

    pub fn set_def_material(&mut self, value: u8) {
        self.def_material = value;
    }

    pub fn def_sfx_material(&self) -> u8 {
        self.def_sfx_material
    }

    pub fn set_def_sfx_material(&mut self, value: u8) {
        self.def_sfx_material = value;
    }

    pub fn correct_type(&self) -> u8 {
        self.correct_type
    }

    pub fn set_correct_type(&mut self, value: u8) {
        self.correct_type = value;
    }

    pub fn sp_attribute(&self) -> u8 {
        self.sp_attribute
    }

    pub fn set_sp_attribute(&mut self, value: u8) {
        self.sp_attribute = value;
    }

    pub fn sp_atk_category(&self) -> i16 {
        self.sp_atk_category
    }

    pub fn set_sp_atk_category(&mut self, value: i16) {
        self.sp_atk_category = value;
    }

    pub fn wepmotion_one_hand_id(&self) -> u8 {
        self.wepmotion_one_hand_id
    }

    pub fn set_wepmotion_one_hand_id(&mut self, value: u8) {
        self.wepmotion_one_hand_id = value;
    }

    pub fn wepmotion_both_hand_id(&self) -> u8 {
        self.wepmotion_both_hand_id
    }

    pub fn set_wepmotion_both_hand_id(&mut self, value: u8) {
        self.wepmotion_both_hand_id = value;
    }

    pub fn proper_strength(&self) -> u8 {
        self.proper_strength
    }

    pub fn set_proper_strength(&mut self, value: u8) {
        self.proper_strength = value;
    }

    pub fn proper_agility(&self) -> u8 {
        self.proper_agility
    }

    pub fn set_proper_agility(&mut self, value: u8) {
        self.proper_agility = value;
    }

    pub fn proper_magic(&self) -> u8 {
        self.proper_magic
    }

    pub fn set_proper_magic(&mut self, value: u8) {
        self.proper_magic = value;
    }

    pub fn proper_faith(&self) -> u8 {
        self.proper_faith
    }

    pub fn set_proper_faith(&mut self, value: u8) {
        self.proper_faith = value;
    }

    pub fn over_strength(&self) -> u8 {
        self.over_strength
    }

    pub fn set_over_strength(&mut self, value: u8) {
        self.over_strength = value;
    }

    pub fn attack_base_parry(&self) -> u8 {
        self.attack_base_parry
    }

    pub fn set_attack_base_parry(&mut self, value: u8) {
        self.attack_base_parry = value;
    }

    pub fn defense_base_parry(&self) -> u8 {
        self.defense_base_parry
    }

    pub fn set_defense_base_parry(&mut self, value: u8) {
        self.defense_base_parry = value;
    }

    pub fn guard_base_repel(&self) -> u8 {
        self.guard_base_repel
    }

    pub fn set_guard_base_repel(&mut self, value: u8) {
        self.guard_base_repel = value;
    }

    pub fn attack_base_repel(&self) -> u8 {
        self.attack_base_repel
    }

    pub fn set_attack_base_repel(&mut self, value: u8) {
        self.attack_base_repel = value;
    }

    pub fn guard_cut_cancel_rate(&self) -> u8 {
        self.guard_cut_cancel_rate
    }

    pub fn set_guard_cut_cancel_rate(&mut self, value: u8) {
        self.guard_cut_cancel_rate = value;
    }

    pub fn guard_level(&self) -> u8 {
        self.guard_level
    }

    pub fn set_guard_level(&mut self, value: u8) {
        self.guard_level = value;
    }

    pub fn slash_guard_cut_rate(&self) -> u8 {
        self.slash_guard_cut_rate
    }

    pub fn set_slash_guard_cut_rate(&mut self, value: u8) {
        self.slash_guard_cut_rate = value;
    }

    pub fn blow_guard_cut_rate(&self) -> u8 {
        self.blow_guard_cut_rate
    }

    pub fn set_blow_guard_cut_rate(&mut self, value: u8) {
        self.blow_guard_cut_rate = value;
    }

    pub fn thrust_guard_cut_rate(&self) -> u8 {
        self.thrust_guard_cut_rate
    }

    pub fn set_thrust_guard_cut_rate(&mut self, value: u8) {
        self.thrust_guard_cut_rate = value;
    }

    pub fn poison_guard_resist(&self) -> u8 {
        self.poison_guard_resist
    }

    pub fn set_poison_guard_resist(&mut self, value: u8) {
        self.poison_guard_resist = value;
    }

    pub fn toxic_guard_resist(&self) -> u8 {
        self.toxic_guard_resist
    }

    pub fn set_toxic_guard_resist(&mut self, value: u8) {
        self.toxic_guard_resist = value;
    }

    pub fn blood_guard_resist(&self) -> u8 {
        self.blood_guard_resist
    }

    pub fn set_blood_guard_resist(&mut self, value: u8) {
        self.blood_guard_resist = value;
    }

    pub fn curse_guard_resist(&self) -> u8 {
        self.curse_guard_resist
    }

    pub fn set_curse_guard_resist(&mut self, value: u8) {
        self.curse_guard_resist = value;
    }

    pub fn atk_attribute(&self) -> u8 {
        self.atk_attribute
    }

    pub fn set_atk_attribute(&mut self, value: u8) {
        self.atk_attribute = value;
    }

    #[allow(clippy::identity_op)]
    pub fn right_hand_equipable(&self) -> u8 {
        (self.bits_101 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_right_hand_equipable(&mut self, value: u8) {
        self.bits_101 = (self.bits_101 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn left_hand_equipable(&self) -> u8 {
        (self.bits_101 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_left_hand_equipable(&mut self, value: u8) {
        self.bits_101 = (self.bits_101 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn both_hand_equipable(&self) -> u8 {
        (self.bits_101 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_both_hand_equipable(&mut self, value: u8) {
        self.bits_101 = (self.bits_101 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn arrow_slot_equipable(&self) -> u8 {
        (self.bits_101 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_arrow_slot_equipable(&mut self, value: u8) {
        self.bits_101 = (self.bits_101 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn bolt_slot_equipable(&self) -> u8 {
        (self.bits_101 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_bolt_slot_equipable(&mut self, value: u8) {
        self.bits_101 = (self.bits_101 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_guard(&self) -> u8 {
        (self.bits_101 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_guard(&mut self, value: u8) {
        self.bits_101 = (self.bits_101 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_parry(&self) -> u8 {
        (self.bits_101 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_parry(&mut self, value: u8) {
        self.bits_101 = (self.bits_101 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_magic(&self) -> u8 {
        (self.bits_101 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_magic(&mut self, value: u8) {
        self.bits_101 = (self.bits_101 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_pyromancy(&self) -> u8 {
        (self.bits_102 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_pyromancy(&mut self, value: u8) {
        self.bits_102 = (self.bits_102 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_miracle(&self) -> u8 {
        (self.bits_102 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_miracle(&mut self, value: u8) {
        self.bits_102 = (self.bits_102 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_vow_magic(&self) -> u8 {
        (self.bits_102 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_vow_magic(&mut self, value: u8) {
        self.bits_102 = (self.bits_102 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_normal_attack_type(&self) -> u8 {
        (self.bits_102 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_normal_attack_type(&mut self, value: u8) {
        self.bits_102 = (self.bits_102 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_blow_attack_type(&self) -> u8 {
        (self.bits_102 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_blow_attack_type(&mut self, value: u8) {
        self.bits_102 = (self.bits_102 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_slash_attack_type(&self) -> u8 {
        (self.bits_102 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_slash_attack_type(&mut self, value: u8) {
        self.bits_102 = (self.bits_102 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_thrust_attack_type(&self) -> u8 {
        (self.bits_102 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_thrust_attack_type(&mut self, value: u8) {
        self.bits_102 = (self.bits_102 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enhance(&self) -> u8 {
        (self.bits_102 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enhance(&mut self, value: u8) {
        self.bits_102 = (self.bits_102 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hero_point_correct(&self) -> u8 {
        (self.bits_103 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hero_point_correct(&mut self, value: u8) {
        self.bits_103 = (self.bits_103 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_custom(&self) -> u8 {
        (self.bits_103 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_custom(&mut self, value: u8) {
        self.bits_103 = (self.bits_103 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_base_change_reset(&self) -> u8 {
        (self.bits_103 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_base_change_reset(&mut self, value: u8) {
        self.bits_103 = (self.bits_103 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_repair(&self) -> u8 {
        (self.bits_103 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_repair(&mut self, value: u8) {
        self.bits_103 = (self.bits_103 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_dark_hand(&self) -> u8 {
        (self.bits_103 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_dark_hand(&mut self, value: u8) {
        self.bits_103 = (self.bits_103 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn simple_model_for_dlc(&self) -> u8 {
        (self.bits_103 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_simple_model_for_dlc(&mut self, value: u8) {
        self.bits_103 = (self.bits_103 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn lantern_wep(&self) -> u8 {
        (self.bits_103 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_lantern_wep(&mut self, value: u8) {
        self.bits_103 = (self.bits_103 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_versus_ghost_wep(&self) -> u8 {
        (self.bits_103 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_versus_ghost_wep(&mut self, value: u8) {
        self.bits_103 = (self.bits_103 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn infusion_icon_a(&self) -> u8 {
        (self.bits_104 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_infusion_icon_a(&mut self, value: u8) {
        self.bits_104 = (self.bits_104 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn infusion_icon_b(&self) -> u8 {
        (self.bits_104 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_infusion_icon_b(&mut self, value: u8) {
        self.bits_104 = (self.bits_104 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn infusion_icon_c(&self) -> u8 {
        (self.bits_104 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_infusion_icon_c(&mut self, value: u8) {
        self.bits_104 = (self.bits_104 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn infusion_icon_d(&self) -> u8 {
        (self.bits_104 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_infusion_icon_d(&mut self, value: u8) {
        self.bits_104 = (self.bits_104 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn infusion_icon_e(&self) -> u8 {
        (self.bits_104 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_infusion_icon_e(&mut self, value: u8) {
        self.bits_104 = (self.bits_104 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn infusion_icon_f(&self) -> u8 {
        (self.bits_104 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_infusion_icon_f(&mut self, value: u8) {
        self.bits_104 = (self.bits_104 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_shoot(&self) -> u8 {
        (self.bits_104 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_shoot(&mut self, value: u8) {
        self.bits_104 = (self.bits_104 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_repository(&self) -> u8 {
        (self.bits_104 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_repository(&mut self, value: u8) {
        self.bits_104 = (self.bits_104 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_multi_drop_share2(&self) -> u8 {
        (self.bits_105 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_multi_drop_share2(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_discard(&self) -> u8 {
        (self.bits_105 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_discard(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_drop(&self) -> u8 {
        (self.bits_105 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_drop(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn show_log_cond_type(&self) -> u8 {
        (self.bits_105 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_log_cond_type(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_throw(&self) -> u8 {
        (self.bits_105 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_throw(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn show_dialog_cond_type(&self) -> u8 {
        (self.bits_105 >> 5) & 0b00000011
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_dialog_cond_type(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000011 << 5)) | ((value & 0b00000011) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_gem_attr(&self) -> u8 {
        (self.bits_105 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_gem_attr(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    pub fn def_sfx_material1(&self) -> u16 {
        self.def_sfx_material1
    }

    pub fn set_def_sfx_material1(&mut self, value: u16) {
        self.def_sfx_material1 = value;
    }

    pub fn wep_collidable_type0(&self) -> u8 {
        self.wep_collidable_type0
    }

    pub fn set_wep_collidable_type0(&mut self, value: u8) {
        self.wep_collidable_type0 = value;
    }

    pub fn wep_collidable_type1(&self) -> u8 {
        self.wep_collidable_type1
    }

    pub fn set_wep_collidable_type1(&mut self, value: u8) {
        self.wep_collidable_type1 = value;
    }

    pub fn posture_control_id_right(&self) -> u8 {
        self.posture_control_id_right
    }

    pub fn set_posture_control_id_right(&mut self, value: u8) {
        self.posture_control_id_right = value;
    }

    pub fn posture_control_id_left(&self) -> u8 {
        self.posture_control_id_left
    }

    pub fn set_posture_control_id_left(&mut self, value: u8) {
        self.posture_control_id_left = value;
    }

    pub fn group0_atk_vfx_id(&self) -> i32 {
        self.group0_atk_vfx_id
    }

    pub fn set_group0_atk_vfx_id(&mut self, value: i32) {
        self.group0_atk_vfx_id = value;
    }

    pub fn group0_dummy_poly_id0(&self) -> i32 {
        self.group0_dummy_poly_id0
    }

    pub fn set_group0_dummy_poly_id0(&mut self, value: i32) {
        self.group0_dummy_poly_id0 = value;
    }

    pub fn group0_dummy_poly_id1(&self) -> i32 {
        self.group0_dummy_poly_id1
    }

    pub fn set_group0_dummy_poly_id1(&mut self, value: i32) {
        self.group0_dummy_poly_id1 = value;
    }

    pub fn group1_atk_vfx_id(&self) -> i32 {
        self.group1_atk_vfx_id
    }

    pub fn set_group1_atk_vfx_id(&mut self, value: i32) {
        self.group1_atk_vfx_id = value;
    }

    pub fn group1_dummy_poly_id0(&self) -> i32 {
        self.group1_dummy_poly_id0
    }

    pub fn set_group1_dummy_poly_id0(&mut self, value: i32) {
        self.group1_dummy_poly_id0 = value;
    }

    pub fn group1_dummy_poly_id1(&self) -> i32 {
        self.group1_dummy_poly_id1
    }

    pub fn set_group1_dummy_poly_id1(&mut self, value: i32) {
        self.group1_dummy_poly_id1 = value;
    }

    pub fn group2_atk_vfx_id(&self) -> i32 {
        self.group2_atk_vfx_id
    }

    pub fn set_group2_atk_vfx_id(&mut self, value: i32) {
        self.group2_atk_vfx_id = value;
    }

    pub fn group2_dummy_poly_id0(&self) -> i32 {
        self.group2_dummy_poly_id0
    }

    pub fn set_group2_dummy_poly_id0(&mut self, value: i32) {
        self.group2_dummy_poly_id0 = value;
    }

    pub fn group2_dummy_poly_id1(&self) -> i32 {
        self.group2_dummy_poly_id1
    }

    pub fn set_group2_dummy_poly_id1(&mut self, value: i32) {
        self.group2_dummy_poly_id1 = value;
    }

    pub fn group3_atk_vfx_id(&self) -> i32 {
        self.group3_atk_vfx_id
    }

    pub fn set_group3_atk_vfx_id(&mut self, value: i32) {
        self.group3_atk_vfx_id = value;
    }

    pub fn group3_dummy_poly_id0(&self) -> i32 {
        self.group3_dummy_poly_id0
    }

    pub fn set_group3_dummy_poly_id0(&mut self, value: i32) {
        self.group3_dummy_poly_id0 = value;
    }

    pub fn group3_dummy_poly_id1(&self) -> i32 {
        self.group3_dummy_poly_id1
    }

    pub fn set_group3_dummy_poly_id1(&mut self, value: i32) {
        self.group3_dummy_poly_id1 = value;
    }

    pub fn group4_atk_vfx_id(&self) -> i32 {
        self.group4_atk_vfx_id
    }

    pub fn set_group4_atk_vfx_id(&mut self, value: i32) {
        self.group4_atk_vfx_id = value;
    }

    pub fn group4_dummy_poly_id0(&self) -> i32 {
        self.group4_dummy_poly_id0
    }

    pub fn set_group4_dummy_poly_id0(&mut self, value: i32) {
        self.group4_dummy_poly_id0 = value;
    }

    pub fn group4_dummy_poly_id1(&self) -> i32 {
        self.group4_dummy_poly_id1
    }

    pub fn set_group4_dummy_poly_id1(&mut self, value: i32) {
        self.group4_dummy_poly_id1 = value;
    }

    pub fn group5_atk_vfx_id(&self) -> i32 {
        self.group5_atk_vfx_id
    }

    pub fn set_group5_atk_vfx_id(&mut self, value: i32) {
        self.group5_atk_vfx_id = value;
    }

    pub fn group5_dummy_poly_id0(&self) -> i32 {
        self.group5_dummy_poly_id0
    }

    pub fn set_group5_dummy_poly_id0(&mut self, value: i32) {
        self.group5_dummy_poly_id0 = value;
    }

    pub fn group5_dummy_poly_id1(&self) -> i32 {
        self.group5_dummy_poly_id1
    }

    pub fn set_group5_dummy_poly_id1(&mut self, value: i32) {
        self.group5_dummy_poly_id1 = value;
    }

    pub fn group6_atk_vfx_id(&self) -> i32 {
        self.group6_atk_vfx_id
    }

    pub fn set_group6_atk_vfx_id(&mut self, value: i32) {
        self.group6_atk_vfx_id = value;
    }

    pub fn group6_dummy_poly_id0(&self) -> i32 {
        self.group6_dummy_poly_id0
    }

    pub fn set_group6_dummy_poly_id0(&mut self, value: i32) {
        self.group6_dummy_poly_id0 = value;
    }

    pub fn group6_dummy_poly_id1(&self) -> i32 {
        self.group6_dummy_poly_id1
    }

    pub fn set_group6_dummy_poly_id1(&mut self, value: i32) {
        self.group6_dummy_poly_id1 = value;
    }

    pub fn group7_atk_vfx_id(&self) -> i32 {
        self.group7_atk_vfx_id
    }

    pub fn set_group7_atk_vfx_id(&mut self, value: i32) {
        self.group7_atk_vfx_id = value;
    }

    pub fn group7_dummy_poly_id0(&self) -> i32 {
        self.group7_dummy_poly_id0
    }

    pub fn set_group7_dummy_poly_id0(&mut self, value: i32) {
        self.group7_dummy_poly_id0 = value;
    }

    pub fn group7_dummy_poly_id1(&self) -> i32 {
        self.group7_dummy_poly_id1
    }

    pub fn set_group7_dummy_poly_id1(&mut self, value: i32) {
        self.group7_dummy_poly_id1 = value;
    }

    pub fn def_sfx_material2(&self) -> i16 {
        self.def_sfx_material2
    }

    pub fn set_def_sfx_material2(&mut self, value: i16) {
        self.def_sfx_material2 = value;
    }

    pub fn def_se_material2(&self) -> i16 {
        self.def_se_material2
    }

    pub fn set_def_se_material2(&mut self, value: i16) {
        self.def_se_material2 = value;
    }

    pub fn absorp_param_id(&self) -> i32 {
        self.absorp_param_id
    }

    pub fn set_absorp_param_id(&mut self, value: i32) {
        self.absorp_param_id = value;
    }

    pub fn toughness_correct_rate(&self) -> f32 {
        self.toughness_correct_rate
    }

    pub fn set_toughness_correct_rate(&mut self, value: f32) {
        self.toughness_correct_rate = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_valid_tough_prot_sa_dmg(&self) -> u8 {
        (self.bits_178 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_valid_tough_prot_sa_dmg(&mut self, value: u8) {
        self.bits_178 = (self.bits_178 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_dual_blade(&self) -> u8 {
        (self.bits_178 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_dual_blade(&mut self, value: u8) {
        self.bits_178 = (self.bits_178 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_auto_equip(&self) -> u8 {
        (self.bits_178 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_auto_equip(&mut self, value: u8) {
        self.bits_178 = (self.bits_178 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_emergency_step(&self) -> u8 {
        (self.bits_178 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_emergency_step(&mut self, value: u8) {
        self.bits_178 = (self.bits_178 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_on_remo(&self) -> u8 {
        (self.bits_178 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_on_remo(&mut self, value: u8) {
        self.bits_178 = (self.bits_178 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    pub fn correct_type_magic(&self) -> u8 {
        self.correct_type_magic
    }

    pub fn set_correct_type_magic(&mut self, value: u8) {
        self.correct_type_magic = value;
    }

    pub fn correct_type_fire(&self) -> u8 {
        self.correct_type_fire
    }

    pub fn set_correct_type_fire(&mut self, value: u8) {
        self.correct_type_fire = value;
    }

    pub fn correct_type_thunder(&self) -> u8 {
        self.correct_type_thunder
    }

    pub fn set_correct_type_thunder(&mut self, value: u8) {
        self.correct_type_thunder = value;
    }

    pub fn weak_e_damage_rate(&self) -> f32 {
        self.weak_e_damage_rate
    }

    pub fn set_weak_e_damage_rate(&mut self, value: f32) {
        self.weak_e_damage_rate = value;
    }

    pub fn weak_f_damage_rate(&self) -> f32 {
        self.weak_f_damage_rate
    }

    pub fn set_weak_f_damage_rate(&mut self, value: f32) {
        self.weak_f_damage_rate = value;
    }

    pub fn dark_guard_cut_rate(&self) -> f32 {
        self.dark_guard_cut_rate
    }

    pub fn set_dark_guard_cut_rate(&mut self, value: f32) {
        self.dark_guard_cut_rate = value;
    }

    pub fn atk_base_dark(&self) -> i16 {
        self.atk_base_dark
    }

    pub fn set_atk_base_dark(&mut self, value: i16) {
        self.atk_base_dark = value;
    }

    pub fn correct_type_dark(&self) -> u8 {
        self.correct_type_dark
    }

    pub fn set_correct_type_dark(&mut self, value: u8) {
        self.correct_type_dark = value;
    }

    pub fn correct_type_poison(&self) -> u8 {
        self.correct_type_poison
    }

    pub fn set_correct_type_poison(&mut self, value: u8) {
        self.correct_type_poison = value;
    }

    pub fn sword_art_act_id(&self) -> i32 {
        self.sword_art_act_id
    }

    pub fn set_sword_art_act_id(&mut self, value: i32) {
        self.sword_art_act_id = value;
    }

    pub fn correct_type_bleed(&self) -> u8 {
        self.correct_type_bleed
    }

    pub fn set_correct_type_bleed(&mut self, value: u8) {
        self.correct_type_bleed = value;
    }

    pub fn proper_luck(&self) -> u8 {
        self.proper_luck
    }

    pub fn set_proper_luck(&mut self, value: u8) {
        self.proper_luck = value;
    }

    pub fn freeze_guard_resist(&self) -> u8 {
        self.freeze_guard_resist
    }

    pub fn set_freeze_guard_resist(&mut self, value: u8) {
        self.freeze_guard_resist = value;
    }

    pub fn auto_replenish_type(&self) -> u8 {
        self.auto_replenish_type
    }

    pub fn set_auto_replenish_type(&mut self, value: u8) {
        self.auto_replenish_type = value;
    }

    pub fn sword_arts_param_id(&self) -> i32 {
        self.sword_arts_param_id
    }

    pub fn set_sword_arts_param_id(&mut self, value: i32) {
        self.sword_arts_param_id = value;
    }

    pub fn correct_luck(&self) -> f32 {
        self.correct_luck
    }

    pub fn set_correct_luck(&mut self, value: f32) {
        self.correct_luck = value;
    }

    pub fn arrow_bolt_equip_id(&self) -> u32 {
        self.arrow_bolt_equip_id
    }

    pub fn set_arrow_bolt_equip_id(&mut self, value: u32) {
        self.arrow_bolt_equip_id = value;
    }

    pub fn derivation_level_type(&self) -> u8 {
        self.derivation_level_type
    }

    pub fn set_derivation_level_type(&mut self, value: u8) {
        self.derivation_level_type = value;
    }

    pub fn enchant_sfx_size(&self) -> u8 {
        self.enchant_sfx_size
    }

    pub fn set_enchant_sfx_size(&mut self, value: u8) {
        self.enchant_sfx_size = value;
    }

    pub fn display_type_id(&self) -> i16 {
        self.display_type_id
    }

    pub fn set_display_type_id(&mut self, value: i16) {
        self.display_type_id = value;
    }

    pub fn phys_guard_cut_rate_max_correct(&self) -> f32 {
        self.phys_guard_cut_rate_max_correct
    }

    pub fn set_phys_guard_cut_rate_max_correct(&mut self, value: f32) {
        self.phys_guard_cut_rate_max_correct = value;
    }

    pub fn mag_guard_cut_rate_max_correct(&self) -> f32 {
        self.mag_guard_cut_rate_max_correct
    }

    pub fn set_mag_guard_cut_rate_max_correct(&mut self, value: f32) {
        self.mag_guard_cut_rate_max_correct = value;
    }

    pub fn fire_guard_cut_rate_max_correct(&self) -> f32 {
        self.fire_guard_cut_rate_max_correct
    }

    pub fn set_fire_guard_cut_rate_max_correct(&mut self, value: f32) {
        self.fire_guard_cut_rate_max_correct = value;
    }

    pub fn thun_guard_cut_rate_max_correct(&self) -> f32 {
        self.thun_guard_cut_rate_max_correct
    }

    pub fn set_thun_guard_cut_rate_max_correct(&mut self, value: f32) {
        self.thun_guard_cut_rate_max_correct = value;
    }

    pub fn dark_guard_cut_rate_max_correct(&self) -> f32 {
        self.dark_guard_cut_rate_max_correct
    }

    pub fn set_dark_guard_cut_rate_max_correct(&mut self, value: f32) {
        self.dark_guard_cut_rate_max_correct = value;
    }

    pub fn poison_guard_resist_max_correct(&self) -> f32 {
        self.poison_guard_resist_max_correct
    }

    pub fn set_poison_guard_resist_max_correct(&mut self, value: f32) {
        self.poison_guard_resist_max_correct = value;
    }

    pub fn disease_guard_resist_max_correct(&self) -> f32 {
        self.disease_guard_resist_max_correct
    }

    pub fn set_disease_guard_resist_max_correct(&mut self, value: f32) {
        self.disease_guard_resist_max_correct = value;
    }

    pub fn blood_guard_resist_max_correct(&self) -> f32 {
        self.blood_guard_resist_max_correct
    }

    pub fn set_blood_guard_resist_max_correct(&mut self, value: f32) {
        self.blood_guard_resist_max_correct = value;
    }

    pub fn curse_guard_resist_max_correct(&self) -> f32 {
        self.curse_guard_resist_max_correct
    }

    pub fn set_curse_guard_resist_max_correct(&mut self, value: f32) {
        self.curse_guard_resist_max_correct = value;
    }

    pub fn freeze_guard_resist_max_correct(&self) -> f32 {
        self.freeze_guard_resist_max_correct
    }

    pub fn set_freeze_guard_resist_max_correct(&mut self, value: f32) {
        self.freeze_guard_resist_max_correct = value;
    }

    pub fn stamina_guard_def_max_correct(&self) -> f32 {
        self.stamina_guard_def_max_correct
    }

    pub fn set_stamina_guard_def_max_correct(&mut self, value: f32) {
        self.stamina_guard_def_max_correct = value;
    }

    pub fn weapon_vfx0(&self) -> i32 {
        self.weapon_vfx0
    }

    pub fn set_weapon_vfx0(&mut self, value: i32) {
        self.weapon_vfx0 = value;
    }

    pub fn weapon_vfx1(&self) -> i32 {
        self.weapon_vfx1
    }

    pub fn set_weapon_vfx1(&mut self, value: i32) {
        self.weapon_vfx1 = value;
    }

    pub fn weapon_vfx2(&self) -> i32 {
        self.weapon_vfx2
    }

    pub fn set_weapon_vfx2(&mut self, value: i32) {
        self.weapon_vfx2 = value;
    }

    pub fn weapon_vfx3(&self) -> i32 {
        self.weapon_vfx3
    }

    pub fn set_weapon_vfx3(&mut self, value: i32) {
        self.weapon_vfx3 = value;
    }

    pub fn weapon_vfx4(&self) -> i32 {
        self.weapon_vfx4
    }

    pub fn set_weapon_vfx4(&mut self, value: i32) {
        self.weapon_vfx4 = value;
    }

    pub fn weapon_vfx5(&self) -> i32 {
        self.weapon_vfx5
    }

    pub fn set_weapon_vfx5(&mut self, value: i32) {
        self.weapon_vfx5 = value;
    }

    pub fn weapon_vfx6(&self) -> i32 {
        self.weapon_vfx6
    }

    pub fn set_weapon_vfx6(&mut self, value: i32) {
        self.weapon_vfx6 = value;
    }

    pub fn weapon_vfx7(&self) -> i32 {
        self.weapon_vfx7
    }

    pub fn set_weapon_vfx7(&mut self, value: i32) {
        self.weapon_vfx7 = value;
    }

    pub fn stamina_consume_rate(&self) -> f32 {
        self.stamina_consume_rate
    }

    pub fn set_stamina_consume_rate(&mut self, value: f32) {
        self.stamina_consume_rate = value;
    }

    pub fn vs_player_dmg_correct_rate_physics(&self) -> f32 {
        self.vs_player_dmg_correct_rate_physics
    }

    pub fn set_vs_player_dmg_correct_rate_physics(&mut self, value: f32) {
        self.vs_player_dmg_correct_rate_physics = value;
    }

    pub fn vs_player_dmg_correct_rate_magic(&self) -> f32 {
        self.vs_player_dmg_correct_rate_magic
    }

    pub fn set_vs_player_dmg_correct_rate_magic(&mut self, value: f32) {
        self.vs_player_dmg_correct_rate_magic = value;
    }

    pub fn vs_player_dmg_correct_rate_fire(&self) -> f32 {
        self.vs_player_dmg_correct_rate_fire
    }

    pub fn set_vs_player_dmg_correct_rate_fire(&mut self, value: f32) {
        self.vs_player_dmg_correct_rate_fire = value;
    }

    pub fn vs_player_dmg_correct_rate_thunder(&self) -> f32 {
        self.vs_player_dmg_correct_rate_thunder
    }

    pub fn set_vs_player_dmg_correct_rate_thunder(&mut self, value: f32) {
        self.vs_player_dmg_correct_rate_thunder = value;
    }

    pub fn vs_player_dmg_correct_rate_dark(&self) -> f32 {
        self.vs_player_dmg_correct_rate_dark
    }

    pub fn set_vs_player_dmg_correct_rate_dark(&mut self, value: f32) {
        self.vs_player_dmg_correct_rate_dark = value;
    }

    pub fn vs_player_dmg_correct_rate_poison(&self) -> f32 {
        self.vs_player_dmg_correct_rate_poison
    }

    pub fn set_vs_player_dmg_correct_rate_poison(&mut self, value: f32) {
        self.vs_player_dmg_correct_rate_poison = value;
    }

    pub fn vs_player_dmg_correct_rate_blood(&self) -> f32 {
        self.vs_player_dmg_correct_rate_blood
    }

    pub fn set_vs_player_dmg_correct_rate_blood(&mut self, value: f32) {
        self.vs_player_dmg_correct_rate_blood = value;
    }

    pub fn vs_player_dmg_correct_rate_freeze(&self) -> f32 {
        self.vs_player_dmg_correct_rate_freeze
    }

    pub fn set_vs_player_dmg_correct_rate_freeze(&mut self, value: f32) {
        self.vs_player_dmg_correct_rate_freeze = value;
    }

    pub fn attainment_wep_status_str(&self) -> i32 {
        self.attainment_wep_status_str
    }

    pub fn set_attainment_wep_status_str(&mut self, value: i32) {
        self.attainment_wep_status_str = value;
    }

    pub fn attainment_wep_status_dex(&self) -> i32 {
        self.attainment_wep_status_dex
    }

    pub fn set_attainment_wep_status_dex(&mut self, value: i32) {
        self.attainment_wep_status_dex = value;
    }

    pub fn attainment_wep_status_mag(&self) -> i32 {
        self.attainment_wep_status_mag
    }

    pub fn set_attainment_wep_status_mag(&mut self, value: i32) {
        self.attainment_wep_status_mag = value;
    }

    pub fn attainment_wep_status_fai(&self) -> i32 {
        self.attainment_wep_status_fai
    }

    pub fn set_attainment_wep_status_fai(&mut self, value: i32) {
        self.attainment_wep_status_fai = value;
    }

    pub fn attainment_wep_status_luc(&self) -> i32 {
        self.attainment_wep_status_luc
    }

    pub fn set_attainment_wep_status_luc(&mut self, value: i32) {
        self.attainment_wep_status_luc = value;
    }

    pub fn attack_element_correct_id(&self) -> i32 {
        self.attack_element_correct_id
    }

    pub fn set_attack_element_correct_id(&mut self, value: i32) {
        self.attack_element_correct_id = value;
    }

    pub fn sale_value(&self) -> i32 {
        self.sale_value
    }

    pub fn set_sale_value(&mut self, value: i32) {
        self.sale_value = value;
    }

    pub fn reinforce_shop_category(&self) -> u8 {
        self.reinforce_shop_category
    }

    pub fn set_reinforce_shop_category(&mut self, value: u8) {
        self.reinforce_shop_category = value;
    }

    pub fn max_arrow_quantity(&self) -> u8 {
        self.max_arrow_quantity
    }

    pub fn set_max_arrow_quantity(&mut self, value: u8) {
        self.max_arrow_quantity = value;
    }

    #[allow(clippy::identity_op)]
    pub fn resident_sfx_1_is_visible_for_hang(&self) -> u8 {
        (self.bits_232 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_resident_sfx_1_is_visible_for_hang(&mut self, value: u8) {
        self.bits_232 = (self.bits_232 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn resident_sfx_2_is_visible_for_hang(&self) -> u8 {
        (self.bits_232 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_resident_sfx_2_is_visible_for_hang(&mut self, value: u8) {
        self.bits_232 = (self.bits_232 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn resident_sfx_3_is_visible_for_hang(&self) -> u8 {
        (self.bits_232 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_resident_sfx_3_is_visible_for_hang(&mut self, value: u8) {
        self.bits_232 = (self.bits_232 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn resident_sfx_4_is_visible_for_hang(&self) -> u8 {
        (self.bits_232 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_resident_sfx_4_is_visible_for_hang(&mut self, value: u8) {
        self.bits_232 = (self.bits_232 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_soul_param_id_change_model0(&self) -> u8 {
        (self.bits_232 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_soul_param_id_change_model0(&mut self, value: u8) {
        self.bits_232 = (self.bits_232 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_soul_param_id_change_model1(&self) -> u8 {
        (self.bits_232 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_soul_param_id_change_model1(&mut self, value: u8) {
        self.bits_232 = (self.bits_232 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_soul_param_id_change_model2(&self) -> u8 {
        (self.bits_232 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_soul_param_id_change_model2(&mut self, value: u8) {
        self.bits_232 = (self.bits_232 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_soul_param_id_change_model3(&self) -> u8 {
        (self.bits_232 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_soul_param_id_change_model3(&mut self, value: u8) {
        self.bits_232 = (self.bits_232 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn wep_se_id_offset(&self) -> u8 {
        self.wep_se_id_offset
    }

    pub fn set_wep_se_id_offset(&mut self, value: u8) {
        self.wep_se_id_offset = value;
    }

    pub fn base_change_price(&self) -> i32 {
        self.base_change_price
    }

    pub fn set_base_change_price(&mut self, value: i32) {
        self.base_change_price = value;
    }

    pub fn level_sync_correct_id(&self) -> i16 {
        self.level_sync_correct_id
    }

    pub fn set_level_sync_correct_id(&mut self, value: i16) {
        self.level_sync_correct_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ESTUS_FLASK_RECOVERY_PARAM_ST {
    host: u8,
    invade_orb_none: u8,
    invade_orb_umbasa: u8,
    invade_orb_berserker: u8,
    invade_orb_sinners: u8,
    invade_sign_none: u8,
    invade_sign_umbasa: u8,
    invade_sign_berserker: u8,
    invade_sign_sinners: u8,
    invade_ring_sinners: u8,
    invade_ring_rosalia: u8,
    invade_ring_forest: u8,
    coop_sign_none: u8,
    coop_sign_umbasa: u8,
    coop_sign_berserker: u8,
    coop_sign_sinners: u8,
    coop_ring_red_hunter: u8,
    invade_ring_anor: u8,
    param_replace_rate: u16,
    param_replace_id: i32,
}

impl ParamDef for ESTUS_FLASK_RECOVERY_PARAM_ST {
    const NAME: &str = "ESTUS_FLASK_RECOVERY_PARAM_ST";
    const INDEX: usize = 42;
}

impl ESTUS_FLASK_RECOVERY_PARAM_ST {
    pub fn host(&self) -> u8 {
        self.host
    }

    pub fn set_host(&mut self, value: u8) {
        self.host = value;
    }

    pub fn invade_orb_none(&self) -> u8 {
        self.invade_orb_none
    }

    pub fn set_invade_orb_none(&mut self, value: u8) {
        self.invade_orb_none = value;
    }

    pub fn invade_orb_umbasa(&self) -> u8 {
        self.invade_orb_umbasa
    }

    pub fn set_invade_orb_umbasa(&mut self, value: u8) {
        self.invade_orb_umbasa = value;
    }

    pub fn invade_orb_berserker(&self) -> u8 {
        self.invade_orb_berserker
    }

    pub fn set_invade_orb_berserker(&mut self, value: u8) {
        self.invade_orb_berserker = value;
    }

    pub fn invade_orb_sinners(&self) -> u8 {
        self.invade_orb_sinners
    }

    pub fn set_invade_orb_sinners(&mut self, value: u8) {
        self.invade_orb_sinners = value;
    }

    pub fn invade_sign_none(&self) -> u8 {
        self.invade_sign_none
    }

    pub fn set_invade_sign_none(&mut self, value: u8) {
        self.invade_sign_none = value;
    }

    pub fn invade_sign_umbasa(&self) -> u8 {
        self.invade_sign_umbasa
    }

    pub fn set_invade_sign_umbasa(&mut self, value: u8) {
        self.invade_sign_umbasa = value;
    }

    pub fn invade_sign_berserker(&self) -> u8 {
        self.invade_sign_berserker
    }

    pub fn set_invade_sign_berserker(&mut self, value: u8) {
        self.invade_sign_berserker = value;
    }

    pub fn invade_sign_sinners(&self) -> u8 {
        self.invade_sign_sinners
    }

    pub fn set_invade_sign_sinners(&mut self, value: u8) {
        self.invade_sign_sinners = value;
    }

    pub fn invade_ring_sinners(&self) -> u8 {
        self.invade_ring_sinners
    }

    pub fn set_invade_ring_sinners(&mut self, value: u8) {
        self.invade_ring_sinners = value;
    }

    pub fn invade_ring_rosalia(&self) -> u8 {
        self.invade_ring_rosalia
    }

    pub fn set_invade_ring_rosalia(&mut self, value: u8) {
        self.invade_ring_rosalia = value;
    }

    pub fn invade_ring_forest(&self) -> u8 {
        self.invade_ring_forest
    }

    pub fn set_invade_ring_forest(&mut self, value: u8) {
        self.invade_ring_forest = value;
    }

    pub fn coop_sign_none(&self) -> u8 {
        self.coop_sign_none
    }

    pub fn set_coop_sign_none(&mut self, value: u8) {
        self.coop_sign_none = value;
    }

    pub fn coop_sign_umbasa(&self) -> u8 {
        self.coop_sign_umbasa
    }

    pub fn set_coop_sign_umbasa(&mut self, value: u8) {
        self.coop_sign_umbasa = value;
    }

    pub fn coop_sign_berserker(&self) -> u8 {
        self.coop_sign_berserker
    }

    pub fn set_coop_sign_berserker(&mut self, value: u8) {
        self.coop_sign_berserker = value;
    }

    pub fn coop_sign_sinners(&self) -> u8 {
        self.coop_sign_sinners
    }

    pub fn set_coop_sign_sinners(&mut self, value: u8) {
        self.coop_sign_sinners = value;
    }

    pub fn coop_ring_red_hunter(&self) -> u8 {
        self.coop_ring_red_hunter
    }

    pub fn set_coop_ring_red_hunter(&mut self, value: u8) {
        self.coop_ring_red_hunter = value;
    }

    pub fn invade_ring_anor(&self) -> u8 {
        self.invade_ring_anor
    }

    pub fn set_invade_ring_anor(&mut self, value: u8) {
        self.invade_ring_anor = value;
    }

    pub fn param_replace_rate(&self) -> u16 {
        self.param_replace_rate
    }

    pub fn set_param_replace_rate(&mut self, value: u16) {
        self.param_replace_rate = value;
    }

    pub fn param_replace_id(&self) -> i32 {
        self.param_replace_id
    }

    pub fn set_param_replace_id(&mut self, value: i32) {
        self.param_replace_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct FACE_GEN_PARAM_ST {
    face_geo_data01: u8,
    face_geo_data02: u8,
    face_geo_data03: u8,
    face_geo_data04: u8,
    face_geo_data05: u8,
    face_geo_data06: u8,
    face_geo_data07: u8,
    face_geo_data08: u8,
    face_geo_data09: u8,
    face_geo_data10: u8,
    face_geo_data11: u8,
    face_geo_data12: u8,
    face_geo_data13: u8,
    face_geo_data14: u8,
    face_geo_data15: u8,
    face_geo_data16: u8,
    face_geo_data17: u8,
    face_geo_data18: u8,
    face_geo_data19: u8,
    face_geo_data20: u8,
    face_geo_data21: u8,
    face_geo_data22: u8,
    face_geo_data23: u8,
    face_geo_data24: u8,
    face_geo_data25: u8,
    face_geo_data26: u8,
    face_geo_data27: u8,
    face_geo_data28: u8,
    face_geo_data29: u8,
    face_geo_data30: u8,
    face_geo_data31: u8,
    face_geo_data32: u8,
    face_geo_data33: u8,
    face_geo_data34: u8,
    face_geo_data35: u8,
    face_geo_data36: u8,
    face_geo_data37: u8,
    face_geo_data38: u8,
    face_geo_data39: u8,
    face_geo_data40: u8,
    face_geo_data41: u8,
    face_geo_data42: u8,
    face_geo_data43: u8,
    face_geo_data44: u8,
    face_geo_data45: u8,
    face_geo_data46: u8,
    face_geo_data47: u8,
    face_geo_data48: u8,
    face_geo_data49: u8,
    face_tex_data00: u8,
    face_tex_data01: u8,
    face_tex_data02: u8,
    face_tex_data03: u8,
    face_tex_data04: u8,
    face_tex_data05: u8,
    face_tex_data06: u8,
    face_tex_data07: u8,
    face_tex_data08: u8,
    face_tex_data09: u8,
    face_tex_data10: u8,
    face_tex_data11: u8,
    face_tex_data12: u8,
    face_tex_data13: u8,
    face_tex_data14: u8,
    face_tex_data15: u8,
    face_tex_data16: u8,
    face_tex_data17: u8,
    face_tex_data18: u8,
    face_tex_data19: u8,
    face_tex_data20: u8,
    face_tex_data21: u8,
    face_tex_data22: u8,
    face_tex_data23: u8,
    face_tex_data24: u8,
    face_tex_data25: u8,
    face_tex_data26: u8,
    face_tex_data27: u8,
    face_tex_data28: u8,
    face_tex_data29: u8,
    face_tex_data30: u8,
    face_tex_data31: u8,
    face_tex_data32: u8,
    face_tex_data33: u8,
    face_tex_data34: u8,
    face_tex_data35: u8,
    face_tex_data36: u8,
    face_tex_data37: u8,
    face_tex_data38: u8,
    face_tex_data39: u8,
    face_tex_data40: u8,
    face_tex_data41: u8,
    face_tex_data42: u8,
    face_tex_data43: u8,
    face_tex_data44: u8,
    face_tex_data45: u8,
    face_tex_data46: u8,
    face_tex_data47: u8,
    face_tex_data48: u8,
    face_tex_data49: u8,
    face_tex_data50: u8,
    face_parts_id: u8,
    skin_color_r: u8,
    skin_color_g: u8,
    skin_color_b: u8,
    hair_parts_id: u8,
    hair_color_r: u8,
    hair_color_g: u8,
    hair_color_b: u8,
    eye_l_parts_id: u8,
    eye_l_color_r: u8,
    eye_l_color_g: u8,
    eye_l_color_b: u8,
    eye_r_parts_id: u8,
    eye_r_color_r: u8,
    eye_r_color_g: u8,
    eye_r_color_b: u8,
    eye_brow_parts_id: u8,
    eye_brow_color_r: u8,
    eye_brow_color_g: u8,
    eye_brow_color_b: u8,
    beard_parts_id: u8,
    beard_color_r: u8,
    beard_color_g: u8,
    beard_color_b: u8,
    accessories_parts_id: u8,
    accessories_color_r: u8,
    accessories_color_g: u8,
    accessories_color_b: u8,
    decal_parts_id: u8,
    decal_color_r: u8,
    decal_color_g: u8,
    decal_color_b: u8,
    decal_pos_x: u8,
    decal_pos_y: u8,
    decal_angle: u8,
    decal_scale: u8,
}

impl ParamDef for FACE_GEN_PARAM_ST {
    const NAME: &str = "FACE_GEN_PARAM_ST";
    const INDEX: usize = 27;
}

impl FACE_GEN_PARAM_ST {
    pub fn face_geo_data01(&self) -> u8 {
        self.face_geo_data01
    }

    pub fn set_face_geo_data01(&mut self, value: u8) {
        self.face_geo_data01 = value;
    }

    pub fn face_geo_data02(&self) -> u8 {
        self.face_geo_data02
    }

    pub fn set_face_geo_data02(&mut self, value: u8) {
        self.face_geo_data02 = value;
    }

    pub fn face_geo_data03(&self) -> u8 {
        self.face_geo_data03
    }

    pub fn set_face_geo_data03(&mut self, value: u8) {
        self.face_geo_data03 = value;
    }

    pub fn face_geo_data04(&self) -> u8 {
        self.face_geo_data04
    }

    pub fn set_face_geo_data04(&mut self, value: u8) {
        self.face_geo_data04 = value;
    }

    pub fn face_geo_data05(&self) -> u8 {
        self.face_geo_data05
    }

    pub fn set_face_geo_data05(&mut self, value: u8) {
        self.face_geo_data05 = value;
    }

    pub fn face_geo_data06(&self) -> u8 {
        self.face_geo_data06
    }

    pub fn set_face_geo_data06(&mut self, value: u8) {
        self.face_geo_data06 = value;
    }

    pub fn face_geo_data07(&self) -> u8 {
        self.face_geo_data07
    }

    pub fn set_face_geo_data07(&mut self, value: u8) {
        self.face_geo_data07 = value;
    }

    pub fn face_geo_data08(&self) -> u8 {
        self.face_geo_data08
    }

    pub fn set_face_geo_data08(&mut self, value: u8) {
        self.face_geo_data08 = value;
    }

    pub fn face_geo_data09(&self) -> u8 {
        self.face_geo_data09
    }

    pub fn set_face_geo_data09(&mut self, value: u8) {
        self.face_geo_data09 = value;
    }

    pub fn face_geo_data10(&self) -> u8 {
        self.face_geo_data10
    }

    pub fn set_face_geo_data10(&mut self, value: u8) {
        self.face_geo_data10 = value;
    }

    pub fn face_geo_data11(&self) -> u8 {
        self.face_geo_data11
    }

    pub fn set_face_geo_data11(&mut self, value: u8) {
        self.face_geo_data11 = value;
    }

    pub fn face_geo_data12(&self) -> u8 {
        self.face_geo_data12
    }

    pub fn set_face_geo_data12(&mut self, value: u8) {
        self.face_geo_data12 = value;
    }

    pub fn face_geo_data13(&self) -> u8 {
        self.face_geo_data13
    }

    pub fn set_face_geo_data13(&mut self, value: u8) {
        self.face_geo_data13 = value;
    }

    pub fn face_geo_data14(&self) -> u8 {
        self.face_geo_data14
    }

    pub fn set_face_geo_data14(&mut self, value: u8) {
        self.face_geo_data14 = value;
    }

    pub fn face_geo_data15(&self) -> u8 {
        self.face_geo_data15
    }

    pub fn set_face_geo_data15(&mut self, value: u8) {
        self.face_geo_data15 = value;
    }

    pub fn face_geo_data16(&self) -> u8 {
        self.face_geo_data16
    }

    pub fn set_face_geo_data16(&mut self, value: u8) {
        self.face_geo_data16 = value;
    }

    pub fn face_geo_data17(&self) -> u8 {
        self.face_geo_data17
    }

    pub fn set_face_geo_data17(&mut self, value: u8) {
        self.face_geo_data17 = value;
    }

    pub fn face_geo_data18(&self) -> u8 {
        self.face_geo_data18
    }

    pub fn set_face_geo_data18(&mut self, value: u8) {
        self.face_geo_data18 = value;
    }

    pub fn face_geo_data19(&self) -> u8 {
        self.face_geo_data19
    }

    pub fn set_face_geo_data19(&mut self, value: u8) {
        self.face_geo_data19 = value;
    }

    pub fn face_geo_data20(&self) -> u8 {
        self.face_geo_data20
    }

    pub fn set_face_geo_data20(&mut self, value: u8) {
        self.face_geo_data20 = value;
    }

    pub fn face_geo_data21(&self) -> u8 {
        self.face_geo_data21
    }

    pub fn set_face_geo_data21(&mut self, value: u8) {
        self.face_geo_data21 = value;
    }

    pub fn face_geo_data22(&self) -> u8 {
        self.face_geo_data22
    }

    pub fn set_face_geo_data22(&mut self, value: u8) {
        self.face_geo_data22 = value;
    }

    pub fn face_geo_data23(&self) -> u8 {
        self.face_geo_data23
    }

    pub fn set_face_geo_data23(&mut self, value: u8) {
        self.face_geo_data23 = value;
    }

    pub fn face_geo_data24(&self) -> u8 {
        self.face_geo_data24
    }

    pub fn set_face_geo_data24(&mut self, value: u8) {
        self.face_geo_data24 = value;
    }

    pub fn face_geo_data25(&self) -> u8 {
        self.face_geo_data25
    }

    pub fn set_face_geo_data25(&mut self, value: u8) {
        self.face_geo_data25 = value;
    }

    pub fn face_geo_data26(&self) -> u8 {
        self.face_geo_data26
    }

    pub fn set_face_geo_data26(&mut self, value: u8) {
        self.face_geo_data26 = value;
    }

    pub fn face_geo_data27(&self) -> u8 {
        self.face_geo_data27
    }

    pub fn set_face_geo_data27(&mut self, value: u8) {
        self.face_geo_data27 = value;
    }

    pub fn face_geo_data28(&self) -> u8 {
        self.face_geo_data28
    }

    pub fn set_face_geo_data28(&mut self, value: u8) {
        self.face_geo_data28 = value;
    }

    pub fn face_geo_data29(&self) -> u8 {
        self.face_geo_data29
    }

    pub fn set_face_geo_data29(&mut self, value: u8) {
        self.face_geo_data29 = value;
    }

    pub fn face_geo_data30(&self) -> u8 {
        self.face_geo_data30
    }

    pub fn set_face_geo_data30(&mut self, value: u8) {
        self.face_geo_data30 = value;
    }

    pub fn face_geo_data31(&self) -> u8 {
        self.face_geo_data31
    }

    pub fn set_face_geo_data31(&mut self, value: u8) {
        self.face_geo_data31 = value;
    }

    pub fn face_geo_data32(&self) -> u8 {
        self.face_geo_data32
    }

    pub fn set_face_geo_data32(&mut self, value: u8) {
        self.face_geo_data32 = value;
    }

    pub fn face_geo_data33(&self) -> u8 {
        self.face_geo_data33
    }

    pub fn set_face_geo_data33(&mut self, value: u8) {
        self.face_geo_data33 = value;
    }

    pub fn face_geo_data34(&self) -> u8 {
        self.face_geo_data34
    }

    pub fn set_face_geo_data34(&mut self, value: u8) {
        self.face_geo_data34 = value;
    }

    pub fn face_geo_data35(&self) -> u8 {
        self.face_geo_data35
    }

    pub fn set_face_geo_data35(&mut self, value: u8) {
        self.face_geo_data35 = value;
    }

    pub fn face_geo_data36(&self) -> u8 {
        self.face_geo_data36
    }

    pub fn set_face_geo_data36(&mut self, value: u8) {
        self.face_geo_data36 = value;
    }

    pub fn face_geo_data37(&self) -> u8 {
        self.face_geo_data37
    }

    pub fn set_face_geo_data37(&mut self, value: u8) {
        self.face_geo_data37 = value;
    }

    pub fn face_geo_data38(&self) -> u8 {
        self.face_geo_data38
    }

    pub fn set_face_geo_data38(&mut self, value: u8) {
        self.face_geo_data38 = value;
    }

    pub fn face_geo_data39(&self) -> u8 {
        self.face_geo_data39
    }

    pub fn set_face_geo_data39(&mut self, value: u8) {
        self.face_geo_data39 = value;
    }

    pub fn face_geo_data40(&self) -> u8 {
        self.face_geo_data40
    }

    pub fn set_face_geo_data40(&mut self, value: u8) {
        self.face_geo_data40 = value;
    }

    pub fn face_geo_data41(&self) -> u8 {
        self.face_geo_data41
    }

    pub fn set_face_geo_data41(&mut self, value: u8) {
        self.face_geo_data41 = value;
    }

    pub fn face_geo_data42(&self) -> u8 {
        self.face_geo_data42
    }

    pub fn set_face_geo_data42(&mut self, value: u8) {
        self.face_geo_data42 = value;
    }

    pub fn face_geo_data43(&self) -> u8 {
        self.face_geo_data43
    }

    pub fn set_face_geo_data43(&mut self, value: u8) {
        self.face_geo_data43 = value;
    }

    pub fn face_geo_data44(&self) -> u8 {
        self.face_geo_data44
    }

    pub fn set_face_geo_data44(&mut self, value: u8) {
        self.face_geo_data44 = value;
    }

    pub fn face_geo_data45(&self) -> u8 {
        self.face_geo_data45
    }

    pub fn set_face_geo_data45(&mut self, value: u8) {
        self.face_geo_data45 = value;
    }

    pub fn face_geo_data46(&self) -> u8 {
        self.face_geo_data46
    }

    pub fn set_face_geo_data46(&mut self, value: u8) {
        self.face_geo_data46 = value;
    }

    pub fn face_geo_data47(&self) -> u8 {
        self.face_geo_data47
    }

    pub fn set_face_geo_data47(&mut self, value: u8) {
        self.face_geo_data47 = value;
    }

    pub fn face_geo_data48(&self) -> u8 {
        self.face_geo_data48
    }

    pub fn set_face_geo_data48(&mut self, value: u8) {
        self.face_geo_data48 = value;
    }

    pub fn face_geo_data49(&self) -> u8 {
        self.face_geo_data49
    }

    pub fn set_face_geo_data49(&mut self, value: u8) {
        self.face_geo_data49 = value;
    }

    pub fn face_tex_data00(&self) -> u8 {
        self.face_tex_data00
    }

    pub fn set_face_tex_data00(&mut self, value: u8) {
        self.face_tex_data00 = value;
    }

    pub fn face_tex_data01(&self) -> u8 {
        self.face_tex_data01
    }

    pub fn set_face_tex_data01(&mut self, value: u8) {
        self.face_tex_data01 = value;
    }

    pub fn face_tex_data02(&self) -> u8 {
        self.face_tex_data02
    }

    pub fn set_face_tex_data02(&mut self, value: u8) {
        self.face_tex_data02 = value;
    }

    pub fn face_tex_data03(&self) -> u8 {
        self.face_tex_data03
    }

    pub fn set_face_tex_data03(&mut self, value: u8) {
        self.face_tex_data03 = value;
    }

    pub fn face_tex_data04(&self) -> u8 {
        self.face_tex_data04
    }

    pub fn set_face_tex_data04(&mut self, value: u8) {
        self.face_tex_data04 = value;
    }

    pub fn face_tex_data05(&self) -> u8 {
        self.face_tex_data05
    }

    pub fn set_face_tex_data05(&mut self, value: u8) {
        self.face_tex_data05 = value;
    }

    pub fn face_tex_data06(&self) -> u8 {
        self.face_tex_data06
    }

    pub fn set_face_tex_data06(&mut self, value: u8) {
        self.face_tex_data06 = value;
    }

    pub fn face_tex_data07(&self) -> u8 {
        self.face_tex_data07
    }

    pub fn set_face_tex_data07(&mut self, value: u8) {
        self.face_tex_data07 = value;
    }

    pub fn face_tex_data08(&self) -> u8 {
        self.face_tex_data08
    }

    pub fn set_face_tex_data08(&mut self, value: u8) {
        self.face_tex_data08 = value;
    }

    pub fn face_tex_data09(&self) -> u8 {
        self.face_tex_data09
    }

    pub fn set_face_tex_data09(&mut self, value: u8) {
        self.face_tex_data09 = value;
    }

    pub fn face_tex_data10(&self) -> u8 {
        self.face_tex_data10
    }

    pub fn set_face_tex_data10(&mut self, value: u8) {
        self.face_tex_data10 = value;
    }

    pub fn face_tex_data11(&self) -> u8 {
        self.face_tex_data11
    }

    pub fn set_face_tex_data11(&mut self, value: u8) {
        self.face_tex_data11 = value;
    }

    pub fn face_tex_data12(&self) -> u8 {
        self.face_tex_data12
    }

    pub fn set_face_tex_data12(&mut self, value: u8) {
        self.face_tex_data12 = value;
    }

    pub fn face_tex_data13(&self) -> u8 {
        self.face_tex_data13
    }

    pub fn set_face_tex_data13(&mut self, value: u8) {
        self.face_tex_data13 = value;
    }

    pub fn face_tex_data14(&self) -> u8 {
        self.face_tex_data14
    }

    pub fn set_face_tex_data14(&mut self, value: u8) {
        self.face_tex_data14 = value;
    }

    pub fn face_tex_data15(&self) -> u8 {
        self.face_tex_data15
    }

    pub fn set_face_tex_data15(&mut self, value: u8) {
        self.face_tex_data15 = value;
    }

    pub fn face_tex_data16(&self) -> u8 {
        self.face_tex_data16
    }

    pub fn set_face_tex_data16(&mut self, value: u8) {
        self.face_tex_data16 = value;
    }

    pub fn face_tex_data17(&self) -> u8 {
        self.face_tex_data17
    }

    pub fn set_face_tex_data17(&mut self, value: u8) {
        self.face_tex_data17 = value;
    }

    pub fn face_tex_data18(&self) -> u8 {
        self.face_tex_data18
    }

    pub fn set_face_tex_data18(&mut self, value: u8) {
        self.face_tex_data18 = value;
    }

    pub fn face_tex_data19(&self) -> u8 {
        self.face_tex_data19
    }

    pub fn set_face_tex_data19(&mut self, value: u8) {
        self.face_tex_data19 = value;
    }

    pub fn face_tex_data20(&self) -> u8 {
        self.face_tex_data20
    }

    pub fn set_face_tex_data20(&mut self, value: u8) {
        self.face_tex_data20 = value;
    }

    pub fn face_tex_data21(&self) -> u8 {
        self.face_tex_data21
    }

    pub fn set_face_tex_data21(&mut self, value: u8) {
        self.face_tex_data21 = value;
    }

    pub fn face_tex_data22(&self) -> u8 {
        self.face_tex_data22
    }

    pub fn set_face_tex_data22(&mut self, value: u8) {
        self.face_tex_data22 = value;
    }

    pub fn face_tex_data23(&self) -> u8 {
        self.face_tex_data23
    }

    pub fn set_face_tex_data23(&mut self, value: u8) {
        self.face_tex_data23 = value;
    }

    pub fn face_tex_data24(&self) -> u8 {
        self.face_tex_data24
    }

    pub fn set_face_tex_data24(&mut self, value: u8) {
        self.face_tex_data24 = value;
    }

    pub fn face_tex_data25(&self) -> u8 {
        self.face_tex_data25
    }

    pub fn set_face_tex_data25(&mut self, value: u8) {
        self.face_tex_data25 = value;
    }

    pub fn face_tex_data26(&self) -> u8 {
        self.face_tex_data26
    }

    pub fn set_face_tex_data26(&mut self, value: u8) {
        self.face_tex_data26 = value;
    }

    pub fn face_tex_data27(&self) -> u8 {
        self.face_tex_data27
    }

    pub fn set_face_tex_data27(&mut self, value: u8) {
        self.face_tex_data27 = value;
    }

    pub fn face_tex_data28(&self) -> u8 {
        self.face_tex_data28
    }

    pub fn set_face_tex_data28(&mut self, value: u8) {
        self.face_tex_data28 = value;
    }

    pub fn face_tex_data29(&self) -> u8 {
        self.face_tex_data29
    }

    pub fn set_face_tex_data29(&mut self, value: u8) {
        self.face_tex_data29 = value;
    }

    pub fn face_tex_data30(&self) -> u8 {
        self.face_tex_data30
    }

    pub fn set_face_tex_data30(&mut self, value: u8) {
        self.face_tex_data30 = value;
    }

    pub fn face_tex_data31(&self) -> u8 {
        self.face_tex_data31
    }

    pub fn set_face_tex_data31(&mut self, value: u8) {
        self.face_tex_data31 = value;
    }

    pub fn face_tex_data32(&self) -> u8 {
        self.face_tex_data32
    }

    pub fn set_face_tex_data32(&mut self, value: u8) {
        self.face_tex_data32 = value;
    }

    pub fn face_tex_data33(&self) -> u8 {
        self.face_tex_data33
    }

    pub fn set_face_tex_data33(&mut self, value: u8) {
        self.face_tex_data33 = value;
    }

    pub fn face_tex_data34(&self) -> u8 {
        self.face_tex_data34
    }

    pub fn set_face_tex_data34(&mut self, value: u8) {
        self.face_tex_data34 = value;
    }

    pub fn face_tex_data35(&self) -> u8 {
        self.face_tex_data35
    }

    pub fn set_face_tex_data35(&mut self, value: u8) {
        self.face_tex_data35 = value;
    }

    pub fn face_tex_data36(&self) -> u8 {
        self.face_tex_data36
    }

    pub fn set_face_tex_data36(&mut self, value: u8) {
        self.face_tex_data36 = value;
    }

    pub fn face_tex_data37(&self) -> u8 {
        self.face_tex_data37
    }

    pub fn set_face_tex_data37(&mut self, value: u8) {
        self.face_tex_data37 = value;
    }

    pub fn face_tex_data38(&self) -> u8 {
        self.face_tex_data38
    }

    pub fn set_face_tex_data38(&mut self, value: u8) {
        self.face_tex_data38 = value;
    }

    pub fn face_tex_data39(&self) -> u8 {
        self.face_tex_data39
    }

    pub fn set_face_tex_data39(&mut self, value: u8) {
        self.face_tex_data39 = value;
    }

    pub fn face_tex_data40(&self) -> u8 {
        self.face_tex_data40
    }

    pub fn set_face_tex_data40(&mut self, value: u8) {
        self.face_tex_data40 = value;
    }

    pub fn face_tex_data41(&self) -> u8 {
        self.face_tex_data41
    }

    pub fn set_face_tex_data41(&mut self, value: u8) {
        self.face_tex_data41 = value;
    }

    pub fn face_tex_data42(&self) -> u8 {
        self.face_tex_data42
    }

    pub fn set_face_tex_data42(&mut self, value: u8) {
        self.face_tex_data42 = value;
    }

    pub fn face_tex_data43(&self) -> u8 {
        self.face_tex_data43
    }

    pub fn set_face_tex_data43(&mut self, value: u8) {
        self.face_tex_data43 = value;
    }

    pub fn face_tex_data44(&self) -> u8 {
        self.face_tex_data44
    }

    pub fn set_face_tex_data44(&mut self, value: u8) {
        self.face_tex_data44 = value;
    }

    pub fn face_tex_data45(&self) -> u8 {
        self.face_tex_data45
    }

    pub fn set_face_tex_data45(&mut self, value: u8) {
        self.face_tex_data45 = value;
    }

    pub fn face_tex_data46(&self) -> u8 {
        self.face_tex_data46
    }

    pub fn set_face_tex_data46(&mut self, value: u8) {
        self.face_tex_data46 = value;
    }

    pub fn face_tex_data47(&self) -> u8 {
        self.face_tex_data47
    }

    pub fn set_face_tex_data47(&mut self, value: u8) {
        self.face_tex_data47 = value;
    }

    pub fn face_tex_data48(&self) -> u8 {
        self.face_tex_data48
    }

    pub fn set_face_tex_data48(&mut self, value: u8) {
        self.face_tex_data48 = value;
    }

    pub fn face_tex_data49(&self) -> u8 {
        self.face_tex_data49
    }

    pub fn set_face_tex_data49(&mut self, value: u8) {
        self.face_tex_data49 = value;
    }

    pub fn face_tex_data50(&self) -> u8 {
        self.face_tex_data50
    }

    pub fn set_face_tex_data50(&mut self, value: u8) {
        self.face_tex_data50 = value;
    }

    pub fn face_parts_id(&self) -> u8 {
        self.face_parts_id
    }

    pub fn set_face_parts_id(&mut self, value: u8) {
        self.face_parts_id = value;
    }

    pub fn skin_color_r(&self) -> u8 {
        self.skin_color_r
    }

    pub fn set_skin_color_r(&mut self, value: u8) {
        self.skin_color_r = value;
    }

    pub fn skin_color_g(&self) -> u8 {
        self.skin_color_g
    }

    pub fn set_skin_color_g(&mut self, value: u8) {
        self.skin_color_g = value;
    }

    pub fn skin_color_b(&self) -> u8 {
        self.skin_color_b
    }

    pub fn set_skin_color_b(&mut self, value: u8) {
        self.skin_color_b = value;
    }

    pub fn hair_parts_id(&self) -> u8 {
        self.hair_parts_id
    }

    pub fn set_hair_parts_id(&mut self, value: u8) {
        self.hair_parts_id = value;
    }

    pub fn hair_color_r(&self) -> u8 {
        self.hair_color_r
    }

    pub fn set_hair_color_r(&mut self, value: u8) {
        self.hair_color_r = value;
    }

    pub fn hair_color_g(&self) -> u8 {
        self.hair_color_g
    }

    pub fn set_hair_color_g(&mut self, value: u8) {
        self.hair_color_g = value;
    }

    pub fn hair_color_b(&self) -> u8 {
        self.hair_color_b
    }

    pub fn set_hair_color_b(&mut self, value: u8) {
        self.hair_color_b = value;
    }

    pub fn eye_l_parts_id(&self) -> u8 {
        self.eye_l_parts_id
    }

    pub fn set_eye_l_parts_id(&mut self, value: u8) {
        self.eye_l_parts_id = value;
    }

    pub fn eye_l_color_r(&self) -> u8 {
        self.eye_l_color_r
    }

    pub fn set_eye_l_color_r(&mut self, value: u8) {
        self.eye_l_color_r = value;
    }

    pub fn eye_l_color_g(&self) -> u8 {
        self.eye_l_color_g
    }

    pub fn set_eye_l_color_g(&mut self, value: u8) {
        self.eye_l_color_g = value;
    }

    pub fn eye_l_color_b(&self) -> u8 {
        self.eye_l_color_b
    }

    pub fn set_eye_l_color_b(&mut self, value: u8) {
        self.eye_l_color_b = value;
    }

    pub fn eye_r_parts_id(&self) -> u8 {
        self.eye_r_parts_id
    }

    pub fn set_eye_r_parts_id(&mut self, value: u8) {
        self.eye_r_parts_id = value;
    }

    pub fn eye_r_color_r(&self) -> u8 {
        self.eye_r_color_r
    }

    pub fn set_eye_r_color_r(&mut self, value: u8) {
        self.eye_r_color_r = value;
    }

    pub fn eye_r_color_g(&self) -> u8 {
        self.eye_r_color_g
    }

    pub fn set_eye_r_color_g(&mut self, value: u8) {
        self.eye_r_color_g = value;
    }

    pub fn eye_r_color_b(&self) -> u8 {
        self.eye_r_color_b
    }

    pub fn set_eye_r_color_b(&mut self, value: u8) {
        self.eye_r_color_b = value;
    }

    pub fn eye_brow_parts_id(&self) -> u8 {
        self.eye_brow_parts_id
    }

    pub fn set_eye_brow_parts_id(&mut self, value: u8) {
        self.eye_brow_parts_id = value;
    }

    pub fn eye_brow_color_r(&self) -> u8 {
        self.eye_brow_color_r
    }

    pub fn set_eye_brow_color_r(&mut self, value: u8) {
        self.eye_brow_color_r = value;
    }

    pub fn eye_brow_color_g(&self) -> u8 {
        self.eye_brow_color_g
    }

    pub fn set_eye_brow_color_g(&mut self, value: u8) {
        self.eye_brow_color_g = value;
    }

    pub fn eye_brow_color_b(&self) -> u8 {
        self.eye_brow_color_b
    }

    pub fn set_eye_brow_color_b(&mut self, value: u8) {
        self.eye_brow_color_b = value;
    }

    pub fn beard_parts_id(&self) -> u8 {
        self.beard_parts_id
    }

    pub fn set_beard_parts_id(&mut self, value: u8) {
        self.beard_parts_id = value;
    }

    pub fn beard_color_r(&self) -> u8 {
        self.beard_color_r
    }

    pub fn set_beard_color_r(&mut self, value: u8) {
        self.beard_color_r = value;
    }

    pub fn beard_color_g(&self) -> u8 {
        self.beard_color_g
    }

    pub fn set_beard_color_g(&mut self, value: u8) {
        self.beard_color_g = value;
    }

    pub fn beard_color_b(&self) -> u8 {
        self.beard_color_b
    }

    pub fn set_beard_color_b(&mut self, value: u8) {
        self.beard_color_b = value;
    }

    pub fn accessories_parts_id(&self) -> u8 {
        self.accessories_parts_id
    }

    pub fn set_accessories_parts_id(&mut self, value: u8) {
        self.accessories_parts_id = value;
    }

    pub fn accessories_color_r(&self) -> u8 {
        self.accessories_color_r
    }

    pub fn set_accessories_color_r(&mut self, value: u8) {
        self.accessories_color_r = value;
    }

    pub fn accessories_color_g(&self) -> u8 {
        self.accessories_color_g
    }

    pub fn set_accessories_color_g(&mut self, value: u8) {
        self.accessories_color_g = value;
    }

    pub fn accessories_color_b(&self) -> u8 {
        self.accessories_color_b
    }

    pub fn set_accessories_color_b(&mut self, value: u8) {
        self.accessories_color_b = value;
    }

    pub fn decal_parts_id(&self) -> u8 {
        self.decal_parts_id
    }

    pub fn set_decal_parts_id(&mut self, value: u8) {
        self.decal_parts_id = value;
    }

    pub fn decal_color_r(&self) -> u8 {
        self.decal_color_r
    }

    pub fn set_decal_color_r(&mut self, value: u8) {
        self.decal_color_r = value;
    }

    pub fn decal_color_g(&self) -> u8 {
        self.decal_color_g
    }

    pub fn set_decal_color_g(&mut self, value: u8) {
        self.decal_color_g = value;
    }

    pub fn decal_color_b(&self) -> u8 {
        self.decal_color_b
    }

    pub fn set_decal_color_b(&mut self, value: u8) {
        self.decal_color_b = value;
    }

    pub fn decal_pos_x(&self) -> u8 {
        self.decal_pos_x
    }

    pub fn set_decal_pos_x(&mut self, value: u8) {
        self.decal_pos_x = value;
    }

    pub fn decal_pos_y(&self) -> u8 {
        self.decal_pos_y
    }

    pub fn set_decal_pos_y(&mut self, value: u8) {
        self.decal_pos_y = value;
    }

    pub fn decal_angle(&self) -> u8 {
        self.decal_angle
    }

    pub fn set_decal_angle(&mut self, value: u8) {
        self.decal_angle = value;
    }

    pub fn decal_scale(&self) -> u8 {
        self.decal_scale
    }

    pub fn set_decal_scale(&mut self, value: u8) {
        self.decal_scale = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct FACE_PARAM_ST {
    face_parts_id: u8,
    skin_color_r: u8,
    skin_color_g: u8,
    skin_color_b: u8,
    hair_parts_id: u8,
    hair_color_r: u8,
    hair_color_g: u8,
    hair_color_b: u8,
    eye_l_parts_id: u8,
    eye_l_color_r: u8,
    eye_l_color_g: u8,
    eye_l_color_b: u8,
    eye_r_parts_id: u8,
    eye_r_color_r: u8,
    eye_r_color_g: u8,
    eye_r_color_b: u8,
    eye_brow_parts_id: u8,
    eye_brow_color_r: u8,
    eye_brow_color_g: u8,
    eye_brow_color_b: u8,
    beard_parts_id: u8,
    beard_color_r: u8,
    beard_color_g: u8,
    beard_color_b: u8,
    accessories_parts_id: u8,
    accessories_color_r: u8,
    accessories_color_g: u8,
    accessories_color_b: u8,
    decal_parts_id: u8,
    decal_color_r: u8,
    decal_color_g: u8,
    decal_color_b: u8,
    decal_pos_x: u8,
    decal_pos_y: u8,
    decal_angle: u8,
    decal_scale: u8,
    chr_body_scale_head: u8,
    chr_body_scale_breast: u8,
    chr_body_scale_abdomen: u8,
    chr_body_scale_arm: u8,
    chr_body_scale_leg: u8,
    age: u8,
    gender: u8,
    carricature_geometry: u8,
    carricature_texture: u8,
    face_geo_data00: u8,
    face_geo_data01: u8,
    face_geo_data02: u8,
    face_geo_data03: u8,
    face_geo_data04: u8,
    face_geo_data05: u8,
    face_geo_data06: u8,
    face_geo_data07: u8,
    face_geo_data08: u8,
    face_geo_data09: u8,
    face_geo_data10: u8,
    face_geo_data11: u8,
    face_geo_data12: u8,
    face_geo_data13: u8,
    face_geo_data14: u8,
    face_geo_data15: u8,
    face_geo_data16: u8,
    face_geo_data17: u8,
    face_geo_data18: u8,
    face_geo_data19: u8,
    face_geo_data20: u8,
    face_geo_data21: u8,
    face_geo_data22: u8,
    face_geo_data23: u8,
    face_geo_data24: u8,
    face_geo_data25: u8,
    face_geo_data26: u8,
    face_geo_data27: u8,
    face_geo_data28: u8,
    face_geo_data29: u8,
    face_geo_data30: u8,
    face_geo_data31: u8,
    face_geo_data32: u8,
    face_geo_data33: u8,
    face_geo_data34: u8,
    face_geo_data35: u8,
    face_geo_data36: u8,
    face_geo_data37: u8,
    face_geo_data38: u8,
    face_geo_data39: u8,
    face_geo_data40: u8,
    face_geo_data41: u8,
    face_geo_data42: u8,
    face_geo_data43: u8,
    face_geo_data44: u8,
    face_geo_data45: u8,
    face_geo_data46: u8,
    face_geo_data47: u8,
    face_geo_data48: u8,
    face_geo_data49: u8,
    face_geo_data50: u8,
    face_geo_data51: u8,
    face_geo_data52: u8,
    face_geo_data53: u8,
    face_geo_data54: u8,
    face_geo_data55: u8,
    face_geo_data56: u8,
    face_geo_data57: u8,
    face_geo_data58: u8,
    face_geo_data59: u8,
    face_geo_data60: u8,
    face_tex_data00: u8,
    face_tex_data01: u8,
    face_tex_data02: u8,
    face_tex_data03: u8,
    face_tex_data04: u8,
    face_tex_data05: u8,
    face_tex_data06: u8,
    face_tex_data07: u8,
    face_tex_data08: u8,
    face_tex_data09: u8,
    face_tex_data10: u8,
    face_tex_data11: u8,
    face_tex_data12: u8,
    face_tex_data13: u8,
    face_tex_data14: u8,
    face_tex_data15: u8,
    face_tex_data16: u8,
    face_tex_data17: u8,
    face_tex_data18: u8,
    face_tex_data19: u8,
    face_tex_data20: u8,
    face_tex_data21: u8,
    face_tex_data22: u8,
    face_tex_data23: u8,
    face_tex_data24: u8,
    face_tex_data25: u8,
    face_tex_data26: u8,
    face_tex_data27: u8,
    face_tex_data28: u8,
    face_tex_data29: u8,
    face_tex_data30: u8,
    face_tex_data31: u8,
    face_tex_data32: u8,
    face_tex_data33: u8,
    face_tex_data34: u8,
    face_tex_data35: u8,
    face_geo_asym_data00: u8,
    face_geo_asym_data01: u8,
    face_geo_asym_data02: u8,
    face_geo_asym_data03: u8,
    face_geo_asym_data04: u8,
    face_geo_asym_data05: u8,
    face_geo_asym_data06: u8,
    face_geo_asym_data07: u8,
    face_geo_asym_data08: u8,
    face_geo_asym_data09: u8,
    face_geo_asym_data10: u8,
    face_geo_asym_data11: u8,
    face_geo_asym_data12: u8,
    face_geo_asym_data13: u8,
    face_geo_asym_data14: u8,
    face_geo_asym_data15: u8,
    face_geo_asym_data16: u8,
    face_geo_asym_data17: u8,
    face_geo_asym_data18: u8,
    face_geo_asym_data19: u8,
    face_geo_asym_data20: u8,
    face_geo_asym_data21: u8,
    face_geo_asym_data22: u8,
    face_geo_asym_data23: u8,
    face_geo_asym_data24: u8,
    face_geo_asym_data25: u8,
    face_geo_asym_data26: u8,
    face_geo_asym_data27: u8,
    face_geo_asym_data28: u8,
    face_geo_asym_data29: u8,
    face_geo_asym_data30: u8,
    face_geo_asym_data31: u8,
    padding: [u8; 18],
}

impl ParamDef for FACE_PARAM_ST {
    const NAME: &str = "FACE_PARAM_ST";
    const INDEX: usize = 28;
}

impl FACE_PARAM_ST {
    pub fn face_parts_id(&self) -> u8 {
        self.face_parts_id
    }

    pub fn set_face_parts_id(&mut self, value: u8) {
        self.face_parts_id = value;
    }

    pub fn skin_color_r(&self) -> u8 {
        self.skin_color_r
    }

    pub fn set_skin_color_r(&mut self, value: u8) {
        self.skin_color_r = value;
    }

    pub fn skin_color_g(&self) -> u8 {
        self.skin_color_g
    }

    pub fn set_skin_color_g(&mut self, value: u8) {
        self.skin_color_g = value;
    }

    pub fn skin_color_b(&self) -> u8 {
        self.skin_color_b
    }

    pub fn set_skin_color_b(&mut self, value: u8) {
        self.skin_color_b = value;
    }

    pub fn hair_parts_id(&self) -> u8 {
        self.hair_parts_id
    }

    pub fn set_hair_parts_id(&mut self, value: u8) {
        self.hair_parts_id = value;
    }

    pub fn hair_color_r(&self) -> u8 {
        self.hair_color_r
    }

    pub fn set_hair_color_r(&mut self, value: u8) {
        self.hair_color_r = value;
    }

    pub fn hair_color_g(&self) -> u8 {
        self.hair_color_g
    }

    pub fn set_hair_color_g(&mut self, value: u8) {
        self.hair_color_g = value;
    }

    pub fn hair_color_b(&self) -> u8 {
        self.hair_color_b
    }

    pub fn set_hair_color_b(&mut self, value: u8) {
        self.hair_color_b = value;
    }

    pub fn eye_l_parts_id(&self) -> u8 {
        self.eye_l_parts_id
    }

    pub fn set_eye_l_parts_id(&mut self, value: u8) {
        self.eye_l_parts_id = value;
    }

    pub fn eye_l_color_r(&self) -> u8 {
        self.eye_l_color_r
    }

    pub fn set_eye_l_color_r(&mut self, value: u8) {
        self.eye_l_color_r = value;
    }

    pub fn eye_l_color_g(&self) -> u8 {
        self.eye_l_color_g
    }

    pub fn set_eye_l_color_g(&mut self, value: u8) {
        self.eye_l_color_g = value;
    }

    pub fn eye_l_color_b(&self) -> u8 {
        self.eye_l_color_b
    }

    pub fn set_eye_l_color_b(&mut self, value: u8) {
        self.eye_l_color_b = value;
    }

    pub fn eye_r_parts_id(&self) -> u8 {
        self.eye_r_parts_id
    }

    pub fn set_eye_r_parts_id(&mut self, value: u8) {
        self.eye_r_parts_id = value;
    }

    pub fn eye_r_color_r(&self) -> u8 {
        self.eye_r_color_r
    }

    pub fn set_eye_r_color_r(&mut self, value: u8) {
        self.eye_r_color_r = value;
    }

    pub fn eye_r_color_g(&self) -> u8 {
        self.eye_r_color_g
    }

    pub fn set_eye_r_color_g(&mut self, value: u8) {
        self.eye_r_color_g = value;
    }

    pub fn eye_r_color_b(&self) -> u8 {
        self.eye_r_color_b
    }

    pub fn set_eye_r_color_b(&mut self, value: u8) {
        self.eye_r_color_b = value;
    }

    pub fn eye_brow_parts_id(&self) -> u8 {
        self.eye_brow_parts_id
    }

    pub fn set_eye_brow_parts_id(&mut self, value: u8) {
        self.eye_brow_parts_id = value;
    }

    pub fn eye_brow_color_r(&self) -> u8 {
        self.eye_brow_color_r
    }

    pub fn set_eye_brow_color_r(&mut self, value: u8) {
        self.eye_brow_color_r = value;
    }

    pub fn eye_brow_color_g(&self) -> u8 {
        self.eye_brow_color_g
    }

    pub fn set_eye_brow_color_g(&mut self, value: u8) {
        self.eye_brow_color_g = value;
    }

    pub fn eye_brow_color_b(&self) -> u8 {
        self.eye_brow_color_b
    }

    pub fn set_eye_brow_color_b(&mut self, value: u8) {
        self.eye_brow_color_b = value;
    }

    pub fn beard_parts_id(&self) -> u8 {
        self.beard_parts_id
    }

    pub fn set_beard_parts_id(&mut self, value: u8) {
        self.beard_parts_id = value;
    }

    pub fn beard_color_r(&self) -> u8 {
        self.beard_color_r
    }

    pub fn set_beard_color_r(&mut self, value: u8) {
        self.beard_color_r = value;
    }

    pub fn beard_color_g(&self) -> u8 {
        self.beard_color_g
    }

    pub fn set_beard_color_g(&mut self, value: u8) {
        self.beard_color_g = value;
    }

    pub fn beard_color_b(&self) -> u8 {
        self.beard_color_b
    }

    pub fn set_beard_color_b(&mut self, value: u8) {
        self.beard_color_b = value;
    }

    pub fn accessories_parts_id(&self) -> u8 {
        self.accessories_parts_id
    }

    pub fn set_accessories_parts_id(&mut self, value: u8) {
        self.accessories_parts_id = value;
    }

    pub fn accessories_color_r(&self) -> u8 {
        self.accessories_color_r
    }

    pub fn set_accessories_color_r(&mut self, value: u8) {
        self.accessories_color_r = value;
    }

    pub fn accessories_color_g(&self) -> u8 {
        self.accessories_color_g
    }

    pub fn set_accessories_color_g(&mut self, value: u8) {
        self.accessories_color_g = value;
    }

    pub fn accessories_color_b(&self) -> u8 {
        self.accessories_color_b
    }

    pub fn set_accessories_color_b(&mut self, value: u8) {
        self.accessories_color_b = value;
    }

    pub fn decal_parts_id(&self) -> u8 {
        self.decal_parts_id
    }

    pub fn set_decal_parts_id(&mut self, value: u8) {
        self.decal_parts_id = value;
    }

    pub fn decal_color_r(&self) -> u8 {
        self.decal_color_r
    }

    pub fn set_decal_color_r(&mut self, value: u8) {
        self.decal_color_r = value;
    }

    pub fn decal_color_g(&self) -> u8 {
        self.decal_color_g
    }

    pub fn set_decal_color_g(&mut self, value: u8) {
        self.decal_color_g = value;
    }

    pub fn decal_color_b(&self) -> u8 {
        self.decal_color_b
    }

    pub fn set_decal_color_b(&mut self, value: u8) {
        self.decal_color_b = value;
    }

    pub fn decal_pos_x(&self) -> u8 {
        self.decal_pos_x
    }

    pub fn set_decal_pos_x(&mut self, value: u8) {
        self.decal_pos_x = value;
    }

    pub fn decal_pos_y(&self) -> u8 {
        self.decal_pos_y
    }

    pub fn set_decal_pos_y(&mut self, value: u8) {
        self.decal_pos_y = value;
    }

    pub fn decal_angle(&self) -> u8 {
        self.decal_angle
    }

    pub fn set_decal_angle(&mut self, value: u8) {
        self.decal_angle = value;
    }

    pub fn decal_scale(&self) -> u8 {
        self.decal_scale
    }

    pub fn set_decal_scale(&mut self, value: u8) {
        self.decal_scale = value;
    }

    pub fn chr_body_scale_head(&self) -> u8 {
        self.chr_body_scale_head
    }

    pub fn set_chr_body_scale_head(&mut self, value: u8) {
        self.chr_body_scale_head = value;
    }

    pub fn chr_body_scale_breast(&self) -> u8 {
        self.chr_body_scale_breast
    }

    pub fn set_chr_body_scale_breast(&mut self, value: u8) {
        self.chr_body_scale_breast = value;
    }

    pub fn chr_body_scale_abdomen(&self) -> u8 {
        self.chr_body_scale_abdomen
    }

    pub fn set_chr_body_scale_abdomen(&mut self, value: u8) {
        self.chr_body_scale_abdomen = value;
    }

    pub fn chr_body_scale_arm(&self) -> u8 {
        self.chr_body_scale_arm
    }

    pub fn set_chr_body_scale_arm(&mut self, value: u8) {
        self.chr_body_scale_arm = value;
    }

    pub fn chr_body_scale_leg(&self) -> u8 {
        self.chr_body_scale_leg
    }

    pub fn set_chr_body_scale_leg(&mut self, value: u8) {
        self.chr_body_scale_leg = value;
    }

    pub fn age(&self) -> u8 {
        self.age
    }

    pub fn set_age(&mut self, value: u8) {
        self.age = value;
    }

    pub fn gender(&self) -> u8 {
        self.gender
    }

    pub fn set_gender(&mut self, value: u8) {
        self.gender = value;
    }

    pub fn carricature_geometry(&self) -> u8 {
        self.carricature_geometry
    }

    pub fn set_carricature_geometry(&mut self, value: u8) {
        self.carricature_geometry = value;
    }

    pub fn carricature_texture(&self) -> u8 {
        self.carricature_texture
    }

    pub fn set_carricature_texture(&mut self, value: u8) {
        self.carricature_texture = value;
    }

    pub fn face_geo_data00(&self) -> u8 {
        self.face_geo_data00
    }

    pub fn set_face_geo_data00(&mut self, value: u8) {
        self.face_geo_data00 = value;
    }

    pub fn face_geo_data01(&self) -> u8 {
        self.face_geo_data01
    }

    pub fn set_face_geo_data01(&mut self, value: u8) {
        self.face_geo_data01 = value;
    }

    pub fn face_geo_data02(&self) -> u8 {
        self.face_geo_data02
    }

    pub fn set_face_geo_data02(&mut self, value: u8) {
        self.face_geo_data02 = value;
    }

    pub fn face_geo_data03(&self) -> u8 {
        self.face_geo_data03
    }

    pub fn set_face_geo_data03(&mut self, value: u8) {
        self.face_geo_data03 = value;
    }

    pub fn face_geo_data04(&self) -> u8 {
        self.face_geo_data04
    }

    pub fn set_face_geo_data04(&mut self, value: u8) {
        self.face_geo_data04 = value;
    }

    pub fn face_geo_data05(&self) -> u8 {
        self.face_geo_data05
    }

    pub fn set_face_geo_data05(&mut self, value: u8) {
        self.face_geo_data05 = value;
    }

    pub fn face_geo_data06(&self) -> u8 {
        self.face_geo_data06
    }

    pub fn set_face_geo_data06(&mut self, value: u8) {
        self.face_geo_data06 = value;
    }

    pub fn face_geo_data07(&self) -> u8 {
        self.face_geo_data07
    }

    pub fn set_face_geo_data07(&mut self, value: u8) {
        self.face_geo_data07 = value;
    }

    pub fn face_geo_data08(&self) -> u8 {
        self.face_geo_data08
    }

    pub fn set_face_geo_data08(&mut self, value: u8) {
        self.face_geo_data08 = value;
    }

    pub fn face_geo_data09(&self) -> u8 {
        self.face_geo_data09
    }

    pub fn set_face_geo_data09(&mut self, value: u8) {
        self.face_geo_data09 = value;
    }

    pub fn face_geo_data10(&self) -> u8 {
        self.face_geo_data10
    }

    pub fn set_face_geo_data10(&mut self, value: u8) {
        self.face_geo_data10 = value;
    }

    pub fn face_geo_data11(&self) -> u8 {
        self.face_geo_data11
    }

    pub fn set_face_geo_data11(&mut self, value: u8) {
        self.face_geo_data11 = value;
    }

    pub fn face_geo_data12(&self) -> u8 {
        self.face_geo_data12
    }

    pub fn set_face_geo_data12(&mut self, value: u8) {
        self.face_geo_data12 = value;
    }

    pub fn face_geo_data13(&self) -> u8 {
        self.face_geo_data13
    }

    pub fn set_face_geo_data13(&mut self, value: u8) {
        self.face_geo_data13 = value;
    }

    pub fn face_geo_data14(&self) -> u8 {
        self.face_geo_data14
    }

    pub fn set_face_geo_data14(&mut self, value: u8) {
        self.face_geo_data14 = value;
    }

    pub fn face_geo_data15(&self) -> u8 {
        self.face_geo_data15
    }

    pub fn set_face_geo_data15(&mut self, value: u8) {
        self.face_geo_data15 = value;
    }

    pub fn face_geo_data16(&self) -> u8 {
        self.face_geo_data16
    }

    pub fn set_face_geo_data16(&mut self, value: u8) {
        self.face_geo_data16 = value;
    }

    pub fn face_geo_data17(&self) -> u8 {
        self.face_geo_data17
    }

    pub fn set_face_geo_data17(&mut self, value: u8) {
        self.face_geo_data17 = value;
    }

    pub fn face_geo_data18(&self) -> u8 {
        self.face_geo_data18
    }

    pub fn set_face_geo_data18(&mut self, value: u8) {
        self.face_geo_data18 = value;
    }

    pub fn face_geo_data19(&self) -> u8 {
        self.face_geo_data19
    }

    pub fn set_face_geo_data19(&mut self, value: u8) {
        self.face_geo_data19 = value;
    }

    pub fn face_geo_data20(&self) -> u8 {
        self.face_geo_data20
    }

    pub fn set_face_geo_data20(&mut self, value: u8) {
        self.face_geo_data20 = value;
    }

    pub fn face_geo_data21(&self) -> u8 {
        self.face_geo_data21
    }

    pub fn set_face_geo_data21(&mut self, value: u8) {
        self.face_geo_data21 = value;
    }

    pub fn face_geo_data22(&self) -> u8 {
        self.face_geo_data22
    }

    pub fn set_face_geo_data22(&mut self, value: u8) {
        self.face_geo_data22 = value;
    }

    pub fn face_geo_data23(&self) -> u8 {
        self.face_geo_data23
    }

    pub fn set_face_geo_data23(&mut self, value: u8) {
        self.face_geo_data23 = value;
    }

    pub fn face_geo_data24(&self) -> u8 {
        self.face_geo_data24
    }

    pub fn set_face_geo_data24(&mut self, value: u8) {
        self.face_geo_data24 = value;
    }

    pub fn face_geo_data25(&self) -> u8 {
        self.face_geo_data25
    }

    pub fn set_face_geo_data25(&mut self, value: u8) {
        self.face_geo_data25 = value;
    }

    pub fn face_geo_data26(&self) -> u8 {
        self.face_geo_data26
    }

    pub fn set_face_geo_data26(&mut self, value: u8) {
        self.face_geo_data26 = value;
    }

    pub fn face_geo_data27(&self) -> u8 {
        self.face_geo_data27
    }

    pub fn set_face_geo_data27(&mut self, value: u8) {
        self.face_geo_data27 = value;
    }

    pub fn face_geo_data28(&self) -> u8 {
        self.face_geo_data28
    }

    pub fn set_face_geo_data28(&mut self, value: u8) {
        self.face_geo_data28 = value;
    }

    pub fn face_geo_data29(&self) -> u8 {
        self.face_geo_data29
    }

    pub fn set_face_geo_data29(&mut self, value: u8) {
        self.face_geo_data29 = value;
    }

    pub fn face_geo_data30(&self) -> u8 {
        self.face_geo_data30
    }

    pub fn set_face_geo_data30(&mut self, value: u8) {
        self.face_geo_data30 = value;
    }

    pub fn face_geo_data31(&self) -> u8 {
        self.face_geo_data31
    }

    pub fn set_face_geo_data31(&mut self, value: u8) {
        self.face_geo_data31 = value;
    }

    pub fn face_geo_data32(&self) -> u8 {
        self.face_geo_data32
    }

    pub fn set_face_geo_data32(&mut self, value: u8) {
        self.face_geo_data32 = value;
    }

    pub fn face_geo_data33(&self) -> u8 {
        self.face_geo_data33
    }

    pub fn set_face_geo_data33(&mut self, value: u8) {
        self.face_geo_data33 = value;
    }

    pub fn face_geo_data34(&self) -> u8 {
        self.face_geo_data34
    }

    pub fn set_face_geo_data34(&mut self, value: u8) {
        self.face_geo_data34 = value;
    }

    pub fn face_geo_data35(&self) -> u8 {
        self.face_geo_data35
    }

    pub fn set_face_geo_data35(&mut self, value: u8) {
        self.face_geo_data35 = value;
    }

    pub fn face_geo_data36(&self) -> u8 {
        self.face_geo_data36
    }

    pub fn set_face_geo_data36(&mut self, value: u8) {
        self.face_geo_data36 = value;
    }

    pub fn face_geo_data37(&self) -> u8 {
        self.face_geo_data37
    }

    pub fn set_face_geo_data37(&mut self, value: u8) {
        self.face_geo_data37 = value;
    }

    pub fn face_geo_data38(&self) -> u8 {
        self.face_geo_data38
    }

    pub fn set_face_geo_data38(&mut self, value: u8) {
        self.face_geo_data38 = value;
    }

    pub fn face_geo_data39(&self) -> u8 {
        self.face_geo_data39
    }

    pub fn set_face_geo_data39(&mut self, value: u8) {
        self.face_geo_data39 = value;
    }

    pub fn face_geo_data40(&self) -> u8 {
        self.face_geo_data40
    }

    pub fn set_face_geo_data40(&mut self, value: u8) {
        self.face_geo_data40 = value;
    }

    pub fn face_geo_data41(&self) -> u8 {
        self.face_geo_data41
    }

    pub fn set_face_geo_data41(&mut self, value: u8) {
        self.face_geo_data41 = value;
    }

    pub fn face_geo_data42(&self) -> u8 {
        self.face_geo_data42
    }

    pub fn set_face_geo_data42(&mut self, value: u8) {
        self.face_geo_data42 = value;
    }

    pub fn face_geo_data43(&self) -> u8 {
        self.face_geo_data43
    }

    pub fn set_face_geo_data43(&mut self, value: u8) {
        self.face_geo_data43 = value;
    }

    pub fn face_geo_data44(&self) -> u8 {
        self.face_geo_data44
    }

    pub fn set_face_geo_data44(&mut self, value: u8) {
        self.face_geo_data44 = value;
    }

    pub fn face_geo_data45(&self) -> u8 {
        self.face_geo_data45
    }

    pub fn set_face_geo_data45(&mut self, value: u8) {
        self.face_geo_data45 = value;
    }

    pub fn face_geo_data46(&self) -> u8 {
        self.face_geo_data46
    }

    pub fn set_face_geo_data46(&mut self, value: u8) {
        self.face_geo_data46 = value;
    }

    pub fn face_geo_data47(&self) -> u8 {
        self.face_geo_data47
    }

    pub fn set_face_geo_data47(&mut self, value: u8) {
        self.face_geo_data47 = value;
    }

    pub fn face_geo_data48(&self) -> u8 {
        self.face_geo_data48
    }

    pub fn set_face_geo_data48(&mut self, value: u8) {
        self.face_geo_data48 = value;
    }

    pub fn face_geo_data49(&self) -> u8 {
        self.face_geo_data49
    }

    pub fn set_face_geo_data49(&mut self, value: u8) {
        self.face_geo_data49 = value;
    }

    pub fn face_geo_data50(&self) -> u8 {
        self.face_geo_data50
    }

    pub fn set_face_geo_data50(&mut self, value: u8) {
        self.face_geo_data50 = value;
    }

    pub fn face_geo_data51(&self) -> u8 {
        self.face_geo_data51
    }

    pub fn set_face_geo_data51(&mut self, value: u8) {
        self.face_geo_data51 = value;
    }

    pub fn face_geo_data52(&self) -> u8 {
        self.face_geo_data52
    }

    pub fn set_face_geo_data52(&mut self, value: u8) {
        self.face_geo_data52 = value;
    }

    pub fn face_geo_data53(&self) -> u8 {
        self.face_geo_data53
    }

    pub fn set_face_geo_data53(&mut self, value: u8) {
        self.face_geo_data53 = value;
    }

    pub fn face_geo_data54(&self) -> u8 {
        self.face_geo_data54
    }

    pub fn set_face_geo_data54(&mut self, value: u8) {
        self.face_geo_data54 = value;
    }

    pub fn face_geo_data55(&self) -> u8 {
        self.face_geo_data55
    }

    pub fn set_face_geo_data55(&mut self, value: u8) {
        self.face_geo_data55 = value;
    }

    pub fn face_geo_data56(&self) -> u8 {
        self.face_geo_data56
    }

    pub fn set_face_geo_data56(&mut self, value: u8) {
        self.face_geo_data56 = value;
    }

    pub fn face_geo_data57(&self) -> u8 {
        self.face_geo_data57
    }

    pub fn set_face_geo_data57(&mut self, value: u8) {
        self.face_geo_data57 = value;
    }

    pub fn face_geo_data58(&self) -> u8 {
        self.face_geo_data58
    }

    pub fn set_face_geo_data58(&mut self, value: u8) {
        self.face_geo_data58 = value;
    }

    pub fn face_geo_data59(&self) -> u8 {
        self.face_geo_data59
    }

    pub fn set_face_geo_data59(&mut self, value: u8) {
        self.face_geo_data59 = value;
    }

    pub fn face_geo_data60(&self) -> u8 {
        self.face_geo_data60
    }

    pub fn set_face_geo_data60(&mut self, value: u8) {
        self.face_geo_data60 = value;
    }

    pub fn face_tex_data00(&self) -> u8 {
        self.face_tex_data00
    }

    pub fn set_face_tex_data00(&mut self, value: u8) {
        self.face_tex_data00 = value;
    }

    pub fn face_tex_data01(&self) -> u8 {
        self.face_tex_data01
    }

    pub fn set_face_tex_data01(&mut self, value: u8) {
        self.face_tex_data01 = value;
    }

    pub fn face_tex_data02(&self) -> u8 {
        self.face_tex_data02
    }

    pub fn set_face_tex_data02(&mut self, value: u8) {
        self.face_tex_data02 = value;
    }

    pub fn face_tex_data03(&self) -> u8 {
        self.face_tex_data03
    }

    pub fn set_face_tex_data03(&mut self, value: u8) {
        self.face_tex_data03 = value;
    }

    pub fn face_tex_data04(&self) -> u8 {
        self.face_tex_data04
    }

    pub fn set_face_tex_data04(&mut self, value: u8) {
        self.face_tex_data04 = value;
    }

    pub fn face_tex_data05(&self) -> u8 {
        self.face_tex_data05
    }

    pub fn set_face_tex_data05(&mut self, value: u8) {
        self.face_tex_data05 = value;
    }

    pub fn face_tex_data06(&self) -> u8 {
        self.face_tex_data06
    }

    pub fn set_face_tex_data06(&mut self, value: u8) {
        self.face_tex_data06 = value;
    }

    pub fn face_tex_data07(&self) -> u8 {
        self.face_tex_data07
    }

    pub fn set_face_tex_data07(&mut self, value: u8) {
        self.face_tex_data07 = value;
    }

    pub fn face_tex_data08(&self) -> u8 {
        self.face_tex_data08
    }

    pub fn set_face_tex_data08(&mut self, value: u8) {
        self.face_tex_data08 = value;
    }

    pub fn face_tex_data09(&self) -> u8 {
        self.face_tex_data09
    }

    pub fn set_face_tex_data09(&mut self, value: u8) {
        self.face_tex_data09 = value;
    }

    pub fn face_tex_data10(&self) -> u8 {
        self.face_tex_data10
    }

    pub fn set_face_tex_data10(&mut self, value: u8) {
        self.face_tex_data10 = value;
    }

    pub fn face_tex_data11(&self) -> u8 {
        self.face_tex_data11
    }

    pub fn set_face_tex_data11(&mut self, value: u8) {
        self.face_tex_data11 = value;
    }

    pub fn face_tex_data12(&self) -> u8 {
        self.face_tex_data12
    }

    pub fn set_face_tex_data12(&mut self, value: u8) {
        self.face_tex_data12 = value;
    }

    pub fn face_tex_data13(&self) -> u8 {
        self.face_tex_data13
    }

    pub fn set_face_tex_data13(&mut self, value: u8) {
        self.face_tex_data13 = value;
    }

    pub fn face_tex_data14(&self) -> u8 {
        self.face_tex_data14
    }

    pub fn set_face_tex_data14(&mut self, value: u8) {
        self.face_tex_data14 = value;
    }

    pub fn face_tex_data15(&self) -> u8 {
        self.face_tex_data15
    }

    pub fn set_face_tex_data15(&mut self, value: u8) {
        self.face_tex_data15 = value;
    }

    pub fn face_tex_data16(&self) -> u8 {
        self.face_tex_data16
    }

    pub fn set_face_tex_data16(&mut self, value: u8) {
        self.face_tex_data16 = value;
    }

    pub fn face_tex_data17(&self) -> u8 {
        self.face_tex_data17
    }

    pub fn set_face_tex_data17(&mut self, value: u8) {
        self.face_tex_data17 = value;
    }

    pub fn face_tex_data18(&self) -> u8 {
        self.face_tex_data18
    }

    pub fn set_face_tex_data18(&mut self, value: u8) {
        self.face_tex_data18 = value;
    }

    pub fn face_tex_data19(&self) -> u8 {
        self.face_tex_data19
    }

    pub fn set_face_tex_data19(&mut self, value: u8) {
        self.face_tex_data19 = value;
    }

    pub fn face_tex_data20(&self) -> u8 {
        self.face_tex_data20
    }

    pub fn set_face_tex_data20(&mut self, value: u8) {
        self.face_tex_data20 = value;
    }

    pub fn face_tex_data21(&self) -> u8 {
        self.face_tex_data21
    }

    pub fn set_face_tex_data21(&mut self, value: u8) {
        self.face_tex_data21 = value;
    }

    pub fn face_tex_data22(&self) -> u8 {
        self.face_tex_data22
    }

    pub fn set_face_tex_data22(&mut self, value: u8) {
        self.face_tex_data22 = value;
    }

    pub fn face_tex_data23(&self) -> u8 {
        self.face_tex_data23
    }

    pub fn set_face_tex_data23(&mut self, value: u8) {
        self.face_tex_data23 = value;
    }

    pub fn face_tex_data24(&self) -> u8 {
        self.face_tex_data24
    }

    pub fn set_face_tex_data24(&mut self, value: u8) {
        self.face_tex_data24 = value;
    }

    pub fn face_tex_data25(&self) -> u8 {
        self.face_tex_data25
    }

    pub fn set_face_tex_data25(&mut self, value: u8) {
        self.face_tex_data25 = value;
    }

    pub fn face_tex_data26(&self) -> u8 {
        self.face_tex_data26
    }

    pub fn set_face_tex_data26(&mut self, value: u8) {
        self.face_tex_data26 = value;
    }

    pub fn face_tex_data27(&self) -> u8 {
        self.face_tex_data27
    }

    pub fn set_face_tex_data27(&mut self, value: u8) {
        self.face_tex_data27 = value;
    }

    pub fn face_tex_data28(&self) -> u8 {
        self.face_tex_data28
    }

    pub fn set_face_tex_data28(&mut self, value: u8) {
        self.face_tex_data28 = value;
    }

    pub fn face_tex_data29(&self) -> u8 {
        self.face_tex_data29
    }

    pub fn set_face_tex_data29(&mut self, value: u8) {
        self.face_tex_data29 = value;
    }

    pub fn face_tex_data30(&self) -> u8 {
        self.face_tex_data30
    }

    pub fn set_face_tex_data30(&mut self, value: u8) {
        self.face_tex_data30 = value;
    }

    pub fn face_tex_data31(&self) -> u8 {
        self.face_tex_data31
    }

    pub fn set_face_tex_data31(&mut self, value: u8) {
        self.face_tex_data31 = value;
    }

    pub fn face_tex_data32(&self) -> u8 {
        self.face_tex_data32
    }

    pub fn set_face_tex_data32(&mut self, value: u8) {
        self.face_tex_data32 = value;
    }

    pub fn face_tex_data33(&self) -> u8 {
        self.face_tex_data33
    }

    pub fn set_face_tex_data33(&mut self, value: u8) {
        self.face_tex_data33 = value;
    }

    pub fn face_tex_data34(&self) -> u8 {
        self.face_tex_data34
    }

    pub fn set_face_tex_data34(&mut self, value: u8) {
        self.face_tex_data34 = value;
    }

    pub fn face_tex_data35(&self) -> u8 {
        self.face_tex_data35
    }

    pub fn set_face_tex_data35(&mut self, value: u8) {
        self.face_tex_data35 = value;
    }

    pub fn face_geo_asym_data00(&self) -> u8 {
        self.face_geo_asym_data00
    }

    pub fn set_face_geo_asym_data00(&mut self, value: u8) {
        self.face_geo_asym_data00 = value;
    }

    pub fn face_geo_asym_data01(&self) -> u8 {
        self.face_geo_asym_data01
    }

    pub fn set_face_geo_asym_data01(&mut self, value: u8) {
        self.face_geo_asym_data01 = value;
    }

    pub fn face_geo_asym_data02(&self) -> u8 {
        self.face_geo_asym_data02
    }

    pub fn set_face_geo_asym_data02(&mut self, value: u8) {
        self.face_geo_asym_data02 = value;
    }

    pub fn face_geo_asym_data03(&self) -> u8 {
        self.face_geo_asym_data03
    }

    pub fn set_face_geo_asym_data03(&mut self, value: u8) {
        self.face_geo_asym_data03 = value;
    }

    pub fn face_geo_asym_data04(&self) -> u8 {
        self.face_geo_asym_data04
    }

    pub fn set_face_geo_asym_data04(&mut self, value: u8) {
        self.face_geo_asym_data04 = value;
    }

    pub fn face_geo_asym_data05(&self) -> u8 {
        self.face_geo_asym_data05
    }

    pub fn set_face_geo_asym_data05(&mut self, value: u8) {
        self.face_geo_asym_data05 = value;
    }

    pub fn face_geo_asym_data06(&self) -> u8 {
        self.face_geo_asym_data06
    }

    pub fn set_face_geo_asym_data06(&mut self, value: u8) {
        self.face_geo_asym_data06 = value;
    }

    pub fn face_geo_asym_data07(&self) -> u8 {
        self.face_geo_asym_data07
    }

    pub fn set_face_geo_asym_data07(&mut self, value: u8) {
        self.face_geo_asym_data07 = value;
    }

    pub fn face_geo_asym_data08(&self) -> u8 {
        self.face_geo_asym_data08
    }

    pub fn set_face_geo_asym_data08(&mut self, value: u8) {
        self.face_geo_asym_data08 = value;
    }

    pub fn face_geo_asym_data09(&self) -> u8 {
        self.face_geo_asym_data09
    }

    pub fn set_face_geo_asym_data09(&mut self, value: u8) {
        self.face_geo_asym_data09 = value;
    }

    pub fn face_geo_asym_data10(&self) -> u8 {
        self.face_geo_asym_data10
    }

    pub fn set_face_geo_asym_data10(&mut self, value: u8) {
        self.face_geo_asym_data10 = value;
    }

    pub fn face_geo_asym_data11(&self) -> u8 {
        self.face_geo_asym_data11
    }

    pub fn set_face_geo_asym_data11(&mut self, value: u8) {
        self.face_geo_asym_data11 = value;
    }

    pub fn face_geo_asym_data12(&self) -> u8 {
        self.face_geo_asym_data12
    }

    pub fn set_face_geo_asym_data12(&mut self, value: u8) {
        self.face_geo_asym_data12 = value;
    }

    pub fn face_geo_asym_data13(&self) -> u8 {
        self.face_geo_asym_data13
    }

    pub fn set_face_geo_asym_data13(&mut self, value: u8) {
        self.face_geo_asym_data13 = value;
    }

    pub fn face_geo_asym_data14(&self) -> u8 {
        self.face_geo_asym_data14
    }

    pub fn set_face_geo_asym_data14(&mut self, value: u8) {
        self.face_geo_asym_data14 = value;
    }

    pub fn face_geo_asym_data15(&self) -> u8 {
        self.face_geo_asym_data15
    }

    pub fn set_face_geo_asym_data15(&mut self, value: u8) {
        self.face_geo_asym_data15 = value;
    }

    pub fn face_geo_asym_data16(&self) -> u8 {
        self.face_geo_asym_data16
    }

    pub fn set_face_geo_asym_data16(&mut self, value: u8) {
        self.face_geo_asym_data16 = value;
    }

    pub fn face_geo_asym_data17(&self) -> u8 {
        self.face_geo_asym_data17
    }

    pub fn set_face_geo_asym_data17(&mut self, value: u8) {
        self.face_geo_asym_data17 = value;
    }

    pub fn face_geo_asym_data18(&self) -> u8 {
        self.face_geo_asym_data18
    }

    pub fn set_face_geo_asym_data18(&mut self, value: u8) {
        self.face_geo_asym_data18 = value;
    }

    pub fn face_geo_asym_data19(&self) -> u8 {
        self.face_geo_asym_data19
    }

    pub fn set_face_geo_asym_data19(&mut self, value: u8) {
        self.face_geo_asym_data19 = value;
    }

    pub fn face_geo_asym_data20(&self) -> u8 {
        self.face_geo_asym_data20
    }

    pub fn set_face_geo_asym_data20(&mut self, value: u8) {
        self.face_geo_asym_data20 = value;
    }

    pub fn face_geo_asym_data21(&self) -> u8 {
        self.face_geo_asym_data21
    }

    pub fn set_face_geo_asym_data21(&mut self, value: u8) {
        self.face_geo_asym_data21 = value;
    }

    pub fn face_geo_asym_data22(&self) -> u8 {
        self.face_geo_asym_data22
    }

    pub fn set_face_geo_asym_data22(&mut self, value: u8) {
        self.face_geo_asym_data22 = value;
    }

    pub fn face_geo_asym_data23(&self) -> u8 {
        self.face_geo_asym_data23
    }

    pub fn set_face_geo_asym_data23(&mut self, value: u8) {
        self.face_geo_asym_data23 = value;
    }

    pub fn face_geo_asym_data24(&self) -> u8 {
        self.face_geo_asym_data24
    }

    pub fn set_face_geo_asym_data24(&mut self, value: u8) {
        self.face_geo_asym_data24 = value;
    }

    pub fn face_geo_asym_data25(&self) -> u8 {
        self.face_geo_asym_data25
    }

    pub fn set_face_geo_asym_data25(&mut self, value: u8) {
        self.face_geo_asym_data25 = value;
    }

    pub fn face_geo_asym_data26(&self) -> u8 {
        self.face_geo_asym_data26
    }

    pub fn set_face_geo_asym_data26(&mut self, value: u8) {
        self.face_geo_asym_data26 = value;
    }

    pub fn face_geo_asym_data27(&self) -> u8 {
        self.face_geo_asym_data27
    }

    pub fn set_face_geo_asym_data27(&mut self, value: u8) {
        self.face_geo_asym_data27 = value;
    }

    pub fn face_geo_asym_data28(&self) -> u8 {
        self.face_geo_asym_data28
    }

    pub fn set_face_geo_asym_data28(&mut self, value: u8) {
        self.face_geo_asym_data28 = value;
    }

    pub fn face_geo_asym_data29(&self) -> u8 {
        self.face_geo_asym_data29
    }

    pub fn set_face_geo_asym_data29(&mut self, value: u8) {
        self.face_geo_asym_data29 = value;
    }

    pub fn face_geo_asym_data30(&self) -> u8 {
        self.face_geo_asym_data30
    }

    pub fn set_face_geo_asym_data30(&mut self, value: u8) {
        self.face_geo_asym_data30 = value;
    }

    pub fn face_geo_asym_data31(&self) -> u8 {
        self.face_geo_asym_data31
    }

    pub fn set_face_geo_asym_data31(&mut self, value: u8) {
        self.face_geo_asym_data31 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct FACE_RANGE_PARAM_ST {
    unknown0: f32,
    unknown1: f32,
    unknown2: f32,
    unknown3: f32,
    unknown4: f32,
    unknown5: f32,
    unknown6: f32,
    unknown7: f32,
    unknown8: f32,
    unknown9: f32,
    unknown10: f32,
    unknown11: f32,
    unknown12: f32,
    unknown13: f32,
    unknown14: f32,
    unknown15: f32,
    unknown16: f32,
    unknown17: f32,
    unknown18: f32,
    unknown19: f32,
    unknown20: f32,
    unknown21: f32,
    unknown22: f32,
    unknown23: f32,
    unknown24: f32,
    unknown25: f32,
    unknown26: f32,
    unknown27: f32,
    unknown28: f32,
    unknown29: f32,
    unknown30: f32,
    unknown31: f32,
    unknown32: f32,
    unknown33: f32,
    unknown34: f32,
    unknown35: f32,
    unknown36: f32,
    unknown37: f32,
    unknown38: f32,
    unknown39: f32,
    unknown40: f32,
    unknown41: f32,
    unknown42: f32,
    unknown43: f32,
    unknown44: f32,
    unknown45: f32,
    unknown46: f32,
    unknown47: f32,
    unknown48: f32,
    face_geo_data00: f32,
    face_geo_data01: f32,
    face_geo_data02: f32,
    face_geo_data03: f32,
    face_geo_data04: f32,
    face_geo_data05: f32,
    face_geo_data06: f32,
    face_geo_data07: f32,
    face_geo_data08: f32,
    face_geo_data09: f32,
    face_geo_data10: f32,
    face_geo_data11: f32,
    face_geo_data12: f32,
    face_geo_data13: f32,
    face_geo_data14: f32,
    face_geo_data15: f32,
    face_geo_data16: f32,
    face_geo_data17: f32,
    face_geo_data18: f32,
    face_geo_data19: f32,
    face_geo_data20: f32,
    face_geo_data21: f32,
    face_geo_data22: f32,
    face_geo_data23: f32,
    face_geo_data24: f32,
    face_geo_data25: f32,
    face_geo_data26: f32,
    face_geo_data27: f32,
    face_geo_data28: f32,
    face_geo_data29: f32,
    face_geo_data30: f32,
    face_geo_data31: f32,
    face_geo_data32: f32,
    face_geo_data33: f32,
    face_geo_data34: f32,
    face_geo_data35: f32,
    face_geo_data36: f32,
    face_geo_data37: f32,
    face_geo_data38: f32,
    face_geo_data39: f32,
    face_geo_data40: f32,
    face_geo_data41: f32,
    face_geo_data42: f32,
    face_geo_data43: f32,
    face_geo_data44: f32,
    face_geo_data45: f32,
    face_geo_data46: f32,
    face_geo_data47: f32,
    face_geo_data48: f32,
    face_geo_data49: f32,
    face_geo_data50: f32,
    face_geo_data51: f32,
    face_geo_data52: f32,
    face_geo_data53: f32,
    face_geo_data54: f32,
    face_geo_data55: f32,
    face_geo_data56: f32,
    face_geo_data57: f32,
    face_geo_data58: f32,
    face_geo_data59: f32,
    face_geo_data60: f32,
    face_tex_data00: f32,
    face_tex_data01: f32,
    face_tex_data02: f32,
    face_tex_data03: f32,
    face_tex_data04: f32,
    face_tex_data05: f32,
    face_tex_data06: f32,
    face_tex_data07: f32,
    face_tex_data08: f32,
    face_tex_data09: f32,
    face_tex_data10: f32,
    face_tex_data11: f32,
    face_tex_data12: f32,
    face_tex_data13: f32,
    face_tex_data14: f32,
    face_tex_data15: f32,
    face_tex_data16: f32,
    face_tex_data17: f32,
    face_tex_data18: f32,
    face_tex_data19: f32,
    face_tex_data20: f32,
    face_tex_data21: f32,
    face_tex_data22: f32,
    face_tex_data23: f32,
    face_tex_data24: f32,
    face_tex_data25: f32,
    face_tex_data26: f32,
    face_tex_data27: f32,
    face_tex_data28: f32,
    face_tex_data29: f32,
    face_tex_data30: f32,
    face_tex_data31: f32,
    face_tex_data32: f32,
    face_tex_data33: f32,
    face_tex_data34: f32,
    face_tex_data35: f32,
}

impl ParamDef for FACE_RANGE_PARAM_ST {
    const NAME: &str = "FACE_RANGE_PARAM_ST";
    const INDEX: usize = 29;
}

impl FACE_RANGE_PARAM_ST {
    pub fn face_geo_data00(&self) -> f32 {
        self.face_geo_data00
    }

    pub fn set_face_geo_data00(&mut self, value: f32) {
        self.face_geo_data00 = value;
    }

    pub fn face_geo_data01(&self) -> f32 {
        self.face_geo_data01
    }

    pub fn set_face_geo_data01(&mut self, value: f32) {
        self.face_geo_data01 = value;
    }

    pub fn face_geo_data02(&self) -> f32 {
        self.face_geo_data02
    }

    pub fn set_face_geo_data02(&mut self, value: f32) {
        self.face_geo_data02 = value;
    }

    pub fn face_geo_data03(&self) -> f32 {
        self.face_geo_data03
    }

    pub fn set_face_geo_data03(&mut self, value: f32) {
        self.face_geo_data03 = value;
    }

    pub fn face_geo_data04(&self) -> f32 {
        self.face_geo_data04
    }

    pub fn set_face_geo_data04(&mut self, value: f32) {
        self.face_geo_data04 = value;
    }

    pub fn face_geo_data05(&self) -> f32 {
        self.face_geo_data05
    }

    pub fn set_face_geo_data05(&mut self, value: f32) {
        self.face_geo_data05 = value;
    }

    pub fn face_geo_data06(&self) -> f32 {
        self.face_geo_data06
    }

    pub fn set_face_geo_data06(&mut self, value: f32) {
        self.face_geo_data06 = value;
    }

    pub fn face_geo_data07(&self) -> f32 {
        self.face_geo_data07
    }

    pub fn set_face_geo_data07(&mut self, value: f32) {
        self.face_geo_data07 = value;
    }

    pub fn face_geo_data08(&self) -> f32 {
        self.face_geo_data08
    }

    pub fn set_face_geo_data08(&mut self, value: f32) {
        self.face_geo_data08 = value;
    }

    pub fn face_geo_data09(&self) -> f32 {
        self.face_geo_data09
    }

    pub fn set_face_geo_data09(&mut self, value: f32) {
        self.face_geo_data09 = value;
    }

    pub fn face_geo_data10(&self) -> f32 {
        self.face_geo_data10
    }

    pub fn set_face_geo_data10(&mut self, value: f32) {
        self.face_geo_data10 = value;
    }

    pub fn face_geo_data11(&self) -> f32 {
        self.face_geo_data11
    }

    pub fn set_face_geo_data11(&mut self, value: f32) {
        self.face_geo_data11 = value;
    }

    pub fn face_geo_data12(&self) -> f32 {
        self.face_geo_data12
    }

    pub fn set_face_geo_data12(&mut self, value: f32) {
        self.face_geo_data12 = value;
    }

    pub fn face_geo_data13(&self) -> f32 {
        self.face_geo_data13
    }

    pub fn set_face_geo_data13(&mut self, value: f32) {
        self.face_geo_data13 = value;
    }

    pub fn face_geo_data14(&self) -> f32 {
        self.face_geo_data14
    }

    pub fn set_face_geo_data14(&mut self, value: f32) {
        self.face_geo_data14 = value;
    }

    pub fn face_geo_data15(&self) -> f32 {
        self.face_geo_data15
    }

    pub fn set_face_geo_data15(&mut self, value: f32) {
        self.face_geo_data15 = value;
    }

    pub fn face_geo_data16(&self) -> f32 {
        self.face_geo_data16
    }

    pub fn set_face_geo_data16(&mut self, value: f32) {
        self.face_geo_data16 = value;
    }

    pub fn face_geo_data17(&self) -> f32 {
        self.face_geo_data17
    }

    pub fn set_face_geo_data17(&mut self, value: f32) {
        self.face_geo_data17 = value;
    }

    pub fn face_geo_data18(&self) -> f32 {
        self.face_geo_data18
    }

    pub fn set_face_geo_data18(&mut self, value: f32) {
        self.face_geo_data18 = value;
    }

    pub fn face_geo_data19(&self) -> f32 {
        self.face_geo_data19
    }

    pub fn set_face_geo_data19(&mut self, value: f32) {
        self.face_geo_data19 = value;
    }

    pub fn face_geo_data20(&self) -> f32 {
        self.face_geo_data20
    }

    pub fn set_face_geo_data20(&mut self, value: f32) {
        self.face_geo_data20 = value;
    }

    pub fn face_geo_data21(&self) -> f32 {
        self.face_geo_data21
    }

    pub fn set_face_geo_data21(&mut self, value: f32) {
        self.face_geo_data21 = value;
    }

    pub fn face_geo_data22(&self) -> f32 {
        self.face_geo_data22
    }

    pub fn set_face_geo_data22(&mut self, value: f32) {
        self.face_geo_data22 = value;
    }

    pub fn face_geo_data23(&self) -> f32 {
        self.face_geo_data23
    }

    pub fn set_face_geo_data23(&mut self, value: f32) {
        self.face_geo_data23 = value;
    }

    pub fn face_geo_data24(&self) -> f32 {
        self.face_geo_data24
    }

    pub fn set_face_geo_data24(&mut self, value: f32) {
        self.face_geo_data24 = value;
    }

    pub fn face_geo_data25(&self) -> f32 {
        self.face_geo_data25
    }

    pub fn set_face_geo_data25(&mut self, value: f32) {
        self.face_geo_data25 = value;
    }

    pub fn face_geo_data26(&self) -> f32 {
        self.face_geo_data26
    }

    pub fn set_face_geo_data26(&mut self, value: f32) {
        self.face_geo_data26 = value;
    }

    pub fn face_geo_data27(&self) -> f32 {
        self.face_geo_data27
    }

    pub fn set_face_geo_data27(&mut self, value: f32) {
        self.face_geo_data27 = value;
    }

    pub fn face_geo_data28(&self) -> f32 {
        self.face_geo_data28
    }

    pub fn set_face_geo_data28(&mut self, value: f32) {
        self.face_geo_data28 = value;
    }

    pub fn face_geo_data29(&self) -> f32 {
        self.face_geo_data29
    }

    pub fn set_face_geo_data29(&mut self, value: f32) {
        self.face_geo_data29 = value;
    }

    pub fn face_geo_data30(&self) -> f32 {
        self.face_geo_data30
    }

    pub fn set_face_geo_data30(&mut self, value: f32) {
        self.face_geo_data30 = value;
    }

    pub fn face_geo_data31(&self) -> f32 {
        self.face_geo_data31
    }

    pub fn set_face_geo_data31(&mut self, value: f32) {
        self.face_geo_data31 = value;
    }

    pub fn face_geo_data32(&self) -> f32 {
        self.face_geo_data32
    }

    pub fn set_face_geo_data32(&mut self, value: f32) {
        self.face_geo_data32 = value;
    }

    pub fn face_geo_data33(&self) -> f32 {
        self.face_geo_data33
    }

    pub fn set_face_geo_data33(&mut self, value: f32) {
        self.face_geo_data33 = value;
    }

    pub fn face_geo_data34(&self) -> f32 {
        self.face_geo_data34
    }

    pub fn set_face_geo_data34(&mut self, value: f32) {
        self.face_geo_data34 = value;
    }

    pub fn face_geo_data35(&self) -> f32 {
        self.face_geo_data35
    }

    pub fn set_face_geo_data35(&mut self, value: f32) {
        self.face_geo_data35 = value;
    }

    pub fn face_geo_data36(&self) -> f32 {
        self.face_geo_data36
    }

    pub fn set_face_geo_data36(&mut self, value: f32) {
        self.face_geo_data36 = value;
    }

    pub fn face_geo_data37(&self) -> f32 {
        self.face_geo_data37
    }

    pub fn set_face_geo_data37(&mut self, value: f32) {
        self.face_geo_data37 = value;
    }

    pub fn face_geo_data38(&self) -> f32 {
        self.face_geo_data38
    }

    pub fn set_face_geo_data38(&mut self, value: f32) {
        self.face_geo_data38 = value;
    }

    pub fn face_geo_data39(&self) -> f32 {
        self.face_geo_data39
    }

    pub fn set_face_geo_data39(&mut self, value: f32) {
        self.face_geo_data39 = value;
    }

    pub fn face_geo_data40(&self) -> f32 {
        self.face_geo_data40
    }

    pub fn set_face_geo_data40(&mut self, value: f32) {
        self.face_geo_data40 = value;
    }

    pub fn face_geo_data41(&self) -> f32 {
        self.face_geo_data41
    }

    pub fn set_face_geo_data41(&mut self, value: f32) {
        self.face_geo_data41 = value;
    }

    pub fn face_geo_data42(&self) -> f32 {
        self.face_geo_data42
    }

    pub fn set_face_geo_data42(&mut self, value: f32) {
        self.face_geo_data42 = value;
    }

    pub fn face_geo_data43(&self) -> f32 {
        self.face_geo_data43
    }

    pub fn set_face_geo_data43(&mut self, value: f32) {
        self.face_geo_data43 = value;
    }

    pub fn face_geo_data44(&self) -> f32 {
        self.face_geo_data44
    }

    pub fn set_face_geo_data44(&mut self, value: f32) {
        self.face_geo_data44 = value;
    }

    pub fn face_geo_data45(&self) -> f32 {
        self.face_geo_data45
    }

    pub fn set_face_geo_data45(&mut self, value: f32) {
        self.face_geo_data45 = value;
    }

    pub fn face_geo_data46(&self) -> f32 {
        self.face_geo_data46
    }

    pub fn set_face_geo_data46(&mut self, value: f32) {
        self.face_geo_data46 = value;
    }

    pub fn face_geo_data47(&self) -> f32 {
        self.face_geo_data47
    }

    pub fn set_face_geo_data47(&mut self, value: f32) {
        self.face_geo_data47 = value;
    }

    pub fn face_geo_data48(&self) -> f32 {
        self.face_geo_data48
    }

    pub fn set_face_geo_data48(&mut self, value: f32) {
        self.face_geo_data48 = value;
    }

    pub fn face_geo_data49(&self) -> f32 {
        self.face_geo_data49
    }

    pub fn set_face_geo_data49(&mut self, value: f32) {
        self.face_geo_data49 = value;
    }

    pub fn face_geo_data50(&self) -> f32 {
        self.face_geo_data50
    }

    pub fn set_face_geo_data50(&mut self, value: f32) {
        self.face_geo_data50 = value;
    }

    pub fn face_geo_data51(&self) -> f32 {
        self.face_geo_data51
    }

    pub fn set_face_geo_data51(&mut self, value: f32) {
        self.face_geo_data51 = value;
    }

    pub fn face_geo_data52(&self) -> f32 {
        self.face_geo_data52
    }

    pub fn set_face_geo_data52(&mut self, value: f32) {
        self.face_geo_data52 = value;
    }

    pub fn face_geo_data53(&self) -> f32 {
        self.face_geo_data53
    }

    pub fn set_face_geo_data53(&mut self, value: f32) {
        self.face_geo_data53 = value;
    }

    pub fn face_geo_data54(&self) -> f32 {
        self.face_geo_data54
    }

    pub fn set_face_geo_data54(&mut self, value: f32) {
        self.face_geo_data54 = value;
    }

    pub fn face_geo_data55(&self) -> f32 {
        self.face_geo_data55
    }

    pub fn set_face_geo_data55(&mut self, value: f32) {
        self.face_geo_data55 = value;
    }

    pub fn face_geo_data56(&self) -> f32 {
        self.face_geo_data56
    }

    pub fn set_face_geo_data56(&mut self, value: f32) {
        self.face_geo_data56 = value;
    }

    pub fn face_geo_data57(&self) -> f32 {
        self.face_geo_data57
    }

    pub fn set_face_geo_data57(&mut self, value: f32) {
        self.face_geo_data57 = value;
    }

    pub fn face_geo_data58(&self) -> f32 {
        self.face_geo_data58
    }

    pub fn set_face_geo_data58(&mut self, value: f32) {
        self.face_geo_data58 = value;
    }

    pub fn face_geo_data59(&self) -> f32 {
        self.face_geo_data59
    }

    pub fn set_face_geo_data59(&mut self, value: f32) {
        self.face_geo_data59 = value;
    }

    pub fn face_geo_data60(&self) -> f32 {
        self.face_geo_data60
    }

    pub fn set_face_geo_data60(&mut self, value: f32) {
        self.face_geo_data60 = value;
    }

    pub fn face_tex_data00(&self) -> f32 {
        self.face_tex_data00
    }

    pub fn set_face_tex_data00(&mut self, value: f32) {
        self.face_tex_data00 = value;
    }

    pub fn face_tex_data01(&self) -> f32 {
        self.face_tex_data01
    }

    pub fn set_face_tex_data01(&mut self, value: f32) {
        self.face_tex_data01 = value;
    }

    pub fn face_tex_data02(&self) -> f32 {
        self.face_tex_data02
    }

    pub fn set_face_tex_data02(&mut self, value: f32) {
        self.face_tex_data02 = value;
    }

    pub fn face_tex_data03(&self) -> f32 {
        self.face_tex_data03
    }

    pub fn set_face_tex_data03(&mut self, value: f32) {
        self.face_tex_data03 = value;
    }

    pub fn face_tex_data04(&self) -> f32 {
        self.face_tex_data04
    }

    pub fn set_face_tex_data04(&mut self, value: f32) {
        self.face_tex_data04 = value;
    }

    pub fn face_tex_data05(&self) -> f32 {
        self.face_tex_data05
    }

    pub fn set_face_tex_data05(&mut self, value: f32) {
        self.face_tex_data05 = value;
    }

    pub fn face_tex_data06(&self) -> f32 {
        self.face_tex_data06
    }

    pub fn set_face_tex_data06(&mut self, value: f32) {
        self.face_tex_data06 = value;
    }

    pub fn face_tex_data07(&self) -> f32 {
        self.face_tex_data07
    }

    pub fn set_face_tex_data07(&mut self, value: f32) {
        self.face_tex_data07 = value;
    }

    pub fn face_tex_data08(&self) -> f32 {
        self.face_tex_data08
    }

    pub fn set_face_tex_data08(&mut self, value: f32) {
        self.face_tex_data08 = value;
    }

    pub fn face_tex_data09(&self) -> f32 {
        self.face_tex_data09
    }

    pub fn set_face_tex_data09(&mut self, value: f32) {
        self.face_tex_data09 = value;
    }

    pub fn face_tex_data10(&self) -> f32 {
        self.face_tex_data10
    }

    pub fn set_face_tex_data10(&mut self, value: f32) {
        self.face_tex_data10 = value;
    }

    pub fn face_tex_data11(&self) -> f32 {
        self.face_tex_data11
    }

    pub fn set_face_tex_data11(&mut self, value: f32) {
        self.face_tex_data11 = value;
    }

    pub fn face_tex_data12(&self) -> f32 {
        self.face_tex_data12
    }

    pub fn set_face_tex_data12(&mut self, value: f32) {
        self.face_tex_data12 = value;
    }

    pub fn face_tex_data13(&self) -> f32 {
        self.face_tex_data13
    }

    pub fn set_face_tex_data13(&mut self, value: f32) {
        self.face_tex_data13 = value;
    }

    pub fn face_tex_data14(&self) -> f32 {
        self.face_tex_data14
    }

    pub fn set_face_tex_data14(&mut self, value: f32) {
        self.face_tex_data14 = value;
    }

    pub fn face_tex_data15(&self) -> f32 {
        self.face_tex_data15
    }

    pub fn set_face_tex_data15(&mut self, value: f32) {
        self.face_tex_data15 = value;
    }

    pub fn face_tex_data16(&self) -> f32 {
        self.face_tex_data16
    }

    pub fn set_face_tex_data16(&mut self, value: f32) {
        self.face_tex_data16 = value;
    }

    pub fn face_tex_data17(&self) -> f32 {
        self.face_tex_data17
    }

    pub fn set_face_tex_data17(&mut self, value: f32) {
        self.face_tex_data17 = value;
    }

    pub fn face_tex_data18(&self) -> f32 {
        self.face_tex_data18
    }

    pub fn set_face_tex_data18(&mut self, value: f32) {
        self.face_tex_data18 = value;
    }

    pub fn face_tex_data19(&self) -> f32 {
        self.face_tex_data19
    }

    pub fn set_face_tex_data19(&mut self, value: f32) {
        self.face_tex_data19 = value;
    }

    pub fn face_tex_data20(&self) -> f32 {
        self.face_tex_data20
    }

    pub fn set_face_tex_data20(&mut self, value: f32) {
        self.face_tex_data20 = value;
    }

    pub fn face_tex_data21(&self) -> f32 {
        self.face_tex_data21
    }

    pub fn set_face_tex_data21(&mut self, value: f32) {
        self.face_tex_data21 = value;
    }

    pub fn face_tex_data22(&self) -> f32 {
        self.face_tex_data22
    }

    pub fn set_face_tex_data22(&mut self, value: f32) {
        self.face_tex_data22 = value;
    }

    pub fn face_tex_data23(&self) -> f32 {
        self.face_tex_data23
    }

    pub fn set_face_tex_data23(&mut self, value: f32) {
        self.face_tex_data23 = value;
    }

    pub fn face_tex_data24(&self) -> f32 {
        self.face_tex_data24
    }

    pub fn set_face_tex_data24(&mut self, value: f32) {
        self.face_tex_data24 = value;
    }

    pub fn face_tex_data25(&self) -> f32 {
        self.face_tex_data25
    }

    pub fn set_face_tex_data25(&mut self, value: f32) {
        self.face_tex_data25 = value;
    }

    pub fn face_tex_data26(&self) -> f32 {
        self.face_tex_data26
    }

    pub fn set_face_tex_data26(&mut self, value: f32) {
        self.face_tex_data26 = value;
    }

    pub fn face_tex_data27(&self) -> f32 {
        self.face_tex_data27
    }

    pub fn set_face_tex_data27(&mut self, value: f32) {
        self.face_tex_data27 = value;
    }

    pub fn face_tex_data28(&self) -> f32 {
        self.face_tex_data28
    }

    pub fn set_face_tex_data28(&mut self, value: f32) {
        self.face_tex_data28 = value;
    }

    pub fn face_tex_data29(&self) -> f32 {
        self.face_tex_data29
    }

    pub fn set_face_tex_data29(&mut self, value: f32) {
        self.face_tex_data29 = value;
    }

    pub fn face_tex_data30(&self) -> f32 {
        self.face_tex_data30
    }

    pub fn set_face_tex_data30(&mut self, value: f32) {
        self.face_tex_data30 = value;
    }

    pub fn face_tex_data31(&self) -> f32 {
        self.face_tex_data31
    }

    pub fn set_face_tex_data31(&mut self, value: f32) {
        self.face_tex_data31 = value;
    }

    pub fn face_tex_data32(&self) -> f32 {
        self.face_tex_data32
    }

    pub fn set_face_tex_data32(&mut self, value: f32) {
        self.face_tex_data32 = value;
    }

    pub fn face_tex_data33(&self) -> f32 {
        self.face_tex_data33
    }

    pub fn set_face_tex_data33(&mut self, value: f32) {
        self.face_tex_data33 = value;
    }

    pub fn face_tex_data34(&self) -> f32 {
        self.face_tex_data34
    }

    pub fn set_face_tex_data34(&mut self, value: f32) {
        self.face_tex_data34 = value;
    }

    pub fn face_tex_data35(&self) -> f32 {
        self.face_tex_data35
    }

    pub fn set_face_tex_data35(&mut self, value: f32) {
        self.face_tex_data35 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct FOOT_SFX_PARAM_ST {
    sfx_id_00: u32,
    sfx_id_01: u32,
    sfx_id_02: u32,
    sfx_id_03: u32,
    sfx_id_04: u32,
    sfx_id_05: u32,
    sfx_id_06: u32,
    sfx_id_07: u32,
    sfx_id_08: u32,
    sfx_id_09: u32,
    sfx_id_10: u32,
    sfx_id_11: u32,
    sfx_id_12: u32,
    sfx_id_13: u32,
    sfx_id_14: u32,
    sfx_id_15: u32,
    sfx_id_16: u32,
    sfx_id_17: u32,
    sfx_id_18: u32,
    sfx_id_19: u32,
    sfx_id_20: u32,
    sfx_id_21: u32,
    sfx_id_22: u32,
    sfx_id_23: u32,
    sfx_id_24: u32,
    sfx_id_25: u32,
    sfx_id_26: u32,
    sfx_id_27: u32,
    sfx_id_28: u32,
    sfx_id_29: u32,
    sfx_id_30: u32,
    sfx_id_31: u32,
    sfx_id_32: u32,
    sfx_id_33: u32,
    sfx_id_34: u32,
    sfx_id_35: u32,
    sfx_id_36: u32,
    sfx_id_37: u32,
    sfx_id_38: u32,
    sfx_id_39: u32,
    sfx_id_40: u32,
    sfx_id_41: u32,
    sfx_id_42: u32,
    sfx_id_43: u32,
    sfx_id_44: u32,
    sfx_id_45: u32,
    sfx_id_46: u32,
    sfx_id_47: u32,
    sfx_id_48: u32,
    sfx_id_49: u32,
    sfx_id_50: u32,
    sfx_id_51: u32,
    sfx_id_52: u32,
    sfx_id_53: u32,
    sfx_id_54: u32,
    sfx_id_55: u32,
    sfx_id_56: u32,
    sfx_id_57: u32,
    sfx_id_58: u32,
    sfx_id_59: u32,
    sfx_id_60: u32,
    sfx_id_61: u32,
    sfx_id_62: u32,
    sfx_id_63: u32,
    sfx_id_64: u32,
    sfx_id_65: u32,
    sfx_id_66: u32,
    sfx_id_67: u32,
    sfx_id_68: u32,
    sfx_id_69: u32,
    sfx_id_70: u32,
    sfx_id_71: u32,
    sfx_id_72: u32,
    sfx_id_73: u32,
    sfx_id_74: u32,
    sfx_id_75: u32,
    sfx_id_76: u32,
    sfx_id_77: u32,
    sfx_id_78: u32,
    sfx_id_79: u32,
    sfx_id_80: u32,
    sfx_id_81: u32,
    sfx_id_82: u32,
    sfx_id_83: u32,
    sfx_id_84: u32,
    sfx_id_85: u32,
    sfx_id_86: u32,
    sfx_id_87: u32,
    sfx_id_88: u32,
    sfx_id_89: u32,
    sfx_id_90: u32,
    sfx_id_91: u32,
    sfx_id_92: u32,
    sfx_id_93: u32,
    sfx_id_94: u32,
    sfx_id_95: u32,
    sfx_id_96: u32,
    sfx_id_97: u32,
    sfx_id_98: u32,
    sfx_id_99: u32,
    sfx_id_100: u32,
    sfx_id_101: u32,
    sfx_id_102: u32,
    sfx_id_103: u32,
    sfx_id_104: u32,
    sfx_id_105: u32,
    sfx_id_106: u32,
    sfx_id_107: u32,
    sfx_id_108: u32,
    sfx_id_109: u32,
    sfx_id_110: u32,
    sfx_id_111: u32,
    sfx_id_112: u32,
    sfx_id_113: u32,
    sfx_id_114: u32,
    sfx_id_115: u32,
    sfx_id_116: u32,
    sfx_id_117: u32,
    sfx_id_118: u32,
    sfx_id_119: u32,
    sfx_id_120: u32,
    sfx_id_121: u32,
    sfx_id_122: u32,
    sfx_id_123: u32,
    sfx_id_124: u32,
    sfx_id_125: u32,
    sfx_id_126: u32,
    sfx_id_127: u32,
    sfx_id_128: u32,
    sfx_id_129: u32,
    sfx_id_130: u32,
    sfx_id_131: u32,
    sfx_id_132: u32,
    sfx_id_133: u32,
    sfx_id_134: u32,
    sfx_id_135: u32,
    sfx_id_136: u32,
    sfx_id_137: u32,
    sfx_id_138: u32,
    sfx_id_139: u32,
    sfx_id_140: u32,
    sfx_id_141: u32,
    sfx_id_142: u32,
    sfx_id_143: u32,
    sfx_id_144: u32,
    sfx_id_145: u32,
    sfx_id_146: u32,
    sfx_id_147: u32,
    sfx_id_148: u32,
    sfx_id_149: u32,
    sfx_id_150: u32,
    sfx_id_151: u32,
    sfx_id_152: u32,
    sfx_id_153: u32,
    sfx_id_154: u32,
    sfx_id_155: u32,
    sfx_id_156: u32,
    sfx_id_157: u32,
    sfx_id_158: u32,
    sfx_id_159: u32,
    sfx_id_160: u32,
    sfx_id_161: u32,
    sfx_id_162: u32,
    sfx_id_163: u32,
    sfx_id_164: u32,
    sfx_id_165: u32,
    sfx_id_166: u32,
    sfx_id_167: u32,
    sfx_id_168: u32,
    sfx_id_169: u32,
    sfx_id_170: u32,
    sfx_id_171: u32,
    sfx_id_172: u32,
    sfx_id_173: u32,
    sfx_id_174: u32,
    sfx_id_175: u32,
    sfx_id_176: u32,
    sfx_id_177: u32,
    sfx_id_178: u32,
    sfx_id_179: u32,
    sfx_id_180: u32,
    sfx_id_181: u32,
    sfx_id_182: u32,
    sfx_id_183: u32,
    sfx_id_184: u32,
    sfx_id_185: u32,
    sfx_id_186: u32,
    sfx_id_187: u32,
    sfx_id_188: u32,
    sfx_id_189: u32,
    sfx_id_190: u32,
    sfx_id_191: u32,
    sfx_id_192: u32,
    sfx_id_193: u32,
    sfx_id_194: u32,
    sfx_id_195: u32,
    sfx_id_196: u32,
    sfx_id_197: u32,
    sfx_id_198: u32,
    sfx_id_199: u32,
}

impl ParamDef for FOOT_SFX_PARAM_ST {
    const NAME: &str = "FOOT_SFX_PARAM_ST";
    const INDEX: usize = 30;
}

impl FOOT_SFX_PARAM_ST {
    pub fn sfx_id_00(&self) -> u32 {
        self.sfx_id_00
    }

    pub fn set_sfx_id_00(&mut self, value: u32) {
        self.sfx_id_00 = value;
    }

    pub fn sfx_id_01(&self) -> u32 {
        self.sfx_id_01
    }

    pub fn set_sfx_id_01(&mut self, value: u32) {
        self.sfx_id_01 = value;
    }

    pub fn sfx_id_02(&self) -> u32 {
        self.sfx_id_02
    }

    pub fn set_sfx_id_02(&mut self, value: u32) {
        self.sfx_id_02 = value;
    }

    pub fn sfx_id_03(&self) -> u32 {
        self.sfx_id_03
    }

    pub fn set_sfx_id_03(&mut self, value: u32) {
        self.sfx_id_03 = value;
    }

    pub fn sfx_id_04(&self) -> u32 {
        self.sfx_id_04
    }

    pub fn set_sfx_id_04(&mut self, value: u32) {
        self.sfx_id_04 = value;
    }

    pub fn sfx_id_05(&self) -> u32 {
        self.sfx_id_05
    }

    pub fn set_sfx_id_05(&mut self, value: u32) {
        self.sfx_id_05 = value;
    }

    pub fn sfx_id_06(&self) -> u32 {
        self.sfx_id_06
    }

    pub fn set_sfx_id_06(&mut self, value: u32) {
        self.sfx_id_06 = value;
    }

    pub fn sfx_id_07(&self) -> u32 {
        self.sfx_id_07
    }

    pub fn set_sfx_id_07(&mut self, value: u32) {
        self.sfx_id_07 = value;
    }

    pub fn sfx_id_08(&self) -> u32 {
        self.sfx_id_08
    }

    pub fn set_sfx_id_08(&mut self, value: u32) {
        self.sfx_id_08 = value;
    }

    pub fn sfx_id_09(&self) -> u32 {
        self.sfx_id_09
    }

    pub fn set_sfx_id_09(&mut self, value: u32) {
        self.sfx_id_09 = value;
    }

    pub fn sfx_id_10(&self) -> u32 {
        self.sfx_id_10
    }

    pub fn set_sfx_id_10(&mut self, value: u32) {
        self.sfx_id_10 = value;
    }

    pub fn sfx_id_11(&self) -> u32 {
        self.sfx_id_11
    }

    pub fn set_sfx_id_11(&mut self, value: u32) {
        self.sfx_id_11 = value;
    }

    pub fn sfx_id_12(&self) -> u32 {
        self.sfx_id_12
    }

    pub fn set_sfx_id_12(&mut self, value: u32) {
        self.sfx_id_12 = value;
    }

    pub fn sfx_id_13(&self) -> u32 {
        self.sfx_id_13
    }

    pub fn set_sfx_id_13(&mut self, value: u32) {
        self.sfx_id_13 = value;
    }

    pub fn sfx_id_14(&self) -> u32 {
        self.sfx_id_14
    }

    pub fn set_sfx_id_14(&mut self, value: u32) {
        self.sfx_id_14 = value;
    }

    pub fn sfx_id_15(&self) -> u32 {
        self.sfx_id_15
    }

    pub fn set_sfx_id_15(&mut self, value: u32) {
        self.sfx_id_15 = value;
    }

    pub fn sfx_id_16(&self) -> u32 {
        self.sfx_id_16
    }

    pub fn set_sfx_id_16(&mut self, value: u32) {
        self.sfx_id_16 = value;
    }

    pub fn sfx_id_17(&self) -> u32 {
        self.sfx_id_17
    }

    pub fn set_sfx_id_17(&mut self, value: u32) {
        self.sfx_id_17 = value;
    }

    pub fn sfx_id_18(&self) -> u32 {
        self.sfx_id_18
    }

    pub fn set_sfx_id_18(&mut self, value: u32) {
        self.sfx_id_18 = value;
    }

    pub fn sfx_id_19(&self) -> u32 {
        self.sfx_id_19
    }

    pub fn set_sfx_id_19(&mut self, value: u32) {
        self.sfx_id_19 = value;
    }

    pub fn sfx_id_20(&self) -> u32 {
        self.sfx_id_20
    }

    pub fn set_sfx_id_20(&mut self, value: u32) {
        self.sfx_id_20 = value;
    }

    pub fn sfx_id_21(&self) -> u32 {
        self.sfx_id_21
    }

    pub fn set_sfx_id_21(&mut self, value: u32) {
        self.sfx_id_21 = value;
    }

    pub fn sfx_id_22(&self) -> u32 {
        self.sfx_id_22
    }

    pub fn set_sfx_id_22(&mut self, value: u32) {
        self.sfx_id_22 = value;
    }

    pub fn sfx_id_23(&self) -> u32 {
        self.sfx_id_23
    }

    pub fn set_sfx_id_23(&mut self, value: u32) {
        self.sfx_id_23 = value;
    }

    pub fn sfx_id_24(&self) -> u32 {
        self.sfx_id_24
    }

    pub fn set_sfx_id_24(&mut self, value: u32) {
        self.sfx_id_24 = value;
    }

    pub fn sfx_id_25(&self) -> u32 {
        self.sfx_id_25
    }

    pub fn set_sfx_id_25(&mut self, value: u32) {
        self.sfx_id_25 = value;
    }

    pub fn sfx_id_26(&self) -> u32 {
        self.sfx_id_26
    }

    pub fn set_sfx_id_26(&mut self, value: u32) {
        self.sfx_id_26 = value;
    }

    pub fn sfx_id_27(&self) -> u32 {
        self.sfx_id_27
    }

    pub fn set_sfx_id_27(&mut self, value: u32) {
        self.sfx_id_27 = value;
    }

    pub fn sfx_id_28(&self) -> u32 {
        self.sfx_id_28
    }

    pub fn set_sfx_id_28(&mut self, value: u32) {
        self.sfx_id_28 = value;
    }

    pub fn sfx_id_29(&self) -> u32 {
        self.sfx_id_29
    }

    pub fn set_sfx_id_29(&mut self, value: u32) {
        self.sfx_id_29 = value;
    }

    pub fn sfx_id_30(&self) -> u32 {
        self.sfx_id_30
    }

    pub fn set_sfx_id_30(&mut self, value: u32) {
        self.sfx_id_30 = value;
    }

    pub fn sfx_id_31(&self) -> u32 {
        self.sfx_id_31
    }

    pub fn set_sfx_id_31(&mut self, value: u32) {
        self.sfx_id_31 = value;
    }

    pub fn sfx_id_32(&self) -> u32 {
        self.sfx_id_32
    }

    pub fn set_sfx_id_32(&mut self, value: u32) {
        self.sfx_id_32 = value;
    }

    pub fn sfx_id_33(&self) -> u32 {
        self.sfx_id_33
    }

    pub fn set_sfx_id_33(&mut self, value: u32) {
        self.sfx_id_33 = value;
    }

    pub fn sfx_id_34(&self) -> u32 {
        self.sfx_id_34
    }

    pub fn set_sfx_id_34(&mut self, value: u32) {
        self.sfx_id_34 = value;
    }

    pub fn sfx_id_35(&self) -> u32 {
        self.sfx_id_35
    }

    pub fn set_sfx_id_35(&mut self, value: u32) {
        self.sfx_id_35 = value;
    }

    pub fn sfx_id_36(&self) -> u32 {
        self.sfx_id_36
    }

    pub fn set_sfx_id_36(&mut self, value: u32) {
        self.sfx_id_36 = value;
    }

    pub fn sfx_id_37(&self) -> u32 {
        self.sfx_id_37
    }

    pub fn set_sfx_id_37(&mut self, value: u32) {
        self.sfx_id_37 = value;
    }

    pub fn sfx_id_38(&self) -> u32 {
        self.sfx_id_38
    }

    pub fn set_sfx_id_38(&mut self, value: u32) {
        self.sfx_id_38 = value;
    }

    pub fn sfx_id_39(&self) -> u32 {
        self.sfx_id_39
    }

    pub fn set_sfx_id_39(&mut self, value: u32) {
        self.sfx_id_39 = value;
    }

    pub fn sfx_id_40(&self) -> u32 {
        self.sfx_id_40
    }

    pub fn set_sfx_id_40(&mut self, value: u32) {
        self.sfx_id_40 = value;
    }

    pub fn sfx_id_41(&self) -> u32 {
        self.sfx_id_41
    }

    pub fn set_sfx_id_41(&mut self, value: u32) {
        self.sfx_id_41 = value;
    }

    pub fn sfx_id_42(&self) -> u32 {
        self.sfx_id_42
    }

    pub fn set_sfx_id_42(&mut self, value: u32) {
        self.sfx_id_42 = value;
    }

    pub fn sfx_id_43(&self) -> u32 {
        self.sfx_id_43
    }

    pub fn set_sfx_id_43(&mut self, value: u32) {
        self.sfx_id_43 = value;
    }

    pub fn sfx_id_44(&self) -> u32 {
        self.sfx_id_44
    }

    pub fn set_sfx_id_44(&mut self, value: u32) {
        self.sfx_id_44 = value;
    }

    pub fn sfx_id_45(&self) -> u32 {
        self.sfx_id_45
    }

    pub fn set_sfx_id_45(&mut self, value: u32) {
        self.sfx_id_45 = value;
    }

    pub fn sfx_id_46(&self) -> u32 {
        self.sfx_id_46
    }

    pub fn set_sfx_id_46(&mut self, value: u32) {
        self.sfx_id_46 = value;
    }

    pub fn sfx_id_47(&self) -> u32 {
        self.sfx_id_47
    }

    pub fn set_sfx_id_47(&mut self, value: u32) {
        self.sfx_id_47 = value;
    }

    pub fn sfx_id_48(&self) -> u32 {
        self.sfx_id_48
    }

    pub fn set_sfx_id_48(&mut self, value: u32) {
        self.sfx_id_48 = value;
    }

    pub fn sfx_id_49(&self) -> u32 {
        self.sfx_id_49
    }

    pub fn set_sfx_id_49(&mut self, value: u32) {
        self.sfx_id_49 = value;
    }

    pub fn sfx_id_50(&self) -> u32 {
        self.sfx_id_50
    }

    pub fn set_sfx_id_50(&mut self, value: u32) {
        self.sfx_id_50 = value;
    }

    pub fn sfx_id_51(&self) -> u32 {
        self.sfx_id_51
    }

    pub fn set_sfx_id_51(&mut self, value: u32) {
        self.sfx_id_51 = value;
    }

    pub fn sfx_id_52(&self) -> u32 {
        self.sfx_id_52
    }

    pub fn set_sfx_id_52(&mut self, value: u32) {
        self.sfx_id_52 = value;
    }

    pub fn sfx_id_53(&self) -> u32 {
        self.sfx_id_53
    }

    pub fn set_sfx_id_53(&mut self, value: u32) {
        self.sfx_id_53 = value;
    }

    pub fn sfx_id_54(&self) -> u32 {
        self.sfx_id_54
    }

    pub fn set_sfx_id_54(&mut self, value: u32) {
        self.sfx_id_54 = value;
    }

    pub fn sfx_id_55(&self) -> u32 {
        self.sfx_id_55
    }

    pub fn set_sfx_id_55(&mut self, value: u32) {
        self.sfx_id_55 = value;
    }

    pub fn sfx_id_56(&self) -> u32 {
        self.sfx_id_56
    }

    pub fn set_sfx_id_56(&mut self, value: u32) {
        self.sfx_id_56 = value;
    }

    pub fn sfx_id_57(&self) -> u32 {
        self.sfx_id_57
    }

    pub fn set_sfx_id_57(&mut self, value: u32) {
        self.sfx_id_57 = value;
    }

    pub fn sfx_id_58(&self) -> u32 {
        self.sfx_id_58
    }

    pub fn set_sfx_id_58(&mut self, value: u32) {
        self.sfx_id_58 = value;
    }

    pub fn sfx_id_59(&self) -> u32 {
        self.sfx_id_59
    }

    pub fn set_sfx_id_59(&mut self, value: u32) {
        self.sfx_id_59 = value;
    }

    pub fn sfx_id_60(&self) -> u32 {
        self.sfx_id_60
    }

    pub fn set_sfx_id_60(&mut self, value: u32) {
        self.sfx_id_60 = value;
    }

    pub fn sfx_id_61(&self) -> u32 {
        self.sfx_id_61
    }

    pub fn set_sfx_id_61(&mut self, value: u32) {
        self.sfx_id_61 = value;
    }

    pub fn sfx_id_62(&self) -> u32 {
        self.sfx_id_62
    }

    pub fn set_sfx_id_62(&mut self, value: u32) {
        self.sfx_id_62 = value;
    }

    pub fn sfx_id_63(&self) -> u32 {
        self.sfx_id_63
    }

    pub fn set_sfx_id_63(&mut self, value: u32) {
        self.sfx_id_63 = value;
    }

    pub fn sfx_id_64(&self) -> u32 {
        self.sfx_id_64
    }

    pub fn set_sfx_id_64(&mut self, value: u32) {
        self.sfx_id_64 = value;
    }

    pub fn sfx_id_65(&self) -> u32 {
        self.sfx_id_65
    }

    pub fn set_sfx_id_65(&mut self, value: u32) {
        self.sfx_id_65 = value;
    }

    pub fn sfx_id_66(&self) -> u32 {
        self.sfx_id_66
    }

    pub fn set_sfx_id_66(&mut self, value: u32) {
        self.sfx_id_66 = value;
    }

    pub fn sfx_id_67(&self) -> u32 {
        self.sfx_id_67
    }

    pub fn set_sfx_id_67(&mut self, value: u32) {
        self.sfx_id_67 = value;
    }

    pub fn sfx_id_68(&self) -> u32 {
        self.sfx_id_68
    }

    pub fn set_sfx_id_68(&mut self, value: u32) {
        self.sfx_id_68 = value;
    }

    pub fn sfx_id_69(&self) -> u32 {
        self.sfx_id_69
    }

    pub fn set_sfx_id_69(&mut self, value: u32) {
        self.sfx_id_69 = value;
    }

    pub fn sfx_id_70(&self) -> u32 {
        self.sfx_id_70
    }

    pub fn set_sfx_id_70(&mut self, value: u32) {
        self.sfx_id_70 = value;
    }

    pub fn sfx_id_71(&self) -> u32 {
        self.sfx_id_71
    }

    pub fn set_sfx_id_71(&mut self, value: u32) {
        self.sfx_id_71 = value;
    }

    pub fn sfx_id_72(&self) -> u32 {
        self.sfx_id_72
    }

    pub fn set_sfx_id_72(&mut self, value: u32) {
        self.sfx_id_72 = value;
    }

    pub fn sfx_id_73(&self) -> u32 {
        self.sfx_id_73
    }

    pub fn set_sfx_id_73(&mut self, value: u32) {
        self.sfx_id_73 = value;
    }

    pub fn sfx_id_74(&self) -> u32 {
        self.sfx_id_74
    }

    pub fn set_sfx_id_74(&mut self, value: u32) {
        self.sfx_id_74 = value;
    }

    pub fn sfx_id_75(&self) -> u32 {
        self.sfx_id_75
    }

    pub fn set_sfx_id_75(&mut self, value: u32) {
        self.sfx_id_75 = value;
    }

    pub fn sfx_id_76(&self) -> u32 {
        self.sfx_id_76
    }

    pub fn set_sfx_id_76(&mut self, value: u32) {
        self.sfx_id_76 = value;
    }

    pub fn sfx_id_77(&self) -> u32 {
        self.sfx_id_77
    }

    pub fn set_sfx_id_77(&mut self, value: u32) {
        self.sfx_id_77 = value;
    }

    pub fn sfx_id_78(&self) -> u32 {
        self.sfx_id_78
    }

    pub fn set_sfx_id_78(&mut self, value: u32) {
        self.sfx_id_78 = value;
    }

    pub fn sfx_id_79(&self) -> u32 {
        self.sfx_id_79
    }

    pub fn set_sfx_id_79(&mut self, value: u32) {
        self.sfx_id_79 = value;
    }

    pub fn sfx_id_80(&self) -> u32 {
        self.sfx_id_80
    }

    pub fn set_sfx_id_80(&mut self, value: u32) {
        self.sfx_id_80 = value;
    }

    pub fn sfx_id_81(&self) -> u32 {
        self.sfx_id_81
    }

    pub fn set_sfx_id_81(&mut self, value: u32) {
        self.sfx_id_81 = value;
    }

    pub fn sfx_id_82(&self) -> u32 {
        self.sfx_id_82
    }

    pub fn set_sfx_id_82(&mut self, value: u32) {
        self.sfx_id_82 = value;
    }

    pub fn sfx_id_83(&self) -> u32 {
        self.sfx_id_83
    }

    pub fn set_sfx_id_83(&mut self, value: u32) {
        self.sfx_id_83 = value;
    }

    pub fn sfx_id_84(&self) -> u32 {
        self.sfx_id_84
    }

    pub fn set_sfx_id_84(&mut self, value: u32) {
        self.sfx_id_84 = value;
    }

    pub fn sfx_id_85(&self) -> u32 {
        self.sfx_id_85
    }

    pub fn set_sfx_id_85(&mut self, value: u32) {
        self.sfx_id_85 = value;
    }

    pub fn sfx_id_86(&self) -> u32 {
        self.sfx_id_86
    }

    pub fn set_sfx_id_86(&mut self, value: u32) {
        self.sfx_id_86 = value;
    }

    pub fn sfx_id_87(&self) -> u32 {
        self.sfx_id_87
    }

    pub fn set_sfx_id_87(&mut self, value: u32) {
        self.sfx_id_87 = value;
    }

    pub fn sfx_id_88(&self) -> u32 {
        self.sfx_id_88
    }

    pub fn set_sfx_id_88(&mut self, value: u32) {
        self.sfx_id_88 = value;
    }

    pub fn sfx_id_89(&self) -> u32 {
        self.sfx_id_89
    }

    pub fn set_sfx_id_89(&mut self, value: u32) {
        self.sfx_id_89 = value;
    }

    pub fn sfx_id_90(&self) -> u32 {
        self.sfx_id_90
    }

    pub fn set_sfx_id_90(&mut self, value: u32) {
        self.sfx_id_90 = value;
    }

    pub fn sfx_id_91(&self) -> u32 {
        self.sfx_id_91
    }

    pub fn set_sfx_id_91(&mut self, value: u32) {
        self.sfx_id_91 = value;
    }

    pub fn sfx_id_92(&self) -> u32 {
        self.sfx_id_92
    }

    pub fn set_sfx_id_92(&mut self, value: u32) {
        self.sfx_id_92 = value;
    }

    pub fn sfx_id_93(&self) -> u32 {
        self.sfx_id_93
    }

    pub fn set_sfx_id_93(&mut self, value: u32) {
        self.sfx_id_93 = value;
    }

    pub fn sfx_id_94(&self) -> u32 {
        self.sfx_id_94
    }

    pub fn set_sfx_id_94(&mut self, value: u32) {
        self.sfx_id_94 = value;
    }

    pub fn sfx_id_95(&self) -> u32 {
        self.sfx_id_95
    }

    pub fn set_sfx_id_95(&mut self, value: u32) {
        self.sfx_id_95 = value;
    }

    pub fn sfx_id_96(&self) -> u32 {
        self.sfx_id_96
    }

    pub fn set_sfx_id_96(&mut self, value: u32) {
        self.sfx_id_96 = value;
    }

    pub fn sfx_id_97(&self) -> u32 {
        self.sfx_id_97
    }

    pub fn set_sfx_id_97(&mut self, value: u32) {
        self.sfx_id_97 = value;
    }

    pub fn sfx_id_98(&self) -> u32 {
        self.sfx_id_98
    }

    pub fn set_sfx_id_98(&mut self, value: u32) {
        self.sfx_id_98 = value;
    }

    pub fn sfx_id_99(&self) -> u32 {
        self.sfx_id_99
    }

    pub fn set_sfx_id_99(&mut self, value: u32) {
        self.sfx_id_99 = value;
    }

    pub fn sfx_id_100(&self) -> u32 {
        self.sfx_id_100
    }

    pub fn set_sfx_id_100(&mut self, value: u32) {
        self.sfx_id_100 = value;
    }

    pub fn sfx_id_101(&self) -> u32 {
        self.sfx_id_101
    }

    pub fn set_sfx_id_101(&mut self, value: u32) {
        self.sfx_id_101 = value;
    }

    pub fn sfx_id_102(&self) -> u32 {
        self.sfx_id_102
    }

    pub fn set_sfx_id_102(&mut self, value: u32) {
        self.sfx_id_102 = value;
    }

    pub fn sfx_id_103(&self) -> u32 {
        self.sfx_id_103
    }

    pub fn set_sfx_id_103(&mut self, value: u32) {
        self.sfx_id_103 = value;
    }

    pub fn sfx_id_104(&self) -> u32 {
        self.sfx_id_104
    }

    pub fn set_sfx_id_104(&mut self, value: u32) {
        self.sfx_id_104 = value;
    }

    pub fn sfx_id_105(&self) -> u32 {
        self.sfx_id_105
    }

    pub fn set_sfx_id_105(&mut self, value: u32) {
        self.sfx_id_105 = value;
    }

    pub fn sfx_id_106(&self) -> u32 {
        self.sfx_id_106
    }

    pub fn set_sfx_id_106(&mut self, value: u32) {
        self.sfx_id_106 = value;
    }

    pub fn sfx_id_107(&self) -> u32 {
        self.sfx_id_107
    }

    pub fn set_sfx_id_107(&mut self, value: u32) {
        self.sfx_id_107 = value;
    }

    pub fn sfx_id_108(&self) -> u32 {
        self.sfx_id_108
    }

    pub fn set_sfx_id_108(&mut self, value: u32) {
        self.sfx_id_108 = value;
    }

    pub fn sfx_id_109(&self) -> u32 {
        self.sfx_id_109
    }

    pub fn set_sfx_id_109(&mut self, value: u32) {
        self.sfx_id_109 = value;
    }

    pub fn sfx_id_110(&self) -> u32 {
        self.sfx_id_110
    }

    pub fn set_sfx_id_110(&mut self, value: u32) {
        self.sfx_id_110 = value;
    }

    pub fn sfx_id_111(&self) -> u32 {
        self.sfx_id_111
    }

    pub fn set_sfx_id_111(&mut self, value: u32) {
        self.sfx_id_111 = value;
    }

    pub fn sfx_id_112(&self) -> u32 {
        self.sfx_id_112
    }

    pub fn set_sfx_id_112(&mut self, value: u32) {
        self.sfx_id_112 = value;
    }

    pub fn sfx_id_113(&self) -> u32 {
        self.sfx_id_113
    }

    pub fn set_sfx_id_113(&mut self, value: u32) {
        self.sfx_id_113 = value;
    }

    pub fn sfx_id_114(&self) -> u32 {
        self.sfx_id_114
    }

    pub fn set_sfx_id_114(&mut self, value: u32) {
        self.sfx_id_114 = value;
    }

    pub fn sfx_id_115(&self) -> u32 {
        self.sfx_id_115
    }

    pub fn set_sfx_id_115(&mut self, value: u32) {
        self.sfx_id_115 = value;
    }

    pub fn sfx_id_116(&self) -> u32 {
        self.sfx_id_116
    }

    pub fn set_sfx_id_116(&mut self, value: u32) {
        self.sfx_id_116 = value;
    }

    pub fn sfx_id_117(&self) -> u32 {
        self.sfx_id_117
    }

    pub fn set_sfx_id_117(&mut self, value: u32) {
        self.sfx_id_117 = value;
    }

    pub fn sfx_id_118(&self) -> u32 {
        self.sfx_id_118
    }

    pub fn set_sfx_id_118(&mut self, value: u32) {
        self.sfx_id_118 = value;
    }

    pub fn sfx_id_119(&self) -> u32 {
        self.sfx_id_119
    }

    pub fn set_sfx_id_119(&mut self, value: u32) {
        self.sfx_id_119 = value;
    }

    pub fn sfx_id_120(&self) -> u32 {
        self.sfx_id_120
    }

    pub fn set_sfx_id_120(&mut self, value: u32) {
        self.sfx_id_120 = value;
    }

    pub fn sfx_id_121(&self) -> u32 {
        self.sfx_id_121
    }

    pub fn set_sfx_id_121(&mut self, value: u32) {
        self.sfx_id_121 = value;
    }

    pub fn sfx_id_122(&self) -> u32 {
        self.sfx_id_122
    }

    pub fn set_sfx_id_122(&mut self, value: u32) {
        self.sfx_id_122 = value;
    }

    pub fn sfx_id_123(&self) -> u32 {
        self.sfx_id_123
    }

    pub fn set_sfx_id_123(&mut self, value: u32) {
        self.sfx_id_123 = value;
    }

    pub fn sfx_id_124(&self) -> u32 {
        self.sfx_id_124
    }

    pub fn set_sfx_id_124(&mut self, value: u32) {
        self.sfx_id_124 = value;
    }

    pub fn sfx_id_125(&self) -> u32 {
        self.sfx_id_125
    }

    pub fn set_sfx_id_125(&mut self, value: u32) {
        self.sfx_id_125 = value;
    }

    pub fn sfx_id_126(&self) -> u32 {
        self.sfx_id_126
    }

    pub fn set_sfx_id_126(&mut self, value: u32) {
        self.sfx_id_126 = value;
    }

    pub fn sfx_id_127(&self) -> u32 {
        self.sfx_id_127
    }

    pub fn set_sfx_id_127(&mut self, value: u32) {
        self.sfx_id_127 = value;
    }

    pub fn sfx_id_128(&self) -> u32 {
        self.sfx_id_128
    }

    pub fn set_sfx_id_128(&mut self, value: u32) {
        self.sfx_id_128 = value;
    }

    pub fn sfx_id_129(&self) -> u32 {
        self.sfx_id_129
    }

    pub fn set_sfx_id_129(&mut self, value: u32) {
        self.sfx_id_129 = value;
    }

    pub fn sfx_id_130(&self) -> u32 {
        self.sfx_id_130
    }

    pub fn set_sfx_id_130(&mut self, value: u32) {
        self.sfx_id_130 = value;
    }

    pub fn sfx_id_131(&self) -> u32 {
        self.sfx_id_131
    }

    pub fn set_sfx_id_131(&mut self, value: u32) {
        self.sfx_id_131 = value;
    }

    pub fn sfx_id_132(&self) -> u32 {
        self.sfx_id_132
    }

    pub fn set_sfx_id_132(&mut self, value: u32) {
        self.sfx_id_132 = value;
    }

    pub fn sfx_id_133(&self) -> u32 {
        self.sfx_id_133
    }

    pub fn set_sfx_id_133(&mut self, value: u32) {
        self.sfx_id_133 = value;
    }

    pub fn sfx_id_134(&self) -> u32 {
        self.sfx_id_134
    }

    pub fn set_sfx_id_134(&mut self, value: u32) {
        self.sfx_id_134 = value;
    }

    pub fn sfx_id_135(&self) -> u32 {
        self.sfx_id_135
    }

    pub fn set_sfx_id_135(&mut self, value: u32) {
        self.sfx_id_135 = value;
    }

    pub fn sfx_id_136(&self) -> u32 {
        self.sfx_id_136
    }

    pub fn set_sfx_id_136(&mut self, value: u32) {
        self.sfx_id_136 = value;
    }

    pub fn sfx_id_137(&self) -> u32 {
        self.sfx_id_137
    }

    pub fn set_sfx_id_137(&mut self, value: u32) {
        self.sfx_id_137 = value;
    }

    pub fn sfx_id_138(&self) -> u32 {
        self.sfx_id_138
    }

    pub fn set_sfx_id_138(&mut self, value: u32) {
        self.sfx_id_138 = value;
    }

    pub fn sfx_id_139(&self) -> u32 {
        self.sfx_id_139
    }

    pub fn set_sfx_id_139(&mut self, value: u32) {
        self.sfx_id_139 = value;
    }

    pub fn sfx_id_140(&self) -> u32 {
        self.sfx_id_140
    }

    pub fn set_sfx_id_140(&mut self, value: u32) {
        self.sfx_id_140 = value;
    }

    pub fn sfx_id_141(&self) -> u32 {
        self.sfx_id_141
    }

    pub fn set_sfx_id_141(&mut self, value: u32) {
        self.sfx_id_141 = value;
    }

    pub fn sfx_id_142(&self) -> u32 {
        self.sfx_id_142
    }

    pub fn set_sfx_id_142(&mut self, value: u32) {
        self.sfx_id_142 = value;
    }

    pub fn sfx_id_143(&self) -> u32 {
        self.sfx_id_143
    }

    pub fn set_sfx_id_143(&mut self, value: u32) {
        self.sfx_id_143 = value;
    }

    pub fn sfx_id_144(&self) -> u32 {
        self.sfx_id_144
    }

    pub fn set_sfx_id_144(&mut self, value: u32) {
        self.sfx_id_144 = value;
    }

    pub fn sfx_id_145(&self) -> u32 {
        self.sfx_id_145
    }

    pub fn set_sfx_id_145(&mut self, value: u32) {
        self.sfx_id_145 = value;
    }

    pub fn sfx_id_146(&self) -> u32 {
        self.sfx_id_146
    }

    pub fn set_sfx_id_146(&mut self, value: u32) {
        self.sfx_id_146 = value;
    }

    pub fn sfx_id_147(&self) -> u32 {
        self.sfx_id_147
    }

    pub fn set_sfx_id_147(&mut self, value: u32) {
        self.sfx_id_147 = value;
    }

    pub fn sfx_id_148(&self) -> u32 {
        self.sfx_id_148
    }

    pub fn set_sfx_id_148(&mut self, value: u32) {
        self.sfx_id_148 = value;
    }

    pub fn sfx_id_149(&self) -> u32 {
        self.sfx_id_149
    }

    pub fn set_sfx_id_149(&mut self, value: u32) {
        self.sfx_id_149 = value;
    }

    pub fn sfx_id_150(&self) -> u32 {
        self.sfx_id_150
    }

    pub fn set_sfx_id_150(&mut self, value: u32) {
        self.sfx_id_150 = value;
    }

    pub fn sfx_id_151(&self) -> u32 {
        self.sfx_id_151
    }

    pub fn set_sfx_id_151(&mut self, value: u32) {
        self.sfx_id_151 = value;
    }

    pub fn sfx_id_152(&self) -> u32 {
        self.sfx_id_152
    }

    pub fn set_sfx_id_152(&mut self, value: u32) {
        self.sfx_id_152 = value;
    }

    pub fn sfx_id_153(&self) -> u32 {
        self.sfx_id_153
    }

    pub fn set_sfx_id_153(&mut self, value: u32) {
        self.sfx_id_153 = value;
    }

    pub fn sfx_id_154(&self) -> u32 {
        self.sfx_id_154
    }

    pub fn set_sfx_id_154(&mut self, value: u32) {
        self.sfx_id_154 = value;
    }

    pub fn sfx_id_155(&self) -> u32 {
        self.sfx_id_155
    }

    pub fn set_sfx_id_155(&mut self, value: u32) {
        self.sfx_id_155 = value;
    }

    pub fn sfx_id_156(&self) -> u32 {
        self.sfx_id_156
    }

    pub fn set_sfx_id_156(&mut self, value: u32) {
        self.sfx_id_156 = value;
    }

    pub fn sfx_id_157(&self) -> u32 {
        self.sfx_id_157
    }

    pub fn set_sfx_id_157(&mut self, value: u32) {
        self.sfx_id_157 = value;
    }

    pub fn sfx_id_158(&self) -> u32 {
        self.sfx_id_158
    }

    pub fn set_sfx_id_158(&mut self, value: u32) {
        self.sfx_id_158 = value;
    }

    pub fn sfx_id_159(&self) -> u32 {
        self.sfx_id_159
    }

    pub fn set_sfx_id_159(&mut self, value: u32) {
        self.sfx_id_159 = value;
    }

    pub fn sfx_id_160(&self) -> u32 {
        self.sfx_id_160
    }

    pub fn set_sfx_id_160(&mut self, value: u32) {
        self.sfx_id_160 = value;
    }

    pub fn sfx_id_161(&self) -> u32 {
        self.sfx_id_161
    }

    pub fn set_sfx_id_161(&mut self, value: u32) {
        self.sfx_id_161 = value;
    }

    pub fn sfx_id_162(&self) -> u32 {
        self.sfx_id_162
    }

    pub fn set_sfx_id_162(&mut self, value: u32) {
        self.sfx_id_162 = value;
    }

    pub fn sfx_id_163(&self) -> u32 {
        self.sfx_id_163
    }

    pub fn set_sfx_id_163(&mut self, value: u32) {
        self.sfx_id_163 = value;
    }

    pub fn sfx_id_164(&self) -> u32 {
        self.sfx_id_164
    }

    pub fn set_sfx_id_164(&mut self, value: u32) {
        self.sfx_id_164 = value;
    }

    pub fn sfx_id_165(&self) -> u32 {
        self.sfx_id_165
    }

    pub fn set_sfx_id_165(&mut self, value: u32) {
        self.sfx_id_165 = value;
    }

    pub fn sfx_id_166(&self) -> u32 {
        self.sfx_id_166
    }

    pub fn set_sfx_id_166(&mut self, value: u32) {
        self.sfx_id_166 = value;
    }

    pub fn sfx_id_167(&self) -> u32 {
        self.sfx_id_167
    }

    pub fn set_sfx_id_167(&mut self, value: u32) {
        self.sfx_id_167 = value;
    }

    pub fn sfx_id_168(&self) -> u32 {
        self.sfx_id_168
    }

    pub fn set_sfx_id_168(&mut self, value: u32) {
        self.sfx_id_168 = value;
    }

    pub fn sfx_id_169(&self) -> u32 {
        self.sfx_id_169
    }

    pub fn set_sfx_id_169(&mut self, value: u32) {
        self.sfx_id_169 = value;
    }

    pub fn sfx_id_170(&self) -> u32 {
        self.sfx_id_170
    }

    pub fn set_sfx_id_170(&mut self, value: u32) {
        self.sfx_id_170 = value;
    }

    pub fn sfx_id_171(&self) -> u32 {
        self.sfx_id_171
    }

    pub fn set_sfx_id_171(&mut self, value: u32) {
        self.sfx_id_171 = value;
    }

    pub fn sfx_id_172(&self) -> u32 {
        self.sfx_id_172
    }

    pub fn set_sfx_id_172(&mut self, value: u32) {
        self.sfx_id_172 = value;
    }

    pub fn sfx_id_173(&self) -> u32 {
        self.sfx_id_173
    }

    pub fn set_sfx_id_173(&mut self, value: u32) {
        self.sfx_id_173 = value;
    }

    pub fn sfx_id_174(&self) -> u32 {
        self.sfx_id_174
    }

    pub fn set_sfx_id_174(&mut self, value: u32) {
        self.sfx_id_174 = value;
    }

    pub fn sfx_id_175(&self) -> u32 {
        self.sfx_id_175
    }

    pub fn set_sfx_id_175(&mut self, value: u32) {
        self.sfx_id_175 = value;
    }

    pub fn sfx_id_176(&self) -> u32 {
        self.sfx_id_176
    }

    pub fn set_sfx_id_176(&mut self, value: u32) {
        self.sfx_id_176 = value;
    }

    pub fn sfx_id_177(&self) -> u32 {
        self.sfx_id_177
    }

    pub fn set_sfx_id_177(&mut self, value: u32) {
        self.sfx_id_177 = value;
    }

    pub fn sfx_id_178(&self) -> u32 {
        self.sfx_id_178
    }

    pub fn set_sfx_id_178(&mut self, value: u32) {
        self.sfx_id_178 = value;
    }

    pub fn sfx_id_179(&self) -> u32 {
        self.sfx_id_179
    }

    pub fn set_sfx_id_179(&mut self, value: u32) {
        self.sfx_id_179 = value;
    }

    pub fn sfx_id_180(&self) -> u32 {
        self.sfx_id_180
    }

    pub fn set_sfx_id_180(&mut self, value: u32) {
        self.sfx_id_180 = value;
    }

    pub fn sfx_id_181(&self) -> u32 {
        self.sfx_id_181
    }

    pub fn set_sfx_id_181(&mut self, value: u32) {
        self.sfx_id_181 = value;
    }

    pub fn sfx_id_182(&self) -> u32 {
        self.sfx_id_182
    }

    pub fn set_sfx_id_182(&mut self, value: u32) {
        self.sfx_id_182 = value;
    }

    pub fn sfx_id_183(&self) -> u32 {
        self.sfx_id_183
    }

    pub fn set_sfx_id_183(&mut self, value: u32) {
        self.sfx_id_183 = value;
    }

    pub fn sfx_id_184(&self) -> u32 {
        self.sfx_id_184
    }

    pub fn set_sfx_id_184(&mut self, value: u32) {
        self.sfx_id_184 = value;
    }

    pub fn sfx_id_185(&self) -> u32 {
        self.sfx_id_185
    }

    pub fn set_sfx_id_185(&mut self, value: u32) {
        self.sfx_id_185 = value;
    }

    pub fn sfx_id_186(&self) -> u32 {
        self.sfx_id_186
    }

    pub fn set_sfx_id_186(&mut self, value: u32) {
        self.sfx_id_186 = value;
    }

    pub fn sfx_id_187(&self) -> u32 {
        self.sfx_id_187
    }

    pub fn set_sfx_id_187(&mut self, value: u32) {
        self.sfx_id_187 = value;
    }

    pub fn sfx_id_188(&self) -> u32 {
        self.sfx_id_188
    }

    pub fn set_sfx_id_188(&mut self, value: u32) {
        self.sfx_id_188 = value;
    }

    pub fn sfx_id_189(&self) -> u32 {
        self.sfx_id_189
    }

    pub fn set_sfx_id_189(&mut self, value: u32) {
        self.sfx_id_189 = value;
    }

    pub fn sfx_id_190(&self) -> u32 {
        self.sfx_id_190
    }

    pub fn set_sfx_id_190(&mut self, value: u32) {
        self.sfx_id_190 = value;
    }

    pub fn sfx_id_191(&self) -> u32 {
        self.sfx_id_191
    }

    pub fn set_sfx_id_191(&mut self, value: u32) {
        self.sfx_id_191 = value;
    }

    pub fn sfx_id_192(&self) -> u32 {
        self.sfx_id_192
    }

    pub fn set_sfx_id_192(&mut self, value: u32) {
        self.sfx_id_192 = value;
    }

    pub fn sfx_id_193(&self) -> u32 {
        self.sfx_id_193
    }

    pub fn set_sfx_id_193(&mut self, value: u32) {
        self.sfx_id_193 = value;
    }

    pub fn sfx_id_194(&self) -> u32 {
        self.sfx_id_194
    }

    pub fn set_sfx_id_194(&mut self, value: u32) {
        self.sfx_id_194 = value;
    }

    pub fn sfx_id_195(&self) -> u32 {
        self.sfx_id_195
    }

    pub fn set_sfx_id_195(&mut self, value: u32) {
        self.sfx_id_195 = value;
    }

    pub fn sfx_id_196(&self) -> u32 {
        self.sfx_id_196
    }

    pub fn set_sfx_id_196(&mut self, value: u32) {
        self.sfx_id_196 = value;
    }

    pub fn sfx_id_197(&self) -> u32 {
        self.sfx_id_197
    }

    pub fn set_sfx_id_197(&mut self, value: u32) {
        self.sfx_id_197 = value;
    }

    pub fn sfx_id_198(&self) -> u32 {
        self.sfx_id_198
    }

    pub fn set_sfx_id_198(&mut self, value: u32) {
        self.sfx_id_198 = value;
    }

    pub fn sfx_id_199(&self) -> u32 {
        self.sfx_id_199
    }

    pub fn set_sfx_id_199(&mut self, value: u32) {
        self.sfx_id_199 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GAME_AREA_PARAM_ST {
    bonus_soul_single: i32,
    bonus_soul_multi: i32,
    humanity_point_count_flag_id_top: i32,
    humanity_drop_point1: i16,
    humanity_drop_point2: i16,
    humanity_drop_point3: i16,
    humanity_drop_point4: i16,
    humanity_drop_point5: i16,
    humanity_drop_point6: i16,
    humanity_drop_point7: i16,
    humanity_drop_point8: i16,
    humanity_drop_point9: i16,
    humanity_drop_point10: i16,
    solo_break_in_point_min: i32,
    solo_break_in_point_max: i32,
    pad1: [u8; 8],
}

impl ParamDef for GAME_AREA_PARAM_ST {
    const NAME: &str = "GAME_AREA_PARAM_ST";
    const INDEX: usize = 31;
}

impl GAME_AREA_PARAM_ST {
    pub fn bonus_soul_single(&self) -> i32 {
        self.bonus_soul_single
    }

    pub fn set_bonus_soul_single(&mut self, value: i32) {
        self.bonus_soul_single = value;
    }

    pub fn bonus_soul_multi(&self) -> i32 {
        self.bonus_soul_multi
    }

    pub fn set_bonus_soul_multi(&mut self, value: i32) {
        self.bonus_soul_multi = value;
    }

    pub fn humanity_point_count_flag_id_top(&self) -> i32 {
        self.humanity_point_count_flag_id_top
    }

    pub fn set_humanity_point_count_flag_id_top(&mut self, value: i32) {
        self.humanity_point_count_flag_id_top = value;
    }

    pub fn humanity_drop_point1(&self) -> i16 {
        self.humanity_drop_point1
    }

    pub fn set_humanity_drop_point1(&mut self, value: i16) {
        self.humanity_drop_point1 = value;
    }

    pub fn humanity_drop_point2(&self) -> i16 {
        self.humanity_drop_point2
    }

    pub fn set_humanity_drop_point2(&mut self, value: i16) {
        self.humanity_drop_point2 = value;
    }

    pub fn humanity_drop_point3(&self) -> i16 {
        self.humanity_drop_point3
    }

    pub fn set_humanity_drop_point3(&mut self, value: i16) {
        self.humanity_drop_point3 = value;
    }

    pub fn humanity_drop_point4(&self) -> i16 {
        self.humanity_drop_point4
    }

    pub fn set_humanity_drop_point4(&mut self, value: i16) {
        self.humanity_drop_point4 = value;
    }

    pub fn humanity_drop_point5(&self) -> i16 {
        self.humanity_drop_point5
    }

    pub fn set_humanity_drop_point5(&mut self, value: i16) {
        self.humanity_drop_point5 = value;
    }

    pub fn humanity_drop_point6(&self) -> i16 {
        self.humanity_drop_point6
    }

    pub fn set_humanity_drop_point6(&mut self, value: i16) {
        self.humanity_drop_point6 = value;
    }

    pub fn humanity_drop_point7(&self) -> i16 {
        self.humanity_drop_point7
    }

    pub fn set_humanity_drop_point7(&mut self, value: i16) {
        self.humanity_drop_point7 = value;
    }

    pub fn humanity_drop_point8(&self) -> i16 {
        self.humanity_drop_point8
    }

    pub fn set_humanity_drop_point8(&mut self, value: i16) {
        self.humanity_drop_point8 = value;
    }

    pub fn humanity_drop_point9(&self) -> i16 {
        self.humanity_drop_point9
    }

    pub fn set_humanity_drop_point9(&mut self, value: i16) {
        self.humanity_drop_point9 = value;
    }

    pub fn humanity_drop_point10(&self) -> i16 {
        self.humanity_drop_point10
    }

    pub fn set_humanity_drop_point10(&mut self, value: i16) {
        self.humanity_drop_point10 = value;
    }

    pub fn solo_break_in_point_min(&self) -> i32 {
        self.solo_break_in_point_min
    }

    pub fn set_solo_break_in_point_min(&mut self, value: i32) {
        self.solo_break_in_point_min = value;
    }

    pub fn solo_break_in_point_max(&self) -> i32 {
        self.solo_break_in_point_max
    }

    pub fn set_solo_break_in_point_max(&mut self, value: i32) {
        self.solo_break_in_point_max = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GAME_PROGRESS_PARAM_ST {
    event_flag_id: i32,
    progress_id: u8,
    pad1: [u8; 11],
}

impl ParamDef for GAME_PROGRESS_PARAM_ST {
    const NAME: &str = "GAME_PROGRESS_PARAM_ST";
    const INDEX: usize = 32;
}

impl GAME_PROGRESS_PARAM_ST {
    pub fn event_flag_id(&self) -> i32 {
        self.event_flag_id
    }

    pub fn set_event_flag_id(&mut self, value: i32) {
        self.event_flag_id = value;
    }

    pub fn progress_id(&self) -> u8 {
        self.progress_id
    }

    pub fn set_progress_id(&mut self, value: u8) {
        self.progress_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GEMEFFECT_PARAM_ST {
    sp_effect_id: i32,
    category_id: i32,
    effect_rank: i32,
    rank_min: i32,
    rank_max: i32,
    disposal_price: i32,
    gem_icon_id_offset: i16,
    pad1: [u8; 2],
    sp_effect_id_for_atk: i32,
}

impl ParamDef for GEMEFFECT_PARAM_ST {
    const NAME: &str = "GEMEFFECT_PARAM_ST";
    const INDEX: usize = 36;
}

impl GEMEFFECT_PARAM_ST {
    pub fn sp_effect_id(&self) -> i32 {
        self.sp_effect_id
    }

    pub fn set_sp_effect_id(&mut self, value: i32) {
        self.sp_effect_id = value;
    }

    pub fn category_id(&self) -> i32 {
        self.category_id
    }

    pub fn set_category_id(&mut self, value: i32) {
        self.category_id = value;
    }

    pub fn effect_rank(&self) -> i32 {
        self.effect_rank
    }

    pub fn set_effect_rank(&mut self, value: i32) {
        self.effect_rank = value;
    }

    pub fn rank_min(&self) -> i32 {
        self.rank_min
    }

    pub fn set_rank_min(&mut self, value: i32) {
        self.rank_min = value;
    }

    pub fn rank_max(&self) -> i32 {
        self.rank_max
    }

    pub fn set_rank_max(&mut self, value: i32) {
        self.rank_max = value;
    }

    pub fn disposal_price(&self) -> i32 {
        self.disposal_price
    }

    pub fn set_disposal_price(&mut self, value: i32) {
        self.disposal_price = value;
    }

    pub fn gem_icon_id_offset(&self) -> i16 {
        self.gem_icon_id_offset
    }

    pub fn set_gem_icon_id_offset(&mut self, value: i16) {
        self.gem_icon_id_offset = value;
    }

    pub fn sp_effect_id_for_atk(&self) -> i32 {
        self.sp_effect_id_for_atk
    }

    pub fn set_sp_effect_id_for_atk(&mut self, value: i32) {
        self.sp_effect_id_for_atk = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GEM_CATEGORY_PARAM_ST {
    sort_no: i32,
    manifest_rate: f32,
    directional_id: i32,
    cate_group_id: i32,
    exclude_group_id: i32,
    bits_14: u8,
    pad1: [u8; 3],
    affinity_cate_id_0: i32,
    affinity_modify_rate_0: f32,
    affinity_cate_id_1: i32,
    affinity_modify_rate_1: f32,
    affinity_cate_id_2: i32,
    affinity_modify_rate_2: f32,
    affinity_cate_id_3: i32,
    affinity_modify_rate_3: f32,
}

impl ParamDef for GEM_CATEGORY_PARAM_ST {
    const NAME: &str = "GEM_CATEGORY_PARAM_ST";
    const INDEX: usize = 33;
}

impl GEM_CATEGORY_PARAM_ST {
    pub fn sort_no(&self) -> i32 {
        self.sort_no
    }

    pub fn set_sort_no(&mut self, value: i32) {
        self.sort_no = value;
    }

    pub fn manifest_rate(&self) -> f32 {
        self.manifest_rate
    }

    pub fn set_manifest_rate(&mut self, value: f32) {
        self.manifest_rate = value;
    }

    pub fn directional_id(&self) -> i32 {
        self.directional_id
    }

    pub fn set_directional_id(&mut self, value: i32) {
        self.directional_id = value;
    }

    pub fn cate_group_id(&self) -> i32 {
        self.cate_group_id
    }

    pub fn set_cate_group_id(&mut self, value: i32) {
        self.cate_group_id = value;
    }

    pub fn exclude_group_id(&self) -> i32 {
        self.exclude_group_id
    }

    pub fn set_exclude_group_id(&mut self, value: i32) {
        self.exclude_group_id = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_negative(&self) -> u8 {
        (self.bits_14 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_negative(&mut self, value: u8) {
        self.bits_14 = (self.bits_14 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_slot_type_a(&self) -> u8 {
        (self.bits_14 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_slot_type_a(&mut self, value: u8) {
        self.bits_14 = (self.bits_14 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_slot_type_b(&self) -> u8 {
        (self.bits_14 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_slot_type_b(&mut self, value: u8) {
        self.bits_14 = (self.bits_14 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_slot_type_c(&self) -> u8 {
        (self.bits_14 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_slot_type_c(&mut self, value: u8) {
        self.bits_14 = (self.bits_14 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_slot_type_d(&self) -> u8 {
        (self.bits_14 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_slot_type_d(&mut self, value: u8) {
        self.bits_14 = (self.bits_14 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_slot_type_e(&self) -> u8 {
        (self.bits_14 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_slot_type_e(&mut self, value: u8) {
        self.bits_14 = (self.bits_14 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_slot_type_f(&self) -> u8 {
        (self.bits_14 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_slot_type_f(&mut self, value: u8) {
        self.bits_14 = (self.bits_14 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn holygrail_type_group(&self) -> u8 {
        (self.bits_14 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_holygrail_type_group(&mut self, value: u8) {
        self.bits_14 = (self.bits_14 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn affinity_cate_id_0(&self) -> i32 {
        self.affinity_cate_id_0
    }

    pub fn set_affinity_cate_id_0(&mut self, value: i32) {
        self.affinity_cate_id_0 = value;
    }

    pub fn affinity_modify_rate_0(&self) -> f32 {
        self.affinity_modify_rate_0
    }

    pub fn set_affinity_modify_rate_0(&mut self, value: f32) {
        self.affinity_modify_rate_0 = value;
    }

    pub fn affinity_cate_id_1(&self) -> i32 {
        self.affinity_cate_id_1
    }

    pub fn set_affinity_cate_id_1(&mut self, value: i32) {
        self.affinity_cate_id_1 = value;
    }

    pub fn affinity_modify_rate_1(&self) -> f32 {
        self.affinity_modify_rate_1
    }

    pub fn set_affinity_modify_rate_1(&mut self, value: f32) {
        self.affinity_modify_rate_1 = value;
    }

    pub fn affinity_cate_id_2(&self) -> i32 {
        self.affinity_cate_id_2
    }

    pub fn set_affinity_cate_id_2(&mut self, value: i32) {
        self.affinity_cate_id_2 = value;
    }

    pub fn affinity_modify_rate_2(&self) -> f32 {
        self.affinity_modify_rate_2
    }

    pub fn set_affinity_modify_rate_2(&mut self, value: f32) {
        self.affinity_modify_rate_2 = value;
    }

    pub fn affinity_cate_id_3(&self) -> i32 {
        self.affinity_cate_id_3
    }

    pub fn set_affinity_cate_id_3(&mut self, value: i32) {
        self.affinity_cate_id_3 = value;
    }

    pub fn affinity_modify_rate_3(&self) -> f32 {
        self.affinity_modify_rate_3
    }

    pub fn set_affinity_modify_rate_3(&mut self, value: f32) {
        self.affinity_modify_rate_3 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GEM_DROP_DOPING_PARAM_ST {
    rank_min: i32,
    rank_max: i32,
    normal_distribution_ave: i32,
    normal_distribution_sigma: i32,
    slot_type_a: f32,
    slot_type_b: f32,
    slot_type_c: f32,
    slot_type_d: f32,
    slot_type_e: f32,
    slot_type_f: f32,
    directional_id_rate_0: f32,
    directional_id_rate_1: f32,
    directional_id_rate_2: f32,
    directional_id_rate_3: f32,
    directional_id_rate_4: f32,
    directional_id_rate_5: f32,
    directional_id_rate_6: f32,
    directional_id_rate_7: f32,
}

impl ParamDef for GEM_DROP_DOPING_PARAM_ST {
    const NAME: &str = "GEM_DROP_DOPING_PARAM_ST";
    const INDEX: usize = 34;
}

impl GEM_DROP_DOPING_PARAM_ST {
    pub fn rank_min(&self) -> i32 {
        self.rank_min
    }

    pub fn set_rank_min(&mut self, value: i32) {
        self.rank_min = value;
    }

    pub fn rank_max(&self) -> i32 {
        self.rank_max
    }

    pub fn set_rank_max(&mut self, value: i32) {
        self.rank_max = value;
    }

    pub fn normal_distribution_ave(&self) -> i32 {
        self.normal_distribution_ave
    }

    pub fn set_normal_distribution_ave(&mut self, value: i32) {
        self.normal_distribution_ave = value;
    }

    pub fn normal_distribution_sigma(&self) -> i32 {
        self.normal_distribution_sigma
    }

    pub fn set_normal_distribution_sigma(&mut self, value: i32) {
        self.normal_distribution_sigma = value;
    }

    pub fn slot_type_a(&self) -> f32 {
        self.slot_type_a
    }

    pub fn set_slot_type_a(&mut self, value: f32) {
        self.slot_type_a = value;
    }

    pub fn slot_type_b(&self) -> f32 {
        self.slot_type_b
    }

    pub fn set_slot_type_b(&mut self, value: f32) {
        self.slot_type_b = value;
    }

    pub fn slot_type_c(&self) -> f32 {
        self.slot_type_c
    }

    pub fn set_slot_type_c(&mut self, value: f32) {
        self.slot_type_c = value;
    }

    pub fn slot_type_d(&self) -> f32 {
        self.slot_type_d
    }

    pub fn set_slot_type_d(&mut self, value: f32) {
        self.slot_type_d = value;
    }

    pub fn slot_type_e(&self) -> f32 {
        self.slot_type_e
    }

    pub fn set_slot_type_e(&mut self, value: f32) {
        self.slot_type_e = value;
    }

    pub fn slot_type_f(&self) -> f32 {
        self.slot_type_f
    }

    pub fn set_slot_type_f(&mut self, value: f32) {
        self.slot_type_f = value;
    }

    pub fn directional_id_rate_0(&self) -> f32 {
        self.directional_id_rate_0
    }

    pub fn set_directional_id_rate_0(&mut self, value: f32) {
        self.directional_id_rate_0 = value;
    }

    pub fn directional_id_rate_1(&self) -> f32 {
        self.directional_id_rate_1
    }

    pub fn set_directional_id_rate_1(&mut self, value: f32) {
        self.directional_id_rate_1 = value;
    }

    pub fn directional_id_rate_2(&self) -> f32 {
        self.directional_id_rate_2
    }

    pub fn set_directional_id_rate_2(&mut self, value: f32) {
        self.directional_id_rate_2 = value;
    }

    pub fn directional_id_rate_3(&self) -> f32 {
        self.directional_id_rate_3
    }

    pub fn set_directional_id_rate_3(&mut self, value: f32) {
        self.directional_id_rate_3 = value;
    }

    pub fn directional_id_rate_4(&self) -> f32 {
        self.directional_id_rate_4
    }

    pub fn set_directional_id_rate_4(&mut self, value: f32) {
        self.directional_id_rate_4 = value;
    }

    pub fn directional_id_rate_5(&self) -> f32 {
        self.directional_id_rate_5
    }

    pub fn set_directional_id_rate_5(&mut self, value: f32) {
        self.directional_id_rate_5 = value;
    }

    pub fn directional_id_rate_6(&self) -> f32 {
        self.directional_id_rate_6
    }

    pub fn set_directional_id_rate_6(&mut self, value: f32) {
        self.directional_id_rate_6 = value;
    }

    pub fn directional_id_rate_7(&self) -> f32 {
        self.directional_id_rate_7
    }

    pub fn set_directional_id_rate_7(&mut self, value: f32) {
        self.directional_id_rate_7 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GEM_DROP_MODIFY_PARAM_ST {
    slot_type_rate_a: f32,
    slot_type_rate_b: f32,
    slot_type_rate_c: f32,
    slot_type_rate_d: f32,
    slot_type_rate_e: f32,
    slot_type_rate_f: f32,
    directional_id_rate_0: f32,
    directional_id_rate_1: f32,
    directional_id_rate_2: f32,
    directional_id_rate_3: f32,
    directional_id_rate_4: f32,
    directional_id_rate_5: f32,
    directional_id_rate_6: f32,
    directional_id_rate_7: f32,
    affinity_cate_id_0: i32,
    affinity_modify_rate_0: f32,
    affinity_cate_id_1: i32,
    affinity_modify_rate_1: f32,
    affinity_cate_id_2: i32,
    affinity_modify_rate_2: f32,
    affinity_cate_id_3: i32,
    affinity_modify_rate_3: f32,
    manifest_rate_0: f32,
    manifest_rate_1: f32,
    manifest_rate_2: f32,
    manifest_rate_3: f32,
    manifest_rate_4: f32,
    manifest_rate_5: f32,
    negativize_rate_0: f32,
    normal_distribution_ave: i32,
    normal_distribution_sigma: i32,
}

impl ParamDef for GEM_DROP_MODIFY_PARAM_ST {
    const NAME: &str = "GEM_DROP_MODIFY_PARAM_ST";
    const INDEX: usize = 35;
}

impl GEM_DROP_MODIFY_PARAM_ST {
    pub fn slot_type_rate_a(&self) -> f32 {
        self.slot_type_rate_a
    }

    pub fn set_slot_type_rate_a(&mut self, value: f32) {
        self.slot_type_rate_a = value;
    }

    pub fn slot_type_rate_b(&self) -> f32 {
        self.slot_type_rate_b
    }

    pub fn set_slot_type_rate_b(&mut self, value: f32) {
        self.slot_type_rate_b = value;
    }

    pub fn slot_type_rate_c(&self) -> f32 {
        self.slot_type_rate_c
    }

    pub fn set_slot_type_rate_c(&mut self, value: f32) {
        self.slot_type_rate_c = value;
    }

    pub fn slot_type_rate_d(&self) -> f32 {
        self.slot_type_rate_d
    }

    pub fn set_slot_type_rate_d(&mut self, value: f32) {
        self.slot_type_rate_d = value;
    }

    pub fn slot_type_rate_e(&self) -> f32 {
        self.slot_type_rate_e
    }

    pub fn set_slot_type_rate_e(&mut self, value: f32) {
        self.slot_type_rate_e = value;
    }

    pub fn slot_type_rate_f(&self) -> f32 {
        self.slot_type_rate_f
    }

    pub fn set_slot_type_rate_f(&mut self, value: f32) {
        self.slot_type_rate_f = value;
    }

    pub fn directional_id_rate_0(&self) -> f32 {
        self.directional_id_rate_0
    }

    pub fn set_directional_id_rate_0(&mut self, value: f32) {
        self.directional_id_rate_0 = value;
    }

    pub fn directional_id_rate_1(&self) -> f32 {
        self.directional_id_rate_1
    }

    pub fn set_directional_id_rate_1(&mut self, value: f32) {
        self.directional_id_rate_1 = value;
    }

    pub fn directional_id_rate_2(&self) -> f32 {
        self.directional_id_rate_2
    }

    pub fn set_directional_id_rate_2(&mut self, value: f32) {
        self.directional_id_rate_2 = value;
    }

    pub fn directional_id_rate_3(&self) -> f32 {
        self.directional_id_rate_3
    }

    pub fn set_directional_id_rate_3(&mut self, value: f32) {
        self.directional_id_rate_3 = value;
    }

    pub fn directional_id_rate_4(&self) -> f32 {
        self.directional_id_rate_4
    }

    pub fn set_directional_id_rate_4(&mut self, value: f32) {
        self.directional_id_rate_4 = value;
    }

    pub fn directional_id_rate_5(&self) -> f32 {
        self.directional_id_rate_5
    }

    pub fn set_directional_id_rate_5(&mut self, value: f32) {
        self.directional_id_rate_5 = value;
    }

    pub fn directional_id_rate_6(&self) -> f32 {
        self.directional_id_rate_6
    }

    pub fn set_directional_id_rate_6(&mut self, value: f32) {
        self.directional_id_rate_6 = value;
    }

    pub fn directional_id_rate_7(&self) -> f32 {
        self.directional_id_rate_7
    }

    pub fn set_directional_id_rate_7(&mut self, value: f32) {
        self.directional_id_rate_7 = value;
    }

    pub fn affinity_cate_id_0(&self) -> i32 {
        self.affinity_cate_id_0
    }

    pub fn set_affinity_cate_id_0(&mut self, value: i32) {
        self.affinity_cate_id_0 = value;
    }

    pub fn affinity_modify_rate_0(&self) -> f32 {
        self.affinity_modify_rate_0
    }

    pub fn set_affinity_modify_rate_0(&mut self, value: f32) {
        self.affinity_modify_rate_0 = value;
    }

    pub fn affinity_cate_id_1(&self) -> i32 {
        self.affinity_cate_id_1
    }

    pub fn set_affinity_cate_id_1(&mut self, value: i32) {
        self.affinity_cate_id_1 = value;
    }

    pub fn affinity_modify_rate_1(&self) -> f32 {
        self.affinity_modify_rate_1
    }

    pub fn set_affinity_modify_rate_1(&mut self, value: f32) {
        self.affinity_modify_rate_1 = value;
    }

    pub fn affinity_cate_id_2(&self) -> i32 {
        self.affinity_cate_id_2
    }

    pub fn set_affinity_cate_id_2(&mut self, value: i32) {
        self.affinity_cate_id_2 = value;
    }

    pub fn affinity_modify_rate_2(&self) -> f32 {
        self.affinity_modify_rate_2
    }

    pub fn set_affinity_modify_rate_2(&mut self, value: f32) {
        self.affinity_modify_rate_2 = value;
    }

    pub fn affinity_cate_id_3(&self) -> i32 {
        self.affinity_cate_id_3
    }

    pub fn set_affinity_cate_id_3(&mut self, value: i32) {
        self.affinity_cate_id_3 = value;
    }

    pub fn affinity_modify_rate_3(&self) -> f32 {
        self.affinity_modify_rate_3
    }

    pub fn set_affinity_modify_rate_3(&mut self, value: f32) {
        self.affinity_modify_rate_3 = value;
    }

    pub fn manifest_rate_0(&self) -> f32 {
        self.manifest_rate_0
    }

    pub fn set_manifest_rate_0(&mut self, value: f32) {
        self.manifest_rate_0 = value;
    }

    pub fn manifest_rate_1(&self) -> f32 {
        self.manifest_rate_1
    }

    pub fn set_manifest_rate_1(&mut self, value: f32) {
        self.manifest_rate_1 = value;
    }

    pub fn manifest_rate_2(&self) -> f32 {
        self.manifest_rate_2
    }

    pub fn set_manifest_rate_2(&mut self, value: f32) {
        self.manifest_rate_2 = value;
    }

    pub fn manifest_rate_3(&self) -> f32 {
        self.manifest_rate_3
    }

    pub fn set_manifest_rate_3(&mut self, value: f32) {
        self.manifest_rate_3 = value;
    }

    pub fn manifest_rate_4(&self) -> f32 {
        self.manifest_rate_4
    }

    pub fn set_manifest_rate_4(&mut self, value: f32) {
        self.manifest_rate_4 = value;
    }

    pub fn manifest_rate_5(&self) -> f32 {
        self.manifest_rate_5
    }

    pub fn set_manifest_rate_5(&mut self, value: f32) {
        self.manifest_rate_5 = value;
    }

    pub fn negativize_rate_0(&self) -> f32 {
        self.negativize_rate_0
    }

    pub fn set_negativize_rate_0(&mut self, value: f32) {
        self.negativize_rate_0 = value;
    }

    pub fn normal_distribution_ave(&self) -> i32 {
        self.normal_distribution_ave
    }

    pub fn set_normal_distribution_ave(&mut self, value: i32) {
        self.normal_distribution_ave = value;
    }

    pub fn normal_distribution_sigma(&self) -> i32 {
        self.normal_distribution_sigma
    }

    pub fn set_normal_distribution_sigma(&mut self, value: i32) {
        self.normal_distribution_sigma = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GEM_GEN_PARAM_ST {
    bits_0: u8,
    pad: [u8; 3],
    unk04: i32,
    gem_name_id_offset: i32,
    disable_slot_rate_modify: i32,
    slot_type_rate_a: f32,
    slot_type_rate_b: f32,
    slot_type_rate_c: f32,
    slot_type_rate_d: f32,
    slot_type_rate_e: f32,
    slot_type_rate_f: f32,
    gem_rank_doping: u8,
    pad1: [u8; 3],
    gemeffect_gen_param_type_0: i32,
    gemeffect_gen_param_0: i32,
    manifest_rate_0: f32,
    negativize_rate_0: f32,
    gemeffect_gen_param_type_1: i32,
    gemeffect_gen_param_1: i32,
    manifest_rate_1: f32,
    negativize_rate_1: f32,
    gemeffect_gen_param_type_2: i32,
    gemeffect_gen_param_2: i32,
    manifest_rate_2: f32,
    negativize_rate_2: f32,
    gemeffect_gen_param_type_3: i32,
    gemeffect_gen_param_3: i32,
    manifest_rate_3: f32,
    negativize_rate_3: f32,
    gemeffect_gen_param_type_4: i32,
    gemeffect_gen_param_4: i32,
    manifest_rate_4: f32,
    negativize_rate_4: f32,
    gemeffect_gen_param_type_5: i32,
    gemeffect_gen_param_5: i32,
    manifest_rate_5: f32,
    negativize_rate_5: f32,
}

impl ParamDef for GEM_GEN_PARAM_ST {
    const NAME: &str = "GEM_GEN_PARAM_ST";
    const INDEX: usize = 37;
}

impl GEM_GEN_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn is_unique(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_unique(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn gem_name_id_offset(&self) -> i32 {
        self.gem_name_id_offset
    }

    pub fn set_gem_name_id_offset(&mut self, value: i32) {
        self.gem_name_id_offset = value;
    }

    pub fn disable_slot_rate_modify(&self) -> i32 {
        self.disable_slot_rate_modify
    }

    pub fn set_disable_slot_rate_modify(&mut self, value: i32) {
        self.disable_slot_rate_modify = value;
    }

    pub fn slot_type_rate_a(&self) -> f32 {
        self.slot_type_rate_a
    }

    pub fn set_slot_type_rate_a(&mut self, value: f32) {
        self.slot_type_rate_a = value;
    }

    pub fn slot_type_rate_b(&self) -> f32 {
        self.slot_type_rate_b
    }

    pub fn set_slot_type_rate_b(&mut self, value: f32) {
        self.slot_type_rate_b = value;
    }

    pub fn slot_type_rate_c(&self) -> f32 {
        self.slot_type_rate_c
    }

    pub fn set_slot_type_rate_c(&mut self, value: f32) {
        self.slot_type_rate_c = value;
    }

    pub fn slot_type_rate_d(&self) -> f32 {
        self.slot_type_rate_d
    }

    pub fn set_slot_type_rate_d(&mut self, value: f32) {
        self.slot_type_rate_d = value;
    }

    pub fn slot_type_rate_e(&self) -> f32 {
        self.slot_type_rate_e
    }

    pub fn set_slot_type_rate_e(&mut self, value: f32) {
        self.slot_type_rate_e = value;
    }

    pub fn slot_type_rate_f(&self) -> f32 {
        self.slot_type_rate_f
    }

    pub fn set_slot_type_rate_f(&mut self, value: f32) {
        self.slot_type_rate_f = value;
    }

    pub fn gem_rank_doping(&self) -> u8 {
        self.gem_rank_doping
    }

    pub fn set_gem_rank_doping(&mut self, value: u8) {
        self.gem_rank_doping = value;
    }

    pub fn gemeffect_gen_param_type_0(&self) -> i32 {
        self.gemeffect_gen_param_type_0
    }

    pub fn set_gemeffect_gen_param_type_0(&mut self, value: i32) {
        self.gemeffect_gen_param_type_0 = value;
    }

    pub fn gemeffect_gen_param_0(&self) -> i32 {
        self.gemeffect_gen_param_0
    }

    pub fn set_gemeffect_gen_param_0(&mut self, value: i32) {
        self.gemeffect_gen_param_0 = value;
    }

    pub fn manifest_rate_0(&self) -> f32 {
        self.manifest_rate_0
    }

    pub fn set_manifest_rate_0(&mut self, value: f32) {
        self.manifest_rate_0 = value;
    }

    pub fn negativize_rate_0(&self) -> f32 {
        self.negativize_rate_0
    }

    pub fn set_negativize_rate_0(&mut self, value: f32) {
        self.negativize_rate_0 = value;
    }

    pub fn gemeffect_gen_param_type_1(&self) -> i32 {
        self.gemeffect_gen_param_type_1
    }

    pub fn set_gemeffect_gen_param_type_1(&mut self, value: i32) {
        self.gemeffect_gen_param_type_1 = value;
    }

    pub fn gemeffect_gen_param_1(&self) -> i32 {
        self.gemeffect_gen_param_1
    }

    pub fn set_gemeffect_gen_param_1(&mut self, value: i32) {
        self.gemeffect_gen_param_1 = value;
    }

    pub fn manifest_rate_1(&self) -> f32 {
        self.manifest_rate_1
    }

    pub fn set_manifest_rate_1(&mut self, value: f32) {
        self.manifest_rate_1 = value;
    }

    pub fn negativize_rate_1(&self) -> f32 {
        self.negativize_rate_1
    }

    pub fn set_negativize_rate_1(&mut self, value: f32) {
        self.negativize_rate_1 = value;
    }

    pub fn gemeffect_gen_param_type_2(&self) -> i32 {
        self.gemeffect_gen_param_type_2
    }

    pub fn set_gemeffect_gen_param_type_2(&mut self, value: i32) {
        self.gemeffect_gen_param_type_2 = value;
    }

    pub fn gemeffect_gen_param_2(&self) -> i32 {
        self.gemeffect_gen_param_2
    }

    pub fn set_gemeffect_gen_param_2(&mut self, value: i32) {
        self.gemeffect_gen_param_2 = value;
    }

    pub fn manifest_rate_2(&self) -> f32 {
        self.manifest_rate_2
    }

    pub fn set_manifest_rate_2(&mut self, value: f32) {
        self.manifest_rate_2 = value;
    }

    pub fn negativize_rate_2(&self) -> f32 {
        self.negativize_rate_2
    }

    pub fn set_negativize_rate_2(&mut self, value: f32) {
        self.negativize_rate_2 = value;
    }

    pub fn gemeffect_gen_param_type_3(&self) -> i32 {
        self.gemeffect_gen_param_type_3
    }

    pub fn set_gemeffect_gen_param_type_3(&mut self, value: i32) {
        self.gemeffect_gen_param_type_3 = value;
    }

    pub fn gemeffect_gen_param_3(&self) -> i32 {
        self.gemeffect_gen_param_3
    }

    pub fn set_gemeffect_gen_param_3(&mut self, value: i32) {
        self.gemeffect_gen_param_3 = value;
    }

    pub fn manifest_rate_3(&self) -> f32 {
        self.manifest_rate_3
    }

    pub fn set_manifest_rate_3(&mut self, value: f32) {
        self.manifest_rate_3 = value;
    }

    pub fn negativize_rate_3(&self) -> f32 {
        self.negativize_rate_3
    }

    pub fn set_negativize_rate_3(&mut self, value: f32) {
        self.negativize_rate_3 = value;
    }

    pub fn gemeffect_gen_param_type_4(&self) -> i32 {
        self.gemeffect_gen_param_type_4
    }

    pub fn set_gemeffect_gen_param_type_4(&mut self, value: i32) {
        self.gemeffect_gen_param_type_4 = value;
    }

    pub fn gemeffect_gen_param_4(&self) -> i32 {
        self.gemeffect_gen_param_4
    }

    pub fn set_gemeffect_gen_param_4(&mut self, value: i32) {
        self.gemeffect_gen_param_4 = value;
    }

    pub fn manifest_rate_4(&self) -> f32 {
        self.manifest_rate_4
    }

    pub fn set_manifest_rate_4(&mut self, value: f32) {
        self.manifest_rate_4 = value;
    }

    pub fn negativize_rate_4(&self) -> f32 {
        self.negativize_rate_4
    }

    pub fn set_negativize_rate_4(&mut self, value: f32) {
        self.negativize_rate_4 = value;
    }

    pub fn gemeffect_gen_param_type_5(&self) -> i32 {
        self.gemeffect_gen_param_type_5
    }

    pub fn set_gemeffect_gen_param_type_5(&mut self, value: i32) {
        self.gemeffect_gen_param_type_5 = value;
    }

    pub fn gemeffect_gen_param_5(&self) -> i32 {
        self.gemeffect_gen_param_5
    }

    pub fn set_gemeffect_gen_param_5(&mut self, value: i32) {
        self.gemeffect_gen_param_5 = value;
    }

    pub fn manifest_rate_5(&self) -> f32 {
        self.manifest_rate_5
    }

    pub fn set_manifest_rate_5(&mut self, value: f32) {
        self.manifest_rate_5 = value;
    }

    pub fn negativize_rate_5(&self) -> f32 {
        self.negativize_rate_5
    }

    pub fn set_negativize_rate_5(&mut self, value: f32) {
        self.negativize_rate_5 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct HIT_EFFECT_SE_PARAM_ST {
    iron_slash_s: i32,
    iron_slash_l: i32,
    iron_slash_ll: i32,
    iron_thrust_s: i32,
    iron_thrust_l: i32,
    iron_thrust_ll: i32,
    iron_blow_s: i32,
    iron_blow_l: i32,
    iron_blow_ll: i32,
    fire_slash_s: i32,
    fire_slash_l: i32,
    fire_slash_ll: i32,
    fire_thrust_s: i32,
    fire_thrust_l: i32,
    fire_thrust_ll: i32,
    fire_blow_s: i32,
    fire_blow_l: i32,
    fire_blow_ll: i32,
    wood_slash_s: i32,
    wood_slash_l: i32,
    wood_slash_ll: i32,
    wood_thrust_s: i32,
    wood_thrust_l: i32,
    wood_thrust_ll: i32,
    wood_blow_s: i32,
    wood_blow_l: i32,
    wood_blow_ll: i32,
    body_slash_s: i32,
    body_slash_l: i32,
    body_slash_ll: i32,
    body_thrust_s: i32,
    body_thrust_l: i32,
    body_thrust_ll: i32,
    body_blow_s: i32,
    body_blow_l: i32,
    body_blow_ll: i32,
    eclipse_slash_s: i32,
    eclipse_slash_l: i32,
    eclipse_slash_ll: i32,
    eclipse_thrust_s: i32,
    eclipse_thrust_l: i32,
    eclipse_thrust_ll: i32,
    eclipse_blow_s: i32,
    eclipse_blow_l: i32,
    eclipse_blow_ll: i32,
    energy_slash_s: i32,
    energy_slash_l: i32,
    energy_slash_ll: i32,
    energy_thrust_s: i32,
    energy_thrust_l: i32,
    energy_thrust_ll: i32,
    energy_blow_s: i32,
    energy_blow_l: i32,
    energy_blow_ll: i32,
    none_slash_s: i32,
    none_slash_l: i32,
    none_slash_ll: i32,
    none_thrust_s: i32,
    none_thrust_l: i32,
    none_thrust_ll: i32,
    none_blow_s: i32,
    none_blow_l: i32,
    none_blow_ll: i32,
    dmy1_slash_s: i32,
    dmy1_slash_l: i32,
    dmy1_slash_ll: i32,
    dmy1_thrust_s: i32,
    dmy1_thrust_l: i32,
    dmy1_thrust_ll: i32,
    dmy1_blow_s: i32,
    dmy1_blow_l: i32,
    dmy1_blow_ll: i32,
    dmy2_slash_s: i32,
    dmy2_slash_l: i32,
    dmy2_slash_ll: i32,
    dmy2_thrust_s: i32,
    dmy2_thrust_l: i32,
    dmy2_thrust_ll: i32,
    dmy2_blow_s: i32,
    dmy2_blow_l: i32,
    dmy2_blow_ll: i32,
    dmy3_slash_s: i32,
    dmy3_slash_l: i32,
    dmy3_slash_ll: i32,
    dmy3_thrust_s: i32,
    dmy3_thrust_l: i32,
    dmy3_thrust_ll: i32,
    dmy3_blow_s: i32,
    dmy3_blow_l: i32,
    dmy3_blow_ll: i32,
    maggot_slash_s: i32,
    maggot_slash_l: i32,
    maggot_slash_ll: i32,
    maggot_thrust_s: i32,
    maggot_thrust_l: i32,
    maggot_thrust_ll: i32,
    maggot_blow_s: i32,
    maggot_blow_l: i32,
    maggot_blow_ll: i32,
    wax_slash_s: i32,
    wax_slash_l: i32,
    wax_slash_ll: i32,
    wax_thrust_s: i32,
    wax_thrust_l: i32,
    wax_thrust_ll: i32,
    wax_blow_s: i32,
    wax_blow_l: i32,
    wax_blow_ll: i32,
    fire_flame_slash_s: i32,
    fire_flame_slash_l: i32,
    fire_flame_slash_ll: i32,
    fire_flame_thrust_s: i32,
    fire_flame_thrust_l: i32,
    fire_flame_thrust_ll: i32,
    fire_flame_blow_s: i32,
    fire_flame_blow_l: i32,
    fire_flame_blow_ll: i32,
    eclipse_gas_slash_s: i32,
    eclipse_gas_slash_l: i32,
    eclipse_gas_slash_ll: i32,
    eclipse_gas_thrust_s: i32,
    eclipse_gas_thrust_l: i32,
    eclipse_gas_thrust_ll: i32,
    eclipse_gas_blow_s: i32,
    eclipse_gas_blow_l: i32,
    eclipse_gas_blow_ll: i32,
    energy_strong_slash_s: i32,
    energy_strong_slash_l: i32,
    energy_strong_slash_ll: i32,
    energy_strong_thrust_s: i32,
    energy_strong_thrust_l: i32,
    energy_strong_thrust_ll: i32,
    energy_strong_blow_s: i32,
    energy_strong_blow_l: i32,
    energy_strong_blow_ll: i32,
    reserve: [u8; 100],
}

impl ParamDef for HIT_EFFECT_SE_PARAM_ST {
    const NAME: &str = "HIT_EFFECT_SE_PARAM_ST";
    const INDEX: usize = 38;
}

impl HIT_EFFECT_SE_PARAM_ST {
    pub fn iron_slash_s(&self) -> i32 {
        self.iron_slash_s
    }

    pub fn set_iron_slash_s(&mut self, value: i32) {
        self.iron_slash_s = value;
    }

    pub fn iron_slash_l(&self) -> i32 {
        self.iron_slash_l
    }

    pub fn set_iron_slash_l(&mut self, value: i32) {
        self.iron_slash_l = value;
    }

    pub fn iron_slash_ll(&self) -> i32 {
        self.iron_slash_ll
    }

    pub fn set_iron_slash_ll(&mut self, value: i32) {
        self.iron_slash_ll = value;
    }

    pub fn iron_thrust_s(&self) -> i32 {
        self.iron_thrust_s
    }

    pub fn set_iron_thrust_s(&mut self, value: i32) {
        self.iron_thrust_s = value;
    }

    pub fn iron_thrust_l(&self) -> i32 {
        self.iron_thrust_l
    }

    pub fn set_iron_thrust_l(&mut self, value: i32) {
        self.iron_thrust_l = value;
    }

    pub fn iron_thrust_ll(&self) -> i32 {
        self.iron_thrust_ll
    }

    pub fn set_iron_thrust_ll(&mut self, value: i32) {
        self.iron_thrust_ll = value;
    }

    pub fn iron_blow_s(&self) -> i32 {
        self.iron_blow_s
    }

    pub fn set_iron_blow_s(&mut self, value: i32) {
        self.iron_blow_s = value;
    }

    pub fn iron_blow_l(&self) -> i32 {
        self.iron_blow_l
    }

    pub fn set_iron_blow_l(&mut self, value: i32) {
        self.iron_blow_l = value;
    }

    pub fn iron_blow_ll(&self) -> i32 {
        self.iron_blow_ll
    }

    pub fn set_iron_blow_ll(&mut self, value: i32) {
        self.iron_blow_ll = value;
    }

    pub fn fire_slash_s(&self) -> i32 {
        self.fire_slash_s
    }

    pub fn set_fire_slash_s(&mut self, value: i32) {
        self.fire_slash_s = value;
    }

    pub fn fire_slash_l(&self) -> i32 {
        self.fire_slash_l
    }

    pub fn set_fire_slash_l(&mut self, value: i32) {
        self.fire_slash_l = value;
    }

    pub fn fire_slash_ll(&self) -> i32 {
        self.fire_slash_ll
    }

    pub fn set_fire_slash_ll(&mut self, value: i32) {
        self.fire_slash_ll = value;
    }

    pub fn fire_thrust_s(&self) -> i32 {
        self.fire_thrust_s
    }

    pub fn set_fire_thrust_s(&mut self, value: i32) {
        self.fire_thrust_s = value;
    }

    pub fn fire_thrust_l(&self) -> i32 {
        self.fire_thrust_l
    }

    pub fn set_fire_thrust_l(&mut self, value: i32) {
        self.fire_thrust_l = value;
    }

    pub fn fire_thrust_ll(&self) -> i32 {
        self.fire_thrust_ll
    }

    pub fn set_fire_thrust_ll(&mut self, value: i32) {
        self.fire_thrust_ll = value;
    }

    pub fn fire_blow_s(&self) -> i32 {
        self.fire_blow_s
    }

    pub fn set_fire_blow_s(&mut self, value: i32) {
        self.fire_blow_s = value;
    }

    pub fn fire_blow_l(&self) -> i32 {
        self.fire_blow_l
    }

    pub fn set_fire_blow_l(&mut self, value: i32) {
        self.fire_blow_l = value;
    }

    pub fn fire_blow_ll(&self) -> i32 {
        self.fire_blow_ll
    }

    pub fn set_fire_blow_ll(&mut self, value: i32) {
        self.fire_blow_ll = value;
    }

    pub fn wood_slash_s(&self) -> i32 {
        self.wood_slash_s
    }

    pub fn set_wood_slash_s(&mut self, value: i32) {
        self.wood_slash_s = value;
    }

    pub fn wood_slash_l(&self) -> i32 {
        self.wood_slash_l
    }

    pub fn set_wood_slash_l(&mut self, value: i32) {
        self.wood_slash_l = value;
    }

    pub fn wood_slash_ll(&self) -> i32 {
        self.wood_slash_ll
    }

    pub fn set_wood_slash_ll(&mut self, value: i32) {
        self.wood_slash_ll = value;
    }

    pub fn wood_thrust_s(&self) -> i32 {
        self.wood_thrust_s
    }

    pub fn set_wood_thrust_s(&mut self, value: i32) {
        self.wood_thrust_s = value;
    }

    pub fn wood_thrust_l(&self) -> i32 {
        self.wood_thrust_l
    }

    pub fn set_wood_thrust_l(&mut self, value: i32) {
        self.wood_thrust_l = value;
    }

    pub fn wood_thrust_ll(&self) -> i32 {
        self.wood_thrust_ll
    }

    pub fn set_wood_thrust_ll(&mut self, value: i32) {
        self.wood_thrust_ll = value;
    }

    pub fn wood_blow_s(&self) -> i32 {
        self.wood_blow_s
    }

    pub fn set_wood_blow_s(&mut self, value: i32) {
        self.wood_blow_s = value;
    }

    pub fn wood_blow_l(&self) -> i32 {
        self.wood_blow_l
    }

    pub fn set_wood_blow_l(&mut self, value: i32) {
        self.wood_blow_l = value;
    }

    pub fn wood_blow_ll(&self) -> i32 {
        self.wood_blow_ll
    }

    pub fn set_wood_blow_ll(&mut self, value: i32) {
        self.wood_blow_ll = value;
    }

    pub fn body_slash_s(&self) -> i32 {
        self.body_slash_s
    }

    pub fn set_body_slash_s(&mut self, value: i32) {
        self.body_slash_s = value;
    }

    pub fn body_slash_l(&self) -> i32 {
        self.body_slash_l
    }

    pub fn set_body_slash_l(&mut self, value: i32) {
        self.body_slash_l = value;
    }

    pub fn body_slash_ll(&self) -> i32 {
        self.body_slash_ll
    }

    pub fn set_body_slash_ll(&mut self, value: i32) {
        self.body_slash_ll = value;
    }

    pub fn body_thrust_s(&self) -> i32 {
        self.body_thrust_s
    }

    pub fn set_body_thrust_s(&mut self, value: i32) {
        self.body_thrust_s = value;
    }

    pub fn body_thrust_l(&self) -> i32 {
        self.body_thrust_l
    }

    pub fn set_body_thrust_l(&mut self, value: i32) {
        self.body_thrust_l = value;
    }

    pub fn body_thrust_ll(&self) -> i32 {
        self.body_thrust_ll
    }

    pub fn set_body_thrust_ll(&mut self, value: i32) {
        self.body_thrust_ll = value;
    }

    pub fn body_blow_s(&self) -> i32 {
        self.body_blow_s
    }

    pub fn set_body_blow_s(&mut self, value: i32) {
        self.body_blow_s = value;
    }

    pub fn body_blow_l(&self) -> i32 {
        self.body_blow_l
    }

    pub fn set_body_blow_l(&mut self, value: i32) {
        self.body_blow_l = value;
    }

    pub fn body_blow_ll(&self) -> i32 {
        self.body_blow_ll
    }

    pub fn set_body_blow_ll(&mut self, value: i32) {
        self.body_blow_ll = value;
    }

    pub fn eclipse_slash_s(&self) -> i32 {
        self.eclipse_slash_s
    }

    pub fn set_eclipse_slash_s(&mut self, value: i32) {
        self.eclipse_slash_s = value;
    }

    pub fn eclipse_slash_l(&self) -> i32 {
        self.eclipse_slash_l
    }

    pub fn set_eclipse_slash_l(&mut self, value: i32) {
        self.eclipse_slash_l = value;
    }

    pub fn eclipse_slash_ll(&self) -> i32 {
        self.eclipse_slash_ll
    }

    pub fn set_eclipse_slash_ll(&mut self, value: i32) {
        self.eclipse_slash_ll = value;
    }

    pub fn eclipse_thrust_s(&self) -> i32 {
        self.eclipse_thrust_s
    }

    pub fn set_eclipse_thrust_s(&mut self, value: i32) {
        self.eclipse_thrust_s = value;
    }

    pub fn eclipse_thrust_l(&self) -> i32 {
        self.eclipse_thrust_l
    }

    pub fn set_eclipse_thrust_l(&mut self, value: i32) {
        self.eclipse_thrust_l = value;
    }

    pub fn eclipse_thrust_ll(&self) -> i32 {
        self.eclipse_thrust_ll
    }

    pub fn set_eclipse_thrust_ll(&mut self, value: i32) {
        self.eclipse_thrust_ll = value;
    }

    pub fn eclipse_blow_s(&self) -> i32 {
        self.eclipse_blow_s
    }

    pub fn set_eclipse_blow_s(&mut self, value: i32) {
        self.eclipse_blow_s = value;
    }

    pub fn eclipse_blow_l(&self) -> i32 {
        self.eclipse_blow_l
    }

    pub fn set_eclipse_blow_l(&mut self, value: i32) {
        self.eclipse_blow_l = value;
    }

    pub fn eclipse_blow_ll(&self) -> i32 {
        self.eclipse_blow_ll
    }

    pub fn set_eclipse_blow_ll(&mut self, value: i32) {
        self.eclipse_blow_ll = value;
    }

    pub fn energy_slash_s(&self) -> i32 {
        self.energy_slash_s
    }

    pub fn set_energy_slash_s(&mut self, value: i32) {
        self.energy_slash_s = value;
    }

    pub fn energy_slash_l(&self) -> i32 {
        self.energy_slash_l
    }

    pub fn set_energy_slash_l(&mut self, value: i32) {
        self.energy_slash_l = value;
    }

    pub fn energy_slash_ll(&self) -> i32 {
        self.energy_slash_ll
    }

    pub fn set_energy_slash_ll(&mut self, value: i32) {
        self.energy_slash_ll = value;
    }

    pub fn energy_thrust_s(&self) -> i32 {
        self.energy_thrust_s
    }

    pub fn set_energy_thrust_s(&mut self, value: i32) {
        self.energy_thrust_s = value;
    }

    pub fn energy_thrust_l(&self) -> i32 {
        self.energy_thrust_l
    }

    pub fn set_energy_thrust_l(&mut self, value: i32) {
        self.energy_thrust_l = value;
    }

    pub fn energy_thrust_ll(&self) -> i32 {
        self.energy_thrust_ll
    }

    pub fn set_energy_thrust_ll(&mut self, value: i32) {
        self.energy_thrust_ll = value;
    }

    pub fn energy_blow_s(&self) -> i32 {
        self.energy_blow_s
    }

    pub fn set_energy_blow_s(&mut self, value: i32) {
        self.energy_blow_s = value;
    }

    pub fn energy_blow_l(&self) -> i32 {
        self.energy_blow_l
    }

    pub fn set_energy_blow_l(&mut self, value: i32) {
        self.energy_blow_l = value;
    }

    pub fn energy_blow_ll(&self) -> i32 {
        self.energy_blow_ll
    }

    pub fn set_energy_blow_ll(&mut self, value: i32) {
        self.energy_blow_ll = value;
    }

    pub fn none_slash_s(&self) -> i32 {
        self.none_slash_s
    }

    pub fn set_none_slash_s(&mut self, value: i32) {
        self.none_slash_s = value;
    }

    pub fn none_slash_l(&self) -> i32 {
        self.none_slash_l
    }

    pub fn set_none_slash_l(&mut self, value: i32) {
        self.none_slash_l = value;
    }

    pub fn none_slash_ll(&self) -> i32 {
        self.none_slash_ll
    }

    pub fn set_none_slash_ll(&mut self, value: i32) {
        self.none_slash_ll = value;
    }

    pub fn none_thrust_s(&self) -> i32 {
        self.none_thrust_s
    }

    pub fn set_none_thrust_s(&mut self, value: i32) {
        self.none_thrust_s = value;
    }

    pub fn none_thrust_l(&self) -> i32 {
        self.none_thrust_l
    }

    pub fn set_none_thrust_l(&mut self, value: i32) {
        self.none_thrust_l = value;
    }

    pub fn none_thrust_ll(&self) -> i32 {
        self.none_thrust_ll
    }

    pub fn set_none_thrust_ll(&mut self, value: i32) {
        self.none_thrust_ll = value;
    }

    pub fn none_blow_s(&self) -> i32 {
        self.none_blow_s
    }

    pub fn set_none_blow_s(&mut self, value: i32) {
        self.none_blow_s = value;
    }

    pub fn none_blow_l(&self) -> i32 {
        self.none_blow_l
    }

    pub fn set_none_blow_l(&mut self, value: i32) {
        self.none_blow_l = value;
    }

    pub fn none_blow_ll(&self) -> i32 {
        self.none_blow_ll
    }

    pub fn set_none_blow_ll(&mut self, value: i32) {
        self.none_blow_ll = value;
    }

    pub fn dmy1_slash_s(&self) -> i32 {
        self.dmy1_slash_s
    }

    pub fn set_dmy1_slash_s(&mut self, value: i32) {
        self.dmy1_slash_s = value;
    }

    pub fn dmy1_slash_l(&self) -> i32 {
        self.dmy1_slash_l
    }

    pub fn set_dmy1_slash_l(&mut self, value: i32) {
        self.dmy1_slash_l = value;
    }

    pub fn dmy1_slash_ll(&self) -> i32 {
        self.dmy1_slash_ll
    }

    pub fn set_dmy1_slash_ll(&mut self, value: i32) {
        self.dmy1_slash_ll = value;
    }

    pub fn dmy1_thrust_s(&self) -> i32 {
        self.dmy1_thrust_s
    }

    pub fn set_dmy1_thrust_s(&mut self, value: i32) {
        self.dmy1_thrust_s = value;
    }

    pub fn dmy1_thrust_l(&self) -> i32 {
        self.dmy1_thrust_l
    }

    pub fn set_dmy1_thrust_l(&mut self, value: i32) {
        self.dmy1_thrust_l = value;
    }

    pub fn dmy1_thrust_ll(&self) -> i32 {
        self.dmy1_thrust_ll
    }

    pub fn set_dmy1_thrust_ll(&mut self, value: i32) {
        self.dmy1_thrust_ll = value;
    }

    pub fn dmy1_blow_s(&self) -> i32 {
        self.dmy1_blow_s
    }

    pub fn set_dmy1_blow_s(&mut self, value: i32) {
        self.dmy1_blow_s = value;
    }

    pub fn dmy1_blow_l(&self) -> i32 {
        self.dmy1_blow_l
    }

    pub fn set_dmy1_blow_l(&mut self, value: i32) {
        self.dmy1_blow_l = value;
    }

    pub fn dmy1_blow_ll(&self) -> i32 {
        self.dmy1_blow_ll
    }

    pub fn set_dmy1_blow_ll(&mut self, value: i32) {
        self.dmy1_blow_ll = value;
    }

    pub fn dmy2_slash_s(&self) -> i32 {
        self.dmy2_slash_s
    }

    pub fn set_dmy2_slash_s(&mut self, value: i32) {
        self.dmy2_slash_s = value;
    }

    pub fn dmy2_slash_l(&self) -> i32 {
        self.dmy2_slash_l
    }

    pub fn set_dmy2_slash_l(&mut self, value: i32) {
        self.dmy2_slash_l = value;
    }

    pub fn dmy2_slash_ll(&self) -> i32 {
        self.dmy2_slash_ll
    }

    pub fn set_dmy2_slash_ll(&mut self, value: i32) {
        self.dmy2_slash_ll = value;
    }

    pub fn dmy2_thrust_s(&self) -> i32 {
        self.dmy2_thrust_s
    }

    pub fn set_dmy2_thrust_s(&mut self, value: i32) {
        self.dmy2_thrust_s = value;
    }

    pub fn dmy2_thrust_l(&self) -> i32 {
        self.dmy2_thrust_l
    }

    pub fn set_dmy2_thrust_l(&mut self, value: i32) {
        self.dmy2_thrust_l = value;
    }

    pub fn dmy2_thrust_ll(&self) -> i32 {
        self.dmy2_thrust_ll
    }

    pub fn set_dmy2_thrust_ll(&mut self, value: i32) {
        self.dmy2_thrust_ll = value;
    }

    pub fn dmy2_blow_s(&self) -> i32 {
        self.dmy2_blow_s
    }

    pub fn set_dmy2_blow_s(&mut self, value: i32) {
        self.dmy2_blow_s = value;
    }

    pub fn dmy2_blow_l(&self) -> i32 {
        self.dmy2_blow_l
    }

    pub fn set_dmy2_blow_l(&mut self, value: i32) {
        self.dmy2_blow_l = value;
    }

    pub fn dmy2_blow_ll(&self) -> i32 {
        self.dmy2_blow_ll
    }

    pub fn set_dmy2_blow_ll(&mut self, value: i32) {
        self.dmy2_blow_ll = value;
    }

    pub fn dmy3_slash_s(&self) -> i32 {
        self.dmy3_slash_s
    }

    pub fn set_dmy3_slash_s(&mut self, value: i32) {
        self.dmy3_slash_s = value;
    }

    pub fn dmy3_slash_l(&self) -> i32 {
        self.dmy3_slash_l
    }

    pub fn set_dmy3_slash_l(&mut self, value: i32) {
        self.dmy3_slash_l = value;
    }

    pub fn dmy3_slash_ll(&self) -> i32 {
        self.dmy3_slash_ll
    }

    pub fn set_dmy3_slash_ll(&mut self, value: i32) {
        self.dmy3_slash_ll = value;
    }

    pub fn dmy3_thrust_s(&self) -> i32 {
        self.dmy3_thrust_s
    }

    pub fn set_dmy3_thrust_s(&mut self, value: i32) {
        self.dmy3_thrust_s = value;
    }

    pub fn dmy3_thrust_l(&self) -> i32 {
        self.dmy3_thrust_l
    }

    pub fn set_dmy3_thrust_l(&mut self, value: i32) {
        self.dmy3_thrust_l = value;
    }

    pub fn dmy3_thrust_ll(&self) -> i32 {
        self.dmy3_thrust_ll
    }

    pub fn set_dmy3_thrust_ll(&mut self, value: i32) {
        self.dmy3_thrust_ll = value;
    }

    pub fn dmy3_blow_s(&self) -> i32 {
        self.dmy3_blow_s
    }

    pub fn set_dmy3_blow_s(&mut self, value: i32) {
        self.dmy3_blow_s = value;
    }

    pub fn dmy3_blow_l(&self) -> i32 {
        self.dmy3_blow_l
    }

    pub fn set_dmy3_blow_l(&mut self, value: i32) {
        self.dmy3_blow_l = value;
    }

    pub fn dmy3_blow_ll(&self) -> i32 {
        self.dmy3_blow_ll
    }

    pub fn set_dmy3_blow_ll(&mut self, value: i32) {
        self.dmy3_blow_ll = value;
    }

    pub fn maggot_slash_s(&self) -> i32 {
        self.maggot_slash_s
    }

    pub fn set_maggot_slash_s(&mut self, value: i32) {
        self.maggot_slash_s = value;
    }

    pub fn maggot_slash_l(&self) -> i32 {
        self.maggot_slash_l
    }

    pub fn set_maggot_slash_l(&mut self, value: i32) {
        self.maggot_slash_l = value;
    }

    pub fn maggot_slash_ll(&self) -> i32 {
        self.maggot_slash_ll
    }

    pub fn set_maggot_slash_ll(&mut self, value: i32) {
        self.maggot_slash_ll = value;
    }

    pub fn maggot_thrust_s(&self) -> i32 {
        self.maggot_thrust_s
    }

    pub fn set_maggot_thrust_s(&mut self, value: i32) {
        self.maggot_thrust_s = value;
    }

    pub fn maggot_thrust_l(&self) -> i32 {
        self.maggot_thrust_l
    }

    pub fn set_maggot_thrust_l(&mut self, value: i32) {
        self.maggot_thrust_l = value;
    }

    pub fn maggot_thrust_ll(&self) -> i32 {
        self.maggot_thrust_ll
    }

    pub fn set_maggot_thrust_ll(&mut self, value: i32) {
        self.maggot_thrust_ll = value;
    }

    pub fn maggot_blow_s(&self) -> i32 {
        self.maggot_blow_s
    }

    pub fn set_maggot_blow_s(&mut self, value: i32) {
        self.maggot_blow_s = value;
    }

    pub fn maggot_blow_l(&self) -> i32 {
        self.maggot_blow_l
    }

    pub fn set_maggot_blow_l(&mut self, value: i32) {
        self.maggot_blow_l = value;
    }

    pub fn maggot_blow_ll(&self) -> i32 {
        self.maggot_blow_ll
    }

    pub fn set_maggot_blow_ll(&mut self, value: i32) {
        self.maggot_blow_ll = value;
    }

    pub fn wax_slash_s(&self) -> i32 {
        self.wax_slash_s
    }

    pub fn set_wax_slash_s(&mut self, value: i32) {
        self.wax_slash_s = value;
    }

    pub fn wax_slash_l(&self) -> i32 {
        self.wax_slash_l
    }

    pub fn set_wax_slash_l(&mut self, value: i32) {
        self.wax_slash_l = value;
    }

    pub fn wax_slash_ll(&self) -> i32 {
        self.wax_slash_ll
    }

    pub fn set_wax_slash_ll(&mut self, value: i32) {
        self.wax_slash_ll = value;
    }

    pub fn wax_thrust_s(&self) -> i32 {
        self.wax_thrust_s
    }

    pub fn set_wax_thrust_s(&mut self, value: i32) {
        self.wax_thrust_s = value;
    }

    pub fn wax_thrust_l(&self) -> i32 {
        self.wax_thrust_l
    }

    pub fn set_wax_thrust_l(&mut self, value: i32) {
        self.wax_thrust_l = value;
    }

    pub fn wax_thrust_ll(&self) -> i32 {
        self.wax_thrust_ll
    }

    pub fn set_wax_thrust_ll(&mut self, value: i32) {
        self.wax_thrust_ll = value;
    }

    pub fn wax_blow_s(&self) -> i32 {
        self.wax_blow_s
    }

    pub fn set_wax_blow_s(&mut self, value: i32) {
        self.wax_blow_s = value;
    }

    pub fn wax_blow_l(&self) -> i32 {
        self.wax_blow_l
    }

    pub fn set_wax_blow_l(&mut self, value: i32) {
        self.wax_blow_l = value;
    }

    pub fn wax_blow_ll(&self) -> i32 {
        self.wax_blow_ll
    }

    pub fn set_wax_blow_ll(&mut self, value: i32) {
        self.wax_blow_ll = value;
    }

    pub fn fire_flame_slash_s(&self) -> i32 {
        self.fire_flame_slash_s
    }

    pub fn set_fire_flame_slash_s(&mut self, value: i32) {
        self.fire_flame_slash_s = value;
    }

    pub fn fire_flame_slash_l(&self) -> i32 {
        self.fire_flame_slash_l
    }

    pub fn set_fire_flame_slash_l(&mut self, value: i32) {
        self.fire_flame_slash_l = value;
    }

    pub fn fire_flame_slash_ll(&self) -> i32 {
        self.fire_flame_slash_ll
    }

    pub fn set_fire_flame_slash_ll(&mut self, value: i32) {
        self.fire_flame_slash_ll = value;
    }

    pub fn fire_flame_thrust_s(&self) -> i32 {
        self.fire_flame_thrust_s
    }

    pub fn set_fire_flame_thrust_s(&mut self, value: i32) {
        self.fire_flame_thrust_s = value;
    }

    pub fn fire_flame_thrust_l(&self) -> i32 {
        self.fire_flame_thrust_l
    }

    pub fn set_fire_flame_thrust_l(&mut self, value: i32) {
        self.fire_flame_thrust_l = value;
    }

    pub fn fire_flame_thrust_ll(&self) -> i32 {
        self.fire_flame_thrust_ll
    }

    pub fn set_fire_flame_thrust_ll(&mut self, value: i32) {
        self.fire_flame_thrust_ll = value;
    }

    pub fn fire_flame_blow_s(&self) -> i32 {
        self.fire_flame_blow_s
    }

    pub fn set_fire_flame_blow_s(&mut self, value: i32) {
        self.fire_flame_blow_s = value;
    }

    pub fn fire_flame_blow_l(&self) -> i32 {
        self.fire_flame_blow_l
    }

    pub fn set_fire_flame_blow_l(&mut self, value: i32) {
        self.fire_flame_blow_l = value;
    }

    pub fn fire_flame_blow_ll(&self) -> i32 {
        self.fire_flame_blow_ll
    }

    pub fn set_fire_flame_blow_ll(&mut self, value: i32) {
        self.fire_flame_blow_ll = value;
    }

    pub fn eclipse_gas_slash_s(&self) -> i32 {
        self.eclipse_gas_slash_s
    }

    pub fn set_eclipse_gas_slash_s(&mut self, value: i32) {
        self.eclipse_gas_slash_s = value;
    }

    pub fn eclipse_gas_slash_l(&self) -> i32 {
        self.eclipse_gas_slash_l
    }

    pub fn set_eclipse_gas_slash_l(&mut self, value: i32) {
        self.eclipse_gas_slash_l = value;
    }

    pub fn eclipse_gas_slash_ll(&self) -> i32 {
        self.eclipse_gas_slash_ll
    }

    pub fn set_eclipse_gas_slash_ll(&mut self, value: i32) {
        self.eclipse_gas_slash_ll = value;
    }

    pub fn eclipse_gas_thrust_s(&self) -> i32 {
        self.eclipse_gas_thrust_s
    }

    pub fn set_eclipse_gas_thrust_s(&mut self, value: i32) {
        self.eclipse_gas_thrust_s = value;
    }

    pub fn eclipse_gas_thrust_l(&self) -> i32 {
        self.eclipse_gas_thrust_l
    }

    pub fn set_eclipse_gas_thrust_l(&mut self, value: i32) {
        self.eclipse_gas_thrust_l = value;
    }

    pub fn eclipse_gas_thrust_ll(&self) -> i32 {
        self.eclipse_gas_thrust_ll
    }

    pub fn set_eclipse_gas_thrust_ll(&mut self, value: i32) {
        self.eclipse_gas_thrust_ll = value;
    }

    pub fn eclipse_gas_blow_s(&self) -> i32 {
        self.eclipse_gas_blow_s
    }

    pub fn set_eclipse_gas_blow_s(&mut self, value: i32) {
        self.eclipse_gas_blow_s = value;
    }

    pub fn eclipse_gas_blow_l(&self) -> i32 {
        self.eclipse_gas_blow_l
    }

    pub fn set_eclipse_gas_blow_l(&mut self, value: i32) {
        self.eclipse_gas_blow_l = value;
    }

    pub fn eclipse_gas_blow_ll(&self) -> i32 {
        self.eclipse_gas_blow_ll
    }

    pub fn set_eclipse_gas_blow_ll(&mut self, value: i32) {
        self.eclipse_gas_blow_ll = value;
    }

    pub fn energy_strong_slash_s(&self) -> i32 {
        self.energy_strong_slash_s
    }

    pub fn set_energy_strong_slash_s(&mut self, value: i32) {
        self.energy_strong_slash_s = value;
    }

    pub fn energy_strong_slash_l(&self) -> i32 {
        self.energy_strong_slash_l
    }

    pub fn set_energy_strong_slash_l(&mut self, value: i32) {
        self.energy_strong_slash_l = value;
    }

    pub fn energy_strong_slash_ll(&self) -> i32 {
        self.energy_strong_slash_ll
    }

    pub fn set_energy_strong_slash_ll(&mut self, value: i32) {
        self.energy_strong_slash_ll = value;
    }

    pub fn energy_strong_thrust_s(&self) -> i32 {
        self.energy_strong_thrust_s
    }

    pub fn set_energy_strong_thrust_s(&mut self, value: i32) {
        self.energy_strong_thrust_s = value;
    }

    pub fn energy_strong_thrust_l(&self) -> i32 {
        self.energy_strong_thrust_l
    }

    pub fn set_energy_strong_thrust_l(&mut self, value: i32) {
        self.energy_strong_thrust_l = value;
    }

    pub fn energy_strong_thrust_ll(&self) -> i32 {
        self.energy_strong_thrust_ll
    }

    pub fn set_energy_strong_thrust_ll(&mut self, value: i32) {
        self.energy_strong_thrust_ll = value;
    }

    pub fn energy_strong_blow_s(&self) -> i32 {
        self.energy_strong_blow_s
    }

    pub fn set_energy_strong_blow_s(&mut self, value: i32) {
        self.energy_strong_blow_s = value;
    }

    pub fn energy_strong_blow_l(&self) -> i32 {
        self.energy_strong_blow_l
    }

    pub fn set_energy_strong_blow_l(&mut self, value: i32) {
        self.energy_strong_blow_l = value;
    }

    pub fn energy_strong_blow_ll(&self) -> i32 {
        self.energy_strong_blow_ll
    }

    pub fn set_energy_strong_blow_ll(&mut self, value: i32) {
        self.energy_strong_blow_ll = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct HIT_EFFECT_SFX_CONCEPT_PARAM_ST {
    atk_iron_1: i16,
    atk_iron_2: i16,
    atk_leather_1: i16,
    atk_leather_2: i16,
    atk_wood_1: i16,
    atk_wood_2: i16,
    atk_body_1: i16,
    atk_body_2: i16,
    atk_stone_1: i16,
    atk_stone_2: i16,
    unknown_x14: i16,
    unknown_x16: i16,
    atk_none_1: i16,
    atk_none_2: i16,
    unknown0: i16,
    unknown1: i16,
    unknown2: i16,
    unknown3: i16,
    unknown4: i16,
    unknown5: i16,
    unknown6: i16,
    unknown7: i16,
    unknown8: i16,
    unknown9: i16,
    unknown10: i16,
    unknown11: i16,
    unknown12: i16,
    unknown13: i16,
    unknown14: i16,
    unknown15: i16,
    unknown16: i16,
    unknown17: i16,
    unknown18: i16,
    unknown19: i16,
    unknown20: i16,
    unknown21: i16,
    unknown22: i16,
    unknown23: i16,
    unknown24: i16,
    unknown25: i16,
}

impl ParamDef for HIT_EFFECT_SFX_CONCEPT_PARAM_ST {
    const NAME: &str = "HIT_EFFECT_SFX_CONCEPT_PARAM_ST";
    const INDEX: usize = 39;
}

impl HIT_EFFECT_SFX_CONCEPT_PARAM_ST {
    pub fn atk_iron_1(&self) -> i16 {
        self.atk_iron_1
    }

    pub fn set_atk_iron_1(&mut self, value: i16) {
        self.atk_iron_1 = value;
    }

    pub fn atk_iron_2(&self) -> i16 {
        self.atk_iron_2
    }

    pub fn set_atk_iron_2(&mut self, value: i16) {
        self.atk_iron_2 = value;
    }

    pub fn atk_leather_1(&self) -> i16 {
        self.atk_leather_1
    }

    pub fn set_atk_leather_1(&mut self, value: i16) {
        self.atk_leather_1 = value;
    }

    pub fn atk_leather_2(&self) -> i16 {
        self.atk_leather_2
    }

    pub fn set_atk_leather_2(&mut self, value: i16) {
        self.atk_leather_2 = value;
    }

    pub fn atk_wood_1(&self) -> i16 {
        self.atk_wood_1
    }

    pub fn set_atk_wood_1(&mut self, value: i16) {
        self.atk_wood_1 = value;
    }

    pub fn atk_wood_2(&self) -> i16 {
        self.atk_wood_2
    }

    pub fn set_atk_wood_2(&mut self, value: i16) {
        self.atk_wood_2 = value;
    }

    pub fn atk_body_1(&self) -> i16 {
        self.atk_body_1
    }

    pub fn set_atk_body_1(&mut self, value: i16) {
        self.atk_body_1 = value;
    }

    pub fn atk_body_2(&self) -> i16 {
        self.atk_body_2
    }

    pub fn set_atk_body_2(&mut self, value: i16) {
        self.atk_body_2 = value;
    }

    pub fn atk_stone_1(&self) -> i16 {
        self.atk_stone_1
    }

    pub fn set_atk_stone_1(&mut self, value: i16) {
        self.atk_stone_1 = value;
    }

    pub fn atk_stone_2(&self) -> i16 {
        self.atk_stone_2
    }

    pub fn set_atk_stone_2(&mut self, value: i16) {
        self.atk_stone_2 = value;
    }

    pub fn atk_none_1(&self) -> i16 {
        self.atk_none_1
    }

    pub fn set_atk_none_1(&mut self, value: i16) {
        self.atk_none_1 = value;
    }

    pub fn atk_none_2(&self) -> i16 {
        self.atk_none_2
    }

    pub fn set_atk_none_2(&mut self, value: i16) {
        self.atk_none_2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct HIT_EFFECT_SFX_PARAM_ST {
    slash_normal: i32,
    slash_s: i32,
    slash_l: i32,
    slash_specific1: i32,
    slash_specific2: i32,
    blow_normal: i32,
    blow_s: i32,
    blow_l: i32,
    blow_specific1: i32,
    blow_specific2: i32,
    thrust_normal: i32,
    thrust_s: i32,
    thrust_l: i32,
    thrust_specific1: i32,
    thrust_specific2: i32,
    neutral_normal: i32,
    neutral_s: i32,
    neutral_l: i32,
    neutral_specific1: i32,
    neutral_specific2: i32,
}

impl ParamDef for HIT_EFFECT_SFX_PARAM_ST {
    const NAME: &str = "HIT_EFFECT_SFX_PARAM_ST";
    const INDEX: usize = 40;
}

impl HIT_EFFECT_SFX_PARAM_ST {
    pub fn slash_normal(&self) -> i32 {
        self.slash_normal
    }

    pub fn set_slash_normal(&mut self, value: i32) {
        self.slash_normal = value;
    }

    pub fn slash_s(&self) -> i32 {
        self.slash_s
    }

    pub fn set_slash_s(&mut self, value: i32) {
        self.slash_s = value;
    }

    pub fn slash_l(&self) -> i32 {
        self.slash_l
    }

    pub fn set_slash_l(&mut self, value: i32) {
        self.slash_l = value;
    }

    pub fn slash_specific1(&self) -> i32 {
        self.slash_specific1
    }

    pub fn set_slash_specific1(&mut self, value: i32) {
        self.slash_specific1 = value;
    }

    pub fn slash_specific2(&self) -> i32 {
        self.slash_specific2
    }

    pub fn set_slash_specific2(&mut self, value: i32) {
        self.slash_specific2 = value;
    }

    pub fn blow_normal(&self) -> i32 {
        self.blow_normal
    }

    pub fn set_blow_normal(&mut self, value: i32) {
        self.blow_normal = value;
    }

    pub fn blow_s(&self) -> i32 {
        self.blow_s
    }

    pub fn set_blow_s(&mut self, value: i32) {
        self.blow_s = value;
    }

    pub fn blow_l(&self) -> i32 {
        self.blow_l
    }

    pub fn set_blow_l(&mut self, value: i32) {
        self.blow_l = value;
    }

    pub fn blow_specific1(&self) -> i32 {
        self.blow_specific1
    }

    pub fn set_blow_specific1(&mut self, value: i32) {
        self.blow_specific1 = value;
    }

    pub fn blow_specific2(&self) -> i32 {
        self.blow_specific2
    }

    pub fn set_blow_specific2(&mut self, value: i32) {
        self.blow_specific2 = value;
    }

    pub fn thrust_normal(&self) -> i32 {
        self.thrust_normal
    }

    pub fn set_thrust_normal(&mut self, value: i32) {
        self.thrust_normal = value;
    }

    pub fn thrust_s(&self) -> i32 {
        self.thrust_s
    }

    pub fn set_thrust_s(&mut self, value: i32) {
        self.thrust_s = value;
    }

    pub fn thrust_l(&self) -> i32 {
        self.thrust_l
    }

    pub fn set_thrust_l(&mut self, value: i32) {
        self.thrust_l = value;
    }

    pub fn thrust_specific1(&self) -> i32 {
        self.thrust_specific1
    }

    pub fn set_thrust_specific1(&mut self, value: i32) {
        self.thrust_specific1 = value;
    }

    pub fn thrust_specific2(&self) -> i32 {
        self.thrust_specific2
    }

    pub fn set_thrust_specific2(&mut self, value: i32) {
        self.thrust_specific2 = value;
    }

    pub fn neutral_normal(&self) -> i32 {
        self.neutral_normal
    }

    pub fn set_neutral_normal(&mut self, value: i32) {
        self.neutral_normal = value;
    }

    pub fn neutral_s(&self) -> i32 {
        self.neutral_s
    }

    pub fn set_neutral_s(&mut self, value: i32) {
        self.neutral_s = value;
    }

    pub fn neutral_l(&self) -> i32 {
        self.neutral_l
    }

    pub fn set_neutral_l(&mut self, value: i32) {
        self.neutral_l = value;
    }

    pub fn neutral_specific1(&self) -> i32 {
        self.neutral_specific1
    }

    pub fn set_neutral_specific1(&mut self, value: i32) {
        self.neutral_specific1 = value;
    }

    pub fn neutral_specific2(&self) -> i32 {
        self.neutral_specific2
    }

    pub fn set_neutral_specific2(&mut self, value: i32) {
        self.neutral_specific2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct HIT_MTRL_PARAM_ST {
    ai_volume_rate: f32,
    sp_effect_id_on_hit0: i32,
    sp_effect_id_on_hit1: i32,
    bits_c: u8,
    hardness_type: u8,
    replace_mateiral_id_rain: u8,
    pad2: u8,
    sp_effect_id_for_wet: i32,
    sp_effect_id_on_hit0_clear_count_2: i32,
    sp_effect_id_on_hit0_clear_count_3: i32,
    sp_effect_id_on_hit0_clear_count_4: i32,
    sp_effect_id_on_hit0_clear_count_5: i32,
    sp_effect_id_on_hit0_clear_count_6: i32,
    sp_effect_id_on_hit0_clear_count_7: i32,
    sp_effect_id_on_hit0_clear_count_8: i32,
    sp_effect_id_on_hit1_clear_count_2: i32,
    sp_effect_id_on_hit1_clear_count_3: i32,
    sp_effect_id_on_hit1_clear_count_4: i32,
    sp_effect_id_on_hit1_clear_count_5: i32,
    sp_effect_id_on_hit1_clear_count_6: i32,
    sp_effect_id_on_hit1_clear_count_7: i32,
    sp_effect_id_on_hit1_clear_count_8: i32,
    pad1: [u8; 20],
}

impl ParamDef for HIT_MTRL_PARAM_ST {
    const NAME: &str = "HIT_MTRL_PARAM_ST";
    const INDEX: usize = 41;
}

impl HIT_MTRL_PARAM_ST {
    pub fn ai_volume_rate(&self) -> f32 {
        self.ai_volume_rate
    }

    pub fn set_ai_volume_rate(&mut self, value: f32) {
        self.ai_volume_rate = value;
    }

    pub fn sp_effect_id_on_hit0(&self) -> i32 {
        self.sp_effect_id_on_hit0
    }

    pub fn set_sp_effect_id_on_hit0(&mut self, value: i32) {
        self.sp_effect_id_on_hit0 = value;
    }

    pub fn sp_effect_id_on_hit1(&self) -> i32 {
        self.sp_effect_id_on_hit1
    }

    pub fn set_sp_effect_id_on_hit1(&mut self, value: i32) {
        self.sp_effect_id_on_hit1 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn foot_effect_height_type(&self) -> u8 {
        (self.bits_c >> 0) & 0b00000011
    }

    #[allow(clippy::identity_op)]
    pub fn set_foot_effect_height_type(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000011 << 0)) | ((value & 0b00000011) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn foot_effect_dir_type(&self) -> u8 {
        (self.bits_c >> 1) & 0b00000011
    }

    #[allow(clippy::identity_op)]
    pub fn set_foot_effect_dir_type(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000011 << 1)) | ((value & 0b00000011) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn floor_height_type(&self) -> u8 {
        (self.bits_c >> 2) & 0b00000011
    }

    #[allow(clippy::identity_op)]
    pub fn set_floor_height_type(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000011 << 2)) | ((value & 0b00000011) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_fall_damage(&self) -> u8 {
        (self.bits_c >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_fall_damage(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hardness_for_sound_reverb(&self) -> u8 {
        (self.bits_c >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hardness_for_sound_reverb(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    pub fn hardness_type(&self) -> u8 {
        self.hardness_type
    }

    pub fn set_hardness_type(&mut self, value: u8) {
        self.hardness_type = value;
    }

    pub fn replace_mateiral_id_rain(&self) -> u8 {
        self.replace_mateiral_id_rain
    }

    pub fn set_replace_mateiral_id_rain(&mut self, value: u8) {
        self.replace_mateiral_id_rain = value;
    }

    pub fn sp_effect_id_for_wet(&self) -> i32 {
        self.sp_effect_id_for_wet
    }

    pub fn set_sp_effect_id_for_wet(&mut self, value: i32) {
        self.sp_effect_id_for_wet = value;
    }

    pub fn sp_effect_id_on_hit0_clear_count_2(&self) -> i32 {
        self.sp_effect_id_on_hit0_clear_count_2
    }

    pub fn set_sp_effect_id_on_hit0_clear_count_2(&mut self, value: i32) {
        self.sp_effect_id_on_hit0_clear_count_2 = value;
    }

    pub fn sp_effect_id_on_hit0_clear_count_3(&self) -> i32 {
        self.sp_effect_id_on_hit0_clear_count_3
    }

    pub fn set_sp_effect_id_on_hit0_clear_count_3(&mut self, value: i32) {
        self.sp_effect_id_on_hit0_clear_count_3 = value;
    }

    pub fn sp_effect_id_on_hit0_clear_count_4(&self) -> i32 {
        self.sp_effect_id_on_hit0_clear_count_4
    }

    pub fn set_sp_effect_id_on_hit0_clear_count_4(&mut self, value: i32) {
        self.sp_effect_id_on_hit0_clear_count_4 = value;
    }

    pub fn sp_effect_id_on_hit0_clear_count_5(&self) -> i32 {
        self.sp_effect_id_on_hit0_clear_count_5
    }

    pub fn set_sp_effect_id_on_hit0_clear_count_5(&mut self, value: i32) {
        self.sp_effect_id_on_hit0_clear_count_5 = value;
    }

    pub fn sp_effect_id_on_hit0_clear_count_6(&self) -> i32 {
        self.sp_effect_id_on_hit0_clear_count_6
    }

    pub fn set_sp_effect_id_on_hit0_clear_count_6(&mut self, value: i32) {
        self.sp_effect_id_on_hit0_clear_count_6 = value;
    }

    pub fn sp_effect_id_on_hit0_clear_count_7(&self) -> i32 {
        self.sp_effect_id_on_hit0_clear_count_7
    }

    pub fn set_sp_effect_id_on_hit0_clear_count_7(&mut self, value: i32) {
        self.sp_effect_id_on_hit0_clear_count_7 = value;
    }

    pub fn sp_effect_id_on_hit0_clear_count_8(&self) -> i32 {
        self.sp_effect_id_on_hit0_clear_count_8
    }

    pub fn set_sp_effect_id_on_hit0_clear_count_8(&mut self, value: i32) {
        self.sp_effect_id_on_hit0_clear_count_8 = value;
    }

    pub fn sp_effect_id_on_hit1_clear_count_2(&self) -> i32 {
        self.sp_effect_id_on_hit1_clear_count_2
    }

    pub fn set_sp_effect_id_on_hit1_clear_count_2(&mut self, value: i32) {
        self.sp_effect_id_on_hit1_clear_count_2 = value;
    }

    pub fn sp_effect_id_on_hit1_clear_count_3(&self) -> i32 {
        self.sp_effect_id_on_hit1_clear_count_3
    }

    pub fn set_sp_effect_id_on_hit1_clear_count_3(&mut self, value: i32) {
        self.sp_effect_id_on_hit1_clear_count_3 = value;
    }

    pub fn sp_effect_id_on_hit1_clear_count_4(&self) -> i32 {
        self.sp_effect_id_on_hit1_clear_count_4
    }

    pub fn set_sp_effect_id_on_hit1_clear_count_4(&mut self, value: i32) {
        self.sp_effect_id_on_hit1_clear_count_4 = value;
    }

    pub fn sp_effect_id_on_hit1_clear_count_5(&self) -> i32 {
        self.sp_effect_id_on_hit1_clear_count_5
    }

    pub fn set_sp_effect_id_on_hit1_clear_count_5(&mut self, value: i32) {
        self.sp_effect_id_on_hit1_clear_count_5 = value;
    }

    pub fn sp_effect_id_on_hit1_clear_count_6(&self) -> i32 {
        self.sp_effect_id_on_hit1_clear_count_6
    }

    pub fn set_sp_effect_id_on_hit1_clear_count_6(&mut self, value: i32) {
        self.sp_effect_id_on_hit1_clear_count_6 = value;
    }

    pub fn sp_effect_id_on_hit1_clear_count_7(&self) -> i32 {
        self.sp_effect_id_on_hit1_clear_count_7
    }

    pub fn set_sp_effect_id_on_hit1_clear_count_7(&mut self, value: i32) {
        self.sp_effect_id_on_hit1_clear_count_7 = value;
    }

    pub fn sp_effect_id_on_hit1_clear_count_8(&self) -> i32 {
        self.sp_effect_id_on_hit1_clear_count_8
    }

    pub fn set_sp_effect_id_on_hit1_clear_count_8(&mut self, value: i32) {
        self.sp_effect_id_on_hit1_clear_count_8 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ITEMLOT_PARAM_ST {
    item_lot_id1: i32,
    item_lot_id2: i32,
    item_lot_id3: i32,
    item_lot_id4: i32,
    item_lot_id5: i32,
    item_lot_id6: i32,
    item_lot_id7: i32,
    item_lot_id8: i32,
    lot_item_category01: u32,
    lot_item_category02: u32,
    lot_item_category03: u32,
    lot_item_category04: u32,
    lot_item_category05: u32,
    lot_item_category06: u32,
    lot_item_category07: u32,
    lot_item_category08: u32,
    lot_item_base_point01: i16,
    lot_item_base_point02: i16,
    lot_item_base_point03: i16,
    lot_item_base_point04: i16,
    lot_item_base_point05: i16,
    lot_item_base_point06: i16,
    lot_item_base_point07: i16,
    lot_item_base_point08: i16,
    cumulate_lot_point01: i16,
    cumulate_lot_point02: i16,
    cumulate_lot_point03: i16,
    cumulate_lot_point04: i16,
    cumulate_lot_point05: i16,
    cumulate_lot_point06: i16,
    cumulate_lot_point07: i16,
    cumulate_lot_point08: i16,
    get_item_flag_id01: i32,
    get_item_flag_id02: i32,
    get_item_flag_id03: i32,
    get_item_flag_id04: i32,
    get_item_flag_id05: i32,
    get_item_flag_id06: i32,
    get_item_flag_id07: i32,
    get_item_flag_id08: i32,
    get_item_flag_id: i32,
    cumulate_num_flag_id: i32,
    cumulate_num_max: u8,
    lot_item_rarity: u8,
    lot_item_num1: u8,
    lot_item_num2: u8,
    lot_item_num3: u8,
    lot_item_num4: u8,
    lot_item_num5: u8,
    lot_item_num6: u8,
    lot_item_num7: u8,
    lot_item_num8: u8,
    bits_92: u8,
    bits_93: u8,
    clear_count: i8,
    pad1: [u8; 3],
}

impl ParamDef for ITEMLOT_PARAM_ST {
    const NAME: &str = "ITEMLOT_PARAM_ST";
    const INDEX: usize = 43;
}

impl ITEMLOT_PARAM_ST {
    pub fn item_lot_id1(&self) -> i32 {
        self.item_lot_id1
    }

    pub fn set_item_lot_id1(&mut self, value: i32) {
        self.item_lot_id1 = value;
    }

    pub fn item_lot_id2(&self) -> i32 {
        self.item_lot_id2
    }

    pub fn set_item_lot_id2(&mut self, value: i32) {
        self.item_lot_id2 = value;
    }

    pub fn item_lot_id3(&self) -> i32 {
        self.item_lot_id3
    }

    pub fn set_item_lot_id3(&mut self, value: i32) {
        self.item_lot_id3 = value;
    }

    pub fn item_lot_id4(&self) -> i32 {
        self.item_lot_id4
    }

    pub fn set_item_lot_id4(&mut self, value: i32) {
        self.item_lot_id4 = value;
    }

    pub fn item_lot_id5(&self) -> i32 {
        self.item_lot_id5
    }

    pub fn set_item_lot_id5(&mut self, value: i32) {
        self.item_lot_id5 = value;
    }

    pub fn item_lot_id6(&self) -> i32 {
        self.item_lot_id6
    }

    pub fn set_item_lot_id6(&mut self, value: i32) {
        self.item_lot_id6 = value;
    }

    pub fn item_lot_id7(&self) -> i32 {
        self.item_lot_id7
    }

    pub fn set_item_lot_id7(&mut self, value: i32) {
        self.item_lot_id7 = value;
    }

    pub fn item_lot_id8(&self) -> i32 {
        self.item_lot_id8
    }

    pub fn set_item_lot_id8(&mut self, value: i32) {
        self.item_lot_id8 = value;
    }

    pub fn lot_item_category01(&self) -> u32 {
        self.lot_item_category01
    }

    pub fn set_lot_item_category01(&mut self, value: u32) {
        self.lot_item_category01 = value;
    }

    pub fn lot_item_category02(&self) -> u32 {
        self.lot_item_category02
    }

    pub fn set_lot_item_category02(&mut self, value: u32) {
        self.lot_item_category02 = value;
    }

    pub fn lot_item_category03(&self) -> u32 {
        self.lot_item_category03
    }

    pub fn set_lot_item_category03(&mut self, value: u32) {
        self.lot_item_category03 = value;
    }

    pub fn lot_item_category04(&self) -> u32 {
        self.lot_item_category04
    }

    pub fn set_lot_item_category04(&mut self, value: u32) {
        self.lot_item_category04 = value;
    }

    pub fn lot_item_category05(&self) -> u32 {
        self.lot_item_category05
    }

    pub fn set_lot_item_category05(&mut self, value: u32) {
        self.lot_item_category05 = value;
    }

    pub fn lot_item_category06(&self) -> u32 {
        self.lot_item_category06
    }

    pub fn set_lot_item_category06(&mut self, value: u32) {
        self.lot_item_category06 = value;
    }

    pub fn lot_item_category07(&self) -> u32 {
        self.lot_item_category07
    }

    pub fn set_lot_item_category07(&mut self, value: u32) {
        self.lot_item_category07 = value;
    }

    pub fn lot_item_category08(&self) -> u32 {
        self.lot_item_category08
    }

    pub fn set_lot_item_category08(&mut self, value: u32) {
        self.lot_item_category08 = value;
    }

    pub fn lot_item_base_point01(&self) -> i16 {
        self.lot_item_base_point01
    }

    pub fn set_lot_item_base_point01(&mut self, value: i16) {
        self.lot_item_base_point01 = value;
    }

    pub fn lot_item_base_point02(&self) -> i16 {
        self.lot_item_base_point02
    }

    pub fn set_lot_item_base_point02(&mut self, value: i16) {
        self.lot_item_base_point02 = value;
    }

    pub fn lot_item_base_point03(&self) -> i16 {
        self.lot_item_base_point03
    }

    pub fn set_lot_item_base_point03(&mut self, value: i16) {
        self.lot_item_base_point03 = value;
    }

    pub fn lot_item_base_point04(&self) -> i16 {
        self.lot_item_base_point04
    }

    pub fn set_lot_item_base_point04(&mut self, value: i16) {
        self.lot_item_base_point04 = value;
    }

    pub fn lot_item_base_point05(&self) -> i16 {
        self.lot_item_base_point05
    }

    pub fn set_lot_item_base_point05(&mut self, value: i16) {
        self.lot_item_base_point05 = value;
    }

    pub fn lot_item_base_point06(&self) -> i16 {
        self.lot_item_base_point06
    }

    pub fn set_lot_item_base_point06(&mut self, value: i16) {
        self.lot_item_base_point06 = value;
    }

    pub fn lot_item_base_point07(&self) -> i16 {
        self.lot_item_base_point07
    }

    pub fn set_lot_item_base_point07(&mut self, value: i16) {
        self.lot_item_base_point07 = value;
    }

    pub fn lot_item_base_point08(&self) -> i16 {
        self.lot_item_base_point08
    }

    pub fn set_lot_item_base_point08(&mut self, value: i16) {
        self.lot_item_base_point08 = value;
    }

    pub fn cumulate_lot_point01(&self) -> i16 {
        self.cumulate_lot_point01
    }

    pub fn set_cumulate_lot_point01(&mut self, value: i16) {
        self.cumulate_lot_point01 = value;
    }

    pub fn cumulate_lot_point02(&self) -> i16 {
        self.cumulate_lot_point02
    }

    pub fn set_cumulate_lot_point02(&mut self, value: i16) {
        self.cumulate_lot_point02 = value;
    }

    pub fn cumulate_lot_point03(&self) -> i16 {
        self.cumulate_lot_point03
    }

    pub fn set_cumulate_lot_point03(&mut self, value: i16) {
        self.cumulate_lot_point03 = value;
    }

    pub fn cumulate_lot_point04(&self) -> i16 {
        self.cumulate_lot_point04
    }

    pub fn set_cumulate_lot_point04(&mut self, value: i16) {
        self.cumulate_lot_point04 = value;
    }

    pub fn cumulate_lot_point05(&self) -> i16 {
        self.cumulate_lot_point05
    }

    pub fn set_cumulate_lot_point05(&mut self, value: i16) {
        self.cumulate_lot_point05 = value;
    }

    pub fn cumulate_lot_point06(&self) -> i16 {
        self.cumulate_lot_point06
    }

    pub fn set_cumulate_lot_point06(&mut self, value: i16) {
        self.cumulate_lot_point06 = value;
    }

    pub fn cumulate_lot_point07(&self) -> i16 {
        self.cumulate_lot_point07
    }

    pub fn set_cumulate_lot_point07(&mut self, value: i16) {
        self.cumulate_lot_point07 = value;
    }

    pub fn cumulate_lot_point08(&self) -> i16 {
        self.cumulate_lot_point08
    }

    pub fn set_cumulate_lot_point08(&mut self, value: i16) {
        self.cumulate_lot_point08 = value;
    }

    pub fn get_item_flag_id01(&self) -> i32 {
        self.get_item_flag_id01
    }

    pub fn set_get_item_flag_id01(&mut self, value: i32) {
        self.get_item_flag_id01 = value;
    }

    pub fn get_item_flag_id02(&self) -> i32 {
        self.get_item_flag_id02
    }

    pub fn set_get_item_flag_id02(&mut self, value: i32) {
        self.get_item_flag_id02 = value;
    }

    pub fn get_item_flag_id03(&self) -> i32 {
        self.get_item_flag_id03
    }

    pub fn set_get_item_flag_id03(&mut self, value: i32) {
        self.get_item_flag_id03 = value;
    }

    pub fn get_item_flag_id04(&self) -> i32 {
        self.get_item_flag_id04
    }

    pub fn set_get_item_flag_id04(&mut self, value: i32) {
        self.get_item_flag_id04 = value;
    }

    pub fn get_item_flag_id05(&self) -> i32 {
        self.get_item_flag_id05
    }

    pub fn set_get_item_flag_id05(&mut self, value: i32) {
        self.get_item_flag_id05 = value;
    }

    pub fn get_item_flag_id06(&self) -> i32 {
        self.get_item_flag_id06
    }

    pub fn set_get_item_flag_id06(&mut self, value: i32) {
        self.get_item_flag_id06 = value;
    }

    pub fn get_item_flag_id07(&self) -> i32 {
        self.get_item_flag_id07
    }

    pub fn set_get_item_flag_id07(&mut self, value: i32) {
        self.get_item_flag_id07 = value;
    }

    pub fn get_item_flag_id08(&self) -> i32 {
        self.get_item_flag_id08
    }

    pub fn set_get_item_flag_id08(&mut self, value: i32) {
        self.get_item_flag_id08 = value;
    }

    pub fn get_item_flag_id(&self) -> i32 {
        self.get_item_flag_id
    }

    pub fn set_get_item_flag_id(&mut self, value: i32) {
        self.get_item_flag_id = value;
    }

    pub fn cumulate_num_flag_id(&self) -> i32 {
        self.cumulate_num_flag_id
    }

    pub fn set_cumulate_num_flag_id(&mut self, value: i32) {
        self.cumulate_num_flag_id = value;
    }

    pub fn cumulate_num_max(&self) -> u8 {
        self.cumulate_num_max
    }

    pub fn set_cumulate_num_max(&mut self, value: u8) {
        self.cumulate_num_max = value;
    }

    pub fn lot_item_rarity(&self) -> u8 {
        self.lot_item_rarity
    }

    pub fn set_lot_item_rarity(&mut self, value: u8) {
        self.lot_item_rarity = value;
    }

    pub fn lot_item_num1(&self) -> u8 {
        self.lot_item_num1
    }

    pub fn set_lot_item_num1(&mut self, value: u8) {
        self.lot_item_num1 = value;
    }

    pub fn lot_item_num2(&self) -> u8 {
        self.lot_item_num2
    }

    pub fn set_lot_item_num2(&mut self, value: u8) {
        self.lot_item_num2 = value;
    }

    pub fn lot_item_num3(&self) -> u8 {
        self.lot_item_num3
    }

    pub fn set_lot_item_num3(&mut self, value: u8) {
        self.lot_item_num3 = value;
    }

    pub fn lot_item_num4(&self) -> u8 {
        self.lot_item_num4
    }

    pub fn set_lot_item_num4(&mut self, value: u8) {
        self.lot_item_num4 = value;
    }

    pub fn lot_item_num5(&self) -> u8 {
        self.lot_item_num5
    }

    pub fn set_lot_item_num5(&mut self, value: u8) {
        self.lot_item_num5 = value;
    }

    pub fn lot_item_num6(&self) -> u8 {
        self.lot_item_num6
    }

    pub fn set_lot_item_num6(&mut self, value: u8) {
        self.lot_item_num6 = value;
    }

    pub fn lot_item_num7(&self) -> u8 {
        self.lot_item_num7
    }

    pub fn set_lot_item_num7(&mut self, value: u8) {
        self.lot_item_num7 = value;
    }

    pub fn lot_item_num8(&self) -> u8 {
        self.lot_item_num8
    }

    pub fn set_lot_item_num8(&mut self, value: u8) {
        self.lot_item_num8 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn enable_luck01(&self) -> u8 {
        (self.bits_92 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_luck01(&mut self, value: u8) {
        self.bits_92 = (self.bits_92 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_luck02(&self) -> u8 {
        (self.bits_92 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_luck02(&mut self, value: u8) {
        self.bits_92 = (self.bits_92 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_luck03(&self) -> u8 {
        (self.bits_92 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_luck03(&mut self, value: u8) {
        self.bits_92 = (self.bits_92 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_luck04(&self) -> u8 {
        (self.bits_92 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_luck04(&mut self, value: u8) {
        self.bits_92 = (self.bits_92 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_luck05(&self) -> u8 {
        (self.bits_92 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_luck05(&mut self, value: u8) {
        self.bits_92 = (self.bits_92 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_luck06(&self) -> u8 {
        (self.bits_92 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_luck06(&mut self, value: u8) {
        self.bits_92 = (self.bits_92 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_luck07(&self) -> u8 {
        (self.bits_92 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_luck07(&mut self, value: u8) {
        self.bits_92 = (self.bits_92 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_luck08(&self) -> u8 {
        (self.bits_92 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_luck08(&mut self, value: u8) {
        self.bits_92 = (self.bits_92 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn cumulate_reset01(&self) -> u8 {
        (self.bits_93 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cumulate_reset01(&mut self, value: u8) {
        self.bits_93 = (self.bits_93 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn cumulate_reset02(&self) -> u8 {
        (self.bits_93 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cumulate_reset02(&mut self, value: u8) {
        self.bits_93 = (self.bits_93 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn cumulate_reset03(&self) -> u8 {
        (self.bits_93 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cumulate_reset03(&mut self, value: u8) {
        self.bits_93 = (self.bits_93 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn cumulate_reset04(&self) -> u8 {
        (self.bits_93 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cumulate_reset04(&mut self, value: u8) {
        self.bits_93 = (self.bits_93 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn cumulate_reset05(&self) -> u8 {
        (self.bits_93 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cumulate_reset05(&mut self, value: u8) {
        self.bits_93 = (self.bits_93 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn cumulate_reset06(&self) -> u8 {
        (self.bits_93 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cumulate_reset06(&mut self, value: u8) {
        self.bits_93 = (self.bits_93 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn cumulate_reset07(&self) -> u8 {
        (self.bits_93 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cumulate_reset07(&mut self, value: u8) {
        self.bits_93 = (self.bits_93 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn cumulate_reset08(&self) -> u8 {
        (self.bits_93 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cumulate_reset08(&mut self, value: u8) {
        self.bits_93 = (self.bits_93 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn clear_count(&self) -> i8 {
        self.clear_count
    }

    pub fn set_clear_count(&mut self, value: i8) {
        self.clear_count = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct KNOCKBACK_PARAM_ST {
    damage_min_cont_time: f32,
    damage_s_cont_time: f32,
    damage_m_cont_time: f32,
    damage_l_cont_time: f32,
    damage_blow_s_cont_time: f32,
    damage_blow_m_cont_time: f32,
    damage_strike_cont_time: f32,
    damage_uppercut_cont_time: f32,
    damage_push_cont_time: f32,
    damage_breath_cont_time: f32,
    damage_head_shot_cont_time: f32,
    guard_s_cont_time: f32,
    guard_l_cont_time: f32,
    guard_ll_cont_time: f32,
    guard_brake_cont_time: f32,
    damage_min_dec_time: f32,
    damage_s_dec_time: f32,
    damage_m_dec_time: f32,
    damage_l_dec_time: f32,
    damage_blow_s_dec_time: f32,
    damage_blow_m_dec_time: f32,
    damage_strike_dec_time: f32,
    damage_uppercut_dec_time: f32,
    damage_push_dec_time: f32,
    damage_breath_dec_time: f32,
    damage_head_shot_dec_time: f32,
    guard_s_dec_time: f32,
    guard_l_dec_time: f32,
    guard_ll_dec_time: f32,
    guard_brake_dec_time: f32,
    pad1: [u8; 8],
}

impl ParamDef for KNOCKBACK_PARAM_ST {
    const NAME: &str = "KNOCKBACK_PARAM_ST";
    const INDEX: usize = 44;
}

impl KNOCKBACK_PARAM_ST {
    pub fn damage_min_cont_time(&self) -> f32 {
        self.damage_min_cont_time
    }

    pub fn set_damage_min_cont_time(&mut self, value: f32) {
        self.damage_min_cont_time = value;
    }

    pub fn damage_s_cont_time(&self) -> f32 {
        self.damage_s_cont_time
    }

    pub fn set_damage_s_cont_time(&mut self, value: f32) {
        self.damage_s_cont_time = value;
    }

    pub fn damage_m_cont_time(&self) -> f32 {
        self.damage_m_cont_time
    }

    pub fn set_damage_m_cont_time(&mut self, value: f32) {
        self.damage_m_cont_time = value;
    }

    pub fn damage_l_cont_time(&self) -> f32 {
        self.damage_l_cont_time
    }

    pub fn set_damage_l_cont_time(&mut self, value: f32) {
        self.damage_l_cont_time = value;
    }

    pub fn damage_blow_s_cont_time(&self) -> f32 {
        self.damage_blow_s_cont_time
    }

    pub fn set_damage_blow_s_cont_time(&mut self, value: f32) {
        self.damage_blow_s_cont_time = value;
    }

    pub fn damage_blow_m_cont_time(&self) -> f32 {
        self.damage_blow_m_cont_time
    }

    pub fn set_damage_blow_m_cont_time(&mut self, value: f32) {
        self.damage_blow_m_cont_time = value;
    }

    pub fn damage_strike_cont_time(&self) -> f32 {
        self.damage_strike_cont_time
    }

    pub fn set_damage_strike_cont_time(&mut self, value: f32) {
        self.damage_strike_cont_time = value;
    }

    pub fn damage_uppercut_cont_time(&self) -> f32 {
        self.damage_uppercut_cont_time
    }

    pub fn set_damage_uppercut_cont_time(&mut self, value: f32) {
        self.damage_uppercut_cont_time = value;
    }

    pub fn damage_push_cont_time(&self) -> f32 {
        self.damage_push_cont_time
    }

    pub fn set_damage_push_cont_time(&mut self, value: f32) {
        self.damage_push_cont_time = value;
    }

    pub fn damage_breath_cont_time(&self) -> f32 {
        self.damage_breath_cont_time
    }

    pub fn set_damage_breath_cont_time(&mut self, value: f32) {
        self.damage_breath_cont_time = value;
    }

    pub fn damage_head_shot_cont_time(&self) -> f32 {
        self.damage_head_shot_cont_time
    }

    pub fn set_damage_head_shot_cont_time(&mut self, value: f32) {
        self.damage_head_shot_cont_time = value;
    }

    pub fn guard_s_cont_time(&self) -> f32 {
        self.guard_s_cont_time
    }

    pub fn set_guard_s_cont_time(&mut self, value: f32) {
        self.guard_s_cont_time = value;
    }

    pub fn guard_l_cont_time(&self) -> f32 {
        self.guard_l_cont_time
    }

    pub fn set_guard_l_cont_time(&mut self, value: f32) {
        self.guard_l_cont_time = value;
    }

    pub fn guard_ll_cont_time(&self) -> f32 {
        self.guard_ll_cont_time
    }

    pub fn set_guard_ll_cont_time(&mut self, value: f32) {
        self.guard_ll_cont_time = value;
    }

    pub fn guard_brake_cont_time(&self) -> f32 {
        self.guard_brake_cont_time
    }

    pub fn set_guard_brake_cont_time(&mut self, value: f32) {
        self.guard_brake_cont_time = value;
    }

    pub fn damage_min_dec_time(&self) -> f32 {
        self.damage_min_dec_time
    }

    pub fn set_damage_min_dec_time(&mut self, value: f32) {
        self.damage_min_dec_time = value;
    }

    pub fn damage_s_dec_time(&self) -> f32 {
        self.damage_s_dec_time
    }

    pub fn set_damage_s_dec_time(&mut self, value: f32) {
        self.damage_s_dec_time = value;
    }

    pub fn damage_m_dec_time(&self) -> f32 {
        self.damage_m_dec_time
    }

    pub fn set_damage_m_dec_time(&mut self, value: f32) {
        self.damage_m_dec_time = value;
    }

    pub fn damage_l_dec_time(&self) -> f32 {
        self.damage_l_dec_time
    }

    pub fn set_damage_l_dec_time(&mut self, value: f32) {
        self.damage_l_dec_time = value;
    }

    pub fn damage_blow_s_dec_time(&self) -> f32 {
        self.damage_blow_s_dec_time
    }

    pub fn set_damage_blow_s_dec_time(&mut self, value: f32) {
        self.damage_blow_s_dec_time = value;
    }

    pub fn damage_blow_m_dec_time(&self) -> f32 {
        self.damage_blow_m_dec_time
    }

    pub fn set_damage_blow_m_dec_time(&mut self, value: f32) {
        self.damage_blow_m_dec_time = value;
    }

    pub fn damage_strike_dec_time(&self) -> f32 {
        self.damage_strike_dec_time
    }

    pub fn set_damage_strike_dec_time(&mut self, value: f32) {
        self.damage_strike_dec_time = value;
    }

    pub fn damage_uppercut_dec_time(&self) -> f32 {
        self.damage_uppercut_dec_time
    }

    pub fn set_damage_uppercut_dec_time(&mut self, value: f32) {
        self.damage_uppercut_dec_time = value;
    }

    pub fn damage_push_dec_time(&self) -> f32 {
        self.damage_push_dec_time
    }

    pub fn set_damage_push_dec_time(&mut self, value: f32) {
        self.damage_push_dec_time = value;
    }

    pub fn damage_breath_dec_time(&self) -> f32 {
        self.damage_breath_dec_time
    }

    pub fn set_damage_breath_dec_time(&mut self, value: f32) {
        self.damage_breath_dec_time = value;
    }

    pub fn damage_head_shot_dec_time(&self) -> f32 {
        self.damage_head_shot_dec_time
    }

    pub fn set_damage_head_shot_dec_time(&mut self, value: f32) {
        self.damage_head_shot_dec_time = value;
    }

    pub fn guard_s_dec_time(&self) -> f32 {
        self.guard_s_dec_time
    }

    pub fn set_guard_s_dec_time(&mut self, value: f32) {
        self.guard_s_dec_time = value;
    }

    pub fn guard_l_dec_time(&self) -> f32 {
        self.guard_l_dec_time
    }

    pub fn set_guard_l_dec_time(&mut self, value: f32) {
        self.guard_l_dec_time = value;
    }

    pub fn guard_ll_dec_time(&self) -> f32 {
        self.guard_ll_dec_time
    }

    pub fn set_guard_ll_dec_time(&mut self, value: f32) {
        self.guard_ll_dec_time = value;
    }

    pub fn guard_brake_dec_time(&self) -> f32 {
        self.guard_brake_dec_time
    }

    pub fn set_guard_brake_dec_time(&mut self, value: f32) {
        self.guard_brake_dec_time = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct KNOWLEDGE_LOADSCREEN_ITEM_PARAM_ST {
    loadscreen_category_id: u32,
    knowledge_id: i32,
    pad1: [u8; 8],
}

impl ParamDef for KNOWLEDGE_LOADSCREEN_ITEM_PARAM_ST {
    const NAME: &str = "KNOWLEDGE_LOADSCREEN_ITEM_PARAM_ST";
    const INDEX: usize = 45;
}

impl KNOWLEDGE_LOADSCREEN_ITEM_PARAM_ST {
    pub fn loadscreen_category_id(&self) -> u32 {
        self.loadscreen_category_id
    }

    pub fn set_loadscreen_category_id(&mut self, value: u32) {
        self.loadscreen_category_id = value;
    }

    pub fn knowledge_id(&self) -> i32 {
        self.knowledge_id
    }

    pub fn set_knowledge_id(&mut self, value: i32) {
        self.knowledge_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOAD_BALANCER_DRAW_DIST_SCALE_PARAM_ST {
    lv00: f32,
    lv01: f32,
    lv02: f32,
    lv03: f32,
    lv04: f32,
    lv05: f32,
    lv06: f32,
    lv07: f32,
    lv08: f32,
    lv09: f32,
    lv10: f32,
    lv11: f32,
    lv12: f32,
    lv13: f32,
    lv14: f32,
    lv15: f32,
    lv16: f32,
    lv17: f32,
    lv18: f32,
    lv19: f32,
    lv20: f32,
    reserve: [u8; 44],
}

impl ParamDef for LOAD_BALANCER_DRAW_DIST_SCALE_PARAM_ST {
    const NAME: &str = "LOAD_BALANCER_DRAW_DIST_SCALE_PARAM_ST";
    const INDEX: usize = 46;
}

impl LOAD_BALANCER_DRAW_DIST_SCALE_PARAM_ST {
    pub fn lv00(&self) -> f32 {
        self.lv00
    }

    pub fn set_lv00(&mut self, value: f32) {
        self.lv00 = value;
    }

    pub fn lv01(&self) -> f32 {
        self.lv01
    }

    pub fn set_lv01(&mut self, value: f32) {
        self.lv01 = value;
    }

    pub fn lv02(&self) -> f32 {
        self.lv02
    }

    pub fn set_lv02(&mut self, value: f32) {
        self.lv02 = value;
    }

    pub fn lv03(&self) -> f32 {
        self.lv03
    }

    pub fn set_lv03(&mut self, value: f32) {
        self.lv03 = value;
    }

    pub fn lv04(&self) -> f32 {
        self.lv04
    }

    pub fn set_lv04(&mut self, value: f32) {
        self.lv04 = value;
    }

    pub fn lv05(&self) -> f32 {
        self.lv05
    }

    pub fn set_lv05(&mut self, value: f32) {
        self.lv05 = value;
    }

    pub fn lv06(&self) -> f32 {
        self.lv06
    }

    pub fn set_lv06(&mut self, value: f32) {
        self.lv06 = value;
    }

    pub fn lv07(&self) -> f32 {
        self.lv07
    }

    pub fn set_lv07(&mut self, value: f32) {
        self.lv07 = value;
    }

    pub fn lv08(&self) -> f32 {
        self.lv08
    }

    pub fn set_lv08(&mut self, value: f32) {
        self.lv08 = value;
    }

    pub fn lv09(&self) -> f32 {
        self.lv09
    }

    pub fn set_lv09(&mut self, value: f32) {
        self.lv09 = value;
    }

    pub fn lv10(&self) -> f32 {
        self.lv10
    }

    pub fn set_lv10(&mut self, value: f32) {
        self.lv10 = value;
    }

    pub fn lv11(&self) -> f32 {
        self.lv11
    }

    pub fn set_lv11(&mut self, value: f32) {
        self.lv11 = value;
    }

    pub fn lv12(&self) -> f32 {
        self.lv12
    }

    pub fn set_lv12(&mut self, value: f32) {
        self.lv12 = value;
    }

    pub fn lv13(&self) -> f32 {
        self.lv13
    }

    pub fn set_lv13(&mut self, value: f32) {
        self.lv13 = value;
    }

    pub fn lv14(&self) -> f32 {
        self.lv14
    }

    pub fn set_lv14(&mut self, value: f32) {
        self.lv14 = value;
    }

    pub fn lv15(&self) -> f32 {
        self.lv15
    }

    pub fn set_lv15(&mut self, value: f32) {
        self.lv15 = value;
    }

    pub fn lv16(&self) -> f32 {
        self.lv16
    }

    pub fn set_lv16(&mut self, value: f32) {
        self.lv16 = value;
    }

    pub fn lv17(&self) -> f32 {
        self.lv17
    }

    pub fn set_lv17(&mut self, value: f32) {
        self.lv17 = value;
    }

    pub fn lv18(&self) -> f32 {
        self.lv18
    }

    pub fn set_lv18(&mut self, value: f32) {
        self.lv18 = value;
    }

    pub fn lv19(&self) -> f32 {
        self.lv19
    }

    pub fn set_lv19(&mut self, value: f32) {
        self.lv19 = value;
    }

    pub fn lv20(&self) -> f32 {
        self.lv20
    }

    pub fn set_lv20(&mut self, value: f32) {
        self.lv20 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOAD_BALANCER_PARAM_ST {
    unk1: f32,
    unk2: f32,
    unk3: i32,
    unk4: i32,
    unk5: i32,
    unk6: i32,
    load_balancer_val0: u8,
    load_balancer_val1: u8,
    load_balancer_val2: u8,
    load_balancer_val3: u8,
    load_balancer_val4: u8,
    load_balancer_val5: u8,
    load_balancer_val6: u8,
    load_balancer_val7: u8,
    load_balancer_val8: u8,
    load_balancer_val9: u8,
    load_balancer_val10: u8,
    load_balancer_val11: u8,
    load_balancer_val12: u8,
    load_balancer_val13: u8,
    load_balancer_val14: u8,
    load_balancer_val15: u8,
    load_balancer_val16: u8,
    load_balancer_val17: u8,
    pad1: [u8; 38],
}

impl ParamDef for LOAD_BALANCER_PARAM_ST {
    const NAME: &str = "LOAD_BALANCER_PARAM_ST";
    const INDEX: usize = 47;
}

impl LOAD_BALANCER_PARAM_ST {
    pub fn load_balancer_val0(&self) -> u8 {
        self.load_balancer_val0
    }

    pub fn set_load_balancer_val0(&mut self, value: u8) {
        self.load_balancer_val0 = value;
    }

    pub fn load_balancer_val1(&self) -> u8 {
        self.load_balancer_val1
    }

    pub fn set_load_balancer_val1(&mut self, value: u8) {
        self.load_balancer_val1 = value;
    }

    pub fn load_balancer_val2(&self) -> u8 {
        self.load_balancer_val2
    }

    pub fn set_load_balancer_val2(&mut self, value: u8) {
        self.load_balancer_val2 = value;
    }

    pub fn load_balancer_val3(&self) -> u8 {
        self.load_balancer_val3
    }

    pub fn set_load_balancer_val3(&mut self, value: u8) {
        self.load_balancer_val3 = value;
    }

    pub fn load_balancer_val4(&self) -> u8 {
        self.load_balancer_val4
    }

    pub fn set_load_balancer_val4(&mut self, value: u8) {
        self.load_balancer_val4 = value;
    }

    pub fn load_balancer_val5(&self) -> u8 {
        self.load_balancer_val5
    }

    pub fn set_load_balancer_val5(&mut self, value: u8) {
        self.load_balancer_val5 = value;
    }

    pub fn load_balancer_val6(&self) -> u8 {
        self.load_balancer_val6
    }

    pub fn set_load_balancer_val6(&mut self, value: u8) {
        self.load_balancer_val6 = value;
    }

    pub fn load_balancer_val7(&self) -> u8 {
        self.load_balancer_val7
    }

    pub fn set_load_balancer_val7(&mut self, value: u8) {
        self.load_balancer_val7 = value;
    }

    pub fn load_balancer_val8(&self) -> u8 {
        self.load_balancer_val8
    }

    pub fn set_load_balancer_val8(&mut self, value: u8) {
        self.load_balancer_val8 = value;
    }

    pub fn load_balancer_val9(&self) -> u8 {
        self.load_balancer_val9
    }

    pub fn set_load_balancer_val9(&mut self, value: u8) {
        self.load_balancer_val9 = value;
    }

    pub fn load_balancer_val10(&self) -> u8 {
        self.load_balancer_val10
    }

    pub fn set_load_balancer_val10(&mut self, value: u8) {
        self.load_balancer_val10 = value;
    }

    pub fn load_balancer_val11(&self) -> u8 {
        self.load_balancer_val11
    }

    pub fn set_load_balancer_val11(&mut self, value: u8) {
        self.load_balancer_val11 = value;
    }

    pub fn load_balancer_val12(&self) -> u8 {
        self.load_balancer_val12
    }

    pub fn set_load_balancer_val12(&mut self, value: u8) {
        self.load_balancer_val12 = value;
    }

    pub fn load_balancer_val13(&self) -> u8 {
        self.load_balancer_val13
    }

    pub fn set_load_balancer_val13(&mut self, value: u8) {
        self.load_balancer_val13 = value;
    }

    pub fn load_balancer_val14(&self) -> u8 {
        self.load_balancer_val14
    }

    pub fn set_load_balancer_val14(&mut self, value: u8) {
        self.load_balancer_val14 = value;
    }

    pub fn load_balancer_val15(&self) -> u8 {
        self.load_balancer_val15
    }

    pub fn set_load_balancer_val15(&mut self, value: u8) {
        self.load_balancer_val15 = value;
    }

    pub fn load_balancer_val16(&self) -> u8 {
        self.load_balancer_val16
    }

    pub fn set_load_balancer_val16(&mut self, value: u8) {
        self.load_balancer_val16 = value;
    }

    pub fn load_balancer_val17(&self) -> u8 {
        self.load_balancer_val17
    }

    pub fn set_load_balancer_val17(&mut self, value: u8) {
        self.load_balancer_val17 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOCK_CAM_PARAM_ST {
    cam_dist_target: f32,
    rot_range_min_x: f32,
    lock_rot_x_shift_ratio: f32,
    chr_org_offset_y: f32,
    chr_lock_range_max_radius: f32,
    cam_fov_y: f32,
    chr_lock_range_max_radius_for_d: f32,
    chr_lock_range_max_radius_for_pd: f32,
    close_max_height: f32,
    close_min_height: f32,
    close_ang_range: f32,
    close_max_radius: f32,
    close_max_radius_for_d: f32,
    close_max_radius_for_pd: f32,
    bullet_max_radius: f32,
    bullet_max_radius_for_d: f32,
    bullet_max_radius_for_pd: f32,
    bullet_ang_range: f32,
    pad1: [u8; 28],
}

impl ParamDef for LOCK_CAM_PARAM_ST {
    const NAME: &str = "LOCK_CAM_PARAM_ST";
    const INDEX: usize = 48;
}

impl LOCK_CAM_PARAM_ST {
    pub fn cam_dist_target(&self) -> f32 {
        self.cam_dist_target
    }

    pub fn set_cam_dist_target(&mut self, value: f32) {
        self.cam_dist_target = value;
    }

    pub fn rot_range_min_x(&self) -> f32 {
        self.rot_range_min_x
    }

    pub fn set_rot_range_min_x(&mut self, value: f32) {
        self.rot_range_min_x = value;
    }

    pub fn lock_rot_x_shift_ratio(&self) -> f32 {
        self.lock_rot_x_shift_ratio
    }

    pub fn set_lock_rot_x_shift_ratio(&mut self, value: f32) {
        self.lock_rot_x_shift_ratio = value;
    }

    pub fn chr_org_offset_y(&self) -> f32 {
        self.chr_org_offset_y
    }

    pub fn set_chr_org_offset_y(&mut self, value: f32) {
        self.chr_org_offset_y = value;
    }

    pub fn chr_lock_range_max_radius(&self) -> f32 {
        self.chr_lock_range_max_radius
    }

    pub fn set_chr_lock_range_max_radius(&mut self, value: f32) {
        self.chr_lock_range_max_radius = value;
    }

    pub fn cam_fov_y(&self) -> f32 {
        self.cam_fov_y
    }

    pub fn set_cam_fov_y(&mut self, value: f32) {
        self.cam_fov_y = value;
    }

    pub fn chr_lock_range_max_radius_for_d(&self) -> f32 {
        self.chr_lock_range_max_radius_for_d
    }

    pub fn set_chr_lock_range_max_radius_for_d(&mut self, value: f32) {
        self.chr_lock_range_max_radius_for_d = value;
    }

    pub fn chr_lock_range_max_radius_for_pd(&self) -> f32 {
        self.chr_lock_range_max_radius_for_pd
    }

    pub fn set_chr_lock_range_max_radius_for_pd(&mut self, value: f32) {
        self.chr_lock_range_max_radius_for_pd = value;
    }

    pub fn close_max_height(&self) -> f32 {
        self.close_max_height
    }

    pub fn set_close_max_height(&mut self, value: f32) {
        self.close_max_height = value;
    }

    pub fn close_min_height(&self) -> f32 {
        self.close_min_height
    }

    pub fn set_close_min_height(&mut self, value: f32) {
        self.close_min_height = value;
    }

    pub fn close_ang_range(&self) -> f32 {
        self.close_ang_range
    }

    pub fn set_close_ang_range(&mut self, value: f32) {
        self.close_ang_range = value;
    }

    pub fn close_max_radius(&self) -> f32 {
        self.close_max_radius
    }

    pub fn set_close_max_radius(&mut self, value: f32) {
        self.close_max_radius = value;
    }

    pub fn close_max_radius_for_d(&self) -> f32 {
        self.close_max_radius_for_d
    }

    pub fn set_close_max_radius_for_d(&mut self, value: f32) {
        self.close_max_radius_for_d = value;
    }

    pub fn close_max_radius_for_pd(&self) -> f32 {
        self.close_max_radius_for_pd
    }

    pub fn set_close_max_radius_for_pd(&mut self, value: f32) {
        self.close_max_radius_for_pd = value;
    }

    pub fn bullet_max_radius(&self) -> f32 {
        self.bullet_max_radius
    }

    pub fn set_bullet_max_radius(&mut self, value: f32) {
        self.bullet_max_radius = value;
    }

    pub fn bullet_max_radius_for_d(&self) -> f32 {
        self.bullet_max_radius_for_d
    }

    pub fn set_bullet_max_radius_for_d(&mut self, value: f32) {
        self.bullet_max_radius_for_d = value;
    }

    pub fn bullet_max_radius_for_pd(&self) -> f32 {
        self.bullet_max_radius_for_pd
    }

    pub fn set_bullet_max_radius_for_pd(&mut self, value: f32) {
        self.bullet_max_radius_for_pd = value;
    }

    pub fn bullet_ang_range(&self) -> f32 {
        self.bullet_ang_range
    }

    pub fn set_bullet_ang_range(&mut self, value: f32) {
        self.bullet_ang_range = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOD_BANK {
    lv01_border_dist: f32,
    lv01_play_dist: f32,
    lv12_border_dist: f32,
    lv12_play_dist: f32,
    texture_lod: u8,
    pad1: [u8; 3],
    lv23_border_dist: f32,
    lv23_play_dist: f32,
    lv34_border_dist: f32,
    lv34_play_dist: f32,
    lv45_border_dist: f32,
    lv45_play_dist: f32,
    distance_scale_id: u8,
    pad2: [u8; 19],
}

impl ParamDef for LOD_BANK {
    const NAME: &str = "LOD_BANK";
    const INDEX: usize = 49;
}

impl LOD_BANK {
    pub fn lv01_border_dist(&self) -> f32 {
        self.lv01_border_dist
    }

    pub fn set_lv01_border_dist(&mut self, value: f32) {
        self.lv01_border_dist = value;
    }

    pub fn lv01_play_dist(&self) -> f32 {
        self.lv01_play_dist
    }

    pub fn set_lv01_play_dist(&mut self, value: f32) {
        self.lv01_play_dist = value;
    }

    pub fn lv12_border_dist(&self) -> f32 {
        self.lv12_border_dist
    }

    pub fn set_lv12_border_dist(&mut self, value: f32) {
        self.lv12_border_dist = value;
    }

    pub fn lv12_play_dist(&self) -> f32 {
        self.lv12_play_dist
    }

    pub fn set_lv12_play_dist(&mut self, value: f32) {
        self.lv12_play_dist = value;
    }

    pub fn texture_lod(&self) -> u8 {
        self.texture_lod
    }

    pub fn set_texture_lod(&mut self, value: u8) {
        self.texture_lod = value;
    }

    pub fn lv23_border_dist(&self) -> f32 {
        self.lv23_border_dist
    }

    pub fn set_lv23_border_dist(&mut self, value: f32) {
        self.lv23_border_dist = value;
    }

    pub fn lv23_play_dist(&self) -> f32 {
        self.lv23_play_dist
    }

    pub fn set_lv23_play_dist(&mut self, value: f32) {
        self.lv23_play_dist = value;
    }

    pub fn lv34_border_dist(&self) -> f32 {
        self.lv34_border_dist
    }

    pub fn set_lv34_border_dist(&mut self, value: f32) {
        self.lv34_border_dist = value;
    }

    pub fn lv34_play_dist(&self) -> f32 {
        self.lv34_play_dist
    }

    pub fn set_lv34_play_dist(&mut self, value: f32) {
        self.lv34_play_dist = value;
    }

    pub fn lv45_border_dist(&self) -> f32 {
        self.lv45_border_dist
    }

    pub fn set_lv45_border_dist(&mut self, value: f32) {
        self.lv45_border_dist = value;
    }

    pub fn lv45_play_dist(&self) -> f32 {
        self.lv45_play_dist
    }

    pub fn set_lv45_play_dist(&mut self, value: f32) {
        self.lv45_play_dist = value;
    }

    pub fn distance_scale_id(&self) -> u8 {
        self.distance_scale_id
    }

    pub fn set_distance_scale_id(&mut self, value: u8) {
        self.distance_scale_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAGIC_PARAM_ST {
    yes_no_dialog_message_id: i32,
    limit_cancel_sp_effect_id: i32,
    sort_id: i16,
    requirement_luck: u8,
    ai_notify_type: u8,
    ref_id_fp_cost1: i16,
    ref_id_sp_cost1: i16,
    icon_id: i16,
    behavior_id: i16,
    mtrl_item_id: i16,
    replace_magic_id: i16,
    max_quantity: i16,
    hero_point: u8,
    over_dexterity: u8,
    sfx_variation_id: u8,
    slot_length: u8,
    requirement_intellect: u8,
    requirement_faith: u8,
    analog_dexterity_min: u8,
    analog_dexterity_max: u8,
    ez_state_behavior_type: u8,
    ref_category1: u8,
    sp_effect_category: u8,
    ref_type: u8,
    menu_type: u8,
    ref_category4: u8,
    has_sp_effect_type: i16,
    bits_2a: u8,
    bits_2b: u8,
    bits_2c: u8,
    bits_2d: u8,
    unk7: u8,
    unk8: u8,
    cast_sfx1: i32,
    cast_sfx2: i32,
    cast_sfx3: i32,
    toughness_correct_rate: i32,
    replacement_status_type: u8,
    replacement_status1: i8,
    replacement_status2: i8,
    replacement_status3: i8,
    replacement_status4: i8,
    ref_category2: u8,
    ref_id_sp_cost4: i16,
    magic_id0: i32,
    magic_id1: i32,
    magic_id2: i32,
    magic_id3: i32,
    ref_id_fp_cost2: i16,
    ref_id_sp_cost2: i16,
    unk10: u8,
    ref_category3: u8,
    ref_id_fp_cost4: i16,
    ref_id_fp_cost3: i16,
    ref_id_sp_cost3: i16,
    ref_id1: i32,
    ref_id2: i32,
    ref_id3: i32,
    ref_id4: i32,
    pad1: [u8; 12],
}

impl ParamDef for MAGIC_PARAM_ST {
    const NAME: &str = "MAGIC_PARAM_ST";
    const INDEX: usize = 52;
}

impl MAGIC_PARAM_ST {
    pub fn yes_no_dialog_message_id(&self) -> i32 {
        self.yes_no_dialog_message_id
    }

    pub fn set_yes_no_dialog_message_id(&mut self, value: i32) {
        self.yes_no_dialog_message_id = value;
    }

    pub fn limit_cancel_sp_effect_id(&self) -> i32 {
        self.limit_cancel_sp_effect_id
    }

    pub fn set_limit_cancel_sp_effect_id(&mut self, value: i32) {
        self.limit_cancel_sp_effect_id = value;
    }

    pub fn sort_id(&self) -> i16 {
        self.sort_id
    }

    pub fn set_sort_id(&mut self, value: i16) {
        self.sort_id = value;
    }

    pub fn requirement_luck(&self) -> u8 {
        self.requirement_luck
    }

    pub fn set_requirement_luck(&mut self, value: u8) {
        self.requirement_luck = value;
    }

    pub fn ai_notify_type(&self) -> u8 {
        self.ai_notify_type
    }

    pub fn set_ai_notify_type(&mut self, value: u8) {
        self.ai_notify_type = value;
    }

    pub fn ref_id_fp_cost1(&self) -> i16 {
        self.ref_id_fp_cost1
    }

    pub fn set_ref_id_fp_cost1(&mut self, value: i16) {
        self.ref_id_fp_cost1 = value;
    }

    pub fn ref_id_sp_cost1(&self) -> i16 {
        self.ref_id_sp_cost1
    }

    pub fn set_ref_id_sp_cost1(&mut self, value: i16) {
        self.ref_id_sp_cost1 = value;
    }

    pub fn icon_id(&self) -> i16 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i16) {
        self.icon_id = value;
    }

    pub fn behavior_id(&self) -> i16 {
        self.behavior_id
    }

    pub fn set_behavior_id(&mut self, value: i16) {
        self.behavior_id = value;
    }

    pub fn mtrl_item_id(&self) -> i16 {
        self.mtrl_item_id
    }

    pub fn set_mtrl_item_id(&mut self, value: i16) {
        self.mtrl_item_id = value;
    }

    pub fn replace_magic_id(&self) -> i16 {
        self.replace_magic_id
    }

    pub fn set_replace_magic_id(&mut self, value: i16) {
        self.replace_magic_id = value;
    }

    pub fn max_quantity(&self) -> i16 {
        self.max_quantity
    }

    pub fn set_max_quantity(&mut self, value: i16) {
        self.max_quantity = value;
    }

    pub fn hero_point(&self) -> u8 {
        self.hero_point
    }

    pub fn set_hero_point(&mut self, value: u8) {
        self.hero_point = value;
    }

    pub fn over_dexterity(&self) -> u8 {
        self.over_dexterity
    }

    pub fn set_over_dexterity(&mut self, value: u8) {
        self.over_dexterity = value;
    }

    pub fn sfx_variation_id(&self) -> u8 {
        self.sfx_variation_id
    }

    pub fn set_sfx_variation_id(&mut self, value: u8) {
        self.sfx_variation_id = value;
    }

    pub fn slot_length(&self) -> u8 {
        self.slot_length
    }

    pub fn set_slot_length(&mut self, value: u8) {
        self.slot_length = value;
    }

    pub fn requirement_intellect(&self) -> u8 {
        self.requirement_intellect
    }

    pub fn set_requirement_intellect(&mut self, value: u8) {
        self.requirement_intellect = value;
    }

    pub fn requirement_faith(&self) -> u8 {
        self.requirement_faith
    }

    pub fn set_requirement_faith(&mut self, value: u8) {
        self.requirement_faith = value;
    }

    pub fn analog_dexterity_min(&self) -> u8 {
        self.analog_dexterity_min
    }

    pub fn set_analog_dexterity_min(&mut self, value: u8) {
        self.analog_dexterity_min = value;
    }

    pub fn analog_dexterity_max(&self) -> u8 {
        self.analog_dexterity_max
    }

    pub fn set_analog_dexterity_max(&mut self, value: u8) {
        self.analog_dexterity_max = value;
    }

    pub fn ez_state_behavior_type(&self) -> u8 {
        self.ez_state_behavior_type
    }

    pub fn set_ez_state_behavior_type(&mut self, value: u8) {
        self.ez_state_behavior_type = value;
    }

    pub fn ref_category1(&self) -> u8 {
        self.ref_category1
    }

    pub fn set_ref_category1(&mut self, value: u8) {
        self.ref_category1 = value;
    }

    pub fn sp_effect_category(&self) -> u8 {
        self.sp_effect_category
    }

    pub fn set_sp_effect_category(&mut self, value: u8) {
        self.sp_effect_category = value;
    }

    pub fn ref_type(&self) -> u8 {
        self.ref_type
    }

    pub fn set_ref_type(&mut self, value: u8) {
        self.ref_type = value;
    }

    pub fn menu_type(&self) -> u8 {
        self.menu_type
    }

    pub fn set_menu_type(&mut self, value: u8) {
        self.menu_type = value;
    }

    pub fn ref_category4(&self) -> u8 {
        self.ref_category4
    }

    pub fn set_ref_category4(&mut self, value: u8) {
        self.ref_category4 = value;
    }

    pub fn has_sp_effect_type(&self) -> i16 {
        self.has_sp_effect_type
    }

    pub fn set_has_sp_effect_type(&mut self, value: i16) {
        self.has_sp_effect_type = value;
    }

    #[allow(clippy::identity_op)]
    pub fn spellchange1(&self) -> u8 {
        (self.bits_2a >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_spellchange1(&mut self, value: u8) {
        self.bits_2a = (self.bits_2a & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn spellchange2(&self) -> u8 {
        (self.bits_2a >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_spellchange2(&mut self, value: u8) {
        self.bits_2a = (self.bits_2a & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_multi(&self) -> u8 {
        (self.bits_2b >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_multi(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_mult_only(&self) -> u8 {
        (self.bits_2b >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_mult_only(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enchant(&self) -> u8 {
        (self.bits_2b >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enchant(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_shield_enchant(&self) -> u8 {
        (self.bits_2b >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_shield_enchant(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_live(&self) -> u8 {
        (self.bits_2b >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_live(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_gray(&self) -> u8 {
        (self.bits_2b >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_gray(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_white(&self) -> u8 {
        (self.bits_2b >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_white(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_black(&self) -> u8 {
        (self.bits_2b >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_black(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_offline(&self) -> u8 {
        (self.bits_2c >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_offline(&mut self, value: u8) {
        self.bits_2c = (self.bits_2c & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type1(&self) -> u8 {
        (self.bits_2c >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type1(&mut self, value: u8) {
        self.bits_2c = (self.bits_2c & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type2(&self) -> u8 {
        (self.bits_2c >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type2(&mut self, value: u8) {
        self.bits_2c = (self.bits_2c & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type3(&self) -> u8 {
        (self.bits_2c >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type3(&mut self, value: u8) {
        self.bits_2c = (self.bits_2c & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type4(&self) -> u8 {
        (self.bits_2c >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type4(&mut self, value: u8) {
        self.bits_2c = (self.bits_2c & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type5(&self) -> u8 {
        (self.bits_2c >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type5(&mut self, value: u8) {
        self.bits_2c = (self.bits_2c & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type6(&self) -> u8 {
        (self.bits_2c >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type6(&mut self, value: u8) {
        self.bits_2c = (self.bits_2c & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type7(&self) -> u8 {
        (self.bits_2c >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type7(&mut self, value: u8) {
        self.bits_2c = (self.bits_2c & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type8(&self) -> u8 {
        (self.bits_2d >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type8(&mut self, value: u8) {
        self.bits_2d = (self.bits_2d & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type9(&self) -> u8 {
        (self.bits_2d >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type9(&mut self, value: u8) {
        self.bits_2d = (self.bits_2d & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type10(&self) -> u8 {
        (self.bits_2d >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type10(&mut self, value: u8) {
        self.bits_2d = (self.bits_2d & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type11(&self) -> u8 {
        (self.bits_2d >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type11(&mut self, value: u8) {
        self.bits_2d = (self.bits_2d & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type12(&self) -> u8 {
        (self.bits_2d >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type12(&mut self, value: u8) {
        self.bits_2d = (self.bits_2d & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type13(&self) -> u8 {
        (self.bits_2d >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type13(&mut self, value: u8) {
        self.bits_2d = (self.bits_2d & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type14(&self) -> u8 {
        (self.bits_2d >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type14(&mut self, value: u8) {
        self.bits_2d = (self.bits_2d & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type15(&self) -> u8 {
        (self.bits_2d >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type15(&mut self, value: u8) {
        self.bits_2d = (self.bits_2d & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn cast_sfx1(&self) -> i32 {
        self.cast_sfx1
    }

    pub fn set_cast_sfx1(&mut self, value: i32) {
        self.cast_sfx1 = value;
    }

    pub fn cast_sfx2(&self) -> i32 {
        self.cast_sfx2
    }

    pub fn set_cast_sfx2(&mut self, value: i32) {
        self.cast_sfx2 = value;
    }

    pub fn cast_sfx3(&self) -> i32 {
        self.cast_sfx3
    }

    pub fn set_cast_sfx3(&mut self, value: i32) {
        self.cast_sfx3 = value;
    }

    pub fn toughness_correct_rate(&self) -> i32 {
        self.toughness_correct_rate
    }

    pub fn set_toughness_correct_rate(&mut self, value: i32) {
        self.toughness_correct_rate = value;
    }

    pub fn replacement_status_type(&self) -> u8 {
        self.replacement_status_type
    }

    pub fn set_replacement_status_type(&mut self, value: u8) {
        self.replacement_status_type = value;
    }

    pub fn replacement_status1(&self) -> i8 {
        self.replacement_status1
    }

    pub fn set_replacement_status1(&mut self, value: i8) {
        self.replacement_status1 = value;
    }

    pub fn replacement_status2(&self) -> i8 {
        self.replacement_status2
    }

    pub fn set_replacement_status2(&mut self, value: i8) {
        self.replacement_status2 = value;
    }

    pub fn replacement_status3(&self) -> i8 {
        self.replacement_status3
    }

    pub fn set_replacement_status3(&mut self, value: i8) {
        self.replacement_status3 = value;
    }

    pub fn replacement_status4(&self) -> i8 {
        self.replacement_status4
    }

    pub fn set_replacement_status4(&mut self, value: i8) {
        self.replacement_status4 = value;
    }

    pub fn ref_category2(&self) -> u8 {
        self.ref_category2
    }

    pub fn set_ref_category2(&mut self, value: u8) {
        self.ref_category2 = value;
    }

    pub fn ref_id_sp_cost4(&self) -> i16 {
        self.ref_id_sp_cost4
    }

    pub fn set_ref_id_sp_cost4(&mut self, value: i16) {
        self.ref_id_sp_cost4 = value;
    }

    pub fn magic_id0(&self) -> i32 {
        self.magic_id0
    }

    pub fn set_magic_id0(&mut self, value: i32) {
        self.magic_id0 = value;
    }

    pub fn magic_id1(&self) -> i32 {
        self.magic_id1
    }

    pub fn set_magic_id1(&mut self, value: i32) {
        self.magic_id1 = value;
    }

    pub fn magic_id2(&self) -> i32 {
        self.magic_id2
    }

    pub fn set_magic_id2(&mut self, value: i32) {
        self.magic_id2 = value;
    }

    pub fn magic_id3(&self) -> i32 {
        self.magic_id3
    }

    pub fn set_magic_id3(&mut self, value: i32) {
        self.magic_id3 = value;
    }

    pub fn ref_id_fp_cost2(&self) -> i16 {
        self.ref_id_fp_cost2
    }

    pub fn set_ref_id_fp_cost2(&mut self, value: i16) {
        self.ref_id_fp_cost2 = value;
    }

    pub fn ref_id_sp_cost2(&self) -> i16 {
        self.ref_id_sp_cost2
    }

    pub fn set_ref_id_sp_cost2(&mut self, value: i16) {
        self.ref_id_sp_cost2 = value;
    }

    pub fn ref_category3(&self) -> u8 {
        self.ref_category3
    }

    pub fn set_ref_category3(&mut self, value: u8) {
        self.ref_category3 = value;
    }

    pub fn ref_id_fp_cost4(&self) -> i16 {
        self.ref_id_fp_cost4
    }

    pub fn set_ref_id_fp_cost4(&mut self, value: i16) {
        self.ref_id_fp_cost4 = value;
    }

    pub fn ref_id_fp_cost3(&self) -> i16 {
        self.ref_id_fp_cost3
    }

    pub fn set_ref_id_fp_cost3(&mut self, value: i16) {
        self.ref_id_fp_cost3 = value;
    }

    pub fn ref_id_sp_cost3(&self) -> i16 {
        self.ref_id_sp_cost3
    }

    pub fn set_ref_id_sp_cost3(&mut self, value: i16) {
        self.ref_id_sp_cost3 = value;
    }

    pub fn ref_id1(&self) -> i32 {
        self.ref_id1
    }

    pub fn set_ref_id1(&mut self, value: i32) {
        self.ref_id1 = value;
    }

    pub fn ref_id2(&self) -> i32 {
        self.ref_id2
    }

    pub fn set_ref_id2(&mut self, value: i32) {
        self.ref_id2 = value;
    }

    pub fn ref_id3(&self) -> i32 {
        self.ref_id3
    }

    pub fn set_ref_id3(&mut self, value: i32) {
        self.ref_id3 = value;
    }

    pub fn ref_id4(&self) -> i32 {
        self.ref_id4
    }

    pub fn set_ref_id4(&mut self, value: i32) {
        self.ref_id4 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAP_MIMICRY_ESTABLISHMENT_PARAM_ST {
    mimicry_establishment0: f32,
    mimicry_establishment1: f32,
    mimicry_establishment2: f32,
    mimicry_begin_sfx_id0: i32,
    mimicry_sfx_id0: i32,
    mimicry_end_sfx_id0: i32,
    mimicry_begin_sfx_id1: i32,
    mimicry_sfx_id1: i32,
    mimicry_end_sfx_id1: i32,
    mimicry_begin_sfx_id2: i32,
    mimicry_sfx_id2: i32,
    mimicry_end_sfx_id2: i32,
    pad1: [u8; 16],
}

impl ParamDef for MAP_MIMICRY_ESTABLISHMENT_PARAM_ST {
    const NAME: &str = "MAP_MIMICRY_ESTABLISHMENT_PARAM_ST";
    const INDEX: usize = 53;
}

impl MAP_MIMICRY_ESTABLISHMENT_PARAM_ST {
    pub fn mimicry_establishment0(&self) -> f32 {
        self.mimicry_establishment0
    }

    pub fn set_mimicry_establishment0(&mut self, value: f32) {
        self.mimicry_establishment0 = value;
    }

    pub fn mimicry_establishment1(&self) -> f32 {
        self.mimicry_establishment1
    }

    pub fn set_mimicry_establishment1(&mut self, value: f32) {
        self.mimicry_establishment1 = value;
    }

    pub fn mimicry_establishment2(&self) -> f32 {
        self.mimicry_establishment2
    }

    pub fn set_mimicry_establishment2(&mut self, value: f32) {
        self.mimicry_establishment2 = value;
    }

    pub fn mimicry_begin_sfx_id0(&self) -> i32 {
        self.mimicry_begin_sfx_id0
    }

    pub fn set_mimicry_begin_sfx_id0(&mut self, value: i32) {
        self.mimicry_begin_sfx_id0 = value;
    }

    pub fn mimicry_sfx_id0(&self) -> i32 {
        self.mimicry_sfx_id0
    }

    pub fn set_mimicry_sfx_id0(&mut self, value: i32) {
        self.mimicry_sfx_id0 = value;
    }

    pub fn mimicry_end_sfx_id0(&self) -> i32 {
        self.mimicry_end_sfx_id0
    }

    pub fn set_mimicry_end_sfx_id0(&mut self, value: i32) {
        self.mimicry_end_sfx_id0 = value;
    }

    pub fn mimicry_begin_sfx_id1(&self) -> i32 {
        self.mimicry_begin_sfx_id1
    }

    pub fn set_mimicry_begin_sfx_id1(&mut self, value: i32) {
        self.mimicry_begin_sfx_id1 = value;
    }

    pub fn mimicry_sfx_id1(&self) -> i32 {
        self.mimicry_sfx_id1
    }

    pub fn set_mimicry_sfx_id1(&mut self, value: i32) {
        self.mimicry_sfx_id1 = value;
    }

    pub fn mimicry_end_sfx_id1(&self) -> i32 {
        self.mimicry_end_sfx_id1
    }

    pub fn set_mimicry_end_sfx_id1(&mut self, value: i32) {
        self.mimicry_end_sfx_id1 = value;
    }

    pub fn mimicry_begin_sfx_id2(&self) -> i32 {
        self.mimicry_begin_sfx_id2
    }

    pub fn set_mimicry_begin_sfx_id2(&mut self, value: i32) {
        self.mimicry_begin_sfx_id2 = value;
    }

    pub fn mimicry_sfx_id2(&self) -> i32 {
        self.mimicry_sfx_id2
    }

    pub fn set_mimicry_sfx_id2(&mut self, value: i32) {
        self.mimicry_sfx_id2 = value;
    }

    pub fn mimicry_end_sfx_id2(&self) -> i32 {
        self.mimicry_end_sfx_id2
    }

    pub fn set_mimicry_end_sfx_id2(&mut self, value: i32) {
        self.mimicry_end_sfx_id2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MENUPROPERTY_LAYOUT {
    layout_path: [u8; 16],
    property_id: i32,
    caption_text_id: i32,
    help_text_id: i32,
    pad1: [u8; 4],
}

impl ParamDef for MENUPROPERTY_LAYOUT {
    const NAME: &str = "MENUPROPERTY_LAYOUT";
    const INDEX: usize = 55;
}

impl MENUPROPERTY_LAYOUT {
    pub fn layout_path(&self) -> &[u8; 16] {
        &self.layout_path
    }

    pub fn set_layout_path(&mut self, value: [u8; 16]) {
        self.layout_path = value;
    }

    pub fn property_id(&self) -> i32 {
        self.property_id
    }

    pub fn set_property_id(&mut self, value: i32) {
        self.property_id = value;
    }

    pub fn caption_text_id(&self) -> i32 {
        self.caption_text_id
    }

    pub fn set_caption_text_id(&mut self, value: i32) {
        self.caption_text_id = value;
    }

    pub fn help_text_id(&self) -> i32 {
        self.help_text_id
    }

    pub fn set_help_text_id(&mut self, value: i32) {
        self.help_text_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MENUPROPERTY_SPEC {
    caption_text_id: i32,
    icon_id: i32,
    required_property_id: i32,
    compare_type: u8,
    required_property_format_id: u8,
    adhoc_caption: [u16; 9],
}

impl ParamDef for MENUPROPERTY_SPEC {
    const NAME: &str = "MENUPROPERTY_SPEC";
    const INDEX: usize = 56;
}

impl MENUPROPERTY_SPEC {
    pub fn caption_text_id(&self) -> i32 {
        self.caption_text_id
    }

    pub fn set_caption_text_id(&mut self, value: i32) {
        self.caption_text_id = value;
    }

    pub fn icon_id(&self) -> i32 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i32) {
        self.icon_id = value;
    }

    pub fn required_property_id(&self) -> i32 {
        self.required_property_id
    }

    pub fn set_required_property_id(&mut self, value: i32) {
        self.required_property_id = value;
    }

    pub fn compare_type(&self) -> u8 {
        self.compare_type
    }

    pub fn set_compare_type(&mut self, value: u8) {
        self.compare_type = value;
    }

    pub fn required_property_format_id(&self) -> u8 {
        self.required_property_format_id
    }

    pub fn set_required_property_format_id(&mut self, value: u8) {
        self.required_property_format_id = value;
    }

    pub fn adhoc_caption(&self) -> &[u16; 9] {
        &self.adhoc_caption
    }

    pub fn set_adhoc_caption(&mut self, value: [u16; 9]) {
        self.adhoc_caption = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MENU_OFFSCR_REND_PARAM_ST {
    cam_at_pos_x: f32,
    cam_at_pos_y: f32,
    cam_at_pos_z: f32,
    cam_dist: f32,
    cam_rot_x: f32,
    cam_rot_y: f32,
    cam_fov: f32,
    cam_dist_min: f32,
    cam_dist_max: f32,
    cam_rot_x_min: f32,
    cam_rot_x_max: f32,
    gparam_id: u32,
    pad2: [u8; 16],
}

impl ParamDef for MENU_OFFSCR_REND_PARAM_ST {
    const NAME: &str = "MENU_OFFSCR_REND_PARAM_ST";
    const INDEX: usize = 54;
}

impl MENU_OFFSCR_REND_PARAM_ST {
    pub fn cam_at_pos_x(&self) -> f32 {
        self.cam_at_pos_x
    }

    pub fn set_cam_at_pos_x(&mut self, value: f32) {
        self.cam_at_pos_x = value;
    }

    pub fn cam_at_pos_y(&self) -> f32 {
        self.cam_at_pos_y
    }

    pub fn set_cam_at_pos_y(&mut self, value: f32) {
        self.cam_at_pos_y = value;
    }

    pub fn cam_at_pos_z(&self) -> f32 {
        self.cam_at_pos_z
    }

    pub fn set_cam_at_pos_z(&mut self, value: f32) {
        self.cam_at_pos_z = value;
    }

    pub fn cam_dist(&self) -> f32 {
        self.cam_dist
    }

    pub fn set_cam_dist(&mut self, value: f32) {
        self.cam_dist = value;
    }

    pub fn cam_rot_x(&self) -> f32 {
        self.cam_rot_x
    }

    pub fn set_cam_rot_x(&mut self, value: f32) {
        self.cam_rot_x = value;
    }

    pub fn cam_rot_y(&self) -> f32 {
        self.cam_rot_y
    }

    pub fn set_cam_rot_y(&mut self, value: f32) {
        self.cam_rot_y = value;
    }

    pub fn cam_fov(&self) -> f32 {
        self.cam_fov
    }

    pub fn set_cam_fov(&mut self, value: f32) {
        self.cam_fov = value;
    }

    pub fn cam_dist_min(&self) -> f32 {
        self.cam_dist_min
    }

    pub fn set_cam_dist_min(&mut self, value: f32) {
        self.cam_dist_min = value;
    }

    pub fn cam_dist_max(&self) -> f32 {
        self.cam_dist_max
    }

    pub fn set_cam_dist_max(&mut self, value: f32) {
        self.cam_dist_max = value;
    }

    pub fn cam_rot_x_min(&self) -> f32 {
        self.cam_rot_x_min
    }

    pub fn set_cam_rot_x_min(&mut self, value: f32) {
        self.cam_rot_x_min = value;
    }

    pub fn cam_rot_x_max(&self) -> f32 {
        self.cam_rot_x_max
    }

    pub fn set_cam_rot_x_max(&mut self, value: f32) {
        self.cam_rot_x_max = value;
    }

    pub fn gparam_id(&self) -> u32 {
        self.gparam_id
    }

    pub fn set_gparam_id(&mut self, value: u32) {
        self.gparam_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MENU_PARAM_COLOR_TABLE_ST {
    color_r: u8,
    color_g: u8,
    color_b: u8,
    color_a: u8,
}

impl ParamDef for MENU_PARAM_COLOR_TABLE_ST {
    const NAME: &str = "MENU_PARAM_COLOR_TABLE_ST";
    const INDEX: usize = 68;
}

impl MENU_PARAM_COLOR_TABLE_ST {
    pub fn color_r(&self) -> u8 {
        self.color_r
    }

    pub fn set_color_r(&mut self, value: u8) {
        self.color_r = value;
    }

    pub fn color_g(&self) -> u8 {
        self.color_g
    }

    pub fn set_color_g(&mut self, value: u8) {
        self.color_g = value;
    }

    pub fn color_b(&self) -> u8 {
        self.color_b
    }

    pub fn set_color_b(&mut self, value: u8) {
        self.color_b = value;
    }

    pub fn color_a(&self) -> u8 {
        self.color_a
    }

    pub fn set_color_a(&mut self, value: u8) {
        self.color_a = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MENU_VALUE_TABLE_SPEC {
    value: i32,
    text_id: i32,
    compare_type: u8,
    pad1: [u8; 3],
}

impl ParamDef for MENU_VALUE_TABLE_SPEC {
    const NAME: &str = "MENU_VALUE_TABLE_SPEC";
    const INDEX: usize = 57;
}

impl MENU_VALUE_TABLE_SPEC {
    pub fn value(&self) -> i32 {
        self.value
    }

    pub fn set_value(&mut self, value: i32) {
        self.value = value;
    }

    pub fn text_id(&self) -> i32 {
        self.text_id
    }

    pub fn set_text_id(&mut self, value: i32) {
        self.text_id = value;
    }

    pub fn compare_type(&self) -> u8 {
        self.compare_type
    }

    pub fn set_compare_type(&mut self, value: u8) {
        self.compare_type = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MODEL_SFX_PARAM_ST {
    sfx_id_0: i32,
    dmypoly_id_0: i32,
    reserve_0: [u8; 8],
    sfx_id_1: i32,
    dmypoly_id_1: i32,
    reserve_1: [u8; 8],
    sfx_id_2: i32,
    dmypoly_id_2: i32,
    reserve_2: [u8; 8],
    sfx_id_3: i32,
    dmypoly_id_3: i32,
    reserve_3: [u8; 8],
    sfx_id_4: i32,
    dmypoly_id_4: i32,
    reserve_4: [u8; 8],
    sfx_id_5: i32,
    dmypoly_id_5: i32,
    reserve_5: [u8; 8],
    sfx_id_6: i32,
    dmypoly_id_6: i32,
    reserve_6: [u8; 8],
    sfx_id_7: i32,
    dmypoly_id_7: i32,
    reserve_7: [u8; 8],
}

impl ParamDef for MODEL_SFX_PARAM_ST {
    const NAME: &str = "MODEL_SFX_PARAM_ST";
    const INDEX: usize = 58;
}

impl MODEL_SFX_PARAM_ST {
    pub fn sfx_id_0(&self) -> i32 {
        self.sfx_id_0
    }

    pub fn set_sfx_id_0(&mut self, value: i32) {
        self.sfx_id_0 = value;
    }

    pub fn dmypoly_id_0(&self) -> i32 {
        self.dmypoly_id_0
    }

    pub fn set_dmypoly_id_0(&mut self, value: i32) {
        self.dmypoly_id_0 = value;
    }

    pub fn sfx_id_1(&self) -> i32 {
        self.sfx_id_1
    }

    pub fn set_sfx_id_1(&mut self, value: i32) {
        self.sfx_id_1 = value;
    }

    pub fn dmypoly_id_1(&self) -> i32 {
        self.dmypoly_id_1
    }

    pub fn set_dmypoly_id_1(&mut self, value: i32) {
        self.dmypoly_id_1 = value;
    }

    pub fn sfx_id_2(&self) -> i32 {
        self.sfx_id_2
    }

    pub fn set_sfx_id_2(&mut self, value: i32) {
        self.sfx_id_2 = value;
    }

    pub fn dmypoly_id_2(&self) -> i32 {
        self.dmypoly_id_2
    }

    pub fn set_dmypoly_id_2(&mut self, value: i32) {
        self.dmypoly_id_2 = value;
    }

    pub fn sfx_id_3(&self) -> i32 {
        self.sfx_id_3
    }

    pub fn set_sfx_id_3(&mut self, value: i32) {
        self.sfx_id_3 = value;
    }

    pub fn dmypoly_id_3(&self) -> i32 {
        self.dmypoly_id_3
    }

    pub fn set_dmypoly_id_3(&mut self, value: i32) {
        self.dmypoly_id_3 = value;
    }

    pub fn sfx_id_4(&self) -> i32 {
        self.sfx_id_4
    }

    pub fn set_sfx_id_4(&mut self, value: i32) {
        self.sfx_id_4 = value;
    }

    pub fn dmypoly_id_4(&self) -> i32 {
        self.dmypoly_id_4
    }

    pub fn set_dmypoly_id_4(&mut self, value: i32) {
        self.dmypoly_id_4 = value;
    }

    pub fn sfx_id_5(&self) -> i32 {
        self.sfx_id_5
    }

    pub fn set_sfx_id_5(&mut self, value: i32) {
        self.sfx_id_5 = value;
    }

    pub fn dmypoly_id_5(&self) -> i32 {
        self.dmypoly_id_5
    }

    pub fn set_dmypoly_id_5(&mut self, value: i32) {
        self.dmypoly_id_5 = value;
    }

    pub fn sfx_id_6(&self) -> i32 {
        self.sfx_id_6
    }

    pub fn set_sfx_id_6(&mut self, value: i32) {
        self.sfx_id_6 = value;
    }

    pub fn dmypoly_id_6(&self) -> i32 {
        self.dmypoly_id_6
    }

    pub fn set_dmypoly_id_6(&mut self, value: i32) {
        self.dmypoly_id_6 = value;
    }

    pub fn sfx_id_7(&self) -> i32 {
        self.sfx_id_7
    }

    pub fn set_sfx_id_7(&mut self, value: i32) {
        self.sfx_id_7 = value;
    }

    pub fn dmypoly_id_7(&self) -> i32 {
        self.dmypoly_id_7
    }

    pub fn set_dmypoly_id_7(&mut self, value: i32) {
        self.dmypoly_id_7 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MOVE_PARAM_ST {
    stay_id: i32,
    walk_f: i32,
    walk_b: i32,
    walk_l: i32,
    walk_r: i32,
    dash_f: i32,
    dash_b: i32,
    dash_l: i32,
    dash_r: i32,
    super_dash: i32,
    escape_f: i32,
    escape_b: i32,
    escape_l: i32,
    escape_r: i32,
    turn_l: i32,
    trun_r: i32,
    large_turn_l: i32,
    large_turn_r: i32,
    step_move: i32,
    fly_stay: i32,
    fly_walk_f: i32,
    fly_walk_fl: i32,
    fly_walk_fr: i32,
    fly_walk_fl2: i32,
    fly_walk_fr2: i32,
    fly_dash_f: i32,
    fly_dash_fl: i32,
    fly_dash_fr: i32,
    fly_dash_fl2: i32,
    fly_dash_fr2: i32,
    dash_escape_f: i32,
    dash_escape_b: i32,
    dash_escape_l: i32,
    dash_escape_r: i32,
    analog_move_param_id: i32,
    turn_no_anim_angle: u8,
    turn45_angle: u8,
    turn90_angle: u8,
    turn_wait_no_anim_angle: u8,
}

impl ParamDef for MOVE_PARAM_ST {
    const NAME: &str = "MOVE_PARAM_ST";
    const INDEX: usize = 59;
}

impl MOVE_PARAM_ST {
    pub fn stay_id(&self) -> i32 {
        self.stay_id
    }

    pub fn set_stay_id(&mut self, value: i32) {
        self.stay_id = value;
    }

    pub fn walk_f(&self) -> i32 {
        self.walk_f
    }

    pub fn set_walk_f(&mut self, value: i32) {
        self.walk_f = value;
    }

    pub fn walk_b(&self) -> i32 {
        self.walk_b
    }

    pub fn set_walk_b(&mut self, value: i32) {
        self.walk_b = value;
    }

    pub fn walk_l(&self) -> i32 {
        self.walk_l
    }

    pub fn set_walk_l(&mut self, value: i32) {
        self.walk_l = value;
    }

    pub fn walk_r(&self) -> i32 {
        self.walk_r
    }

    pub fn set_walk_r(&mut self, value: i32) {
        self.walk_r = value;
    }

    pub fn dash_f(&self) -> i32 {
        self.dash_f
    }

    pub fn set_dash_f(&mut self, value: i32) {
        self.dash_f = value;
    }

    pub fn dash_b(&self) -> i32 {
        self.dash_b
    }

    pub fn set_dash_b(&mut self, value: i32) {
        self.dash_b = value;
    }

    pub fn dash_l(&self) -> i32 {
        self.dash_l
    }

    pub fn set_dash_l(&mut self, value: i32) {
        self.dash_l = value;
    }

    pub fn dash_r(&self) -> i32 {
        self.dash_r
    }

    pub fn set_dash_r(&mut self, value: i32) {
        self.dash_r = value;
    }

    pub fn super_dash(&self) -> i32 {
        self.super_dash
    }

    pub fn set_super_dash(&mut self, value: i32) {
        self.super_dash = value;
    }

    pub fn escape_f(&self) -> i32 {
        self.escape_f
    }

    pub fn set_escape_f(&mut self, value: i32) {
        self.escape_f = value;
    }

    pub fn escape_b(&self) -> i32 {
        self.escape_b
    }

    pub fn set_escape_b(&mut self, value: i32) {
        self.escape_b = value;
    }

    pub fn escape_l(&self) -> i32 {
        self.escape_l
    }

    pub fn set_escape_l(&mut self, value: i32) {
        self.escape_l = value;
    }

    pub fn escape_r(&self) -> i32 {
        self.escape_r
    }

    pub fn set_escape_r(&mut self, value: i32) {
        self.escape_r = value;
    }

    pub fn turn_l(&self) -> i32 {
        self.turn_l
    }

    pub fn set_turn_l(&mut self, value: i32) {
        self.turn_l = value;
    }

    pub fn trun_r(&self) -> i32 {
        self.trun_r
    }

    pub fn set_trun_r(&mut self, value: i32) {
        self.trun_r = value;
    }

    pub fn large_turn_l(&self) -> i32 {
        self.large_turn_l
    }

    pub fn set_large_turn_l(&mut self, value: i32) {
        self.large_turn_l = value;
    }

    pub fn large_turn_r(&self) -> i32 {
        self.large_turn_r
    }

    pub fn set_large_turn_r(&mut self, value: i32) {
        self.large_turn_r = value;
    }

    pub fn step_move(&self) -> i32 {
        self.step_move
    }

    pub fn set_step_move(&mut self, value: i32) {
        self.step_move = value;
    }

    pub fn fly_stay(&self) -> i32 {
        self.fly_stay
    }

    pub fn set_fly_stay(&mut self, value: i32) {
        self.fly_stay = value;
    }

    pub fn fly_walk_f(&self) -> i32 {
        self.fly_walk_f
    }

    pub fn set_fly_walk_f(&mut self, value: i32) {
        self.fly_walk_f = value;
    }

    pub fn fly_walk_fl(&self) -> i32 {
        self.fly_walk_fl
    }

    pub fn set_fly_walk_fl(&mut self, value: i32) {
        self.fly_walk_fl = value;
    }

    pub fn fly_walk_fr(&self) -> i32 {
        self.fly_walk_fr
    }

    pub fn set_fly_walk_fr(&mut self, value: i32) {
        self.fly_walk_fr = value;
    }

    pub fn fly_walk_fl2(&self) -> i32 {
        self.fly_walk_fl2
    }

    pub fn set_fly_walk_fl2(&mut self, value: i32) {
        self.fly_walk_fl2 = value;
    }

    pub fn fly_walk_fr2(&self) -> i32 {
        self.fly_walk_fr2
    }

    pub fn set_fly_walk_fr2(&mut self, value: i32) {
        self.fly_walk_fr2 = value;
    }

    pub fn fly_dash_f(&self) -> i32 {
        self.fly_dash_f
    }

    pub fn set_fly_dash_f(&mut self, value: i32) {
        self.fly_dash_f = value;
    }

    pub fn fly_dash_fl(&self) -> i32 {
        self.fly_dash_fl
    }

    pub fn set_fly_dash_fl(&mut self, value: i32) {
        self.fly_dash_fl = value;
    }

    pub fn fly_dash_fr(&self) -> i32 {
        self.fly_dash_fr
    }

    pub fn set_fly_dash_fr(&mut self, value: i32) {
        self.fly_dash_fr = value;
    }

    pub fn fly_dash_fl2(&self) -> i32 {
        self.fly_dash_fl2
    }

    pub fn set_fly_dash_fl2(&mut self, value: i32) {
        self.fly_dash_fl2 = value;
    }

    pub fn fly_dash_fr2(&self) -> i32 {
        self.fly_dash_fr2
    }

    pub fn set_fly_dash_fr2(&mut self, value: i32) {
        self.fly_dash_fr2 = value;
    }

    pub fn dash_escape_f(&self) -> i32 {
        self.dash_escape_f
    }

    pub fn set_dash_escape_f(&mut self, value: i32) {
        self.dash_escape_f = value;
    }

    pub fn dash_escape_b(&self) -> i32 {
        self.dash_escape_b
    }

    pub fn set_dash_escape_b(&mut self, value: i32) {
        self.dash_escape_b = value;
    }

    pub fn dash_escape_l(&self) -> i32 {
        self.dash_escape_l
    }

    pub fn set_dash_escape_l(&mut self, value: i32) {
        self.dash_escape_l = value;
    }

    pub fn dash_escape_r(&self) -> i32 {
        self.dash_escape_r
    }

    pub fn set_dash_escape_r(&mut self, value: i32) {
        self.dash_escape_r = value;
    }

    pub fn analog_move_param_id(&self) -> i32 {
        self.analog_move_param_id
    }

    pub fn set_analog_move_param_id(&mut self, value: i32) {
        self.analog_move_param_id = value;
    }

    pub fn turn_no_anim_angle(&self) -> u8 {
        self.turn_no_anim_angle
    }

    pub fn set_turn_no_anim_angle(&mut self, value: u8) {
        self.turn_no_anim_angle = value;
    }

    pub fn turn45_angle(&self) -> u8 {
        self.turn45_angle
    }

    pub fn set_turn45_angle(&mut self, value: u8) {
        self.turn45_angle = value;
    }

    pub fn turn90_angle(&self) -> u8 {
        self.turn90_angle
    }

    pub fn set_turn90_angle(&mut self, value: u8) {
        self.turn90_angle = value;
    }

    pub fn turn_wait_no_anim_angle(&self) -> u8 {
        self.turn_wait_no_anim_angle
    }

    pub fn set_turn_wait_no_anim_angle(&mut self, value: u8) {
        self.turn_wait_no_anim_angle = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MULTI_ESTUS_FLASK_BONUS_PARAM_ST {
    host: u8,
    white_ghost_none: u8,
    white_ghost_umbasa: u8,
    white_ghost_berserker: u8,
    black_ghost_none_sign: u8,
    black_ghost_umbasa_sign: u8,
    black_ghost_berserker_sign: u8,
    black_ghost_none_invade: u8,
    black_ghost_umbasa_invade: u8,
    black_ghost_berserker_invade: u8,
    red_hunter1: u8,
    red_hunter2: u8,
    guardian_of_forest: u8,
    guardian_of_anor: u8,
    battle_royal: u8,
    yellow_monk: u8,
    pad4: [u8; 4],
}

impl ParamDef for MULTI_ESTUS_FLASK_BONUS_PARAM_ST {
    const NAME: &str = "MULTI_ESTUS_FLASK_BONUS_PARAM_ST";
    const INDEX: usize = 61;
}

impl MULTI_ESTUS_FLASK_BONUS_PARAM_ST {
    pub fn host(&self) -> u8 {
        self.host
    }

    pub fn set_host(&mut self, value: u8) {
        self.host = value;
    }

    pub fn white_ghost_none(&self) -> u8 {
        self.white_ghost_none
    }

    pub fn set_white_ghost_none(&mut self, value: u8) {
        self.white_ghost_none = value;
    }

    pub fn white_ghost_umbasa(&self) -> u8 {
        self.white_ghost_umbasa
    }

    pub fn set_white_ghost_umbasa(&mut self, value: u8) {
        self.white_ghost_umbasa = value;
    }

    pub fn white_ghost_berserker(&self) -> u8 {
        self.white_ghost_berserker
    }

    pub fn set_white_ghost_berserker(&mut self, value: u8) {
        self.white_ghost_berserker = value;
    }

    pub fn black_ghost_none_sign(&self) -> u8 {
        self.black_ghost_none_sign
    }

    pub fn set_black_ghost_none_sign(&mut self, value: u8) {
        self.black_ghost_none_sign = value;
    }

    pub fn black_ghost_umbasa_sign(&self) -> u8 {
        self.black_ghost_umbasa_sign
    }

    pub fn set_black_ghost_umbasa_sign(&mut self, value: u8) {
        self.black_ghost_umbasa_sign = value;
    }

    pub fn black_ghost_berserker_sign(&self) -> u8 {
        self.black_ghost_berserker_sign
    }

    pub fn set_black_ghost_berserker_sign(&mut self, value: u8) {
        self.black_ghost_berserker_sign = value;
    }

    pub fn black_ghost_none_invade(&self) -> u8 {
        self.black_ghost_none_invade
    }

    pub fn set_black_ghost_none_invade(&mut self, value: u8) {
        self.black_ghost_none_invade = value;
    }

    pub fn black_ghost_umbasa_invade(&self) -> u8 {
        self.black_ghost_umbasa_invade
    }

    pub fn set_black_ghost_umbasa_invade(&mut self, value: u8) {
        self.black_ghost_umbasa_invade = value;
    }

    pub fn black_ghost_berserker_invade(&self) -> u8 {
        self.black_ghost_berserker_invade
    }

    pub fn set_black_ghost_berserker_invade(&mut self, value: u8) {
        self.black_ghost_berserker_invade = value;
    }

    pub fn red_hunter1(&self) -> u8 {
        self.red_hunter1
    }

    pub fn set_red_hunter1(&mut self, value: u8) {
        self.red_hunter1 = value;
    }

    pub fn red_hunter2(&self) -> u8 {
        self.red_hunter2
    }

    pub fn set_red_hunter2(&mut self, value: u8) {
        self.red_hunter2 = value;
    }

    pub fn guardian_of_forest(&self) -> u8 {
        self.guardian_of_forest
    }

    pub fn set_guardian_of_forest(&mut self, value: u8) {
        self.guardian_of_forest = value;
    }

    pub fn guardian_of_anor(&self) -> u8 {
        self.guardian_of_anor
    }

    pub fn set_guardian_of_anor(&mut self, value: u8) {
        self.guardian_of_anor = value;
    }

    pub fn battle_royal(&self) -> u8 {
        self.battle_royal
    }

    pub fn set_battle_royal(&mut self, value: u8) {
        self.battle_royal = value;
    }

    pub fn yellow_monk(&self) -> u8 {
        self.yellow_monk
    }

    pub fn set_yellow_monk(&mut self, value: u8) {
        self.yellow_monk = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MULTI_PLAY_CORRECTION_PARAM_ST {
    client1_sp_effect_id: i32,
    client2_sp_effect_id: i32,
    client3_sp_effect_id: i32,
    b_override_sp_effect: i32,
    pad1: [u8; 16],
}

impl ParamDef for MULTI_PLAY_CORRECTION_PARAM_ST {
    const NAME: &str = "MULTI_PLAY_CORRECTION_PARAM_ST";
    const INDEX: usize = 63;
}

impl MULTI_PLAY_CORRECTION_PARAM_ST {
    pub fn client1_sp_effect_id(&self) -> i32 {
        self.client1_sp_effect_id
    }

    pub fn set_client1_sp_effect_id(&mut self, value: i32) {
        self.client1_sp_effect_id = value;
    }

    pub fn client2_sp_effect_id(&self) -> i32 {
        self.client2_sp_effect_id
    }

    pub fn set_client2_sp_effect_id(&mut self, value: i32) {
        self.client2_sp_effect_id = value;
    }

    pub fn client3_sp_effect_id(&self) -> i32 {
        self.client3_sp_effect_id
    }

    pub fn set_client3_sp_effect_id(&mut self, value: i32) {
        self.client3_sp_effect_id = value;
    }

    pub fn b_override_sp_effect(&self) -> i32 {
        self.b_override_sp_effect
    }

    pub fn set_b_override_sp_effect(&mut self, value: i32) {
        self.b_override_sp_effect = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MULTI_SOUL_BONUS_RATE_PARAM_ST {
    soul_multiplier_rate0: f32,
    soul_multiplier_rate1: f32,
    soul_multiplier_rate2: f32,
    soul_multiplier_rate3: f32,
    soul_multiplier_rate4: f32,
    soul_multiplier_rate5: f32,
    soul_multiplier_rate6: f32,
    soul_multiplier_rate7: f32,
    soul_multiplier_rate8: f32,
    soul_multiplier_rate9: f32,
    soul_multiplier_rate10: f32,
    soul_multiplier_rate11: f32,
    soul_multiplier_rate12: f32,
    soul_multiplier_rate13: f32,
    soul_multiplier_rate14: f32,
    soul_multiplier_rate15: f32,
    pad1: [u8; 4],
}

impl ParamDef for MULTI_SOUL_BONUS_RATE_PARAM_ST {
    const NAME: &str = "MULTI_SOUL_BONUS_RATE_PARAM_ST";
    const INDEX: usize = 64;
}

impl MULTI_SOUL_BONUS_RATE_PARAM_ST {
    pub fn soul_multiplier_rate0(&self) -> f32 {
        self.soul_multiplier_rate0
    }

    pub fn set_soul_multiplier_rate0(&mut self, value: f32) {
        self.soul_multiplier_rate0 = value;
    }

    pub fn soul_multiplier_rate1(&self) -> f32 {
        self.soul_multiplier_rate1
    }

    pub fn set_soul_multiplier_rate1(&mut self, value: f32) {
        self.soul_multiplier_rate1 = value;
    }

    pub fn soul_multiplier_rate2(&self) -> f32 {
        self.soul_multiplier_rate2
    }

    pub fn set_soul_multiplier_rate2(&mut self, value: f32) {
        self.soul_multiplier_rate2 = value;
    }

    pub fn soul_multiplier_rate3(&self) -> f32 {
        self.soul_multiplier_rate3
    }

    pub fn set_soul_multiplier_rate3(&mut self, value: f32) {
        self.soul_multiplier_rate3 = value;
    }

    pub fn soul_multiplier_rate4(&self) -> f32 {
        self.soul_multiplier_rate4
    }

    pub fn set_soul_multiplier_rate4(&mut self, value: f32) {
        self.soul_multiplier_rate4 = value;
    }

    pub fn soul_multiplier_rate5(&self) -> f32 {
        self.soul_multiplier_rate5
    }

    pub fn set_soul_multiplier_rate5(&mut self, value: f32) {
        self.soul_multiplier_rate5 = value;
    }

    pub fn soul_multiplier_rate6(&self) -> f32 {
        self.soul_multiplier_rate6
    }

    pub fn set_soul_multiplier_rate6(&mut self, value: f32) {
        self.soul_multiplier_rate6 = value;
    }

    pub fn soul_multiplier_rate7(&self) -> f32 {
        self.soul_multiplier_rate7
    }

    pub fn set_soul_multiplier_rate7(&mut self, value: f32) {
        self.soul_multiplier_rate7 = value;
    }

    pub fn soul_multiplier_rate8(&self) -> f32 {
        self.soul_multiplier_rate8
    }

    pub fn set_soul_multiplier_rate8(&mut self, value: f32) {
        self.soul_multiplier_rate8 = value;
    }

    pub fn soul_multiplier_rate9(&self) -> f32 {
        self.soul_multiplier_rate9
    }

    pub fn set_soul_multiplier_rate9(&mut self, value: f32) {
        self.soul_multiplier_rate9 = value;
    }

    pub fn soul_multiplier_rate10(&self) -> f32 {
        self.soul_multiplier_rate10
    }

    pub fn set_soul_multiplier_rate10(&mut self, value: f32) {
        self.soul_multiplier_rate10 = value;
    }

    pub fn soul_multiplier_rate11(&self) -> f32 {
        self.soul_multiplier_rate11
    }

    pub fn set_soul_multiplier_rate11(&mut self, value: f32) {
        self.soul_multiplier_rate11 = value;
    }

    pub fn soul_multiplier_rate12(&self) -> f32 {
        self.soul_multiplier_rate12
    }

    pub fn set_soul_multiplier_rate12(&mut self, value: f32) {
        self.soul_multiplier_rate12 = value;
    }

    pub fn soul_multiplier_rate13(&self) -> f32 {
        self.soul_multiplier_rate13
    }

    pub fn set_soul_multiplier_rate13(&mut self, value: f32) {
        self.soul_multiplier_rate13 = value;
    }

    pub fn soul_multiplier_rate14(&self) -> f32 {
        self.soul_multiplier_rate14
    }

    pub fn set_soul_multiplier_rate14(&mut self, value: f32) {
        self.soul_multiplier_rate14 = value;
    }

    pub fn soul_multiplier_rate15(&self) -> f32 {
        self.soul_multiplier_rate15
    }

    pub fn set_soul_multiplier_rate15(&mut self, value: f32) {
        self.soul_multiplier_rate15 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct NETWORK_AREA_PARAM_ST {
    limitation_time0: f32,
    limitation_time1: f32,
    limitation_time2: f32,
    pad1: [u8; 12],
    bits_18: u8,
    pad2: [u8; 3],
}

impl ParamDef for NETWORK_AREA_PARAM_ST {
    const NAME: &str = "NETWORK_AREA_PARAM_ST";
    const INDEX: usize = 65;
}

impl NETWORK_AREA_PARAM_ST {
    pub fn limitation_time0(&self) -> f32 {
        self.limitation_time0
    }

    pub fn set_limitation_time0(&mut self, value: f32) {
        self.limitation_time0 = value;
    }

    pub fn limitation_time1(&self) -> f32 {
        self.limitation_time1
    }

    pub fn set_limitation_time1(&mut self, value: f32) {
        self.limitation_time1 = value;
    }

    pub fn limitation_time2(&self) -> f32 {
        self.limitation_time2
    }

    pub fn set_limitation_time2(&mut self, value: f32) {
        self.limitation_time2 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn enable_bloodstain(&self) -> u8 {
        (self.bits_18 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_bloodstain(&mut self, value: u8) {
        self.bits_18 = (self.bits_18 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_blood_message(&self) -> u8 {
        (self.bits_18 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_blood_message(&mut self, value: u8) {
        self.bits_18 = (self.bits_18 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ghost(&self) -> u8 {
        (self.bits_18 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ghost(&mut self, value: u8) {
        self.bits_18 = (self.bits_18 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_multi_play(&self) -> u8 {
        (self.bits_18 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_multi_play(&mut self, value: u8) {
        self.bits_18 = (self.bits_18 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ring_search(&self) -> u8 {
        (self.bits_18 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ring_search(&mut self, value: u8) {
        self.bits_18 = (self.bits_18 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_break_in_search(&self) -> u8 {
        (self.bits_18 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_break_in_search(&mut self, value: u8) {
        self.bits_18 = (self.bits_18 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct NETWORK_MSG_PARAM_ST {
    msg_type0: u16,
    msg_type2: u8,
    pad2: u8,
    msg_id0: i32,
    msg_id1: i32,
    msg_id2: i32,
    msg_id3: i32,
    msg_id4: i32,
    msg_id5: i32,
    msg_id6: i32,
    msg_id7: i32,
    msg_id8: i32,
    msg_id9: i32,
    msg_id10: i32,
    msg_id11: i32,
    msg_id12: i32,
    msg_id13: i32,
    msg_id14: i32,
    msg_id15: i32,
    msg_id16: i32,
    msg_id17: i32,
    msg_id18: i32,
    msg_id19: i32,
    msg_id20: i32,
    msg_id21: i32,
    msg_id22: i32,
    pad1: [u8; 48],
}

impl ParamDef for NETWORK_MSG_PARAM_ST {
    const NAME: &str = "NETWORK_MSG_PARAM_ST";
    const INDEX: usize = 66;
}

impl NETWORK_MSG_PARAM_ST {
    pub fn msg_type0(&self) -> u16 {
        self.msg_type0
    }

    pub fn set_msg_type0(&mut self, value: u16) {
        self.msg_type0 = value;
    }

    pub fn msg_type2(&self) -> u8 {
        self.msg_type2
    }

    pub fn set_msg_type2(&mut self, value: u8) {
        self.msg_type2 = value;
    }

    pub fn msg_id0(&self) -> i32 {
        self.msg_id0
    }

    pub fn set_msg_id0(&mut self, value: i32) {
        self.msg_id0 = value;
    }

    pub fn msg_id1(&self) -> i32 {
        self.msg_id1
    }

    pub fn set_msg_id1(&mut self, value: i32) {
        self.msg_id1 = value;
    }

    pub fn msg_id2(&self) -> i32 {
        self.msg_id2
    }

    pub fn set_msg_id2(&mut self, value: i32) {
        self.msg_id2 = value;
    }

    pub fn msg_id3(&self) -> i32 {
        self.msg_id3
    }

    pub fn set_msg_id3(&mut self, value: i32) {
        self.msg_id3 = value;
    }

    pub fn msg_id4(&self) -> i32 {
        self.msg_id4
    }

    pub fn set_msg_id4(&mut self, value: i32) {
        self.msg_id4 = value;
    }

    pub fn msg_id5(&self) -> i32 {
        self.msg_id5
    }

    pub fn set_msg_id5(&mut self, value: i32) {
        self.msg_id5 = value;
    }

    pub fn msg_id6(&self) -> i32 {
        self.msg_id6
    }

    pub fn set_msg_id6(&mut self, value: i32) {
        self.msg_id6 = value;
    }

    pub fn msg_id7(&self) -> i32 {
        self.msg_id7
    }

    pub fn set_msg_id7(&mut self, value: i32) {
        self.msg_id7 = value;
    }

    pub fn msg_id8(&self) -> i32 {
        self.msg_id8
    }

    pub fn set_msg_id8(&mut self, value: i32) {
        self.msg_id8 = value;
    }

    pub fn msg_id9(&self) -> i32 {
        self.msg_id9
    }

    pub fn set_msg_id9(&mut self, value: i32) {
        self.msg_id9 = value;
    }

    pub fn msg_id10(&self) -> i32 {
        self.msg_id10
    }

    pub fn set_msg_id10(&mut self, value: i32) {
        self.msg_id10 = value;
    }

    pub fn msg_id11(&self) -> i32 {
        self.msg_id11
    }

    pub fn set_msg_id11(&mut self, value: i32) {
        self.msg_id11 = value;
    }

    pub fn msg_id12(&self) -> i32 {
        self.msg_id12
    }

    pub fn set_msg_id12(&mut self, value: i32) {
        self.msg_id12 = value;
    }

    pub fn msg_id13(&self) -> i32 {
        self.msg_id13
    }

    pub fn set_msg_id13(&mut self, value: i32) {
        self.msg_id13 = value;
    }

    pub fn msg_id14(&self) -> i32 {
        self.msg_id14
    }

    pub fn set_msg_id14(&mut self, value: i32) {
        self.msg_id14 = value;
    }

    pub fn msg_id15(&self) -> i32 {
        self.msg_id15
    }

    pub fn set_msg_id15(&mut self, value: i32) {
        self.msg_id15 = value;
    }

    pub fn msg_id16(&self) -> i32 {
        self.msg_id16
    }

    pub fn set_msg_id16(&mut self, value: i32) {
        self.msg_id16 = value;
    }

    pub fn msg_id17(&self) -> i32 {
        self.msg_id17
    }

    pub fn set_msg_id17(&mut self, value: i32) {
        self.msg_id17 = value;
    }

    pub fn msg_id18(&self) -> i32 {
        self.msg_id18
    }

    pub fn set_msg_id18(&mut self, value: i32) {
        self.msg_id18 = value;
    }

    pub fn msg_id19(&self) -> i32 {
        self.msg_id19
    }

    pub fn set_msg_id19(&mut self, value: i32) {
        self.msg_id19 = value;
    }

    pub fn msg_id20(&self) -> i32 {
        self.msg_id20
    }

    pub fn set_msg_id20(&mut self, value: i32) {
        self.msg_id20 = value;
    }

    pub fn msg_id21(&self) -> i32 {
        self.msg_id21
    }

    pub fn set_msg_id21(&mut self, value: i32) {
        self.msg_id21 = value;
    }

    pub fn msg_id22(&self) -> i32 {
        self.msg_id22
    }

    pub fn set_msg_id22(&mut self, value: i32) {
        self.msg_id22 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct NETWORK_PARAM_ST {
    sign_vertical_offset: f32,
    max_sign_pos_correction_range: f32,
    summon_timeout_time: f32,
    pad_0: [u8; 4],
    sign_puddle_active_message_interval_sec: f32,
    key_guide_height_0: f32,
    reload_sign_interval_time1: f32,
    reload_sign_interval_time2: f32,
    reload_sign_total_count_0: u32,
    reload_sign_cell_count_0: u32,
    update_sign_interval_time: f32,
    basic_exclusive_range_0: f32,
    basic_exclusive_height_0: f32,
    preview_chr_waiting_time: f32,
    sign_visible_range_0: f32,
    cell_group_horizontal_range_0: u32,
    cell_group_top_range_0: u32,
    cell_group_bottom_range_0: u32,
    min_white_phantom_limit_time_scale: f32,
    min_small_phantom_limit_time_scale: f32,
    white_keyword_limit_time_scale: f32,
    small_keyword_limit_time_scale: f32,
    black_keyword_limit_time_scale: f32,
    dragon_keyword_limit_time_scale: f32,
    sing_get_max: u32,
    sign_download_span: f32,
    sign_update_span: f32,
    sign_pad: [u8; 4],
    max_break_in_target_list_count: u32,
    break_in_request_interval_time_sec: f32,
    break_in_request_time_out_sec: f32,
    pad_1: [u8; 4],
    key_guide_range: f32,
    key_guide_height_1: f32,
    reload_sign_total_count_1: u32,
    reload_new_sign_cell_count: u32,
    reload_random_sign_cell_count: u32,
    max_sign_total_count_0: u32,
    max_sign_cell_count_0: u32,
    basic_exclusive_range_1: f32,
    basic_exclusive_height_1: f32,
    sign_visible_range_1: f32,
    max_write_sign_count: u32,
    max_read_sign_count: u32,
    reload_sign_interval_time_0: f32,
    cell_group_horizontal_range_1: u32,
    cell_group_top_range_1: u32,
    cell_group_bottom_range_1: u32,
    life_time_0: u32,
    download_span_0: f32,
    download_evaluation_span: f32,
    pad_2: [u8; 4],
    deading_ghost_start_pos_threshold: f32,
    key_guide_height_2: f32,
    key_guide_range_player: f32,
    key_guide_height_player: f32,
    reload_sign_total_count_2: u32,
    reload_sign_cell_count_1: u32,
    max_sign_total_count_1: u32,
    max_sign_cell_count_1: u32,
    reload_sign_interval_time_1: f32,
    sign_visible_range_2: f32,
    basic_exclusive_range_2: f32,
    basic_exclusive_height_2: f32,
    cell_group_horizontal_range_2: u32,
    cell_group_top_range_2: u32,
    cell_group_bottom_range_2: u32,
    life_time_1: u32,
    record_deading_ghost_total_time: f32,
    record_deading_ghost_min_time: f32,
    download_span_1: f32,
    statue_creatable_distance: f32,
    reload_ghost_total_count: u32,
    reload_ghost_cell_count: u32,
    max_ghost_total_count: u32,
    distance_of_begin_record_versus: f32,
    distance_of_end_record_versus: f32,
    update_wander_ghost_interval_time: f32,
    update_versus_ghost_interval_time: f32,
    record_wandering_ghost_time: f32,
    record_wandering_ghost_min_time: f32,
    update_bonfire_ghost_interval_time: f32,
    replay_ghost_range_on_view: f32,
    replay_ghost_range_out_view: f32,
    replay_bonfire_ghost_time: f32,
    min_bonfire_ghost_valid_range: f32,
    max_bonfire_ghost_valid_range: f32,
    min_replay_interval_time: f32,
    max_replay_interval_time: f32,
    reload_ghost_interval_time: f32,
    cell_group_horizontal_range_3: u32,
    cell_group_top_range_3: u32,
    replay_bonfire_phantom_param_id_for_codename: i32,
    replay_bonfire_mode_range: f32,
    replay_bonfire_phantom_param_id: i32,
    ghostpad: [u8; 4],
    reload_visit_list_cool_time: f32,
    max_coop_blue_summon_count: u32,
    max_bell_guard_summon_count: u32,
    max_visit_list_count: u32,
    reload_search_coop_blue_min: f32,
    reload_search_coop_blue_max: f32,
    reload_search_bell_guard_min: f32,
    reload_search_bell_guard_max: f32,
    reload_search_rat_king_min: f32,
    reload_search_rat_king_max: f32,
    visitpad00: [u8; 8],
    srtt_max_limit: f32,
    srtt_mean_limit: f32,
    srtt_mean_deviation_limit: f32,
    dark_phantom_limit_boost_time: f32,
    dark_phantom_limit_boost_scale: f32,
    multiplay_disable_life_time: f32,
    abyss_multiplay_limit: u8,
    phantom_warp_minimum_time: u8,
    phantom_return_delay_time: u8,
    terminate_timeout_time: u8,
    penalty_point_lan_disconnect: u16,
    penalty_point_signout: u16,
    penalty_point_reboot: u16,
    penalty_point_begin_penalize: u16,
    penalty_forgive_item_limit_time: f32,
    all_area_search_rate_coop_blue: u8,
    all_area_search_rate_vs_blue: u8,
    all_area_search_rate_bell_guard: u8,
    blood_message_eval_heal_rate: u8,
    small_gold_success_host_reward_id: u32,
    door_invalid_play_area_extents: f32,
    sign_display_max: u8,
    blood_stain_display_max: u8,
    blood_message_display_max: u8,
    pad00: [u8; 9],
    pad10: [u8; 32],
    summon_message_interval: f32,
    host_register_update_time: f32,
    host_time_out_time: f32,
    guest_update_time: f32,
    guest_player_no_time_out_time: f32,
    host_player_no_time_out_time: f32,
    request_search_quick_match_limit: u32,
    avatar_match_search_max: u32,
    battle_royal_match_search_min: u32,
    battle_royal_match_search_max: u32,
    pad11: [u8; 8],
    visitor_list_max: u32,
    visitor_time_out_time: f32,
    download_span_2: f32,
    visitor_guest_request_message_interval_sec: f32,
    wander_ghost_interval_life_time: f32,
    pad13: [u8; 12],
    yellow_monk_time_out_time: f32,
    yellow_monk_download_span: f32,
    yellow_monk_overall_flow_time_out_time: f32,
    pad14_0: [u8; 4],
    pad14_1: [u8; 8],
}

impl ParamDef for NETWORK_PARAM_ST {
    const NAME: &str = "NETWORK_PARAM_ST";
    const INDEX: usize = 67;
}

impl NETWORK_PARAM_ST {
    pub fn sign_vertical_offset(&self) -> f32 {
        self.sign_vertical_offset
    }

    pub fn set_sign_vertical_offset(&mut self, value: f32) {
        self.sign_vertical_offset = value;
    }

    pub fn max_sign_pos_correction_range(&self) -> f32 {
        self.max_sign_pos_correction_range
    }

    pub fn set_max_sign_pos_correction_range(&mut self, value: f32) {
        self.max_sign_pos_correction_range = value;
    }

    pub fn summon_timeout_time(&self) -> f32 {
        self.summon_timeout_time
    }

    pub fn set_summon_timeout_time(&mut self, value: f32) {
        self.summon_timeout_time = value;
    }

    pub fn sign_puddle_active_message_interval_sec(&self) -> f32 {
        self.sign_puddle_active_message_interval_sec
    }

    pub fn set_sign_puddle_active_message_interval_sec(&mut self, value: f32) {
        self.sign_puddle_active_message_interval_sec = value;
    }

    pub fn key_guide_height_0(&self) -> f32 {
        self.key_guide_height_0
    }

    pub fn set_key_guide_height_0(&mut self, value: f32) {
        self.key_guide_height_0 = value;
    }

    pub fn reload_sign_interval_time1(&self) -> f32 {
        self.reload_sign_interval_time1
    }

    pub fn set_reload_sign_interval_time1(&mut self, value: f32) {
        self.reload_sign_interval_time1 = value;
    }

    pub fn reload_sign_interval_time2(&self) -> f32 {
        self.reload_sign_interval_time2
    }

    pub fn set_reload_sign_interval_time2(&mut self, value: f32) {
        self.reload_sign_interval_time2 = value;
    }

    pub fn reload_sign_total_count_0(&self) -> u32 {
        self.reload_sign_total_count_0
    }

    pub fn set_reload_sign_total_count_0(&mut self, value: u32) {
        self.reload_sign_total_count_0 = value;
    }

    pub fn reload_sign_cell_count_0(&self) -> u32 {
        self.reload_sign_cell_count_0
    }

    pub fn set_reload_sign_cell_count_0(&mut self, value: u32) {
        self.reload_sign_cell_count_0 = value;
    }

    pub fn update_sign_interval_time(&self) -> f32 {
        self.update_sign_interval_time
    }

    pub fn set_update_sign_interval_time(&mut self, value: f32) {
        self.update_sign_interval_time = value;
    }

    pub fn basic_exclusive_range_0(&self) -> f32 {
        self.basic_exclusive_range_0
    }

    pub fn set_basic_exclusive_range_0(&mut self, value: f32) {
        self.basic_exclusive_range_0 = value;
    }

    pub fn basic_exclusive_height_0(&self) -> f32 {
        self.basic_exclusive_height_0
    }

    pub fn set_basic_exclusive_height_0(&mut self, value: f32) {
        self.basic_exclusive_height_0 = value;
    }

    pub fn preview_chr_waiting_time(&self) -> f32 {
        self.preview_chr_waiting_time
    }

    pub fn set_preview_chr_waiting_time(&mut self, value: f32) {
        self.preview_chr_waiting_time = value;
    }

    pub fn sign_visible_range_0(&self) -> f32 {
        self.sign_visible_range_0
    }

    pub fn set_sign_visible_range_0(&mut self, value: f32) {
        self.sign_visible_range_0 = value;
    }

    pub fn cell_group_horizontal_range_0(&self) -> u32 {
        self.cell_group_horizontal_range_0
    }

    pub fn set_cell_group_horizontal_range_0(&mut self, value: u32) {
        self.cell_group_horizontal_range_0 = value;
    }

    pub fn cell_group_top_range_0(&self) -> u32 {
        self.cell_group_top_range_0
    }

    pub fn set_cell_group_top_range_0(&mut self, value: u32) {
        self.cell_group_top_range_0 = value;
    }

    pub fn cell_group_bottom_range_0(&self) -> u32 {
        self.cell_group_bottom_range_0
    }

    pub fn set_cell_group_bottom_range_0(&mut self, value: u32) {
        self.cell_group_bottom_range_0 = value;
    }

    pub fn min_white_phantom_limit_time_scale(&self) -> f32 {
        self.min_white_phantom_limit_time_scale
    }

    pub fn set_min_white_phantom_limit_time_scale(&mut self, value: f32) {
        self.min_white_phantom_limit_time_scale = value;
    }

    pub fn min_small_phantom_limit_time_scale(&self) -> f32 {
        self.min_small_phantom_limit_time_scale
    }

    pub fn set_min_small_phantom_limit_time_scale(&mut self, value: f32) {
        self.min_small_phantom_limit_time_scale = value;
    }

    pub fn white_keyword_limit_time_scale(&self) -> f32 {
        self.white_keyword_limit_time_scale
    }

    pub fn set_white_keyword_limit_time_scale(&mut self, value: f32) {
        self.white_keyword_limit_time_scale = value;
    }

    pub fn small_keyword_limit_time_scale(&self) -> f32 {
        self.small_keyword_limit_time_scale
    }

    pub fn set_small_keyword_limit_time_scale(&mut self, value: f32) {
        self.small_keyword_limit_time_scale = value;
    }

    pub fn black_keyword_limit_time_scale(&self) -> f32 {
        self.black_keyword_limit_time_scale
    }

    pub fn set_black_keyword_limit_time_scale(&mut self, value: f32) {
        self.black_keyword_limit_time_scale = value;
    }

    pub fn dragon_keyword_limit_time_scale(&self) -> f32 {
        self.dragon_keyword_limit_time_scale
    }

    pub fn set_dragon_keyword_limit_time_scale(&mut self, value: f32) {
        self.dragon_keyword_limit_time_scale = value;
    }

    pub fn sing_get_max(&self) -> u32 {
        self.sing_get_max
    }

    pub fn set_sing_get_max(&mut self, value: u32) {
        self.sing_get_max = value;
    }

    pub fn sign_download_span(&self) -> f32 {
        self.sign_download_span
    }

    pub fn set_sign_download_span(&mut self, value: f32) {
        self.sign_download_span = value;
    }

    pub fn sign_update_span(&self) -> f32 {
        self.sign_update_span
    }

    pub fn set_sign_update_span(&mut self, value: f32) {
        self.sign_update_span = value;
    }

    pub fn max_break_in_target_list_count(&self) -> u32 {
        self.max_break_in_target_list_count
    }

    pub fn set_max_break_in_target_list_count(&mut self, value: u32) {
        self.max_break_in_target_list_count = value;
    }

    pub fn break_in_request_interval_time_sec(&self) -> f32 {
        self.break_in_request_interval_time_sec
    }

    pub fn set_break_in_request_interval_time_sec(&mut self, value: f32) {
        self.break_in_request_interval_time_sec = value;
    }

    pub fn break_in_request_time_out_sec(&self) -> f32 {
        self.break_in_request_time_out_sec
    }

    pub fn set_break_in_request_time_out_sec(&mut self, value: f32) {
        self.break_in_request_time_out_sec = value;
    }

    pub fn key_guide_range(&self) -> f32 {
        self.key_guide_range
    }

    pub fn set_key_guide_range(&mut self, value: f32) {
        self.key_guide_range = value;
    }

    pub fn key_guide_height_1(&self) -> f32 {
        self.key_guide_height_1
    }

    pub fn set_key_guide_height_1(&mut self, value: f32) {
        self.key_guide_height_1 = value;
    }

    pub fn reload_sign_total_count_1(&self) -> u32 {
        self.reload_sign_total_count_1
    }

    pub fn set_reload_sign_total_count_1(&mut self, value: u32) {
        self.reload_sign_total_count_1 = value;
    }

    pub fn reload_new_sign_cell_count(&self) -> u32 {
        self.reload_new_sign_cell_count
    }

    pub fn set_reload_new_sign_cell_count(&mut self, value: u32) {
        self.reload_new_sign_cell_count = value;
    }

    pub fn reload_random_sign_cell_count(&self) -> u32 {
        self.reload_random_sign_cell_count
    }

    pub fn set_reload_random_sign_cell_count(&mut self, value: u32) {
        self.reload_random_sign_cell_count = value;
    }

    pub fn max_sign_total_count_0(&self) -> u32 {
        self.max_sign_total_count_0
    }

    pub fn set_max_sign_total_count_0(&mut self, value: u32) {
        self.max_sign_total_count_0 = value;
    }

    pub fn max_sign_cell_count_0(&self) -> u32 {
        self.max_sign_cell_count_0
    }

    pub fn set_max_sign_cell_count_0(&mut self, value: u32) {
        self.max_sign_cell_count_0 = value;
    }

    pub fn basic_exclusive_range_1(&self) -> f32 {
        self.basic_exclusive_range_1
    }

    pub fn set_basic_exclusive_range_1(&mut self, value: f32) {
        self.basic_exclusive_range_1 = value;
    }

    pub fn basic_exclusive_height_1(&self) -> f32 {
        self.basic_exclusive_height_1
    }

    pub fn set_basic_exclusive_height_1(&mut self, value: f32) {
        self.basic_exclusive_height_1 = value;
    }

    pub fn sign_visible_range_1(&self) -> f32 {
        self.sign_visible_range_1
    }

    pub fn set_sign_visible_range_1(&mut self, value: f32) {
        self.sign_visible_range_1 = value;
    }

    pub fn max_write_sign_count(&self) -> u32 {
        self.max_write_sign_count
    }

    pub fn set_max_write_sign_count(&mut self, value: u32) {
        self.max_write_sign_count = value;
    }

    pub fn max_read_sign_count(&self) -> u32 {
        self.max_read_sign_count
    }

    pub fn set_max_read_sign_count(&mut self, value: u32) {
        self.max_read_sign_count = value;
    }

    pub fn reload_sign_interval_time_0(&self) -> f32 {
        self.reload_sign_interval_time_0
    }

    pub fn set_reload_sign_interval_time_0(&mut self, value: f32) {
        self.reload_sign_interval_time_0 = value;
    }

    pub fn cell_group_horizontal_range_1(&self) -> u32 {
        self.cell_group_horizontal_range_1
    }

    pub fn set_cell_group_horizontal_range_1(&mut self, value: u32) {
        self.cell_group_horizontal_range_1 = value;
    }

    pub fn cell_group_top_range_1(&self) -> u32 {
        self.cell_group_top_range_1
    }

    pub fn set_cell_group_top_range_1(&mut self, value: u32) {
        self.cell_group_top_range_1 = value;
    }

    pub fn cell_group_bottom_range_1(&self) -> u32 {
        self.cell_group_bottom_range_1
    }

    pub fn set_cell_group_bottom_range_1(&mut self, value: u32) {
        self.cell_group_bottom_range_1 = value;
    }

    pub fn life_time_0(&self) -> u32 {
        self.life_time_0
    }

    pub fn set_life_time_0(&mut self, value: u32) {
        self.life_time_0 = value;
    }

    pub fn download_span_0(&self) -> f32 {
        self.download_span_0
    }

    pub fn set_download_span_0(&mut self, value: f32) {
        self.download_span_0 = value;
    }

    pub fn download_evaluation_span(&self) -> f32 {
        self.download_evaluation_span
    }

    pub fn set_download_evaluation_span(&mut self, value: f32) {
        self.download_evaluation_span = value;
    }

    pub fn deading_ghost_start_pos_threshold(&self) -> f32 {
        self.deading_ghost_start_pos_threshold
    }

    pub fn set_deading_ghost_start_pos_threshold(&mut self, value: f32) {
        self.deading_ghost_start_pos_threshold = value;
    }

    pub fn key_guide_height_2(&self) -> f32 {
        self.key_guide_height_2
    }

    pub fn set_key_guide_height_2(&mut self, value: f32) {
        self.key_guide_height_2 = value;
    }

    pub fn key_guide_range_player(&self) -> f32 {
        self.key_guide_range_player
    }

    pub fn set_key_guide_range_player(&mut self, value: f32) {
        self.key_guide_range_player = value;
    }

    pub fn key_guide_height_player(&self) -> f32 {
        self.key_guide_height_player
    }

    pub fn set_key_guide_height_player(&mut self, value: f32) {
        self.key_guide_height_player = value;
    }

    pub fn reload_sign_total_count_2(&self) -> u32 {
        self.reload_sign_total_count_2
    }

    pub fn set_reload_sign_total_count_2(&mut self, value: u32) {
        self.reload_sign_total_count_2 = value;
    }

    pub fn reload_sign_cell_count_1(&self) -> u32 {
        self.reload_sign_cell_count_1
    }

    pub fn set_reload_sign_cell_count_1(&mut self, value: u32) {
        self.reload_sign_cell_count_1 = value;
    }

    pub fn max_sign_total_count_1(&self) -> u32 {
        self.max_sign_total_count_1
    }

    pub fn set_max_sign_total_count_1(&mut self, value: u32) {
        self.max_sign_total_count_1 = value;
    }

    pub fn max_sign_cell_count_1(&self) -> u32 {
        self.max_sign_cell_count_1
    }

    pub fn set_max_sign_cell_count_1(&mut self, value: u32) {
        self.max_sign_cell_count_1 = value;
    }

    pub fn reload_sign_interval_time_1(&self) -> f32 {
        self.reload_sign_interval_time_1
    }

    pub fn set_reload_sign_interval_time_1(&mut self, value: f32) {
        self.reload_sign_interval_time_1 = value;
    }

    pub fn sign_visible_range_2(&self) -> f32 {
        self.sign_visible_range_2
    }

    pub fn set_sign_visible_range_2(&mut self, value: f32) {
        self.sign_visible_range_2 = value;
    }

    pub fn basic_exclusive_range_2(&self) -> f32 {
        self.basic_exclusive_range_2
    }

    pub fn set_basic_exclusive_range_2(&mut self, value: f32) {
        self.basic_exclusive_range_2 = value;
    }

    pub fn basic_exclusive_height_2(&self) -> f32 {
        self.basic_exclusive_height_2
    }

    pub fn set_basic_exclusive_height_2(&mut self, value: f32) {
        self.basic_exclusive_height_2 = value;
    }

    pub fn cell_group_horizontal_range_2(&self) -> u32 {
        self.cell_group_horizontal_range_2
    }

    pub fn set_cell_group_horizontal_range_2(&mut self, value: u32) {
        self.cell_group_horizontal_range_2 = value;
    }

    pub fn cell_group_top_range_2(&self) -> u32 {
        self.cell_group_top_range_2
    }

    pub fn set_cell_group_top_range_2(&mut self, value: u32) {
        self.cell_group_top_range_2 = value;
    }

    pub fn cell_group_bottom_range_2(&self) -> u32 {
        self.cell_group_bottom_range_2
    }

    pub fn set_cell_group_bottom_range_2(&mut self, value: u32) {
        self.cell_group_bottom_range_2 = value;
    }

    pub fn life_time_1(&self) -> u32 {
        self.life_time_1
    }

    pub fn set_life_time_1(&mut self, value: u32) {
        self.life_time_1 = value;
    }

    pub fn record_deading_ghost_total_time(&self) -> f32 {
        self.record_deading_ghost_total_time
    }

    pub fn set_record_deading_ghost_total_time(&mut self, value: f32) {
        self.record_deading_ghost_total_time = value;
    }

    pub fn record_deading_ghost_min_time(&self) -> f32 {
        self.record_deading_ghost_min_time
    }

    pub fn set_record_deading_ghost_min_time(&mut self, value: f32) {
        self.record_deading_ghost_min_time = value;
    }

    pub fn download_span_1(&self) -> f32 {
        self.download_span_1
    }

    pub fn set_download_span_1(&mut self, value: f32) {
        self.download_span_1 = value;
    }

    pub fn statue_creatable_distance(&self) -> f32 {
        self.statue_creatable_distance
    }

    pub fn set_statue_creatable_distance(&mut self, value: f32) {
        self.statue_creatable_distance = value;
    }

    pub fn reload_ghost_total_count(&self) -> u32 {
        self.reload_ghost_total_count
    }

    pub fn set_reload_ghost_total_count(&mut self, value: u32) {
        self.reload_ghost_total_count = value;
    }

    pub fn reload_ghost_cell_count(&self) -> u32 {
        self.reload_ghost_cell_count
    }

    pub fn set_reload_ghost_cell_count(&mut self, value: u32) {
        self.reload_ghost_cell_count = value;
    }

    pub fn max_ghost_total_count(&self) -> u32 {
        self.max_ghost_total_count
    }

    pub fn set_max_ghost_total_count(&mut self, value: u32) {
        self.max_ghost_total_count = value;
    }

    pub fn distance_of_begin_record_versus(&self) -> f32 {
        self.distance_of_begin_record_versus
    }

    pub fn set_distance_of_begin_record_versus(&mut self, value: f32) {
        self.distance_of_begin_record_versus = value;
    }

    pub fn distance_of_end_record_versus(&self) -> f32 {
        self.distance_of_end_record_versus
    }

    pub fn set_distance_of_end_record_versus(&mut self, value: f32) {
        self.distance_of_end_record_versus = value;
    }

    pub fn update_wander_ghost_interval_time(&self) -> f32 {
        self.update_wander_ghost_interval_time
    }

    pub fn set_update_wander_ghost_interval_time(&mut self, value: f32) {
        self.update_wander_ghost_interval_time = value;
    }

    pub fn update_versus_ghost_interval_time(&self) -> f32 {
        self.update_versus_ghost_interval_time
    }

    pub fn set_update_versus_ghost_interval_time(&mut self, value: f32) {
        self.update_versus_ghost_interval_time = value;
    }

    pub fn record_wandering_ghost_time(&self) -> f32 {
        self.record_wandering_ghost_time
    }

    pub fn set_record_wandering_ghost_time(&mut self, value: f32) {
        self.record_wandering_ghost_time = value;
    }

    pub fn record_wandering_ghost_min_time(&self) -> f32 {
        self.record_wandering_ghost_min_time
    }

    pub fn set_record_wandering_ghost_min_time(&mut self, value: f32) {
        self.record_wandering_ghost_min_time = value;
    }

    pub fn update_bonfire_ghost_interval_time(&self) -> f32 {
        self.update_bonfire_ghost_interval_time
    }

    pub fn set_update_bonfire_ghost_interval_time(&mut self, value: f32) {
        self.update_bonfire_ghost_interval_time = value;
    }

    pub fn replay_ghost_range_on_view(&self) -> f32 {
        self.replay_ghost_range_on_view
    }

    pub fn set_replay_ghost_range_on_view(&mut self, value: f32) {
        self.replay_ghost_range_on_view = value;
    }

    pub fn replay_ghost_range_out_view(&self) -> f32 {
        self.replay_ghost_range_out_view
    }

    pub fn set_replay_ghost_range_out_view(&mut self, value: f32) {
        self.replay_ghost_range_out_view = value;
    }

    pub fn replay_bonfire_ghost_time(&self) -> f32 {
        self.replay_bonfire_ghost_time
    }

    pub fn set_replay_bonfire_ghost_time(&mut self, value: f32) {
        self.replay_bonfire_ghost_time = value;
    }

    pub fn min_bonfire_ghost_valid_range(&self) -> f32 {
        self.min_bonfire_ghost_valid_range
    }

    pub fn set_min_bonfire_ghost_valid_range(&mut self, value: f32) {
        self.min_bonfire_ghost_valid_range = value;
    }

    pub fn max_bonfire_ghost_valid_range(&self) -> f32 {
        self.max_bonfire_ghost_valid_range
    }

    pub fn set_max_bonfire_ghost_valid_range(&mut self, value: f32) {
        self.max_bonfire_ghost_valid_range = value;
    }

    pub fn min_replay_interval_time(&self) -> f32 {
        self.min_replay_interval_time
    }

    pub fn set_min_replay_interval_time(&mut self, value: f32) {
        self.min_replay_interval_time = value;
    }

    pub fn max_replay_interval_time(&self) -> f32 {
        self.max_replay_interval_time
    }

    pub fn set_max_replay_interval_time(&mut self, value: f32) {
        self.max_replay_interval_time = value;
    }

    pub fn reload_ghost_interval_time(&self) -> f32 {
        self.reload_ghost_interval_time
    }

    pub fn set_reload_ghost_interval_time(&mut self, value: f32) {
        self.reload_ghost_interval_time = value;
    }

    pub fn cell_group_horizontal_range_3(&self) -> u32 {
        self.cell_group_horizontal_range_3
    }

    pub fn set_cell_group_horizontal_range_3(&mut self, value: u32) {
        self.cell_group_horizontal_range_3 = value;
    }

    pub fn cell_group_top_range_3(&self) -> u32 {
        self.cell_group_top_range_3
    }

    pub fn set_cell_group_top_range_3(&mut self, value: u32) {
        self.cell_group_top_range_3 = value;
    }

    pub fn replay_bonfire_phantom_param_id_for_codename(&self) -> i32 {
        self.replay_bonfire_phantom_param_id_for_codename
    }

    pub fn set_replay_bonfire_phantom_param_id_for_codename(&mut self, value: i32) {
        self.replay_bonfire_phantom_param_id_for_codename = value;
    }

    pub fn replay_bonfire_mode_range(&self) -> f32 {
        self.replay_bonfire_mode_range
    }

    pub fn set_replay_bonfire_mode_range(&mut self, value: f32) {
        self.replay_bonfire_mode_range = value;
    }

    pub fn replay_bonfire_phantom_param_id(&self) -> i32 {
        self.replay_bonfire_phantom_param_id
    }

    pub fn set_replay_bonfire_phantom_param_id(&mut self, value: i32) {
        self.replay_bonfire_phantom_param_id = value;
    }

    pub fn reload_visit_list_cool_time(&self) -> f32 {
        self.reload_visit_list_cool_time
    }

    pub fn set_reload_visit_list_cool_time(&mut self, value: f32) {
        self.reload_visit_list_cool_time = value;
    }

    pub fn max_coop_blue_summon_count(&self) -> u32 {
        self.max_coop_blue_summon_count
    }

    pub fn set_max_coop_blue_summon_count(&mut self, value: u32) {
        self.max_coop_blue_summon_count = value;
    }

    pub fn max_bell_guard_summon_count(&self) -> u32 {
        self.max_bell_guard_summon_count
    }

    pub fn set_max_bell_guard_summon_count(&mut self, value: u32) {
        self.max_bell_guard_summon_count = value;
    }

    pub fn max_visit_list_count(&self) -> u32 {
        self.max_visit_list_count
    }

    pub fn set_max_visit_list_count(&mut self, value: u32) {
        self.max_visit_list_count = value;
    }

    pub fn reload_search_coop_blue_min(&self) -> f32 {
        self.reload_search_coop_blue_min
    }

    pub fn set_reload_search_coop_blue_min(&mut self, value: f32) {
        self.reload_search_coop_blue_min = value;
    }

    pub fn reload_search_coop_blue_max(&self) -> f32 {
        self.reload_search_coop_blue_max
    }

    pub fn set_reload_search_coop_blue_max(&mut self, value: f32) {
        self.reload_search_coop_blue_max = value;
    }

    pub fn reload_search_bell_guard_min(&self) -> f32 {
        self.reload_search_bell_guard_min
    }

    pub fn set_reload_search_bell_guard_min(&mut self, value: f32) {
        self.reload_search_bell_guard_min = value;
    }

    pub fn reload_search_bell_guard_max(&self) -> f32 {
        self.reload_search_bell_guard_max
    }

    pub fn set_reload_search_bell_guard_max(&mut self, value: f32) {
        self.reload_search_bell_guard_max = value;
    }

    pub fn reload_search_rat_king_min(&self) -> f32 {
        self.reload_search_rat_king_min
    }

    pub fn set_reload_search_rat_king_min(&mut self, value: f32) {
        self.reload_search_rat_king_min = value;
    }

    pub fn reload_search_rat_king_max(&self) -> f32 {
        self.reload_search_rat_king_max
    }

    pub fn set_reload_search_rat_king_max(&mut self, value: f32) {
        self.reload_search_rat_king_max = value;
    }

    pub fn srtt_max_limit(&self) -> f32 {
        self.srtt_max_limit
    }

    pub fn set_srtt_max_limit(&mut self, value: f32) {
        self.srtt_max_limit = value;
    }

    pub fn srtt_mean_limit(&self) -> f32 {
        self.srtt_mean_limit
    }

    pub fn set_srtt_mean_limit(&mut self, value: f32) {
        self.srtt_mean_limit = value;
    }

    pub fn srtt_mean_deviation_limit(&self) -> f32 {
        self.srtt_mean_deviation_limit
    }

    pub fn set_srtt_mean_deviation_limit(&mut self, value: f32) {
        self.srtt_mean_deviation_limit = value;
    }

    pub fn dark_phantom_limit_boost_time(&self) -> f32 {
        self.dark_phantom_limit_boost_time
    }

    pub fn set_dark_phantom_limit_boost_time(&mut self, value: f32) {
        self.dark_phantom_limit_boost_time = value;
    }

    pub fn dark_phantom_limit_boost_scale(&self) -> f32 {
        self.dark_phantom_limit_boost_scale
    }

    pub fn set_dark_phantom_limit_boost_scale(&mut self, value: f32) {
        self.dark_phantom_limit_boost_scale = value;
    }

    pub fn multiplay_disable_life_time(&self) -> f32 {
        self.multiplay_disable_life_time
    }

    pub fn set_multiplay_disable_life_time(&mut self, value: f32) {
        self.multiplay_disable_life_time = value;
    }

    pub fn abyss_multiplay_limit(&self) -> u8 {
        self.abyss_multiplay_limit
    }

    pub fn set_abyss_multiplay_limit(&mut self, value: u8) {
        self.abyss_multiplay_limit = value;
    }

    pub fn phantom_warp_minimum_time(&self) -> u8 {
        self.phantom_warp_minimum_time
    }

    pub fn set_phantom_warp_minimum_time(&mut self, value: u8) {
        self.phantom_warp_minimum_time = value;
    }

    pub fn phantom_return_delay_time(&self) -> u8 {
        self.phantom_return_delay_time
    }

    pub fn set_phantom_return_delay_time(&mut self, value: u8) {
        self.phantom_return_delay_time = value;
    }

    pub fn terminate_timeout_time(&self) -> u8 {
        self.terminate_timeout_time
    }

    pub fn set_terminate_timeout_time(&mut self, value: u8) {
        self.terminate_timeout_time = value;
    }

    pub fn penalty_point_lan_disconnect(&self) -> u16 {
        self.penalty_point_lan_disconnect
    }

    pub fn set_penalty_point_lan_disconnect(&mut self, value: u16) {
        self.penalty_point_lan_disconnect = value;
    }

    pub fn penalty_point_signout(&self) -> u16 {
        self.penalty_point_signout
    }

    pub fn set_penalty_point_signout(&mut self, value: u16) {
        self.penalty_point_signout = value;
    }

    pub fn penalty_point_reboot(&self) -> u16 {
        self.penalty_point_reboot
    }

    pub fn set_penalty_point_reboot(&mut self, value: u16) {
        self.penalty_point_reboot = value;
    }

    pub fn penalty_point_begin_penalize(&self) -> u16 {
        self.penalty_point_begin_penalize
    }

    pub fn set_penalty_point_begin_penalize(&mut self, value: u16) {
        self.penalty_point_begin_penalize = value;
    }

    pub fn penalty_forgive_item_limit_time(&self) -> f32 {
        self.penalty_forgive_item_limit_time
    }

    pub fn set_penalty_forgive_item_limit_time(&mut self, value: f32) {
        self.penalty_forgive_item_limit_time = value;
    }

    pub fn all_area_search_rate_coop_blue(&self) -> u8 {
        self.all_area_search_rate_coop_blue
    }

    pub fn set_all_area_search_rate_coop_blue(&mut self, value: u8) {
        self.all_area_search_rate_coop_blue = value;
    }

    pub fn all_area_search_rate_vs_blue(&self) -> u8 {
        self.all_area_search_rate_vs_blue
    }

    pub fn set_all_area_search_rate_vs_blue(&mut self, value: u8) {
        self.all_area_search_rate_vs_blue = value;
    }

    pub fn all_area_search_rate_bell_guard(&self) -> u8 {
        self.all_area_search_rate_bell_guard
    }

    pub fn set_all_area_search_rate_bell_guard(&mut self, value: u8) {
        self.all_area_search_rate_bell_guard = value;
    }

    pub fn blood_message_eval_heal_rate(&self) -> u8 {
        self.blood_message_eval_heal_rate
    }

    pub fn set_blood_message_eval_heal_rate(&mut self, value: u8) {
        self.blood_message_eval_heal_rate = value;
    }

    pub fn small_gold_success_host_reward_id(&self) -> u32 {
        self.small_gold_success_host_reward_id
    }

    pub fn set_small_gold_success_host_reward_id(&mut self, value: u32) {
        self.small_gold_success_host_reward_id = value;
    }

    pub fn door_invalid_play_area_extents(&self) -> f32 {
        self.door_invalid_play_area_extents
    }

    pub fn set_door_invalid_play_area_extents(&mut self, value: f32) {
        self.door_invalid_play_area_extents = value;
    }

    pub fn sign_display_max(&self) -> u8 {
        self.sign_display_max
    }

    pub fn set_sign_display_max(&mut self, value: u8) {
        self.sign_display_max = value;
    }

    pub fn blood_stain_display_max(&self) -> u8 {
        self.blood_stain_display_max
    }

    pub fn set_blood_stain_display_max(&mut self, value: u8) {
        self.blood_stain_display_max = value;
    }

    pub fn blood_message_display_max(&self) -> u8 {
        self.blood_message_display_max
    }

    pub fn set_blood_message_display_max(&mut self, value: u8) {
        self.blood_message_display_max = value;
    }

    pub fn summon_message_interval(&self) -> f32 {
        self.summon_message_interval
    }

    pub fn set_summon_message_interval(&mut self, value: f32) {
        self.summon_message_interval = value;
    }

    pub fn host_register_update_time(&self) -> f32 {
        self.host_register_update_time
    }

    pub fn set_host_register_update_time(&mut self, value: f32) {
        self.host_register_update_time = value;
    }

    pub fn host_time_out_time(&self) -> f32 {
        self.host_time_out_time
    }

    pub fn set_host_time_out_time(&mut self, value: f32) {
        self.host_time_out_time = value;
    }

    pub fn guest_update_time(&self) -> f32 {
        self.guest_update_time
    }

    pub fn set_guest_update_time(&mut self, value: f32) {
        self.guest_update_time = value;
    }

    pub fn guest_player_no_time_out_time(&self) -> f32 {
        self.guest_player_no_time_out_time
    }

    pub fn set_guest_player_no_time_out_time(&mut self, value: f32) {
        self.guest_player_no_time_out_time = value;
    }

    pub fn host_player_no_time_out_time(&self) -> f32 {
        self.host_player_no_time_out_time
    }

    pub fn set_host_player_no_time_out_time(&mut self, value: f32) {
        self.host_player_no_time_out_time = value;
    }

    pub fn request_search_quick_match_limit(&self) -> u32 {
        self.request_search_quick_match_limit
    }

    pub fn set_request_search_quick_match_limit(&mut self, value: u32) {
        self.request_search_quick_match_limit = value;
    }

    pub fn avatar_match_search_max(&self) -> u32 {
        self.avatar_match_search_max
    }

    pub fn set_avatar_match_search_max(&mut self, value: u32) {
        self.avatar_match_search_max = value;
    }

    pub fn battle_royal_match_search_min(&self) -> u32 {
        self.battle_royal_match_search_min
    }

    pub fn set_battle_royal_match_search_min(&mut self, value: u32) {
        self.battle_royal_match_search_min = value;
    }

    pub fn battle_royal_match_search_max(&self) -> u32 {
        self.battle_royal_match_search_max
    }

    pub fn set_battle_royal_match_search_max(&mut self, value: u32) {
        self.battle_royal_match_search_max = value;
    }

    pub fn visitor_list_max(&self) -> u32 {
        self.visitor_list_max
    }

    pub fn set_visitor_list_max(&mut self, value: u32) {
        self.visitor_list_max = value;
    }

    pub fn visitor_time_out_time(&self) -> f32 {
        self.visitor_time_out_time
    }

    pub fn set_visitor_time_out_time(&mut self, value: f32) {
        self.visitor_time_out_time = value;
    }

    pub fn download_span_2(&self) -> f32 {
        self.download_span_2
    }

    pub fn set_download_span_2(&mut self, value: f32) {
        self.download_span_2 = value;
    }

    pub fn visitor_guest_request_message_interval_sec(&self) -> f32 {
        self.visitor_guest_request_message_interval_sec
    }

    pub fn set_visitor_guest_request_message_interval_sec(&mut self, value: f32) {
        self.visitor_guest_request_message_interval_sec = value;
    }

    pub fn wander_ghost_interval_life_time(&self) -> f32 {
        self.wander_ghost_interval_life_time
    }

    pub fn set_wander_ghost_interval_life_time(&mut self, value: f32) {
        self.wander_ghost_interval_life_time = value;
    }

    pub fn yellow_monk_time_out_time(&self) -> f32 {
        self.yellow_monk_time_out_time
    }

    pub fn set_yellow_monk_time_out_time(&mut self, value: f32) {
        self.yellow_monk_time_out_time = value;
    }

    pub fn yellow_monk_download_span(&self) -> f32 {
        self.yellow_monk_download_span
    }

    pub fn set_yellow_monk_download_span(&mut self, value: f32) {
        self.yellow_monk_download_span = value;
    }

    pub fn yellow_monk_overall_flow_time_out_time(&self) -> f32 {
        self.yellow_monk_overall_flow_time_out_time
    }

    pub fn set_yellow_monk_overall_flow_time_out_time(&mut self, value: f32) {
        self.yellow_monk_overall_flow_time_out_time = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct NPC_AI_ACTION_PARAM_ST {
    move_dir: u8,
    key1: u8,
    key2: u8,
    key3: u8,
    b_move_dir_hold: u8,
    b_key_hold1: u8,
    b_key_hold2: u8,
    b_key_hold3: u8,
    gesture_id: i32,
    b_life_end_success: u8,
    pad1: [u8; 3],
}

impl ParamDef for NPC_AI_ACTION_PARAM_ST {
    const NAME: &str = "NPC_AI_ACTION_PARAM_ST";
    const INDEX: usize = 69;
}

impl NPC_AI_ACTION_PARAM_ST {
    pub fn move_dir(&self) -> u8 {
        self.move_dir
    }

    pub fn set_move_dir(&mut self, value: u8) {
        self.move_dir = value;
    }

    pub fn key1(&self) -> u8 {
        self.key1
    }

    pub fn set_key1(&mut self, value: u8) {
        self.key1 = value;
    }

    pub fn key2(&self) -> u8 {
        self.key2
    }

    pub fn set_key2(&mut self, value: u8) {
        self.key2 = value;
    }

    pub fn key3(&self) -> u8 {
        self.key3
    }

    pub fn set_key3(&mut self, value: u8) {
        self.key3 = value;
    }

    pub fn b_move_dir_hold(&self) -> u8 {
        self.b_move_dir_hold
    }

    pub fn set_b_move_dir_hold(&mut self, value: u8) {
        self.b_move_dir_hold = value;
    }

    pub fn b_key_hold1(&self) -> u8 {
        self.b_key_hold1
    }

    pub fn set_b_key_hold1(&mut self, value: u8) {
        self.b_key_hold1 = value;
    }

    pub fn b_key_hold2(&self) -> u8 {
        self.b_key_hold2
    }

    pub fn set_b_key_hold2(&mut self, value: u8) {
        self.b_key_hold2 = value;
    }

    pub fn b_key_hold3(&self) -> u8 {
        self.b_key_hold3
    }

    pub fn set_b_key_hold3(&mut self, value: u8) {
        self.b_key_hold3 = value;
    }

    pub fn gesture_id(&self) -> i32 {
        self.gesture_id
    }

    pub fn set_gesture_id(&mut self, value: i32) {
        self.gesture_id = value;
    }

    pub fn b_life_end_success(&self) -> u8 {
        self.b_life_end_success
    }

    pub fn set_b_life_end_success(&mut self, value: u8) {
        self.b_life_end_success = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct NPC_PARAM_ST {
    behavior_variation_id: i32,
    ai_think_id: i32,
    name_id: i32,
    turn_vellocity: f32,
    hit_height: f32,
    hit_radius: f32,
    weight: i32,
    hit_offset: f32,
    hp: i32,
    mp: i32,
    get_soul: i32,
    item_lot_id1: i32,
    item_lot_id2: i32,
    item_lot_id3: i32,
    item_lot_id4: i32,
    item_lot_id5: i32,
    item_lot_id6: i32,
    humanity_lot_id: i32,
    sp_effect_id0: i32,
    sp_effect_id1: i32,
    sp_effect_id2: i32,
    sp_effect_id3: i32,
    sp_effect_id4: i32,
    sp_effect_id5: i32,
    sp_effect_id6: i32,
    sp_effect_id7: i32,
    game_clear_sp_effect_id: i32,
    phys_guard_cut_rate: f32,
    mag_guard_cut_rate: f32,
    fire_guard_cut_rate: f32,
    thun_guard_cut_rate: f32,
    animid_offset: i32,
    lock_gaze_point0: i16,
    lock_gaze_point1: i16,
    lock_gaze_point2: i16,
    lock_gaze_point3: i16,
    lock_gaze_point4: i16,
    lock_gaze_point5: i16,
    network_warp_disp: f32,
    dbg_behavior_r1: i32,
    dbg_behavior_l1: i32,
    dbg_behavior_r2: i32,
    dbg_behavior_l2: i32,
    dbg_behavior_rl: i32,
    dbg_behavior_rr: i32,
    dbg_behavior_rd: i32,
    dbg_behavior_ru: i32,
    dbg_behavior_ll: i32,
    dbg_behavior_lr: i32,
    dbg_behavior_ld: i32,
    dbg_behavior_lu: i32,
    anim_id_offset2: i32,
    parts_damage_rate1: f32,
    parts_damage_rate2: f32,
    parts_damage_rate3: f32,
    parts_damage_rate4: f32,
    parts_damage_rate5: f32,
    parts_damage_rate6: f32,
    parts_damage_rate7: f32,
    parts_damage_rate8: f32,
    weak_parts_damage_rate: f32,
    super_armor_recover_correction: f32,
    super_armor_brake_knockback_dist: f32,
    stamina: i16,
    stamina_recover_base_val: i16,
    def_phys: i16,
    def_slash: i16,
    def_blow: i16,
    def_thrust: i16,
    def_mag: i16,
    def_fire: i16,
    def_thunder: i16,
    def_flick_power: i16,
    resist_poison: i16,
    resist_toxic: i16,
    resist_blood: i16,
    resist_curse: i16,
    ghost_model_id: i16,
    normal_change_resource_id: i16,
    guard_angle: i16,
    slash_guard_cut_rate: i16,
    blow_guard_cut_rate: i16,
    thrust_guard_cut_rate: i16,
    super_armor_durability: i16,
    normal_change_tex_chr_id: i16,
    drop_type: i16,
    knockback_rate: u8,
    knockback_param_id: u8,
    fall_damage_damp: u8,
    stamina_guard_def: u8,
    pc_attr_b: u8,
    pc_attr_w: u8,
    pc_attr_l: u8,
    pc_attr_r: u8,
    area_attr_b: u8,
    area_attr_w: u8,
    area_attr_l: u8,
    area_attr_r: u8,
    mp_recover_base_val: u8,
    flick_damage_cut_rate: u8,
    default_lod_param_id: i8,
    draw_type: u8,
    npc_type: u8,
    team_type: u8,
    move_type: u8,
    lock_dist: u8,
    material: i16,
    material_sfx: i16,
    parts_damage_type: u8,
    max_unduration_ang: u8,
    guard_level: u8,
    burnsfx_type: u8,
    poison_guard_resist: u8,
    toxic_guard_resist: u8,
    blood_guard_resist: u8,
    curse_guard_resist: u8,
    parry_attack: u8,
    parry_defense: u8,
    sfx_size: u8,
    push_out_cam_region_radius: u8,
    hit_stop_type: u8,
    ladder_end_chk_offset_top: u8,
    ladder_end_chk_offset_low: u8,
    bits_145: u8,
    bits_146: u8,
    bits_147: u8,
    bits_148: u8,
    bits_149: u8,
    bits_14a: u8,
    bits_14b: u8,
    item_search_radius: f32,
    chr_hit_height: f32,
    chr_hit_radius: f32,
    special_turn_type: u8,
    bits_159: u8,
    def_dark: i16,
    special_turn_distance_threshold: f32,
    auto_foot_effect_sfx_id: i32,
    sub_material: i16,
    sub_material_sfx: i16,
    material_weak: i16,
    material_sfx_weak: i16,
    sub_material_weak: i16,
    sub_material_sfx_weak: i16,
    sp_effect_id8: i32,
    sp_effect_id9: i32,
    sp_effect_id10: i32,
    sp_effect_id11: i32,
    sp_effect_id12: i32,
    sp_effect_id13: i32,
    sp_effect_id14: i32,
    sp_effect_id15: i32,
    auto_foot_effect_decal_base_id1: i32,
    toughness: i32,
    toughness_recover_correction: f32,
    regain_rate_phys_neutral: f32,
    regain_rate_phys_slash: f32,
    regain_rate_phys_blow: f32,
    regain_rate_phys_thrust: f32,
    regain_rate_magic: f32,
    regain_rate_fire: f32,
    regain_rate_thunder: f32,
    regain_rate_dark: f32,
    dark_guard_cut_rate: f32,
    cloth_update_offset: i8,
    npc_player_weight_type: u8,
    normal_change_model_id: i16,
    normal_change_anim_chr_id: i16,
    paint_render_target_size: i16,
    cult_setting_id: i32,
    phantom_param_id: i32,
    multi_play_correction_id: i32,
    max_ankle_pitch_angle: f32,
    resist_frost: i16,
    freeze_guard_resist: u8,
    sub_team_type: u8,
    lock_cam_param_id: i32,
    sp_effect_id16: i32,
    sp_effect_id17: i32,
    sp_effect_id18: i32,
    sp_effect_id19: i32,
    sp_effect_id20: i32,
    sp_effect_id21: i32,
    sp_effect_id22: i32,
    sp_effect_id23: i32,
    sp_effect_id24: i32,
    sp_effect_id25: i32,
    sp_effect_id26: i32,
    sp_effect_id27: i32,
    sp_effect_id28: i32,
    sp_effect_id29: i32,
    sp_effect_id30: i32,
    sp_effect_id31: i32,
    disable_lock_on_ang: f32,
    cloth_off_lod_level: i8,
    pad1: [u8; 1],
    estus_flask_recovery_param_id: i16,
    role_name_id: i32,
    estus_flask_lot_point: i16,
    hp_estus_flask_lot_point: i16,
    mp_estus_flask_lot_point: i16,
    estus_flask_recovery_failed_lot_point_add: i16,
    hp_estus_flask_recovery_failed_lot_point_add: i16,
    mp_estus_flask_recovery_failed_lot_point_add: i16,
    wander_ghost_phantom_id: i32,
    hearing_head_size: f32,
    pad2: [u8; 4],
}

impl ParamDef for NPC_PARAM_ST {
    const NAME: &str = "NPC_PARAM_ST";
    const INDEX: usize = 70;
}

impl NPC_PARAM_ST {
    pub fn behavior_variation_id(&self) -> i32 {
        self.behavior_variation_id
    }

    pub fn set_behavior_variation_id(&mut self, value: i32) {
        self.behavior_variation_id = value;
    }

    pub fn ai_think_id(&self) -> i32 {
        self.ai_think_id
    }

    pub fn set_ai_think_id(&mut self, value: i32) {
        self.ai_think_id = value;
    }

    pub fn name_id(&self) -> i32 {
        self.name_id
    }

    pub fn set_name_id(&mut self, value: i32) {
        self.name_id = value;
    }

    pub fn turn_vellocity(&self) -> f32 {
        self.turn_vellocity
    }

    pub fn set_turn_vellocity(&mut self, value: f32) {
        self.turn_vellocity = value;
    }

    pub fn hit_height(&self) -> f32 {
        self.hit_height
    }

    pub fn set_hit_height(&mut self, value: f32) {
        self.hit_height = value;
    }

    pub fn hit_radius(&self) -> f32 {
        self.hit_radius
    }

    pub fn set_hit_radius(&mut self, value: f32) {
        self.hit_radius = value;
    }

    pub fn weight(&self) -> i32 {
        self.weight
    }

    pub fn set_weight(&mut self, value: i32) {
        self.weight = value;
    }

    pub fn hit_offset(&self) -> f32 {
        self.hit_offset
    }

    pub fn set_hit_offset(&mut self, value: f32) {
        self.hit_offset = value;
    }

    pub fn hp(&self) -> i32 {
        self.hp
    }

    pub fn set_hp(&mut self, value: i32) {
        self.hp = value;
    }

    pub fn mp(&self) -> i32 {
        self.mp
    }

    pub fn set_mp(&mut self, value: i32) {
        self.mp = value;
    }

    pub fn get_soul(&self) -> i32 {
        self.get_soul
    }

    pub fn set_get_soul(&mut self, value: i32) {
        self.get_soul = value;
    }

    pub fn item_lot_id1(&self) -> i32 {
        self.item_lot_id1
    }

    pub fn set_item_lot_id1(&mut self, value: i32) {
        self.item_lot_id1 = value;
    }

    pub fn item_lot_id2(&self) -> i32 {
        self.item_lot_id2
    }

    pub fn set_item_lot_id2(&mut self, value: i32) {
        self.item_lot_id2 = value;
    }

    pub fn item_lot_id3(&self) -> i32 {
        self.item_lot_id3
    }

    pub fn set_item_lot_id3(&mut self, value: i32) {
        self.item_lot_id3 = value;
    }

    pub fn item_lot_id4(&self) -> i32 {
        self.item_lot_id4
    }

    pub fn set_item_lot_id4(&mut self, value: i32) {
        self.item_lot_id4 = value;
    }

    pub fn item_lot_id5(&self) -> i32 {
        self.item_lot_id5
    }

    pub fn set_item_lot_id5(&mut self, value: i32) {
        self.item_lot_id5 = value;
    }

    pub fn item_lot_id6(&self) -> i32 {
        self.item_lot_id6
    }

    pub fn set_item_lot_id6(&mut self, value: i32) {
        self.item_lot_id6 = value;
    }

    pub fn humanity_lot_id(&self) -> i32 {
        self.humanity_lot_id
    }

    pub fn set_humanity_lot_id(&mut self, value: i32) {
        self.humanity_lot_id = value;
    }

    pub fn sp_effect_id0(&self) -> i32 {
        self.sp_effect_id0
    }

    pub fn set_sp_effect_id0(&mut self, value: i32) {
        self.sp_effect_id0 = value;
    }

    pub fn sp_effect_id1(&self) -> i32 {
        self.sp_effect_id1
    }

    pub fn set_sp_effect_id1(&mut self, value: i32) {
        self.sp_effect_id1 = value;
    }

    pub fn sp_effect_id2(&self) -> i32 {
        self.sp_effect_id2
    }

    pub fn set_sp_effect_id2(&mut self, value: i32) {
        self.sp_effect_id2 = value;
    }

    pub fn sp_effect_id3(&self) -> i32 {
        self.sp_effect_id3
    }

    pub fn set_sp_effect_id3(&mut self, value: i32) {
        self.sp_effect_id3 = value;
    }

    pub fn sp_effect_id4(&self) -> i32 {
        self.sp_effect_id4
    }

    pub fn set_sp_effect_id4(&mut self, value: i32) {
        self.sp_effect_id4 = value;
    }

    pub fn sp_effect_id5(&self) -> i32 {
        self.sp_effect_id5
    }

    pub fn set_sp_effect_id5(&mut self, value: i32) {
        self.sp_effect_id5 = value;
    }

    pub fn sp_effect_id6(&self) -> i32 {
        self.sp_effect_id6
    }

    pub fn set_sp_effect_id6(&mut self, value: i32) {
        self.sp_effect_id6 = value;
    }

    pub fn sp_effect_id7(&self) -> i32 {
        self.sp_effect_id7
    }

    pub fn set_sp_effect_id7(&mut self, value: i32) {
        self.sp_effect_id7 = value;
    }

    pub fn game_clear_sp_effect_id(&self) -> i32 {
        self.game_clear_sp_effect_id
    }

    pub fn set_game_clear_sp_effect_id(&mut self, value: i32) {
        self.game_clear_sp_effect_id = value;
    }

    pub fn phys_guard_cut_rate(&self) -> f32 {
        self.phys_guard_cut_rate
    }

    pub fn set_phys_guard_cut_rate(&mut self, value: f32) {
        self.phys_guard_cut_rate = value;
    }

    pub fn mag_guard_cut_rate(&self) -> f32 {
        self.mag_guard_cut_rate
    }

    pub fn set_mag_guard_cut_rate(&mut self, value: f32) {
        self.mag_guard_cut_rate = value;
    }

    pub fn fire_guard_cut_rate(&self) -> f32 {
        self.fire_guard_cut_rate
    }

    pub fn set_fire_guard_cut_rate(&mut self, value: f32) {
        self.fire_guard_cut_rate = value;
    }

    pub fn thun_guard_cut_rate(&self) -> f32 {
        self.thun_guard_cut_rate
    }

    pub fn set_thun_guard_cut_rate(&mut self, value: f32) {
        self.thun_guard_cut_rate = value;
    }

    pub fn animid_offset(&self) -> i32 {
        self.animid_offset
    }

    pub fn set_animid_offset(&mut self, value: i32) {
        self.animid_offset = value;
    }

    pub fn lock_gaze_point0(&self) -> i16 {
        self.lock_gaze_point0
    }

    pub fn set_lock_gaze_point0(&mut self, value: i16) {
        self.lock_gaze_point0 = value;
    }

    pub fn lock_gaze_point1(&self) -> i16 {
        self.lock_gaze_point1
    }

    pub fn set_lock_gaze_point1(&mut self, value: i16) {
        self.lock_gaze_point1 = value;
    }

    pub fn lock_gaze_point2(&self) -> i16 {
        self.lock_gaze_point2
    }

    pub fn set_lock_gaze_point2(&mut self, value: i16) {
        self.lock_gaze_point2 = value;
    }

    pub fn lock_gaze_point3(&self) -> i16 {
        self.lock_gaze_point3
    }

    pub fn set_lock_gaze_point3(&mut self, value: i16) {
        self.lock_gaze_point3 = value;
    }

    pub fn lock_gaze_point4(&self) -> i16 {
        self.lock_gaze_point4
    }

    pub fn set_lock_gaze_point4(&mut self, value: i16) {
        self.lock_gaze_point4 = value;
    }

    pub fn lock_gaze_point5(&self) -> i16 {
        self.lock_gaze_point5
    }

    pub fn set_lock_gaze_point5(&mut self, value: i16) {
        self.lock_gaze_point5 = value;
    }

    pub fn network_warp_disp(&self) -> f32 {
        self.network_warp_disp
    }

    pub fn set_network_warp_disp(&mut self, value: f32) {
        self.network_warp_disp = value;
    }

    pub fn dbg_behavior_r1(&self) -> i32 {
        self.dbg_behavior_r1
    }

    pub fn set_dbg_behavior_r1(&mut self, value: i32) {
        self.dbg_behavior_r1 = value;
    }

    pub fn dbg_behavior_l1(&self) -> i32 {
        self.dbg_behavior_l1
    }

    pub fn set_dbg_behavior_l1(&mut self, value: i32) {
        self.dbg_behavior_l1 = value;
    }

    pub fn dbg_behavior_r2(&self) -> i32 {
        self.dbg_behavior_r2
    }

    pub fn set_dbg_behavior_r2(&mut self, value: i32) {
        self.dbg_behavior_r2 = value;
    }

    pub fn dbg_behavior_l2(&self) -> i32 {
        self.dbg_behavior_l2
    }

    pub fn set_dbg_behavior_l2(&mut self, value: i32) {
        self.dbg_behavior_l2 = value;
    }

    pub fn dbg_behavior_rl(&self) -> i32 {
        self.dbg_behavior_rl
    }

    pub fn set_dbg_behavior_rl(&mut self, value: i32) {
        self.dbg_behavior_rl = value;
    }

    pub fn dbg_behavior_rr(&self) -> i32 {
        self.dbg_behavior_rr
    }

    pub fn set_dbg_behavior_rr(&mut self, value: i32) {
        self.dbg_behavior_rr = value;
    }

    pub fn dbg_behavior_rd(&self) -> i32 {
        self.dbg_behavior_rd
    }

    pub fn set_dbg_behavior_rd(&mut self, value: i32) {
        self.dbg_behavior_rd = value;
    }

    pub fn dbg_behavior_ru(&self) -> i32 {
        self.dbg_behavior_ru
    }

    pub fn set_dbg_behavior_ru(&mut self, value: i32) {
        self.dbg_behavior_ru = value;
    }

    pub fn dbg_behavior_ll(&self) -> i32 {
        self.dbg_behavior_ll
    }

    pub fn set_dbg_behavior_ll(&mut self, value: i32) {
        self.dbg_behavior_ll = value;
    }

    pub fn dbg_behavior_lr(&self) -> i32 {
        self.dbg_behavior_lr
    }

    pub fn set_dbg_behavior_lr(&mut self, value: i32) {
        self.dbg_behavior_lr = value;
    }

    pub fn dbg_behavior_ld(&self) -> i32 {
        self.dbg_behavior_ld
    }

    pub fn set_dbg_behavior_ld(&mut self, value: i32) {
        self.dbg_behavior_ld = value;
    }

    pub fn dbg_behavior_lu(&self) -> i32 {
        self.dbg_behavior_lu
    }

    pub fn set_dbg_behavior_lu(&mut self, value: i32) {
        self.dbg_behavior_lu = value;
    }

    pub fn anim_id_offset2(&self) -> i32 {
        self.anim_id_offset2
    }

    pub fn set_anim_id_offset2(&mut self, value: i32) {
        self.anim_id_offset2 = value;
    }

    pub fn parts_damage_rate1(&self) -> f32 {
        self.parts_damage_rate1
    }

    pub fn set_parts_damage_rate1(&mut self, value: f32) {
        self.parts_damage_rate1 = value;
    }

    pub fn parts_damage_rate2(&self) -> f32 {
        self.parts_damage_rate2
    }

    pub fn set_parts_damage_rate2(&mut self, value: f32) {
        self.parts_damage_rate2 = value;
    }

    pub fn parts_damage_rate3(&self) -> f32 {
        self.parts_damage_rate3
    }

    pub fn set_parts_damage_rate3(&mut self, value: f32) {
        self.parts_damage_rate3 = value;
    }

    pub fn parts_damage_rate4(&self) -> f32 {
        self.parts_damage_rate4
    }

    pub fn set_parts_damage_rate4(&mut self, value: f32) {
        self.parts_damage_rate4 = value;
    }

    pub fn parts_damage_rate5(&self) -> f32 {
        self.parts_damage_rate5
    }

    pub fn set_parts_damage_rate5(&mut self, value: f32) {
        self.parts_damage_rate5 = value;
    }

    pub fn parts_damage_rate6(&self) -> f32 {
        self.parts_damage_rate6
    }

    pub fn set_parts_damage_rate6(&mut self, value: f32) {
        self.parts_damage_rate6 = value;
    }

    pub fn parts_damage_rate7(&self) -> f32 {
        self.parts_damage_rate7
    }

    pub fn set_parts_damage_rate7(&mut self, value: f32) {
        self.parts_damage_rate7 = value;
    }

    pub fn parts_damage_rate8(&self) -> f32 {
        self.parts_damage_rate8
    }

    pub fn set_parts_damage_rate8(&mut self, value: f32) {
        self.parts_damage_rate8 = value;
    }

    pub fn weak_parts_damage_rate(&self) -> f32 {
        self.weak_parts_damage_rate
    }

    pub fn set_weak_parts_damage_rate(&mut self, value: f32) {
        self.weak_parts_damage_rate = value;
    }

    pub fn super_armor_recover_correction(&self) -> f32 {
        self.super_armor_recover_correction
    }

    pub fn set_super_armor_recover_correction(&mut self, value: f32) {
        self.super_armor_recover_correction = value;
    }

    pub fn super_armor_brake_knockback_dist(&self) -> f32 {
        self.super_armor_brake_knockback_dist
    }

    pub fn set_super_armor_brake_knockback_dist(&mut self, value: f32) {
        self.super_armor_brake_knockback_dist = value;
    }

    pub fn stamina(&self) -> i16 {
        self.stamina
    }

    pub fn set_stamina(&mut self, value: i16) {
        self.stamina = value;
    }

    pub fn stamina_recover_base_val(&self) -> i16 {
        self.stamina_recover_base_val
    }

    pub fn set_stamina_recover_base_val(&mut self, value: i16) {
        self.stamina_recover_base_val = value;
    }

    pub fn def_phys(&self) -> i16 {
        self.def_phys
    }

    pub fn set_def_phys(&mut self, value: i16) {
        self.def_phys = value;
    }

    pub fn def_slash(&self) -> i16 {
        self.def_slash
    }

    pub fn set_def_slash(&mut self, value: i16) {
        self.def_slash = value;
    }

    pub fn def_blow(&self) -> i16 {
        self.def_blow
    }

    pub fn set_def_blow(&mut self, value: i16) {
        self.def_blow = value;
    }

    pub fn def_thrust(&self) -> i16 {
        self.def_thrust
    }

    pub fn set_def_thrust(&mut self, value: i16) {
        self.def_thrust = value;
    }

    pub fn def_mag(&self) -> i16 {
        self.def_mag
    }

    pub fn set_def_mag(&mut self, value: i16) {
        self.def_mag = value;
    }

    pub fn def_fire(&self) -> i16 {
        self.def_fire
    }

    pub fn set_def_fire(&mut self, value: i16) {
        self.def_fire = value;
    }

    pub fn def_thunder(&self) -> i16 {
        self.def_thunder
    }

    pub fn set_def_thunder(&mut self, value: i16) {
        self.def_thunder = value;
    }

    pub fn def_flick_power(&self) -> i16 {
        self.def_flick_power
    }

    pub fn set_def_flick_power(&mut self, value: i16) {
        self.def_flick_power = value;
    }

    pub fn resist_poison(&self) -> i16 {
        self.resist_poison
    }

    pub fn set_resist_poison(&mut self, value: i16) {
        self.resist_poison = value;
    }

    pub fn resist_toxic(&self) -> i16 {
        self.resist_toxic
    }

    pub fn set_resist_toxic(&mut self, value: i16) {
        self.resist_toxic = value;
    }

    pub fn resist_blood(&self) -> i16 {
        self.resist_blood
    }

    pub fn set_resist_blood(&mut self, value: i16) {
        self.resist_blood = value;
    }

    pub fn resist_curse(&self) -> i16 {
        self.resist_curse
    }

    pub fn set_resist_curse(&mut self, value: i16) {
        self.resist_curse = value;
    }

    pub fn ghost_model_id(&self) -> i16 {
        self.ghost_model_id
    }

    pub fn set_ghost_model_id(&mut self, value: i16) {
        self.ghost_model_id = value;
    }

    pub fn normal_change_resource_id(&self) -> i16 {
        self.normal_change_resource_id
    }

    pub fn set_normal_change_resource_id(&mut self, value: i16) {
        self.normal_change_resource_id = value;
    }

    pub fn guard_angle(&self) -> i16 {
        self.guard_angle
    }

    pub fn set_guard_angle(&mut self, value: i16) {
        self.guard_angle = value;
    }

    pub fn slash_guard_cut_rate(&self) -> i16 {
        self.slash_guard_cut_rate
    }

    pub fn set_slash_guard_cut_rate(&mut self, value: i16) {
        self.slash_guard_cut_rate = value;
    }

    pub fn blow_guard_cut_rate(&self) -> i16 {
        self.blow_guard_cut_rate
    }

    pub fn set_blow_guard_cut_rate(&mut self, value: i16) {
        self.blow_guard_cut_rate = value;
    }

    pub fn thrust_guard_cut_rate(&self) -> i16 {
        self.thrust_guard_cut_rate
    }

    pub fn set_thrust_guard_cut_rate(&mut self, value: i16) {
        self.thrust_guard_cut_rate = value;
    }

    pub fn super_armor_durability(&self) -> i16 {
        self.super_armor_durability
    }

    pub fn set_super_armor_durability(&mut self, value: i16) {
        self.super_armor_durability = value;
    }

    pub fn normal_change_tex_chr_id(&self) -> i16 {
        self.normal_change_tex_chr_id
    }

    pub fn set_normal_change_tex_chr_id(&mut self, value: i16) {
        self.normal_change_tex_chr_id = value;
    }

    pub fn drop_type(&self) -> i16 {
        self.drop_type
    }

    pub fn set_drop_type(&mut self, value: i16) {
        self.drop_type = value;
    }

    pub fn knockback_rate(&self) -> u8 {
        self.knockback_rate
    }

    pub fn set_knockback_rate(&mut self, value: u8) {
        self.knockback_rate = value;
    }

    pub fn knockback_param_id(&self) -> u8 {
        self.knockback_param_id
    }

    pub fn set_knockback_param_id(&mut self, value: u8) {
        self.knockback_param_id = value;
    }

    pub fn fall_damage_damp(&self) -> u8 {
        self.fall_damage_damp
    }

    pub fn set_fall_damage_damp(&mut self, value: u8) {
        self.fall_damage_damp = value;
    }

    pub fn stamina_guard_def(&self) -> u8 {
        self.stamina_guard_def
    }

    pub fn set_stamina_guard_def(&mut self, value: u8) {
        self.stamina_guard_def = value;
    }

    pub fn pc_attr_b(&self) -> u8 {
        self.pc_attr_b
    }

    pub fn set_pc_attr_b(&mut self, value: u8) {
        self.pc_attr_b = value;
    }

    pub fn pc_attr_w(&self) -> u8 {
        self.pc_attr_w
    }

    pub fn set_pc_attr_w(&mut self, value: u8) {
        self.pc_attr_w = value;
    }

    pub fn pc_attr_l(&self) -> u8 {
        self.pc_attr_l
    }

    pub fn set_pc_attr_l(&mut self, value: u8) {
        self.pc_attr_l = value;
    }

    pub fn pc_attr_r(&self) -> u8 {
        self.pc_attr_r
    }

    pub fn set_pc_attr_r(&mut self, value: u8) {
        self.pc_attr_r = value;
    }

    pub fn area_attr_b(&self) -> u8 {
        self.area_attr_b
    }

    pub fn set_area_attr_b(&mut self, value: u8) {
        self.area_attr_b = value;
    }

    pub fn area_attr_w(&self) -> u8 {
        self.area_attr_w
    }

    pub fn set_area_attr_w(&mut self, value: u8) {
        self.area_attr_w = value;
    }

    pub fn area_attr_l(&self) -> u8 {
        self.area_attr_l
    }

    pub fn set_area_attr_l(&mut self, value: u8) {
        self.area_attr_l = value;
    }

    pub fn area_attr_r(&self) -> u8 {
        self.area_attr_r
    }

    pub fn set_area_attr_r(&mut self, value: u8) {
        self.area_attr_r = value;
    }

    pub fn mp_recover_base_val(&self) -> u8 {
        self.mp_recover_base_val
    }

    pub fn set_mp_recover_base_val(&mut self, value: u8) {
        self.mp_recover_base_val = value;
    }

    pub fn flick_damage_cut_rate(&self) -> u8 {
        self.flick_damage_cut_rate
    }

    pub fn set_flick_damage_cut_rate(&mut self, value: u8) {
        self.flick_damage_cut_rate = value;
    }

    pub fn default_lod_param_id(&self) -> i8 {
        self.default_lod_param_id
    }

    pub fn set_default_lod_param_id(&mut self, value: i8) {
        self.default_lod_param_id = value;
    }

    pub fn draw_type(&self) -> u8 {
        self.draw_type
    }

    pub fn set_draw_type(&mut self, value: u8) {
        self.draw_type = value;
    }

    pub fn npc_type(&self) -> u8 {
        self.npc_type
    }

    pub fn set_npc_type(&mut self, value: u8) {
        self.npc_type = value;
    }

    pub fn team_type(&self) -> u8 {
        self.team_type
    }

    pub fn set_team_type(&mut self, value: u8) {
        self.team_type = value;
    }

    pub fn move_type(&self) -> u8 {
        self.move_type
    }

    pub fn set_move_type(&mut self, value: u8) {
        self.move_type = value;
    }

    pub fn lock_dist(&self) -> u8 {
        self.lock_dist
    }

    pub fn set_lock_dist(&mut self, value: u8) {
        self.lock_dist = value;
    }

    pub fn material(&self) -> i16 {
        self.material
    }

    pub fn set_material(&mut self, value: i16) {
        self.material = value;
    }

    pub fn material_sfx(&self) -> i16 {
        self.material_sfx
    }

    pub fn set_material_sfx(&mut self, value: i16) {
        self.material_sfx = value;
    }

    pub fn parts_damage_type(&self) -> u8 {
        self.parts_damage_type
    }

    pub fn set_parts_damage_type(&mut self, value: u8) {
        self.parts_damage_type = value;
    }

    pub fn max_unduration_ang(&self) -> u8 {
        self.max_unduration_ang
    }

    pub fn set_max_unduration_ang(&mut self, value: u8) {
        self.max_unduration_ang = value;
    }

    pub fn guard_level(&self) -> u8 {
        self.guard_level
    }

    pub fn set_guard_level(&mut self, value: u8) {
        self.guard_level = value;
    }

    pub fn burnsfx_type(&self) -> u8 {
        self.burnsfx_type
    }

    pub fn set_burnsfx_type(&mut self, value: u8) {
        self.burnsfx_type = value;
    }

    pub fn poison_guard_resist(&self) -> u8 {
        self.poison_guard_resist
    }

    pub fn set_poison_guard_resist(&mut self, value: u8) {
        self.poison_guard_resist = value;
    }

    pub fn toxic_guard_resist(&self) -> u8 {
        self.toxic_guard_resist
    }

    pub fn set_toxic_guard_resist(&mut self, value: u8) {
        self.toxic_guard_resist = value;
    }

    pub fn blood_guard_resist(&self) -> u8 {
        self.blood_guard_resist
    }

    pub fn set_blood_guard_resist(&mut self, value: u8) {
        self.blood_guard_resist = value;
    }

    pub fn curse_guard_resist(&self) -> u8 {
        self.curse_guard_resist
    }

    pub fn set_curse_guard_resist(&mut self, value: u8) {
        self.curse_guard_resist = value;
    }

    pub fn parry_attack(&self) -> u8 {
        self.parry_attack
    }

    pub fn set_parry_attack(&mut self, value: u8) {
        self.parry_attack = value;
    }

    pub fn parry_defense(&self) -> u8 {
        self.parry_defense
    }

    pub fn set_parry_defense(&mut self, value: u8) {
        self.parry_defense = value;
    }

    pub fn sfx_size(&self) -> u8 {
        self.sfx_size
    }

    pub fn set_sfx_size(&mut self, value: u8) {
        self.sfx_size = value;
    }

    pub fn push_out_cam_region_radius(&self) -> u8 {
        self.push_out_cam_region_radius
    }

    pub fn set_push_out_cam_region_radius(&mut self, value: u8) {
        self.push_out_cam_region_radius = value;
    }

    pub fn hit_stop_type(&self) -> u8 {
        self.hit_stop_type
    }

    pub fn set_hit_stop_type(&mut self, value: u8) {
        self.hit_stop_type = value;
    }

    pub fn ladder_end_chk_offset_top(&self) -> u8 {
        self.ladder_end_chk_offset_top
    }

    pub fn set_ladder_end_chk_offset_top(&mut self, value: u8) {
        self.ladder_end_chk_offset_top = value;
    }

    pub fn ladder_end_chk_offset_low(&self) -> u8 {
        self.ladder_end_chk_offset_low
    }

    pub fn set_ladder_end_chk_offset_low(&mut self, value: u8) {
        self.ladder_end_chk_offset_low = value;
    }

    #[allow(clippy::identity_op)]
    pub fn use_ragdoll_cam_hit(&self) -> u8 {
        (self.bits_145 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_ragdoll_cam_hit(&mut self, value: u8) {
        self.bits_145 = (self.bits_145 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_cloth_rigid_hit(&self) -> u8 {
        (self.bits_145 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_cloth_rigid_hit(&mut self, value: u8) {
        self.bits_145 = (self.bits_145 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn use_ragdoll(&self) -> u8 {
        (self.bits_145 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_ragdoll(&mut self, value: u8) {
        self.bits_145 = (self.bits_145 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_a(&self) -> u8 {
        (self.bits_145 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_a(&mut self, value: u8) {
        self.bits_145 = (self.bits_145 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_ghost(&self) -> u8 {
        (self.bits_145 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ghost(&mut self, value: u8) {
        self.bits_145 = (self.bits_145 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_no_damage_motion(&self) -> u8 {
        (self.bits_145 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_no_damage_motion(&mut self, value: u8) {
        self.bits_145 = (self.bits_145 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_unduration(&self) -> u8 {
        (self.bits_145 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_unduration(&mut self, value: u8) {
        self.bits_145 = (self.bits_145 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_change_wander_ghost(&self) -> u8 {
        (self.bits_145 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_change_wander_ghost(&mut self, value: u8) {
        self.bits_145 = (self.bits_145 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask0(&self) -> u8 {
        (self.bits_146 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask0(&mut self, value: u8) {
        self.bits_146 = (self.bits_146 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask1(&self) -> u8 {
        (self.bits_146 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask1(&mut self, value: u8) {
        self.bits_146 = (self.bits_146 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask2(&self) -> u8 {
        (self.bits_146 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask2(&mut self, value: u8) {
        self.bits_146 = (self.bits_146 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask3(&self) -> u8 {
        (self.bits_146 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask3(&mut self, value: u8) {
        self.bits_146 = (self.bits_146 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask4(&self) -> u8 {
        (self.bits_146 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask4(&mut self, value: u8) {
        self.bits_146 = (self.bits_146 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask5(&self) -> u8 {
        (self.bits_146 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask5(&mut self, value: u8) {
        self.bits_146 = (self.bits_146 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask6(&self) -> u8 {
        (self.bits_146 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask6(&mut self, value: u8) {
        self.bits_146 = (self.bits_146 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask7(&self) -> u8 {
        (self.bits_146 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask7(&mut self, value: u8) {
        self.bits_146 = (self.bits_146 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask8(&self) -> u8 {
        (self.bits_147 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask8(&mut self, value: u8) {
        self.bits_147 = (self.bits_147 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask9(&self) -> u8 {
        (self.bits_147 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask9(&mut self, value: u8) {
        self.bits_147 = (self.bits_147 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask10(&self) -> u8 {
        (self.bits_147 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask10(&mut self, value: u8) {
        self.bits_147 = (self.bits_147 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask11(&self) -> u8 {
        (self.bits_147 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask11(&mut self, value: u8) {
        self.bits_147 = (self.bits_147 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask12(&self) -> u8 {
        (self.bits_147 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask12(&mut self, value: u8) {
        self.bits_147 = (self.bits_147 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask13(&self) -> u8 {
        (self.bits_147 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask13(&mut self, value: u8) {
        self.bits_147 = (self.bits_147 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask14(&self) -> u8 {
        (self.bits_147 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask14(&mut self, value: u8) {
        self.bits_147 = (self.bits_147 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask15(&self) -> u8 {
        (self.bits_147 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask15(&mut self, value: u8) {
        self.bits_147 = (self.bits_147 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_neck_turn(&self) -> u8 {
        (self.bits_148 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_neck_turn(&mut self, value: u8) {
        self.bits_148 = (self.bits_148 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_respawn(&self) -> u8 {
        (self.bits_148 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_respawn(&mut self, value: u8) {
        self.bits_148 = (self.bits_148 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_move_anim_wait(&self) -> u8 {
        (self.bits_148 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_move_anim_wait(&mut self, value: u8) {
        self.bits_148 = (self.bits_148 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_crowd(&self) -> u8 {
        (self.bits_148 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_crowd(&mut self, value: u8) {
        self.bits_148 = (self.bits_148 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_b(&self) -> u8 {
        (self.bits_148 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_b(&mut self, value: u8) {
        self.bits_148 = (self.bits_148 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_c(&self) -> u8 {
        (self.bits_148 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_c(&mut self, value: u8) {
        self.bits_148 = (self.bits_148 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_d(&self) -> u8 {
        (self.bits_148 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_d(&mut self, value: u8) {
        self.bits_148 = (self.bits_148 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn does_always_use_special_turn(&self) -> u8 {
        (self.bits_148 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_does_always_use_special_turn(&mut self, value: u8) {
        self.bits_148 = (self.bits_148 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type0(&self) -> u8 {
        (self.bits_149 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type0(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type1(&self) -> u8 {
        (self.bits_149 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type1(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type2(&self) -> u8 {
        (self.bits_149 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type2(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_initialize_dead(&self) -> u8 {
        (self.bits_149 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_initialize_dead(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hit_rumble(&self) -> u8 {
        (self.bits_149 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hit_rumble(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_smooth_turn(&self) -> u8 {
        (self.bits_149 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_smooth_turn(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_e(&self) -> u8 {
        (self.bits_149 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_e(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_f(&self) -> u8 {
        (self.bits_149 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_f(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask16(&self) -> u8 {
        (self.bits_14a >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask16(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask17(&self) -> u8 {
        (self.bits_14a >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask17(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask18(&self) -> u8 {
        (self.bits_14a >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask18(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask19(&self) -> u8 {
        (self.bits_14a >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask19(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask20(&self) -> u8 {
        (self.bits_14a >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask20(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask21(&self) -> u8 {
        (self.bits_14a >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask21(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask22(&self) -> u8 {
        (self.bits_14a >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask22(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask23(&self) -> u8 {
        (self.bits_14a >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask23(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask24(&self) -> u8 {
        (self.bits_14b >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask24(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask25(&self) -> u8 {
        (self.bits_14b >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask25(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask26(&self) -> u8 {
        (self.bits_14b >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask26(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask27(&self) -> u8 {
        (self.bits_14b >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask27(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask28(&self) -> u8 {
        (self.bits_14b >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask28(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask29(&self) -> u8 {
        (self.bits_14b >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask29(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask30(&self) -> u8 {
        (self.bits_14b >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask30(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask31(&self) -> u8 {
        (self.bits_14b >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask31(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn item_search_radius(&self) -> f32 {
        self.item_search_radius
    }

    pub fn set_item_search_radius(&mut self, value: f32) {
        self.item_search_radius = value;
    }

    pub fn chr_hit_height(&self) -> f32 {
        self.chr_hit_height
    }

    pub fn set_chr_hit_height(&mut self, value: f32) {
        self.chr_hit_height = value;
    }

    pub fn chr_hit_radius(&self) -> f32 {
        self.chr_hit_radius
    }

    pub fn set_chr_hit_radius(&mut self, value: f32) {
        self.chr_hit_radius = value;
    }

    pub fn special_turn_type(&self) -> u8 {
        self.special_turn_type
    }

    pub fn set_special_turn_type(&mut self, value: u8) {
        self.special_turn_type = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_soul_get_by_boss(&self) -> u8 {
        (self.bits_159 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_soul_get_by_boss(&mut self, value: u8) {
        self.bits_159 = (self.bits_159 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_bullet_owner_by_object(&self) -> u8 {
        (self.bits_159 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_bullet_owner_by_object(&mut self, value: u8) {
        self.bits_159 = (self.bits_159 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_low_hit_foot_ik(&self) -> u8 {
        (self.bits_159 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_low_hit_foot_ik(&mut self, value: u8) {
        self.bits_159 = (self.bits_159 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_calculate_pv_p_damage(&self) -> u8 {
        (self.bits_159 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_calculate_pv_p_damage(&mut self, value: u8) {
        self.bits_159 = (self.bits_159 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_host_sync_chr(&self) -> u8 {
        (self.bits_159 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_host_sync_chr(&mut self, value: u8) {
        self.bits_159 = (self.bits_159 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_skip_weak_damage_anim(&self) -> u8 {
        (self.bits_159 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_skip_weak_damage_anim(&mut self, value: u8) {
        self.bits_159 = (self.bits_159 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    pub fn def_dark(&self) -> i16 {
        self.def_dark
    }

    pub fn set_def_dark(&mut self, value: i16) {
        self.def_dark = value;
    }

    pub fn special_turn_distance_threshold(&self) -> f32 {
        self.special_turn_distance_threshold
    }

    pub fn set_special_turn_distance_threshold(&mut self, value: f32) {
        self.special_turn_distance_threshold = value;
    }

    pub fn auto_foot_effect_sfx_id(&self) -> i32 {
        self.auto_foot_effect_sfx_id
    }

    pub fn set_auto_foot_effect_sfx_id(&mut self, value: i32) {
        self.auto_foot_effect_sfx_id = value;
    }

    pub fn sub_material(&self) -> i16 {
        self.sub_material
    }

    pub fn set_sub_material(&mut self, value: i16) {
        self.sub_material = value;
    }

    pub fn sub_material_sfx(&self) -> i16 {
        self.sub_material_sfx
    }

    pub fn set_sub_material_sfx(&mut self, value: i16) {
        self.sub_material_sfx = value;
    }

    pub fn material_weak(&self) -> i16 {
        self.material_weak
    }

    pub fn set_material_weak(&mut self, value: i16) {
        self.material_weak = value;
    }

    pub fn material_sfx_weak(&self) -> i16 {
        self.material_sfx_weak
    }

    pub fn set_material_sfx_weak(&mut self, value: i16) {
        self.material_sfx_weak = value;
    }

    pub fn sub_material_weak(&self) -> i16 {
        self.sub_material_weak
    }

    pub fn set_sub_material_weak(&mut self, value: i16) {
        self.sub_material_weak = value;
    }

    pub fn sub_material_sfx_weak(&self) -> i16 {
        self.sub_material_sfx_weak
    }

    pub fn set_sub_material_sfx_weak(&mut self, value: i16) {
        self.sub_material_sfx_weak = value;
    }

    pub fn sp_effect_id8(&self) -> i32 {
        self.sp_effect_id8
    }

    pub fn set_sp_effect_id8(&mut self, value: i32) {
        self.sp_effect_id8 = value;
    }

    pub fn sp_effect_id9(&self) -> i32 {
        self.sp_effect_id9
    }

    pub fn set_sp_effect_id9(&mut self, value: i32) {
        self.sp_effect_id9 = value;
    }

    pub fn sp_effect_id10(&self) -> i32 {
        self.sp_effect_id10
    }

    pub fn set_sp_effect_id10(&mut self, value: i32) {
        self.sp_effect_id10 = value;
    }

    pub fn sp_effect_id11(&self) -> i32 {
        self.sp_effect_id11
    }

    pub fn set_sp_effect_id11(&mut self, value: i32) {
        self.sp_effect_id11 = value;
    }

    pub fn sp_effect_id12(&self) -> i32 {
        self.sp_effect_id12
    }

    pub fn set_sp_effect_id12(&mut self, value: i32) {
        self.sp_effect_id12 = value;
    }

    pub fn sp_effect_id13(&self) -> i32 {
        self.sp_effect_id13
    }

    pub fn set_sp_effect_id13(&mut self, value: i32) {
        self.sp_effect_id13 = value;
    }

    pub fn sp_effect_id14(&self) -> i32 {
        self.sp_effect_id14
    }

    pub fn set_sp_effect_id14(&mut self, value: i32) {
        self.sp_effect_id14 = value;
    }

    pub fn sp_effect_id15(&self) -> i32 {
        self.sp_effect_id15
    }

    pub fn set_sp_effect_id15(&mut self, value: i32) {
        self.sp_effect_id15 = value;
    }

    pub fn auto_foot_effect_decal_base_id1(&self) -> i32 {
        self.auto_foot_effect_decal_base_id1
    }

    pub fn set_auto_foot_effect_decal_base_id1(&mut self, value: i32) {
        self.auto_foot_effect_decal_base_id1 = value;
    }

    pub fn toughness(&self) -> i32 {
        self.toughness
    }

    pub fn set_toughness(&mut self, value: i32) {
        self.toughness = value;
    }

    pub fn toughness_recover_correction(&self) -> f32 {
        self.toughness_recover_correction
    }

    pub fn set_toughness_recover_correction(&mut self, value: f32) {
        self.toughness_recover_correction = value;
    }

    pub fn regain_rate_phys_neutral(&self) -> f32 {
        self.regain_rate_phys_neutral
    }

    pub fn set_regain_rate_phys_neutral(&mut self, value: f32) {
        self.regain_rate_phys_neutral = value;
    }

    pub fn regain_rate_phys_slash(&self) -> f32 {
        self.regain_rate_phys_slash
    }

    pub fn set_regain_rate_phys_slash(&mut self, value: f32) {
        self.regain_rate_phys_slash = value;
    }

    pub fn regain_rate_phys_blow(&self) -> f32 {
        self.regain_rate_phys_blow
    }

    pub fn set_regain_rate_phys_blow(&mut self, value: f32) {
        self.regain_rate_phys_blow = value;
    }

    pub fn regain_rate_phys_thrust(&self) -> f32 {
        self.regain_rate_phys_thrust
    }

    pub fn set_regain_rate_phys_thrust(&mut self, value: f32) {
        self.regain_rate_phys_thrust = value;
    }

    pub fn regain_rate_magic(&self) -> f32 {
        self.regain_rate_magic
    }

    pub fn set_regain_rate_magic(&mut self, value: f32) {
        self.regain_rate_magic = value;
    }

    pub fn regain_rate_fire(&self) -> f32 {
        self.regain_rate_fire
    }

    pub fn set_regain_rate_fire(&mut self, value: f32) {
        self.regain_rate_fire = value;
    }

    pub fn regain_rate_thunder(&self) -> f32 {
        self.regain_rate_thunder
    }

    pub fn set_regain_rate_thunder(&mut self, value: f32) {
        self.regain_rate_thunder = value;
    }

    pub fn regain_rate_dark(&self) -> f32 {
        self.regain_rate_dark
    }

    pub fn set_regain_rate_dark(&mut self, value: f32) {
        self.regain_rate_dark = value;
    }

    pub fn dark_guard_cut_rate(&self) -> f32 {
        self.dark_guard_cut_rate
    }

    pub fn set_dark_guard_cut_rate(&mut self, value: f32) {
        self.dark_guard_cut_rate = value;
    }

    pub fn cloth_update_offset(&self) -> i8 {
        self.cloth_update_offset
    }

    pub fn set_cloth_update_offset(&mut self, value: i8) {
        self.cloth_update_offset = value;
    }

    pub fn npc_player_weight_type(&self) -> u8 {
        self.npc_player_weight_type
    }

    pub fn set_npc_player_weight_type(&mut self, value: u8) {
        self.npc_player_weight_type = value;
    }

    pub fn normal_change_model_id(&self) -> i16 {
        self.normal_change_model_id
    }

    pub fn set_normal_change_model_id(&mut self, value: i16) {
        self.normal_change_model_id = value;
    }

    pub fn normal_change_anim_chr_id(&self) -> i16 {
        self.normal_change_anim_chr_id
    }

    pub fn set_normal_change_anim_chr_id(&mut self, value: i16) {
        self.normal_change_anim_chr_id = value;
    }

    pub fn paint_render_target_size(&self) -> i16 {
        self.paint_render_target_size
    }

    pub fn set_paint_render_target_size(&mut self, value: i16) {
        self.paint_render_target_size = value;
    }

    pub fn cult_setting_id(&self) -> i32 {
        self.cult_setting_id
    }

    pub fn set_cult_setting_id(&mut self, value: i32) {
        self.cult_setting_id = value;
    }

    pub fn phantom_param_id(&self) -> i32 {
        self.phantom_param_id
    }

    pub fn set_phantom_param_id(&mut self, value: i32) {
        self.phantom_param_id = value;
    }

    pub fn multi_play_correction_id(&self) -> i32 {
        self.multi_play_correction_id
    }

    pub fn set_multi_play_correction_id(&mut self, value: i32) {
        self.multi_play_correction_id = value;
    }

    pub fn max_ankle_pitch_angle(&self) -> f32 {
        self.max_ankle_pitch_angle
    }

    pub fn set_max_ankle_pitch_angle(&mut self, value: f32) {
        self.max_ankle_pitch_angle = value;
    }

    pub fn resist_frost(&self) -> i16 {
        self.resist_frost
    }

    pub fn set_resist_frost(&mut self, value: i16) {
        self.resist_frost = value;
    }

    pub fn freeze_guard_resist(&self) -> u8 {
        self.freeze_guard_resist
    }

    pub fn set_freeze_guard_resist(&mut self, value: u8) {
        self.freeze_guard_resist = value;
    }

    pub fn sub_team_type(&self) -> u8 {
        self.sub_team_type
    }

    pub fn set_sub_team_type(&mut self, value: u8) {
        self.sub_team_type = value;
    }

    pub fn lock_cam_param_id(&self) -> i32 {
        self.lock_cam_param_id
    }

    pub fn set_lock_cam_param_id(&mut self, value: i32) {
        self.lock_cam_param_id = value;
    }

    pub fn sp_effect_id16(&self) -> i32 {
        self.sp_effect_id16
    }

    pub fn set_sp_effect_id16(&mut self, value: i32) {
        self.sp_effect_id16 = value;
    }

    pub fn sp_effect_id17(&self) -> i32 {
        self.sp_effect_id17
    }

    pub fn set_sp_effect_id17(&mut self, value: i32) {
        self.sp_effect_id17 = value;
    }

    pub fn sp_effect_id18(&self) -> i32 {
        self.sp_effect_id18
    }

    pub fn set_sp_effect_id18(&mut self, value: i32) {
        self.sp_effect_id18 = value;
    }

    pub fn sp_effect_id19(&self) -> i32 {
        self.sp_effect_id19
    }

    pub fn set_sp_effect_id19(&mut self, value: i32) {
        self.sp_effect_id19 = value;
    }

    pub fn sp_effect_id20(&self) -> i32 {
        self.sp_effect_id20
    }

    pub fn set_sp_effect_id20(&mut self, value: i32) {
        self.sp_effect_id20 = value;
    }

    pub fn sp_effect_id21(&self) -> i32 {
        self.sp_effect_id21
    }

    pub fn set_sp_effect_id21(&mut self, value: i32) {
        self.sp_effect_id21 = value;
    }

    pub fn sp_effect_id22(&self) -> i32 {
        self.sp_effect_id22
    }

    pub fn set_sp_effect_id22(&mut self, value: i32) {
        self.sp_effect_id22 = value;
    }

    pub fn sp_effect_id23(&self) -> i32 {
        self.sp_effect_id23
    }

    pub fn set_sp_effect_id23(&mut self, value: i32) {
        self.sp_effect_id23 = value;
    }

    pub fn sp_effect_id24(&self) -> i32 {
        self.sp_effect_id24
    }

    pub fn set_sp_effect_id24(&mut self, value: i32) {
        self.sp_effect_id24 = value;
    }

    pub fn sp_effect_id25(&self) -> i32 {
        self.sp_effect_id25
    }

    pub fn set_sp_effect_id25(&mut self, value: i32) {
        self.sp_effect_id25 = value;
    }

    pub fn sp_effect_id26(&self) -> i32 {
        self.sp_effect_id26
    }

    pub fn set_sp_effect_id26(&mut self, value: i32) {
        self.sp_effect_id26 = value;
    }

    pub fn sp_effect_id27(&self) -> i32 {
        self.sp_effect_id27
    }

    pub fn set_sp_effect_id27(&mut self, value: i32) {
        self.sp_effect_id27 = value;
    }

    pub fn sp_effect_id28(&self) -> i32 {
        self.sp_effect_id28
    }

    pub fn set_sp_effect_id28(&mut self, value: i32) {
        self.sp_effect_id28 = value;
    }

    pub fn sp_effect_id29(&self) -> i32 {
        self.sp_effect_id29
    }

    pub fn set_sp_effect_id29(&mut self, value: i32) {
        self.sp_effect_id29 = value;
    }

    pub fn sp_effect_id30(&self) -> i32 {
        self.sp_effect_id30
    }

    pub fn set_sp_effect_id30(&mut self, value: i32) {
        self.sp_effect_id30 = value;
    }

    pub fn sp_effect_id31(&self) -> i32 {
        self.sp_effect_id31
    }

    pub fn set_sp_effect_id31(&mut self, value: i32) {
        self.sp_effect_id31 = value;
    }

    pub fn disable_lock_on_ang(&self) -> f32 {
        self.disable_lock_on_ang
    }

    pub fn set_disable_lock_on_ang(&mut self, value: f32) {
        self.disable_lock_on_ang = value;
    }

    pub fn cloth_off_lod_level(&self) -> i8 {
        self.cloth_off_lod_level
    }

    pub fn set_cloth_off_lod_level(&mut self, value: i8) {
        self.cloth_off_lod_level = value;
    }

    pub fn estus_flask_recovery_param_id(&self) -> i16 {
        self.estus_flask_recovery_param_id
    }

    pub fn set_estus_flask_recovery_param_id(&mut self, value: i16) {
        self.estus_flask_recovery_param_id = value;
    }

    pub fn role_name_id(&self) -> i32 {
        self.role_name_id
    }

    pub fn set_role_name_id(&mut self, value: i32) {
        self.role_name_id = value;
    }

    pub fn estus_flask_lot_point(&self) -> i16 {
        self.estus_flask_lot_point
    }

    pub fn set_estus_flask_lot_point(&mut self, value: i16) {
        self.estus_flask_lot_point = value;
    }

    pub fn hp_estus_flask_lot_point(&self) -> i16 {
        self.hp_estus_flask_lot_point
    }

    pub fn set_hp_estus_flask_lot_point(&mut self, value: i16) {
        self.hp_estus_flask_lot_point = value;
    }

    pub fn mp_estus_flask_lot_point(&self) -> i16 {
        self.mp_estus_flask_lot_point
    }

    pub fn set_mp_estus_flask_lot_point(&mut self, value: i16) {
        self.mp_estus_flask_lot_point = value;
    }

    pub fn estus_flask_recovery_failed_lot_point_add(&self) -> i16 {
        self.estus_flask_recovery_failed_lot_point_add
    }

    pub fn set_estus_flask_recovery_failed_lot_point_add(&mut self, value: i16) {
        self.estus_flask_recovery_failed_lot_point_add = value;
    }

    pub fn hp_estus_flask_recovery_failed_lot_point_add(&self) -> i16 {
        self.hp_estus_flask_recovery_failed_lot_point_add
    }

    pub fn set_hp_estus_flask_recovery_failed_lot_point_add(&mut self, value: i16) {
        self.hp_estus_flask_recovery_failed_lot_point_add = value;
    }

    pub fn mp_estus_flask_recovery_failed_lot_point_add(&self) -> i16 {
        self.mp_estus_flask_recovery_failed_lot_point_add
    }

    pub fn set_mp_estus_flask_recovery_failed_lot_point_add(&mut self, value: i16) {
        self.mp_estus_flask_recovery_failed_lot_point_add = value;
    }

    pub fn wander_ghost_phantom_id(&self) -> i32 {
        self.wander_ghost_phantom_id
    }

    pub fn set_wander_ghost_phantom_id(&mut self, value: i32) {
        self.wander_ghost_phantom_id = value;
    }

    pub fn hearing_head_size(&self) -> f32 {
        self.hearing_head_size
    }

    pub fn set_hearing_head_size(&mut self, value: f32) {
        self.hearing_head_size = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct NPC_THINK_PARAM_ST {
    logic_id: i32,
    battle_goal_id: i32,
    pad1: [u8; 16],
    back_home_life_on_hit_ene_wal: f32,
    sight_target_forget_time: f32,
    id_attack_cannot_move: i32,
    ear_dist: f32,
    call_help_action_anim_id: i32,
    call_help_call_action_id: i32,
    eye_dist: u16,
    is_guard_act: u8,
    pad6: [u8; 1],
    ear_soundcut_dist: u16,
    nose_dist: u16,
    max_backhome_dist: u16,
    backhome_dist: u16,
    backhome_battle_dist: u16,
    non_battle_act_life: u16,
    back_home_look_target_time: u16,
    back_home_look_target_dist: u16,
    sound_target_forget_time: f32,
    battle_start_dist: u16,
    call_help_my_peer_id: u16,
    call_help_call_peer_id: u16,
    target_sys_dmg_effect_rate: u16,
    team_attack_effectivity: u8,
    eye_ang_x: u8,
    eye_ang_y: u8,
    disable_dark: u8,
    caravan_role: u8,
    call_help_call_valid_min_dist_target: u8,
    call_help_call_valid_range: u8,
    call_help_forget_time_by_arrival: u8,
    call_help_min_wait_time: u8,
    call_help_max_wait_time: u8,
    goal_action_to_caution: u8,
    ear_listen_level: u8,
    call_help_reply_behavior_type: u8,
    disable_path_move: u8,
    skip_arrival_visible_check: u8,
    think_attr_do_admirer: u8,
    bits_60: u8,
    enable_navi_flag_reserve: [u8; 3],
    search_threshold_lv0to_lv1: i32,
    search_threshold_lv1to_lv2: i32,
    platoon_reply_time: f32,
    platoon_reply_add_random_time: f32,
    search_eye_ang_x: u8,
    is_update_battle_sight: u8,
    battle_eye_update_dist: u16,
    battle_eye_update_ang_x: u8,
    battle_eye_update_ang_y: u8,
    pad2: [u8; 16],
    eye_back_offset_dist: u16,
    eye_begin_dist: u16,
    act_type_on_failed_path: u8,
    goal_action_to_caution_important: u8,
    shift_anime_id_ranged_attack: i32,
    act_type_on_non_btl_failed_path: u8,
    is_buddy_ai: u8,
    goal_action_to_search_lv1: u8,
    goal_action_to_search_lv2: u8,
    enable_jump_move: u8,
    disable_local_steering: u8,
    goal_action_to_disappear: u8,
    change_state_action_to_normal: u8,
    memory_target_forget_time: f32,
    ranged_attack_id: i32,
    use_fall_on_normal_caution: u8,
    use_fall_on_search_battle: u8,
    enable_jump_move_on_battle: u8,
    back_to_home_stuck_act: u8,
    pad3: [u8; 4],
}

impl ParamDef for NPC_THINK_PARAM_ST {
    const NAME: &str = "NPC_THINK_PARAM_ST";
    const INDEX: usize = 71;
}

impl NPC_THINK_PARAM_ST {
    pub fn logic_id(&self) -> i32 {
        self.logic_id
    }

    pub fn set_logic_id(&mut self, value: i32) {
        self.logic_id = value;
    }

    pub fn battle_goal_id(&self) -> i32 {
        self.battle_goal_id
    }

    pub fn set_battle_goal_id(&mut self, value: i32) {
        self.battle_goal_id = value;
    }

    pub fn back_home_life_on_hit_ene_wal(&self) -> f32 {
        self.back_home_life_on_hit_ene_wal
    }

    pub fn set_back_home_life_on_hit_ene_wal(&mut self, value: f32) {
        self.back_home_life_on_hit_ene_wal = value;
    }

    pub fn sight_target_forget_time(&self) -> f32 {
        self.sight_target_forget_time
    }

    pub fn set_sight_target_forget_time(&mut self, value: f32) {
        self.sight_target_forget_time = value;
    }

    pub fn id_attack_cannot_move(&self) -> i32 {
        self.id_attack_cannot_move
    }

    pub fn set_id_attack_cannot_move(&mut self, value: i32) {
        self.id_attack_cannot_move = value;
    }

    pub fn ear_dist(&self) -> f32 {
        self.ear_dist
    }

    pub fn set_ear_dist(&mut self, value: f32) {
        self.ear_dist = value;
    }

    pub fn call_help_action_anim_id(&self) -> i32 {
        self.call_help_action_anim_id
    }

    pub fn set_call_help_action_anim_id(&mut self, value: i32) {
        self.call_help_action_anim_id = value;
    }

    pub fn call_help_call_action_id(&self) -> i32 {
        self.call_help_call_action_id
    }

    pub fn set_call_help_call_action_id(&mut self, value: i32) {
        self.call_help_call_action_id = value;
    }

    pub fn eye_dist(&self) -> u16 {
        self.eye_dist
    }

    pub fn set_eye_dist(&mut self, value: u16) {
        self.eye_dist = value;
    }

    pub fn is_guard_act(&self) -> u8 {
        self.is_guard_act
    }

    pub fn set_is_guard_act(&mut self, value: u8) {
        self.is_guard_act = value;
    }

    pub fn ear_soundcut_dist(&self) -> u16 {
        self.ear_soundcut_dist
    }

    pub fn set_ear_soundcut_dist(&mut self, value: u16) {
        self.ear_soundcut_dist = value;
    }

    pub fn nose_dist(&self) -> u16 {
        self.nose_dist
    }

    pub fn set_nose_dist(&mut self, value: u16) {
        self.nose_dist = value;
    }

    pub fn max_backhome_dist(&self) -> u16 {
        self.max_backhome_dist
    }

    pub fn set_max_backhome_dist(&mut self, value: u16) {
        self.max_backhome_dist = value;
    }

    pub fn backhome_dist(&self) -> u16 {
        self.backhome_dist
    }

    pub fn set_backhome_dist(&mut self, value: u16) {
        self.backhome_dist = value;
    }

    pub fn backhome_battle_dist(&self) -> u16 {
        self.backhome_battle_dist
    }

    pub fn set_backhome_battle_dist(&mut self, value: u16) {
        self.backhome_battle_dist = value;
    }

    pub fn non_battle_act_life(&self) -> u16 {
        self.non_battle_act_life
    }

    pub fn set_non_battle_act_life(&mut self, value: u16) {
        self.non_battle_act_life = value;
    }

    pub fn back_home_look_target_time(&self) -> u16 {
        self.back_home_look_target_time
    }

    pub fn set_back_home_look_target_time(&mut self, value: u16) {
        self.back_home_look_target_time = value;
    }

    pub fn back_home_look_target_dist(&self) -> u16 {
        self.back_home_look_target_dist
    }

    pub fn set_back_home_look_target_dist(&mut self, value: u16) {
        self.back_home_look_target_dist = value;
    }

    pub fn sound_target_forget_time(&self) -> f32 {
        self.sound_target_forget_time
    }

    pub fn set_sound_target_forget_time(&mut self, value: f32) {
        self.sound_target_forget_time = value;
    }

    pub fn battle_start_dist(&self) -> u16 {
        self.battle_start_dist
    }

    pub fn set_battle_start_dist(&mut self, value: u16) {
        self.battle_start_dist = value;
    }

    pub fn call_help_my_peer_id(&self) -> u16 {
        self.call_help_my_peer_id
    }

    pub fn set_call_help_my_peer_id(&mut self, value: u16) {
        self.call_help_my_peer_id = value;
    }

    pub fn call_help_call_peer_id(&self) -> u16 {
        self.call_help_call_peer_id
    }

    pub fn set_call_help_call_peer_id(&mut self, value: u16) {
        self.call_help_call_peer_id = value;
    }

    pub fn target_sys_dmg_effect_rate(&self) -> u16 {
        self.target_sys_dmg_effect_rate
    }

    pub fn set_target_sys_dmg_effect_rate(&mut self, value: u16) {
        self.target_sys_dmg_effect_rate = value;
    }

    pub fn team_attack_effectivity(&self) -> u8 {
        self.team_attack_effectivity
    }

    pub fn set_team_attack_effectivity(&mut self, value: u8) {
        self.team_attack_effectivity = value;
    }

    pub fn eye_ang_x(&self) -> u8 {
        self.eye_ang_x
    }

    pub fn set_eye_ang_x(&mut self, value: u8) {
        self.eye_ang_x = value;
    }

    pub fn eye_ang_y(&self) -> u8 {
        self.eye_ang_y
    }

    pub fn set_eye_ang_y(&mut self, value: u8) {
        self.eye_ang_y = value;
    }

    pub fn disable_dark(&self) -> u8 {
        self.disable_dark
    }

    pub fn set_disable_dark(&mut self, value: u8) {
        self.disable_dark = value;
    }

    pub fn caravan_role(&self) -> u8 {
        self.caravan_role
    }

    pub fn set_caravan_role(&mut self, value: u8) {
        self.caravan_role = value;
    }

    pub fn call_help_call_valid_min_dist_target(&self) -> u8 {
        self.call_help_call_valid_min_dist_target
    }

    pub fn set_call_help_call_valid_min_dist_target(&mut self, value: u8) {
        self.call_help_call_valid_min_dist_target = value;
    }

    pub fn call_help_call_valid_range(&self) -> u8 {
        self.call_help_call_valid_range
    }

    pub fn set_call_help_call_valid_range(&mut self, value: u8) {
        self.call_help_call_valid_range = value;
    }

    pub fn call_help_forget_time_by_arrival(&self) -> u8 {
        self.call_help_forget_time_by_arrival
    }

    pub fn set_call_help_forget_time_by_arrival(&mut self, value: u8) {
        self.call_help_forget_time_by_arrival = value;
    }

    pub fn call_help_min_wait_time(&self) -> u8 {
        self.call_help_min_wait_time
    }

    pub fn set_call_help_min_wait_time(&mut self, value: u8) {
        self.call_help_min_wait_time = value;
    }

    pub fn call_help_max_wait_time(&self) -> u8 {
        self.call_help_max_wait_time
    }

    pub fn set_call_help_max_wait_time(&mut self, value: u8) {
        self.call_help_max_wait_time = value;
    }

    pub fn goal_action_to_caution(&self) -> u8 {
        self.goal_action_to_caution
    }

    pub fn set_goal_action_to_caution(&mut self, value: u8) {
        self.goal_action_to_caution = value;
    }

    pub fn ear_listen_level(&self) -> u8 {
        self.ear_listen_level
    }

    pub fn set_ear_listen_level(&mut self, value: u8) {
        self.ear_listen_level = value;
    }

    pub fn call_help_reply_behavior_type(&self) -> u8 {
        self.call_help_reply_behavior_type
    }

    pub fn set_call_help_reply_behavior_type(&mut self, value: u8) {
        self.call_help_reply_behavior_type = value;
    }

    pub fn disable_path_move(&self) -> u8 {
        self.disable_path_move
    }

    pub fn set_disable_path_move(&mut self, value: u8) {
        self.disable_path_move = value;
    }

    pub fn skip_arrival_visible_check(&self) -> u8 {
        self.skip_arrival_visible_check
    }

    pub fn set_skip_arrival_visible_check(&mut self, value: u8) {
        self.skip_arrival_visible_check = value;
    }

    pub fn think_attr_do_admirer(&self) -> u8 {
        self.think_attr_do_admirer
    }

    pub fn set_think_attr_do_admirer(&mut self, value: u8) {
        self.think_attr_do_admirer = value;
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_edge(&self) -> u8 {
        (self.bits_60 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_edge(&mut self, value: u8) {
        self.bits_60 = (self.bits_60 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_large_space(&self) -> u8 {
        (self.bits_60 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_large_space(&mut self, value: u8) {
        self.bits_60 = (self.bits_60 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_ladder(&self) -> u8 {
        (self.bits_60 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_ladder(&mut self, value: u8) {
        self.bits_60 = (self.bits_60 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_hole(&self) -> u8 {
        (self.bits_60 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_hole(&mut self, value: u8) {
        self.bits_60 = (self.bits_60 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_door(&self) -> u8 {
        (self.bits_60 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_door(&mut self, value: u8) {
        self.bits_60 = (self.bits_60 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_in_side_wall(&self) -> u8 {
        (self.bits_60 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_in_side_wall(&mut self, value: u8) {
        self.bits_60 = (self.bits_60 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_edge_ordinary(&self) -> u8 {
        (self.bits_60 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_edge_ordinary(&mut self, value: u8) {
        self.bits_60 = (self.bits_60 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    pub fn search_threshold_lv0to_lv1(&self) -> i32 {
        self.search_threshold_lv0to_lv1
    }

    pub fn set_search_threshold_lv0to_lv1(&mut self, value: i32) {
        self.search_threshold_lv0to_lv1 = value;
    }

    pub fn search_threshold_lv1to_lv2(&self) -> i32 {
        self.search_threshold_lv1to_lv2
    }

    pub fn set_search_threshold_lv1to_lv2(&mut self, value: i32) {
        self.search_threshold_lv1to_lv2 = value;
    }

    pub fn platoon_reply_time(&self) -> f32 {
        self.platoon_reply_time
    }

    pub fn set_platoon_reply_time(&mut self, value: f32) {
        self.platoon_reply_time = value;
    }

    pub fn platoon_reply_add_random_time(&self) -> f32 {
        self.platoon_reply_add_random_time
    }

    pub fn set_platoon_reply_add_random_time(&mut self, value: f32) {
        self.platoon_reply_add_random_time = value;
    }

    pub fn search_eye_ang_x(&self) -> u8 {
        self.search_eye_ang_x
    }

    pub fn set_search_eye_ang_x(&mut self, value: u8) {
        self.search_eye_ang_x = value;
    }

    pub fn is_update_battle_sight(&self) -> u8 {
        self.is_update_battle_sight
    }

    pub fn set_is_update_battle_sight(&mut self, value: u8) {
        self.is_update_battle_sight = value;
    }

    pub fn battle_eye_update_dist(&self) -> u16 {
        self.battle_eye_update_dist
    }

    pub fn set_battle_eye_update_dist(&mut self, value: u16) {
        self.battle_eye_update_dist = value;
    }

    pub fn battle_eye_update_ang_x(&self) -> u8 {
        self.battle_eye_update_ang_x
    }

    pub fn set_battle_eye_update_ang_x(&mut self, value: u8) {
        self.battle_eye_update_ang_x = value;
    }

    pub fn battle_eye_update_ang_y(&self) -> u8 {
        self.battle_eye_update_ang_y
    }

    pub fn set_battle_eye_update_ang_y(&mut self, value: u8) {
        self.battle_eye_update_ang_y = value;
    }

    pub fn eye_back_offset_dist(&self) -> u16 {
        self.eye_back_offset_dist
    }

    pub fn set_eye_back_offset_dist(&mut self, value: u16) {
        self.eye_back_offset_dist = value;
    }

    pub fn eye_begin_dist(&self) -> u16 {
        self.eye_begin_dist
    }

    pub fn set_eye_begin_dist(&mut self, value: u16) {
        self.eye_begin_dist = value;
    }

    pub fn act_type_on_failed_path(&self) -> u8 {
        self.act_type_on_failed_path
    }

    pub fn set_act_type_on_failed_path(&mut self, value: u8) {
        self.act_type_on_failed_path = value;
    }

    pub fn goal_action_to_caution_important(&self) -> u8 {
        self.goal_action_to_caution_important
    }

    pub fn set_goal_action_to_caution_important(&mut self, value: u8) {
        self.goal_action_to_caution_important = value;
    }

    pub fn shift_anime_id_ranged_attack(&self) -> i32 {
        self.shift_anime_id_ranged_attack
    }

    pub fn set_shift_anime_id_ranged_attack(&mut self, value: i32) {
        self.shift_anime_id_ranged_attack = value;
    }

    pub fn act_type_on_non_btl_failed_path(&self) -> u8 {
        self.act_type_on_non_btl_failed_path
    }

    pub fn set_act_type_on_non_btl_failed_path(&mut self, value: u8) {
        self.act_type_on_non_btl_failed_path = value;
    }

    pub fn is_buddy_ai(&self) -> u8 {
        self.is_buddy_ai
    }

    pub fn set_is_buddy_ai(&mut self, value: u8) {
        self.is_buddy_ai = value;
    }

    pub fn goal_action_to_search_lv1(&self) -> u8 {
        self.goal_action_to_search_lv1
    }

    pub fn set_goal_action_to_search_lv1(&mut self, value: u8) {
        self.goal_action_to_search_lv1 = value;
    }

    pub fn goal_action_to_search_lv2(&self) -> u8 {
        self.goal_action_to_search_lv2
    }

    pub fn set_goal_action_to_search_lv2(&mut self, value: u8) {
        self.goal_action_to_search_lv2 = value;
    }

    pub fn enable_jump_move(&self) -> u8 {
        self.enable_jump_move
    }

    pub fn set_enable_jump_move(&mut self, value: u8) {
        self.enable_jump_move = value;
    }

    pub fn disable_local_steering(&self) -> u8 {
        self.disable_local_steering
    }

    pub fn set_disable_local_steering(&mut self, value: u8) {
        self.disable_local_steering = value;
    }

    pub fn goal_action_to_disappear(&self) -> u8 {
        self.goal_action_to_disappear
    }

    pub fn set_goal_action_to_disappear(&mut self, value: u8) {
        self.goal_action_to_disappear = value;
    }

    pub fn change_state_action_to_normal(&self) -> u8 {
        self.change_state_action_to_normal
    }

    pub fn set_change_state_action_to_normal(&mut self, value: u8) {
        self.change_state_action_to_normal = value;
    }

    pub fn memory_target_forget_time(&self) -> f32 {
        self.memory_target_forget_time
    }

    pub fn set_memory_target_forget_time(&mut self, value: f32) {
        self.memory_target_forget_time = value;
    }

    pub fn ranged_attack_id(&self) -> i32 {
        self.ranged_attack_id
    }

    pub fn set_ranged_attack_id(&mut self, value: i32) {
        self.ranged_attack_id = value;
    }

    pub fn use_fall_on_normal_caution(&self) -> u8 {
        self.use_fall_on_normal_caution
    }

    pub fn set_use_fall_on_normal_caution(&mut self, value: u8) {
        self.use_fall_on_normal_caution = value;
    }

    pub fn use_fall_on_search_battle(&self) -> u8 {
        self.use_fall_on_search_battle
    }

    pub fn set_use_fall_on_search_battle(&mut self, value: u8) {
        self.use_fall_on_search_battle = value;
    }

    pub fn enable_jump_move_on_battle(&self) -> u8 {
        self.enable_jump_move_on_battle
    }

    pub fn set_enable_jump_move_on_battle(&mut self, value: u8) {
        self.enable_jump_move_on_battle = value;
    }

    pub fn back_to_home_stuck_act(&self) -> u8 {
        self.back_to_home_stuck_act
    }

    pub fn set_back_to_home_stuck_act(&mut self, value: u8) {
        self.back_to_home_stuck_act = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct OBJECT_MATERIAL_SFX_PARAM_ST {
    sfx_id_00: u32,
    sfx_id_01: u32,
    sfx_id_02: u32,
    sfx_id_03: u32,
    sfx_id_04: u32,
    sfx_id_05: u32,
    sfx_id_06: u32,
    sfx_id_07: u32,
    sfx_id_08: u32,
    sfx_id_09: u32,
    sfx_id_10: u32,
    sfx_id_11: u32,
    sfx_id_12: u32,
    sfx_id_13: u32,
    sfx_id_14: u32,
    sfx_id_15: u32,
    sfx_id_16: u32,
    sfx_id_17: u32,
    sfx_id_18: u32,
    sfx_id_19: u32,
    sfx_id_20: u32,
    sfx_id_21: u32,
    sfx_id_22: u32,
    sfx_id_23: u32,
    sfx_id_24: u32,
    sfx_id_25: u32,
    sfx_id_26: u32,
    sfx_id_27: u32,
    sfx_id_28: u32,
    sfx_id_29: u32,
    sfx_id_30: u32,
    sfx_id_31: u32,
}

impl ParamDef for OBJECT_MATERIAL_SFX_PARAM_ST {
    const NAME: &str = "OBJECT_MATERIAL_SFX_PARAM_ST";
    const INDEX: usize = 73;
}

impl OBJECT_MATERIAL_SFX_PARAM_ST {
    pub fn sfx_id_00(&self) -> u32 {
        self.sfx_id_00
    }

    pub fn set_sfx_id_00(&mut self, value: u32) {
        self.sfx_id_00 = value;
    }

    pub fn sfx_id_01(&self) -> u32 {
        self.sfx_id_01
    }

    pub fn set_sfx_id_01(&mut self, value: u32) {
        self.sfx_id_01 = value;
    }

    pub fn sfx_id_02(&self) -> u32 {
        self.sfx_id_02
    }

    pub fn set_sfx_id_02(&mut self, value: u32) {
        self.sfx_id_02 = value;
    }

    pub fn sfx_id_03(&self) -> u32 {
        self.sfx_id_03
    }

    pub fn set_sfx_id_03(&mut self, value: u32) {
        self.sfx_id_03 = value;
    }

    pub fn sfx_id_04(&self) -> u32 {
        self.sfx_id_04
    }

    pub fn set_sfx_id_04(&mut self, value: u32) {
        self.sfx_id_04 = value;
    }

    pub fn sfx_id_05(&self) -> u32 {
        self.sfx_id_05
    }

    pub fn set_sfx_id_05(&mut self, value: u32) {
        self.sfx_id_05 = value;
    }

    pub fn sfx_id_06(&self) -> u32 {
        self.sfx_id_06
    }

    pub fn set_sfx_id_06(&mut self, value: u32) {
        self.sfx_id_06 = value;
    }

    pub fn sfx_id_07(&self) -> u32 {
        self.sfx_id_07
    }

    pub fn set_sfx_id_07(&mut self, value: u32) {
        self.sfx_id_07 = value;
    }

    pub fn sfx_id_08(&self) -> u32 {
        self.sfx_id_08
    }

    pub fn set_sfx_id_08(&mut self, value: u32) {
        self.sfx_id_08 = value;
    }

    pub fn sfx_id_09(&self) -> u32 {
        self.sfx_id_09
    }

    pub fn set_sfx_id_09(&mut self, value: u32) {
        self.sfx_id_09 = value;
    }

    pub fn sfx_id_10(&self) -> u32 {
        self.sfx_id_10
    }

    pub fn set_sfx_id_10(&mut self, value: u32) {
        self.sfx_id_10 = value;
    }

    pub fn sfx_id_11(&self) -> u32 {
        self.sfx_id_11
    }

    pub fn set_sfx_id_11(&mut self, value: u32) {
        self.sfx_id_11 = value;
    }

    pub fn sfx_id_12(&self) -> u32 {
        self.sfx_id_12
    }

    pub fn set_sfx_id_12(&mut self, value: u32) {
        self.sfx_id_12 = value;
    }

    pub fn sfx_id_13(&self) -> u32 {
        self.sfx_id_13
    }

    pub fn set_sfx_id_13(&mut self, value: u32) {
        self.sfx_id_13 = value;
    }

    pub fn sfx_id_14(&self) -> u32 {
        self.sfx_id_14
    }

    pub fn set_sfx_id_14(&mut self, value: u32) {
        self.sfx_id_14 = value;
    }

    pub fn sfx_id_15(&self) -> u32 {
        self.sfx_id_15
    }

    pub fn set_sfx_id_15(&mut self, value: u32) {
        self.sfx_id_15 = value;
    }

    pub fn sfx_id_16(&self) -> u32 {
        self.sfx_id_16
    }

    pub fn set_sfx_id_16(&mut self, value: u32) {
        self.sfx_id_16 = value;
    }

    pub fn sfx_id_17(&self) -> u32 {
        self.sfx_id_17
    }

    pub fn set_sfx_id_17(&mut self, value: u32) {
        self.sfx_id_17 = value;
    }

    pub fn sfx_id_18(&self) -> u32 {
        self.sfx_id_18
    }

    pub fn set_sfx_id_18(&mut self, value: u32) {
        self.sfx_id_18 = value;
    }

    pub fn sfx_id_19(&self) -> u32 {
        self.sfx_id_19
    }

    pub fn set_sfx_id_19(&mut self, value: u32) {
        self.sfx_id_19 = value;
    }

    pub fn sfx_id_20(&self) -> u32 {
        self.sfx_id_20
    }

    pub fn set_sfx_id_20(&mut self, value: u32) {
        self.sfx_id_20 = value;
    }

    pub fn sfx_id_21(&self) -> u32 {
        self.sfx_id_21
    }

    pub fn set_sfx_id_21(&mut self, value: u32) {
        self.sfx_id_21 = value;
    }

    pub fn sfx_id_22(&self) -> u32 {
        self.sfx_id_22
    }

    pub fn set_sfx_id_22(&mut self, value: u32) {
        self.sfx_id_22 = value;
    }

    pub fn sfx_id_23(&self) -> u32 {
        self.sfx_id_23
    }

    pub fn set_sfx_id_23(&mut self, value: u32) {
        self.sfx_id_23 = value;
    }

    pub fn sfx_id_24(&self) -> u32 {
        self.sfx_id_24
    }

    pub fn set_sfx_id_24(&mut self, value: u32) {
        self.sfx_id_24 = value;
    }

    pub fn sfx_id_25(&self) -> u32 {
        self.sfx_id_25
    }

    pub fn set_sfx_id_25(&mut self, value: u32) {
        self.sfx_id_25 = value;
    }

    pub fn sfx_id_26(&self) -> u32 {
        self.sfx_id_26
    }

    pub fn set_sfx_id_26(&mut self, value: u32) {
        self.sfx_id_26 = value;
    }

    pub fn sfx_id_27(&self) -> u32 {
        self.sfx_id_27
    }

    pub fn set_sfx_id_27(&mut self, value: u32) {
        self.sfx_id_27 = value;
    }

    pub fn sfx_id_28(&self) -> u32 {
        self.sfx_id_28
    }

    pub fn set_sfx_id_28(&mut self, value: u32) {
        self.sfx_id_28 = value;
    }

    pub fn sfx_id_29(&self) -> u32 {
        self.sfx_id_29
    }

    pub fn set_sfx_id_29(&mut self, value: u32) {
        self.sfx_id_29 = value;
    }

    pub fn sfx_id_30(&self) -> u32 {
        self.sfx_id_30
    }

    pub fn set_sfx_id_30(&mut self, value: u32) {
        self.sfx_id_30 = value;
    }

    pub fn sfx_id_31(&self) -> u32 {
        self.sfx_id_31
    }

    pub fn set_sfx_id_31(&mut self, value: u32) {
        self.sfx_id_31 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct OBJECT_PARAM_ST {
    hp: i16,
    defense: u16,
    ext_ref_tex_id: i16,
    material_id: i16,
    anim_break_id_max: u8,
    bits_9: u8,
    bits_a: u8,
    default_lod_param_id: i8,
    break_sfx_id: i32,
    break_sfx_cp_id: i32,
    break_bullet_behavior_id: i32,
    break_bullet_cp_id: i32,
    break_fall_height: u8,
    wind_effect_type_0: u8,
    wind_effect_type_1: u8,
    cam_avoid_type: u8,
    wind_effect_rate_0: f32,
    wind_effect_rate_1: f32,
    break_stop_time: f32,
    burn_time: f32,
    burn_braek_rate: f32,
    burn_sfx_id: i32,
    burn_sfx_id_1: i32,
    burn_sfx_id_2: i32,
    burn_sfx_id_3: i32,
    burn_bullet_behavior_id: i32,
    burn_bullet_behavior_id_1: i32,
    burn_bullet_behavior_id_2: i32,
    burn_bullet_behavior_id_3: i32,
    burn_bullet_interval: u16,
    navimesh_flag: u8,
    collision_type: u8,
    burn_bullet_delay_time: f32,
    burn_sfx_delay_time_min: f32,
    burn_sfx_delay_time_min_1: f32,
    burn_sfx_delay_time_min_2: f32,
    burn_sfx_delay_time_min_3: f32,
    burn_sfx_delay_time_max: f32,
    burn_sfx_delay_time_max_1: f32,
    burn_sfx_delay_time_max_2: f32,
    burn_sfx_delay_time_max_3: f32,
    break_ai_sound_id: i32,
    fragment_invisible_wait_time: f32,
    fragment_invisible_time: f32,
    pad_3: [u8; 16],
    rigid_penetration_scale_soft: f32,
    rigid_penetration_scale_normal: f32,
    rigid_penetration_scale_hard: f32,
    land_touch_sfx_id: i32,
    bits_a8: u8,
    pad_4: [u8; 1],
    paint_decal_target_texture_size: i16,
    life_time_for_dc: f32,
    cloth_update_dist: f32,
    contact_se_id: i32,
    break_landing_sfx_id: i32,
    pad1: [u8; 68],
}

impl ParamDef for OBJECT_PARAM_ST {
    const NAME: &str = "OBJECT_PARAM_ST";
    const INDEX: usize = 74;
}

impl OBJECT_PARAM_ST {
    pub fn hp(&self) -> i16 {
        self.hp
    }

    pub fn set_hp(&mut self, value: i16) {
        self.hp = value;
    }

    pub fn defense(&self) -> u16 {
        self.defense
    }

    pub fn set_defense(&mut self, value: u16) {
        self.defense = value;
    }

    pub fn ext_ref_tex_id(&self) -> i16 {
        self.ext_ref_tex_id
    }

    pub fn set_ext_ref_tex_id(&mut self, value: i16) {
        self.ext_ref_tex_id = value;
    }

    pub fn material_id(&self) -> i16 {
        self.material_id
    }

    pub fn set_material_id(&mut self, value: i16) {
        self.material_id = value;
    }

    pub fn anim_break_id_max(&self) -> u8 {
        self.anim_break_id_max
    }

    pub fn set_anim_break_id_max(&mut self, value: u8) {
        self.anim_break_id_max = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_cam_hit(&self) -> u8 {
        (self.bits_9 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_cam_hit(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_break_by_player_collide(&self) -> u8 {
        (self.bits_9 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_break_by_player_collide(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_anim_break(&self) -> u8 {
        (self.bits_9 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_anim_break(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_penetration_bullet_hit(&self) -> u8 {
        (self.bits_9 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_penetration_bullet_hit(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_chr_hit(&self) -> u8 {
        (self.bits_9 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_chr_hit(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_attack_backlash(&self) -> u8 {
        (self.bits_9 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_attack_backlash(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_break_for_first_appear(&self) -> u8 {
        (self.bits_9 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_break_for_first_appear(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_ladder(&self) -> u8 {
        (self.bits_9 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ladder(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_anim_pause_on_remo_play(&self) -> u8 {
        (self.bits_a >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_anim_pause_on_remo_play(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_damage_no_hit(&self) -> u8 {
        (self.bits_a >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_damage_no_hit(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_move_obj(&self) -> u8 {
        (self.bits_a >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_move_obj(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_rope_bridge(&self) -> u8 {
        (self.bits_a >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_rope_bridge(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_add_rigid_impulse_by_damage(&self) -> u8 {
        (self.bits_a >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_add_rigid_impulse_by_damage(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_break_by_chr_ride(&self) -> u8 {
        (self.bits_a >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_break_by_chr_ride(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_burn(&self) -> u8 {
        (self.bits_a >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_burn(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_break_by_enemy_collide(&self) -> u8 {
        (self.bits_a >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_break_by_enemy_collide(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn default_lod_param_id(&self) -> i8 {
        self.default_lod_param_id
    }

    pub fn set_default_lod_param_id(&mut self, value: i8) {
        self.default_lod_param_id = value;
    }

    pub fn break_sfx_id(&self) -> i32 {
        self.break_sfx_id
    }

    pub fn set_break_sfx_id(&mut self, value: i32) {
        self.break_sfx_id = value;
    }

    pub fn break_sfx_cp_id(&self) -> i32 {
        self.break_sfx_cp_id
    }

    pub fn set_break_sfx_cp_id(&mut self, value: i32) {
        self.break_sfx_cp_id = value;
    }

    pub fn break_bullet_behavior_id(&self) -> i32 {
        self.break_bullet_behavior_id
    }

    pub fn set_break_bullet_behavior_id(&mut self, value: i32) {
        self.break_bullet_behavior_id = value;
    }

    pub fn break_bullet_cp_id(&self) -> i32 {
        self.break_bullet_cp_id
    }

    pub fn set_break_bullet_cp_id(&mut self, value: i32) {
        self.break_bullet_cp_id = value;
    }

    pub fn break_fall_height(&self) -> u8 {
        self.break_fall_height
    }

    pub fn set_break_fall_height(&mut self, value: u8) {
        self.break_fall_height = value;
    }

    pub fn wind_effect_type_0(&self) -> u8 {
        self.wind_effect_type_0
    }

    pub fn set_wind_effect_type_0(&mut self, value: u8) {
        self.wind_effect_type_0 = value;
    }

    pub fn wind_effect_type_1(&self) -> u8 {
        self.wind_effect_type_1
    }

    pub fn set_wind_effect_type_1(&mut self, value: u8) {
        self.wind_effect_type_1 = value;
    }

    pub fn cam_avoid_type(&self) -> u8 {
        self.cam_avoid_type
    }

    pub fn set_cam_avoid_type(&mut self, value: u8) {
        self.cam_avoid_type = value;
    }

    pub fn wind_effect_rate_0(&self) -> f32 {
        self.wind_effect_rate_0
    }

    pub fn set_wind_effect_rate_0(&mut self, value: f32) {
        self.wind_effect_rate_0 = value;
    }

    pub fn wind_effect_rate_1(&self) -> f32 {
        self.wind_effect_rate_1
    }

    pub fn set_wind_effect_rate_1(&mut self, value: f32) {
        self.wind_effect_rate_1 = value;
    }

    pub fn break_stop_time(&self) -> f32 {
        self.break_stop_time
    }

    pub fn set_break_stop_time(&mut self, value: f32) {
        self.break_stop_time = value;
    }

    pub fn burn_time(&self) -> f32 {
        self.burn_time
    }

    pub fn set_burn_time(&mut self, value: f32) {
        self.burn_time = value;
    }

    pub fn burn_braek_rate(&self) -> f32 {
        self.burn_braek_rate
    }

    pub fn set_burn_braek_rate(&mut self, value: f32) {
        self.burn_braek_rate = value;
    }

    pub fn burn_sfx_id(&self) -> i32 {
        self.burn_sfx_id
    }

    pub fn set_burn_sfx_id(&mut self, value: i32) {
        self.burn_sfx_id = value;
    }

    pub fn burn_sfx_id_1(&self) -> i32 {
        self.burn_sfx_id_1
    }

    pub fn set_burn_sfx_id_1(&mut self, value: i32) {
        self.burn_sfx_id_1 = value;
    }

    pub fn burn_sfx_id_2(&self) -> i32 {
        self.burn_sfx_id_2
    }

    pub fn set_burn_sfx_id_2(&mut self, value: i32) {
        self.burn_sfx_id_2 = value;
    }

    pub fn burn_sfx_id_3(&self) -> i32 {
        self.burn_sfx_id_3
    }

    pub fn set_burn_sfx_id_3(&mut self, value: i32) {
        self.burn_sfx_id_3 = value;
    }

    pub fn burn_bullet_behavior_id(&self) -> i32 {
        self.burn_bullet_behavior_id
    }

    pub fn set_burn_bullet_behavior_id(&mut self, value: i32) {
        self.burn_bullet_behavior_id = value;
    }

    pub fn burn_bullet_behavior_id_1(&self) -> i32 {
        self.burn_bullet_behavior_id_1
    }

    pub fn set_burn_bullet_behavior_id_1(&mut self, value: i32) {
        self.burn_bullet_behavior_id_1 = value;
    }

    pub fn burn_bullet_behavior_id_2(&self) -> i32 {
        self.burn_bullet_behavior_id_2
    }

    pub fn set_burn_bullet_behavior_id_2(&mut self, value: i32) {
        self.burn_bullet_behavior_id_2 = value;
    }

    pub fn burn_bullet_behavior_id_3(&self) -> i32 {
        self.burn_bullet_behavior_id_3
    }

    pub fn set_burn_bullet_behavior_id_3(&mut self, value: i32) {
        self.burn_bullet_behavior_id_3 = value;
    }

    pub fn burn_bullet_interval(&self) -> u16 {
        self.burn_bullet_interval
    }

    pub fn set_burn_bullet_interval(&mut self, value: u16) {
        self.burn_bullet_interval = value;
    }

    pub fn navimesh_flag(&self) -> u8 {
        self.navimesh_flag
    }

    pub fn set_navimesh_flag(&mut self, value: u8) {
        self.navimesh_flag = value;
    }

    pub fn collision_type(&self) -> u8 {
        self.collision_type
    }

    pub fn set_collision_type(&mut self, value: u8) {
        self.collision_type = value;
    }

    pub fn burn_bullet_delay_time(&self) -> f32 {
        self.burn_bullet_delay_time
    }

    pub fn set_burn_bullet_delay_time(&mut self, value: f32) {
        self.burn_bullet_delay_time = value;
    }

    pub fn burn_sfx_delay_time_min(&self) -> f32 {
        self.burn_sfx_delay_time_min
    }

    pub fn set_burn_sfx_delay_time_min(&mut self, value: f32) {
        self.burn_sfx_delay_time_min = value;
    }

    pub fn burn_sfx_delay_time_min_1(&self) -> f32 {
        self.burn_sfx_delay_time_min_1
    }

    pub fn set_burn_sfx_delay_time_min_1(&mut self, value: f32) {
        self.burn_sfx_delay_time_min_1 = value;
    }

    pub fn burn_sfx_delay_time_min_2(&self) -> f32 {
        self.burn_sfx_delay_time_min_2
    }

    pub fn set_burn_sfx_delay_time_min_2(&mut self, value: f32) {
        self.burn_sfx_delay_time_min_2 = value;
    }

    pub fn burn_sfx_delay_time_min_3(&self) -> f32 {
        self.burn_sfx_delay_time_min_3
    }

    pub fn set_burn_sfx_delay_time_min_3(&mut self, value: f32) {
        self.burn_sfx_delay_time_min_3 = value;
    }

    pub fn burn_sfx_delay_time_max(&self) -> f32 {
        self.burn_sfx_delay_time_max
    }

    pub fn set_burn_sfx_delay_time_max(&mut self, value: f32) {
        self.burn_sfx_delay_time_max = value;
    }

    pub fn burn_sfx_delay_time_max_1(&self) -> f32 {
        self.burn_sfx_delay_time_max_1
    }

    pub fn set_burn_sfx_delay_time_max_1(&mut self, value: f32) {
        self.burn_sfx_delay_time_max_1 = value;
    }

    pub fn burn_sfx_delay_time_max_2(&self) -> f32 {
        self.burn_sfx_delay_time_max_2
    }

    pub fn set_burn_sfx_delay_time_max_2(&mut self, value: f32) {
        self.burn_sfx_delay_time_max_2 = value;
    }

    pub fn burn_sfx_delay_time_max_3(&self) -> f32 {
        self.burn_sfx_delay_time_max_3
    }

    pub fn set_burn_sfx_delay_time_max_3(&mut self, value: f32) {
        self.burn_sfx_delay_time_max_3 = value;
    }

    pub fn break_ai_sound_id(&self) -> i32 {
        self.break_ai_sound_id
    }

    pub fn set_break_ai_sound_id(&mut self, value: i32) {
        self.break_ai_sound_id = value;
    }

    pub fn fragment_invisible_wait_time(&self) -> f32 {
        self.fragment_invisible_wait_time
    }

    pub fn set_fragment_invisible_wait_time(&mut self, value: f32) {
        self.fragment_invisible_wait_time = value;
    }

    pub fn fragment_invisible_time(&self) -> f32 {
        self.fragment_invisible_time
    }

    pub fn set_fragment_invisible_time(&mut self, value: f32) {
        self.fragment_invisible_time = value;
    }

    pub fn rigid_penetration_scale_soft(&self) -> f32 {
        self.rigid_penetration_scale_soft
    }

    pub fn set_rigid_penetration_scale_soft(&mut self, value: f32) {
        self.rigid_penetration_scale_soft = value;
    }

    pub fn rigid_penetration_scale_normal(&self) -> f32 {
        self.rigid_penetration_scale_normal
    }

    pub fn set_rigid_penetration_scale_normal(&mut self, value: f32) {
        self.rigid_penetration_scale_normal = value;
    }

    pub fn rigid_penetration_scale_hard(&self) -> f32 {
        self.rigid_penetration_scale_hard
    }

    pub fn set_rigid_penetration_scale_hard(&mut self, value: f32) {
        self.rigid_penetration_scale_hard = value;
    }

    pub fn land_touch_sfx_id(&self) -> i32 {
        self.land_touch_sfx_id
    }

    pub fn set_land_touch_sfx_id(&mut self, value: i32) {
        self.land_touch_sfx_id = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_damage_cover(&self) -> u8 {
        (self.bits_a8 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_damage_cover(&mut self, value: u8) {
        self.bits_a8 = (self.bits_a8 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn paint_decal_target_texture_size(&self) -> i16 {
        self.paint_decal_target_texture_size
    }

    pub fn set_paint_decal_target_texture_size(&mut self, value: i16) {
        self.paint_decal_target_texture_size = value;
    }

    pub fn life_time_for_dc(&self) -> f32 {
        self.life_time_for_dc
    }

    pub fn set_life_time_for_dc(&mut self, value: f32) {
        self.life_time_for_dc = value;
    }

    pub fn cloth_update_dist(&self) -> f32 {
        self.cloth_update_dist
    }

    pub fn set_cloth_update_dist(&mut self, value: f32) {
        self.cloth_update_dist = value;
    }

    pub fn contact_se_id(&self) -> i32 {
        self.contact_se_id
    }

    pub fn set_contact_se_id(&mut self, value: i32) {
        self.contact_se_id = value;
    }

    pub fn break_landing_sfx_id(&self) -> i32 {
        self.break_landing_sfx_id
    }

    pub fn set_break_landing_sfx_id(&mut self, value: i32) {
        self.break_landing_sfx_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct OBJ_ACT_PARAM_ST {
    action_enable_msg_id: i32,
    action_failed_msg_id: i32,
    sp_qualified_pass_event_flag: i32,
    player_anim_id: i32,
    chr_anim_id: i32,
    valid_dist: i16,
    sp_qualified_id: i16,
    sp_qualified_id2: i16,
    obj_dummy_id: u8,
    is_event_kick_sync: u8,
    obj_anim_id: u32,
    valid_player_angle: u8,
    sp_qualified_type: u8,
    sp_qualified_type2: u8,
    valid_obj_angle: u8,
    chr_sorb_type: u8,
    event_kick_timing: u8,
    pad2: [u8; 2],
    action_button_param_id: i32,
    enable_treasure_delay_sec: f32,
}

impl ParamDef for OBJ_ACT_PARAM_ST {
    const NAME: &str = "OBJ_ACT_PARAM_ST";
    const INDEX: usize = 72;
}

impl OBJ_ACT_PARAM_ST {
    pub fn action_enable_msg_id(&self) -> i32 {
        self.action_enable_msg_id
    }

    pub fn set_action_enable_msg_id(&mut self, value: i32) {
        self.action_enable_msg_id = value;
    }

    pub fn action_failed_msg_id(&self) -> i32 {
        self.action_failed_msg_id
    }

    pub fn set_action_failed_msg_id(&mut self, value: i32) {
        self.action_failed_msg_id = value;
    }

    pub fn sp_qualified_pass_event_flag(&self) -> i32 {
        self.sp_qualified_pass_event_flag
    }

    pub fn set_sp_qualified_pass_event_flag(&mut self, value: i32) {
        self.sp_qualified_pass_event_flag = value;
    }

    pub fn player_anim_id(&self) -> i32 {
        self.player_anim_id
    }

    pub fn set_player_anim_id(&mut self, value: i32) {
        self.player_anim_id = value;
    }

    pub fn chr_anim_id(&self) -> i32 {
        self.chr_anim_id
    }

    pub fn set_chr_anim_id(&mut self, value: i32) {
        self.chr_anim_id = value;
    }

    pub fn valid_dist(&self) -> i16 {
        self.valid_dist
    }

    pub fn set_valid_dist(&mut self, value: i16) {
        self.valid_dist = value;
    }

    pub fn sp_qualified_id(&self) -> i16 {
        self.sp_qualified_id
    }

    pub fn set_sp_qualified_id(&mut self, value: i16) {
        self.sp_qualified_id = value;
    }

    pub fn sp_qualified_id2(&self) -> i16 {
        self.sp_qualified_id2
    }

    pub fn set_sp_qualified_id2(&mut self, value: i16) {
        self.sp_qualified_id2 = value;
    }

    pub fn obj_dummy_id(&self) -> u8 {
        self.obj_dummy_id
    }

    pub fn set_obj_dummy_id(&mut self, value: u8) {
        self.obj_dummy_id = value;
    }

    pub fn is_event_kick_sync(&self) -> u8 {
        self.is_event_kick_sync
    }

    pub fn set_is_event_kick_sync(&mut self, value: u8) {
        self.is_event_kick_sync = value;
    }

    pub fn obj_anim_id(&self) -> u32 {
        self.obj_anim_id
    }

    pub fn set_obj_anim_id(&mut self, value: u32) {
        self.obj_anim_id = value;
    }

    pub fn valid_player_angle(&self) -> u8 {
        self.valid_player_angle
    }

    pub fn set_valid_player_angle(&mut self, value: u8) {
        self.valid_player_angle = value;
    }

    pub fn sp_qualified_type(&self) -> u8 {
        self.sp_qualified_type
    }

    pub fn set_sp_qualified_type(&mut self, value: u8) {
        self.sp_qualified_type = value;
    }

    pub fn sp_qualified_type2(&self) -> u8 {
        self.sp_qualified_type2
    }

    pub fn set_sp_qualified_type2(&mut self, value: u8) {
        self.sp_qualified_type2 = value;
    }

    pub fn valid_obj_angle(&self) -> u8 {
        self.valid_obj_angle
    }

    pub fn set_valid_obj_angle(&mut self, value: u8) {
        self.valid_obj_angle = value;
    }

    pub fn chr_sorb_type(&self) -> u8 {
        self.chr_sorb_type
    }

    pub fn set_chr_sorb_type(&mut self, value: u8) {
        self.chr_sorb_type = value;
    }

    pub fn event_kick_timing(&self) -> u8 {
        self.event_kick_timing
    }

    pub fn set_event_kick_timing(&mut self, value: u8) {
        self.event_kick_timing = value;
    }

    pub fn action_button_param_id(&self) -> i32 {
        self.action_button_param_id
    }

    pub fn set_action_button_param_id(&mut self, value: i32) {
        self.action_button_param_id = value;
    }

    pub fn enable_treasure_delay_sec(&self) -> f32 {
        self.enable_treasure_delay_sec
    }

    pub fn set_enable_treasure_delay_sec(&mut self, value: f32) {
        self.enable_treasure_delay_sec = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PHANTOM_PARAM_ST {
    edge_color_a: f32,
    front_color_a: f32,
    diff_mul_color_a: f32,
    spec_mul_color_a: f32,
    light_color_a: f32,
    edge_color_r: u8,
    edge_color_g: u8,
    edge_color_b: u8,
    front_color_r: u8,
    front_color_g: u8,
    front_color_b: u8,
    diff_mul_color_r: u8,
    diff_mul_color_g: u8,
    diff_mul_color_b: u8,
    spec_mul_color_r: u8,
    spec_mul_color_g: u8,
    spec_mul_color_b: u8,
    light_color_r: u8,
    light_color_g: u8,
    light_color_b: u8,
    pad1: [u8; 1],
    alpha: f32,
    blend_rate: f32,
    blend_type: u8,
    is_edge_subtract: u8,
    is_front_subtract: u8,
    is_no2_pass: u8,
}

impl ParamDef for PHANTOM_PARAM_ST {
    const NAME: &str = "PHANTOM_PARAM_ST";
    const INDEX: usize = 75;
}

impl PHANTOM_PARAM_ST {
    pub fn edge_color_a(&self) -> f32 {
        self.edge_color_a
    }

    pub fn set_edge_color_a(&mut self, value: f32) {
        self.edge_color_a = value;
    }

    pub fn front_color_a(&self) -> f32 {
        self.front_color_a
    }

    pub fn set_front_color_a(&mut self, value: f32) {
        self.front_color_a = value;
    }

    pub fn diff_mul_color_a(&self) -> f32 {
        self.diff_mul_color_a
    }

    pub fn set_diff_mul_color_a(&mut self, value: f32) {
        self.diff_mul_color_a = value;
    }

    pub fn spec_mul_color_a(&self) -> f32 {
        self.spec_mul_color_a
    }

    pub fn set_spec_mul_color_a(&mut self, value: f32) {
        self.spec_mul_color_a = value;
    }

    pub fn light_color_a(&self) -> f32 {
        self.light_color_a
    }

    pub fn set_light_color_a(&mut self, value: f32) {
        self.light_color_a = value;
    }

    pub fn edge_color_r(&self) -> u8 {
        self.edge_color_r
    }

    pub fn set_edge_color_r(&mut self, value: u8) {
        self.edge_color_r = value;
    }

    pub fn edge_color_g(&self) -> u8 {
        self.edge_color_g
    }

    pub fn set_edge_color_g(&mut self, value: u8) {
        self.edge_color_g = value;
    }

    pub fn edge_color_b(&self) -> u8 {
        self.edge_color_b
    }

    pub fn set_edge_color_b(&mut self, value: u8) {
        self.edge_color_b = value;
    }

    pub fn front_color_r(&self) -> u8 {
        self.front_color_r
    }

    pub fn set_front_color_r(&mut self, value: u8) {
        self.front_color_r = value;
    }

    pub fn front_color_g(&self) -> u8 {
        self.front_color_g
    }

    pub fn set_front_color_g(&mut self, value: u8) {
        self.front_color_g = value;
    }

    pub fn front_color_b(&self) -> u8 {
        self.front_color_b
    }

    pub fn set_front_color_b(&mut self, value: u8) {
        self.front_color_b = value;
    }

    pub fn diff_mul_color_r(&self) -> u8 {
        self.diff_mul_color_r
    }

    pub fn set_diff_mul_color_r(&mut self, value: u8) {
        self.diff_mul_color_r = value;
    }

    pub fn diff_mul_color_g(&self) -> u8 {
        self.diff_mul_color_g
    }

    pub fn set_diff_mul_color_g(&mut self, value: u8) {
        self.diff_mul_color_g = value;
    }

    pub fn diff_mul_color_b(&self) -> u8 {
        self.diff_mul_color_b
    }

    pub fn set_diff_mul_color_b(&mut self, value: u8) {
        self.diff_mul_color_b = value;
    }

    pub fn spec_mul_color_r(&self) -> u8 {
        self.spec_mul_color_r
    }

    pub fn set_spec_mul_color_r(&mut self, value: u8) {
        self.spec_mul_color_r = value;
    }

    pub fn spec_mul_color_g(&self) -> u8 {
        self.spec_mul_color_g
    }

    pub fn set_spec_mul_color_g(&mut self, value: u8) {
        self.spec_mul_color_g = value;
    }

    pub fn spec_mul_color_b(&self) -> u8 {
        self.spec_mul_color_b
    }

    pub fn set_spec_mul_color_b(&mut self, value: u8) {
        self.spec_mul_color_b = value;
    }

    pub fn light_color_r(&self) -> u8 {
        self.light_color_r
    }

    pub fn set_light_color_r(&mut self, value: u8) {
        self.light_color_r = value;
    }

    pub fn light_color_g(&self) -> u8 {
        self.light_color_g
    }

    pub fn set_light_color_g(&mut self, value: u8) {
        self.light_color_g = value;
    }

    pub fn light_color_b(&self) -> u8 {
        self.light_color_b
    }

    pub fn set_light_color_b(&mut self, value: u8) {
        self.light_color_b = value;
    }

    pub fn alpha(&self) -> f32 {
        self.alpha
    }

    pub fn set_alpha(&mut self, value: f32) {
        self.alpha = value;
    }

    pub fn blend_rate(&self) -> f32 {
        self.blend_rate
    }

    pub fn set_blend_rate(&mut self, value: f32) {
        self.blend_rate = value;
    }

    pub fn blend_type(&self) -> u8 {
        self.blend_type
    }

    pub fn set_blend_type(&mut self, value: u8) {
        self.blend_type = value;
    }

    pub fn is_edge_subtract(&self) -> u8 {
        self.is_edge_subtract
    }

    pub fn set_is_edge_subtract(&mut self, value: u8) {
        self.is_edge_subtract = value;
    }

    pub fn is_front_subtract(&self) -> u8 {
        self.is_front_subtract
    }

    pub fn set_is_front_subtract(&mut self, value: u8) {
        self.is_front_subtract = value;
    }

    pub fn is_no2_pass(&self) -> u8 {
        self.is_no2_pass
    }

    pub fn set_is_no2_pass(&mut self, value: u8) {
        self.is_no2_pass = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PLAY_REGION_PARAM_ST {
    match_area_id: i32,
    multi_play_start_limit_event_flag_id: i32,
    other_disable_distance: f32,
    pc_position_save_limit_event_flag_id: i32,
    boss_area_id: i32,
    cult_npc_white_ghost_entity_id_by_free: i16,
    b_map_guradian_region: u8,
    bits_17: u8,
    warp_item_use_permit_bonfire_id_1: i32,
    warp_item_use_permit_bonfire_id_2: i32,
    warp_item_use_permit_bonfire_id_3: i32,
    warp_item_use_permit_bonfire_id_4: i32,
    warp_item_use_permit_bonfire_id_5: i32,
    warp_item_prohibition_event_flag_id_1: i32,
    warp_item_prohibition_event_flag_id_2: i32,
    warp_item_prohibition_event_flag_id_3: i32,
    warp_item_prohibition_event_flag_id_4: i32,
    warp_item_prohibition_event_flag_id_5: i32,
    bits_40: u8,
    bits_41: u8,
    pad2: [u8; 2],
    multi_play_has_host_limit_event_flag_id: i32,
    other_max_distance: f32,
    sign_puddle_open_event_flag_id: i32,
    pad3: [u8; 16],
}

impl ParamDef for PLAY_REGION_PARAM_ST {
    const NAME: &str = "PLAY_REGION_PARAM_ST";
    const INDEX: usize = 76;
}

impl PLAY_REGION_PARAM_ST {
    pub fn match_area_id(&self) -> i32 {
        self.match_area_id
    }

    pub fn set_match_area_id(&mut self, value: i32) {
        self.match_area_id = value;
    }

    pub fn multi_play_start_limit_event_flag_id(&self) -> i32 {
        self.multi_play_start_limit_event_flag_id
    }

    pub fn set_multi_play_start_limit_event_flag_id(&mut self, value: i32) {
        self.multi_play_start_limit_event_flag_id = value;
    }

    pub fn other_disable_distance(&self) -> f32 {
        self.other_disable_distance
    }

    pub fn set_other_disable_distance(&mut self, value: f32) {
        self.other_disable_distance = value;
    }

    pub fn pc_position_save_limit_event_flag_id(&self) -> i32 {
        self.pc_position_save_limit_event_flag_id
    }

    pub fn set_pc_position_save_limit_event_flag_id(&mut self, value: i32) {
        self.pc_position_save_limit_event_flag_id = value;
    }

    pub fn boss_area_id(&self) -> i32 {
        self.boss_area_id
    }

    pub fn set_boss_area_id(&mut self, value: i32) {
        self.boss_area_id = value;
    }

    pub fn cult_npc_white_ghost_entity_id_by_free(&self) -> i16 {
        self.cult_npc_white_ghost_entity_id_by_free
    }

    pub fn set_cult_npc_white_ghost_entity_id_by_free(&mut self, value: i16) {
        self.cult_npc_white_ghost_entity_id_by_free = value;
    }

    pub fn b_map_guradian_region(&self) -> u8 {
        self.b_map_guradian_region
    }

    pub fn set_b_map_guradian_region(&mut self, value: u8) {
        self.b_map_guradian_region = value;
    }

    #[allow(clippy::identity_op)]
    pub fn b_yellow_costume_region(&self) -> u8 {
        (self.bits_17 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_yellow_costume_region(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn multi_play_start_limit_event_flag_id_target_flag_state(&self) -> u8 {
        (self.bits_17 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_multi_play_start_limit_event_flag_id_target_flag_state(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn break_in_limit_event_flag_id_1_target_flag_state(&self) -> u8 {
        (self.bits_17 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_break_in_limit_event_flag_id_1_target_flag_state(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn white_sign_limit_event_flag_id_1_target_flag_state(&self) -> u8 {
        (self.bits_17 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_white_sign_limit_event_flag_id_1_target_flag_state(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn red_sign_limit_event_flag_id_1_target_flag_state(&self) -> u8 {
        (self.bits_17 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_red_sign_limit_event_flag_id_1_target_flag_state(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn break_in_limit_event_flag_id_2_target_flag_state(&self) -> u8 {
        (self.bits_17 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_break_in_limit_event_flag_id_2_target_flag_state(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn break_in_limit_event_flag_id_3_target_flag_state(&self) -> u8 {
        (self.bits_17 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_break_in_limit_event_flag_id_3_target_flag_state(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn white_sign_limit_event_flag_id_2_target_flag_state(&self) -> u8 {
        (self.bits_17 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_white_sign_limit_event_flag_id_2_target_flag_state(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn warp_item_use_permit_bonfire_id_1(&self) -> i32 {
        self.warp_item_use_permit_bonfire_id_1
    }

    pub fn set_warp_item_use_permit_bonfire_id_1(&mut self, value: i32) {
        self.warp_item_use_permit_bonfire_id_1 = value;
    }

    pub fn warp_item_use_permit_bonfire_id_2(&self) -> i32 {
        self.warp_item_use_permit_bonfire_id_2
    }

    pub fn set_warp_item_use_permit_bonfire_id_2(&mut self, value: i32) {
        self.warp_item_use_permit_bonfire_id_2 = value;
    }

    pub fn warp_item_use_permit_bonfire_id_3(&self) -> i32 {
        self.warp_item_use_permit_bonfire_id_3
    }

    pub fn set_warp_item_use_permit_bonfire_id_3(&mut self, value: i32) {
        self.warp_item_use_permit_bonfire_id_3 = value;
    }

    pub fn warp_item_use_permit_bonfire_id_4(&self) -> i32 {
        self.warp_item_use_permit_bonfire_id_4
    }

    pub fn set_warp_item_use_permit_bonfire_id_4(&mut self, value: i32) {
        self.warp_item_use_permit_bonfire_id_4 = value;
    }

    pub fn warp_item_use_permit_bonfire_id_5(&self) -> i32 {
        self.warp_item_use_permit_bonfire_id_5
    }

    pub fn set_warp_item_use_permit_bonfire_id_5(&mut self, value: i32) {
        self.warp_item_use_permit_bonfire_id_5 = value;
    }

    pub fn warp_item_prohibition_event_flag_id_1(&self) -> i32 {
        self.warp_item_prohibition_event_flag_id_1
    }

    pub fn set_warp_item_prohibition_event_flag_id_1(&mut self, value: i32) {
        self.warp_item_prohibition_event_flag_id_1 = value;
    }

    pub fn warp_item_prohibition_event_flag_id_2(&self) -> i32 {
        self.warp_item_prohibition_event_flag_id_2
    }

    pub fn set_warp_item_prohibition_event_flag_id_2(&mut self, value: i32) {
        self.warp_item_prohibition_event_flag_id_2 = value;
    }

    pub fn warp_item_prohibition_event_flag_id_3(&self) -> i32 {
        self.warp_item_prohibition_event_flag_id_3
    }

    pub fn set_warp_item_prohibition_event_flag_id_3(&mut self, value: i32) {
        self.warp_item_prohibition_event_flag_id_3 = value;
    }

    pub fn warp_item_prohibition_event_flag_id_4(&self) -> i32 {
        self.warp_item_prohibition_event_flag_id_4
    }

    pub fn set_warp_item_prohibition_event_flag_id_4(&mut self, value: i32) {
        self.warp_item_prohibition_event_flag_id_4 = value;
    }

    pub fn warp_item_prohibition_event_flag_id_5(&self) -> i32 {
        self.warp_item_prohibition_event_flag_id_5
    }

    pub fn set_warp_item_prohibition_event_flag_id_5(&mut self, value: i32) {
        self.warp_item_prohibition_event_flag_id_5 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn enable_bloodstain(&self) -> u8 {
        (self.bits_40 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_bloodstain(&mut self, value: u8) {
        self.bits_40 = (self.bits_40 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_blood_message(&self) -> u8 {
        (self.bits_40 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_blood_message(&mut self, value: u8) {
        self.bits_40 = (self.bits_40 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ghost(&self) -> u8 {
        (self.bits_40 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ghost(&mut self, value: u8) {
        self.bits_40 = (self.bits_40 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disp_mask00(&self) -> u8 {
        (self.bits_40 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disp_mask00(&mut self, value: u8) {
        self.bits_40 = (self.bits_40 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn disp_mask01(&self) -> u8 {
        (self.bits_40 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disp_mask01(&mut self, value: u8) {
        self.bits_40 = (self.bits_40 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn white_sign_limit_event_flag_id_3_target_flag_state(&self) -> u8 {
        (self.bits_40 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_white_sign_limit_event_flag_id_3_target_flag_state(&mut self, value: u8) {
        self.bits_40 = (self.bits_40 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn red_sign_limit_event_flag_id_2_target_flag_state(&self) -> u8 {
        (self.bits_40 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_red_sign_limit_event_flag_id_2_target_flag_state(&mut self, value: u8) {
        self.bits_40 = (self.bits_40 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn red_sign_limit_event_flag_id_3_target_flag_state(&self) -> u8 {
        (self.bits_40 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_red_sign_limit_event_flag_id_3_target_flag_state(&mut self, value: u8) {
        self.bits_40 = (self.bits_40 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_auto_intrude_point(&self) -> u8 {
        (self.bits_41 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_auto_intrude_point(&mut self, value: u8) {
        self.bits_41 = (self.bits_41 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn multi_play_has_host_limit_event_flag_id(&self) -> i32 {
        self.multi_play_has_host_limit_event_flag_id
    }

    pub fn set_multi_play_has_host_limit_event_flag_id(&mut self, value: i32) {
        self.multi_play_has_host_limit_event_flag_id = value;
    }

    pub fn other_max_distance(&self) -> f32 {
        self.other_max_distance
    }

    pub fn set_other_max_distance(&mut self, value: f32) {
        self.other_max_distance = value;
    }

    pub fn sign_puddle_open_event_flag_id(&self) -> i32 {
        self.sign_puddle_open_event_flag_id
    }

    pub fn set_sign_puddle_open_event_flag_id(&mut self, value: i32) {
        self.sign_puddle_open_event_flag_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PROTECTOR_GEN_PARAM_ST {
    pro_param_id: i32,
    gem_slot_type_0: u32,
    gem_gen_id_0: i32,
    gem_slot_type_1: u32,
    gem_gen_id_1: i32,
    gem_slot_type_2: u32,
    gem_gen_id_2: i32,
    gem_slot_type_3: u32,
    gem_gen_id_3: i32,
    gem_slot_type_4: u32,
    gem_gen_id_4: i32,
}

impl ParamDef for PROTECTOR_GEN_PARAM_ST {
    const NAME: &str = "PROTECTOR_GEN_PARAM_ST";
    const INDEX: usize = 77;
}

impl PROTECTOR_GEN_PARAM_ST {
    pub fn pro_param_id(&self) -> i32 {
        self.pro_param_id
    }

    pub fn set_pro_param_id(&mut self, value: i32) {
        self.pro_param_id = value;
    }

    pub fn gem_slot_type_0(&self) -> u32 {
        self.gem_slot_type_0
    }

    pub fn set_gem_slot_type_0(&mut self, value: u32) {
        self.gem_slot_type_0 = value;
    }

    pub fn gem_gen_id_0(&self) -> i32 {
        self.gem_gen_id_0
    }

    pub fn set_gem_gen_id_0(&mut self, value: i32) {
        self.gem_gen_id_0 = value;
    }

    pub fn gem_slot_type_1(&self) -> u32 {
        self.gem_slot_type_1
    }

    pub fn set_gem_slot_type_1(&mut self, value: u32) {
        self.gem_slot_type_1 = value;
    }

    pub fn gem_gen_id_1(&self) -> i32 {
        self.gem_gen_id_1
    }

    pub fn set_gem_gen_id_1(&mut self, value: i32) {
        self.gem_gen_id_1 = value;
    }

    pub fn gem_slot_type_2(&self) -> u32 {
        self.gem_slot_type_2
    }

    pub fn set_gem_slot_type_2(&mut self, value: u32) {
        self.gem_slot_type_2 = value;
    }

    pub fn gem_gen_id_2(&self) -> i32 {
        self.gem_gen_id_2
    }

    pub fn set_gem_gen_id_2(&mut self, value: i32) {
        self.gem_gen_id_2 = value;
    }

    pub fn gem_slot_type_3(&self) -> u32 {
        self.gem_slot_type_3
    }

    pub fn set_gem_slot_type_3(&mut self, value: u32) {
        self.gem_slot_type_3 = value;
    }

    pub fn gem_gen_id_3(&self) -> i32 {
        self.gem_gen_id_3
    }

    pub fn set_gem_gen_id_3(&mut self, value: i32) {
        self.gem_gen_id_3 = value;
    }

    pub fn gem_slot_type_4(&self) -> u32 {
        self.gem_slot_type_4
    }

    pub fn set_gem_slot_type_4(&mut self, value: u32) {
        self.gem_slot_type_4 = value;
    }

    pub fn gem_gen_id_4(&self) -> i32 {
        self.gem_gen_id_4
    }

    pub fn set_gem_gen_id_4(&mut self, value: i32) {
        self.gem_gen_id_4 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct RAGDOLL_PARAM_ST {
    hierarch_gain: f32,
    velocity_damping: f32,
    accel_gain: f32,
    velocity_gain: f32,
    position_gain: f32,
    max_liner_velocity: f32,
    max_angular_velocity: f32,
    snap_gain: f32,
    enable: u8,
    parts_hit_mask_no: i8,
    pad1: [u8; 14],
}

impl ParamDef for RAGDOLL_PARAM_ST {
    const NAME: &str = "RAGDOLL_PARAM_ST";
    const INDEX: usize = 78;
}

impl RAGDOLL_PARAM_ST {
    pub fn hierarch_gain(&self) -> f32 {
        self.hierarch_gain
    }

    pub fn set_hierarch_gain(&mut self, value: f32) {
        self.hierarch_gain = value;
    }

    pub fn velocity_damping(&self) -> f32 {
        self.velocity_damping
    }

    pub fn set_velocity_damping(&mut self, value: f32) {
        self.velocity_damping = value;
    }

    pub fn accel_gain(&self) -> f32 {
        self.accel_gain
    }

    pub fn set_accel_gain(&mut self, value: f32) {
        self.accel_gain = value;
    }

    pub fn velocity_gain(&self) -> f32 {
        self.velocity_gain
    }

    pub fn set_velocity_gain(&mut self, value: f32) {
        self.velocity_gain = value;
    }

    pub fn position_gain(&self) -> f32 {
        self.position_gain
    }

    pub fn set_position_gain(&mut self, value: f32) {
        self.position_gain = value;
    }

    pub fn max_liner_velocity(&self) -> f32 {
        self.max_liner_velocity
    }

    pub fn set_max_liner_velocity(&mut self, value: f32) {
        self.max_liner_velocity = value;
    }

    pub fn max_angular_velocity(&self) -> f32 {
        self.max_angular_velocity
    }

    pub fn set_max_angular_velocity(&mut self, value: f32) {
        self.max_angular_velocity = value;
    }

    pub fn snap_gain(&self) -> f32 {
        self.snap_gain
    }

    pub fn set_snap_gain(&mut self, value: f32) {
        self.snap_gain = value;
    }

    pub fn enable(&self) -> u8 {
        self.enable
    }

    pub fn set_enable(&mut self, value: u8) {
        self.enable = value;
    }

    pub fn parts_hit_mask_no(&self) -> i8 {
        self.parts_hit_mask_no
    }

    pub fn set_parts_hit_mask_no(&mut self, value: i8) {
        self.parts_hit_mask_no = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct REINFORCE_PARAM_PROTECTOR_ST {
    physic_def_rate: f32,
    magic_def_rate: f32,
    fire_def_rate: f32,
    thunder_def_rate: f32,
    slash_def_rate: f32,
    blow_def_rate: f32,
    thrust_def_rate: f32,
    resist_poison_rate: f32,
    resist_toxic_rate: f32,
    resist_blood_rate: f32,
    resist_curse_rate: f32,
    resident_sp_effect_id1: u8,
    resident_sp_effect_id2: u8,
    resident_sp_effect_id3: u8,
    material_set_id: u8,
    dark_def_rate: f32,
    resist_frost: f32,
    pad1: [u8; 8],
}

impl ParamDef for REINFORCE_PARAM_PROTECTOR_ST {
    const NAME: &str = "REINFORCE_PARAM_PROTECTOR_ST";
    const INDEX: usize = 79;
}

impl REINFORCE_PARAM_PROTECTOR_ST {
    pub fn physic_def_rate(&self) -> f32 {
        self.physic_def_rate
    }

    pub fn set_physic_def_rate(&mut self, value: f32) {
        self.physic_def_rate = value;
    }

    pub fn magic_def_rate(&self) -> f32 {
        self.magic_def_rate
    }

    pub fn set_magic_def_rate(&mut self, value: f32) {
        self.magic_def_rate = value;
    }

    pub fn fire_def_rate(&self) -> f32 {
        self.fire_def_rate
    }

    pub fn set_fire_def_rate(&mut self, value: f32) {
        self.fire_def_rate = value;
    }

    pub fn thunder_def_rate(&self) -> f32 {
        self.thunder_def_rate
    }

    pub fn set_thunder_def_rate(&mut self, value: f32) {
        self.thunder_def_rate = value;
    }

    pub fn slash_def_rate(&self) -> f32 {
        self.slash_def_rate
    }

    pub fn set_slash_def_rate(&mut self, value: f32) {
        self.slash_def_rate = value;
    }

    pub fn blow_def_rate(&self) -> f32 {
        self.blow_def_rate
    }

    pub fn set_blow_def_rate(&mut self, value: f32) {
        self.blow_def_rate = value;
    }

    pub fn thrust_def_rate(&self) -> f32 {
        self.thrust_def_rate
    }

    pub fn set_thrust_def_rate(&mut self, value: f32) {
        self.thrust_def_rate = value;
    }

    pub fn resist_poison_rate(&self) -> f32 {
        self.resist_poison_rate
    }

    pub fn set_resist_poison_rate(&mut self, value: f32) {
        self.resist_poison_rate = value;
    }

    pub fn resist_toxic_rate(&self) -> f32 {
        self.resist_toxic_rate
    }

    pub fn set_resist_toxic_rate(&mut self, value: f32) {
        self.resist_toxic_rate = value;
    }

    pub fn resist_blood_rate(&self) -> f32 {
        self.resist_blood_rate
    }

    pub fn set_resist_blood_rate(&mut self, value: f32) {
        self.resist_blood_rate = value;
    }

    pub fn resist_curse_rate(&self) -> f32 {
        self.resist_curse_rate
    }

    pub fn set_resist_curse_rate(&mut self, value: f32) {
        self.resist_curse_rate = value;
    }

    pub fn resident_sp_effect_id1(&self) -> u8 {
        self.resident_sp_effect_id1
    }

    pub fn set_resident_sp_effect_id1(&mut self, value: u8) {
        self.resident_sp_effect_id1 = value;
    }

    pub fn resident_sp_effect_id2(&self) -> u8 {
        self.resident_sp_effect_id2
    }

    pub fn set_resident_sp_effect_id2(&mut self, value: u8) {
        self.resident_sp_effect_id2 = value;
    }

    pub fn resident_sp_effect_id3(&self) -> u8 {
        self.resident_sp_effect_id3
    }

    pub fn set_resident_sp_effect_id3(&mut self, value: u8) {
        self.resident_sp_effect_id3 = value;
    }

    pub fn material_set_id(&self) -> u8 {
        self.material_set_id
    }

    pub fn set_material_set_id(&mut self, value: u8) {
        self.material_set_id = value;
    }

    pub fn dark_def_rate(&self) -> f32 {
        self.dark_def_rate
    }

    pub fn set_dark_def_rate(&mut self, value: f32) {
        self.dark_def_rate = value;
    }

    pub fn resist_frost(&self) -> f32 {
        self.resist_frost
    }

    pub fn set_resist_frost(&mut self, value: f32) {
        self.resist_frost = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct REINFORCE_PARAM_WEAPON_ST {
    physics_atk_rate: f32,
    magic_atk_rate: f32,
    fire_atk_rate: f32,
    thunder_atk_rate: f32,
    stamina_atk_rate: f32,
    sa_weapon_atk_rate: f32,
    sa_durability_rate: f32,
    correct_strength_rate: f32,
    correct_agility_rate: f32,
    correct_magic_rate: f32,
    correct_faith_rate: f32,
    physics_guard_cut_rate: f32,
    magic_guard_cut_rate: f32,
    fire_guard_cut_rate: f32,
    thunder_guard_cut_rate: f32,
    poison_guard_resist_rate: f32,
    toxic_guard_resist_rate: f32,
    bleed_guard_resist_rate: f32,
    curse_guard_resist_rate: f32,
    stamina_guard_resist_rate: f32,
    sp_effect_id1: u8,
    sp_effect_id2: u8,
    sp_effect_id3: u8,
    resident_sp_effect_id1: u8,
    resident_sp_effect_id2: u8,
    resident_sp_effect_id3: u8,
    material_set_id: u8,
    max_reinforce_level: u8,
    dark_atk_rate: f32,
    dark_guard_cut_rate: f32,
    correct_luck_rate: f32,
    freeze_guard_def_rate: f32,
    reinforce_price_rate: f32,
    base_change_price_rate: f32,
    pad2: [u8; 16],
}

impl ParamDef for REINFORCE_PARAM_WEAPON_ST {
    const NAME: &str = "REINFORCE_PARAM_WEAPON_ST";
    const INDEX: usize = 80;
}

impl REINFORCE_PARAM_WEAPON_ST {
    pub fn physics_atk_rate(&self) -> f32 {
        self.physics_atk_rate
    }

    pub fn set_physics_atk_rate(&mut self, value: f32) {
        self.physics_atk_rate = value;
    }

    pub fn magic_atk_rate(&self) -> f32 {
        self.magic_atk_rate
    }

    pub fn set_magic_atk_rate(&mut self, value: f32) {
        self.magic_atk_rate = value;
    }

    pub fn fire_atk_rate(&self) -> f32 {
        self.fire_atk_rate
    }

    pub fn set_fire_atk_rate(&mut self, value: f32) {
        self.fire_atk_rate = value;
    }

    pub fn thunder_atk_rate(&self) -> f32 {
        self.thunder_atk_rate
    }

    pub fn set_thunder_atk_rate(&mut self, value: f32) {
        self.thunder_atk_rate = value;
    }

    pub fn stamina_atk_rate(&self) -> f32 {
        self.stamina_atk_rate
    }

    pub fn set_stamina_atk_rate(&mut self, value: f32) {
        self.stamina_atk_rate = value;
    }

    pub fn sa_weapon_atk_rate(&self) -> f32 {
        self.sa_weapon_atk_rate
    }

    pub fn set_sa_weapon_atk_rate(&mut self, value: f32) {
        self.sa_weapon_atk_rate = value;
    }

    pub fn sa_durability_rate(&self) -> f32 {
        self.sa_durability_rate
    }

    pub fn set_sa_durability_rate(&mut self, value: f32) {
        self.sa_durability_rate = value;
    }

    pub fn correct_strength_rate(&self) -> f32 {
        self.correct_strength_rate
    }

    pub fn set_correct_strength_rate(&mut self, value: f32) {
        self.correct_strength_rate = value;
    }

    pub fn correct_agility_rate(&self) -> f32 {
        self.correct_agility_rate
    }

    pub fn set_correct_agility_rate(&mut self, value: f32) {
        self.correct_agility_rate = value;
    }

    pub fn correct_magic_rate(&self) -> f32 {
        self.correct_magic_rate
    }

    pub fn set_correct_magic_rate(&mut self, value: f32) {
        self.correct_magic_rate = value;
    }

    pub fn correct_faith_rate(&self) -> f32 {
        self.correct_faith_rate
    }

    pub fn set_correct_faith_rate(&mut self, value: f32) {
        self.correct_faith_rate = value;
    }

    pub fn physics_guard_cut_rate(&self) -> f32 {
        self.physics_guard_cut_rate
    }

    pub fn set_physics_guard_cut_rate(&mut self, value: f32) {
        self.physics_guard_cut_rate = value;
    }

    pub fn magic_guard_cut_rate(&self) -> f32 {
        self.magic_guard_cut_rate
    }

    pub fn set_magic_guard_cut_rate(&mut self, value: f32) {
        self.magic_guard_cut_rate = value;
    }

    pub fn fire_guard_cut_rate(&self) -> f32 {
        self.fire_guard_cut_rate
    }

    pub fn set_fire_guard_cut_rate(&mut self, value: f32) {
        self.fire_guard_cut_rate = value;
    }

    pub fn thunder_guard_cut_rate(&self) -> f32 {
        self.thunder_guard_cut_rate
    }

    pub fn set_thunder_guard_cut_rate(&mut self, value: f32) {
        self.thunder_guard_cut_rate = value;
    }

    pub fn poison_guard_resist_rate(&self) -> f32 {
        self.poison_guard_resist_rate
    }

    pub fn set_poison_guard_resist_rate(&mut self, value: f32) {
        self.poison_guard_resist_rate = value;
    }

    pub fn toxic_guard_resist_rate(&self) -> f32 {
        self.toxic_guard_resist_rate
    }

    pub fn set_toxic_guard_resist_rate(&mut self, value: f32) {
        self.toxic_guard_resist_rate = value;
    }

    pub fn bleed_guard_resist_rate(&self) -> f32 {
        self.bleed_guard_resist_rate
    }

    pub fn set_bleed_guard_resist_rate(&mut self, value: f32) {
        self.bleed_guard_resist_rate = value;
    }

    pub fn curse_guard_resist_rate(&self) -> f32 {
        self.curse_guard_resist_rate
    }

    pub fn set_curse_guard_resist_rate(&mut self, value: f32) {
        self.curse_guard_resist_rate = value;
    }

    pub fn stamina_guard_resist_rate(&self) -> f32 {
        self.stamina_guard_resist_rate
    }

    pub fn set_stamina_guard_resist_rate(&mut self, value: f32) {
        self.stamina_guard_resist_rate = value;
    }

    pub fn sp_effect_id1(&self) -> u8 {
        self.sp_effect_id1
    }

    pub fn set_sp_effect_id1(&mut self, value: u8) {
        self.sp_effect_id1 = value;
    }

    pub fn sp_effect_id2(&self) -> u8 {
        self.sp_effect_id2
    }

    pub fn set_sp_effect_id2(&mut self, value: u8) {
        self.sp_effect_id2 = value;
    }

    pub fn sp_effect_id3(&self) -> u8 {
        self.sp_effect_id3
    }

    pub fn set_sp_effect_id3(&mut self, value: u8) {
        self.sp_effect_id3 = value;
    }

    pub fn resident_sp_effect_id1(&self) -> u8 {
        self.resident_sp_effect_id1
    }

    pub fn set_resident_sp_effect_id1(&mut self, value: u8) {
        self.resident_sp_effect_id1 = value;
    }

    pub fn resident_sp_effect_id2(&self) -> u8 {
        self.resident_sp_effect_id2
    }

    pub fn set_resident_sp_effect_id2(&mut self, value: u8) {
        self.resident_sp_effect_id2 = value;
    }

    pub fn resident_sp_effect_id3(&self) -> u8 {
        self.resident_sp_effect_id3
    }

    pub fn set_resident_sp_effect_id3(&mut self, value: u8) {
        self.resident_sp_effect_id3 = value;
    }

    pub fn material_set_id(&self) -> u8 {
        self.material_set_id
    }

    pub fn set_material_set_id(&mut self, value: u8) {
        self.material_set_id = value;
    }

    pub fn max_reinforce_level(&self) -> u8 {
        self.max_reinforce_level
    }

    pub fn set_max_reinforce_level(&mut self, value: u8) {
        self.max_reinforce_level = value;
    }

    pub fn dark_atk_rate(&self) -> f32 {
        self.dark_atk_rate
    }

    pub fn set_dark_atk_rate(&mut self, value: f32) {
        self.dark_atk_rate = value;
    }

    pub fn dark_guard_cut_rate(&self) -> f32 {
        self.dark_guard_cut_rate
    }

    pub fn set_dark_guard_cut_rate(&mut self, value: f32) {
        self.dark_guard_cut_rate = value;
    }

    pub fn correct_luck_rate(&self) -> f32 {
        self.correct_luck_rate
    }

    pub fn set_correct_luck_rate(&mut self, value: f32) {
        self.correct_luck_rate = value;
    }

    pub fn freeze_guard_def_rate(&self) -> f32 {
        self.freeze_guard_def_rate
    }

    pub fn set_freeze_guard_def_rate(&mut self, value: f32) {
        self.freeze_guard_def_rate = value;
    }

    pub fn reinforce_price_rate(&self) -> f32 {
        self.reinforce_price_rate
    }

    pub fn set_reinforce_price_rate(&mut self, value: f32) {
        self.reinforce_price_rate = value;
    }

    pub fn base_change_price_rate(&self) -> f32 {
        self.base_change_price_rate
    }

    pub fn set_base_change_price_rate(&mut self, value: f32) {
        self.base_change_price_rate = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ROLE_PARAM_ST {
    team_type: u8,
    pad1: [u8; 3],
    phantom_param_id0: i32,
    sp_effect_id0: i32,
    sp_effect_id1: i32,
    sp_effect_id2: i32,
    sp_effect_id3: i32,
    sp_effect_id4: i32,
    sp_effect_id5: i32,
    sp_effect_id6: i32,
    sp_effect_id7: i32,
    sp_effect_id8: i32,
    sp_effect_id9: i32,
    sos_sign_sfx_id: i32,
    my_sos_sign_sfx_id: i32,
    summon_start_anim_id: i32,
    itemlot_param_id: i32,
    voice_chat_group: u8,
    role_name_color: u8,
    pad2: [u8; 2],
    role_name_id: i32,
    sub_team_type: i32,
    phantom_param_id1: i32,
    phantom_param_id2: i32,
    phantom_param_id3: i32,
    sp_effect10: i32,
    sp_effect11: i32,
    sp_effect12: i32,
    sp_effect13: i32,
    sign_phantom_id: i32,
    non_player_summon_start_anim_id: i32,
    pad3: [u8; 16],
}

impl ParamDef for ROLE_PARAM_ST {
    const NAME: &str = "ROLE_PARAM_ST";
    const INDEX: usize = 81;
}

impl ROLE_PARAM_ST {
    pub fn team_type(&self) -> u8 {
        self.team_type
    }

    pub fn set_team_type(&mut self, value: u8) {
        self.team_type = value;
    }

    pub fn phantom_param_id0(&self) -> i32 {
        self.phantom_param_id0
    }

    pub fn set_phantom_param_id0(&mut self, value: i32) {
        self.phantom_param_id0 = value;
    }

    pub fn sp_effect_id0(&self) -> i32 {
        self.sp_effect_id0
    }

    pub fn set_sp_effect_id0(&mut self, value: i32) {
        self.sp_effect_id0 = value;
    }

    pub fn sp_effect_id1(&self) -> i32 {
        self.sp_effect_id1
    }

    pub fn set_sp_effect_id1(&mut self, value: i32) {
        self.sp_effect_id1 = value;
    }

    pub fn sp_effect_id2(&self) -> i32 {
        self.sp_effect_id2
    }

    pub fn set_sp_effect_id2(&mut self, value: i32) {
        self.sp_effect_id2 = value;
    }

    pub fn sp_effect_id3(&self) -> i32 {
        self.sp_effect_id3
    }

    pub fn set_sp_effect_id3(&mut self, value: i32) {
        self.sp_effect_id3 = value;
    }

    pub fn sp_effect_id4(&self) -> i32 {
        self.sp_effect_id4
    }

    pub fn set_sp_effect_id4(&mut self, value: i32) {
        self.sp_effect_id4 = value;
    }

    pub fn sp_effect_id5(&self) -> i32 {
        self.sp_effect_id5
    }

    pub fn set_sp_effect_id5(&mut self, value: i32) {
        self.sp_effect_id5 = value;
    }

    pub fn sp_effect_id6(&self) -> i32 {
        self.sp_effect_id6
    }

    pub fn set_sp_effect_id6(&mut self, value: i32) {
        self.sp_effect_id6 = value;
    }

    pub fn sp_effect_id7(&self) -> i32 {
        self.sp_effect_id7
    }

    pub fn set_sp_effect_id7(&mut self, value: i32) {
        self.sp_effect_id7 = value;
    }

    pub fn sp_effect_id8(&self) -> i32 {
        self.sp_effect_id8
    }

    pub fn set_sp_effect_id8(&mut self, value: i32) {
        self.sp_effect_id8 = value;
    }

    pub fn sp_effect_id9(&self) -> i32 {
        self.sp_effect_id9
    }

    pub fn set_sp_effect_id9(&mut self, value: i32) {
        self.sp_effect_id9 = value;
    }

    pub fn sos_sign_sfx_id(&self) -> i32 {
        self.sos_sign_sfx_id
    }

    pub fn set_sos_sign_sfx_id(&mut self, value: i32) {
        self.sos_sign_sfx_id = value;
    }

    pub fn my_sos_sign_sfx_id(&self) -> i32 {
        self.my_sos_sign_sfx_id
    }

    pub fn set_my_sos_sign_sfx_id(&mut self, value: i32) {
        self.my_sos_sign_sfx_id = value;
    }

    pub fn summon_start_anim_id(&self) -> i32 {
        self.summon_start_anim_id
    }

    pub fn set_summon_start_anim_id(&mut self, value: i32) {
        self.summon_start_anim_id = value;
    }

    pub fn itemlot_param_id(&self) -> i32 {
        self.itemlot_param_id
    }

    pub fn set_itemlot_param_id(&mut self, value: i32) {
        self.itemlot_param_id = value;
    }

    pub fn voice_chat_group(&self) -> u8 {
        self.voice_chat_group
    }

    pub fn set_voice_chat_group(&mut self, value: u8) {
        self.voice_chat_group = value;
    }

    pub fn role_name_color(&self) -> u8 {
        self.role_name_color
    }

    pub fn set_role_name_color(&mut self, value: u8) {
        self.role_name_color = value;
    }

    pub fn role_name_id(&self) -> i32 {
        self.role_name_id
    }

    pub fn set_role_name_id(&mut self, value: i32) {
        self.role_name_id = value;
    }

    pub fn sub_team_type(&self) -> i32 {
        self.sub_team_type
    }

    pub fn set_sub_team_type(&mut self, value: i32) {
        self.sub_team_type = value;
    }

    pub fn phantom_param_id1(&self) -> i32 {
        self.phantom_param_id1
    }

    pub fn set_phantom_param_id1(&mut self, value: i32) {
        self.phantom_param_id1 = value;
    }

    pub fn phantom_param_id2(&self) -> i32 {
        self.phantom_param_id2
    }

    pub fn set_phantom_param_id2(&mut self, value: i32) {
        self.phantom_param_id2 = value;
    }

    pub fn phantom_param_id3(&self) -> i32 {
        self.phantom_param_id3
    }

    pub fn set_phantom_param_id3(&mut self, value: i32) {
        self.phantom_param_id3 = value;
    }

    pub fn sp_effect10(&self) -> i32 {
        self.sp_effect10
    }

    pub fn set_sp_effect10(&mut self, value: i32) {
        self.sp_effect10 = value;
    }

    pub fn sp_effect11(&self) -> i32 {
        self.sp_effect11
    }

    pub fn set_sp_effect11(&mut self, value: i32) {
        self.sp_effect11 = value;
    }

    pub fn sp_effect12(&self) -> i32 {
        self.sp_effect12
    }

    pub fn set_sp_effect12(&mut self, value: i32) {
        self.sp_effect12 = value;
    }

    pub fn sp_effect13(&self) -> i32 {
        self.sp_effect13
    }

    pub fn set_sp_effect13(&mut self, value: i32) {
        self.sp_effect13 = value;
    }

    pub fn sign_phantom_id(&self) -> i32 {
        self.sign_phantom_id
    }

    pub fn set_sign_phantom_id(&mut self, value: i32) {
        self.sign_phantom_id = value;
    }

    pub fn non_player_summon_start_anim_id(&self) -> i32 {
        self.non_player_summon_start_anim_id
    }

    pub fn set_non_player_summon_start_anim_id(&mut self, value: i32) {
        self.non_player_summon_start_anim_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SE_MATERIAL_CONVERT_PARAM_ST {
    se_material_id: u8,
    pad: [u8; 3],
}

impl ParamDef for SE_MATERIAL_CONVERT_PARAM_ST {
    const NAME: &str = "SE_MATERIAL_CONVERT_PARAM_ST";
    const INDEX: usize = 82;
}

impl SE_MATERIAL_CONVERT_PARAM_ST {
    pub fn se_material_id(&self) -> u8 {
        self.se_material_id
    }

    pub fn set_se_material_id(&mut self, value: u8) {
        self.se_material_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SHOP_LINEUP_PARAM {
    equip_id: i32,
    value: i32,
    mtrl_id: i32,
    event_flag_for_stock: i32,
    event_flag_for_release: i32,
    sell_quantity: i16,
    pad1: [u8; 1],
    equip_type: u8,
    pad2: [u8; 2],
    set_num: u16,
    value_add: i32,
    value_magnification: f32,
}

impl ParamDef for SHOP_LINEUP_PARAM {
    const NAME: &str = "SHOP_LINEUP_PARAM";
    const INDEX: usize = 83;
}

impl SHOP_LINEUP_PARAM {
    pub fn equip_id(&self) -> i32 {
        self.equip_id
    }

    pub fn set_equip_id(&mut self, value: i32) {
        self.equip_id = value;
    }

    pub fn value(&self) -> i32 {
        self.value
    }

    pub fn set_value(&mut self, value: i32) {
        self.value = value;
    }

    pub fn mtrl_id(&self) -> i32 {
        self.mtrl_id
    }

    pub fn set_mtrl_id(&mut self, value: i32) {
        self.mtrl_id = value;
    }

    pub fn event_flag_for_stock(&self) -> i32 {
        self.event_flag_for_stock
    }

    pub fn set_event_flag_for_stock(&mut self, value: i32) {
        self.event_flag_for_stock = value;
    }

    pub fn event_flag_for_release(&self) -> i32 {
        self.event_flag_for_release
    }

    pub fn set_event_flag_for_release(&mut self, value: i32) {
        self.event_flag_for_release = value;
    }

    pub fn sell_quantity(&self) -> i16 {
        self.sell_quantity
    }

    pub fn set_sell_quantity(&mut self, value: i16) {
        self.sell_quantity = value;
    }

    pub fn equip_type(&self) -> u8 {
        self.equip_type
    }

    pub fn set_equip_type(&mut self, value: u8) {
        self.equip_type = value;
    }

    pub fn set_num(&self) -> u16 {
        self.set_num
    }

    pub fn set_set_num(&mut self, value: u16) {
        self.set_num = value;
    }

    pub fn value_add(&self) -> i32 {
        self.value_add
    }

    pub fn set_value_add(&mut self, value: i32) {
        self.value_add = value;
    }

    pub fn value_magnification(&self) -> f32 {
        self.value_magnification
    }

    pub fn set_value_magnification(&mut self, value: f32) {
        self.value_magnification = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SKELETON_PARAM_ST {
    neck_turn_gain: f32,
    original_ground_height_ms: i16,
    min_ankle_height_ms: i16,
    max_ankle_height_ms: i16,
    cosine_max_knee_angle: i16,
    cosine_min_knee_angle: i16,
    foot_planted_ankle_height_ms: i16,
    foot_raised_ankle_height_ms: i16,
    raycast_distance_up: i16,
    raycast_distance_down: i16,
    foot_end_ls_x: i16,
    foot_end_ls_y: i16,
    foot_end_ls_z: i16,
    on_off_gain: i16,
    ground_acsending_gain: i16,
    ground_descending_gain: i16,
    foot_raised_gain: i16,
    foot_planted_gain: i16,
    foot_unlock_gain: i16,
    knee_axis_type: u8,
    use_foot_locking: u8,
    foot_placement_on: u8,
    twist_knee_axis_type: u8,
    neck_turn_priority: u8,
    neck_turn_max_angle: u8,
    pad1: [u8; 2],
}

impl ParamDef for SKELETON_PARAM_ST {
    const NAME: &str = "SKELETON_PARAM_ST";
    const INDEX: usize = 84;
}

impl SKELETON_PARAM_ST {
    pub fn neck_turn_gain(&self) -> f32 {
        self.neck_turn_gain
    }

    pub fn set_neck_turn_gain(&mut self, value: f32) {
        self.neck_turn_gain = value;
    }

    pub fn original_ground_height_ms(&self) -> i16 {
        self.original_ground_height_ms
    }

    pub fn set_original_ground_height_ms(&mut self, value: i16) {
        self.original_ground_height_ms = value;
    }

    pub fn min_ankle_height_ms(&self) -> i16 {
        self.min_ankle_height_ms
    }

    pub fn set_min_ankle_height_ms(&mut self, value: i16) {
        self.min_ankle_height_ms = value;
    }

    pub fn max_ankle_height_ms(&self) -> i16 {
        self.max_ankle_height_ms
    }

    pub fn set_max_ankle_height_ms(&mut self, value: i16) {
        self.max_ankle_height_ms = value;
    }

    pub fn cosine_max_knee_angle(&self) -> i16 {
        self.cosine_max_knee_angle
    }

    pub fn set_cosine_max_knee_angle(&mut self, value: i16) {
        self.cosine_max_knee_angle = value;
    }

    pub fn cosine_min_knee_angle(&self) -> i16 {
        self.cosine_min_knee_angle
    }

    pub fn set_cosine_min_knee_angle(&mut self, value: i16) {
        self.cosine_min_knee_angle = value;
    }

    pub fn foot_planted_ankle_height_ms(&self) -> i16 {
        self.foot_planted_ankle_height_ms
    }

    pub fn set_foot_planted_ankle_height_ms(&mut self, value: i16) {
        self.foot_planted_ankle_height_ms = value;
    }

    pub fn foot_raised_ankle_height_ms(&self) -> i16 {
        self.foot_raised_ankle_height_ms
    }

    pub fn set_foot_raised_ankle_height_ms(&mut self, value: i16) {
        self.foot_raised_ankle_height_ms = value;
    }

    pub fn raycast_distance_up(&self) -> i16 {
        self.raycast_distance_up
    }

    pub fn set_raycast_distance_up(&mut self, value: i16) {
        self.raycast_distance_up = value;
    }

    pub fn raycast_distance_down(&self) -> i16 {
        self.raycast_distance_down
    }

    pub fn set_raycast_distance_down(&mut self, value: i16) {
        self.raycast_distance_down = value;
    }

    pub fn foot_end_ls_x(&self) -> i16 {
        self.foot_end_ls_x
    }

    pub fn set_foot_end_ls_x(&mut self, value: i16) {
        self.foot_end_ls_x = value;
    }

    pub fn foot_end_ls_y(&self) -> i16 {
        self.foot_end_ls_y
    }

    pub fn set_foot_end_ls_y(&mut self, value: i16) {
        self.foot_end_ls_y = value;
    }

    pub fn foot_end_ls_z(&self) -> i16 {
        self.foot_end_ls_z
    }

    pub fn set_foot_end_ls_z(&mut self, value: i16) {
        self.foot_end_ls_z = value;
    }

    pub fn on_off_gain(&self) -> i16 {
        self.on_off_gain
    }

    pub fn set_on_off_gain(&mut self, value: i16) {
        self.on_off_gain = value;
    }

    pub fn ground_acsending_gain(&self) -> i16 {
        self.ground_acsending_gain
    }

    pub fn set_ground_acsending_gain(&mut self, value: i16) {
        self.ground_acsending_gain = value;
    }

    pub fn ground_descending_gain(&self) -> i16 {
        self.ground_descending_gain
    }

    pub fn set_ground_descending_gain(&mut self, value: i16) {
        self.ground_descending_gain = value;
    }

    pub fn foot_raised_gain(&self) -> i16 {
        self.foot_raised_gain
    }

    pub fn set_foot_raised_gain(&mut self, value: i16) {
        self.foot_raised_gain = value;
    }

    pub fn foot_planted_gain(&self) -> i16 {
        self.foot_planted_gain
    }

    pub fn set_foot_planted_gain(&mut self, value: i16) {
        self.foot_planted_gain = value;
    }

    pub fn foot_unlock_gain(&self) -> i16 {
        self.foot_unlock_gain
    }

    pub fn set_foot_unlock_gain(&mut self, value: i16) {
        self.foot_unlock_gain = value;
    }

    pub fn knee_axis_type(&self) -> u8 {
        self.knee_axis_type
    }

    pub fn set_knee_axis_type(&mut self, value: u8) {
        self.knee_axis_type = value;
    }

    pub fn use_foot_locking(&self) -> u8 {
        self.use_foot_locking
    }

    pub fn set_use_foot_locking(&mut self, value: u8) {
        self.use_foot_locking = value;
    }

    pub fn foot_placement_on(&self) -> u8 {
        self.foot_placement_on
    }

    pub fn set_foot_placement_on(&mut self, value: u8) {
        self.foot_placement_on = value;
    }

    pub fn twist_knee_axis_type(&self) -> u8 {
        self.twist_knee_axis_type
    }

    pub fn set_twist_knee_axis_type(&mut self, value: u8) {
        self.twist_knee_axis_type = value;
    }

    pub fn neck_turn_priority(&self) -> u8 {
        self.neck_turn_priority
    }

    pub fn set_neck_turn_priority(&mut self, value: u8) {
        self.neck_turn_priority = value;
    }

    pub fn neck_turn_max_angle(&self) -> u8 {
        self.neck_turn_max_angle
    }

    pub fn set_neck_turn_max_angle(&mut self, value: u8) {
        self.neck_turn_max_angle = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SP_EFFECT_PARAM_ST {
    icon_id: i32,
    condition_hp: f32,
    effect_endurance: f32,
    motion_interval: f32,
    max_hp_rate: f32,
    max_mp_rate: f32,
    max_stamina_rate: f32,
    slash_damage_cut_rate: f32,
    blow_damage_cut_rate: f32,
    thrust_damage_cut_rate: f32,
    neutral_damage_cut_rate: f32,
    magic_damage_cut_rate: f32,
    fire_damage_cut_rate: f32,
    thunder_damage_cut_rate: f32,
    physics_attack_rate: f32,
    magic_attack_rate: f32,
    fire_attack_rate: f32,
    thunder_attack_rate: f32,
    physics_attack_power_rate: f32,
    magic_attack_power_rate: f32,
    fire_attack_power_rate: f32,
    thunder_attack_power_rate: f32,
    physics_attack_power: i32,
    magic_attack_power: i32,
    fire_attack_power: i32,
    thunder_attack_power: i32,
    physics_diffence_rate: f32,
    magic_diffence_rate: f32,
    fire_diffence_rate: f32,
    thunder_diffence_rate: f32,
    physics_diffence: i32,
    magic_diffence: i32,
    fire_diffence: i32,
    thunder_diffence: i32,
    no_guard_damage_rate: f32,
    vital_spot_change_rate: f32,
    normal_spot_change_rate: f32,
    look_at_target_pos_offset: f32,
    behavior_id: i32,
    change_hp_rate: f32,
    change_hp_point: i32,
    change_mp_rate: f32,
    change_mp_point: i32,
    mp_recover_change_speed: i32,
    change_stamina_rate: f32,
    change_stamina_point: i32,
    stamina_recover_change_speed: i32,
    magic_effect_time_change: f32,
    inside_durability: i32,
    max_durability: i32,
    stamina_attack_rate: f32,
    poizon_attack_power: i32,
    disease_attack_power: i32,
    blood_attack_power: i32,
    curse_attack_power: i32,
    fall_damage_rate: f32,
    soul_rate: f32,
    equip_weight_change_rate: f32,
    all_item_weight_change_rate: f32,
    soul: i32,
    anim_id_offset: i32,
    have_soul_rate: f32,
    target_priority: f32,
    sight_search_enemy_rate: i32,
    hearing_search_enemy_rate: f32,
    grabity_rate: f32,
    regist_poizon_change_rate: f32,
    regist_disease_change_rate: f32,
    regist_blood_change_rate: f32,
    regist_curse_change_rate: f32,
    soul_steal_rate: f32,
    life_reduction_rate: f32,
    hp_recover_rate: f32,
    replace_sp_effect_id: i32,
    cycle_occurrence_sp_effect_id: i32,
    atk_occurrence_sp_effect_id: i32,
    guard_def_flick_power_rate: f32,
    guard_stamina_cut_rate: f32,
    ray_cast_passed_time: i16,
    change_super_armor_point: i16,
    bow_dist_rate: i16,
    sp_category: i16,
    category_priority: i8,
    save_category: i8,
    change_magic_slot: u8,
    change_miracle_slot: u8,
    hero_point_damage: u8,
    def_flick_power: u8,
    flick_damage_cut_rate: u8,
    blood_damage_rate: u8,
    dmg_lv_none: u8,
    dmg_lv_s: u8,
    dmg_lv_m: u8,
    dmg_lv_l: u8,
    dmg_lv_blow_m: u8,
    dmg_lv_push: u8,
    dmg_lv_strike: u8,
    dmg_lv_blow_s: u8,
    dmg_lv_min: u8,
    dmg_lv_uppercut: u8,
    dmg_lv_blow_ll: u8,
    dmg_lv_breath: u8,
    atk_attribute: u8,
    sp_attribute: u8,
    state_info: i16,
    wep_param_change: u8,
    move_type: u8,
    life_reduction_type: i16,
    throw_condition: u8,
    add_behavior_judge_id_condition: i8,
    freeze_damage_rate: u8,
    bits_15f: u8,
    bits_160: u8,
    bits_161: u8,
    bits_162: u8,
    bits_163: u8,
    bits_164: u8,
    bits_165: u8,
    bits_166: u8,
    rep_atk_dmg_lv: u8,
    sight_search_rate: f32,
    bits_16c: u8,
    change_team_type: i8,
    dmypoly_id: i16,
    vfx_id: i32,
    accumu_over_fire_id: i32,
    accumu_over_val: i32,
    accumu_under_fire_id: i32,
    accumu_under_val: i32,
    accumu_val: i32,
    eye_ang_x: u8,
    eye_ang_y: u8,
    add_deceased_lv: i16,
    unknown: i32,
    vfx_id1: i32,
    vfx_id2: i32,
    vfx_id3: i32,
    vfx_id4: i32,
    vfx_id5: i32,
    vfx_id6: i32,
    vfx_id7: i32,
    freeze_attack_power: i32,
    appear_ai_sound_id: i32,
    add_foot_effect_sfx_id: i16,
    unknown2: i8,
    team_offense_effectivity: i8,
    toughness_damage_cut_rate: f32,
    weak_dmg_rate_a: f32,
    weak_dmg_rate_b: f32,
    weak_dmg_rate_c: f32,
    weak_dmg_rate_d: f32,
    weak_dmg_rate_e: f32,
    weak_dmg_rate_f: f32,
    dark_damage_cut_rate: f32,
    dark_diffence_rate: f32,
    dark_diffence: i32,
    dark_attack_rate: f32,
    dark_attack_power_rate: f32,
    dark_attack_power: i32,
    anti_dark_sight_radius: f32,
    anti_dark_sight_dmypoly_id: i32,
    condition_hp_rate: f32,
    consume_stamina_rate: f32,
    item_drop_rate: f32,
    unknown3: f32,
    change_poison_resist_point: i32,
    change_disease_resist_point: i32,
    change_blood_resist_point: i32,
    change_curse_resist_point: i32,
    change_freeze_resist_point: i32,
    slash_attack_rate: f32,
    blow_attack_rate: f32,
    thrust_attack_rate: f32,
    neutral_attack_rate: f32,
    slash_attack_power_rate: f32,
    blow_attack_power_rate: f32,
    thrust_attack_power_rate: f32,
    neutral_attack_power_rate: f32,
    slash_attack_power: i32,
    blow_attack_power: i32,
    thrust_attack_power: i32,
    neutral_attack_power: i32,
    change_strength_point: i32,
    change_agility_point: i32,
    change_magic_point: i32,
    change_faith_point: i32,
    change_luck_point: i32,
    recover_arts_point_str: i8,
    recover_arts_point_dex: i8,
    recover_arts_point_magic: i8,
    recover_arts_point_miracle: i8,
    wet_condition_depth: u8,
    bits_261: u8,
    eye_angle_upper_around: u8,
    eye_angle_upper_bottom: u8,
    sa_receive_damage_rate: f32,
    def_player_dmg_correct_rate_physics: f32,
    def_player_dmg_correct_rate_magic: f32,
    def_player_dmg_correct_rate_fire: f32,
    def_player_dmg_correct_rate_thunder: f32,
    def_player_dmg_correct_rate_dark: f32,
    def_enemy_dmg_correct_rate_physics: f32,
    def_enemy_dmg_correct_rate_magic: f32,
    def_enemy_dmg_correct_rate_fire: f32,
    def_enemy_dmg_correct_rate_thunder: f32,
    def_enemy_dmg_correct_rate_dark: f32,
    def_obj_dmg_correct_rate: f32,
    atk_player_dmg_correct_rate_physics: f32,
    atk_player_dmg_correct_rate_magic: f32,
    atk_player_dmg_correct_rate_fire: f32,
    atk_player_dmg_correct_rate_thunder: f32,
    atk_player_dmg_correct_rate_dark: f32,
    atk_enemy_dmg_correct_rate_physics: f32,
    atk_enemy_dmg_correct_rate_magic: f32,
    atk_enemy_dmg_correct_rate_fire: f32,
    atk_enemy_dmg_correct_rate_thunder: f32,
    atk_enemy_dmg_correct_rate_dark: f32,
    regist_freeze_change_rate: f32,
    invocation_conditions_state_change1: i16,
    invocation_conditions_state_change2: i16,
    invocation_conditions_state_change3: i16,
    affect_pyromancy: u8,
    fake_dexterity_cast_speed: u8,
    value_magnification: f32,
    arts_consumption_rate: f32,
    magic_consumption_rate: f32,
    shaman_consumption_rate: f32,
    miracle_consumption_rate: f32,
    change_hp_estus_flask_rate: i32,
    change_hp_estus_flask_point: i32,
    change_mp_estus_flask_rate: i32,
    change_mp_estus_flask_point: i32,
    change_hp_estus_flask_correct_rate: f32,
    change_mp_estus_flask_correct_rate: f32,
    apply_id_on_get_soul: i32,
    extend_life_rate: f32,
    contract_life_rate: f32,
    behavior_judge_id_add0: u8,
    behavior_judge_id_add1: u8,
    effect_end_delete_decal_group_id: i16,
    def_object_attack_power_rate: f32,
    add_life_force_status: i8,
    add_willpower_status: i8,
    add_endure_status: i8,
    add_vitality_status: i8,
    add_strength_status: i8,
    add_dexterity_status: i8,
    add_magic_status: i8,
    add_faith_status: i8,
    add_luck_status: i8,
    delete_criteria_damage: i8,
    pad10: [u8; 14],
}

impl ParamDef for SP_EFFECT_PARAM_ST {
    const NAME: &str = "SP_EFFECT_PARAM_ST";
    const INDEX: usize = 85;
}

impl SP_EFFECT_PARAM_ST {
    pub fn icon_id(&self) -> i32 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i32) {
        self.icon_id = value;
    }

    pub fn condition_hp(&self) -> f32 {
        self.condition_hp
    }

    pub fn set_condition_hp(&mut self, value: f32) {
        self.condition_hp = value;
    }

    pub fn effect_endurance(&self) -> f32 {
        self.effect_endurance
    }

    pub fn set_effect_endurance(&mut self, value: f32) {
        self.effect_endurance = value;
    }

    pub fn motion_interval(&self) -> f32 {
        self.motion_interval
    }

    pub fn set_motion_interval(&mut self, value: f32) {
        self.motion_interval = value;
    }

    pub fn max_hp_rate(&self) -> f32 {
        self.max_hp_rate
    }

    pub fn set_max_hp_rate(&mut self, value: f32) {
        self.max_hp_rate = value;
    }

    pub fn max_mp_rate(&self) -> f32 {
        self.max_mp_rate
    }

    pub fn set_max_mp_rate(&mut self, value: f32) {
        self.max_mp_rate = value;
    }

    pub fn max_stamina_rate(&self) -> f32 {
        self.max_stamina_rate
    }

    pub fn set_max_stamina_rate(&mut self, value: f32) {
        self.max_stamina_rate = value;
    }

    pub fn slash_damage_cut_rate(&self) -> f32 {
        self.slash_damage_cut_rate
    }

    pub fn set_slash_damage_cut_rate(&mut self, value: f32) {
        self.slash_damage_cut_rate = value;
    }

    pub fn blow_damage_cut_rate(&self) -> f32 {
        self.blow_damage_cut_rate
    }

    pub fn set_blow_damage_cut_rate(&mut self, value: f32) {
        self.blow_damage_cut_rate = value;
    }

    pub fn thrust_damage_cut_rate(&self) -> f32 {
        self.thrust_damage_cut_rate
    }

    pub fn set_thrust_damage_cut_rate(&mut self, value: f32) {
        self.thrust_damage_cut_rate = value;
    }

    pub fn neutral_damage_cut_rate(&self) -> f32 {
        self.neutral_damage_cut_rate
    }

    pub fn set_neutral_damage_cut_rate(&mut self, value: f32) {
        self.neutral_damage_cut_rate = value;
    }

    pub fn magic_damage_cut_rate(&self) -> f32 {
        self.magic_damage_cut_rate
    }

    pub fn set_magic_damage_cut_rate(&mut self, value: f32) {
        self.magic_damage_cut_rate = value;
    }

    pub fn fire_damage_cut_rate(&self) -> f32 {
        self.fire_damage_cut_rate
    }

    pub fn set_fire_damage_cut_rate(&mut self, value: f32) {
        self.fire_damage_cut_rate = value;
    }

    pub fn thunder_damage_cut_rate(&self) -> f32 {
        self.thunder_damage_cut_rate
    }

    pub fn set_thunder_damage_cut_rate(&mut self, value: f32) {
        self.thunder_damage_cut_rate = value;
    }

    pub fn physics_attack_rate(&self) -> f32 {
        self.physics_attack_rate
    }

    pub fn set_physics_attack_rate(&mut self, value: f32) {
        self.physics_attack_rate = value;
    }

    pub fn magic_attack_rate(&self) -> f32 {
        self.magic_attack_rate
    }

    pub fn set_magic_attack_rate(&mut self, value: f32) {
        self.magic_attack_rate = value;
    }

    pub fn fire_attack_rate(&self) -> f32 {
        self.fire_attack_rate
    }

    pub fn set_fire_attack_rate(&mut self, value: f32) {
        self.fire_attack_rate = value;
    }

    pub fn thunder_attack_rate(&self) -> f32 {
        self.thunder_attack_rate
    }

    pub fn set_thunder_attack_rate(&mut self, value: f32) {
        self.thunder_attack_rate = value;
    }

    pub fn physics_attack_power_rate(&self) -> f32 {
        self.physics_attack_power_rate
    }

    pub fn set_physics_attack_power_rate(&mut self, value: f32) {
        self.physics_attack_power_rate = value;
    }

    pub fn magic_attack_power_rate(&self) -> f32 {
        self.magic_attack_power_rate
    }

    pub fn set_magic_attack_power_rate(&mut self, value: f32) {
        self.magic_attack_power_rate = value;
    }

    pub fn fire_attack_power_rate(&self) -> f32 {
        self.fire_attack_power_rate
    }

    pub fn set_fire_attack_power_rate(&mut self, value: f32) {
        self.fire_attack_power_rate = value;
    }

    pub fn thunder_attack_power_rate(&self) -> f32 {
        self.thunder_attack_power_rate
    }

    pub fn set_thunder_attack_power_rate(&mut self, value: f32) {
        self.thunder_attack_power_rate = value;
    }

    pub fn physics_attack_power(&self) -> i32 {
        self.physics_attack_power
    }

    pub fn set_physics_attack_power(&mut self, value: i32) {
        self.physics_attack_power = value;
    }

    pub fn magic_attack_power(&self) -> i32 {
        self.magic_attack_power
    }

    pub fn set_magic_attack_power(&mut self, value: i32) {
        self.magic_attack_power = value;
    }

    pub fn fire_attack_power(&self) -> i32 {
        self.fire_attack_power
    }

    pub fn set_fire_attack_power(&mut self, value: i32) {
        self.fire_attack_power = value;
    }

    pub fn thunder_attack_power(&self) -> i32 {
        self.thunder_attack_power
    }

    pub fn set_thunder_attack_power(&mut self, value: i32) {
        self.thunder_attack_power = value;
    }

    pub fn physics_diffence_rate(&self) -> f32 {
        self.physics_diffence_rate
    }

    pub fn set_physics_diffence_rate(&mut self, value: f32) {
        self.physics_diffence_rate = value;
    }

    pub fn magic_diffence_rate(&self) -> f32 {
        self.magic_diffence_rate
    }

    pub fn set_magic_diffence_rate(&mut self, value: f32) {
        self.magic_diffence_rate = value;
    }

    pub fn fire_diffence_rate(&self) -> f32 {
        self.fire_diffence_rate
    }

    pub fn set_fire_diffence_rate(&mut self, value: f32) {
        self.fire_diffence_rate = value;
    }

    pub fn thunder_diffence_rate(&self) -> f32 {
        self.thunder_diffence_rate
    }

    pub fn set_thunder_diffence_rate(&mut self, value: f32) {
        self.thunder_diffence_rate = value;
    }

    pub fn physics_diffence(&self) -> i32 {
        self.physics_diffence
    }

    pub fn set_physics_diffence(&mut self, value: i32) {
        self.physics_diffence = value;
    }

    pub fn magic_diffence(&self) -> i32 {
        self.magic_diffence
    }

    pub fn set_magic_diffence(&mut self, value: i32) {
        self.magic_diffence = value;
    }

    pub fn fire_diffence(&self) -> i32 {
        self.fire_diffence
    }

    pub fn set_fire_diffence(&mut self, value: i32) {
        self.fire_diffence = value;
    }

    pub fn thunder_diffence(&self) -> i32 {
        self.thunder_diffence
    }

    pub fn set_thunder_diffence(&mut self, value: i32) {
        self.thunder_diffence = value;
    }

    pub fn no_guard_damage_rate(&self) -> f32 {
        self.no_guard_damage_rate
    }

    pub fn set_no_guard_damage_rate(&mut self, value: f32) {
        self.no_guard_damage_rate = value;
    }

    pub fn vital_spot_change_rate(&self) -> f32 {
        self.vital_spot_change_rate
    }

    pub fn set_vital_spot_change_rate(&mut self, value: f32) {
        self.vital_spot_change_rate = value;
    }

    pub fn normal_spot_change_rate(&self) -> f32 {
        self.normal_spot_change_rate
    }

    pub fn set_normal_spot_change_rate(&mut self, value: f32) {
        self.normal_spot_change_rate = value;
    }

    pub fn look_at_target_pos_offset(&self) -> f32 {
        self.look_at_target_pos_offset
    }

    pub fn set_look_at_target_pos_offset(&mut self, value: f32) {
        self.look_at_target_pos_offset = value;
    }

    pub fn behavior_id(&self) -> i32 {
        self.behavior_id
    }

    pub fn set_behavior_id(&mut self, value: i32) {
        self.behavior_id = value;
    }

    pub fn change_hp_rate(&self) -> f32 {
        self.change_hp_rate
    }

    pub fn set_change_hp_rate(&mut self, value: f32) {
        self.change_hp_rate = value;
    }

    pub fn change_hp_point(&self) -> i32 {
        self.change_hp_point
    }

    pub fn set_change_hp_point(&mut self, value: i32) {
        self.change_hp_point = value;
    }

    pub fn change_mp_rate(&self) -> f32 {
        self.change_mp_rate
    }

    pub fn set_change_mp_rate(&mut self, value: f32) {
        self.change_mp_rate = value;
    }

    pub fn change_mp_point(&self) -> i32 {
        self.change_mp_point
    }

    pub fn set_change_mp_point(&mut self, value: i32) {
        self.change_mp_point = value;
    }

    pub fn mp_recover_change_speed(&self) -> i32 {
        self.mp_recover_change_speed
    }

    pub fn set_mp_recover_change_speed(&mut self, value: i32) {
        self.mp_recover_change_speed = value;
    }

    pub fn change_stamina_rate(&self) -> f32 {
        self.change_stamina_rate
    }

    pub fn set_change_stamina_rate(&mut self, value: f32) {
        self.change_stamina_rate = value;
    }

    pub fn change_stamina_point(&self) -> i32 {
        self.change_stamina_point
    }

    pub fn set_change_stamina_point(&mut self, value: i32) {
        self.change_stamina_point = value;
    }

    pub fn stamina_recover_change_speed(&self) -> i32 {
        self.stamina_recover_change_speed
    }

    pub fn set_stamina_recover_change_speed(&mut self, value: i32) {
        self.stamina_recover_change_speed = value;
    }

    pub fn magic_effect_time_change(&self) -> f32 {
        self.magic_effect_time_change
    }

    pub fn set_magic_effect_time_change(&mut self, value: f32) {
        self.magic_effect_time_change = value;
    }

    pub fn inside_durability(&self) -> i32 {
        self.inside_durability
    }

    pub fn set_inside_durability(&mut self, value: i32) {
        self.inside_durability = value;
    }

    pub fn max_durability(&self) -> i32 {
        self.max_durability
    }

    pub fn set_max_durability(&mut self, value: i32) {
        self.max_durability = value;
    }

    pub fn stamina_attack_rate(&self) -> f32 {
        self.stamina_attack_rate
    }

    pub fn set_stamina_attack_rate(&mut self, value: f32) {
        self.stamina_attack_rate = value;
    }

    pub fn poizon_attack_power(&self) -> i32 {
        self.poizon_attack_power
    }

    pub fn set_poizon_attack_power(&mut self, value: i32) {
        self.poizon_attack_power = value;
    }

    pub fn disease_attack_power(&self) -> i32 {
        self.disease_attack_power
    }

    pub fn set_disease_attack_power(&mut self, value: i32) {
        self.disease_attack_power = value;
    }

    pub fn blood_attack_power(&self) -> i32 {
        self.blood_attack_power
    }

    pub fn set_blood_attack_power(&mut self, value: i32) {
        self.blood_attack_power = value;
    }

    pub fn curse_attack_power(&self) -> i32 {
        self.curse_attack_power
    }

    pub fn set_curse_attack_power(&mut self, value: i32) {
        self.curse_attack_power = value;
    }

    pub fn fall_damage_rate(&self) -> f32 {
        self.fall_damage_rate
    }

    pub fn set_fall_damage_rate(&mut self, value: f32) {
        self.fall_damage_rate = value;
    }

    pub fn soul_rate(&self) -> f32 {
        self.soul_rate
    }

    pub fn set_soul_rate(&mut self, value: f32) {
        self.soul_rate = value;
    }

    pub fn equip_weight_change_rate(&self) -> f32 {
        self.equip_weight_change_rate
    }

    pub fn set_equip_weight_change_rate(&mut self, value: f32) {
        self.equip_weight_change_rate = value;
    }

    pub fn all_item_weight_change_rate(&self) -> f32 {
        self.all_item_weight_change_rate
    }

    pub fn set_all_item_weight_change_rate(&mut self, value: f32) {
        self.all_item_weight_change_rate = value;
    }

    pub fn soul(&self) -> i32 {
        self.soul
    }

    pub fn set_soul(&mut self, value: i32) {
        self.soul = value;
    }

    pub fn anim_id_offset(&self) -> i32 {
        self.anim_id_offset
    }

    pub fn set_anim_id_offset(&mut self, value: i32) {
        self.anim_id_offset = value;
    }

    pub fn have_soul_rate(&self) -> f32 {
        self.have_soul_rate
    }

    pub fn set_have_soul_rate(&mut self, value: f32) {
        self.have_soul_rate = value;
    }

    pub fn target_priority(&self) -> f32 {
        self.target_priority
    }

    pub fn set_target_priority(&mut self, value: f32) {
        self.target_priority = value;
    }

    pub fn sight_search_enemy_rate(&self) -> i32 {
        self.sight_search_enemy_rate
    }

    pub fn set_sight_search_enemy_rate(&mut self, value: i32) {
        self.sight_search_enemy_rate = value;
    }

    pub fn hearing_search_enemy_rate(&self) -> f32 {
        self.hearing_search_enemy_rate
    }

    pub fn set_hearing_search_enemy_rate(&mut self, value: f32) {
        self.hearing_search_enemy_rate = value;
    }

    pub fn grabity_rate(&self) -> f32 {
        self.grabity_rate
    }

    pub fn set_grabity_rate(&mut self, value: f32) {
        self.grabity_rate = value;
    }

    pub fn regist_poizon_change_rate(&self) -> f32 {
        self.regist_poizon_change_rate
    }

    pub fn set_regist_poizon_change_rate(&mut self, value: f32) {
        self.regist_poizon_change_rate = value;
    }

    pub fn regist_disease_change_rate(&self) -> f32 {
        self.regist_disease_change_rate
    }

    pub fn set_regist_disease_change_rate(&mut self, value: f32) {
        self.regist_disease_change_rate = value;
    }

    pub fn regist_blood_change_rate(&self) -> f32 {
        self.regist_blood_change_rate
    }

    pub fn set_regist_blood_change_rate(&mut self, value: f32) {
        self.regist_blood_change_rate = value;
    }

    pub fn regist_curse_change_rate(&self) -> f32 {
        self.regist_curse_change_rate
    }

    pub fn set_regist_curse_change_rate(&mut self, value: f32) {
        self.regist_curse_change_rate = value;
    }

    pub fn soul_steal_rate(&self) -> f32 {
        self.soul_steal_rate
    }

    pub fn set_soul_steal_rate(&mut self, value: f32) {
        self.soul_steal_rate = value;
    }

    pub fn life_reduction_rate(&self) -> f32 {
        self.life_reduction_rate
    }

    pub fn set_life_reduction_rate(&mut self, value: f32) {
        self.life_reduction_rate = value;
    }

    pub fn hp_recover_rate(&self) -> f32 {
        self.hp_recover_rate
    }

    pub fn set_hp_recover_rate(&mut self, value: f32) {
        self.hp_recover_rate = value;
    }

    pub fn replace_sp_effect_id(&self) -> i32 {
        self.replace_sp_effect_id
    }

    pub fn set_replace_sp_effect_id(&mut self, value: i32) {
        self.replace_sp_effect_id = value;
    }

    pub fn cycle_occurrence_sp_effect_id(&self) -> i32 {
        self.cycle_occurrence_sp_effect_id
    }

    pub fn set_cycle_occurrence_sp_effect_id(&mut self, value: i32) {
        self.cycle_occurrence_sp_effect_id = value;
    }

    pub fn atk_occurrence_sp_effect_id(&self) -> i32 {
        self.atk_occurrence_sp_effect_id
    }

    pub fn set_atk_occurrence_sp_effect_id(&mut self, value: i32) {
        self.atk_occurrence_sp_effect_id = value;
    }

    pub fn guard_def_flick_power_rate(&self) -> f32 {
        self.guard_def_flick_power_rate
    }

    pub fn set_guard_def_flick_power_rate(&mut self, value: f32) {
        self.guard_def_flick_power_rate = value;
    }

    pub fn guard_stamina_cut_rate(&self) -> f32 {
        self.guard_stamina_cut_rate
    }

    pub fn set_guard_stamina_cut_rate(&mut self, value: f32) {
        self.guard_stamina_cut_rate = value;
    }

    pub fn ray_cast_passed_time(&self) -> i16 {
        self.ray_cast_passed_time
    }

    pub fn set_ray_cast_passed_time(&mut self, value: i16) {
        self.ray_cast_passed_time = value;
    }

    pub fn change_super_armor_point(&self) -> i16 {
        self.change_super_armor_point
    }

    pub fn set_change_super_armor_point(&mut self, value: i16) {
        self.change_super_armor_point = value;
    }

    pub fn bow_dist_rate(&self) -> i16 {
        self.bow_dist_rate
    }

    pub fn set_bow_dist_rate(&mut self, value: i16) {
        self.bow_dist_rate = value;
    }

    pub fn sp_category(&self) -> i16 {
        self.sp_category
    }

    pub fn set_sp_category(&mut self, value: i16) {
        self.sp_category = value;
    }

    pub fn category_priority(&self) -> i8 {
        self.category_priority
    }

    pub fn set_category_priority(&mut self, value: i8) {
        self.category_priority = value;
    }

    pub fn save_category(&self) -> i8 {
        self.save_category
    }

    pub fn set_save_category(&mut self, value: i8) {
        self.save_category = value;
    }

    pub fn change_magic_slot(&self) -> u8 {
        self.change_magic_slot
    }

    pub fn set_change_magic_slot(&mut self, value: u8) {
        self.change_magic_slot = value;
    }

    pub fn change_miracle_slot(&self) -> u8 {
        self.change_miracle_slot
    }

    pub fn set_change_miracle_slot(&mut self, value: u8) {
        self.change_miracle_slot = value;
    }

    pub fn hero_point_damage(&self) -> u8 {
        self.hero_point_damage
    }

    pub fn set_hero_point_damage(&mut self, value: u8) {
        self.hero_point_damage = value;
    }

    pub fn def_flick_power(&self) -> u8 {
        self.def_flick_power
    }

    pub fn set_def_flick_power(&mut self, value: u8) {
        self.def_flick_power = value;
    }

    pub fn flick_damage_cut_rate(&self) -> u8 {
        self.flick_damage_cut_rate
    }

    pub fn set_flick_damage_cut_rate(&mut self, value: u8) {
        self.flick_damage_cut_rate = value;
    }

    pub fn blood_damage_rate(&self) -> u8 {
        self.blood_damage_rate
    }

    pub fn set_blood_damage_rate(&mut self, value: u8) {
        self.blood_damage_rate = value;
    }

    pub fn dmg_lv_none(&self) -> u8 {
        self.dmg_lv_none
    }

    pub fn set_dmg_lv_none(&mut self, value: u8) {
        self.dmg_lv_none = value;
    }

    pub fn dmg_lv_s(&self) -> u8 {
        self.dmg_lv_s
    }

    pub fn set_dmg_lv_s(&mut self, value: u8) {
        self.dmg_lv_s = value;
    }

    pub fn dmg_lv_m(&self) -> u8 {
        self.dmg_lv_m
    }

    pub fn set_dmg_lv_m(&mut self, value: u8) {
        self.dmg_lv_m = value;
    }

    pub fn dmg_lv_l(&self) -> u8 {
        self.dmg_lv_l
    }

    pub fn set_dmg_lv_l(&mut self, value: u8) {
        self.dmg_lv_l = value;
    }

    pub fn dmg_lv_blow_m(&self) -> u8 {
        self.dmg_lv_blow_m
    }

    pub fn set_dmg_lv_blow_m(&mut self, value: u8) {
        self.dmg_lv_blow_m = value;
    }

    pub fn dmg_lv_push(&self) -> u8 {
        self.dmg_lv_push
    }

    pub fn set_dmg_lv_push(&mut self, value: u8) {
        self.dmg_lv_push = value;
    }

    pub fn dmg_lv_strike(&self) -> u8 {
        self.dmg_lv_strike
    }

    pub fn set_dmg_lv_strike(&mut self, value: u8) {
        self.dmg_lv_strike = value;
    }

    pub fn dmg_lv_blow_s(&self) -> u8 {
        self.dmg_lv_blow_s
    }

    pub fn set_dmg_lv_blow_s(&mut self, value: u8) {
        self.dmg_lv_blow_s = value;
    }

    pub fn dmg_lv_min(&self) -> u8 {
        self.dmg_lv_min
    }

    pub fn set_dmg_lv_min(&mut self, value: u8) {
        self.dmg_lv_min = value;
    }

    pub fn dmg_lv_uppercut(&self) -> u8 {
        self.dmg_lv_uppercut
    }

    pub fn set_dmg_lv_uppercut(&mut self, value: u8) {
        self.dmg_lv_uppercut = value;
    }

    pub fn dmg_lv_blow_ll(&self) -> u8 {
        self.dmg_lv_blow_ll
    }

    pub fn set_dmg_lv_blow_ll(&mut self, value: u8) {
        self.dmg_lv_blow_ll = value;
    }

    pub fn dmg_lv_breath(&self) -> u8 {
        self.dmg_lv_breath
    }

    pub fn set_dmg_lv_breath(&mut self, value: u8) {
        self.dmg_lv_breath = value;
    }

    pub fn atk_attribute(&self) -> u8 {
        self.atk_attribute
    }

    pub fn set_atk_attribute(&mut self, value: u8) {
        self.atk_attribute = value;
    }

    pub fn sp_attribute(&self) -> u8 {
        self.sp_attribute
    }

    pub fn set_sp_attribute(&mut self, value: u8) {
        self.sp_attribute = value;
    }

    pub fn state_info(&self) -> i16 {
        self.state_info
    }

    pub fn set_state_info(&mut self, value: i16) {
        self.state_info = value;
    }

    pub fn wep_param_change(&self) -> u8 {
        self.wep_param_change
    }

    pub fn set_wep_param_change(&mut self, value: u8) {
        self.wep_param_change = value;
    }

    pub fn move_type(&self) -> u8 {
        self.move_type
    }

    pub fn set_move_type(&mut self, value: u8) {
        self.move_type = value;
    }

    pub fn life_reduction_type(&self) -> i16 {
        self.life_reduction_type
    }

    pub fn set_life_reduction_type(&mut self, value: i16) {
        self.life_reduction_type = value;
    }

    pub fn throw_condition(&self) -> u8 {
        self.throw_condition
    }

    pub fn set_throw_condition(&mut self, value: u8) {
        self.throw_condition = value;
    }

    pub fn add_behavior_judge_id_condition(&self) -> i8 {
        self.add_behavior_judge_id_condition
    }

    pub fn set_add_behavior_judge_id_condition(&mut self, value: i8) {
        self.add_behavior_judge_id_condition = value;
    }

    pub fn freeze_damage_rate(&self) -> u8 {
        self.freeze_damage_rate
    }

    pub fn set_freeze_damage_rate(&mut self, value: u8) {
        self.freeze_damage_rate = value;
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_self(&self) -> u8 {
        (self.bits_15f >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_self(&mut self, value: u8) {
        self.bits_15f = (self.bits_15f & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_friend(&self) -> u8 {
        (self.bits_15f >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_friend(&mut self, value: u8) {
        self.bits_15f = (self.bits_15f & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_enemy(&self) -> u8 {
        (self.bits_15f >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_enemy(&mut self, value: u8) {
        self.bits_15f = (self.bits_15f & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_player(&self) -> u8 {
        (self.bits_15f >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_player(&mut self, value: u8) {
        self.bits_15f = (self.bits_15f & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_ai(&self) -> u8 {
        (self.bits_15f >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_ai(&mut self, value: u8) {
        self.bits_15f = (self.bits_15f & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_live(&self) -> u8 {
        (self.bits_15f >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_live(&mut self, value: u8) {
        self.bits_15f = (self.bits_15f & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_ghost(&self) -> u8 {
        (self.bits_15f >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_ghost(&mut self, value: u8) {
        self.bits_15f = (self.bits_15f & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_white_ghost(&self) -> u8 {
        (self.bits_15f >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_white_ghost(&mut self, value: u8) {
        self.bits_15f = (self.bits_15f & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_black_ghost(&self) -> u8 {
        (self.bits_160 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_black_ghost(&mut self, value: u8) {
        self.bits_160 = (self.bits_160 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_attacker(&self) -> u8 {
        (self.bits_160 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_attacker(&mut self, value: u8) {
        self.bits_160 = (self.bits_160 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn disp_icon_nonactive(&self) -> u8 {
        (self.bits_160 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disp_icon_nonactive(&mut self, value: u8) {
        self.bits_160 = (self.bits_160 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn use_sp_effect_effect(&self) -> u8 {
        (self.bits_160 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_sp_effect_effect(&mut self, value: u8) {
        self.bits_160 = (self.bits_160 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn b_adjust_magic_ability(&self) -> u8 {
        (self.bits_160 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_adjust_magic_ability(&mut self, value: u8) {
        self.bits_160 = (self.bits_160 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn b_adjust_faith_ability(&self) -> u8 {
        (self.bits_160 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_adjust_faith_ability(&mut self, value: u8) {
        self.bits_160 = (self.bits_160 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn b_game_clear_bonus(&self) -> u8 {
        (self.bits_160 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_game_clear_bonus(&mut self, value: u8) {
        self.bits_160 = (self.bits_160 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn mag_param_change(&self) -> u8 {
        (self.bits_160 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_mag_param_change(&mut self, value: u8) {
        self.bits_160 = (self.bits_160 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn miracle_param_change(&self) -> u8 {
        (self.bits_161 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_miracle_param_change(&mut self, value: u8) {
        self.bits_161 = (self.bits_161 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn clear_soul(&self) -> u8 {
        (self.bits_161 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_clear_soul(&mut self, value: u8) {
        self.bits_161 = (self.bits_161 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn request_sos(&self) -> u8 {
        (self.bits_161 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_request_sos(&mut self, value: u8) {
        self.bits_161 = (self.bits_161 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn request_black_sos(&self) -> u8 {
        (self.bits_161 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_request_black_sos(&mut self, value: u8) {
        self.bits_161 = (self.bits_161 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn request_force_join_black_sos(&self) -> u8 {
        (self.bits_161 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_request_force_join_black_sos(&mut self, value: u8) {
        self.bits_161 = (self.bits_161 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn request_kick_session(&self) -> u8 {
        (self.bits_161 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_request_kick_session(&mut self, value: u8) {
        self.bits_161 = (self.bits_161 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn request_leave_session(&self) -> u8 {
        (self.bits_161 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_request_leave_session(&mut self, value: u8) {
        self.bits_161 = (self.bits_161 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn request_npc_inveda(&self) -> u8 {
        (self.bits_161 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_request_npc_inveda(&mut self, value: u8) {
        self.bits_161 = (self.bits_161 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn no_dead(&self) -> u8 {
        (self.bits_162 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_no_dead(&mut self, value: u8) {
        self.bits_162 = (self.bits_162 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn b_curr_hp_independe_max_hp(&self) -> u8 {
        (self.bits_162 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_curr_hp_independe_max_hp(&mut self, value: u8) {
        self.bits_162 = (self.bits_162 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn corrosion_ignore(&self) -> u8 {
        (self.bits_162 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_corrosion_ignore(&mut self, value: u8) {
        self.bits_162 = (self.bits_162 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn sight_search_cut_ignore(&self) -> u8 {
        (self.bits_162 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_sight_search_cut_ignore(&mut self, value: u8) {
        self.bits_162 = (self.bits_162 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn hearing_search_cut_ignore(&self) -> u8 {
        (self.bits_162 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_hearing_search_cut_ignore(&mut self, value: u8) {
        self.bits_162 = (self.bits_162 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn anti_magic_ignore(&self) -> u8 {
        (self.bits_162 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_anti_magic_ignore(&mut self, value: u8) {
        self.bits_162 = (self.bits_162 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn fake_target_ignore(&self) -> u8 {
        (self.bits_162 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_fake_target_ignore(&mut self, value: u8) {
        self.bits_162 = (self.bits_162 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn fake_target_ignore_undead(&self) -> u8 {
        (self.bits_162 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_fake_target_ignore_undead(&mut self, value: u8) {
        self.bits_162 = (self.bits_162 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn fake_target_ignore_animal(&self) -> u8 {
        (self.bits_163 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_fake_target_ignore_animal(&mut self, value: u8) {
        self.bits_163 = (self.bits_163 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn grabity_ignore(&self) -> u8 {
        (self.bits_163 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_grabity_ignore(&mut self, value: u8) {
        self.bits_163 = (self.bits_163 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_poison(&self) -> u8 {
        (self.bits_163 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_poison(&mut self, value: u8) {
        self.bits_163 = (self.bits_163 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_disease(&self) -> u8 {
        (self.bits_163 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_disease(&mut self, value: u8) {
        self.bits_163 = (self.bits_163 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_blood(&self) -> u8 {
        (self.bits_163 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_blood(&mut self, value: u8) {
        self.bits_163 = (self.bits_163 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_curse(&self) -> u8 {
        (self.bits_163 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_curse(&mut self, value: u8) {
        self.bits_163 = (self.bits_163 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_charm(&self) -> u8 {
        (self.bits_163 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_charm(&mut self, value: u8) {
        self.bits_163 = (self.bits_163 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_life_time(&self) -> u8 {
        (self.bits_163 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_life_time(&mut self, value: u8) {
        self.bits_163 = (self.bits_163 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn has_target(&self) -> u8 {
        (self.bits_164 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_has_target(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn replanning_on_fire(&self) -> u8 {
        (self.bits_164 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_replanning_on_fire(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn erase_on_bonfire_recover(&self) -> u8 {
        (self.bits_164 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_erase_on_bonfire_recover(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn request_leave_coliseum_session(&self) -> u8 {
        (self.bits_164 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_request_leave_coliseum_session(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn b_adjust_strength_ablity(&self) -> u8 {
        (self.bits_164 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_adjust_strength_ablity(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn b_adjust_agility_ablity(&self) -> u8 {
        (self.bits_164 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_adjust_agility_ablity(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn charge_attack_param_change(&self) -> u8 {
        (self.bits_164 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_charge_attack_param_change(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn throw_attack_param_change(&self) -> u8 {
        (self.bits_164 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_throw_attack_param_change(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type0(&self) -> u8 {
        (self.bits_165 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type0(&mut self, value: u8) {
        self.bits_165 = (self.bits_165 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type1(&self) -> u8 {
        (self.bits_165 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type1(&mut self, value: u8) {
        self.bits_165 = (self.bits_165 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type2(&self) -> u8 {
        (self.bits_165 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type2(&mut self, value: u8) {
        self.bits_165 = (self.bits_165 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type3(&self) -> u8 {
        (self.bits_165 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type3(&mut self, value: u8) {
        self.bits_165 = (self.bits_165 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type4(&self) -> u8 {
        (self.bits_165 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type4(&mut self, value: u8) {
        self.bits_165 = (self.bits_165 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type5(&self) -> u8 {
        (self.bits_165 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type5(&mut self, value: u8) {
        self.bits_165 = (self.bits_165 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type6(&self) -> u8 {
        (self.bits_165 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type6(&mut self, value: u8) {
        self.bits_165 = (self.bits_165 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type7(&self) -> u8 {
        (self.bits_165 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type7(&mut self, value: u8) {
        self.bits_165 = (self.bits_165 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type8(&self) -> u8 {
        (self.bits_166 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type8(&mut self, value: u8) {
        self.bits_166 = (self.bits_166 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type9(&self) -> u8 {
        (self.bits_166 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type9(&mut self, value: u8) {
        self.bits_166 = (self.bits_166 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type10(&self) -> u8 {
        (self.bits_166 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type10(&mut self, value: u8) {
        self.bits_166 = (self.bits_166 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type11(&self) -> u8 {
        (self.bits_166 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type11(&mut self, value: u8) {
        self.bits_166 = (self.bits_166 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type12(&self) -> u8 {
        (self.bits_166 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type12(&mut self, value: u8) {
        self.bits_166 = (self.bits_166 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type13(&self) -> u8 {
        (self.bits_166 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type13(&mut self, value: u8) {
        self.bits_166 = (self.bits_166 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type14(&self) -> u8 {
        (self.bits_166 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type14(&mut self, value: u8) {
        self.bits_166 = (self.bits_166 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type15(&self) -> u8 {
        (self.bits_166 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type15(&mut self, value: u8) {
        self.bits_166 = (self.bits_166 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn rep_atk_dmg_lv(&self) -> u8 {
        self.rep_atk_dmg_lv
    }

    pub fn set_rep_atk_dmg_lv(&mut self, value: u8) {
        self.rep_atk_dmg_lv = value;
    }

    pub fn sight_search_rate(&self) -> f32 {
        self.sight_search_rate
    }

    pub fn set_sight_search_rate(&mut self, value: f32) {
        self.sight_search_rate = value;
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_oppose_target(&self) -> u8 {
        (self.bits_16c >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_oppose_target(&mut self, value: u8) {
        self.bits_16c = (self.bits_16c & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_friendly_target(&self) -> u8 {
        (self.bits_16c >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_friendly_target(&mut self, value: u8) {
        self.bits_16c = (self.bits_16c & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_self_target(&self) -> u8 {
        (self.bits_16c >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_self_target(&mut self, value: u8) {
        self.bits_16c = (self.bits_16c & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_pc_horse(&self) -> u8 {
        (self.bits_16c >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_pc_horse(&mut self, value: u8) {
        self.bits_16c = (self.bits_16c & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_target_pc_deceased(&self) -> u8 {
        (self.bits_16c >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_target_pc_deceased(&mut self, value: u8) {
        self.bits_16c = (self.bits_16c & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_contract_sp_effect_life(&self) -> u8 {
        (self.bits_16c >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_contract_sp_effect_life(&mut self, value: u8) {
        self.bits_16c = (self.bits_16c & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_wait_mode_delete(&self) -> u8 {
        (self.bits_16c >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_wait_mode_delete(&mut self, value: u8) {
        self.bits_16c = (self.bits_16c & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_ignore_no_damage(&self) -> u8 {
        (self.bits_16c >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ignore_no_damage(&mut self, value: u8) {
        self.bits_16c = (self.bits_16c & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn change_team_type(&self) -> i8 {
        self.change_team_type
    }

    pub fn set_change_team_type(&mut self, value: i8) {
        self.change_team_type = value;
    }

    pub fn dmypoly_id(&self) -> i16 {
        self.dmypoly_id
    }

    pub fn set_dmypoly_id(&mut self, value: i16) {
        self.dmypoly_id = value;
    }

    pub fn vfx_id(&self) -> i32 {
        self.vfx_id
    }

    pub fn set_vfx_id(&mut self, value: i32) {
        self.vfx_id = value;
    }

    pub fn accumu_over_fire_id(&self) -> i32 {
        self.accumu_over_fire_id
    }

    pub fn set_accumu_over_fire_id(&mut self, value: i32) {
        self.accumu_over_fire_id = value;
    }

    pub fn accumu_over_val(&self) -> i32 {
        self.accumu_over_val
    }

    pub fn set_accumu_over_val(&mut self, value: i32) {
        self.accumu_over_val = value;
    }

    pub fn accumu_under_fire_id(&self) -> i32 {
        self.accumu_under_fire_id
    }

    pub fn set_accumu_under_fire_id(&mut self, value: i32) {
        self.accumu_under_fire_id = value;
    }

    pub fn accumu_under_val(&self) -> i32 {
        self.accumu_under_val
    }

    pub fn set_accumu_under_val(&mut self, value: i32) {
        self.accumu_under_val = value;
    }

    pub fn accumu_val(&self) -> i32 {
        self.accumu_val
    }

    pub fn set_accumu_val(&mut self, value: i32) {
        self.accumu_val = value;
    }

    pub fn eye_ang_x(&self) -> u8 {
        self.eye_ang_x
    }

    pub fn set_eye_ang_x(&mut self, value: u8) {
        self.eye_ang_x = value;
    }

    pub fn eye_ang_y(&self) -> u8 {
        self.eye_ang_y
    }

    pub fn set_eye_ang_y(&mut self, value: u8) {
        self.eye_ang_y = value;
    }

    pub fn add_deceased_lv(&self) -> i16 {
        self.add_deceased_lv
    }

    pub fn set_add_deceased_lv(&mut self, value: i16) {
        self.add_deceased_lv = value;
    }

    pub fn vfx_id1(&self) -> i32 {
        self.vfx_id1
    }

    pub fn set_vfx_id1(&mut self, value: i32) {
        self.vfx_id1 = value;
    }

    pub fn vfx_id2(&self) -> i32 {
        self.vfx_id2
    }

    pub fn set_vfx_id2(&mut self, value: i32) {
        self.vfx_id2 = value;
    }

    pub fn vfx_id3(&self) -> i32 {
        self.vfx_id3
    }

    pub fn set_vfx_id3(&mut self, value: i32) {
        self.vfx_id3 = value;
    }

    pub fn vfx_id4(&self) -> i32 {
        self.vfx_id4
    }

    pub fn set_vfx_id4(&mut self, value: i32) {
        self.vfx_id4 = value;
    }

    pub fn vfx_id5(&self) -> i32 {
        self.vfx_id5
    }

    pub fn set_vfx_id5(&mut self, value: i32) {
        self.vfx_id5 = value;
    }

    pub fn vfx_id6(&self) -> i32 {
        self.vfx_id6
    }

    pub fn set_vfx_id6(&mut self, value: i32) {
        self.vfx_id6 = value;
    }

    pub fn vfx_id7(&self) -> i32 {
        self.vfx_id7
    }

    pub fn set_vfx_id7(&mut self, value: i32) {
        self.vfx_id7 = value;
    }

    pub fn freeze_attack_power(&self) -> i32 {
        self.freeze_attack_power
    }

    pub fn set_freeze_attack_power(&mut self, value: i32) {
        self.freeze_attack_power = value;
    }

    pub fn appear_ai_sound_id(&self) -> i32 {
        self.appear_ai_sound_id
    }

    pub fn set_appear_ai_sound_id(&mut self, value: i32) {
        self.appear_ai_sound_id = value;
    }

    pub fn add_foot_effect_sfx_id(&self) -> i16 {
        self.add_foot_effect_sfx_id
    }

    pub fn set_add_foot_effect_sfx_id(&mut self, value: i16) {
        self.add_foot_effect_sfx_id = value;
    }

    pub fn team_offense_effectivity(&self) -> i8 {
        self.team_offense_effectivity
    }

    pub fn set_team_offense_effectivity(&mut self, value: i8) {
        self.team_offense_effectivity = value;
    }

    pub fn toughness_damage_cut_rate(&self) -> f32 {
        self.toughness_damage_cut_rate
    }

    pub fn set_toughness_damage_cut_rate(&mut self, value: f32) {
        self.toughness_damage_cut_rate = value;
    }

    pub fn weak_dmg_rate_a(&self) -> f32 {
        self.weak_dmg_rate_a
    }

    pub fn set_weak_dmg_rate_a(&mut self, value: f32) {
        self.weak_dmg_rate_a = value;
    }

    pub fn weak_dmg_rate_b(&self) -> f32 {
        self.weak_dmg_rate_b
    }

    pub fn set_weak_dmg_rate_b(&mut self, value: f32) {
        self.weak_dmg_rate_b = value;
    }

    pub fn weak_dmg_rate_c(&self) -> f32 {
        self.weak_dmg_rate_c
    }

    pub fn set_weak_dmg_rate_c(&mut self, value: f32) {
        self.weak_dmg_rate_c = value;
    }

    pub fn weak_dmg_rate_d(&self) -> f32 {
        self.weak_dmg_rate_d
    }

    pub fn set_weak_dmg_rate_d(&mut self, value: f32) {
        self.weak_dmg_rate_d = value;
    }

    pub fn weak_dmg_rate_e(&self) -> f32 {
        self.weak_dmg_rate_e
    }

    pub fn set_weak_dmg_rate_e(&mut self, value: f32) {
        self.weak_dmg_rate_e = value;
    }

    pub fn weak_dmg_rate_f(&self) -> f32 {
        self.weak_dmg_rate_f
    }

    pub fn set_weak_dmg_rate_f(&mut self, value: f32) {
        self.weak_dmg_rate_f = value;
    }

    pub fn dark_damage_cut_rate(&self) -> f32 {
        self.dark_damage_cut_rate
    }

    pub fn set_dark_damage_cut_rate(&mut self, value: f32) {
        self.dark_damage_cut_rate = value;
    }

    pub fn dark_diffence_rate(&self) -> f32 {
        self.dark_diffence_rate
    }

    pub fn set_dark_diffence_rate(&mut self, value: f32) {
        self.dark_diffence_rate = value;
    }

    pub fn dark_diffence(&self) -> i32 {
        self.dark_diffence
    }

    pub fn set_dark_diffence(&mut self, value: i32) {
        self.dark_diffence = value;
    }

    pub fn dark_attack_rate(&self) -> f32 {
        self.dark_attack_rate
    }

    pub fn set_dark_attack_rate(&mut self, value: f32) {
        self.dark_attack_rate = value;
    }

    pub fn dark_attack_power_rate(&self) -> f32 {
        self.dark_attack_power_rate
    }

    pub fn set_dark_attack_power_rate(&mut self, value: f32) {
        self.dark_attack_power_rate = value;
    }

    pub fn dark_attack_power(&self) -> i32 {
        self.dark_attack_power
    }

    pub fn set_dark_attack_power(&mut self, value: i32) {
        self.dark_attack_power = value;
    }

    pub fn anti_dark_sight_radius(&self) -> f32 {
        self.anti_dark_sight_radius
    }

    pub fn set_anti_dark_sight_radius(&mut self, value: f32) {
        self.anti_dark_sight_radius = value;
    }

    pub fn anti_dark_sight_dmypoly_id(&self) -> i32 {
        self.anti_dark_sight_dmypoly_id
    }

    pub fn set_anti_dark_sight_dmypoly_id(&mut self, value: i32) {
        self.anti_dark_sight_dmypoly_id = value;
    }

    pub fn condition_hp_rate(&self) -> f32 {
        self.condition_hp_rate
    }

    pub fn set_condition_hp_rate(&mut self, value: f32) {
        self.condition_hp_rate = value;
    }

    pub fn consume_stamina_rate(&self) -> f32 {
        self.consume_stamina_rate
    }

    pub fn set_consume_stamina_rate(&mut self, value: f32) {
        self.consume_stamina_rate = value;
    }

    pub fn item_drop_rate(&self) -> f32 {
        self.item_drop_rate
    }

    pub fn set_item_drop_rate(&mut self, value: f32) {
        self.item_drop_rate = value;
    }

    pub fn change_poison_resist_point(&self) -> i32 {
        self.change_poison_resist_point
    }

    pub fn set_change_poison_resist_point(&mut self, value: i32) {
        self.change_poison_resist_point = value;
    }

    pub fn change_disease_resist_point(&self) -> i32 {
        self.change_disease_resist_point
    }

    pub fn set_change_disease_resist_point(&mut self, value: i32) {
        self.change_disease_resist_point = value;
    }

    pub fn change_blood_resist_point(&self) -> i32 {
        self.change_blood_resist_point
    }

    pub fn set_change_blood_resist_point(&mut self, value: i32) {
        self.change_blood_resist_point = value;
    }

    pub fn change_curse_resist_point(&self) -> i32 {
        self.change_curse_resist_point
    }

    pub fn set_change_curse_resist_point(&mut self, value: i32) {
        self.change_curse_resist_point = value;
    }

    pub fn change_freeze_resist_point(&self) -> i32 {
        self.change_freeze_resist_point
    }

    pub fn set_change_freeze_resist_point(&mut self, value: i32) {
        self.change_freeze_resist_point = value;
    }

    pub fn slash_attack_rate(&self) -> f32 {
        self.slash_attack_rate
    }

    pub fn set_slash_attack_rate(&mut self, value: f32) {
        self.slash_attack_rate = value;
    }

    pub fn blow_attack_rate(&self) -> f32 {
        self.blow_attack_rate
    }

    pub fn set_blow_attack_rate(&mut self, value: f32) {
        self.blow_attack_rate = value;
    }

    pub fn thrust_attack_rate(&self) -> f32 {
        self.thrust_attack_rate
    }

    pub fn set_thrust_attack_rate(&mut self, value: f32) {
        self.thrust_attack_rate = value;
    }

    pub fn neutral_attack_rate(&self) -> f32 {
        self.neutral_attack_rate
    }

    pub fn set_neutral_attack_rate(&mut self, value: f32) {
        self.neutral_attack_rate = value;
    }

    pub fn slash_attack_power_rate(&self) -> f32 {
        self.slash_attack_power_rate
    }

    pub fn set_slash_attack_power_rate(&mut self, value: f32) {
        self.slash_attack_power_rate = value;
    }

    pub fn blow_attack_power_rate(&self) -> f32 {
        self.blow_attack_power_rate
    }

    pub fn set_blow_attack_power_rate(&mut self, value: f32) {
        self.blow_attack_power_rate = value;
    }

    pub fn thrust_attack_power_rate(&self) -> f32 {
        self.thrust_attack_power_rate
    }

    pub fn set_thrust_attack_power_rate(&mut self, value: f32) {
        self.thrust_attack_power_rate = value;
    }

    pub fn neutral_attack_power_rate(&self) -> f32 {
        self.neutral_attack_power_rate
    }

    pub fn set_neutral_attack_power_rate(&mut self, value: f32) {
        self.neutral_attack_power_rate = value;
    }

    pub fn slash_attack_power(&self) -> i32 {
        self.slash_attack_power
    }

    pub fn set_slash_attack_power(&mut self, value: i32) {
        self.slash_attack_power = value;
    }

    pub fn blow_attack_power(&self) -> i32 {
        self.blow_attack_power
    }

    pub fn set_blow_attack_power(&mut self, value: i32) {
        self.blow_attack_power = value;
    }

    pub fn thrust_attack_power(&self) -> i32 {
        self.thrust_attack_power
    }

    pub fn set_thrust_attack_power(&mut self, value: i32) {
        self.thrust_attack_power = value;
    }

    pub fn neutral_attack_power(&self) -> i32 {
        self.neutral_attack_power
    }

    pub fn set_neutral_attack_power(&mut self, value: i32) {
        self.neutral_attack_power = value;
    }

    pub fn change_strength_point(&self) -> i32 {
        self.change_strength_point
    }

    pub fn set_change_strength_point(&mut self, value: i32) {
        self.change_strength_point = value;
    }

    pub fn change_agility_point(&self) -> i32 {
        self.change_agility_point
    }

    pub fn set_change_agility_point(&mut self, value: i32) {
        self.change_agility_point = value;
    }

    pub fn change_magic_point(&self) -> i32 {
        self.change_magic_point
    }

    pub fn set_change_magic_point(&mut self, value: i32) {
        self.change_magic_point = value;
    }

    pub fn change_faith_point(&self) -> i32 {
        self.change_faith_point
    }

    pub fn set_change_faith_point(&mut self, value: i32) {
        self.change_faith_point = value;
    }

    pub fn change_luck_point(&self) -> i32 {
        self.change_luck_point
    }

    pub fn set_change_luck_point(&mut self, value: i32) {
        self.change_luck_point = value;
    }

    pub fn recover_arts_point_str(&self) -> i8 {
        self.recover_arts_point_str
    }

    pub fn set_recover_arts_point_str(&mut self, value: i8) {
        self.recover_arts_point_str = value;
    }

    pub fn recover_arts_point_dex(&self) -> i8 {
        self.recover_arts_point_dex
    }

    pub fn set_recover_arts_point_dex(&mut self, value: i8) {
        self.recover_arts_point_dex = value;
    }

    pub fn recover_arts_point_magic(&self) -> i8 {
        self.recover_arts_point_magic
    }

    pub fn set_recover_arts_point_magic(&mut self, value: i8) {
        self.recover_arts_point_magic = value;
    }

    pub fn recover_arts_point_miracle(&self) -> i8 {
        self.recover_arts_point_miracle
    }

    pub fn set_recover_arts_point_miracle(&mut self, value: i8) {
        self.recover_arts_point_miracle = value;
    }

    pub fn wet_condition_depth(&self) -> u8 {
        self.wet_condition_depth
    }

    pub fn set_wet_condition_depth(&mut self, value: u8) {
        self.wet_condition_depth = value;
    }

    #[allow(clippy::identity_op)]
    pub fn disable_freeze(&self) -> u8 {
        (self.bits_261 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_freeze(&mut self, value: u8) {
        self.bits_261 = (self.bits_261 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_status_ailment_atk_power_correct(&self) -> u8 {
        (self.bits_261 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_status_ailment_atk_power_correct(&mut self, value: u8) {
        self.bits_261 = (self.bits_261 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_atk_param_atk_power_correct(&self) -> u8 {
        (self.bits_261 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_atk_param_atk_power_correct(&mut self, value: u8) {
        self.bits_261 = (self.bits_261 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hollowing_correction(&self) -> u8 {
        (self.bits_261 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hollowing_correction(&mut self, value: u8) {
        self.bits_261 = (self.bits_261 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn affected_by_duration_contraction(&self) -> u8 {
        (self.bits_261 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_affected_by_duration_contraction(&mut self, value: u8) {
        self.bits_261 = (self.bits_261 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn wait_for_trigger_state_info(&self) -> u8 {
        (self.bits_261 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_wait_for_trigger_state_info(&mut self, value: u8) {
        self.bits_261 = (self.bits_261 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn ignore_no_damage(&self) -> u8 {
        (self.bits_261 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_ignore_no_damage(&mut self, value: u8) {
        self.bits_261 = (self.bits_261 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_net_sync(&self) -> u8 {
        (self.bits_261 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_net_sync(&mut self, value: u8) {
        self.bits_261 = (self.bits_261 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn eye_angle_upper_around(&self) -> u8 {
        self.eye_angle_upper_around
    }

    pub fn set_eye_angle_upper_around(&mut self, value: u8) {
        self.eye_angle_upper_around = value;
    }

    pub fn eye_angle_upper_bottom(&self) -> u8 {
        self.eye_angle_upper_bottom
    }

    pub fn set_eye_angle_upper_bottom(&mut self, value: u8) {
        self.eye_angle_upper_bottom = value;
    }

    pub fn sa_receive_damage_rate(&self) -> f32 {
        self.sa_receive_damage_rate
    }

    pub fn set_sa_receive_damage_rate(&mut self, value: f32) {
        self.sa_receive_damage_rate = value;
    }

    pub fn def_player_dmg_correct_rate_physics(&self) -> f32 {
        self.def_player_dmg_correct_rate_physics
    }

    pub fn set_def_player_dmg_correct_rate_physics(&mut self, value: f32) {
        self.def_player_dmg_correct_rate_physics = value;
    }

    pub fn def_player_dmg_correct_rate_magic(&self) -> f32 {
        self.def_player_dmg_correct_rate_magic
    }

    pub fn set_def_player_dmg_correct_rate_magic(&mut self, value: f32) {
        self.def_player_dmg_correct_rate_magic = value;
    }

    pub fn def_player_dmg_correct_rate_fire(&self) -> f32 {
        self.def_player_dmg_correct_rate_fire
    }

    pub fn set_def_player_dmg_correct_rate_fire(&mut self, value: f32) {
        self.def_player_dmg_correct_rate_fire = value;
    }

    pub fn def_player_dmg_correct_rate_thunder(&self) -> f32 {
        self.def_player_dmg_correct_rate_thunder
    }

    pub fn set_def_player_dmg_correct_rate_thunder(&mut self, value: f32) {
        self.def_player_dmg_correct_rate_thunder = value;
    }

    pub fn def_player_dmg_correct_rate_dark(&self) -> f32 {
        self.def_player_dmg_correct_rate_dark
    }

    pub fn set_def_player_dmg_correct_rate_dark(&mut self, value: f32) {
        self.def_player_dmg_correct_rate_dark = value;
    }

    pub fn def_enemy_dmg_correct_rate_physics(&self) -> f32 {
        self.def_enemy_dmg_correct_rate_physics
    }

    pub fn set_def_enemy_dmg_correct_rate_physics(&mut self, value: f32) {
        self.def_enemy_dmg_correct_rate_physics = value;
    }

    pub fn def_enemy_dmg_correct_rate_magic(&self) -> f32 {
        self.def_enemy_dmg_correct_rate_magic
    }

    pub fn set_def_enemy_dmg_correct_rate_magic(&mut self, value: f32) {
        self.def_enemy_dmg_correct_rate_magic = value;
    }

    pub fn def_enemy_dmg_correct_rate_fire(&self) -> f32 {
        self.def_enemy_dmg_correct_rate_fire
    }

    pub fn set_def_enemy_dmg_correct_rate_fire(&mut self, value: f32) {
        self.def_enemy_dmg_correct_rate_fire = value;
    }

    pub fn def_enemy_dmg_correct_rate_thunder(&self) -> f32 {
        self.def_enemy_dmg_correct_rate_thunder
    }

    pub fn set_def_enemy_dmg_correct_rate_thunder(&mut self, value: f32) {
        self.def_enemy_dmg_correct_rate_thunder = value;
    }

    pub fn def_enemy_dmg_correct_rate_dark(&self) -> f32 {
        self.def_enemy_dmg_correct_rate_dark
    }

    pub fn set_def_enemy_dmg_correct_rate_dark(&mut self, value: f32) {
        self.def_enemy_dmg_correct_rate_dark = value;
    }

    pub fn def_obj_dmg_correct_rate(&self) -> f32 {
        self.def_obj_dmg_correct_rate
    }

    pub fn set_def_obj_dmg_correct_rate(&mut self, value: f32) {
        self.def_obj_dmg_correct_rate = value;
    }

    pub fn atk_player_dmg_correct_rate_physics(&self) -> f32 {
        self.atk_player_dmg_correct_rate_physics
    }

    pub fn set_atk_player_dmg_correct_rate_physics(&mut self, value: f32) {
        self.atk_player_dmg_correct_rate_physics = value;
    }

    pub fn atk_player_dmg_correct_rate_magic(&self) -> f32 {
        self.atk_player_dmg_correct_rate_magic
    }

    pub fn set_atk_player_dmg_correct_rate_magic(&mut self, value: f32) {
        self.atk_player_dmg_correct_rate_magic = value;
    }

    pub fn atk_player_dmg_correct_rate_fire(&self) -> f32 {
        self.atk_player_dmg_correct_rate_fire
    }

    pub fn set_atk_player_dmg_correct_rate_fire(&mut self, value: f32) {
        self.atk_player_dmg_correct_rate_fire = value;
    }

    pub fn atk_player_dmg_correct_rate_thunder(&self) -> f32 {
        self.atk_player_dmg_correct_rate_thunder
    }

    pub fn set_atk_player_dmg_correct_rate_thunder(&mut self, value: f32) {
        self.atk_player_dmg_correct_rate_thunder = value;
    }

    pub fn atk_player_dmg_correct_rate_dark(&self) -> f32 {
        self.atk_player_dmg_correct_rate_dark
    }

    pub fn set_atk_player_dmg_correct_rate_dark(&mut self, value: f32) {
        self.atk_player_dmg_correct_rate_dark = value;
    }

    pub fn atk_enemy_dmg_correct_rate_physics(&self) -> f32 {
        self.atk_enemy_dmg_correct_rate_physics
    }

    pub fn set_atk_enemy_dmg_correct_rate_physics(&mut self, value: f32) {
        self.atk_enemy_dmg_correct_rate_physics = value;
    }

    pub fn atk_enemy_dmg_correct_rate_magic(&self) -> f32 {
        self.atk_enemy_dmg_correct_rate_magic
    }

    pub fn set_atk_enemy_dmg_correct_rate_magic(&mut self, value: f32) {
        self.atk_enemy_dmg_correct_rate_magic = value;
    }

    pub fn atk_enemy_dmg_correct_rate_fire(&self) -> f32 {
        self.atk_enemy_dmg_correct_rate_fire
    }

    pub fn set_atk_enemy_dmg_correct_rate_fire(&mut self, value: f32) {
        self.atk_enemy_dmg_correct_rate_fire = value;
    }

    pub fn atk_enemy_dmg_correct_rate_thunder(&self) -> f32 {
        self.atk_enemy_dmg_correct_rate_thunder
    }

    pub fn set_atk_enemy_dmg_correct_rate_thunder(&mut self, value: f32) {
        self.atk_enemy_dmg_correct_rate_thunder = value;
    }

    pub fn atk_enemy_dmg_correct_rate_dark(&self) -> f32 {
        self.atk_enemy_dmg_correct_rate_dark
    }

    pub fn set_atk_enemy_dmg_correct_rate_dark(&mut self, value: f32) {
        self.atk_enemy_dmg_correct_rate_dark = value;
    }

    pub fn regist_freeze_change_rate(&self) -> f32 {
        self.regist_freeze_change_rate
    }

    pub fn set_regist_freeze_change_rate(&mut self, value: f32) {
        self.regist_freeze_change_rate = value;
    }

    pub fn invocation_conditions_state_change1(&self) -> i16 {
        self.invocation_conditions_state_change1
    }

    pub fn set_invocation_conditions_state_change1(&mut self, value: i16) {
        self.invocation_conditions_state_change1 = value;
    }

    pub fn invocation_conditions_state_change2(&self) -> i16 {
        self.invocation_conditions_state_change2
    }

    pub fn set_invocation_conditions_state_change2(&mut self, value: i16) {
        self.invocation_conditions_state_change2 = value;
    }

    pub fn invocation_conditions_state_change3(&self) -> i16 {
        self.invocation_conditions_state_change3
    }

    pub fn set_invocation_conditions_state_change3(&mut self, value: i16) {
        self.invocation_conditions_state_change3 = value;
    }

    pub fn affect_pyromancy(&self) -> u8 {
        self.affect_pyromancy
    }

    pub fn set_affect_pyromancy(&mut self, value: u8) {
        self.affect_pyromancy = value;
    }

    pub fn fake_dexterity_cast_speed(&self) -> u8 {
        self.fake_dexterity_cast_speed
    }

    pub fn set_fake_dexterity_cast_speed(&mut self, value: u8) {
        self.fake_dexterity_cast_speed = value;
    }

    pub fn value_magnification(&self) -> f32 {
        self.value_magnification
    }

    pub fn set_value_magnification(&mut self, value: f32) {
        self.value_magnification = value;
    }

    pub fn arts_consumption_rate(&self) -> f32 {
        self.arts_consumption_rate
    }

    pub fn set_arts_consumption_rate(&mut self, value: f32) {
        self.arts_consumption_rate = value;
    }

    pub fn magic_consumption_rate(&self) -> f32 {
        self.magic_consumption_rate
    }

    pub fn set_magic_consumption_rate(&mut self, value: f32) {
        self.magic_consumption_rate = value;
    }

    pub fn shaman_consumption_rate(&self) -> f32 {
        self.shaman_consumption_rate
    }

    pub fn set_shaman_consumption_rate(&mut self, value: f32) {
        self.shaman_consumption_rate = value;
    }

    pub fn miracle_consumption_rate(&self) -> f32 {
        self.miracle_consumption_rate
    }

    pub fn set_miracle_consumption_rate(&mut self, value: f32) {
        self.miracle_consumption_rate = value;
    }

    pub fn change_hp_estus_flask_rate(&self) -> i32 {
        self.change_hp_estus_flask_rate
    }

    pub fn set_change_hp_estus_flask_rate(&mut self, value: i32) {
        self.change_hp_estus_flask_rate = value;
    }

    pub fn change_hp_estus_flask_point(&self) -> i32 {
        self.change_hp_estus_flask_point
    }

    pub fn set_change_hp_estus_flask_point(&mut self, value: i32) {
        self.change_hp_estus_flask_point = value;
    }

    pub fn change_mp_estus_flask_rate(&self) -> i32 {
        self.change_mp_estus_flask_rate
    }

    pub fn set_change_mp_estus_flask_rate(&mut self, value: i32) {
        self.change_mp_estus_flask_rate = value;
    }

    pub fn change_mp_estus_flask_point(&self) -> i32 {
        self.change_mp_estus_flask_point
    }

    pub fn set_change_mp_estus_flask_point(&mut self, value: i32) {
        self.change_mp_estus_flask_point = value;
    }

    pub fn change_hp_estus_flask_correct_rate(&self) -> f32 {
        self.change_hp_estus_flask_correct_rate
    }

    pub fn set_change_hp_estus_flask_correct_rate(&mut self, value: f32) {
        self.change_hp_estus_flask_correct_rate = value;
    }

    pub fn change_mp_estus_flask_correct_rate(&self) -> f32 {
        self.change_mp_estus_flask_correct_rate
    }

    pub fn set_change_mp_estus_flask_correct_rate(&mut self, value: f32) {
        self.change_mp_estus_flask_correct_rate = value;
    }

    pub fn apply_id_on_get_soul(&self) -> i32 {
        self.apply_id_on_get_soul
    }

    pub fn set_apply_id_on_get_soul(&mut self, value: i32) {
        self.apply_id_on_get_soul = value;
    }

    pub fn extend_life_rate(&self) -> f32 {
        self.extend_life_rate
    }

    pub fn set_extend_life_rate(&mut self, value: f32) {
        self.extend_life_rate = value;
    }

    pub fn contract_life_rate(&self) -> f32 {
        self.contract_life_rate
    }

    pub fn set_contract_life_rate(&mut self, value: f32) {
        self.contract_life_rate = value;
    }

    pub fn behavior_judge_id_add0(&self) -> u8 {
        self.behavior_judge_id_add0
    }

    pub fn set_behavior_judge_id_add0(&mut self, value: u8) {
        self.behavior_judge_id_add0 = value;
    }

    pub fn behavior_judge_id_add1(&self) -> u8 {
        self.behavior_judge_id_add1
    }

    pub fn set_behavior_judge_id_add1(&mut self, value: u8) {
        self.behavior_judge_id_add1 = value;
    }

    pub fn effect_end_delete_decal_group_id(&self) -> i16 {
        self.effect_end_delete_decal_group_id
    }

    pub fn set_effect_end_delete_decal_group_id(&mut self, value: i16) {
        self.effect_end_delete_decal_group_id = value;
    }

    pub fn def_object_attack_power_rate(&self) -> f32 {
        self.def_object_attack_power_rate
    }

    pub fn set_def_object_attack_power_rate(&mut self, value: f32) {
        self.def_object_attack_power_rate = value;
    }

    pub fn add_life_force_status(&self) -> i8 {
        self.add_life_force_status
    }

    pub fn set_add_life_force_status(&mut self, value: i8) {
        self.add_life_force_status = value;
    }

    pub fn add_willpower_status(&self) -> i8 {
        self.add_willpower_status
    }

    pub fn set_add_willpower_status(&mut self, value: i8) {
        self.add_willpower_status = value;
    }

    pub fn add_endure_status(&self) -> i8 {
        self.add_endure_status
    }

    pub fn set_add_endure_status(&mut self, value: i8) {
        self.add_endure_status = value;
    }

    pub fn add_vitality_status(&self) -> i8 {
        self.add_vitality_status
    }

    pub fn set_add_vitality_status(&mut self, value: i8) {
        self.add_vitality_status = value;
    }

    pub fn add_strength_status(&self) -> i8 {
        self.add_strength_status
    }

    pub fn set_add_strength_status(&mut self, value: i8) {
        self.add_strength_status = value;
    }

    pub fn add_dexterity_status(&self) -> i8 {
        self.add_dexterity_status
    }

    pub fn set_add_dexterity_status(&mut self, value: i8) {
        self.add_dexterity_status = value;
    }

    pub fn add_magic_status(&self) -> i8 {
        self.add_magic_status
    }

    pub fn set_add_magic_status(&mut self, value: i8) {
        self.add_magic_status = value;
    }

    pub fn add_faith_status(&self) -> i8 {
        self.add_faith_status
    }

    pub fn set_add_faith_status(&mut self, value: i8) {
        self.add_faith_status = value;
    }

    pub fn add_luck_status(&self) -> i8 {
        self.add_luck_status
    }

    pub fn set_add_luck_status(&mut self, value: i8) {
        self.add_luck_status = value;
    }

    pub fn delete_criteria_damage(&self) -> i8 {
        self.delete_criteria_damage
    }

    pub fn set_delete_criteria_damage(&mut self, value: i8) {
        self.delete_criteria_damage = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SP_EFFECT_VFX_PARAM_ST {
    midst_sfx_id: i32,
    midst_se_id: i32,
    init_sfx_id: i32,
    init_se_id: i32,
    finish_sfx_id: i32,
    finish_se_id: i32,
    camouflage_begin_dist: f32,
    camouflage_end_dist: f32,
    transform_protector_id: i32,
    midst_dmy_id: i16,
    init_dmy_id: i16,
    finish_dmy_id: i16,
    effect_type: u8,
    soul_param_id_for_wep_enchant: u8,
    play_category: u8,
    play_priority: u8,
    bits_2e: u8,
    bits_2f: u8,
    decal_id1: i32,
    decal_id2: i32,
    foot_effect_priority: u8,
    foot_effect_offset: u8,
    trace_sfx_id_offset_type: u8,
    force_deceased_type: u8,
    enchant_start_dmy_id_0: i32,
    enchant_end_dmy_id_0: i32,
    enchant_start_dmy_id_1: i32,
    enchant_end_dmy_id_1: i32,
    enchant_start_dmy_id_2: i32,
    enchant_end_dmy_id_2: i32,
    enchant_start_dmy_id_3: i32,
    enchant_end_dmy_id_3: i32,
    enchant_start_dmy_id_4: i32,
    enchant_end_dmy_id_4: i32,
    enchant_start_dmy_id_5: i32,
    enchant_end_dmy_id_5: i32,
    enchant_start_dmy_id_6: i32,
    enchant_end_dmy_id_6: i32,
    enchant_start_dmy_id_7: i32,
    enchant_end_dmy_id_7: i32,
    sfx_id_offset_type: u8,
    phantom_param_overwrite_type: u8,
    camouflage_min_alpha: u8,
    wet_aspect_type: u8,
    phantom_param_overwrite_id: i32,
    emissive_intensity_scale: f32,
    unknown2: f32,
    foot_decal_material_offset_overwrite_id: i16,
    unknown3: i16,
    ember_effect_glow: f32,
    pad1: [u8; 8],
}

impl ParamDef for SP_EFFECT_VFX_PARAM_ST {
    const NAME: &str = "SP_EFFECT_VFX_PARAM_ST";
    const INDEX: usize = 86;
}

impl SP_EFFECT_VFX_PARAM_ST {
    pub fn midst_sfx_id(&self) -> i32 {
        self.midst_sfx_id
    }

    pub fn set_midst_sfx_id(&mut self, value: i32) {
        self.midst_sfx_id = value;
    }

    pub fn midst_se_id(&self) -> i32 {
        self.midst_se_id
    }

    pub fn set_midst_se_id(&mut self, value: i32) {
        self.midst_se_id = value;
    }

    pub fn init_sfx_id(&self) -> i32 {
        self.init_sfx_id
    }

    pub fn set_init_sfx_id(&mut self, value: i32) {
        self.init_sfx_id = value;
    }

    pub fn init_se_id(&self) -> i32 {
        self.init_se_id
    }

    pub fn set_init_se_id(&mut self, value: i32) {
        self.init_se_id = value;
    }

    pub fn finish_sfx_id(&self) -> i32 {
        self.finish_sfx_id
    }

    pub fn set_finish_sfx_id(&mut self, value: i32) {
        self.finish_sfx_id = value;
    }

    pub fn finish_se_id(&self) -> i32 {
        self.finish_se_id
    }

    pub fn set_finish_se_id(&mut self, value: i32) {
        self.finish_se_id = value;
    }

    pub fn camouflage_begin_dist(&self) -> f32 {
        self.camouflage_begin_dist
    }

    pub fn set_camouflage_begin_dist(&mut self, value: f32) {
        self.camouflage_begin_dist = value;
    }

    pub fn camouflage_end_dist(&self) -> f32 {
        self.camouflage_end_dist
    }

    pub fn set_camouflage_end_dist(&mut self, value: f32) {
        self.camouflage_end_dist = value;
    }

    pub fn transform_protector_id(&self) -> i32 {
        self.transform_protector_id
    }

    pub fn set_transform_protector_id(&mut self, value: i32) {
        self.transform_protector_id = value;
    }

    pub fn midst_dmy_id(&self) -> i16 {
        self.midst_dmy_id
    }

    pub fn set_midst_dmy_id(&mut self, value: i16) {
        self.midst_dmy_id = value;
    }

    pub fn init_dmy_id(&self) -> i16 {
        self.init_dmy_id
    }

    pub fn set_init_dmy_id(&mut self, value: i16) {
        self.init_dmy_id = value;
    }

    pub fn finish_dmy_id(&self) -> i16 {
        self.finish_dmy_id
    }

    pub fn set_finish_dmy_id(&mut self, value: i16) {
        self.finish_dmy_id = value;
    }

    pub fn effect_type(&self) -> u8 {
        self.effect_type
    }

    pub fn set_effect_type(&mut self, value: u8) {
        self.effect_type = value;
    }

    pub fn soul_param_id_for_wep_enchant(&self) -> u8 {
        self.soul_param_id_for_wep_enchant
    }

    pub fn set_soul_param_id_for_wep_enchant(&mut self, value: u8) {
        self.soul_param_id_for_wep_enchant = value;
    }

    pub fn play_category(&self) -> u8 {
        self.play_category
    }

    pub fn set_play_category(&mut self, value: u8) {
        self.play_category = value;
    }

    pub fn play_priority(&self) -> u8 {
        self.play_priority
    }

    pub fn set_play_priority(&mut self, value: u8) {
        self.play_priority = value;
    }

    #[allow(clippy::identity_op)]
    pub fn exist_effect_for_large(&self) -> u8 {
        (self.bits_2e >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_exist_effect_for_large(&mut self, value: u8) {
        self.bits_2e = (self.bits_2e & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn exist_effect_for_soul(&self) -> u8 {
        (self.bits_2e >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_exist_effect_for_soul(&mut self, value: u8) {
        self.bits_2e = (self.bits_2e & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn effect_invisible_at_camouflage(&self) -> u8 {
        (self.bits_2e >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_effect_invisible_at_camouflage(&mut self, value: u8) {
        self.bits_2e = (self.bits_2e & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn use_camouflage(&self) -> u8 {
        (self.bits_2e >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_camouflage(&mut self, value: u8) {
        self.bits_2e = (self.bits_2e & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_at_friend_camouflage(&self) -> u8 {
        (self.bits_2e >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_at_friend_camouflage(&mut self, value: u8) {
        self.bits_2e = (self.bits_2e & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hide_foot_effect_for_camouflage(&self) -> u8 {
        (self.bits_2e >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hide_foot_effect_for_camouflage(&mut self, value: u8) {
        self.bits_2e = (self.bits_2e & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn half_camouflage(&self) -> u8 {
        (self.bits_2e >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_half_camouflage(&mut self, value: u8) {
        self.bits_2e = (self.bits_2e & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_full_body_transform_protector_id(&self) -> u8 {
        (self.bits_2e >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_full_body_transform_protector_id(&mut self, value: u8) {
        self.bits_2e = (self.bits_2e & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_invisible_weapon(&self) -> u8 {
        (self.bits_2f >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_invisible_weapon(&mut self, value: u8) {
        self.bits_2f = (self.bits_2f & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_silence(&self) -> u8 {
        (self.bits_2f >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_silence(&mut self, value: u8) {
        self.bits_2f = (self.bits_2f & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_midst_fullbody(&self) -> u8 {
        (self.bits_2f >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_midst_fullbody(&mut self, value: u8) {
        self.bits_2f = (self.bits_2f & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_init_fullbody(&self) -> u8 {
        (self.bits_2f >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_init_fullbody(&mut self, value: u8) {
        self.bits_2f = (self.bits_2f & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_finish_fullbody(&self) -> u8 {
        (self.bits_2f >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_finish_fullbody(&mut self, value: u8) {
        self.bits_2f = (self.bits_2f & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_visible_dead_chr(&self) -> u8 {
        (self.bits_2f >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_visible_dead_chr(&mut self, value: u8) {
        self.bits_2f = (self.bits_2f & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_offset_enchant_sfx_size(&self) -> u8 {
        (self.bits_2f >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_offset_enchant_sfx_size(&mut self, value: u8) {
        self.bits_2f = (self.bits_2f & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    pub fn decal_id1(&self) -> i32 {
        self.decal_id1
    }

    pub fn set_decal_id1(&mut self, value: i32) {
        self.decal_id1 = value;
    }

    pub fn decal_id2(&self) -> i32 {
        self.decal_id2
    }

    pub fn set_decal_id2(&mut self, value: i32) {
        self.decal_id2 = value;
    }

    pub fn foot_effect_priority(&self) -> u8 {
        self.foot_effect_priority
    }

    pub fn set_foot_effect_priority(&mut self, value: u8) {
        self.foot_effect_priority = value;
    }

    pub fn foot_effect_offset(&self) -> u8 {
        self.foot_effect_offset
    }

    pub fn set_foot_effect_offset(&mut self, value: u8) {
        self.foot_effect_offset = value;
    }

    pub fn trace_sfx_id_offset_type(&self) -> u8 {
        self.trace_sfx_id_offset_type
    }

    pub fn set_trace_sfx_id_offset_type(&mut self, value: u8) {
        self.trace_sfx_id_offset_type = value;
    }

    pub fn force_deceased_type(&self) -> u8 {
        self.force_deceased_type
    }

    pub fn set_force_deceased_type(&mut self, value: u8) {
        self.force_deceased_type = value;
    }

    pub fn enchant_start_dmy_id_0(&self) -> i32 {
        self.enchant_start_dmy_id_0
    }

    pub fn set_enchant_start_dmy_id_0(&mut self, value: i32) {
        self.enchant_start_dmy_id_0 = value;
    }

    pub fn enchant_end_dmy_id_0(&self) -> i32 {
        self.enchant_end_dmy_id_0
    }

    pub fn set_enchant_end_dmy_id_0(&mut self, value: i32) {
        self.enchant_end_dmy_id_0 = value;
    }

    pub fn enchant_start_dmy_id_1(&self) -> i32 {
        self.enchant_start_dmy_id_1
    }

    pub fn set_enchant_start_dmy_id_1(&mut self, value: i32) {
        self.enchant_start_dmy_id_1 = value;
    }

    pub fn enchant_end_dmy_id_1(&self) -> i32 {
        self.enchant_end_dmy_id_1
    }

    pub fn set_enchant_end_dmy_id_1(&mut self, value: i32) {
        self.enchant_end_dmy_id_1 = value;
    }

    pub fn enchant_start_dmy_id_2(&self) -> i32 {
        self.enchant_start_dmy_id_2
    }

    pub fn set_enchant_start_dmy_id_2(&mut self, value: i32) {
        self.enchant_start_dmy_id_2 = value;
    }

    pub fn enchant_end_dmy_id_2(&self) -> i32 {
        self.enchant_end_dmy_id_2
    }

    pub fn set_enchant_end_dmy_id_2(&mut self, value: i32) {
        self.enchant_end_dmy_id_2 = value;
    }

    pub fn enchant_start_dmy_id_3(&self) -> i32 {
        self.enchant_start_dmy_id_3
    }

    pub fn set_enchant_start_dmy_id_3(&mut self, value: i32) {
        self.enchant_start_dmy_id_3 = value;
    }

    pub fn enchant_end_dmy_id_3(&self) -> i32 {
        self.enchant_end_dmy_id_3
    }

    pub fn set_enchant_end_dmy_id_3(&mut self, value: i32) {
        self.enchant_end_dmy_id_3 = value;
    }

    pub fn enchant_start_dmy_id_4(&self) -> i32 {
        self.enchant_start_dmy_id_4
    }

    pub fn set_enchant_start_dmy_id_4(&mut self, value: i32) {
        self.enchant_start_dmy_id_4 = value;
    }

    pub fn enchant_end_dmy_id_4(&self) -> i32 {
        self.enchant_end_dmy_id_4
    }

    pub fn set_enchant_end_dmy_id_4(&mut self, value: i32) {
        self.enchant_end_dmy_id_4 = value;
    }

    pub fn enchant_start_dmy_id_5(&self) -> i32 {
        self.enchant_start_dmy_id_5
    }

    pub fn set_enchant_start_dmy_id_5(&mut self, value: i32) {
        self.enchant_start_dmy_id_5 = value;
    }

    pub fn enchant_end_dmy_id_5(&self) -> i32 {
        self.enchant_end_dmy_id_5
    }

    pub fn set_enchant_end_dmy_id_5(&mut self, value: i32) {
        self.enchant_end_dmy_id_5 = value;
    }

    pub fn enchant_start_dmy_id_6(&self) -> i32 {
        self.enchant_start_dmy_id_6
    }

    pub fn set_enchant_start_dmy_id_6(&mut self, value: i32) {
        self.enchant_start_dmy_id_6 = value;
    }

    pub fn enchant_end_dmy_id_6(&self) -> i32 {
        self.enchant_end_dmy_id_6
    }

    pub fn set_enchant_end_dmy_id_6(&mut self, value: i32) {
        self.enchant_end_dmy_id_6 = value;
    }

    pub fn enchant_start_dmy_id_7(&self) -> i32 {
        self.enchant_start_dmy_id_7
    }

    pub fn set_enchant_start_dmy_id_7(&mut self, value: i32) {
        self.enchant_start_dmy_id_7 = value;
    }

    pub fn enchant_end_dmy_id_7(&self) -> i32 {
        self.enchant_end_dmy_id_7
    }

    pub fn set_enchant_end_dmy_id_7(&mut self, value: i32) {
        self.enchant_end_dmy_id_7 = value;
    }

    pub fn sfx_id_offset_type(&self) -> u8 {
        self.sfx_id_offset_type
    }

    pub fn set_sfx_id_offset_type(&mut self, value: u8) {
        self.sfx_id_offset_type = value;
    }

    pub fn phantom_param_overwrite_type(&self) -> u8 {
        self.phantom_param_overwrite_type
    }

    pub fn set_phantom_param_overwrite_type(&mut self, value: u8) {
        self.phantom_param_overwrite_type = value;
    }

    pub fn camouflage_min_alpha(&self) -> u8 {
        self.camouflage_min_alpha
    }

    pub fn set_camouflage_min_alpha(&mut self, value: u8) {
        self.camouflage_min_alpha = value;
    }

    pub fn wet_aspect_type(&self) -> u8 {
        self.wet_aspect_type
    }

    pub fn set_wet_aspect_type(&mut self, value: u8) {
        self.wet_aspect_type = value;
    }

    pub fn phantom_param_overwrite_id(&self) -> i32 {
        self.phantom_param_overwrite_id
    }

    pub fn set_phantom_param_overwrite_id(&mut self, value: i32) {
        self.phantom_param_overwrite_id = value;
    }

    pub fn emissive_intensity_scale(&self) -> f32 {
        self.emissive_intensity_scale
    }

    pub fn set_emissive_intensity_scale(&mut self, value: f32) {
        self.emissive_intensity_scale = value;
    }

    pub fn foot_decal_material_offset_overwrite_id(&self) -> i16 {
        self.foot_decal_material_offset_overwrite_id
    }

    pub fn set_foot_decal_material_offset_overwrite_id(&mut self, value: i16) {
        self.foot_decal_material_offset_overwrite_id = value;
    }

    pub fn ember_effect_glow(&self) -> f32 {
        self.ember_effect_glow
    }

    pub fn set_ember_effect_glow(&mut self, value: f32) {
        self.ember_effect_glow = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SWORD_ARTS_PARAM_ST {
    sword_arts_type: u8,
    arts_speed_type: u8,
    ref_status: u8,
    bits_3: u8,
    use_point_l1: i8,
    use_point_l2: i8,
    use_point_r1: i8,
    use_point_r2: i8,
    text_id: i32,
    use_magic_point_l1: i16,
    use_magic_point_l2: i16,
    use_magic_point_r1: i16,
    use_magic_point_r2: i16,
    shield_icon_type: i8,
    pad1: [u8; 11],
}

impl ParamDef for SWORD_ARTS_PARAM_ST {
    const NAME: &str = "SWORD_ARTS_PARAM_ST";
    const INDEX: usize = 87;
}

impl SWORD_ARTS_PARAM_ST {
    pub fn sword_arts_type(&self) -> u8 {
        self.sword_arts_type
    }

    pub fn set_sword_arts_type(&mut self, value: u8) {
        self.sword_arts_type = value;
    }

    pub fn arts_speed_type(&self) -> u8 {
        self.arts_speed_type
    }

    pub fn set_arts_speed_type(&mut self, value: u8) {
        self.arts_speed_type = value;
    }

    pub fn ref_status(&self) -> u8 {
        self.ref_status
    }

    pub fn set_ref_status(&mut self, value: u8) {
        self.ref_status = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_ref_right_arts(&self) -> u8 {
        (self.bits_3 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ref_right_arts(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_grayout_left_hand(&self) -> u8 {
        (self.bits_3 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_grayout_left_hand(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_grayout_right_hand(&self) -> u8 {
        (self.bits_3 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_grayout_right_hand(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_grayout_both_hand(&self) -> u8 {
        (self.bits_3 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_grayout_both_hand(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn use_point_l1(&self) -> i8 {
        self.use_point_l1
    }

    pub fn set_use_point_l1(&mut self, value: i8) {
        self.use_point_l1 = value;
    }

    pub fn use_point_l2(&self) -> i8 {
        self.use_point_l2
    }

    pub fn set_use_point_l2(&mut self, value: i8) {
        self.use_point_l2 = value;
    }

    pub fn use_point_r1(&self) -> i8 {
        self.use_point_r1
    }

    pub fn set_use_point_r1(&mut self, value: i8) {
        self.use_point_r1 = value;
    }

    pub fn use_point_r2(&self) -> i8 {
        self.use_point_r2
    }

    pub fn set_use_point_r2(&mut self, value: i8) {
        self.use_point_r2 = value;
    }

    pub fn text_id(&self) -> i32 {
        self.text_id
    }

    pub fn set_text_id(&mut self, value: i32) {
        self.text_id = value;
    }

    pub fn use_magic_point_l1(&self) -> i16 {
        self.use_magic_point_l1
    }

    pub fn set_use_magic_point_l1(&mut self, value: i16) {
        self.use_magic_point_l1 = value;
    }

    pub fn use_magic_point_l2(&self) -> i16 {
        self.use_magic_point_l2
    }

    pub fn set_use_magic_point_l2(&mut self, value: i16) {
        self.use_magic_point_l2 = value;
    }

    pub fn use_magic_point_r1(&self) -> i16 {
        self.use_magic_point_r1
    }

    pub fn set_use_magic_point_r1(&mut self, value: i16) {
        self.use_magic_point_r1 = value;
    }

    pub fn use_magic_point_r2(&self) -> i16 {
        self.use_magic_point_r2
    }

    pub fn set_use_magic_point_r2(&mut self, value: i16) {
        self.use_magic_point_r2 = value;
    }

    pub fn shield_icon_type(&self) -> i8 {
        self.shield_icon_type
    }

    pub fn set_shield_icon_type(&mut self, value: i8) {
        self.shield_icon_type = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct TALK_PARAM_ST {
    msg_id: i32,
    voice_id: i32,
    sp_effect_id0: i32,
    motion_id0: i32,
    sp_effect_id1: i32,
    motion_id1: i32,
    return_pos: i32,
    reaction_id: i32,
    event_id: i32,
    msg_id_female: i32,
    voice_id_female: i32,
    talk_duration: f32,
}

impl ParamDef for TALK_PARAM_ST {
    const NAME: &str = "TALK_PARAM_ST";
    const INDEX: usize = 88;
}

impl TALK_PARAM_ST {
    pub fn msg_id(&self) -> i32 {
        self.msg_id
    }

    pub fn set_msg_id(&mut self, value: i32) {
        self.msg_id = value;
    }

    pub fn voice_id(&self) -> i32 {
        self.voice_id
    }

    pub fn set_voice_id(&mut self, value: i32) {
        self.voice_id = value;
    }

    pub fn sp_effect_id0(&self) -> i32 {
        self.sp_effect_id0
    }

    pub fn set_sp_effect_id0(&mut self, value: i32) {
        self.sp_effect_id0 = value;
    }

    pub fn motion_id0(&self) -> i32 {
        self.motion_id0
    }

    pub fn set_motion_id0(&mut self, value: i32) {
        self.motion_id0 = value;
    }

    pub fn sp_effect_id1(&self) -> i32 {
        self.sp_effect_id1
    }

    pub fn set_sp_effect_id1(&mut self, value: i32) {
        self.sp_effect_id1 = value;
    }

    pub fn motion_id1(&self) -> i32 {
        self.motion_id1
    }

    pub fn set_motion_id1(&mut self, value: i32) {
        self.motion_id1 = value;
    }

    pub fn return_pos(&self) -> i32 {
        self.return_pos
    }

    pub fn set_return_pos(&mut self, value: i32) {
        self.return_pos = value;
    }

    pub fn reaction_id(&self) -> i32 {
        self.reaction_id
    }

    pub fn set_reaction_id(&mut self, value: i32) {
        self.reaction_id = value;
    }

    pub fn event_id(&self) -> i32 {
        self.event_id
    }

    pub fn set_event_id(&mut self, value: i32) {
        self.event_id = value;
    }

    pub fn msg_id_female(&self) -> i32 {
        self.msg_id_female
    }

    pub fn set_msg_id_female(&mut self, value: i32) {
        self.msg_id_female = value;
    }

    pub fn voice_id_female(&self) -> i32 {
        self.voice_id_female
    }

    pub fn set_voice_id_female(&mut self, value: i32) {
        self.voice_id_female = value;
    }

    pub fn talk_duration(&self) -> f32 {
        self.talk_duration
    }

    pub fn set_talk_duration(&mut self, value: f32) {
        self.talk_duration = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct THROW_DIRECTION_SFX_PARAM_ST {
    sfx_id_00: i32,
    sfx_id_01: i32,
    sfx_id_02: i32,
    sfx_id_03: i32,
    sfx_id_04: i32,
    sfx_id_05: i32,
    sfx_id_06: i32,
    sfx_id_07: i32,
    sfx_id_08: i32,
    sfx_id_09: i32,
    sfx_id_10: i32,
    sfx_id_11: i32,
    sfx_id_12: i32,
    sfx_id_13: i32,
    sfx_id_14: i32,
    sfx_id_15: i32,
    sfx_id_16: i32,
    sfx_id_17: i32,
    sfx_id_18: i32,
    sfx_id_19: i32,
    sfx_id_20: i32,
    sfx_id_21: i32,
    sfx_id_22: i32,
    sfx_id_23: i32,
    sfx_id_24: i32,
    sfx_id_25: i32,
    sfx_id_26: i32,
    sfx_id_27: i32,
    sfx_id_28: i32,
    sfx_id_29: i32,
    pad1: [u8; 24],
}

impl ParamDef for THROW_DIRECTION_SFX_PARAM_ST {
    const NAME: &str = "THROW_DIRECTION_SFX_PARAM_ST";
    const INDEX: usize = 89;
}

impl THROW_DIRECTION_SFX_PARAM_ST {
    pub fn sfx_id_00(&self) -> i32 {
        self.sfx_id_00
    }

    pub fn set_sfx_id_00(&mut self, value: i32) {
        self.sfx_id_00 = value;
    }

    pub fn sfx_id_01(&self) -> i32 {
        self.sfx_id_01
    }

    pub fn set_sfx_id_01(&mut self, value: i32) {
        self.sfx_id_01 = value;
    }

    pub fn sfx_id_02(&self) -> i32 {
        self.sfx_id_02
    }

    pub fn set_sfx_id_02(&mut self, value: i32) {
        self.sfx_id_02 = value;
    }

    pub fn sfx_id_03(&self) -> i32 {
        self.sfx_id_03
    }

    pub fn set_sfx_id_03(&mut self, value: i32) {
        self.sfx_id_03 = value;
    }

    pub fn sfx_id_04(&self) -> i32 {
        self.sfx_id_04
    }

    pub fn set_sfx_id_04(&mut self, value: i32) {
        self.sfx_id_04 = value;
    }

    pub fn sfx_id_05(&self) -> i32 {
        self.sfx_id_05
    }

    pub fn set_sfx_id_05(&mut self, value: i32) {
        self.sfx_id_05 = value;
    }

    pub fn sfx_id_06(&self) -> i32 {
        self.sfx_id_06
    }

    pub fn set_sfx_id_06(&mut self, value: i32) {
        self.sfx_id_06 = value;
    }

    pub fn sfx_id_07(&self) -> i32 {
        self.sfx_id_07
    }

    pub fn set_sfx_id_07(&mut self, value: i32) {
        self.sfx_id_07 = value;
    }

    pub fn sfx_id_08(&self) -> i32 {
        self.sfx_id_08
    }

    pub fn set_sfx_id_08(&mut self, value: i32) {
        self.sfx_id_08 = value;
    }

    pub fn sfx_id_09(&self) -> i32 {
        self.sfx_id_09
    }

    pub fn set_sfx_id_09(&mut self, value: i32) {
        self.sfx_id_09 = value;
    }

    pub fn sfx_id_10(&self) -> i32 {
        self.sfx_id_10
    }

    pub fn set_sfx_id_10(&mut self, value: i32) {
        self.sfx_id_10 = value;
    }

    pub fn sfx_id_11(&self) -> i32 {
        self.sfx_id_11
    }

    pub fn set_sfx_id_11(&mut self, value: i32) {
        self.sfx_id_11 = value;
    }

    pub fn sfx_id_12(&self) -> i32 {
        self.sfx_id_12
    }

    pub fn set_sfx_id_12(&mut self, value: i32) {
        self.sfx_id_12 = value;
    }

    pub fn sfx_id_13(&self) -> i32 {
        self.sfx_id_13
    }

    pub fn set_sfx_id_13(&mut self, value: i32) {
        self.sfx_id_13 = value;
    }

    pub fn sfx_id_14(&self) -> i32 {
        self.sfx_id_14
    }

    pub fn set_sfx_id_14(&mut self, value: i32) {
        self.sfx_id_14 = value;
    }

    pub fn sfx_id_15(&self) -> i32 {
        self.sfx_id_15
    }

    pub fn set_sfx_id_15(&mut self, value: i32) {
        self.sfx_id_15 = value;
    }

    pub fn sfx_id_16(&self) -> i32 {
        self.sfx_id_16
    }

    pub fn set_sfx_id_16(&mut self, value: i32) {
        self.sfx_id_16 = value;
    }

    pub fn sfx_id_17(&self) -> i32 {
        self.sfx_id_17
    }

    pub fn set_sfx_id_17(&mut self, value: i32) {
        self.sfx_id_17 = value;
    }

    pub fn sfx_id_18(&self) -> i32 {
        self.sfx_id_18
    }

    pub fn set_sfx_id_18(&mut self, value: i32) {
        self.sfx_id_18 = value;
    }

    pub fn sfx_id_19(&self) -> i32 {
        self.sfx_id_19
    }

    pub fn set_sfx_id_19(&mut self, value: i32) {
        self.sfx_id_19 = value;
    }

    pub fn sfx_id_20(&self) -> i32 {
        self.sfx_id_20
    }

    pub fn set_sfx_id_20(&mut self, value: i32) {
        self.sfx_id_20 = value;
    }

    pub fn sfx_id_21(&self) -> i32 {
        self.sfx_id_21
    }

    pub fn set_sfx_id_21(&mut self, value: i32) {
        self.sfx_id_21 = value;
    }

    pub fn sfx_id_22(&self) -> i32 {
        self.sfx_id_22
    }

    pub fn set_sfx_id_22(&mut self, value: i32) {
        self.sfx_id_22 = value;
    }

    pub fn sfx_id_23(&self) -> i32 {
        self.sfx_id_23
    }

    pub fn set_sfx_id_23(&mut self, value: i32) {
        self.sfx_id_23 = value;
    }

    pub fn sfx_id_24(&self) -> i32 {
        self.sfx_id_24
    }

    pub fn set_sfx_id_24(&mut self, value: i32) {
        self.sfx_id_24 = value;
    }

    pub fn sfx_id_25(&self) -> i32 {
        self.sfx_id_25
    }

    pub fn set_sfx_id_25(&mut self, value: i32) {
        self.sfx_id_25 = value;
    }

    pub fn sfx_id_26(&self) -> i32 {
        self.sfx_id_26
    }

    pub fn set_sfx_id_26(&mut self, value: i32) {
        self.sfx_id_26 = value;
    }

    pub fn sfx_id_27(&self) -> i32 {
        self.sfx_id_27
    }

    pub fn set_sfx_id_27(&mut self, value: i32) {
        self.sfx_id_27 = value;
    }

    pub fn sfx_id_28(&self) -> i32 {
        self.sfx_id_28
    }

    pub fn set_sfx_id_28(&mut self, value: i32) {
        self.sfx_id_28 = value;
    }

    pub fn sfx_id_29(&self) -> i32 {
        self.sfx_id_29
    }

    pub fn set_sfx_id_29(&mut self, value: i32) {
        self.sfx_id_29 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct THROW_INFO_BANK {
    atk_chr_id: i32,
    def_chr_id: i32,
    dist: f32,
    diff_ang_min: f32,
    diff_ang_max: f32,
    upper_y_range: f32,
    lower_y_range: f32,
    diff_ang_my_to_def: f32,
    throw_type_id: i32,
    atk_anim_id: i32,
    def_anim_id: i32,
    esc_hp: i16,
    self_esc_cycle_time: i16,
    sphere_cast_radius_rate_top: i16,
    sphere_cast_radius_rate_low: i16,
    pad_type: u8,
    atk_enable_state: u8,
    throw_following_type: u8,
    pad2: [u8; 1],
    throw_type: u8,
    self_esc_cycle_cnt: u8,
    dmy_has_chr_dir_type: u8,
    bits_3b: u8,
    atk_sorb_dmy_id: i16,
    def_sorb_dmy_id: i16,
    dist_start: f32,
    diff_ang_min_start: f32,
    diff_ang_max_start: f32,
    upper_y_range_start: f32,
    lower_y_range_start: f32,
    diff_ang_my_to_def_start: f32,
    judge_range_base_pos_dmy_id1: i32,
    judge_range_base_pos_dmy_id2: i32,
    pad1: [u8; 32],
}

impl ParamDef for THROW_INFO_BANK {
    const NAME: &str = "THROW_INFO_BANK";
    const INDEX: usize = 90;
}

impl THROW_INFO_BANK {
    pub fn atk_chr_id(&self) -> i32 {
        self.atk_chr_id
    }

    pub fn set_atk_chr_id(&mut self, value: i32) {
        self.atk_chr_id = value;
    }

    pub fn def_chr_id(&self) -> i32 {
        self.def_chr_id
    }

    pub fn set_def_chr_id(&mut self, value: i32) {
        self.def_chr_id = value;
    }

    pub fn dist(&self) -> f32 {
        self.dist
    }

    pub fn set_dist(&mut self, value: f32) {
        self.dist = value;
    }

    pub fn diff_ang_min(&self) -> f32 {
        self.diff_ang_min
    }

    pub fn set_diff_ang_min(&mut self, value: f32) {
        self.diff_ang_min = value;
    }

    pub fn diff_ang_max(&self) -> f32 {
        self.diff_ang_max
    }

    pub fn set_diff_ang_max(&mut self, value: f32) {
        self.diff_ang_max = value;
    }

    pub fn upper_y_range(&self) -> f32 {
        self.upper_y_range
    }

    pub fn set_upper_y_range(&mut self, value: f32) {
        self.upper_y_range = value;
    }

    pub fn lower_y_range(&self) -> f32 {
        self.lower_y_range
    }

    pub fn set_lower_y_range(&mut self, value: f32) {
        self.lower_y_range = value;
    }

    pub fn diff_ang_my_to_def(&self) -> f32 {
        self.diff_ang_my_to_def
    }

    pub fn set_diff_ang_my_to_def(&mut self, value: f32) {
        self.diff_ang_my_to_def = value;
    }

    pub fn throw_type_id(&self) -> i32 {
        self.throw_type_id
    }

    pub fn set_throw_type_id(&mut self, value: i32) {
        self.throw_type_id = value;
    }

    pub fn atk_anim_id(&self) -> i32 {
        self.atk_anim_id
    }

    pub fn set_atk_anim_id(&mut self, value: i32) {
        self.atk_anim_id = value;
    }

    pub fn def_anim_id(&self) -> i32 {
        self.def_anim_id
    }

    pub fn set_def_anim_id(&mut self, value: i32) {
        self.def_anim_id = value;
    }

    pub fn esc_hp(&self) -> i16 {
        self.esc_hp
    }

    pub fn set_esc_hp(&mut self, value: i16) {
        self.esc_hp = value;
    }

    pub fn self_esc_cycle_time(&self) -> i16 {
        self.self_esc_cycle_time
    }

    pub fn set_self_esc_cycle_time(&mut self, value: i16) {
        self.self_esc_cycle_time = value;
    }

    pub fn sphere_cast_radius_rate_top(&self) -> i16 {
        self.sphere_cast_radius_rate_top
    }

    pub fn set_sphere_cast_radius_rate_top(&mut self, value: i16) {
        self.sphere_cast_radius_rate_top = value;
    }

    pub fn sphere_cast_radius_rate_low(&self) -> i16 {
        self.sphere_cast_radius_rate_low
    }

    pub fn set_sphere_cast_radius_rate_low(&mut self, value: i16) {
        self.sphere_cast_radius_rate_low = value;
    }

    pub fn atk_enable_state(&self) -> u8 {
        self.atk_enable_state
    }

    pub fn set_atk_enable_state(&mut self, value: u8) {
        self.atk_enable_state = value;
    }

    pub fn throw_following_type(&self) -> u8 {
        self.throw_following_type
    }

    pub fn set_throw_following_type(&mut self, value: u8) {
        self.throw_following_type = value;
    }

    pub fn throw_type(&self) -> u8 {
        self.throw_type
    }

    pub fn set_throw_type(&mut self, value: u8) {
        self.throw_type = value;
    }

    pub fn self_esc_cycle_cnt(&self) -> u8 {
        self.self_esc_cycle_cnt
    }

    pub fn set_self_esc_cycle_cnt(&mut self, value: u8) {
        self.self_esc_cycle_cnt = value;
    }

    pub fn dmy_has_chr_dir_type(&self) -> u8 {
        self.dmy_has_chr_dir_type
    }

    pub fn set_dmy_has_chr_dir_type(&mut self, value: u8) {
        self.dmy_has_chr_dir_type = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_turn_atker(&self) -> u8 {
        (self.bits_3b >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_turn_atker(&mut self, value: u8) {
        self.bits_3b = (self.bits_3b & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_skip_wep_cate(&self) -> u8 {
        (self.bits_3b >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_skip_wep_cate(&mut self, value: u8) {
        self.bits_3b = (self.bits_3b & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_skip_sphere_cast(&self) -> u8 {
        (self.bits_3b >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_skip_sphere_cast(&mut self, value: u8) {
        self.bits_3b = (self.bits_3b & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_correct_pos_for_throw_adjust(&self) -> u8 {
        (self.bits_3b >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_correct_pos_for_throw_adjust(&mut self, value: u8) {
        self.bits_3b = (self.bits_3b & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_throw_following_fall_assist(&self) -> u8 {
        (self.bits_3b >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_throw_following_fall_assist(&mut self, value: u8) {
        self.bits_3b = (self.bits_3b & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_throw_following_feedback(&self) -> u8 {
        (self.bits_3b >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_throw_following_feedback(&mut self, value: u8) {
        self.bits_3b = (self.bits_3b & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    pub fn atk_sorb_dmy_id(&self) -> i16 {
        self.atk_sorb_dmy_id
    }

    pub fn set_atk_sorb_dmy_id(&mut self, value: i16) {
        self.atk_sorb_dmy_id = value;
    }

    pub fn def_sorb_dmy_id(&self) -> i16 {
        self.def_sorb_dmy_id
    }

    pub fn set_def_sorb_dmy_id(&mut self, value: i16) {
        self.def_sorb_dmy_id = value;
    }

    pub fn dist_start(&self) -> f32 {
        self.dist_start
    }

    pub fn set_dist_start(&mut self, value: f32) {
        self.dist_start = value;
    }

    pub fn diff_ang_min_start(&self) -> f32 {
        self.diff_ang_min_start
    }

    pub fn set_diff_ang_min_start(&mut self, value: f32) {
        self.diff_ang_min_start = value;
    }

    pub fn diff_ang_max_start(&self) -> f32 {
        self.diff_ang_max_start
    }

    pub fn set_diff_ang_max_start(&mut self, value: f32) {
        self.diff_ang_max_start = value;
    }

    pub fn upper_y_range_start(&self) -> f32 {
        self.upper_y_range_start
    }

    pub fn set_upper_y_range_start(&mut self, value: f32) {
        self.upper_y_range_start = value;
    }

    pub fn lower_y_range_start(&self) -> f32 {
        self.lower_y_range_start
    }

    pub fn set_lower_y_range_start(&mut self, value: f32) {
        self.lower_y_range_start = value;
    }

    pub fn diff_ang_my_to_def_start(&self) -> f32 {
        self.diff_ang_my_to_def_start
    }

    pub fn set_diff_ang_my_to_def_start(&mut self, value: f32) {
        self.diff_ang_my_to_def_start = value;
    }

    pub fn judge_range_base_pos_dmy_id1(&self) -> i32 {
        self.judge_range_base_pos_dmy_id1
    }

    pub fn set_judge_range_base_pos_dmy_id1(&mut self, value: i32) {
        self.judge_range_base_pos_dmy_id1 = value;
    }

    pub fn judge_range_base_pos_dmy_id2(&self) -> i32 {
        self.judge_range_base_pos_dmy_id2
    }

    pub fn set_judge_range_base_pos_dmy_id2(&mut self, value: i32) {
        self.judge_range_base_pos_dmy_id2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct TOUGHNESS_PARAM_ST {
    correction_rate: f32,
    min_toughness: u16,
    is_non_effective_correction_for_min: u8,
    pad2: [u8; 1],
    sp_effect_id: i32,
    pad1: [u8; 20],
}

impl ParamDef for TOUGHNESS_PARAM_ST {
    const NAME: &str = "TOUGHNESS_PARAM_ST";
    const INDEX: usize = 91;
}

impl TOUGHNESS_PARAM_ST {
    pub fn correction_rate(&self) -> f32 {
        self.correction_rate
    }

    pub fn set_correction_rate(&mut self, value: f32) {
        self.correction_rate = value;
    }

    pub fn min_toughness(&self) -> u16 {
        self.min_toughness
    }

    pub fn set_min_toughness(&mut self, value: u16) {
        self.min_toughness = value;
    }

    pub fn is_non_effective_correction_for_min(&self) -> u8 {
        self.is_non_effective_correction_for_min
    }

    pub fn set_is_non_effective_correction_for_min(&mut self, value: u8) {
        self.is_non_effective_correction_for_min = value;
    }

    pub fn sp_effect_id(&self) -> i32 {
        self.sp_effect_id
    }

    pub fn set_sp_effect_id(&mut self, value: i32) {
        self.sp_effect_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct UPPER_ARM_PARAM_ST {
    arm_z0: f32,
    arm_xy0: f32,
    arm_z1: f32,
    arm_xy1: f32,
    arm_z2: f32,
    arm_xy2: f32,
    arm_z3: f32,
    arm_xy3: f32,
    arm_z4: f32,
    arm_xy4: f32,
    arm_z5: f32,
    arm_xy5: f32,
    arm_z6: f32,
    arm_xy6: f32,
    arm_z7: f32,
    arm_xy7: f32,
    arm_z8: f32,
    arm_xy8: f32,
    arm_z9: f32,
    arm_xy9: f32,
    pad1: [u8; 48],
}

impl ParamDef for UPPER_ARM_PARAM_ST {
    const NAME: &str = "UPPER_ARM_PARAM_ST";
    const INDEX: usize = 92;
}

impl UPPER_ARM_PARAM_ST {
    pub fn arm_z0(&self) -> f32 {
        self.arm_z0
    }

    pub fn set_arm_z0(&mut self, value: f32) {
        self.arm_z0 = value;
    }

    pub fn arm_xy0(&self) -> f32 {
        self.arm_xy0
    }

    pub fn set_arm_xy0(&mut self, value: f32) {
        self.arm_xy0 = value;
    }

    pub fn arm_z1(&self) -> f32 {
        self.arm_z1
    }

    pub fn set_arm_z1(&mut self, value: f32) {
        self.arm_z1 = value;
    }

    pub fn arm_xy1(&self) -> f32 {
        self.arm_xy1
    }

    pub fn set_arm_xy1(&mut self, value: f32) {
        self.arm_xy1 = value;
    }

    pub fn arm_z2(&self) -> f32 {
        self.arm_z2
    }

    pub fn set_arm_z2(&mut self, value: f32) {
        self.arm_z2 = value;
    }

    pub fn arm_xy2(&self) -> f32 {
        self.arm_xy2
    }

    pub fn set_arm_xy2(&mut self, value: f32) {
        self.arm_xy2 = value;
    }

    pub fn arm_z3(&self) -> f32 {
        self.arm_z3
    }

    pub fn set_arm_z3(&mut self, value: f32) {
        self.arm_z3 = value;
    }

    pub fn arm_xy3(&self) -> f32 {
        self.arm_xy3
    }

    pub fn set_arm_xy3(&mut self, value: f32) {
        self.arm_xy3 = value;
    }

    pub fn arm_z4(&self) -> f32 {
        self.arm_z4
    }

    pub fn set_arm_z4(&mut self, value: f32) {
        self.arm_z4 = value;
    }

    pub fn arm_xy4(&self) -> f32 {
        self.arm_xy4
    }

    pub fn set_arm_xy4(&mut self, value: f32) {
        self.arm_xy4 = value;
    }

    pub fn arm_z5(&self) -> f32 {
        self.arm_z5
    }

    pub fn set_arm_z5(&mut self, value: f32) {
        self.arm_z5 = value;
    }

    pub fn arm_xy5(&self) -> f32 {
        self.arm_xy5
    }

    pub fn set_arm_xy5(&mut self, value: f32) {
        self.arm_xy5 = value;
    }

    pub fn arm_z6(&self) -> f32 {
        self.arm_z6
    }

    pub fn set_arm_z6(&mut self, value: f32) {
        self.arm_z6 = value;
    }

    pub fn arm_xy6(&self) -> f32 {
        self.arm_xy6
    }

    pub fn set_arm_xy6(&mut self, value: f32) {
        self.arm_xy6 = value;
    }

    pub fn arm_z7(&self) -> f32 {
        self.arm_z7
    }

    pub fn set_arm_z7(&mut self, value: f32) {
        self.arm_z7 = value;
    }

    pub fn arm_xy7(&self) -> f32 {
        self.arm_xy7
    }

    pub fn set_arm_xy7(&mut self, value: f32) {
        self.arm_xy7 = value;
    }

    pub fn arm_z8(&self) -> f32 {
        self.arm_z8
    }

    pub fn set_arm_z8(&mut self, value: f32) {
        self.arm_z8 = value;
    }

    pub fn arm_xy8(&self) -> f32 {
        self.arm_xy8
    }

    pub fn set_arm_xy8(&mut self, value: f32) {
        self.arm_xy8 = value;
    }

    pub fn arm_z9(&self) -> f32 {
        self.arm_z9
    }

    pub fn set_arm_z9(&mut self, value: f32) {
        self.arm_z9 = value;
    }

    pub fn arm_xy9(&self) -> f32 {
        self.arm_xy9
    }

    pub fn set_arm_xy9(&mut self, value: f32) {
        self.arm_xy9 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WEAPON_GEN_PARAM_ST {
    wep_param_id: i32,
    gem_slot_type_0: i32,
    gem_gen_id0: i32,
    gem_slot_type_1: i32,
    gem_gen_id1: i32,
    gem_slot_type_2: i32,
    gem_gen_id2: i32,
    gem_slot_type_3: i32,
    gem_gen_id3: i32,
    gem_slot_type_4: i32,
    gem_gen_id4: i32,
}

impl ParamDef for WEAPON_GEN_PARAM_ST {
    const NAME: &str = "WEAPON_GEN_PARAM_ST";
    const INDEX: usize = 93;
}

impl WEAPON_GEN_PARAM_ST {
    pub fn wep_param_id(&self) -> i32 {
        self.wep_param_id
    }

    pub fn set_wep_param_id(&mut self, value: i32) {
        self.wep_param_id = value;
    }

    pub fn gem_slot_type_0(&self) -> i32 {
        self.gem_slot_type_0
    }

    pub fn set_gem_slot_type_0(&mut self, value: i32) {
        self.gem_slot_type_0 = value;
    }

    pub fn gem_gen_id0(&self) -> i32 {
        self.gem_gen_id0
    }

    pub fn set_gem_gen_id0(&mut self, value: i32) {
        self.gem_gen_id0 = value;
    }

    pub fn gem_slot_type_1(&self) -> i32 {
        self.gem_slot_type_1
    }

    pub fn set_gem_slot_type_1(&mut self, value: i32) {
        self.gem_slot_type_1 = value;
    }

    pub fn gem_gen_id1(&self) -> i32 {
        self.gem_gen_id1
    }

    pub fn set_gem_gen_id1(&mut self, value: i32) {
        self.gem_gen_id1 = value;
    }

    pub fn gem_slot_type_2(&self) -> i32 {
        self.gem_slot_type_2
    }

    pub fn set_gem_slot_type_2(&mut self, value: i32) {
        self.gem_slot_type_2 = value;
    }

    pub fn gem_gen_id2(&self) -> i32 {
        self.gem_gen_id2
    }

    pub fn set_gem_gen_id2(&mut self, value: i32) {
        self.gem_gen_id2 = value;
    }

    pub fn gem_slot_type_3(&self) -> i32 {
        self.gem_slot_type_3
    }

    pub fn set_gem_slot_type_3(&mut self, value: i32) {
        self.gem_slot_type_3 = value;
    }

    pub fn gem_gen_id3(&self) -> i32 {
        self.gem_gen_id3
    }

    pub fn set_gem_gen_id3(&mut self, value: i32) {
        self.gem_gen_id3 = value;
    }

    pub fn gem_slot_type_4(&self) -> i32 {
        self.gem_slot_type_4
    }

    pub fn set_gem_slot_type_4(&mut self, value: i32) {
        self.gem_slot_type_4 = value;
    }

    pub fn gem_gen_id4(&self) -> i32 {
        self.gem_gen_id4
    }

    pub fn set_gem_gen_id4(&mut self, value: i32) {
        self.gem_gen_id4 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WEP_ABSORP_POS_PARAM_ST {
    hang_pos_type: u8,
    is_skeleton_bind: u8,
    pad0: [u8; 2],
    right_0: i16,
    left_0: i16,
    both_0: i16,
    left_hang_0: i16,
    right_hang_0: i16,
    right_1: i16,
    left_1: i16,
    both_1: i16,
    left_hang_1: i16,
    right_hang_1: i16,
    right_2: i16,
    left_2: i16,
    both_2: i16,
    left_hang_2: i16,
    right_hang_2: i16,
    right_3: i16,
    left_3: i16,
    both_3: i16,
    left_hang_3: i16,
    right_hang_3: i16,
    wep_invisible_type_0: u8,
    wep_invisible_type_1: u8,
    wep_invisible_type_2: u8,
    wep_invisible_type_3: u8,
    left_both_0: i16,
    left_both_1: i16,
    left_both_2: i16,
    left_both_3: i16,
    disp_pos_type_right_0: u8,
    disp_pos_type_left_0: u8,
    disp_pos_type_right_both_0: u8,
    disp_pos_type_left_both_0: u8,
    disp_pos_type_right_hang_0: u8,
    disp_pos_type_left_hang_0: u8,
    disp_pos_type_right_1: u8,
    disp_pos_type_left_1: u8,
    disp_pos_type_right_both_1: u8,
    disp_pos_type_left_both_1: u8,
    disp_pos_type_right_hang_1: u8,
    disp_pos_type_left_hang_1: u8,
    disp_pos_type_right_2: u8,
    disp_pos_type_left_2: u8,
    disp_pos_type_right_both_2: u8,
    disp_pos_type_left_both_2: u8,
    disp_pos_type_right_hang_2: u8,
    disp_pos_type_left_hang_2: u8,
    disp_pos_type_right_3: u8,
    disp_pos_type_left_3: u8,
    disp_pos_type_right_both_3: u8,
    disp_pos_type_left_both_3: u8,
    disp_pos_type_right_hang_3: u8,
    disp_pos_type_left_hang_3: u8,
    reserve: [u8; 16],
}

impl ParamDef for WEP_ABSORP_POS_PARAM_ST {
    const NAME: &str = "WEP_ABSORP_POS_PARAM_ST";
    const INDEX: usize = 94;
}

impl WEP_ABSORP_POS_PARAM_ST {
    pub fn hang_pos_type(&self) -> u8 {
        self.hang_pos_type
    }

    pub fn set_hang_pos_type(&mut self, value: u8) {
        self.hang_pos_type = value;
    }

    pub fn is_skeleton_bind(&self) -> u8 {
        self.is_skeleton_bind
    }

    pub fn set_is_skeleton_bind(&mut self, value: u8) {
        self.is_skeleton_bind = value;
    }

    pub fn right_0(&self) -> i16 {
        self.right_0
    }

    pub fn set_right_0(&mut self, value: i16) {
        self.right_0 = value;
    }

    pub fn left_0(&self) -> i16 {
        self.left_0
    }

    pub fn set_left_0(&mut self, value: i16) {
        self.left_0 = value;
    }

    pub fn both_0(&self) -> i16 {
        self.both_0
    }

    pub fn set_both_0(&mut self, value: i16) {
        self.both_0 = value;
    }

    pub fn left_hang_0(&self) -> i16 {
        self.left_hang_0
    }

    pub fn set_left_hang_0(&mut self, value: i16) {
        self.left_hang_0 = value;
    }

    pub fn right_hang_0(&self) -> i16 {
        self.right_hang_0
    }

    pub fn set_right_hang_0(&mut self, value: i16) {
        self.right_hang_0 = value;
    }

    pub fn right_1(&self) -> i16 {
        self.right_1
    }

    pub fn set_right_1(&mut self, value: i16) {
        self.right_1 = value;
    }

    pub fn left_1(&self) -> i16 {
        self.left_1
    }

    pub fn set_left_1(&mut self, value: i16) {
        self.left_1 = value;
    }

    pub fn both_1(&self) -> i16 {
        self.both_1
    }

    pub fn set_both_1(&mut self, value: i16) {
        self.both_1 = value;
    }

    pub fn left_hang_1(&self) -> i16 {
        self.left_hang_1
    }

    pub fn set_left_hang_1(&mut self, value: i16) {
        self.left_hang_1 = value;
    }

    pub fn right_hang_1(&self) -> i16 {
        self.right_hang_1
    }

    pub fn set_right_hang_1(&mut self, value: i16) {
        self.right_hang_1 = value;
    }

    pub fn right_2(&self) -> i16 {
        self.right_2
    }

    pub fn set_right_2(&mut self, value: i16) {
        self.right_2 = value;
    }

    pub fn left_2(&self) -> i16 {
        self.left_2
    }

    pub fn set_left_2(&mut self, value: i16) {
        self.left_2 = value;
    }

    pub fn both_2(&self) -> i16 {
        self.both_2
    }

    pub fn set_both_2(&mut self, value: i16) {
        self.both_2 = value;
    }

    pub fn left_hang_2(&self) -> i16 {
        self.left_hang_2
    }

    pub fn set_left_hang_2(&mut self, value: i16) {
        self.left_hang_2 = value;
    }

    pub fn right_hang_2(&self) -> i16 {
        self.right_hang_2
    }

    pub fn set_right_hang_2(&mut self, value: i16) {
        self.right_hang_2 = value;
    }

    pub fn right_3(&self) -> i16 {
        self.right_3
    }

    pub fn set_right_3(&mut self, value: i16) {
        self.right_3 = value;
    }

    pub fn left_3(&self) -> i16 {
        self.left_3
    }

    pub fn set_left_3(&mut self, value: i16) {
        self.left_3 = value;
    }

    pub fn both_3(&self) -> i16 {
        self.both_3
    }

    pub fn set_both_3(&mut self, value: i16) {
        self.both_3 = value;
    }

    pub fn left_hang_3(&self) -> i16 {
        self.left_hang_3
    }

    pub fn set_left_hang_3(&mut self, value: i16) {
        self.left_hang_3 = value;
    }

    pub fn right_hang_3(&self) -> i16 {
        self.right_hang_3
    }

    pub fn set_right_hang_3(&mut self, value: i16) {
        self.right_hang_3 = value;
    }

    pub fn wep_invisible_type_0(&self) -> u8 {
        self.wep_invisible_type_0
    }

    pub fn set_wep_invisible_type_0(&mut self, value: u8) {
        self.wep_invisible_type_0 = value;
    }

    pub fn wep_invisible_type_1(&self) -> u8 {
        self.wep_invisible_type_1
    }

    pub fn set_wep_invisible_type_1(&mut self, value: u8) {
        self.wep_invisible_type_1 = value;
    }

    pub fn wep_invisible_type_2(&self) -> u8 {
        self.wep_invisible_type_2
    }

    pub fn set_wep_invisible_type_2(&mut self, value: u8) {
        self.wep_invisible_type_2 = value;
    }

    pub fn wep_invisible_type_3(&self) -> u8 {
        self.wep_invisible_type_3
    }

    pub fn set_wep_invisible_type_3(&mut self, value: u8) {
        self.wep_invisible_type_3 = value;
    }

    pub fn left_both_0(&self) -> i16 {
        self.left_both_0
    }

    pub fn set_left_both_0(&mut self, value: i16) {
        self.left_both_0 = value;
    }

    pub fn left_both_1(&self) -> i16 {
        self.left_both_1
    }

    pub fn set_left_both_1(&mut self, value: i16) {
        self.left_both_1 = value;
    }

    pub fn left_both_2(&self) -> i16 {
        self.left_both_2
    }

    pub fn set_left_both_2(&mut self, value: i16) {
        self.left_both_2 = value;
    }

    pub fn left_both_3(&self) -> i16 {
        self.left_both_3
    }

    pub fn set_left_both_3(&mut self, value: i16) {
        self.left_both_3 = value;
    }

    pub fn disp_pos_type_right_0(&self) -> u8 {
        self.disp_pos_type_right_0
    }

    pub fn set_disp_pos_type_right_0(&mut self, value: u8) {
        self.disp_pos_type_right_0 = value;
    }

    pub fn disp_pos_type_left_0(&self) -> u8 {
        self.disp_pos_type_left_0
    }

    pub fn set_disp_pos_type_left_0(&mut self, value: u8) {
        self.disp_pos_type_left_0 = value;
    }

    pub fn disp_pos_type_right_both_0(&self) -> u8 {
        self.disp_pos_type_right_both_0
    }

    pub fn set_disp_pos_type_right_both_0(&mut self, value: u8) {
        self.disp_pos_type_right_both_0 = value;
    }

    pub fn disp_pos_type_left_both_0(&self) -> u8 {
        self.disp_pos_type_left_both_0
    }

    pub fn set_disp_pos_type_left_both_0(&mut self, value: u8) {
        self.disp_pos_type_left_both_0 = value;
    }

    pub fn disp_pos_type_right_hang_0(&self) -> u8 {
        self.disp_pos_type_right_hang_0
    }

    pub fn set_disp_pos_type_right_hang_0(&mut self, value: u8) {
        self.disp_pos_type_right_hang_0 = value;
    }

    pub fn disp_pos_type_left_hang_0(&self) -> u8 {
        self.disp_pos_type_left_hang_0
    }

    pub fn set_disp_pos_type_left_hang_0(&mut self, value: u8) {
        self.disp_pos_type_left_hang_0 = value;
    }

    pub fn disp_pos_type_right_1(&self) -> u8 {
        self.disp_pos_type_right_1
    }

    pub fn set_disp_pos_type_right_1(&mut self, value: u8) {
        self.disp_pos_type_right_1 = value;
    }

    pub fn disp_pos_type_left_1(&self) -> u8 {
        self.disp_pos_type_left_1
    }

    pub fn set_disp_pos_type_left_1(&mut self, value: u8) {
        self.disp_pos_type_left_1 = value;
    }

    pub fn disp_pos_type_right_both_1(&self) -> u8 {
        self.disp_pos_type_right_both_1
    }

    pub fn set_disp_pos_type_right_both_1(&mut self, value: u8) {
        self.disp_pos_type_right_both_1 = value;
    }

    pub fn disp_pos_type_left_both_1(&self) -> u8 {
        self.disp_pos_type_left_both_1
    }

    pub fn set_disp_pos_type_left_both_1(&mut self, value: u8) {
        self.disp_pos_type_left_both_1 = value;
    }

    pub fn disp_pos_type_right_hang_1(&self) -> u8 {
        self.disp_pos_type_right_hang_1
    }

    pub fn set_disp_pos_type_right_hang_1(&mut self, value: u8) {
        self.disp_pos_type_right_hang_1 = value;
    }

    pub fn disp_pos_type_left_hang_1(&self) -> u8 {
        self.disp_pos_type_left_hang_1
    }

    pub fn set_disp_pos_type_left_hang_1(&mut self, value: u8) {
        self.disp_pos_type_left_hang_1 = value;
    }

    pub fn disp_pos_type_right_2(&self) -> u8 {
        self.disp_pos_type_right_2
    }

    pub fn set_disp_pos_type_right_2(&mut self, value: u8) {
        self.disp_pos_type_right_2 = value;
    }

    pub fn disp_pos_type_left_2(&self) -> u8 {
        self.disp_pos_type_left_2
    }

    pub fn set_disp_pos_type_left_2(&mut self, value: u8) {
        self.disp_pos_type_left_2 = value;
    }

    pub fn disp_pos_type_right_both_2(&self) -> u8 {
        self.disp_pos_type_right_both_2
    }

    pub fn set_disp_pos_type_right_both_2(&mut self, value: u8) {
        self.disp_pos_type_right_both_2 = value;
    }

    pub fn disp_pos_type_left_both_2(&self) -> u8 {
        self.disp_pos_type_left_both_2
    }

    pub fn set_disp_pos_type_left_both_2(&mut self, value: u8) {
        self.disp_pos_type_left_both_2 = value;
    }

    pub fn disp_pos_type_right_hang_2(&self) -> u8 {
        self.disp_pos_type_right_hang_2
    }

    pub fn set_disp_pos_type_right_hang_2(&mut self, value: u8) {
        self.disp_pos_type_right_hang_2 = value;
    }

    pub fn disp_pos_type_left_hang_2(&self) -> u8 {
        self.disp_pos_type_left_hang_2
    }

    pub fn set_disp_pos_type_left_hang_2(&mut self, value: u8) {
        self.disp_pos_type_left_hang_2 = value;
    }

    pub fn disp_pos_type_right_3(&self) -> u8 {
        self.disp_pos_type_right_3
    }

    pub fn set_disp_pos_type_right_3(&mut self, value: u8) {
        self.disp_pos_type_right_3 = value;
    }

    pub fn disp_pos_type_left_3(&self) -> u8 {
        self.disp_pos_type_left_3
    }

    pub fn set_disp_pos_type_left_3(&mut self, value: u8) {
        self.disp_pos_type_left_3 = value;
    }

    pub fn disp_pos_type_right_both_3(&self) -> u8 {
        self.disp_pos_type_right_both_3
    }

    pub fn set_disp_pos_type_right_both_3(&mut self, value: u8) {
        self.disp_pos_type_right_both_3 = value;
    }

    pub fn disp_pos_type_left_both_3(&self) -> u8 {
        self.disp_pos_type_left_both_3
    }

    pub fn set_disp_pos_type_left_both_3(&mut self, value: u8) {
        self.disp_pos_type_left_both_3 = value;
    }

    pub fn disp_pos_type_right_hang_3(&self) -> u8 {
        self.disp_pos_type_right_hang_3
    }

    pub fn set_disp_pos_type_right_hang_3(&mut self, value: u8) {
        self.disp_pos_type_right_hang_3 = value;
    }

    pub fn disp_pos_type_left_hang_3(&self) -> u8 {
        self.disp_pos_type_left_hang_3
    }

    pub fn set_disp_pos_type_left_hang_3(&mut self, value: u8) {
        self.disp_pos_type_left_hang_3 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WET_ASPECT_PARAM_ST {
    base_color_r: u8,
    base_color_g: u8,
    base_color_b: u8,
    reserve_0: [u8; 1],
    base_color_a: f32,
    metallic: u8,
    reserve_1: [u8; 1],
    reserve_2: [u8; 1],
    reserve_3: [u8; 1],
    metallic_rate: f32,
    shininess_rate: f32,
    shininess: u8,
    reserve_4: [u8; 11],
}

impl ParamDef for WET_ASPECT_PARAM_ST {
    const NAME: &str = "WET_ASPECT_PARAM_ST";
    const INDEX: usize = 95;
}

impl WET_ASPECT_PARAM_ST {
    pub fn base_color_r(&self) -> u8 {
        self.base_color_r
    }

    pub fn set_base_color_r(&mut self, value: u8) {
        self.base_color_r = value;
    }

    pub fn base_color_g(&self) -> u8 {
        self.base_color_g
    }

    pub fn set_base_color_g(&mut self, value: u8) {
        self.base_color_g = value;
    }

    pub fn base_color_b(&self) -> u8 {
        self.base_color_b
    }

    pub fn set_base_color_b(&mut self, value: u8) {
        self.base_color_b = value;
    }

    pub fn base_color_a(&self) -> f32 {
        self.base_color_a
    }

    pub fn set_base_color_a(&mut self, value: f32) {
        self.base_color_a = value;
    }

    pub fn metallic(&self) -> u8 {
        self.metallic
    }

    pub fn set_metallic(&mut self, value: u8) {
        self.metallic = value;
    }

    pub fn metallic_rate(&self) -> f32 {
        self.metallic_rate
    }

    pub fn set_metallic_rate(&mut self, value: f32) {
        self.metallic_rate = value;
    }

    pub fn shininess_rate(&self) -> f32 {
        self.shininess_rate
    }

    pub fn set_shininess_rate(&mut self, value: f32) {
        self.shininess_rate = value;
    }

    pub fn shininess(&self) -> u8 {
        self.shininess
    }

    pub fn set_shininess(&mut self, value: u8) {
        self.shininess = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WHITE_SIGN_COOL_TIME_PARAM_ST {
    time_limit0: f32,
    time_limit1: f32,
    time_limit2: f32,
    time_limit3: f32,
}

impl ParamDef for WHITE_SIGN_COOL_TIME_PARAM_ST {
    const NAME: &str = "WHITE_SIGN_COOL_TIME_PARAM_ST";
    const INDEX: usize = 96;
}

impl WHITE_SIGN_COOL_TIME_PARAM_ST {
    pub fn time_limit0(&self) -> f32 {
        self.time_limit0
    }

    pub fn set_time_limit0(&mut self, value: f32) {
        self.time_limit0 = value;
    }

    pub fn time_limit1(&self) -> f32 {
        self.time_limit1
    }

    pub fn set_time_limit1(&mut self, value: f32) {
        self.time_limit1 = value;
    }

    pub fn time_limit2(&self) -> f32 {
        self.time_limit2
    }

    pub fn set_time_limit2(&mut self, value: f32) {
        self.time_limit2 = value;
    }

    pub fn time_limit3(&self) -> f32 {
        self.time_limit3
    }

    pub fn set_time_limit3(&mut self, value: f32) {
        self.time_limit3 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WIND_PARAM_ST {
    common_capsule_begin_dmy_id: i16,
    common_capsule_end_dmy_id: i16,
    common_capsule_radius: f32,
    pad1: [u8; 120],
    bits_80: u8,
    pad2: [u8; 3],
    sfx_dir_pitch_min: f32,
    sfx_dir_pitch_max: f32,
    sfx_dir_yaw_min: f32,
    sfx_dir_yaw_max: f32,
    sfx_cycle_min: f32,
    sfx_cycle_max: f32,
    sfx_speed_min: f32,
    sfx_speed_max: f32,
    sfx_maximum_drag: f32,
    pad3: [u8; 88],
    bits_100: u8,
    pad4: [u8; 3],
    cloth_dir_pitch_min: f32,
    cloth_dir_pitch_max: f32,
    cloth_dir_yaw_min: f32,
    cloth_dir_yaw_max: f32,
    cloth_cycle_min: f32,
    cloth_cycle_max: f32,
    cloth_speed_min: f32,
    cloth_speed_max: f32,
    cloth_maximum_drag: f32,
    pad5: [u8; 88],
}

impl ParamDef for WIND_PARAM_ST {
    const NAME: &str = "WIND_PARAM_ST";
    const INDEX: usize = 97;
}

impl WIND_PARAM_ST {
    pub fn common_capsule_begin_dmy_id(&self) -> i16 {
        self.common_capsule_begin_dmy_id
    }

    pub fn set_common_capsule_begin_dmy_id(&mut self, value: i16) {
        self.common_capsule_begin_dmy_id = value;
    }

    pub fn common_capsule_end_dmy_id(&self) -> i16 {
        self.common_capsule_end_dmy_id
    }

    pub fn set_common_capsule_end_dmy_id(&mut self, value: i16) {
        self.common_capsule_end_dmy_id = value;
    }

    pub fn common_capsule_radius(&self) -> f32 {
        self.common_capsule_radius
    }

    pub fn set_common_capsule_radius(&mut self, value: f32) {
        self.common_capsule_radius = value;
    }

    #[allow(clippy::identity_op)]
    pub fn sfx_wind_enable(&self) -> u8 {
        (self.bits_80 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_sfx_wind_enable(&mut self, value: u8) {
        self.bits_80 = (self.bits_80 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn sfx_ignore_player_sfx(&self) -> u8 {
        (self.bits_80 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_sfx_ignore_player_sfx(&mut self, value: u8) {
        self.bits_80 = (self.bits_80 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn sfx_is_collision(&self) -> u8 {
        (self.bits_80 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_sfx_is_collision(&mut self, value: u8) {
        self.bits_80 = (self.bits_80 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    pub fn sfx_dir_pitch_min(&self) -> f32 {
        self.sfx_dir_pitch_min
    }

    pub fn set_sfx_dir_pitch_min(&mut self, value: f32) {
        self.sfx_dir_pitch_min = value;
    }

    pub fn sfx_dir_pitch_max(&self) -> f32 {
        self.sfx_dir_pitch_max
    }

    pub fn set_sfx_dir_pitch_max(&mut self, value: f32) {
        self.sfx_dir_pitch_max = value;
    }

    pub fn sfx_dir_yaw_min(&self) -> f32 {
        self.sfx_dir_yaw_min
    }

    pub fn set_sfx_dir_yaw_min(&mut self, value: f32) {
        self.sfx_dir_yaw_min = value;
    }

    pub fn sfx_dir_yaw_max(&self) -> f32 {
        self.sfx_dir_yaw_max
    }

    pub fn set_sfx_dir_yaw_max(&mut self, value: f32) {
        self.sfx_dir_yaw_max = value;
    }

    pub fn sfx_cycle_min(&self) -> f32 {
        self.sfx_cycle_min
    }

    pub fn set_sfx_cycle_min(&mut self, value: f32) {
        self.sfx_cycle_min = value;
    }

    pub fn sfx_cycle_max(&self) -> f32 {
        self.sfx_cycle_max
    }

    pub fn set_sfx_cycle_max(&mut self, value: f32) {
        self.sfx_cycle_max = value;
    }

    pub fn sfx_speed_min(&self) -> f32 {
        self.sfx_speed_min
    }

    pub fn set_sfx_speed_min(&mut self, value: f32) {
        self.sfx_speed_min = value;
    }

    pub fn sfx_speed_max(&self) -> f32 {
        self.sfx_speed_max
    }

    pub fn set_sfx_speed_max(&mut self, value: f32) {
        self.sfx_speed_max = value;
    }

    pub fn sfx_maximum_drag(&self) -> f32 {
        self.sfx_maximum_drag
    }

    pub fn set_sfx_maximum_drag(&mut self, value: f32) {
        self.sfx_maximum_drag = value;
    }

    #[allow(clippy::identity_op)]
    pub fn cloth_wind_enable(&self) -> u8 {
        (self.bits_100 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cloth_wind_enable(&mut self, value: u8) {
        self.bits_100 = (self.bits_100 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn cloth_vertex_wind(&self) -> u8 {
        (self.bits_100 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cloth_vertex_wind(&mut self, value: u8) {
        self.bits_100 = (self.bits_100 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    pub fn cloth_dir_pitch_min(&self) -> f32 {
        self.cloth_dir_pitch_min
    }

    pub fn set_cloth_dir_pitch_min(&mut self, value: f32) {
        self.cloth_dir_pitch_min = value;
    }

    pub fn cloth_dir_pitch_max(&self) -> f32 {
        self.cloth_dir_pitch_max
    }

    pub fn set_cloth_dir_pitch_max(&mut self, value: f32) {
        self.cloth_dir_pitch_max = value;
    }

    pub fn cloth_dir_yaw_min(&self) -> f32 {
        self.cloth_dir_yaw_min
    }

    pub fn set_cloth_dir_yaw_min(&mut self, value: f32) {
        self.cloth_dir_yaw_min = value;
    }

    pub fn cloth_dir_yaw_max(&self) -> f32 {
        self.cloth_dir_yaw_max
    }

    pub fn set_cloth_dir_yaw_max(&mut self, value: f32) {
        self.cloth_dir_yaw_max = value;
    }

    pub fn cloth_cycle_min(&self) -> f32 {
        self.cloth_cycle_min
    }

    pub fn set_cloth_cycle_min(&mut self, value: f32) {
        self.cloth_cycle_min = value;
    }

    pub fn cloth_cycle_max(&self) -> f32 {
        self.cloth_cycle_max
    }

    pub fn set_cloth_cycle_max(&mut self, value: f32) {
        self.cloth_cycle_max = value;
    }

    pub fn cloth_speed_min(&self) -> f32 {
        self.cloth_speed_min
    }

    pub fn set_cloth_speed_min(&mut self, value: f32) {
        self.cloth_speed_min = value;
    }

    pub fn cloth_speed_max(&self) -> f32 {
        self.cloth_speed_max
    }

    pub fn set_cloth_speed_max(&mut self, value: f32) {
        self.cloth_speed_max = value;
    }

    pub fn cloth_maximum_drag(&self) -> f32 {
        self.cloth_maximum_drag
    }

    pub fn set_cloth_maximum_drag(&mut self, value: f32) {
        self.cloth_maximum_drag = value;
    }
}
