//! 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;
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ACROSS_DAY_CORRECT_PARAM_ST {
    unknown_0a: u8,
    unknown_0b: u8,
    unknown_0c: u8,
    unknown_0d: u8,
    unknown_1: f32,
    unknown_2: f32,
    unknown_3: f32,
    unknown_4: f32,
    unknown_5: f32,
    unknown_6: f32,
    unknown_7: f32,
    unknown_8: f32,
    unknown_9: f32,
    unknown_10: f32,
    unknown_11: f32,
    unknown_12: f32,
    padding_1: [u8; 20],
    unknown_18: f32,
    unknown_19: f32,
    unknown_20: f32,
    unknown_21: f32,
    unknown_22: f32,
    unknown_23: f32,
    unknown_24: f32,
    unknown_25: f32,
    unknown_26: f32,
    unknown_27: f32,
    unknown_28: f32,
    unknown_29: f32,
    unknown_30: f32,
    unknown_31: f32,
}

impl ParamDef for ACROSS_DAY_CORRECT_PARAM_ST {
    const NAME: &str = "ACROSS_DAY_CORRECT_PARAM_ST";
}

impl ACROSS_DAY_CORRECT_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ACTIONBUTTON_PARAM_ST {
    region_type: u8,
    category: u8,
    padding1: [u8; 2],
    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,
    spot_dummy_poly: i32,
    text_box_type: u8,
    padding3: [u8; 2],
    bits_33: u8,
    text_id: i32,
    invalid_flag: u32,
    grayout_flag: u32,
    override_action_button_id_for_ride: i32,
    exec_invalid_time: f32,
    unknown_1: f32,
    unknown_2: f32,
    unknown_3: f32,
    padding6: [u8; 28],
}

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

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 category(&self) -> u8 {
        self.category
    }

    pub fn set_category(&mut self, value: u8) {
        self.category = 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 spot_dummy_poly(&self) -> i32 {
        self.spot_dummy_poly
    }

    pub fn set_spot_dummy_poly(&mut self, value: i32) {
        self.spot_dummy_poly = 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;
    }

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

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

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

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

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

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

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

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

    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) -> u32 {
        self.invalid_flag
    }

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

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

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

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

    pub fn set_override_action_button_id_for_ride(&mut self, value: i32) {
        self.override_action_button_id_for_ride = 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;
    }
}

#[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,
    forget_time: f32,
    priority: i32,
    sound_behavior_id: i32,
    ai_sound_level: u8,
    replaning_state: u8,
    pad1: [u8; 6],
}

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

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);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ANTIQUE_STAND_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    icon_id: i32,
    hero_type: u8,
    relic_slot1: u8,
    relic_slot2: u8,
    relic_slot3: u8,
    unlock_flag: i32,
    goods_id: i32,
}

impl ParamDef for ANTIQUE_STAND_PARAM_ST {
    const NAME: &str = "ANTIQUE_STAND_PARAM_ST";
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ASSET_GEOMETORY_PARAM_ST {
    sound_bank_id: i32,
    sound_break_se_id: i32,
    ref_draw_param_id: i32,
    hit_create_type: i8,
    behavior_type: u8,
    collision_type: u8,
    rain_blocking_type: u8,
    hp: i16,
    defense: u16,
    break_stop_time: f32,
    break_sfx_id: i32,
    break_sfx_cp_id: i32,
    break_landing_sfx_id: i32,
    break_bullet_behavior_id: i32,
    break_bullet_cp_id: i32,
    fragment_invisible_wait_time: f32,
    fragment_invisible_time: f32,
    break_ai_sound_id: i32,
    break_item_lot_type: i8,
    anim_break_id_max: u8,
    break_bullet_attribute_damage_type: i8,
    bits_3b: u8,
    bits_3c: u8,
    navimesh_flag: u8,
    burn_bullet_interval: u16,
    cloth_update_dist: f32,
    life_time_for_runtime_create: f32,
    contact_se_id: i32,
    repick_anim_id_offset: i32,
    wind_effect_rate_0: f32,
    wind_effect_rate_1: f32,
    wind_effect_type_0: u8,
    wind_effect_type_1: u8,
    override_material_id: i16,
    auto_create_offset_height: 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_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,
    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_delay_time: f32,
    paint_decal_target_texture_size: u16,
    navimesh_flag_after: u8,
    cam_near_behavior_type: i8,
    break_item_lot_param_id: i32,
    pick_up_action_button_param_id: i32,
    pick_up_item_lot_param_id: i32,
    auto_draw_group_back_face_check: u8,
    auto_draw_group_depth_write: u8,
    auto_draw_group_shadow_test: u8,
    debug_is_height_check_enable: u8,
    hit_carver_cancel_area_flag: u8,
    asset_navimesh_no_combine: u8,
    navimesh_flag_apply: u8,
    navimesh_flag_apply_after: u8,
    auto_draw_group_pass_pixel_num: f32,
    pick_up_replacement_event_flag: u32,
    pick_up_replacement_anim_id_offset: i32,
    pick_up_replacement_action_button_param_id: i32,
    pick_up_replacement_item_lot_param_id: i32,
    sliding_bullet_hit_type: u8,
    is_bushes_for_damage: u8,
    penetration_bullet_type: u8,
    unk_r3: u8,
    unk_r4: f32,
    sound_break_se_cp_id: i32,
    debug_height_check_capacity_min: f32,
    debug_height_check_capacity_max: f32,
    repick_action_button_param_id: i32,
    repick_item_lot_param_id: i32,
    repick_replacement_anim_id_offset: i32,
    repick_replacement_action_button_param_id: i32,
    repick_replacement_item_lot_param_id: i32,
    no_generate_carver: u8,
    no_hit_huge_after_break: u8,
    bits_102: u8,
    generate_multi_forbidden_region: u8,
    resident_se_id0: i32,
    resident_se_id1: i32,
    resident_se_id2: i32,
    resident_se_id3: i32,
    resident_se_dmypoly_id0: i16,
    resident_se_dmypoly_id1: i16,
    resident_se_dmypoly_id2: i16,
    resident_se_dmypoly_id3: i16,
    exclude_activate_ratio_xboxone_grid: u8,
    exclude_activate_ratio_xboxone_legacy: u8,
    exclude_activate_ratio_ps4_grid: u8,
    exclude_activate_ratio_ps4_legacy: u8,
    unknown_1: f32,
    reserve_0: [u8; 28],
}

impl ParamDef for ASSET_GEOMETORY_PARAM_ST {
    const NAME: &str = "ASSET_GEOMETORY_PARAM_ST";
}

impl ASSET_GEOMETORY_PARAM_ST {
    pub fn sound_bank_id(&self) -> i32 {
        self.sound_bank_id
    }

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

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

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

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

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

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

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

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

    pub fn set_behavior_type(&mut self, value: u8) {
        self.behavior_type = 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 rain_blocking_type(&self) -> u8 {
        self.rain_blocking_type
    }

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

    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 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 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_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;
    }

    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 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 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 break_item_lot_type(&self) -> i8 {
        self.break_item_lot_type
    }

    pub fn set_break_item_lot_type(&mut self, value: i8) {
        self.break_item_lot_type = 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;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    pub fn set_navimesh_flag(&mut self, value: u8) {
        self.navimesh_flag = 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 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 life_time_for_runtime_create(&self) -> f32 {
        self.life_time_for_runtime_create
    }

    pub fn set_life_time_for_runtime_create(&mut self, value: f32) {
        self.life_time_for_runtime_create = 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 repick_anim_id_offset(&self) -> i32 {
        self.repick_anim_id_offset
    }

    pub fn set_repick_anim_id_offset(&mut self, value: i32) {
        self.repick_anim_id_offset = 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 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 override_material_id(&self) -> i16 {
        self.override_material_id
    }

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

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

    pub fn set_auto_create_offset_height(&mut self, value: f32) {
        self.auto_create_offset_height = 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_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 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_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 paint_decal_target_texture_size(&self) -> u16 {
        self.paint_decal_target_texture_size
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    pub fn pick_up_replacement_event_flag(&self) -> u32 {
        self.pick_up_replacement_event_flag
    }

    pub fn set_pick_up_replacement_event_flag(&mut self, value: u32) {
        self.pick_up_replacement_event_flag = value;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ASSET_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 ASSET_MATERIAL_SFX_PARAM_ST {
    const NAME: &str = "ASSET_MATERIAL_SFX_PARAM_ST";
}

impl ASSET_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 ASSET_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,
    is_disable_iv: u8,
    reserve_7: [u8; 7],
}

impl ParamDef for ASSET_MODEL_SFX_PARAM_ST {
    const NAME: &str = "ASSET_MODEL_SFX_PARAM_ST";
}

impl ASSET_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;
    }

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

    pub fn set_is_disable_iv(&mut self, value: u8) {
        self.is_disable_iv = 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_effect_id0: i32,
    sp_effect_id1: i32,
    sp_effect_id2: i32,
    sp_effect_id3: i32,
    sp_effect_id4: 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,
    sub_category1: u8,
    sub_category2: u8,
    atk_phys: u16,
    atk_mag: u16,
    atk_fire: u16,
    atk_thun: u16,
    atk_stam: u16,
    guard_atk_rate: u16,
    guard_break_rate: u16,
    pad6: [u8; 1],
    is_enable_calc_damage_for_bushes_obj: u8,
    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,
    hti0_priority: u8,
    hti1_priority: u8,
    hti2_priority: u8,
    hti3_priority: u8,
    dmg_level: u8,
    map_hit_type: u8,
    guard_cut_cancel_rate: i8,
    atk_attribute: u8,
    sp_attribute: u8,
    atk_type: u8,
    atk_material: u8,
    guard_range_type: u8,
    def_se_material1: u16,
    hit_source_type: u8,
    throw_flag: u8,
    bits_7e: u8,
    atk_pow_for_sfx: i8,
    atk_dir_for_sfx: i8,
    bits_81: u8,
    atk_behavior_id: u8,
    atk_pow_for_se: i8,
    atk_super_armor: f32,
    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,
    hti4_priority: u8,
    hti5_priority: u8,
    hti6_priority: u8,
    hti7_priority: u8,
    hti8_priority: u8,
    hti9_priority: u8,
    hti10_priority: u8,
    hti11_priority: u8,
    hti12_priority: u8,
    hti13_priority: u8,
    hti14_priority: u8,
    hti15_priority: u8,
    def_sfx_material1: u16,
    def_se_material2: u16,
    def_sfx_material2: u16,
    atk_dark_correction: u16,
    atk_dark: u16,
    bits_18a: u8,
    dmg_level_vs_player: i8,
    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: u16,
    overwrite_attack_element_correct_id: i32,
    decal_base_id1: i16,
    decal_base_id2: i16,
    wep_regain_hp_scale: u16,
    atk_regain_hp: u16,
    regainable_time_scale: f32,
    regainable_hp_rate_scale: f32,
    regainable_slot_id: i8,
    sp_attribute_variation_value: u8,
    parry_forward_offset: i16,
    atk_super_armor_correction: f32,
    def_sfx_material_variation_value: u8,
    unknown_1: i16,
    pad4: [u8; 1],
    final_damage_rate_id: i32,
    revive_damage_correction: i32,
    unknown_3: f32,
    unknown_4: f32,
    unknown_5a: u8,
    unknown_5b: u8,
    unknown_5c: u8,
    unknown_5d: u8,
    pad7_old: [u8; 4],
}

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

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_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 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 sub_category1(&self) -> u8 {
        self.sub_category1
    }

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

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

    pub fn set_sub_category2(&mut self, value: u8) {
        self.sub_category2 = 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 is_enable_calc_damage_for_bushes_obj(&self) -> u8 {
        self.is_enable_calc_damage_for_bushes_obj
    }

    pub fn set_is_enable_calc_damage_for_bushes_obj(&mut self, value: u8) {
        self.is_enable_calc_damage_for_bushes_obj = 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 hti0_priority(&self) -> u8 {
        self.hti0_priority
    }

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

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

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

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

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

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

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

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

    pub fn set_dmg_level(&mut self, value: u8) {
        self.dmg_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 guard_range_type(&self) -> u8 {
        self.guard_range_type
    }

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

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

    pub fn set_def_se_material1(&mut self, value: u16) {
        self.def_se_material1 = 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(&self) -> i8 {
        self.atk_pow_for_sfx
    }

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

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

    pub fn set_atk_dir_for_sfx(&mut self, value: i8) {
        self.atk_dir_for_sfx = 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_check_door_penetration(&self) -> u8 {
        (self.bits_81 >> 3) & 0b00000001
    }

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

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

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

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

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

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

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

    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 atk_pow_for_se(&self) -> i8 {
        self.atk_pow_for_se
    }

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

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

    pub fn set_atk_super_armor(&mut self, value: f32) {
        self.atk_super_armor = 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 hti4_priority(&self) -> u8 {
        self.hti4_priority
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    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 def_se_material2(&self) -> u16 {
        self.def_se_material2
    }

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

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

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

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

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

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

    pub fn set_atk_dark(&mut self, value: u16) {
        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) -> i8 {
        self.dmg_level_vs_player
    }

    pub fn set_dmg_level_vs_player(&mut self, value: i8) {
        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) -> u16 {
        self.status_ailment_atk_power_correct_rate_by_point
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ATTACHEFFECT_FILTER_CATEGORY_PARAM_ST {
    text_id: i32,
    category: i32,
}

impl ParamDef for ATTACHEFFECT_FILTER_CATEGORY_PARAM_ST {
    const NAME: &str = "ATTACHEFFECT_FILTER_CATEGORY_PARAM_ST";
}

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ATTACHEFFECT_FILTER_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    filter_text_id: i32,
    attach_effect_filter_category: i32,
    filter_value: i32,
    event_flag_for_display: i32,
}

impl ParamDef for ATTACHEFFECT_FILTER_PARAM_ST {
    const NAME: &str = "ATTACHEFFECT_FILTER_PARAM_ST";
}

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ATTACHEFFECT_PARAM_ST {
    on_hit_sp_effect: i32,
    unknown_1: i32,
    unknown_2: i32,
    passive_sp_effect_id_1: i32,
    passive_sp_effect_id_2: i32,
    passive_sp_effect_id_3: i32,
    unknown_6: i32,
    attach_text_id: i32,
    bits_20: u8,
    is_debuff: u8,
    unknown_8c: u8,
    unknown_8d: [u8; 1],
    display_percentage_symbol: u8,
    bits_25: u8,
    bits_26: u8,
    unknown_9d: [u8; 1],
    status_icon_id: i32,
    override_base_effect_id: i32,
    displayed_modifier_value: i32,
    override_effect_id: i32,
    attach_filter_param_id: i32,
    exclusivity_id: i32,
    permanent_sp_effect_id: i32,
}

impl ParamDef for ATTACHEFFECT_PARAM_ST {
    const NAME: &str = "ATTACHEFFECT_PARAM_ST";
}

impl ATTACHEFFECT_PARAM_ST {
    pub fn on_hit_sp_effect(&self) -> i32 {
        self.on_hit_sp_effect
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ATTACHEFFECT_TABLE_PARAM_ST {
    unknown_0: i32,
    attach_effect_id: i32,
    chance_weight: i32,
}

impl ParamDef for ATTACHEFFECT_TABLE_PARAM_ST {
    const NAME: &str = "ATTACHEFFECT_TABLE_PARAM_ST";
}

impl ATTACHEFFECT_TABLE_PARAM_ST {
    pub fn attach_effect_id(&self) -> i32 {
        self.attach_effect_id
    }

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

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

    pub fn set_chance_weight(&mut self, value: i32) {
        self.chance_weight = 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";
}

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 AUTO_CREATE_ENV_SOUND_PARAM_ST {
    range_min: f32,
    range_max: f32,
    life_time_min: f32,
    life_time_max: f32,
    delete_dist: f32,
    near_dist: f32,
    limite_rotate_min: f32,
    limite_rotate_max: f32,
}

impl ParamDef for AUTO_CREATE_ENV_SOUND_PARAM_ST {
    const NAME: &str = "AUTO_CREATE_ENV_SOUND_PARAM_ST";
}

impl AUTO_CREATE_ENV_SOUND_PARAM_ST {
    pub fn range_min(&self) -> f32 {
        self.range_min
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    pub fn set_limite_rotate_max(&mut self, value: f32) {
        self.limite_rotate_max = 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,
    pad2: [u8; 2],
    ref_id: i32,
    consume_sa: f32,
    stamina: i32,
    consume_durability: i32,
    category: u8,
    hero_point: u8,
    pad1: [u8; 2],
}

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

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 consume_sa(&self) -> f32 {
        self.consume_sa
    }

    pub fn set_consume_sa(&mut self, value: f32) {
        self.consume_sa = 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 {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    eventflag_id: u32,
    bonfire_entity_id: u32,
    pad4: [u8; 2],
    bonfire_sub_category_sort_id: u16,
    forbidden_icon_id: u16,
    disp_min_zoom_step: u8,
    select_min_zoom_step: u8,
    bonfire_sub_category_id: i32,
    cleared_event_flag_id: u32,
    icon_id: u16,
    bits_1e: u8,
    pad2: [u8; 1],
    area_no: u8,
    grid_x_no: u8,
    grid_z_no: u8,
    pad3: [u8; 1],
    pos_x: f32,
    pos_y: f32,
    pos_z: f32,
    text_id1: i32,
    text_enable_flag_id1: u32,
    text_disable_flag_id1: u32,
    text_id2: i32,
    text_enable_flag_id2: u32,
    text_disable_flag_id2: u32,
    text_id3: i32,
    text_enable_flag_id3: u32,
    text_disable_flag_id3: u32,
    text_id4: i32,
    text_enable_flag_id4: u32,
    text_disable_flag_id4: u32,
    text_id5: i32,
    text_enable_flag_id5: u32,
    text_disable_flag_id5: u32,
    text_id6: i32,
    text_enable_flag_id6: u32,
    text_disable_flag_id6: u32,
    text_id7: i32,
    text_enable_flag_id7: u32,
    text_disable_flag_id7: u32,
    text_id8: i32,
    text_enable_flag_id8: u32,
    text_disable_flag_id8: u32,
    text_type1: u8,
    text_type2: u8,
    text_type3: u8,
    text_type4: u8,
    text_type5: u8,
    text_type6: u8,
    text_type7: u8,
    text_type8: u8,
    no_ignition_sfx_dmypoly_id_0: i32,
    no_ignition_sfx_id_0: i32,
    no_ignition_sfx_dmypoly_id_1: i32,
    no_ignition_sfx_id_1: i32,
    text_enable_flag2_id1: i32,
    text_enable_flag2_id2: i32,
    text_enable_flag2_id3: i32,
    text_enable_flag2_id4: i32,
    text_enable_flag2_id5: i32,
    text_enable_flag2_id6: i32,
    text_enable_flag2_id7: i32,
    text_enable_flag2_id8: i32,
    text_disable_flag2_id1: i32,
    text_disable_flag2_id2: i32,
    text_disable_flag2_id3: i32,
    text_disable_flag2_id4: i32,
    text_disable_flag2_id5: i32,
    text_disable_flag2_id6: i32,
    text_disable_flag2_id7: i32,
    text_disable_flag2_id8: i32,
    alt_icon_id: u16,
    alt_forbidden_icon_id: u16,
}

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

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

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

    pub fn eventflag_id(&self) -> u32 {
        self.eventflag_id
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

    pub fn cleared_event_flag_id(&self) -> u32 {
        self.cleared_event_flag_id
    }

    pub fn set_cleared_event_flag_id(&mut self, value: u32) {
        self.cleared_event_flag_id = value;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    pub fn text_enable_flag_id1(&self) -> u32 {
        self.text_enable_flag_id1
    }

    pub fn set_text_enable_flag_id1(&mut self, value: u32) {
        self.text_enable_flag_id1 = value;
    }

    pub fn text_disable_flag_id1(&self) -> u32 {
        self.text_disable_flag_id1
    }

    pub fn set_text_disable_flag_id1(&mut self, value: u32) {
        self.text_disable_flag_id1 = value;
    }

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

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

    pub fn text_enable_flag_id2(&self) -> u32 {
        self.text_enable_flag_id2
    }

    pub fn set_text_enable_flag_id2(&mut self, value: u32) {
        self.text_enable_flag_id2 = value;
    }

    pub fn text_disable_flag_id2(&self) -> u32 {
        self.text_disable_flag_id2
    }

    pub fn set_text_disable_flag_id2(&mut self, value: u32) {
        self.text_disable_flag_id2 = value;
    }

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

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

    pub fn text_enable_flag_id3(&self) -> u32 {
        self.text_enable_flag_id3
    }

    pub fn set_text_enable_flag_id3(&mut self, value: u32) {
        self.text_enable_flag_id3 = value;
    }

    pub fn text_disable_flag_id3(&self) -> u32 {
        self.text_disable_flag_id3
    }

    pub fn set_text_disable_flag_id3(&mut self, value: u32) {
        self.text_disable_flag_id3 = value;
    }

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

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

    pub fn text_enable_flag_id4(&self) -> u32 {
        self.text_enable_flag_id4
    }

    pub fn set_text_enable_flag_id4(&mut self, value: u32) {
        self.text_enable_flag_id4 = value;
    }

    pub fn text_disable_flag_id4(&self) -> u32 {
        self.text_disable_flag_id4
    }

    pub fn set_text_disable_flag_id4(&mut self, value: u32) {
        self.text_disable_flag_id4 = value;
    }

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

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

    pub fn text_enable_flag_id5(&self) -> u32 {
        self.text_enable_flag_id5
    }

    pub fn set_text_enable_flag_id5(&mut self, value: u32) {
        self.text_enable_flag_id5 = value;
    }

    pub fn text_disable_flag_id5(&self) -> u32 {
        self.text_disable_flag_id5
    }

    pub fn set_text_disable_flag_id5(&mut self, value: u32) {
        self.text_disable_flag_id5 = value;
    }

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

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

    pub fn text_enable_flag_id6(&self) -> u32 {
        self.text_enable_flag_id6
    }

    pub fn set_text_enable_flag_id6(&mut self, value: u32) {
        self.text_enable_flag_id6 = value;
    }

    pub fn text_disable_flag_id6(&self) -> u32 {
        self.text_disable_flag_id6
    }

    pub fn set_text_disable_flag_id6(&mut self, value: u32) {
        self.text_disable_flag_id6 = value;
    }

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

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

    pub fn text_enable_flag_id7(&self) -> u32 {
        self.text_enable_flag_id7
    }

    pub fn set_text_enable_flag_id7(&mut self, value: u32) {
        self.text_enable_flag_id7 = value;
    }

    pub fn text_disable_flag_id7(&self) -> u32 {
        self.text_disable_flag_id7
    }

    pub fn set_text_disable_flag_id7(&mut self, value: u32) {
        self.text_disable_flag_id7 = value;
    }

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

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

    pub fn text_enable_flag_id8(&self) -> u32 {
        self.text_enable_flag_id8
    }

    pub fn set_text_enable_flag_id8(&mut self, value: u32) {
        self.text_enable_flag_id8 = value;
    }

    pub fn text_disable_flag_id8(&self) -> u32 {
        self.text_disable_flag_id8
    }

    pub fn set_text_disable_flag_id8(&mut self, value: u32) {
        self.text_disable_flag_id8 = value;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct BUDDY_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    trigger_sp_effect_id: i32,
    npc_param_id: i32,
    npc_think_param_id: i32,
    npc_param_id_ridden: i32,
    npc_think_param_id_ridden: i32,
    x_offset: f32,
    z_offset: f32,
    y_angle: f32,
    appear_on_around_sekihi: u8,
    disable_pc_target_share: u8,
    pc_follow_type: u8,
    reserve: [u8; 1],
    doping_sp_effect_lv0: i32,
    doping_sp_effect_lv1: i32,
    doping_sp_effect_lv2: i32,
    doping_sp_effect_lv3: i32,
    doping_sp_effect_lv4: i32,
    doping_sp_effect_lv5: i32,
    doping_sp_effect_lv6: i32,
    doping_sp_effect_lv7: i32,
    doping_sp_effect_lv8: i32,
    doping_sp_effect_lv9: i32,
    doping_sp_effect_lv10: i32,
    npc_player_init_param_id: i32,
    generate_anim_id: i32,
    usage_shortcut_text_id: i32,
    unknown_2: i32,
    unknown_3: i32,
    summon_behavior_id: i32,
    padding: [u8; 4],
}

impl ParamDef for BUDDY_PARAM_ST {
    const NAME: &str = "BUDDY_PARAM_ST";
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct BUDDY_STONE_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    talk_chr_entity_id: u32,
    eliminate_target_entity_id: u32,
    summoned_event_flag_id: u32,
    bits_10: u8,
    pad2: [u8; 3],
    buddy_id: i32,
    doping_sp_effect_id: i32,
    activate_range: u16,
    overwrite_return_range: i16,
    overwrite_activate_region_entity_id: u32,
    warn_region_entity_id: u32,
    pad3: [u8; 24],
}

impl ParamDef for BUDDY_STONE_PARAM_ST {
    const NAME: &str = "BUDDY_STONE_PARAM_ST";
}

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

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

    pub fn talk_chr_entity_id(&self) -> u32 {
        self.talk_chr_entity_id
    }

    pub fn set_talk_chr_entity_id(&mut self, value: u32) {
        self.talk_chr_entity_id = value;
    }

    pub fn eliminate_target_entity_id(&self) -> u32 {
        self.eliminate_target_entity_id
    }

    pub fn set_eliminate_target_entity_id(&mut self, value: u32) {
        self.eliminate_target_entity_id = value;
    }

    pub fn summoned_event_flag_id(&self) -> u32 {
        self.summoned_event_flag_id
    }

    pub fn set_summoned_event_flag_id(&mut self, value: u32) {
        self.summoned_event_flag_id = value;
    }

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

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

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

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

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

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

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

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

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

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

    pub fn overwrite_activate_region_entity_id(&self) -> u32 {
        self.overwrite_activate_region_entity_id
    }

    pub fn set_overwrite_activate_region_entity_id(&mut self, value: u32) {
        self.overwrite_activate_region_entity_id = value;
    }

    pub fn warn_region_entity_id(&self) -> u32 {
        self.warn_region_entity_id
    }

    pub fn set_warn_region_entity_id(&mut self, value: u32) {
        self.warn_region_entity_id = 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,
    reserve_0: [u8; 4],
    vram_other_tex: f32,
    vram_other_mdl: f32,
    havok_anim: f32,
    havok_ins: f32,
    havok_hit: f32,
    vram_other: f32,
    vram_detail_all: f32,
    vram_chr_and_parts: f32,
    havok_navimesh: f32,
    reserve_1: [u8; 24],
}

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

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_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 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 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 {
    limit_num_by_group: u8,
    bits_1: u8,
    pad: [u8; 30],
}

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct BULLET_PARAM_ST {
    atk_id_bullet: 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,
    horming_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,
    horming_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: u16,
    homing_angle: i16,
    shoot_angle: i16,
    shoot_angle_interval: i16,
    shoot_angle_x_interval: i16,
    damage_damp: i8,
    spel_damage_damp: i8,
    fire_damage_damp: i8,
    thunder_damage_damp: i8,
    stamina_damp: i8,
    knockback_damp: i8,
    shoot_angle_xz: i8,
    lock_shoot_limit_ang: u8,
    pad2: [u8; 1],
    prev_velocity_dir_rate: u8,
    atk_attribute: u8,
    sp_attribute: u8,
    material_attack_type: u8,
    material_attack_material: u8,
    bits_98: u8,
    launch_condition_type: u8,
    bits_9a: u8,
    bits_9b: u8,
    bits_9c: u8,
    dark_damage_damp: i8,
    bullet_sfx_delete_type_by_hit: i8,
    bullet_sfx_delete_type_by_life_dead: i8,
    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,
    sfx_posture_type: u8,
    create_limit_group_id: u8,
    pad5: [u8; 1],
    bits_c3: u8,
    random_create_radius: f32,
    follow_offset_base_height: f32,
    asset_no_hit: i32,
    life_random_range: f32,
    homing_angle_x: i16,
    ballistic_calc_type: u8,
    attach_effect_type: u8,
    se_id_bullet1: i32,
    se_id_bullet2: i32,
    se_id_hit: i32,
    se_id_flick: i32,
    howitzer_shoot_angle_x_min: i16,
    howitzer_shoot_angle_x_max: i16,
    howitzer_init_min_velocity: f32,
    howitzer_init_max_velocity: f32,
    sfx_id_force_erase: i32,
    bullet_sfx_delete_type_by_force_erase: i8,
    pad3: [u8; 1],
    follow_dmypoly_for_sfx_pose: i16,
    follow_offset_radius: f32,
    sp_bullet_dist_up_rate: f32,
    nolock_target_dist: f32,
    unknown_1: f32,
    unknown_2: f32,
    unknown_3: f32,
    unknown_4: f32,
    unknown_5: f32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: f32,
    unknown_9: f32,
    unknown_10: i32,
    unknown_11: f32,
    unknown_12: f32,
    unknown_13: f32,
    unknown_14: f32,
    unknown_15: f32,
    unknown_16: f32,
    unknown_17: f32,
}

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

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

    pub fn set_atk_id_bullet(&mut self, value: i32) {
        self.atk_id_bullet = 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 horming_stop_range(&self) -> f32 {
        self.horming_stop_range
    }

    pub fn set_horming_stop_range(&mut self, value: f32) {
        self.horming_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 horming_offset_range(&self) -> f32 {
        self.horming_offset_range
    }

    pub fn set_horming_offset_range(&mut self, value: f32) {
        self.horming_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) -> u16 {
        self.num_shoot
    }

    pub fn set_num_shoot(&mut self, value: u16) {
        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) -> i8 {
        self.damage_damp
    }

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

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

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

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

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

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

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

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

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

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

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

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

    pub fn set_shoot_angle_xz(&mut self, value: i8) {
        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 prev_velocity_dir_rate(&self) -> u8 {
        self.prev_velocity_dir_rate
    }

    pub fn set_prev_velocity_dir_rate(&mut self, value: u8) {
        self.prev_velocity_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;
    }

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

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

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

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

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

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

    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_shared_hit_list(&self) -> u8 {
        (self.bits_9b >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_shared_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 is_hit_other_bullet_force_erase_a(&self) -> u8 {
        (self.bits_9b >> 4) & 0b00000001
    }

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

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

    #[allow(clippy::identity_op)]
    pub fn set_is_hit_other_bullet_force_erase_b(&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 dmg_calc_side(&self) -> u8 {
        (self.bits_9c >> 2) & 0b00000011
    }

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

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

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

    #[allow(clippy::identity_op)]
    pub fn is_sync_bullet_culc_dumypoly_pos(&self) -> u8 {
        (self.bits_9c >> 4) & 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 << 4)) | ((value & 0b00000001) << 4);
    }

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

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

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

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

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

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

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

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

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

    pub fn set_bullet_sfx_delete_type_by_life_dead(&mut self, value: i8) {
        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 sfx_posture_type(&self) -> u8 {
        self.sfx_posture_type
    }

    pub fn set_sfx_posture_type(&mut self, value: u8) {
        self.sfx_posture_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;
    }

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

    #[allow(clippy::identity_op)]
    pub fn set_is_inherit_speed_to_child(&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_disable_ai_projectile_dodge(&self) -> u8 {
        (self.bits_c3 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_ai_projectile_dodge(&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 follow_offset_base_height(&self) -> f32 {
        self.follow_offset_base_height
    }

    pub fn set_follow_offset_base_height(&mut self, value: f32) {
        self.follow_offset_base_height = 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 ballistic_calc_type(&self) -> u8 {
        self.ballistic_calc_type
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    pub fn set_nolock_target_dist(&mut self, value: f32) {
        self.nolock_target_dist = 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,
    pad: [u8; 4],
}

impl ParamDef for CACL_CORRECT_GRAPH_ST {
    const NAME: &str = "CACL_CORRECT_GRAPH_ST";
}

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 CAMERA_FADE_PARAM_ST {
    near_min_dist: f32,
    near_max_dist: f32,
    far_min_dist: f32,
    far_max_dist: f32,
    middle_alpha: f32,
    dummy: [u8; 12],
}

impl ParamDef for CAMERA_FADE_PARAM_ST {
    const NAME: &str = "CAMERA_FADE_PARAM_ST";
}

impl CAMERA_FADE_PARAM_ST {
    pub fn near_min_dist(&self) -> f32 {
        self.near_min_dist
    }

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

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

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

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

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

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

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

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

    pub fn set_middle_alpha(&mut self, value: f32) {
        self.middle_alpha = 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,
    multi_play_area_offset: i32,
    override_map_place_name_id: i32,
    override_save_map_name_id: i32,
    pad2: [u8; 16],
}

impl ParamDef for CEREMONY_PARAM_ST {
    const NAME: &str = "CEREMONY_PARAM_ST";
}

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 multi_play_area_offset(&self) -> i32 {
        self.multi_play_area_offset
    }

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CHARACTER_INIT_PARAM {
    soul: i32,
    equip_wep_right_1: i32,
    equip_wep_right_2: i32,
    equip_wep_left_1: i32,
    equip_wep_left_2: i32,
    equip_wep_right_3: i32,
    equip_wep_left_3: i32,
    equip_helm: i32,
    equip_armer: i32,
    equip_gaunt: i32,
    equip_leg: i32,
    equip_arrow: i32,
    equip_bolt: i32,
    equip_sub_arrow: i32,
    equip_sub_bolt: i32,
    equip_accessory01: i32,
    equip_accessory02: i32,
    equip_accessory03: i32,
    equip_accessory04: i32,
    character_skill_weapon: i32,
    ultimate_art_weapon: i32,
    passive_ability_weapon: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: 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,
    t_unknown_1: i32,
    t_unknown_2a: u8,
    t_unknown_2b: u8,
    t_unknown_2c: u8,
    t_unknown_2d: u8,
    t_unknown_3a: u8,
    t_unknown_3b: u8,
    t_unknown_3c: u8,
    t_unknown_3d: u8,
    soul_lv: u16,
    base_vit: u8,
    base_wil: u8,
    base_end: u8,
    base_str: u8,
    base_dex: u8,
    base_mag: u8,
    base_fai: u8,
    base_luc: u8,
    t_unknown_6c: u8,
    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,
    t_unknown_11b: u8,
    t_unknown_11c: u8,
    t_unknown_11d: u8,
    t_unknown_12a: u8,
    t_unknown_12b: u8,
    t_unknown_12c: u8,
    t_unknown_12d: u8,
    t_unknown_13a: u8,
    t_unknown_13b: u8,
    t_unknown_13c: u8,
    t_unknown_13d: u8,
    t_unknown_14a: u8,
    t_unknown_14b: u8,
    t_unknown_14c: u8,
    t_unknown_14d: u8,
    t_unknown_15a: u8,
    t_unknown_15b: u8,
    t_unknown_15c: u8,
    t_unknown_15d: u8,
    t_unknown_16a: u8,
    t_unknown_16b: u8,
    hero_id: u8,
    t_unknown_16d: u8,
    t_unknown_17: i32,
    t_unknown_18: i32,
    t_unknown_19: i32,
    t_unknown_20: i32,
    t_unknown_21: i32,
    t_unknown_22: i32,
    unknown_14a: u8,
    unknown_14b: u8,
    unknown_14c: u8,
    unknown_14d: u8,
    unknown_15a: u8,
    unknown_15b: u8,
    unknown_15c: u8,
    unknown_15d: u8,
    unknown_16a: u8,
    unknown_16b: u8,
    unknown_16c: u8,
    unknown_16d: u8,
    unknown_17a: u8,
    unknown_17b: u8,
    unknown_17c: u8,
    unknown_17d: u8,
    unknown_18a: u8,
    unknown_18b: u8,
    unknown_18c: u8,
    unknown_18d: u8,
    character_scale: f32,
    unknown_20a: u8,
    unknown_20b: u8,
    unknown_20c: u8,
    unknown_20d: u8,
    unknown_21a: u8,
    unknown_21b: u8,
    unknown_21c: u8,
    unknown_21d: u8,
    unknown_22a: u8,
    unknown_22b: u8,
    unknown_22c: u8,
    unknown_22d: u8,
    unknown_23a: u8,
    unknown_23b: u8,
    unknown_23c: u8,
    unknown_23d: u8,
    unknown_24a: i32,
    hero_selection_background_id: i32,
    reserve: [u8; 24],
}

impl ParamDef for CHARACTER_INIT_PARAM {
    const NAME: &str = "CHARACTER_INIT_PARAM";
}

impl CHARACTER_INIT_PARAM {
    pub fn soul(&self) -> i32 {
        self.soul
    }

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

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

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

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

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

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

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

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

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

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

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

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

    pub fn set_equip_wep_left_3(&mut self, value: i32) {
        self.equip_wep_left_3 = 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_armer(&self) -> i32 {
        self.equip_armer
    }

    pub fn set_equip_armer(&mut self, value: i32) {
        self.equip_armer = 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_accessory01(&self) -> i32 {
        self.equip_accessory01
    }

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

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

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

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

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

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

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

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

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

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

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

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

    pub fn set_passive_ability_weapon(&mut self, value: i32) {
        self.passive_ability_weapon = 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 t_unknown_1(&self) -> i32 {
        self.t_unknown_1
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    pub fn set_t_unknown_6c(&mut self, value: u8) {
        self.t_unknown_6c = 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 t_unknown_11b(&self) -> u8 {
        self.t_unknown_11b
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CHARMAKEMENUTOP_PARAM_ST {
    command_type: i32,
    caption_id: i32,
    face_param_id: i32,
    table_id: i32,
    view_condition: i32,
    preview_mode: i8,
    reserved2: [u8; 3],
    table_id2: i32,
    ref_face_param_id: i32,
    ref_text_id: i32,
    help_text_id: i32,
    unlock_event_flag_id: u32,
    reserved: [u8; 4],
}

impl ParamDef for CHARMAKEMENUTOP_PARAM_ST {
    const NAME: &str = "CHARMAKEMENUTOP_PARAM_ST";
}

impl CHARMAKEMENUTOP_PARAM_ST {
    pub fn command_type(&self) -> i32 {
        self.command_type
    }

    pub fn set_command_type(&mut self, value: i32) {
        self.command_type = 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 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) -> i8 {
        self.preview_mode
    }

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

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

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

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

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

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

    pub fn set_ref_text_id(&mut self, value: i32) {
        self.ref_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;
    }

    pub fn unlock_event_flag_id(&self) -> u32 {
        self.unlock_event_flag_id
    }

    pub fn set_unlock_event_flag_id(&mut self, value: u32) {
        self.unlock_event_flag_id = 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,
    reserved: [u8; 7],
}

impl ParamDef for CHARMAKEMENU_LISTITEM_PARAM_ST {
    const NAME: &str = "CHARMAKEMENU_LISTITEM_PARAM_ST";
}

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 CHR_MODEL_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    model_memory_type: u8,
    tex_memory_type: u8,
    camera_dither_fade_id: i16,
    report_anim_mem_size_mb: f32,
    unk: u32,
}

impl ParamDef for CHR_MODEL_PARAM_ST {
    const NAME: &str = "CHR_MODEL_PARAM_ST";
}

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CHR_PHYSICS_VELOCITY_CHANGE_ST {
    horizontal_velocity_scale: f32,
    vertical_velocity_scale: f32,
    horizontal_velocity_change: f32,
    vertical_velocity_change: f32,
    horizontal_velocity_angle: f32,
    unknown_1: u8,
    unknown_2: u8,
    unknown_3: u8,
    unknown_4: u8,
    unknown_5: i32,
    pad1: [u8; 4],
}

impl ParamDef for CHR_PHYSICS_VELOCITY_CHANGE_ST {
    const NAME: &str = "CHR_PHYSICS_VELOCITY_CHANGE_ST";
}

impl CHR_PHYSICS_VELOCITY_CHANGE_ST {
    pub fn horizontal_velocity_scale(&self) -> f32 {
        self.horizontal_velocity_scale
    }

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CLEAR_COUNT_CORRECT_PARAM_ST {
    max_hp_rate: f32,
    max_mp_rate: f32,
    max_stamina_rate: f32,
    physics_attack_rate: f32,
    slash_attack_rate: f32,
    blow_attack_rate: f32,
    thrust_attack_rate: f32,
    netural_attack_rate: f32,
    magic_attack_rate: f32,
    fire_attack_rate: f32,
    thunder_attack_rate: f32,
    dark_attack_rate: f32,
    physics_defense_rate: f32,
    magic_defense_rate: f32,
    fire_defense_rate: f32,
    thunder_defense_rate: f32,
    dark_defense_rate: f32,
    stamina_attack_rate: f32,
    soul_rate: f32,
    poision_resist_rate: f32,
    disease_resist_rate: f32,
    blood_resist_rate: f32,
    curse_resist_rate: f32,
    freeze_resist_rate: f32,
    blood_damage_rate: f32,
    super_armor_damage_rate: f32,
    freeze_damage_rate: f32,
    sleep_resist_rate: f32,
    madness_resist_rate: f32,
    sleep_damage_rate: f32,
    madness_damage_rate: f32,
    pad1: [u8; 4],
}

impl ParamDef for CLEAR_COUNT_CORRECT_PARAM_ST {
    const NAME: &str = "CLEAR_COUNT_CORRECT_PARAM_ST";
}

impl CLEAR_COUNT_CORRECT_PARAM_ST {
    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 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 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 netural_attack_rate(&self) -> f32 {
        self.netural_attack_rate
    }

    pub fn set_netural_attack_rate(&mut self, value: f32) {
        self.netural_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 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 physics_defense_rate(&self) -> f32 {
        self.physics_defense_rate
    }

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

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

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

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

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

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

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

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

    pub fn set_dark_defense_rate(&mut self, value: f32) {
        self.dark_defense_rate = 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 soul_rate(&self) -> f32 {
        self.soul_rate
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct COMMON_SYSTEM_PARAM_ST {
    map_save_map_name_id_on_game_start: u32,
    reserve0: [u8; 60],
}

impl ParamDef for COMMON_SYSTEM_PARAM_ST {
    const NAME: &str = "COMMON_SYSTEM_PARAM_ST";
}

impl COMMON_SYSTEM_PARAM_ST {
    pub fn map_save_map_name_id_on_game_start(&self) -> u32 {
        self.map_save_map_name_id_on_game_start
    }

    pub fn set_map_save_map_name_id_on_game_start(&mut self, value: u32) {
        self.map_save_map_name_id_on_game_start = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct COOL_TIME_PARAM_ST {
    limitation_time_0: f32,
    observe_time_0: f32,
    limitation_time_1: f32,
    observe_time_1: f32,
    limitation_time_2: f32,
    observe_time_2: f32,
    limitation_time_3: f32,
    observe_time_3: f32,
}

impl ParamDef for COOL_TIME_PARAM_ST {
    const NAME: &str = "COOL_TIME_PARAM_ST";
}

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 observe_time_0(&self) -> f32 {
        self.observe_time_0
    }

    pub fn set_observe_time_0(&mut self, value: f32) {
        self.observe_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 observe_time_1(&self) -> f32 {
        self.observe_time_1
    }

    pub fn set_observe_time_1(&mut self, value: f32) {
        self.observe_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 observe_time_2(&self) -> f32 {
        self.observe_time_2
    }

    pub fn set_observe_time_2(&mut self, value: f32) {
        self.observe_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 observe_time_3(&self) -> f32 {
        self.observe_time_3
    }

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_AA_QUALITY_DETAIL {
    enabled: u8,
    force_fxaa2: u8,
    dmy: [u8; 2],
}

impl ParamDef for CS_AA_QUALITY_DETAIL {
    const NAME: &str = "CS_AA_QUALITY_DETAIL";
}

impl CS_AA_QUALITY_DETAIL {
    pub fn enabled(&self) -> u8 {
        self.enabled
    }

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

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

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_DECAL_QUALITY_DETAIL {
    enabled: u8,
    dmy: [u8; 3],
}

impl ParamDef for CS_DECAL_QUALITY_DETAIL {
    const NAME: &str = "CS_DECAL_QUALITY_DETAIL";
}

impl CS_DECAL_QUALITY_DETAIL {
    pub fn enabled(&self) -> u8 {
        self.enabled
    }

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

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_DOF_QUALITY_DETAIL {
    enabled: u8,
    dmy: [u8; 3],
    force_hi_reso_blur: i32,
    max_blur_level: i32,
}

impl ParamDef for CS_DOF_QUALITY_DETAIL {
    const NAME: &str = "CS_DOF_QUALITY_DETAIL";
}

impl CS_DOF_QUALITY_DETAIL {
    pub fn enabled(&self) -> u8 {
        self.enabled
    }

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

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

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

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

    pub fn set_max_blur_level(&mut self, value: i32) {
        self.max_blur_level = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_EFFECT_QUALITY_DETAIL {
    soft_particle_enabled: u8,
    glow_enabled: u8,
    distortion_enable: u8,
    cs_up_scale_enabled_type: u8,
    f_num_once_emits_scale: f32,
    f_emit_span_scale: f32,
    f_lod_distance1_scale: f32,
    f_lod_distance2_scale: f32,
    f_lod_distance3_scale: f32,
    f_lod_distance4_scale: f32,
    f_scale_render_distance_scale: f32,
    dmy: [u8; 4],
}

impl ParamDef for CS_EFFECT_QUALITY_DETAIL {
    const NAME: &str = "CS_EFFECT_QUALITY_DETAIL";
}

impl CS_EFFECT_QUALITY_DETAIL {
    pub fn soft_particle_enabled(&self) -> u8 {
        self.soft_particle_enabled
    }

    pub fn set_soft_particle_enabled(&mut self, value: u8) {
        self.soft_particle_enabled = value;
    }

    pub fn glow_enabled(&self) -> u8 {
        self.glow_enabled
    }

    pub fn set_glow_enabled(&mut self, value: u8) {
        self.glow_enabled = value;
    }

    pub fn distortion_enable(&self) -> u8 {
        self.distortion_enable
    }

    pub fn set_distortion_enable(&mut self, value: u8) {
        self.distortion_enable = value;
    }

    pub fn cs_up_scale_enabled_type(&self) -> u8 {
        self.cs_up_scale_enabled_type
    }

    pub fn set_cs_up_scale_enabled_type(&mut self, value: u8) {
        self.cs_up_scale_enabled_type = value;
    }

    pub fn f_num_once_emits_scale(&self) -> f32 {
        self.f_num_once_emits_scale
    }

    pub fn set_f_num_once_emits_scale(&mut self, value: f32) {
        self.f_num_once_emits_scale = value;
    }

    pub fn f_emit_span_scale(&self) -> f32 {
        self.f_emit_span_scale
    }

    pub fn set_f_emit_span_scale(&mut self, value: f32) {
        self.f_emit_span_scale = value;
    }

    pub fn f_lod_distance1_scale(&self) -> f32 {
        self.f_lod_distance1_scale
    }

    pub fn set_f_lod_distance1_scale(&mut self, value: f32) {
        self.f_lod_distance1_scale = value;
    }

    pub fn f_lod_distance2_scale(&self) -> f32 {
        self.f_lod_distance2_scale
    }

    pub fn set_f_lod_distance2_scale(&mut self, value: f32) {
        self.f_lod_distance2_scale = value;
    }

    pub fn f_lod_distance3_scale(&self) -> f32 {
        self.f_lod_distance3_scale
    }

    pub fn set_f_lod_distance3_scale(&mut self, value: f32) {
        self.f_lod_distance3_scale = value;
    }

    pub fn f_lod_distance4_scale(&self) -> f32 {
        self.f_lod_distance4_scale
    }

    pub fn set_f_lod_distance4_scale(&mut self, value: f32) {
        self.f_lod_distance4_scale = value;
    }

    pub fn f_scale_render_distance_scale(&self) -> f32 {
        self.f_scale_render_distance_scale
    }

    pub fn set_f_scale_render_distance_scale(&mut self, value: f32) {
        self.f_scale_render_distance_scale = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_GRAPHICS_CONFIG_PARAM_ST {
    m_texture_filter_quality: u8,
    m_aa_quality: u8,
    m_ssao_quality: u8,
    m_dof_quality: u8,
    m_motion_blur_quality: u8,
    m_shadow_quality: u8,
    m_lighting_quality: u8,
    m_effect_quality: u8,
    m_decal_quality: u8,
    m_reflection_quality: u8,
    m_water_quality: u8,
    m_shader_quality: u8,
    m_volumetric_effect_quality: u8,
    m_ray_tracing_quality: u8,
    m_dummy: [u8; 2],
}

impl ParamDef for CS_GRAPHICS_CONFIG_PARAM_ST {
    const NAME: &str = "CS_GRAPHICS_CONFIG_PARAM_ST";
}

impl CS_GRAPHICS_CONFIG_PARAM_ST {
    pub fn m_texture_filter_quality(&self) -> u8 {
        self.m_texture_filter_quality
    }

    pub fn set_m_texture_filter_quality(&mut self, value: u8) {
        self.m_texture_filter_quality = value;
    }

    pub fn m_aa_quality(&self) -> u8 {
        self.m_aa_quality
    }

    pub fn set_m_aa_quality(&mut self, value: u8) {
        self.m_aa_quality = value;
    }

    pub fn m_ssao_quality(&self) -> u8 {
        self.m_ssao_quality
    }

    pub fn set_m_ssao_quality(&mut self, value: u8) {
        self.m_ssao_quality = value;
    }

    pub fn m_dof_quality(&self) -> u8 {
        self.m_dof_quality
    }

    pub fn set_m_dof_quality(&mut self, value: u8) {
        self.m_dof_quality = value;
    }

    pub fn m_motion_blur_quality(&self) -> u8 {
        self.m_motion_blur_quality
    }

    pub fn set_m_motion_blur_quality(&mut self, value: u8) {
        self.m_motion_blur_quality = value;
    }

    pub fn m_shadow_quality(&self) -> u8 {
        self.m_shadow_quality
    }

    pub fn set_m_shadow_quality(&mut self, value: u8) {
        self.m_shadow_quality = value;
    }

    pub fn m_lighting_quality(&self) -> u8 {
        self.m_lighting_quality
    }

    pub fn set_m_lighting_quality(&mut self, value: u8) {
        self.m_lighting_quality = value;
    }

    pub fn m_effect_quality(&self) -> u8 {
        self.m_effect_quality
    }

    pub fn set_m_effect_quality(&mut self, value: u8) {
        self.m_effect_quality = value;
    }

    pub fn m_decal_quality(&self) -> u8 {
        self.m_decal_quality
    }

    pub fn set_m_decal_quality(&mut self, value: u8) {
        self.m_decal_quality = value;
    }

    pub fn m_reflection_quality(&self) -> u8 {
        self.m_reflection_quality
    }

    pub fn set_m_reflection_quality(&mut self, value: u8) {
        self.m_reflection_quality = value;
    }

    pub fn m_water_quality(&self) -> u8 {
        self.m_water_quality
    }

    pub fn set_m_water_quality(&mut self, value: u8) {
        self.m_water_quality = value;
    }

    pub fn m_shader_quality(&self) -> u8 {
        self.m_shader_quality
    }

    pub fn set_m_shader_quality(&mut self, value: u8) {
        self.m_shader_quality = value;
    }

    pub fn m_volumetric_effect_quality(&self) -> u8 {
        self.m_volumetric_effect_quality
    }

    pub fn set_m_volumetric_effect_quality(&mut self, value: u8) {
        self.m_volumetric_effect_quality = value;
    }

    pub fn m_ray_tracing_quality(&self) -> u8 {
        self.m_ray_tracing_quality
    }

    pub fn set_m_ray_tracing_quality(&mut self, value: u8) {
        self.m_ray_tracing_quality = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_KEY_ASSIGN_MENUITEM_PARAM {
    text_id: i32,
    key: i32,
    enable_unassign: u8,
    enable_pad_config: u8,
    enable_mouse_config: u8,
    group: u8,
    mapping_text_id: i32,
    view_pad: u8,
    view_keyboard_mouse: u8,
    padding: [u8; 6],
}

impl ParamDef for CS_KEY_ASSIGN_MENUITEM_PARAM {
    const NAME: &str = "CS_KEY_ASSIGN_MENUITEM_PARAM";
}

impl CS_KEY_ASSIGN_MENUITEM_PARAM {
    pub fn text_id(&self) -> i32 {
        self.text_id
    }

    pub fn set_text_id(&mut self, value: i32) {
        self.text_id = value;
    }

    pub fn key(&self) -> i32 {
        self.key
    }

    pub fn set_key(&mut self, value: i32) {
        self.key = value;
    }

    pub fn enable_unassign(&self) -> u8 {
        self.enable_unassign
    }

    pub fn set_enable_unassign(&mut self, value: u8) {
        self.enable_unassign = value;
    }

    pub fn enable_pad_config(&self) -> u8 {
        self.enable_pad_config
    }

    pub fn set_enable_pad_config(&mut self, value: u8) {
        self.enable_pad_config = value;
    }

    pub fn enable_mouse_config(&self) -> u8 {
        self.enable_mouse_config
    }

    pub fn set_enable_mouse_config(&mut self, value: u8) {
        self.enable_mouse_config = value;
    }

    pub fn group(&self) -> u8 {
        self.group
    }

    pub fn set_group(&mut self, value: u8) {
        self.group = value;
    }

    pub fn mapping_text_id(&self) -> i32 {
        self.mapping_text_id
    }

    pub fn set_mapping_text_id(&mut self, value: i32) {
        self.mapping_text_id = value;
    }

    pub fn view_pad(&self) -> u8 {
        self.view_pad
    }

    pub fn set_view_pad(&mut self, value: u8) {
        self.view_pad = value;
    }

    pub fn view_keyboard_mouse(&self) -> u8 {
        self.view_keyboard_mouse
    }

    pub fn set_view_keyboard_mouse(&mut self, value: u8) {
        self.view_keyboard_mouse = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_LIGHTING_QUALITY_DETAIL {
    local_light_dist_factor: f32,
    local_light_shadow_enabled: u8,
    forward_pass_lighting_enabled: u8,
    local_light_shadow_spec_level_max: u8,
    dmy: [u8; 1],
}

impl ParamDef for CS_LIGHTING_QUALITY_DETAIL {
    const NAME: &str = "CS_LIGHTING_QUALITY_DETAIL";
}

impl CS_LIGHTING_QUALITY_DETAIL {
    pub fn local_light_dist_factor(&self) -> f32 {
        self.local_light_dist_factor
    }

    pub fn set_local_light_dist_factor(&mut self, value: f32) {
        self.local_light_dist_factor = value;
    }

    pub fn local_light_shadow_enabled(&self) -> u8 {
        self.local_light_shadow_enabled
    }

    pub fn set_local_light_shadow_enabled(&mut self, value: u8) {
        self.local_light_shadow_enabled = value;
    }

    pub fn forward_pass_lighting_enabled(&self) -> u8 {
        self.forward_pass_lighting_enabled
    }

    pub fn set_forward_pass_lighting_enabled(&mut self, value: u8) {
        self.forward_pass_lighting_enabled = value;
    }

    pub fn local_light_shadow_spec_level_max(&self) -> u8 {
        self.local_light_shadow_spec_level_max
    }

    pub fn set_local_light_shadow_spec_level_max(&mut self, value: u8) {
        self.local_light_shadow_spec_level_max = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_MOTION_BLUR_QUALITY_DETAIL {
    enabled: u8,
    omb_enabled: u8,
    force_scale_velocity_buffer: u8,
    cheap_filter_mode: u8,
    sample_count_bias: i32,
    recurrence_count_bias: i32,
    blur_max_length_scale: f32,
}

impl ParamDef for CS_MOTION_BLUR_QUALITY_DETAIL {
    const NAME: &str = "CS_MOTION_BLUR_QUALITY_DETAIL";
}

impl CS_MOTION_BLUR_QUALITY_DETAIL {
    pub fn enabled(&self) -> u8 {
        self.enabled
    }

    pub fn set_enabled(&mut self, value: u8) {
        self.enabled = value;
    }

    pub fn omb_enabled(&self) -> u8 {
        self.omb_enabled
    }

    pub fn set_omb_enabled(&mut self, value: u8) {
        self.omb_enabled = value;
    }

    pub fn force_scale_velocity_buffer(&self) -> u8 {
        self.force_scale_velocity_buffer
    }

    pub fn set_force_scale_velocity_buffer(&mut self, value: u8) {
        self.force_scale_velocity_buffer = value;
    }

    pub fn cheap_filter_mode(&self) -> u8 {
        self.cheap_filter_mode
    }

    pub fn set_cheap_filter_mode(&mut self, value: u8) {
        self.cheap_filter_mode = value;
    }

    pub fn sample_count_bias(&self) -> i32 {
        self.sample_count_bias
    }

    pub fn set_sample_count_bias(&mut self, value: i32) {
        self.sample_count_bias = value;
    }

    pub fn recurrence_count_bias(&self) -> i32 {
        self.recurrence_count_bias
    }

    pub fn set_recurrence_count_bias(&mut self, value: i32) {
        self.recurrence_count_bias = value;
    }

    pub fn blur_max_length_scale(&self) -> f32 {
        self.blur_max_length_scale
    }

    pub fn set_blur_max_length_scale(&mut self, value: f32) {
        self.blur_max_length_scale = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_RAYTRACING_QUALITY_DETAIL {
    enable_raytrace_ao: u8,
    enable_raytrace_shadows: u8,
    unk0x02: u8,
    unk0x03: u8,
    unk_float0x04: f32,
    unk0x08: i32,
    unk_float0x0_c: f32,
    unk0x10: i32,
    penumbra_size: f32,
    render_distance: f32,
}

impl ParamDef for CS_RAYTRACING_QUALITY_DETAIL {
    const NAME: &str = "CS_RAYTRACING_QUALITY_DETAIL";
}

impl CS_RAYTRACING_QUALITY_DETAIL {
    pub fn enable_raytrace_ao(&self) -> u8 {
        self.enable_raytrace_ao
    }

    pub fn set_enable_raytrace_ao(&mut self, value: u8) {
        self.enable_raytrace_ao = value;
    }

    pub fn enable_raytrace_shadows(&self) -> u8 {
        self.enable_raytrace_shadows
    }

    pub fn set_enable_raytrace_shadows(&mut self, value: u8) {
        self.enable_raytrace_shadows = value;
    }

    pub fn penumbra_size(&self) -> f32 {
        self.penumbra_size
    }

    pub fn set_penumbra_size(&mut self, value: f32) {
        self.penumbra_size = value;
    }

    pub fn render_distance(&self) -> f32 {
        self.render_distance
    }

    pub fn set_render_distance(&mut self, value: f32) {
        self.render_distance = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_REFLECTION_QUALITY_DETAIL {
    enabled: u8,
    local_light_enabled: u8,
    local_light_force_enabled: u8,
    dmy: [u8; 1],
    resolution_divider: u32,
    ssr_enabled: u8,
    ssr_gaussian_blur_enabled: u8,
    dmy2: [u8; 2],
    ssr_depth_reject_threshold_scale: f32,
    ssr_ray_trace_step_scale: f32,
    ssr_fade_to_viewer_bias: f32,
    ssr_fresnel_reject_bias: f32,
}

impl ParamDef for CS_REFLECTION_QUALITY_DETAIL {
    const NAME: &str = "CS_REFLECTION_QUALITY_DETAIL";
}

impl CS_REFLECTION_QUALITY_DETAIL {
    pub fn enabled(&self) -> u8 {
        self.enabled
    }

    pub fn set_enabled(&mut self, value: u8) {
        self.enabled = value;
    }

    pub fn local_light_enabled(&self) -> u8 {
        self.local_light_enabled
    }

    pub fn set_local_light_enabled(&mut self, value: u8) {
        self.local_light_enabled = value;
    }

    pub fn local_light_force_enabled(&self) -> u8 {
        self.local_light_force_enabled
    }

    pub fn set_local_light_force_enabled(&mut self, value: u8) {
        self.local_light_force_enabled = value;
    }

    pub fn resolution_divider(&self) -> u32 {
        self.resolution_divider
    }

    pub fn set_resolution_divider(&mut self, value: u32) {
        self.resolution_divider = value;
    }

    pub fn ssr_enabled(&self) -> u8 {
        self.ssr_enabled
    }

    pub fn set_ssr_enabled(&mut self, value: u8) {
        self.ssr_enabled = value;
    }

    pub fn ssr_gaussian_blur_enabled(&self) -> u8 {
        self.ssr_gaussian_blur_enabled
    }

    pub fn set_ssr_gaussian_blur_enabled(&mut self, value: u8) {
        self.ssr_gaussian_blur_enabled = value;
    }

    pub fn ssr_depth_reject_threshold_scale(&self) -> f32 {
        self.ssr_depth_reject_threshold_scale
    }

    pub fn set_ssr_depth_reject_threshold_scale(&mut self, value: f32) {
        self.ssr_depth_reject_threshold_scale = value;
    }

    pub fn ssr_ray_trace_step_scale(&self) -> f32 {
        self.ssr_ray_trace_step_scale
    }

    pub fn set_ssr_ray_trace_step_scale(&mut self, value: f32) {
        self.ssr_ray_trace_step_scale = value;
    }

    pub fn ssr_fade_to_viewer_bias(&self) -> f32 {
        self.ssr_fade_to_viewer_bias
    }

    pub fn set_ssr_fade_to_viewer_bias(&mut self, value: f32) {
        self.ssr_fade_to_viewer_bias = value;
    }

    pub fn ssr_fresnel_reject_bias(&self) -> f32 {
        self.ssr_fresnel_reject_bias
    }

    pub fn set_ssr_fresnel_reject_bias(&mut self, value: f32) {
        self.ssr_fresnel_reject_bias = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_SHADER_QUALITY_DETAIL {
    sss_enabled: u8,
    tessellation_enabled: u8,
    high_precision_normal_enabled: u8,
    dmy: [u8; 1],
}

impl ParamDef for CS_SHADER_QUALITY_DETAIL {
    const NAME: &str = "CS_SHADER_QUALITY_DETAIL";
}

impl CS_SHADER_QUALITY_DETAIL {
    pub fn sss_enabled(&self) -> u8 {
        self.sss_enabled
    }

    pub fn set_sss_enabled(&mut self, value: u8) {
        self.sss_enabled = value;
    }

    pub fn tessellation_enabled(&self) -> u8 {
        self.tessellation_enabled
    }

    pub fn set_tessellation_enabled(&mut self, value: u8) {
        self.tessellation_enabled = value;
    }

    pub fn high_precision_normal_enabled(&self) -> u8 {
        self.high_precision_normal_enabled
    }

    pub fn set_high_precision_normal_enabled(&mut self, value: u8) {
        self.high_precision_normal_enabled = value;
    }

    pub fn dmy(&self) -> &[u8; 1] {
        &self.dmy
    }

    pub fn set_dmy(&mut self, value: [u8; 1]) {
        self.dmy = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_SHADOW_QUALITY_DETAIL {
    enabled: u8,
    max_filter_level: u8,
    dmy: [u8; 2],
    texture_size_scaler: u32,
    texture_size_divider: u32,
    texture_min_size: u32,
    texture_max_size: u32,
    blur_count_bias: i32,
}

impl ParamDef for CS_SHADOW_QUALITY_DETAIL {
    const NAME: &str = "CS_SHADOW_QUALITY_DETAIL";
}

impl CS_SHADOW_QUALITY_DETAIL {
    pub fn enabled(&self) -> u8 {
        self.enabled
    }

    pub fn set_enabled(&mut self, value: u8) {
        self.enabled = value;
    }

    pub fn max_filter_level(&self) -> u8 {
        self.max_filter_level
    }

    pub fn set_max_filter_level(&mut self, value: u8) {
        self.max_filter_level = value;
    }

    pub fn texture_size_scaler(&self) -> u32 {
        self.texture_size_scaler
    }

    pub fn set_texture_size_scaler(&mut self, value: u32) {
        self.texture_size_scaler = value;
    }

    pub fn texture_size_divider(&self) -> u32 {
        self.texture_size_divider
    }

    pub fn set_texture_size_divider(&mut self, value: u32) {
        self.texture_size_divider = value;
    }

    pub fn texture_min_size(&self) -> u32 {
        self.texture_min_size
    }

    pub fn set_texture_min_size(&mut self, value: u32) {
        self.texture_min_size = value;
    }

    pub fn texture_max_size(&self) -> u32 {
        self.texture_max_size
    }

    pub fn set_texture_max_size(&mut self, value: u32) {
        self.texture_max_size = value;
    }

    pub fn blur_count_bias(&self) -> i32 {
        self.blur_count_bias
    }

    pub fn set_blur_count_bias(&mut self, value: i32) {
        self.blur_count_bias = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_SSAO_QUALITY_DETAIL {
    enabled: u8,
    cs_reproj_enabled_type: u8,
    cs_up_scale_enabled_type: u8,
    cs_use_normal_enabled_type: u8,
    dmy: [u8; 1],
}

impl ParamDef for CS_SSAO_QUALITY_DETAIL {
    const NAME: &str = "CS_SSAO_QUALITY_DETAIL";
}

impl CS_SSAO_QUALITY_DETAIL {
    pub fn enabled(&self) -> u8 {
        self.enabled
    }

    pub fn set_enabled(&mut self, value: u8) {
        self.enabled = value;
    }

    pub fn cs_reproj_enabled_type(&self) -> u8 {
        self.cs_reproj_enabled_type
    }

    pub fn set_cs_reproj_enabled_type(&mut self, value: u8) {
        self.cs_reproj_enabled_type = value;
    }

    pub fn cs_up_scale_enabled_type(&self) -> u8 {
        self.cs_up_scale_enabled_type
    }

    pub fn set_cs_up_scale_enabled_type(&mut self, value: u8) {
        self.cs_up_scale_enabled_type = value;
    }

    pub fn cs_use_normal_enabled_type(&self) -> u8 {
        self.cs_use_normal_enabled_type
    }

    pub fn set_cs_use_normal_enabled_type(&mut self, value: u8) {
        self.cs_use_normal_enabled_type = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_TEXTURE_FILTER_QUALITY_DETAIL {
    filter: u8,
    dmy: [u8; 3],
    max_aniso_level: u32,
}

impl ParamDef for CS_TEXTURE_FILTER_QUALITY_DETAIL {
    const NAME: &str = "CS_TEXTURE_FILTER_QUALITY_DETAIL";
}

impl CS_TEXTURE_FILTER_QUALITY_DETAIL {
    pub fn filter(&self) -> u8 {
        self.filter
    }

    pub fn set_filter(&mut self, value: u8) {
        self.filter = value;
    }

    pub fn max_aniso_level(&self) -> u32 {
        self.max_aniso_level
    }

    pub fn set_max_aniso_level(&mut self, value: u32) {
        self.max_aniso_level = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_VOLUMETRIC_EFFECT_QUALITY_DETAIL {
    fog_enabled: u8,
    fog_shadow_enabled: u8,
    dmy: [u8; 2],
    fog_shadow_sample_count_bias: i32,
    fog_local_light_dist_scale: f32,
    fog_volue_size_scaler: u32,
    fog_volue_size_divider: u32,
    fog_volume_depth_scaler: u32,
    fog_volume_depth_divider: u32,
    fog_volume_enabled: u8,
    fog_volume_up_scale_type: u8,
    fog_volume_edge_correction_level: u8,
    fog_volume_ray_marcing_sample_count_offset: i8,
    fog_volume_shadow_enabled: u8,
    fog_volume_force_shadowing: u8,
    fog_volume_resolution: u8,
    pad2: [u8; 1],
}

impl ParamDef for CS_VOLUMETRIC_EFFECT_QUALITY_DETAIL {
    const NAME: &str = "CS_VOLUMETRIC_EFFECT_QUALITY_DETAIL";
}

impl CS_VOLUMETRIC_EFFECT_QUALITY_DETAIL {
    pub fn fog_enabled(&self) -> u8 {
        self.fog_enabled
    }

    pub fn set_fog_enabled(&mut self, value: u8) {
        self.fog_enabled = value;
    }

    pub fn fog_shadow_enabled(&self) -> u8 {
        self.fog_shadow_enabled
    }

    pub fn set_fog_shadow_enabled(&mut self, value: u8) {
        self.fog_shadow_enabled = value;
    }

    pub fn fog_shadow_sample_count_bias(&self) -> i32 {
        self.fog_shadow_sample_count_bias
    }

    pub fn set_fog_shadow_sample_count_bias(&mut self, value: i32) {
        self.fog_shadow_sample_count_bias = value;
    }

    pub fn fog_local_light_dist_scale(&self) -> f32 {
        self.fog_local_light_dist_scale
    }

    pub fn set_fog_local_light_dist_scale(&mut self, value: f32) {
        self.fog_local_light_dist_scale = value;
    }

    pub fn fog_volue_size_scaler(&self) -> u32 {
        self.fog_volue_size_scaler
    }

    pub fn set_fog_volue_size_scaler(&mut self, value: u32) {
        self.fog_volue_size_scaler = value;
    }

    pub fn fog_volue_size_divider(&self) -> u32 {
        self.fog_volue_size_divider
    }

    pub fn set_fog_volue_size_divider(&mut self, value: u32) {
        self.fog_volue_size_divider = value;
    }

    pub fn fog_volume_depth_scaler(&self) -> u32 {
        self.fog_volume_depth_scaler
    }

    pub fn set_fog_volume_depth_scaler(&mut self, value: u32) {
        self.fog_volume_depth_scaler = value;
    }

    pub fn fog_volume_depth_divider(&self) -> u32 {
        self.fog_volume_depth_divider
    }

    pub fn set_fog_volume_depth_divider(&mut self, value: u32) {
        self.fog_volume_depth_divider = value;
    }

    pub fn fog_volume_enabled(&self) -> u8 {
        self.fog_volume_enabled
    }

    pub fn set_fog_volume_enabled(&mut self, value: u8) {
        self.fog_volume_enabled = value;
    }

    pub fn fog_volume_up_scale_type(&self) -> u8 {
        self.fog_volume_up_scale_type
    }

    pub fn set_fog_volume_up_scale_type(&mut self, value: u8) {
        self.fog_volume_up_scale_type = value;
    }

    pub fn fog_volume_edge_correction_level(&self) -> u8 {
        self.fog_volume_edge_correction_level
    }

    pub fn set_fog_volume_edge_correction_level(&mut self, value: u8) {
        self.fog_volume_edge_correction_level = value;
    }

    pub fn fog_volume_ray_marcing_sample_count_offset(&self) -> i8 {
        self.fog_volume_ray_marcing_sample_count_offset
    }

    pub fn set_fog_volume_ray_marcing_sample_count_offset(&mut self, value: i8) {
        self.fog_volume_ray_marcing_sample_count_offset = value;
    }

    pub fn fog_volume_shadow_enabled(&self) -> u8 {
        self.fog_volume_shadow_enabled
    }

    pub fn set_fog_volume_shadow_enabled(&mut self, value: u8) {
        self.fog_volume_shadow_enabled = value;
    }

    pub fn fog_volume_force_shadowing(&self) -> u8 {
        self.fog_volume_force_shadowing
    }

    pub fn set_fog_volume_force_shadowing(&mut self, value: u8) {
        self.fog_volume_force_shadowing = value;
    }

    pub fn fog_volume_resolution(&self) -> u8 {
        self.fog_volume_resolution
    }

    pub fn set_fog_volume_resolution(&mut self, value: u8) {
        self.fog_volume_resolution = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CS_WATER_QUALITY_DETAIL {
    interaction_enabled: u8,
    dmy: [u8; 3],
}

impl ParamDef for CS_WATER_QUALITY_DETAIL {
    const NAME: &str = "CS_WATER_QUALITY_DETAIL";
}

impl CS_WATER_QUALITY_DETAIL {
    pub fn interaction_enabled(&self) -> u8 {
        self.interaction_enabled
    }

    pub fn set_interaction_enabled(&mut self, value: u8) {
        self.interaction_enabled = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CUTSCENE_GPARAM_TIME_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    dst_timezone_morning: u8,
    dst_timezone_noon: u8,
    dst_timezone_after_noon: u8,
    dst_timezone_evening: u8,
    dst_timezone_night: u8,
    dst_timezone_deep_night_a: u8,
    dst_timezone_deep_night_b: u8,
    reserved: [u8; 1],
    post_play_ingame_time: f32,
}

impl ParamDef for CUTSCENE_GPARAM_TIME_PARAM_ST {
    const NAME: &str = "CUTSCENE_GPARAM_TIME_PARAM_ST";
}

impl CUTSCENE_GPARAM_TIME_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_param_debug(&self) -> u8 {
        (self.bits_0 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_debug(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    pub fn dst_timezone_morning(&self) -> u8 {
        self.dst_timezone_morning
    }

    pub fn set_dst_timezone_morning(&mut self, value: u8) {
        self.dst_timezone_morning = value;
    }

    pub fn dst_timezone_noon(&self) -> u8 {
        self.dst_timezone_noon
    }

    pub fn set_dst_timezone_noon(&mut self, value: u8) {
        self.dst_timezone_noon = value;
    }

    pub fn dst_timezone_after_noon(&self) -> u8 {
        self.dst_timezone_after_noon
    }

    pub fn set_dst_timezone_after_noon(&mut self, value: u8) {
        self.dst_timezone_after_noon = value;
    }

    pub fn dst_timezone_evening(&self) -> u8 {
        self.dst_timezone_evening
    }

    pub fn set_dst_timezone_evening(&mut self, value: u8) {
        self.dst_timezone_evening = value;
    }

    pub fn dst_timezone_night(&self) -> u8 {
        self.dst_timezone_night
    }

    pub fn set_dst_timezone_night(&mut self, value: u8) {
        self.dst_timezone_night = value;
    }

    pub fn dst_timezone_deep_night_a(&self) -> u8 {
        self.dst_timezone_deep_night_a
    }

    pub fn set_dst_timezone_deep_night_a(&mut self, value: u8) {
        self.dst_timezone_deep_night_a = value;
    }

    pub fn dst_timezone_deep_night_b(&self) -> u8 {
        self.dst_timezone_deep_night_b
    }

    pub fn set_dst_timezone_deep_night_b(&mut self, value: u8) {
        self.dst_timezone_deep_night_b = value;
    }

    pub fn post_play_ingame_time(&self) -> f32 {
        self.post_play_ingame_time
    }

    pub fn set_post_play_ingame_time(&mut self, value: f32) {
        self.post_play_ingame_time = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CUTSCENE_GPARAM_WEATHER_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    dst_weather_sunny: i16,
    dst_weather_clear_sky: i16,
    dst_weather_weak_cloudy: i16,
    dst_weather_cloud: i16,
    dst_weather_rain: i16,
    dst_weather_heavy_rain: i16,
    dst_weather_storm: i16,
    dst_weather_storm_for_battle: i16,
    dst_weather_snow: i16,
    dst_weather_heavy_snow: i16,
    dst_weather_fog: i16,
    dst_weather_heavy_fog: i16,
    dst_weather_sand_storm: i16,
    dst_weather_heavy_fog_rain: i16,
    post_play_ingame_weather: i16,
    indoor_outdoor_type: u8,
    take_over_dst_weather_sunny: u8,
    take_over_dst_weather_clear_sky: u8,
    take_over_dst_weather_weak_cloudy: u8,
    take_over_dst_weather_cloud: u8,
    take_over_dst_weather_rain: u8,
    take_over_dst_weather_heavy_rain: u8,
    take_over_dst_weather_storm: u8,
    take_over_dst_weather_storm_for_battle: u8,
    take_over_dst_weather_snow: u8,
    take_over_dst_weather_heavy_snow: u8,
    take_over_dst_weather_fog: u8,
    take_over_dst_weather_heavy_fog: u8,
    take_over_dst_weather_sand_storm: u8,
    take_over_dst_weather_heavy_fog_rain: u8,
    reserved: [u8; 7],
    dst_weather_snowstorm: i16,
    dst_weather_lightning_storm: i16,
    dst_weather_reserved3: i16,
    dst_weather_reserved4: i16,
    dst_weather_reserved5: i16,
    dst_weather_reserved6: i16,
    dst_weather_reserved7: i16,
    dst_weather_reserved8: i16,
    take_over_dst_weather_snowstorm: u8,
    take_over_dst_weather_lightning_storm: u8,
    take_over_dst_weather_reserved3: u8,
    take_over_dst_weather_reserved4: u8,
    take_over_dst_weather_reserved5: u8,
    take_over_dst_weather_reserved6: u8,
    take_over_dst_weather_reserved7: u8,
    take_over_dst_weather_reserved8: u8,
    is_enable_apply_map_gd_region_id_for_gparam: u8,
    reserved2: [u8; 1],
    override_map_gd_region_id: i16,
    reserved1: [u8; 12],
}

impl ParamDef for CUTSCENE_GPARAM_WEATHER_PARAM_ST {
    const NAME: &str = "CUTSCENE_GPARAM_WEATHER_PARAM_ST";
}

impl CUTSCENE_GPARAM_WEATHER_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_param_debug(&self) -> u8 {
        (self.bits_0 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_debug(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    pub fn dst_weather_sunny(&self) -> i16 {
        self.dst_weather_sunny
    }

    pub fn set_dst_weather_sunny(&mut self, value: i16) {
        self.dst_weather_sunny = value;
    }

    pub fn dst_weather_clear_sky(&self) -> i16 {
        self.dst_weather_clear_sky
    }

    pub fn set_dst_weather_clear_sky(&mut self, value: i16) {
        self.dst_weather_clear_sky = value;
    }

    pub fn dst_weather_weak_cloudy(&self) -> i16 {
        self.dst_weather_weak_cloudy
    }

    pub fn set_dst_weather_weak_cloudy(&mut self, value: i16) {
        self.dst_weather_weak_cloudy = value;
    }

    pub fn dst_weather_cloud(&self) -> i16 {
        self.dst_weather_cloud
    }

    pub fn set_dst_weather_cloud(&mut self, value: i16) {
        self.dst_weather_cloud = value;
    }

    pub fn dst_weather_rain(&self) -> i16 {
        self.dst_weather_rain
    }

    pub fn set_dst_weather_rain(&mut self, value: i16) {
        self.dst_weather_rain = value;
    }

    pub fn dst_weather_heavy_rain(&self) -> i16 {
        self.dst_weather_heavy_rain
    }

    pub fn set_dst_weather_heavy_rain(&mut self, value: i16) {
        self.dst_weather_heavy_rain = value;
    }

    pub fn dst_weather_storm(&self) -> i16 {
        self.dst_weather_storm
    }

    pub fn set_dst_weather_storm(&mut self, value: i16) {
        self.dst_weather_storm = value;
    }

    pub fn dst_weather_storm_for_battle(&self) -> i16 {
        self.dst_weather_storm_for_battle
    }

    pub fn set_dst_weather_storm_for_battle(&mut self, value: i16) {
        self.dst_weather_storm_for_battle = value;
    }

    pub fn dst_weather_snow(&self) -> i16 {
        self.dst_weather_snow
    }

    pub fn set_dst_weather_snow(&mut self, value: i16) {
        self.dst_weather_snow = value;
    }

    pub fn dst_weather_heavy_snow(&self) -> i16 {
        self.dst_weather_heavy_snow
    }

    pub fn set_dst_weather_heavy_snow(&mut self, value: i16) {
        self.dst_weather_heavy_snow = value;
    }

    pub fn dst_weather_fog(&self) -> i16 {
        self.dst_weather_fog
    }

    pub fn set_dst_weather_fog(&mut self, value: i16) {
        self.dst_weather_fog = value;
    }

    pub fn dst_weather_heavy_fog(&self) -> i16 {
        self.dst_weather_heavy_fog
    }

    pub fn set_dst_weather_heavy_fog(&mut self, value: i16) {
        self.dst_weather_heavy_fog = value;
    }

    pub fn dst_weather_sand_storm(&self) -> i16 {
        self.dst_weather_sand_storm
    }

    pub fn set_dst_weather_sand_storm(&mut self, value: i16) {
        self.dst_weather_sand_storm = value;
    }

    pub fn dst_weather_heavy_fog_rain(&self) -> i16 {
        self.dst_weather_heavy_fog_rain
    }

    pub fn set_dst_weather_heavy_fog_rain(&mut self, value: i16) {
        self.dst_weather_heavy_fog_rain = value;
    }

    pub fn post_play_ingame_weather(&self) -> i16 {
        self.post_play_ingame_weather
    }

    pub fn set_post_play_ingame_weather(&mut self, value: i16) {
        self.post_play_ingame_weather = value;
    }

    pub fn indoor_outdoor_type(&self) -> u8 {
        self.indoor_outdoor_type
    }

    pub fn set_indoor_outdoor_type(&mut self, value: u8) {
        self.indoor_outdoor_type = value;
    }

    pub fn take_over_dst_weather_sunny(&self) -> u8 {
        self.take_over_dst_weather_sunny
    }

    pub fn set_take_over_dst_weather_sunny(&mut self, value: u8) {
        self.take_over_dst_weather_sunny = value;
    }

    pub fn take_over_dst_weather_clear_sky(&self) -> u8 {
        self.take_over_dst_weather_clear_sky
    }

    pub fn set_take_over_dst_weather_clear_sky(&mut self, value: u8) {
        self.take_over_dst_weather_clear_sky = value;
    }

    pub fn take_over_dst_weather_weak_cloudy(&self) -> u8 {
        self.take_over_dst_weather_weak_cloudy
    }

    pub fn set_take_over_dst_weather_weak_cloudy(&mut self, value: u8) {
        self.take_over_dst_weather_weak_cloudy = value;
    }

    pub fn take_over_dst_weather_cloud(&self) -> u8 {
        self.take_over_dst_weather_cloud
    }

    pub fn set_take_over_dst_weather_cloud(&mut self, value: u8) {
        self.take_over_dst_weather_cloud = value;
    }

    pub fn take_over_dst_weather_rain(&self) -> u8 {
        self.take_over_dst_weather_rain
    }

    pub fn set_take_over_dst_weather_rain(&mut self, value: u8) {
        self.take_over_dst_weather_rain = value;
    }

    pub fn take_over_dst_weather_heavy_rain(&self) -> u8 {
        self.take_over_dst_weather_heavy_rain
    }

    pub fn set_take_over_dst_weather_heavy_rain(&mut self, value: u8) {
        self.take_over_dst_weather_heavy_rain = value;
    }

    pub fn take_over_dst_weather_storm(&self) -> u8 {
        self.take_over_dst_weather_storm
    }

    pub fn set_take_over_dst_weather_storm(&mut self, value: u8) {
        self.take_over_dst_weather_storm = value;
    }

    pub fn take_over_dst_weather_storm_for_battle(&self) -> u8 {
        self.take_over_dst_weather_storm_for_battle
    }

    pub fn set_take_over_dst_weather_storm_for_battle(&mut self, value: u8) {
        self.take_over_dst_weather_storm_for_battle = value;
    }

    pub fn take_over_dst_weather_snow(&self) -> u8 {
        self.take_over_dst_weather_snow
    }

    pub fn set_take_over_dst_weather_snow(&mut self, value: u8) {
        self.take_over_dst_weather_snow = value;
    }

    pub fn take_over_dst_weather_heavy_snow(&self) -> u8 {
        self.take_over_dst_weather_heavy_snow
    }

    pub fn set_take_over_dst_weather_heavy_snow(&mut self, value: u8) {
        self.take_over_dst_weather_heavy_snow = value;
    }

    pub fn take_over_dst_weather_fog(&self) -> u8 {
        self.take_over_dst_weather_fog
    }

    pub fn set_take_over_dst_weather_fog(&mut self, value: u8) {
        self.take_over_dst_weather_fog = value;
    }

    pub fn take_over_dst_weather_heavy_fog(&self) -> u8 {
        self.take_over_dst_weather_heavy_fog
    }

    pub fn set_take_over_dst_weather_heavy_fog(&mut self, value: u8) {
        self.take_over_dst_weather_heavy_fog = value;
    }

    pub fn take_over_dst_weather_sand_storm(&self) -> u8 {
        self.take_over_dst_weather_sand_storm
    }

    pub fn set_take_over_dst_weather_sand_storm(&mut self, value: u8) {
        self.take_over_dst_weather_sand_storm = value;
    }

    pub fn take_over_dst_weather_heavy_fog_rain(&self) -> u8 {
        self.take_over_dst_weather_heavy_fog_rain
    }

    pub fn set_take_over_dst_weather_heavy_fog_rain(&mut self, value: u8) {
        self.take_over_dst_weather_heavy_fog_rain = value;
    }

    pub fn dst_weather_snowstorm(&self) -> i16 {
        self.dst_weather_snowstorm
    }

    pub fn set_dst_weather_snowstorm(&mut self, value: i16) {
        self.dst_weather_snowstorm = value;
    }

    pub fn dst_weather_lightning_storm(&self) -> i16 {
        self.dst_weather_lightning_storm
    }

    pub fn set_dst_weather_lightning_storm(&mut self, value: i16) {
        self.dst_weather_lightning_storm = value;
    }

    pub fn take_over_dst_weather_snowstorm(&self) -> u8 {
        self.take_over_dst_weather_snowstorm
    }

    pub fn set_take_over_dst_weather_snowstorm(&mut self, value: u8) {
        self.take_over_dst_weather_snowstorm = value;
    }

    pub fn take_over_dst_weather_lightning_storm(&self) -> u8 {
        self.take_over_dst_weather_lightning_storm
    }

    pub fn set_take_over_dst_weather_lightning_storm(&mut self, value: u8) {
        self.take_over_dst_weather_lightning_storm = value;
    }

    pub fn is_enable_apply_map_gd_region_id_for_gparam(&self) -> u8 {
        self.is_enable_apply_map_gd_region_id_for_gparam
    }

    pub fn set_is_enable_apply_map_gd_region_id_for_gparam(&mut self, value: u8) {
        self.is_enable_apply_map_gd_region_id_for_gparam = value;
    }

    pub fn override_map_gd_region_id(&self) -> i16 {
        self.override_map_gd_region_id
    }

    pub fn set_override_map_gd_region_id(&mut self, value: i16) {
        self.override_map_gd_region_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CUTSCENE_MAP_ID_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    play_map_id: u32,
    require_map_id0: u32,
    require_map_id1: u32,
    require_map_id2: u32,
    ref_cam_pos_hit_parts_id: i32,
    unknown_0x18: i32,
    reserved_2: [u8; 8],
    client_disable_view_time_for_progress: u16,
    reserved: [u8; 2],
    hit_parts_0: i32,
    hit_parts_1: i32,
}

impl ParamDef for CUTSCENE_MAP_ID_PARAM_ST {
    const NAME: &str = "CUTSCENE_MAP_ID_PARAM_ST";
}

impl CUTSCENE_MAP_ID_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_param_debug(&self) -> u8 {
        (self.bits_0 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_debug(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    pub fn play_map_id(&self) -> u32 {
        self.play_map_id
    }

    pub fn set_play_map_id(&mut self, value: u32) {
        self.play_map_id = value;
    }

    pub fn require_map_id0(&self) -> u32 {
        self.require_map_id0
    }

    pub fn set_require_map_id0(&mut self, value: u32) {
        self.require_map_id0 = value;
    }

    pub fn require_map_id1(&self) -> u32 {
        self.require_map_id1
    }

    pub fn set_require_map_id1(&mut self, value: u32) {
        self.require_map_id1 = value;
    }

    pub fn require_map_id2(&self) -> u32 {
        self.require_map_id2
    }

    pub fn set_require_map_id2(&mut self, value: u32) {
        self.require_map_id2 = value;
    }

    pub fn ref_cam_pos_hit_parts_id(&self) -> i32 {
        self.ref_cam_pos_hit_parts_id
    }

    pub fn set_ref_cam_pos_hit_parts_id(&mut self, value: i32) {
        self.ref_cam_pos_hit_parts_id = value;
    }

    pub fn client_disable_view_time_for_progress(&self) -> u16 {
        self.client_disable_view_time_for_progress
    }

    pub fn set_client_disable_view_time_for_progress(&mut self, value: u16) {
        self.client_disable_view_time_for_progress = value;
    }

    pub fn hit_parts_0(&self) -> i32 {
        self.hit_parts_0
    }

    pub fn set_hit_parts_0(&mut self, value: i32) {
        self.hit_parts_0 = value;
    }

    pub fn hit_parts_1(&self) -> i32 {
        self.hit_parts_1
    }

    pub fn set_hit_parts_1(&mut self, value: i32) {
        self.hit_parts_1 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CUTSCENE_TEXTURE_LOAD_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    tex_name_00: [u8; 16],
    tex_name_01: [u8; 16],
    tex_name_02: [u8; 16],
    tex_name_03: [u8; 16],
    tex_name_04: [u8; 16],
    tex_name_05: [u8; 16],
    tex_name_06: [u8; 16],
    tex_name_07: [u8; 16],
    tex_name_08: [u8; 16],
    tex_name_09: [u8; 16],
    tex_name_10: [u8; 16],
    tex_name_11: [u8; 16],
    tex_name_12: [u8; 16],
    tex_name_13: [u8; 16],
    tex_name_14: [u8; 16],
    tex_name_15: [u8; 16],
}

impl ParamDef for CUTSCENE_TEXTURE_LOAD_PARAM_ST {
    const NAME: &str = "CUTSCENE_TEXTURE_LOAD_PARAM_ST";
}

impl CUTSCENE_TEXTURE_LOAD_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_param_debug(&self) -> u8 {
        (self.bits_0 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_debug(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    pub fn tex_name_00(&self) -> &[u8; 16] {
        &self.tex_name_00
    }

    pub fn set_tex_name_00(&mut self, value: [u8; 16]) {
        self.tex_name_00 = value;
    }

    pub fn tex_name_01(&self) -> &[u8; 16] {
        &self.tex_name_01
    }

    pub fn set_tex_name_01(&mut self, value: [u8; 16]) {
        self.tex_name_01 = value;
    }

    pub fn tex_name_02(&self) -> &[u8; 16] {
        &self.tex_name_02
    }

    pub fn set_tex_name_02(&mut self, value: [u8; 16]) {
        self.tex_name_02 = value;
    }

    pub fn tex_name_03(&self) -> &[u8; 16] {
        &self.tex_name_03
    }

    pub fn set_tex_name_03(&mut self, value: [u8; 16]) {
        self.tex_name_03 = value;
    }

    pub fn tex_name_04(&self) -> &[u8; 16] {
        &self.tex_name_04
    }

    pub fn set_tex_name_04(&mut self, value: [u8; 16]) {
        self.tex_name_04 = value;
    }

    pub fn tex_name_05(&self) -> &[u8; 16] {
        &self.tex_name_05
    }

    pub fn set_tex_name_05(&mut self, value: [u8; 16]) {
        self.tex_name_05 = value;
    }

    pub fn tex_name_06(&self) -> &[u8; 16] {
        &self.tex_name_06
    }

    pub fn set_tex_name_06(&mut self, value: [u8; 16]) {
        self.tex_name_06 = value;
    }

    pub fn tex_name_07(&self) -> &[u8; 16] {
        &self.tex_name_07
    }

    pub fn set_tex_name_07(&mut self, value: [u8; 16]) {
        self.tex_name_07 = value;
    }

    pub fn tex_name_08(&self) -> &[u8; 16] {
        &self.tex_name_08
    }

    pub fn set_tex_name_08(&mut self, value: [u8; 16]) {
        self.tex_name_08 = value;
    }

    pub fn tex_name_09(&self) -> &[u8; 16] {
        &self.tex_name_09
    }

    pub fn set_tex_name_09(&mut self, value: [u8; 16]) {
        self.tex_name_09 = value;
    }

    pub fn tex_name_10(&self) -> &[u8; 16] {
        &self.tex_name_10
    }

    pub fn set_tex_name_10(&mut self, value: [u8; 16]) {
        self.tex_name_10 = value;
    }

    pub fn tex_name_11(&self) -> &[u8; 16] {
        &self.tex_name_11
    }

    pub fn set_tex_name_11(&mut self, value: [u8; 16]) {
        self.tex_name_11 = value;
    }

    pub fn tex_name_12(&self) -> &[u8; 16] {
        &self.tex_name_12
    }

    pub fn set_tex_name_12(&mut self, value: [u8; 16]) {
        self.tex_name_12 = value;
    }

    pub fn tex_name_13(&self) -> &[u8; 16] {
        &self.tex_name_13
    }

    pub fn set_tex_name_13(&mut self, value: [u8; 16]) {
        self.tex_name_13 = value;
    }

    pub fn tex_name_14(&self) -> &[u8; 16] {
        &self.tex_name_14
    }

    pub fn set_tex_name_14(&mut self, value: [u8; 16]) {
        self.tex_name_14 = value;
    }

    pub fn tex_name_15(&self) -> &[u8; 16] {
        &self.tex_name_15
    }

    pub fn set_tex_name_15(&mut self, value: [u8; 16]) {
        self.tex_name_15 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CUTSCENE_TIMEZONE_CONVERT_PARAM_ST {
    src_timezone_start: f32,
    dst_cutscen_time: f32,
}

impl ParamDef for CUTSCENE_TIMEZONE_CONVERT_PARAM_ST {
    const NAME: &str = "CUTSCENE_TIMEZONE_CONVERT_PARAM_ST";
}

impl CUTSCENE_TIMEZONE_CONVERT_PARAM_ST {
    pub fn src_timezone_start(&self) -> f32 {
        self.src_timezone_start
    }

    pub fn set_src_timezone_start(&mut self, value: f32) {
        self.src_timezone_start = value;
    }

    pub fn dst_cutscen_time(&self) -> f32 {
        self.dst_cutscen_time
    }

    pub fn set_dst_cutscen_time(&mut self, value: f32) {
        self.dst_cutscen_time = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct CUTSCENE_WEATHER_OVERRIDE_GPARAM_ID_CONVERT_PARAM_ST {
    weather_override_gparam_id: u32,
}

impl ParamDef for CUTSCENE_WEATHER_OVERRIDE_GPARAM_ID_CONVERT_PARAM_ST {
    const NAME: &str = "CUTSCENE_WEATHER_OVERRIDE_GPARAM_ID_CONVERT_PARAM_ST";
}

impl CUTSCENE_WEATHER_OVERRIDE_GPARAM_ID_CONVERT_PARAM_ST {
    pub fn weather_override_gparam_id(&self) -> u32 {
        self.weather_override_gparam_id
    }

    pub fn set_weather_override_gparam_id(&mut self, value: u32) {
        self.weather_override_gparam_id = 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,
    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_hight_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,
    thin_out_overlap_multi_radius: f32,
    thin_out_neighbor_add_radius: f32,
    thin_out_overlap_limit_num: u32,
    thin_out_neighbor_limit_num: u32,
    thin_out_mode: i8,
    emissive_color_r: u8,
    emissive_color_g: u8,
    emissive_color_b: u8,
    max_decal_sfx_creatable_slope_angle_deg: f32,
    pad_02: [u8; 40],
}

impl ParamDef for DECAL_PARAM_ST {
    const NAME: &str = "DECAL_PARAM_ST";
}

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_hight_scale(&self) -> f32 {
        self.pom_hight_scale
    }

    pub fn set_pom_hight_scale(&mut self, value: f32) {
        self.pom_hight_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;
    }

    pub fn thin_out_overlap_multi_radius(&self) -> f32 {
        self.thin_out_overlap_multi_radius
    }

    pub fn set_thin_out_overlap_multi_radius(&mut self, value: f32) {
        self.thin_out_overlap_multi_radius = value;
    }

    pub fn thin_out_neighbor_add_radius(&self) -> f32 {
        self.thin_out_neighbor_add_radius
    }

    pub fn set_thin_out_neighbor_add_radius(&mut self, value: f32) {
        self.thin_out_neighbor_add_radius = value;
    }

    pub fn thin_out_overlap_limit_num(&self) -> u32 {
        self.thin_out_overlap_limit_num
    }

    pub fn set_thin_out_overlap_limit_num(&mut self, value: u32) {
        self.thin_out_overlap_limit_num = value;
    }

    pub fn thin_out_neighbor_limit_num(&self) -> u32 {
        self.thin_out_neighbor_limit_num
    }

    pub fn set_thin_out_neighbor_limit_num(&mut self, value: u32) {
        self.thin_out_neighbor_limit_num = value;
    }

    pub fn thin_out_mode(&self) -> i8 {
        self.thin_out_mode
    }

    pub fn set_thin_out_mode(&mut self, value: i8) {
        self.thin_out_mode = value;
    }

    pub fn emissive_color_r(&self) -> u8 {
        self.emissive_color_r
    }

    pub fn set_emissive_color_r(&mut self, value: u8) {
        self.emissive_color_r = value;
    }

    pub fn emissive_color_g(&self) -> u8 {
        self.emissive_color_g
    }

    pub fn set_emissive_color_g(&mut self, value: u8) {
        self.emissive_color_g = value;
    }

    pub fn emissive_color_b(&self) -> u8 {
        self.emissive_color_b
    }

    pub fn set_emissive_color_b(&mut self, value: u8) {
        self.emissive_color_b = value;
    }

    pub fn max_decal_sfx_creatable_slope_angle_deg(&self) -> f32 {
        self.max_decal_sfx_creatable_slope_angle_deg
    }

    pub fn set_max_decal_sfx_creatable_slope_angle_deg(&mut self, value: f32) {
        self.max_decal_sfx_creatable_slope_angle_deg = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct DEFAULT_KEY_ASSIGN {
    bits_0: u8,
    bits_1: u8,
    bits_2: u8,
    bits_3: u8,
    dummy: [u8; 12],
    phyisical_key_0: i32,
    traits_type_0: u8,
    a2d_operator_0: u8,
    apply_target_0: u8,
    bits_17: u8,
    time1_0: f32,
    time2_0: f32,
    a2d_threshold_0: f32,
    phyisical_key_1: i32,
    traits_type_1: u8,
    a2d_operator_1: u8,
    apply_target_1: u8,
    bits_2b: u8,
    time1_1: f32,
    time2_1: f32,
    a2d_threshold_1: f32,
    phyisical_key_2: i32,
    traits_type_2: u8,
    a2d_operator_2: u8,
    apply_target_2: u8,
    bits_3f: u8,
    time1_2: f32,
    time2_2: f32,
    a2d_threshold_2: f32,
    phyisical_key_3: i32,
    traits_type_3: u8,
    a2d_operator_3: u8,
    apply_target_3: u8,
    bits_53: u8,
    time1_3: f32,
    time2_3: f32,
    a2d_threshold_3: f32,
    phyisical_key_4: i32,
    traits_type_4: u8,
    a2d_operator_4: u8,
    apply_target_4: u8,
    bits_67: u8,
    time1_4: f32,
    time2_4: f32,
    a2d_threshold_4: f32,
    phyisical_key_5: i32,
    traits_type_5: u8,
    a2d_operator_5: u8,
    apply_target_5: u8,
    bits_7b: u8,
    time1_5: f32,
    time2_5: f32,
    a2d_threshold_5: f32,
    phyisical_key_6: i32,
    traits_type_6: u8,
    a2d_operator_6: u8,
    apply_target_6: u8,
    bits_8f: u8,
    time1_6: f32,
    time2_6: f32,
    a2d_threshold_6: f32,
    phyisical_key_7: i32,
    traits_type_7: u8,
    a2d_operator_7: u8,
    apply_target_7: u8,
    bits_a3: u8,
    time1_7: f32,
    time2_7: f32,
    a2d_threshold_7: f32,
}

impl ParamDef for DEFAULT_KEY_ASSIGN {
    const NAME: &str = "DEFAULT_KEY_ASSIGN";
}

impl DEFAULT_KEY_ASSIGN {
    #[allow(clippy::identity_op)]
    pub fn priority0(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority0(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn priority1(&self) -> u8 {
        (self.bits_0 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority1(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn priority2(&self) -> u8 {
        (self.bits_0 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority2(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn priority3(&self) -> u8 {
        (self.bits_0 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority3(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn priority4(&self) -> u8 {
        (self.bits_0 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority4(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn priority5(&self) -> u8 {
        (self.bits_0 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority5(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn priority6(&self) -> u8 {
        (self.bits_0 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority6(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn priority7(&self) -> u8 {
        (self.bits_0 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority7(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn priority8(&self) -> u8 {
        (self.bits_1 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority8(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn priority9(&self) -> u8 {
        (self.bits_1 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority9(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn priority10(&self) -> u8 {
        (self.bits_1 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority10(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn priority11(&self) -> u8 {
        (self.bits_1 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority11(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn priority12(&self) -> u8 {
        (self.bits_1 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority12(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn priority13(&self) -> u8 {
        (self.bits_1 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority13(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn priority14(&self) -> u8 {
        (self.bits_1 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority14(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn priority15(&self) -> u8 {
        (self.bits_1 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority15(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn priority16(&self) -> u8 {
        (self.bits_2 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority16(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn priority17(&self) -> u8 {
        (self.bits_2 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority17(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn priority18(&self) -> u8 {
        (self.bits_2 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority18(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn priority19(&self) -> u8 {
        (self.bits_2 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority19(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn priority20(&self) -> u8 {
        (self.bits_2 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority20(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn priority21(&self) -> u8 {
        (self.bits_2 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority21(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn priority22(&self) -> u8 {
        (self.bits_2 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority22(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn priority23(&self) -> u8 {
        (self.bits_2 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority23(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn priority24(&self) -> u8 {
        (self.bits_3 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority24(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn priority25(&self) -> u8 {
        (self.bits_3 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority25(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn priority26(&self) -> u8 {
        (self.bits_3 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority26(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn priority27(&self) -> u8 {
        (self.bits_3 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority27(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn priority28(&self) -> u8 {
        (self.bits_3 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority28(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn priority29(&self) -> u8 {
        (self.bits_3 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority29(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn priority30(&self) -> u8 {
        (self.bits_3 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority30(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn priority31(&self) -> u8 {
        (self.bits_3 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_priority31(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn phyisical_key_0(&self) -> i32 {
        self.phyisical_key_0
    }

    pub fn set_phyisical_key_0(&mut self, value: i32) {
        self.phyisical_key_0 = value;
    }

    pub fn traits_type_0(&self) -> u8 {
        self.traits_type_0
    }

    pub fn set_traits_type_0(&mut self, value: u8) {
        self.traits_type_0 = value;
    }

    pub fn a2d_operator_0(&self) -> u8 {
        self.a2d_operator_0
    }

    pub fn set_a2d_operator_0(&mut self, value: u8) {
        self.a2d_operator_0 = value;
    }

    pub fn apply_target_0(&self) -> u8 {
        self.apply_target_0
    }

    pub fn set_apply_target_0(&mut self, value: u8) {
        self.apply_target_0 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_analog_0(&self) -> u8 {
        (self.bits_17 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_analog_0(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_win64_0(&self) -> u8 {
        (self.bits_17 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_win64_0(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ps4_0(&self) -> u8 {
        (self.bits_17 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ps4_0(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_xbox_one_0(&self) -> u8 {
        (self.bits_17 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_xbox_one_0(&mut self, value: u8) {
        self.bits_17 = (self.bits_17 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn time1_0(&self) -> f32 {
        self.time1_0
    }

    pub fn set_time1_0(&mut self, value: f32) {
        self.time1_0 = value;
    }

    pub fn time2_0(&self) -> f32 {
        self.time2_0
    }

    pub fn set_time2_0(&mut self, value: f32) {
        self.time2_0 = value;
    }

    pub fn a2d_threshold_0(&self) -> f32 {
        self.a2d_threshold_0
    }

    pub fn set_a2d_threshold_0(&mut self, value: f32) {
        self.a2d_threshold_0 = value;
    }

    pub fn phyisical_key_1(&self) -> i32 {
        self.phyisical_key_1
    }

    pub fn set_phyisical_key_1(&mut self, value: i32) {
        self.phyisical_key_1 = value;
    }

    pub fn traits_type_1(&self) -> u8 {
        self.traits_type_1
    }

    pub fn set_traits_type_1(&mut self, value: u8) {
        self.traits_type_1 = value;
    }

    pub fn a2d_operator_1(&self) -> u8 {
        self.a2d_operator_1
    }

    pub fn set_a2d_operator_1(&mut self, value: u8) {
        self.a2d_operator_1 = value;
    }

    pub fn apply_target_1(&self) -> u8 {
        self.apply_target_1
    }

    pub fn set_apply_target_1(&mut self, value: u8) {
        self.apply_target_1 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_analog_1(&self) -> u8 {
        (self.bits_2b >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_analog_1(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_win64_1(&self) -> u8 {
        (self.bits_2b >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_win64_1(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ps4_1(&self) -> u8 {
        (self.bits_2b >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ps4_1(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_xbox_one_1(&self) -> u8 {
        (self.bits_2b >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_xbox_one_1(&mut self, value: u8) {
        self.bits_2b = (self.bits_2b & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn time1_1(&self) -> f32 {
        self.time1_1
    }

    pub fn set_time1_1(&mut self, value: f32) {
        self.time1_1 = value;
    }

    pub fn time2_1(&self) -> f32 {
        self.time2_1
    }

    pub fn set_time2_1(&mut self, value: f32) {
        self.time2_1 = value;
    }

    pub fn a2d_threshold_1(&self) -> f32 {
        self.a2d_threshold_1
    }

    pub fn set_a2d_threshold_1(&mut self, value: f32) {
        self.a2d_threshold_1 = value;
    }

    pub fn phyisical_key_2(&self) -> i32 {
        self.phyisical_key_2
    }

    pub fn set_phyisical_key_2(&mut self, value: i32) {
        self.phyisical_key_2 = value;
    }

    pub fn traits_type_2(&self) -> u8 {
        self.traits_type_2
    }

    pub fn set_traits_type_2(&mut self, value: u8) {
        self.traits_type_2 = value;
    }

    pub fn a2d_operator_2(&self) -> u8 {
        self.a2d_operator_2
    }

    pub fn set_a2d_operator_2(&mut self, value: u8) {
        self.a2d_operator_2 = value;
    }

    pub fn apply_target_2(&self) -> u8 {
        self.apply_target_2
    }

    pub fn set_apply_target_2(&mut self, value: u8) {
        self.apply_target_2 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_analog_2(&self) -> u8 {
        (self.bits_3f >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_analog_2(&mut self, value: u8) {
        self.bits_3f = (self.bits_3f & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_win64_2(&self) -> u8 {
        (self.bits_3f >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_win64_2(&mut self, value: u8) {
        self.bits_3f = (self.bits_3f & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ps4_2(&self) -> u8 {
        (self.bits_3f >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ps4_2(&mut self, value: u8) {
        self.bits_3f = (self.bits_3f & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_xbox_one_2(&self) -> u8 {
        (self.bits_3f >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_xbox_one_2(&mut self, value: u8) {
        self.bits_3f = (self.bits_3f & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn time1_2(&self) -> f32 {
        self.time1_2
    }

    pub fn set_time1_2(&mut self, value: f32) {
        self.time1_2 = value;
    }

    pub fn time2_2(&self) -> f32 {
        self.time2_2
    }

    pub fn set_time2_2(&mut self, value: f32) {
        self.time2_2 = value;
    }

    pub fn a2d_threshold_2(&self) -> f32 {
        self.a2d_threshold_2
    }

    pub fn set_a2d_threshold_2(&mut self, value: f32) {
        self.a2d_threshold_2 = value;
    }

    pub fn phyisical_key_3(&self) -> i32 {
        self.phyisical_key_3
    }

    pub fn set_phyisical_key_3(&mut self, value: i32) {
        self.phyisical_key_3 = value;
    }

    pub fn traits_type_3(&self) -> u8 {
        self.traits_type_3
    }

    pub fn set_traits_type_3(&mut self, value: u8) {
        self.traits_type_3 = value;
    }

    pub fn a2d_operator_3(&self) -> u8 {
        self.a2d_operator_3
    }

    pub fn set_a2d_operator_3(&mut self, value: u8) {
        self.a2d_operator_3 = value;
    }

    pub fn apply_target_3(&self) -> u8 {
        self.apply_target_3
    }

    pub fn set_apply_target_3(&mut self, value: u8) {
        self.apply_target_3 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_analog_3(&self) -> u8 {
        (self.bits_53 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_analog_3(&mut self, value: u8) {
        self.bits_53 = (self.bits_53 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_win64_3(&self) -> u8 {
        (self.bits_53 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_win64_3(&mut self, value: u8) {
        self.bits_53 = (self.bits_53 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ps4_3(&self) -> u8 {
        (self.bits_53 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ps4_3(&mut self, value: u8) {
        self.bits_53 = (self.bits_53 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_xbox_one_3(&self) -> u8 {
        (self.bits_53 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_xbox_one_3(&mut self, value: u8) {
        self.bits_53 = (self.bits_53 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn time1_3(&self) -> f32 {
        self.time1_3
    }

    pub fn set_time1_3(&mut self, value: f32) {
        self.time1_3 = value;
    }

    pub fn time2_3(&self) -> f32 {
        self.time2_3
    }

    pub fn set_time2_3(&mut self, value: f32) {
        self.time2_3 = value;
    }

    pub fn a2d_threshold_3(&self) -> f32 {
        self.a2d_threshold_3
    }

    pub fn set_a2d_threshold_3(&mut self, value: f32) {
        self.a2d_threshold_3 = value;
    }

    pub fn phyisical_key_4(&self) -> i32 {
        self.phyisical_key_4
    }

    pub fn set_phyisical_key_4(&mut self, value: i32) {
        self.phyisical_key_4 = value;
    }

    pub fn traits_type_4(&self) -> u8 {
        self.traits_type_4
    }

    pub fn set_traits_type_4(&mut self, value: u8) {
        self.traits_type_4 = value;
    }

    pub fn a2d_operator_4(&self) -> u8 {
        self.a2d_operator_4
    }

    pub fn set_a2d_operator_4(&mut self, value: u8) {
        self.a2d_operator_4 = value;
    }

    pub fn apply_target_4(&self) -> u8 {
        self.apply_target_4
    }

    pub fn set_apply_target_4(&mut self, value: u8) {
        self.apply_target_4 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_analog_4(&self) -> u8 {
        (self.bits_67 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_analog_4(&mut self, value: u8) {
        self.bits_67 = (self.bits_67 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_win64_4(&self) -> u8 {
        (self.bits_67 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_win64_4(&mut self, value: u8) {
        self.bits_67 = (self.bits_67 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ps4_4(&self) -> u8 {
        (self.bits_67 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ps4_4(&mut self, value: u8) {
        self.bits_67 = (self.bits_67 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_xbox_one_4(&self) -> u8 {
        (self.bits_67 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_xbox_one_4(&mut self, value: u8) {
        self.bits_67 = (self.bits_67 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn time1_4(&self) -> f32 {
        self.time1_4
    }

    pub fn set_time1_4(&mut self, value: f32) {
        self.time1_4 = value;
    }

    pub fn time2_4(&self) -> f32 {
        self.time2_4
    }

    pub fn set_time2_4(&mut self, value: f32) {
        self.time2_4 = value;
    }

    pub fn a2d_threshold_4(&self) -> f32 {
        self.a2d_threshold_4
    }

    pub fn set_a2d_threshold_4(&mut self, value: f32) {
        self.a2d_threshold_4 = value;
    }

    pub fn phyisical_key_5(&self) -> i32 {
        self.phyisical_key_5
    }

    pub fn set_phyisical_key_5(&mut self, value: i32) {
        self.phyisical_key_5 = value;
    }

    pub fn traits_type_5(&self) -> u8 {
        self.traits_type_5
    }

    pub fn set_traits_type_5(&mut self, value: u8) {
        self.traits_type_5 = value;
    }

    pub fn a2d_operator_5(&self) -> u8 {
        self.a2d_operator_5
    }

    pub fn set_a2d_operator_5(&mut self, value: u8) {
        self.a2d_operator_5 = value;
    }

    pub fn apply_target_5(&self) -> u8 {
        self.apply_target_5
    }

    pub fn set_apply_target_5(&mut self, value: u8) {
        self.apply_target_5 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_analog_5(&self) -> u8 {
        (self.bits_7b >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_analog_5(&mut self, value: u8) {
        self.bits_7b = (self.bits_7b & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_win64_5(&self) -> u8 {
        (self.bits_7b >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_win64_5(&mut self, value: u8) {
        self.bits_7b = (self.bits_7b & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ps4_5(&self) -> u8 {
        (self.bits_7b >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ps4_5(&mut self, value: u8) {
        self.bits_7b = (self.bits_7b & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_xbox_one_5(&self) -> u8 {
        (self.bits_7b >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_xbox_one_5(&mut self, value: u8) {
        self.bits_7b = (self.bits_7b & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn time1_5(&self) -> f32 {
        self.time1_5
    }

    pub fn set_time1_5(&mut self, value: f32) {
        self.time1_5 = value;
    }

    pub fn time2_5(&self) -> f32 {
        self.time2_5
    }

    pub fn set_time2_5(&mut self, value: f32) {
        self.time2_5 = value;
    }

    pub fn a2d_threshold_5(&self) -> f32 {
        self.a2d_threshold_5
    }

    pub fn set_a2d_threshold_5(&mut self, value: f32) {
        self.a2d_threshold_5 = value;
    }

    pub fn phyisical_key_6(&self) -> i32 {
        self.phyisical_key_6
    }

    pub fn set_phyisical_key_6(&mut self, value: i32) {
        self.phyisical_key_6 = value;
    }

    pub fn traits_type_6(&self) -> u8 {
        self.traits_type_6
    }

    pub fn set_traits_type_6(&mut self, value: u8) {
        self.traits_type_6 = value;
    }

    pub fn a2d_operator_6(&self) -> u8 {
        self.a2d_operator_6
    }

    pub fn set_a2d_operator_6(&mut self, value: u8) {
        self.a2d_operator_6 = value;
    }

    pub fn apply_target_6(&self) -> u8 {
        self.apply_target_6
    }

    pub fn set_apply_target_6(&mut self, value: u8) {
        self.apply_target_6 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_analog_6(&self) -> u8 {
        (self.bits_8f >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_analog_6(&mut self, value: u8) {
        self.bits_8f = (self.bits_8f & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_win64_6(&self) -> u8 {
        (self.bits_8f >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_win64_6(&mut self, value: u8) {
        self.bits_8f = (self.bits_8f & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ps4_6(&self) -> u8 {
        (self.bits_8f >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ps4_6(&mut self, value: u8) {
        self.bits_8f = (self.bits_8f & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_xbox_one_6(&self) -> u8 {
        (self.bits_8f >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_xbox_one_6(&mut self, value: u8) {
        self.bits_8f = (self.bits_8f & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn time1_6(&self) -> f32 {
        self.time1_6
    }

    pub fn set_time1_6(&mut self, value: f32) {
        self.time1_6 = value;
    }

    pub fn time2_6(&self) -> f32 {
        self.time2_6
    }

    pub fn set_time2_6(&mut self, value: f32) {
        self.time2_6 = value;
    }

    pub fn a2d_threshold_6(&self) -> f32 {
        self.a2d_threshold_6
    }

    pub fn set_a2d_threshold_6(&mut self, value: f32) {
        self.a2d_threshold_6 = value;
    }

    pub fn phyisical_key_7(&self) -> i32 {
        self.phyisical_key_7
    }

    pub fn set_phyisical_key_7(&mut self, value: i32) {
        self.phyisical_key_7 = value;
    }

    pub fn traits_type_7(&self) -> u8 {
        self.traits_type_7
    }

    pub fn set_traits_type_7(&mut self, value: u8) {
        self.traits_type_7 = value;
    }

    pub fn a2d_operator_7(&self) -> u8 {
        self.a2d_operator_7
    }

    pub fn set_a2d_operator_7(&mut self, value: u8) {
        self.a2d_operator_7 = value;
    }

    pub fn apply_target_7(&self) -> u8 {
        self.apply_target_7
    }

    pub fn set_apply_target_7(&mut self, value: u8) {
        self.apply_target_7 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_analog_7(&self) -> u8 {
        (self.bits_a3 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_analog_7(&mut self, value: u8) {
        self.bits_a3 = (self.bits_a3 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_win64_7(&self) -> u8 {
        (self.bits_a3 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_win64_7(&mut self, value: u8) {
        self.bits_a3 = (self.bits_a3 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ps4_7(&self) -> u8 {
        (self.bits_a3 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ps4_7(&mut self, value: u8) {
        self.bits_a3 = (self.bits_a3 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_xbox_one_7(&self) -> u8 {
        (self.bits_a3 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_xbox_one_7(&mut self, value: u8) {
        self.bits_a3 = (self.bits_a3 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    pub fn time1_7(&self) -> f32 {
        self.time1_7
    }

    pub fn set_time1_7(&mut self, value: f32) {
        self.time1_7 = value;
    }

    pub fn time2_7(&self) -> f32 {
        self.time2_7
    }

    pub fn set_time2_7(&mut self, value: f32) {
        self.time2_7 = value;
    }

    pub fn a2d_threshold_7(&self) -> f32 {
        self.a2d_threshold_7
    }

    pub fn set_a2d_threshold_7(&mut self, value: f32) {
        self.a2d_threshold_7 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct DEFEAT_BOSS_SOUL_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
}

impl ParamDef for DEFEAT_BOSS_SOUL_PARAM_ST {
    const NAME: &str = "DEFEAT_BOSS_SOUL_PARAM_ST";
}

impl DEFEAT_BOSS_SOUL_PARAM_ST {}

#[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";
}

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 ENEMY_COMMON_PARAM_ST {
    reserved0: [u8; 8],
    sound_target_try_approach_time: i32,
    search_target_try_approach_time: i32,
    memory_target_try_approach_time: i32,
    reserved5: [u8; 40],
    activate_chr_by_time_phantom_id: i32,
    find_unfavorable_failed_point_dist: f32,
    find_unfavorable_failed_point_height: f32,
    unknown_1: f32,
    unknown_2: f32,
    unknown_3: f32,
    unknown_4: f32,
    unknown_5: f32,
    unknown_6: f32,
    unknown_7: f32,
    unknown_8: f32,
    unknown_9: f32,
    unknown_10: f32,
    unknown_11: f32,
    unknown_12: f32,
    unknown_13: f32,
    unknown_14: f32,
    unknown_15: f32,
    unknown_16: f32,
    unknown_17: f32,
    unknown_18: f32,
    unknown_19: f32,
    unknown_20: f32,
    unknown_21: f32,
    unknown_22: f32,
    unknown_23: i32,
    unknown_24: i32,
    unknown_25: i32,
    unknown_26: f32,
    unknown_27: i32,
    unknown_28: f32,
    unknown_29: i32,
    unknown_30: i32,
    reserved18: [u8; 64],
}

impl ParamDef for ENEMY_COMMON_PARAM_ST {
    const NAME: &str = "ENEMY_COMMON_PARAM_ST";
}

impl ENEMY_COMMON_PARAM_ST {
    pub fn sound_target_try_approach_time(&self) -> i32 {
        self.sound_target_try_approach_time
    }

    pub fn set_sound_target_try_approach_time(&mut self, value: i32) {
        self.sound_target_try_approach_time = value;
    }

    pub fn search_target_try_approach_time(&self) -> i32 {
        self.search_target_try_approach_time
    }

    pub fn set_search_target_try_approach_time(&mut self, value: i32) {
        self.search_target_try_approach_time = value;
    }

    pub fn memory_target_try_approach_time(&self) -> i32 {
        self.memory_target_try_approach_time
    }

    pub fn set_memory_target_try_approach_time(&mut self, value: i32) {
        self.memory_target_try_approach_time = value;
    }

    pub fn activate_chr_by_time_phantom_id(&self) -> i32 {
        self.activate_chr_by_time_phantom_id
    }

    pub fn set_activate_chr_by_time_phantom_id(&mut self, value: i32) {
        self.activate_chr_by_time_phantom_id = value;
    }

    pub fn find_unfavorable_failed_point_dist(&self) -> f32 {
        self.find_unfavorable_failed_point_dist
    }

    pub fn set_find_unfavorable_failed_point_dist(&mut self, value: f32) {
        self.find_unfavorable_failed_point_dist = value;
    }

    pub fn find_unfavorable_failed_point_height(&self) -> f32 {
        self.find_unfavorable_failed_point_height
    }

    pub fn set_find_unfavorable_failed_point_height(&mut self, value: f32) {
        self.find_unfavorable_failed_point_height = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ENV_OBJ_LOT_PARAM_ST {
    asset_id_0: i32,
    asset_id_1: i32,
    asset_id_2: i32,
    asset_id_3: i32,
    asset_id_4: i32,
    asset_id_5: i32,
    asset_id_6: i32,
    asset_id_7: i32,
    create_weight_0: u8,
    create_weight_1: u8,
    create_weight_2: u8,
    create_weight_3: u8,
    create_weight_4: u8,
    create_weight_5: u8,
    create_weight_6: u8,
    create_weight_7: u8,
    reserve_0: [u8; 24],
}

impl ParamDef for ENV_OBJ_LOT_PARAM_ST {
    const NAME: &str = "ENV_OBJ_LOT_PARAM_ST";
}

impl ENV_OBJ_LOT_PARAM_ST {
    pub fn asset_id_0(&self) -> i32 {
        self.asset_id_0
    }

    pub fn set_asset_id_0(&mut self, value: i32) {
        self.asset_id_0 = value;
    }

    pub fn asset_id_1(&self) -> i32 {
        self.asset_id_1
    }

    pub fn set_asset_id_1(&mut self, value: i32) {
        self.asset_id_1 = value;
    }

    pub fn asset_id_2(&self) -> i32 {
        self.asset_id_2
    }

    pub fn set_asset_id_2(&mut self, value: i32) {
        self.asset_id_2 = value;
    }

    pub fn asset_id_3(&self) -> i32 {
        self.asset_id_3
    }

    pub fn set_asset_id_3(&mut self, value: i32) {
        self.asset_id_3 = value;
    }

    pub fn asset_id_4(&self) -> i32 {
        self.asset_id_4
    }

    pub fn set_asset_id_4(&mut self, value: i32) {
        self.asset_id_4 = value;
    }

    pub fn asset_id_5(&self) -> i32 {
        self.asset_id_5
    }

    pub fn set_asset_id_5(&mut self, value: i32) {
        self.asset_id_5 = value;
    }

    pub fn asset_id_6(&self) -> i32 {
        self.asset_id_6
    }

    pub fn set_asset_id_6(&mut self, value: i32) {
        self.asset_id_6 = value;
    }

    pub fn asset_id_7(&self) -> i32 {
        self.asset_id_7
    }

    pub fn set_asset_id_7(&mut self, value: i32) {
        self.asset_id_7 = value;
    }

    pub fn create_weight_0(&self) -> u8 {
        self.create_weight_0
    }

    pub fn set_create_weight_0(&mut self, value: u8) {
        self.create_weight_0 = value;
    }

    pub fn create_weight_1(&self) -> u8 {
        self.create_weight_1
    }

    pub fn set_create_weight_1(&mut self, value: u8) {
        self.create_weight_1 = value;
    }

    pub fn create_weight_2(&self) -> u8 {
        self.create_weight_2
    }

    pub fn set_create_weight_2(&mut self, value: u8) {
        self.create_weight_2 = value;
    }

    pub fn create_weight_3(&self) -> u8 {
        self.create_weight_3
    }

    pub fn set_create_weight_3(&mut self, value: u8) {
        self.create_weight_3 = value;
    }

    pub fn create_weight_4(&self) -> u8 {
        self.create_weight_4
    }

    pub fn set_create_weight_4(&mut self, value: u8) {
        self.create_weight_4 = value;
    }

    pub fn create_weight_5(&self) -> u8 {
        self.create_weight_5
    }

    pub fn set_create_weight_5(&mut self, value: u8) {
        self.create_weight_5 = value;
    }

    pub fn create_weight_6(&self) -> u8 {
        self.create_weight_6
    }

    pub fn set_create_weight_6(&mut self, value: u8) {
        self.create_weight_6 = value;
    }

    pub fn create_weight_7(&self) -> u8 {
        self.create_weight_7
    }

    pub fn set_create_weight_7(&mut self, value: u8) {
        self.create_weight_7 = value;
    }
}

#[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,
    material_id06: i32,
    pad_id: [u8; 8],
    item_num01: i8,
    item_num02: i8,
    item_num03: i8,
    item_num04: i8,
    item_num05: i8,
    item_num06: i8,
    pad_num: [u8; 2],
    material_cate01: u8,
    material_cate02: u8,
    material_cate03: u8,
    material_cate04: u8,
    material_cate05: u8,
    material_cate06: u8,
    pad_cate: [u8; 2],
    bits_30: u8,
    pad: [u8; 3],
}

impl ParamDef for EQUIP_MTRL_SET_PARAM_ST {
    const NAME: &str = "EQUIP_MTRL_SET_PARAM_ST";
}

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 material_id06(&self) -> i32 {
        self.material_id06
    }

    pub fn set_material_id06(&mut self, value: i32) {
        self.material_id06 = 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;
    }

    pub fn item_num06(&self) -> i8 {
        self.item_num06
    }

    pub fn set_item_num06(&mut self, value: i8) {
        self.item_num06 = value;
    }

    pub fn material_cate01(&self) -> u8 {
        self.material_cate01
    }

    pub fn set_material_cate01(&mut self, value: u8) {
        self.material_cate01 = value;
    }

    pub fn material_cate02(&self) -> u8 {
        self.material_cate02
    }

    pub fn set_material_cate02(&mut self, value: u8) {
        self.material_cate02 = value;
    }

    pub fn material_cate03(&self) -> u8 {
        self.material_cate03
    }

    pub fn set_material_cate03(&mut self, value: u8) {
        self.material_cate03 = value;
    }

    pub fn material_cate04(&self) -> u8 {
        self.material_cate04
    }

    pub fn set_material_cate04(&mut self, value: u8) {
        self.material_cate04 = value;
    }

    pub fn material_cate05(&self) -> u8 {
        self.material_cate05
    }

    pub fn set_material_cate05(&mut self, value: u8) {
        self.material_cate05 = value;
    }

    pub fn material_cate06(&self) -> u8 {
        self.material_cate06
    }

    pub fn set_material_cate06(&mut self, value: u8) {
        self.material_cate06 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num01(&self) -> u8 {
        (self.bits_30 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num01(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num02(&self) -> u8 {
        (self.bits_30 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num02(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num03(&self) -> u8 {
        (self.bits_30 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num03(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num04(&self) -> u8 {
        (self.bits_30 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num04(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num05(&self) -> u8 {
        (self.bits_30 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num05(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_disp_num06(&self) -> u8 {
        (self.bits_30 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_disp_num06(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_PARAM_ACCESSORY_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    weight: f32,
    unknown_2: i32,
    unknown_3: i32,
    sort_id: i32,
    icon_id: i16,
    unknown_5b: i16,
    unknown_6: i32,
    unknown_7: i32,
    sp_effect_id_1: i32,
    sp_effect_id_2: i32,
    sp_effect_id_3: i32,
    end_padding: [u8; 20],
}

impl ParamDef for EQUIP_PARAM_ACCESSORY_ST {
    const NAME: &str = "EQUIP_PARAM_ACCESSORY_ST";
}

impl EQUIP_PARAM_ACCESSORY_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn weight(&self) -> f32 {
        self.weight
    }

    pub fn set_weight(&mut self, value: f32) {
        self.weight = 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 icon_id(&self) -> i16 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i16) {
        self.icon_id = value;
    }

    pub fn sp_effect_id_1(&self) -> i32 {
        self.sp_effect_id_1
    }

    pub fn set_sp_effect_id_1(&mut self, value: i32) {
        self.sp_effect_id_1 = value;
    }

    pub fn sp_effect_id_2(&self) -> i32 {
        self.sp_effect_id_2
    }

    pub fn set_sp_effect_id_2(&mut self, value: i32) {
        self.sp_effect_id_2 = value;
    }

    pub fn sp_effect_id_3(&self) -> i32 {
        self.sp_effect_id_3
    }

    pub fn set_sp_effect_id_3(&mut self, value: i32) {
        self.sp_effect_id_3 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_PARAM_ANTIQUE_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    relic_color: u8,
    unknown_1b: u8,
    unknown_1c: u8,
    unknown_1d: u8,
    unknown_2: u16,
    padding: [u8; 2],
    sort_id: i32,
    attach_effect_table_id_1: i32,
    attach_effect_table_id_2: i32,
    attach_effect_table_id_3: i32,
    icon_id: i32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: i32,
    end_padding: [u8; 4],
}

impl ParamDef for EQUIP_PARAM_ANTIQUE_ST {
    const NAME: &str = "EQUIP_PARAM_ANTIQUE_ST";
}

impl EQUIP_PARAM_ANTIQUE_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn relic_color(&self) -> u8 {
        self.relic_color
    }

    pub fn set_relic_color(&mut self, value: u8) {
        self.relic_color = 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 attach_effect_table_id_1(&self) -> i32 {
        self.attach_effect_table_id_1
    }

    pub fn set_attach_effect_table_id_1(&mut self, value: i32) {
        self.attach_effect_table_id_1 = value;
    }

    pub fn attach_effect_table_id_2(&self) -> i32 {
        self.attach_effect_table_id_2
    }

    pub fn set_attach_effect_table_id_2(&mut self, value: i32) {
        self.attach_effect_table_id_2 = value;
    }

    pub fn attach_effect_table_id_3(&self) -> i32 {
        self.attach_effect_table_id_3
    }

    pub fn set_attach_effect_table_id_3(&mut self, value: i32) {
        self.attach_effect_table_id_3 = value;
    }

    pub fn icon_id(&self) -> i32 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i32) {
        self.icon_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_PARAM_CUSTOM_WEAPON_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    target_weapon_id: i32,
    sword_arts_table_id: i32,
    attach_effect_table_id_1: i32,
    attach_effect_table_id_2: i32,
    attach_effect_table_id_3: i32,
    unknown_6: i32,
    magic_table_id_1: i32,
    magic_table_id_2: i32,
    padding: [u8; 12],
}

impl ParamDef for EQUIP_PARAM_CUSTOM_WEAPON_ST {
    const NAME: &str = "EQUIP_PARAM_CUSTOM_WEAPON_ST";
}

impl EQUIP_PARAM_CUSTOM_WEAPON_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn target_weapon_id(&self) -> i32 {
        self.target_weapon_id
    }

    pub fn set_target_weapon_id(&mut self, value: i32) {
        self.target_weapon_id = value;
    }

    pub fn sword_arts_table_id(&self) -> i32 {
        self.sword_arts_table_id
    }

    pub fn set_sword_arts_table_id(&mut self, value: i32) {
        self.sword_arts_table_id = value;
    }

    pub fn attach_effect_table_id_1(&self) -> i32 {
        self.attach_effect_table_id_1
    }

    pub fn set_attach_effect_table_id_1(&mut self, value: i32) {
        self.attach_effect_table_id_1 = value;
    }

    pub fn attach_effect_table_id_2(&self) -> i32 {
        self.attach_effect_table_id_2
    }

    pub fn set_attach_effect_table_id_2(&mut self, value: i32) {
        self.attach_effect_table_id_2 = value;
    }

    pub fn attach_effect_table_id_3(&self) -> i32 {
        self.attach_effect_table_id_3
    }

    pub fn set_attach_effect_table_id_3(&mut self, value: i32) {
        self.attach_effect_table_id_3 = value;
    }

    pub fn magic_table_id_1(&self) -> i32 {
        self.magic_table_id_1
    }

    pub fn set_magic_table_id_1(&mut self, value: i32) {
        self.magic_table_id_1 = value;
    }

    pub fn magic_table_id_2(&self) -> i32 {
        self.magic_table_id_2
    }

    pub fn set_magic_table_id_2(&mut self, value: i32) {
        self.magic_table_id_2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_PARAM_GOODS_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    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,
    use_enable_sp_effect_type: u16,
    pot_group_id: i8,
    pad: [u8; 1],
    icon_id: u16,
    model_id: u16,
    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,
    unknown_0x40: u8,
    goods_use_anim: u8,
    opme_menu_type: u8,
    use_limit_category: u8,
    replace_category: u8,
    reserve4: [u8; 2],
    bits_48: u8,
    bits_49: u8,
    bits_4a: u8,
    sync_num_vary_id: 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_6c: u8,
    supple_type: u8,
    auto_replenish_type: u8,
    bits_6f: u8,
    max_repository_num: i16,
    sort_group_id: u8,
    bits_73: u8,
    sale_value: i32,
    rarity: u8,
    use_limit_summon_buddy: u8,
    use_limit_sp_effect_type: u16,
    ai_use_judge_id: i32,
    consume_mp: i16,
    consume_hp: i16,
    reinforce_goods_id: i32,
    reinforce_material_id: i32,
    reinforce_price: i32,
    use_level_vow_type0: i8,
    use_level_vow_type1: i8,
    use_level_vow_type2: i8,
    use_level_vow_type3: i8,
    use_level_vow_type4: i8,
    use_level_vow_type5: i8,
    use_level_vow_type6: i8,
    use_level_vow_type7: i8,
    use_level_vow_type8: i8,
    use_level_vow_type9: i8,
    use_level_vow_type10: i8,
    use_level_vow_type11: i8,
    use_level_vow_type12: i8,
    use_level_vow_type13: i8,
    use_level_vow_type14: i8,
    use_level_vow_type15: i8,
    use_level: u16,
    reserve5: [u8; 2],
    item_get_tutorial_flag_id: u32,
    character_init_id: i32,
    bullet_id: i32,
    unknown_3: i32,
    reserve3: [u8; 12],
}

impl ParamDef for EQUIP_PARAM_GOODS_ST {
    const NAME: &str = "EQUIP_PARAM_GOODS_ST";
}

impl EQUIP_PARAM_GOODS_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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 use_enable_sp_effect_type(&self) -> u16 {
        self.use_enable_sp_effect_type
    }

    pub fn set_use_enable_sp_effect_type(&mut self, value: u16) {
        self.use_enable_sp_effect_type = value;
    }

    pub fn pot_group_id(&self) -> i8 {
        self.pot_group_id
    }

    pub fn set_pot_group_id(&mut self, value: i8) {
        self.pot_group_id = value;
    }

    pub fn icon_id(&self) -> u16 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: u16) {
        self.icon_id = value;
    }

    pub fn model_id(&self) -> u16 {
        self.model_id
    }

    pub fn set_model_id(&mut self, value: u16) {
        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) -> u8 {
        self.goods_use_anim
    }

    pub fn set_goods_use_anim(&mut self, value: u8) {
        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 enable_live(&self) -> u8 {
        (self.bits_48 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_live(&mut self, value: u8) {
        self.bits_48 = (self.bits_48 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_gray(&self) -> u8 {
        (self.bits_48 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_gray(&mut self, value: u8) {
        self.bits_48 = (self.bits_48 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_white(&self) -> u8 {
        (self.bits_48 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_white(&mut self, value: u8) {
        self.bits_48 = (self.bits_48 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_black(&self) -> u8 {
        (self.bits_48 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_black(&mut self, value: u8) {
        self.bits_48 = (self.bits_48 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_multi(&self) -> u8 {
        (self.bits_48 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_multi(&mut self, value: u8) {
        self.bits_48 = (self.bits_48 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_offline(&self) -> u8 {
        (self.bits_48 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_offline(&mut self, value: u8) {
        self.bits_48 = (self.bits_48 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_equip(&self) -> u8 {
        (self.bits_48 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_equip(&mut self, value: u8) {
        self.bits_48 = (self.bits_48 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_consume(&self) -> u8 {
        (self.bits_48 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_consume(&mut self, value: u8) {
        self.bits_48 = (self.bits_48 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_auto_equip(&self) -> u8 {
        (self.bits_49 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_auto_equip(&mut self, value: u8) {
        self.bits_49 = (self.bits_49 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_establishment(&self) -> u8 {
        (self.bits_49 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_establishment(&mut self, value: u8) {
        self.bits_49 = (self.bits_49 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_only_one(&self) -> u8 {
        (self.bits_49 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_only_one(&mut self, value: u8) {
        self.bits_49 = (self.bits_49 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_discard(&self) -> u8 {
        (self.bits_49 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_discard(&mut self, value: u8) {
        self.bits_49 = (self.bits_49 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_deposit(&self) -> u8 {
        (self.bits_49 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_deposit(&mut self, value: u8) {
        self.bits_49 = (self.bits_49 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_hand(&self) -> u8 {
        (self.bits_49 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_hand(&mut self, value: u8) {
        self.bits_49 = (self.bits_49 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_remove_item_for_game_clear(&self) -> u8 {
        (self.bits_49 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_remove_item_for_game_clear(&mut self, value: u8) {
        self.bits_49 = (self.bits_49 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_supple_item(&self) -> u8 {
        (self.bits_49 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_supple_item(&mut self, value: u8) {
        self.bits_49 = (self.bits_49 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_full_supple_item(&self) -> u8 {
        (self.bits_4a >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_full_supple_item(&mut self, value: u8) {
        self.bits_4a = (self.bits_4a & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enhance(&self) -> u8 {
        (self.bits_4a >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enhance(&mut self, value: u8) {
        self.bits_4a = (self.bits_4a & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_fix_item(&self) -> u8 {
        (self.bits_4a >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_fix_item(&mut self, value: u8) {
        self.bits_4a = (self.bits_4a & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_multi_drop_share(&self) -> u8 {
        (self.bits_4a >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_multi_drop_share(&mut self, value: u8) {
        self.bits_4a = (self.bits_4a & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_use_at_coliseum(&self) -> u8 {
        (self.bits_4a >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_use_at_coliseum(&mut self, value: u8) {
        self.bits_4a = (self.bits_4a & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_use_at_out_of_coliseum(&self) -> u8 {
        (self.bits_4a >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_use_at_out_of_coliseum(&mut self, value: u8) {
        self.bits_4a = (self.bits_4a & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_fast_use_item(&self) -> u8 {
        (self.bits_4a >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_fast_use_item(&mut self, value: u8) {
        self.bits_4a = (self.bits_4a & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_apply_special_effect(&self) -> u8 {
        (self.bits_4a >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_apply_special_effect(&mut self, value: u8) {
        self.bits_4a = (self.bits_4a & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn sync_num_vary_id(&self) -> u8 {
        self.sync_num_vary_id
    }

    pub fn set_sync_num_vary_id(&mut self, value: u8) {
        self.sync_num_vary_id = value;
    }

    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_big_rune(&self) -> u8 {
        (self.bits_6c >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_active_big_rune(&mut self, value: u8) {
        self.bits_6c = (self.bits_6c & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_bonfire_warp_item(&self) -> u8 {
        (self.bits_6c >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_bonfire_warp_item(&mut self, value: u8) {
        self.bits_6c = (self.bits_6c & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ladder(&self) -> u8 {
        (self.bits_6c >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ladder(&mut self, value: u8) {
        self.bits_6c = (self.bits_6c & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_multi_play_preparation(&self) -> u8 {
        (self.bits_6c >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_multi_play_preparation(&mut self, value: u8) {
        self.bits_6c = (self.bits_6c & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn can_multi_use(&self) -> u8 {
        (self.bits_6c >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_can_multi_use(&mut self, value: u8) {
        self.bits_6c = (self.bits_6c & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_shield_enchant(&self) -> u8 {
        (self.bits_6c >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_shield_enchant(&mut self, value: u8) {
        self.bits_6c = (self.bits_6c & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_warp_prohibited(&self) -> u8 {
        (self.bits_6c >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_warp_prohibited(&mut self, value: u8) {
        self.bits_6c = (self.bits_6c & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_multi_penalty_only(&self) -> u8 {
        (self.bits_6c >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_multi_penalty_only(&mut self, value: u8) {
        self.bits_6c = (self.bits_6c & !(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;
    }

    #[allow(clippy::identity_op)]
    pub fn is_drop(&self) -> u8 {
        (self.bits_6f >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_drop(&mut self, value: u8) {
        self.bits_6f = (self.bits_6f & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn show_log_cond_type(&self) -> u8 {
        (self.bits_6f >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_log_cond_type(&mut self, value: u8) {
        self.bits_6f = (self.bits_6f & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_summon_horse(&self) -> u8 {
        (self.bits_6f >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_summon_horse(&mut self, value: u8) {
        self.bits_6f = (self.bits_6f & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn show_dialog_cond_type(&self) -> u8 {
        (self.bits_6f >> 3) & 0b00000011
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_dialog_cond_type(&mut self, value: u8) {
        self.bits_6f = (self.bits_6f & !(0b00000011 << 3)) | ((value & 0b00000011) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_sleep_collection_item(&self) -> u8 {
        (self.bits_6f >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_sleep_collection_item(&mut self, value: u8) {
        self.bits_6f = (self.bits_6f & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_riding(&self) -> u8 {
        (self.bits_6f >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_riding(&mut self, value: u8) {
        self.bits_6f = (self.bits_6f & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_riding(&self) -> u8 {
        (self.bits_6f >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_riding(&mut self, value: u8) {
        self.bits_6f = (self.bits_6f & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    pub fn max_repository_num(&self) -> i16 {
        self.max_repository_num
    }

    pub fn set_max_repository_num(&mut self, value: i16) {
        self.max_repository_num = value;
    }

    pub fn sort_group_id(&self) -> u8 {
        self.sort_group_id
    }

    pub fn set_sort_group_id(&mut self, value: u8) {
        self.sort_group_id = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_no_attack_region(&self) -> u8 {
        (self.bits_73 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_no_attack_region(&mut self, value: u8) {
        self.bits_73 = (self.bits_73 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn quick_match_replenish(&self) -> u8 {
        (self.bits_73 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_quick_match_replenish(&mut self, value: u8) {
        self.bits_73 = (self.bits_73 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    pub fn sale_value(&self) -> i32 {
        self.sale_value
    }

    pub fn set_sale_value(&mut self, value: i32) {
        self.sale_value = value;
    }

    pub fn rarity(&self) -> u8 {
        self.rarity
    }

    pub fn set_rarity(&mut self, value: u8) {
        self.rarity = value;
    }

    pub fn use_limit_summon_buddy(&self) -> u8 {
        self.use_limit_summon_buddy
    }

    pub fn set_use_limit_summon_buddy(&mut self, value: u8) {
        self.use_limit_summon_buddy = value;
    }

    pub fn use_limit_sp_effect_type(&self) -> u16 {
        self.use_limit_sp_effect_type
    }

    pub fn set_use_limit_sp_effect_type(&mut self, value: u16) {
        self.use_limit_sp_effect_type = value;
    }

    pub fn ai_use_judge_id(&self) -> i32 {
        self.ai_use_judge_id
    }

    pub fn set_ai_use_judge_id(&mut self, value: i32) {
        self.ai_use_judge_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 consume_hp(&self) -> i16 {
        self.consume_hp
    }

    pub fn set_consume_hp(&mut self, value: i16) {
        self.consume_hp = value;
    }

    pub fn reinforce_goods_id(&self) -> i32 {
        self.reinforce_goods_id
    }

    pub fn set_reinforce_goods_id(&mut self, value: i32) {
        self.reinforce_goods_id = value;
    }

    pub fn reinforce_material_id(&self) -> i32 {
        self.reinforce_material_id
    }

    pub fn set_reinforce_material_id(&mut self, value: i32) {
        self.reinforce_material_id = value;
    }

    pub fn reinforce_price(&self) -> i32 {
        self.reinforce_price
    }

    pub fn set_reinforce_price(&mut self, value: i32) {
        self.reinforce_price = value;
    }

    pub fn use_level_vow_type0(&self) -> i8 {
        self.use_level_vow_type0
    }

    pub fn set_use_level_vow_type0(&mut self, value: i8) {
        self.use_level_vow_type0 = value;
    }

    pub fn use_level_vow_type1(&self) -> i8 {
        self.use_level_vow_type1
    }

    pub fn set_use_level_vow_type1(&mut self, value: i8) {
        self.use_level_vow_type1 = value;
    }

    pub fn use_level_vow_type2(&self) -> i8 {
        self.use_level_vow_type2
    }

    pub fn set_use_level_vow_type2(&mut self, value: i8) {
        self.use_level_vow_type2 = value;
    }

    pub fn use_level_vow_type3(&self) -> i8 {
        self.use_level_vow_type3
    }

    pub fn set_use_level_vow_type3(&mut self, value: i8) {
        self.use_level_vow_type3 = value;
    }

    pub fn use_level_vow_type4(&self) -> i8 {
        self.use_level_vow_type4
    }

    pub fn set_use_level_vow_type4(&mut self, value: i8) {
        self.use_level_vow_type4 = value;
    }

    pub fn use_level_vow_type5(&self) -> i8 {
        self.use_level_vow_type5
    }

    pub fn set_use_level_vow_type5(&mut self, value: i8) {
        self.use_level_vow_type5 = value;
    }

    pub fn use_level_vow_type6(&self) -> i8 {
        self.use_level_vow_type6
    }

    pub fn set_use_level_vow_type6(&mut self, value: i8) {
        self.use_level_vow_type6 = value;
    }

    pub fn use_level_vow_type7(&self) -> i8 {
        self.use_level_vow_type7
    }

    pub fn set_use_level_vow_type7(&mut self, value: i8) {
        self.use_level_vow_type7 = value;
    }

    pub fn use_level_vow_type8(&self) -> i8 {
        self.use_level_vow_type8
    }

    pub fn set_use_level_vow_type8(&mut self, value: i8) {
        self.use_level_vow_type8 = value;
    }

    pub fn use_level_vow_type9(&self) -> i8 {
        self.use_level_vow_type9
    }

    pub fn set_use_level_vow_type9(&mut self, value: i8) {
        self.use_level_vow_type9 = value;
    }

    pub fn use_level_vow_type10(&self) -> i8 {
        self.use_level_vow_type10
    }

    pub fn set_use_level_vow_type10(&mut self, value: i8) {
        self.use_level_vow_type10 = value;
    }

    pub fn use_level_vow_type11(&self) -> i8 {
        self.use_level_vow_type11
    }

    pub fn set_use_level_vow_type11(&mut self, value: i8) {
        self.use_level_vow_type11 = value;
    }

    pub fn use_level_vow_type12(&self) -> i8 {
        self.use_level_vow_type12
    }

    pub fn set_use_level_vow_type12(&mut self, value: i8) {
        self.use_level_vow_type12 = value;
    }

    pub fn use_level_vow_type13(&self) -> i8 {
        self.use_level_vow_type13
    }

    pub fn set_use_level_vow_type13(&mut self, value: i8) {
        self.use_level_vow_type13 = value;
    }

    pub fn use_level_vow_type14(&self) -> i8 {
        self.use_level_vow_type14
    }

    pub fn set_use_level_vow_type14(&mut self, value: i8) {
        self.use_level_vow_type14 = value;
    }

    pub fn use_level_vow_type15(&self) -> i8 {
        self.use_level_vow_type15
    }

    pub fn set_use_level_vow_type15(&mut self, value: i8) {
        self.use_level_vow_type15 = value;
    }

    pub fn use_level(&self) -> u16 {
        self.use_level
    }

    pub fn set_use_level(&mut self, value: u16) {
        self.use_level = value;
    }

    pub fn item_get_tutorial_flag_id(&self) -> u32 {
        self.item_get_tutorial_flag_id
    }

    pub fn set_item_get_tutorial_flag_id(&mut self, value: u32) {
        self.item_get_tutorial_flag_id = value;
    }

    pub fn character_init_id(&self) -> i32 {
        self.character_init_id
    }

    pub fn set_character_init_id(&mut self, value: i32) {
        self.character_init_id = value;
    }

    pub fn bullet_id(&self) -> i32 {
        self.bullet_id
    }

    pub fn set_bullet_id(&mut self, value: i32) {
        self.bullet_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_PARAM_PROTECTOR_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    sort_id: i32,
    wandering_equip_id: u32,
    resist_sleep: u16,
    resist_madness: u16,
    sa_durability: f32,
    toughness_correct_rate: f32,
    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,
    corect_sa_recover: f32,
    origin_equip_pro: i32,
    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,
    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: u16,
    icon_id_m: u16,
    icon_id_f: u16,
    knock_back: u16,
    knockback_bounce_rate: u16,
    durability: u16,
    durability_max: u16,
    pad03: [u8; 2],
    def_flick_power: u16,
    defense_physics: u16,
    defense_magic: u16,
    defense_fire: u16,
    defense_thunder: u16,
    defense_slash: i16,
    defense_blow: i16,
    defense_thrust: i16,
    resist_poison: u16,
    resist_disease: u16,
    resist_blood: u16,
    resist_curse: u16,
    reinforce_type_id: i16,
    trophy_s_grade_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,
    rarity: u8,
    sort_group_id: u8,
    parts_dmg_type: u8,
    pad04: [u8; 2],
    bits_dc: u8,
    defense_material_variation_value_weak: u8,
    auto_foot_effect_decal_base_id2: i16,
    auto_foot_effect_decal_base_id3: i16,
    defense_material_variation_value: u8,
    bits_e3: u8,
    neutral_damage_cut_rate: f32,
    slash_damage_cut_rate: f32,
    blow_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,
    toughness_recover_correction: f32,
    dark_damage_cut_rate: f32,
    defense_dark: u16,
    bits_122: u8,
    bits_123: u8,
    bits_124: u8,
    bits_125: u8,
    bits_126: u8,
    posture_control_id: u8,
    pad2: [u8; 4],
    sale_value: i32,
    resist_freeze: u16,
    invisible_flag_sex_ver00: u8,
    invisible_flag_sex_ver01: u8,
    invisible_flag_sex_ver02: u8,
    invisible_flag_sex_ver03: u8,
    invisible_flag_sex_ver04: u8,
    invisible_flag_sex_ver05: u8,
    invisible_flag_sex_ver06: u8,
    invisible_flag_sex_ver07: u8,
    invisible_flag_sex_ver08: u8,
    invisible_flag_sex_ver09: u8,
    invisible_flag_sex_ver10: u8,
    invisible_flag_sex_ver11: u8,
    invisible_flag_sex_ver12: u8,
    invisible_flag_sex_ver13: u8,
    invisible_flag_sex_ver14: u8,
    invisible_flag_sex_ver15: u8,
    invisible_flag_sex_ver16: u8,
    invisible_flag_sex_ver17: u8,
    invisible_flag_sex_ver18: u8,
    invisible_flag_sex_ver19: u8,
    invisible_flag_sex_ver20: u8,
    invisible_flag_sex_ver21: u8,
    invisible_flag_sex_ver22: u8,
    invisible_flag_sex_ver23: u8,
    invisible_flag_sex_ver24: u8,
    invisible_flag_sex_ver25: u8,
    invisible_flag_sex_ver26: u8,
    invisible_flag_sex_ver27: u8,
    invisible_flag_sex_ver28: u8,
    invisible_flag_sex_ver29: u8,
    invisible_flag_sex_ver30: u8,
    invisible_flag_sex_ver31: u8,
    invisible_flag_sex_ver32: u8,
    invisible_flag_sex_ver33: u8,
    invisible_flag_sex_ver34: u8,
    invisible_flag_sex_ver35: u8,
    invisible_flag_sex_ver36: u8,
    invisible_flag_sex_ver37: u8,
    invisible_flag_sex_ver38: u8,
    invisible_flag_sex_ver39: u8,
    invisible_flag_sex_ver40: u8,
    invisible_flag_sex_ver41: u8,
    invisible_flag_sex_ver42: u8,
    invisible_flag_sex_ver43: u8,
    invisible_flag_sex_ver44: u8,
    invisible_flag_sex_ver45: u8,
    invisible_flag_sex_ver46: u8,
    invisible_flag_sex_ver47: u8,
    invisible_flag_sex_ver48: u8,
    invisible_flag_sex_ver49: u8,
    invisible_flag_sex_ver50: u8,
    invisible_flag_sex_ver51: u8,
    invisible_flag_sex_ver52: u8,
    invisible_flag_sex_ver53: u8,
    invisible_flag_sex_ver54: u8,
    invisible_flag_sex_ver55: u8,
    invisible_flag_sex_ver56: u8,
    invisible_flag_sex_ver57: u8,
    invisible_flag_sex_ver58: u8,
    invisible_flag_sex_ver59: u8,
    invisible_flag_sex_ver60: u8,
    invisible_flag_sex_ver61: u8,
    invisible_flag_sex_ver62: u8,
    invisible_flag_sex_ver63: u8,
    invisible_flag_sex_ver64: u8,
    invisible_flag_sex_ver65: u8,
    invisible_flag_sex_ver66: u8,
    invisible_flag_sex_ver67: u8,
    invisible_flag_sex_ver68: u8,
    invisible_flag_sex_ver69: u8,
    invisible_flag_sex_ver70: u8,
    invisible_flag_sex_ver71: u8,
    invisible_flag_sex_ver72: u8,
    invisible_flag_sex_ver73: u8,
    invisible_flag_sex_ver74: u8,
    invisible_flag_sex_ver75: u8,
    invisible_flag_sex_ver76: u8,
    invisible_flag_sex_ver77: u8,
    invisible_flag_sex_ver78: u8,
    invisible_flag_sex_ver79: u8,
    invisible_flag_sex_ver80: u8,
    invisible_flag_sex_ver81: u8,
    invisible_flag_sex_ver82: u8,
    invisible_flag_sex_ver83: u8,
    invisible_flag_sex_ver84: u8,
    invisible_flag_sex_ver85: u8,
    invisible_flag_sex_ver86: u8,
    invisible_flag_sex_ver87: u8,
    invisible_flag_sex_ver88: u8,
    invisible_flag_sex_ver89: u8,
    invisible_flag_sex_ver90: u8,
    invisible_flag_sex_ver91: u8,
    invisible_flag_sex_ver92: u8,
    invisible_flag_sex_ver93: u8,
    invisible_flag_sex_ver94: u8,
    invisible_flag_sex_ver95: u8,
    pad404: [u8; 14],
}

impl ParamDef for EQUIP_PARAM_PROTECTOR_ST {
    const NAME: &str = "EQUIP_PARAM_PROTECTOR_ST";
}

impl EQUIP_PARAM_PROTECTOR_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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) -> u32 {
        self.wandering_equip_id
    }

    pub fn set_wandering_equip_id(&mut self, value: u32) {
        self.wandering_equip_id = value;
    }

    pub fn resist_sleep(&self) -> u16 {
        self.resist_sleep
    }

    pub fn set_resist_sleep(&mut self, value: u16) {
        self.resist_sleep = value;
    }

    pub fn resist_madness(&self) -> u16 {
        self.resist_madness
    }

    pub fn set_resist_madness(&mut self, value: u16) {
        self.resist_madness = value;
    }

    pub fn sa_durability(&self) -> f32 {
        self.sa_durability
    }

    pub fn set_sa_durability(&mut self, value: f32) {
        self.sa_durability = 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;
    }

    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 corect_sa_recover(&self) -> f32 {
        self.corect_sa_recover
    }

    pub fn set_corect_sa_recover(&mut self, value: f32) {
        self.corect_sa_recover = value;
    }

    pub fn origin_equip_pro(&self) -> i32 {
        self.origin_equip_pro
    }

    pub fn set_origin_equip_pro(&mut self, value: i32) {
        self.origin_equip_pro = 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 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) -> u16 {
        self.equip_model_id
    }

    pub fn set_equip_model_id(&mut self, value: u16) {
        self.equip_model_id = value;
    }

    pub fn icon_id_m(&self) -> u16 {
        self.icon_id_m
    }

    pub fn set_icon_id_m(&mut self, value: u16) {
        self.icon_id_m = value;
    }

    pub fn icon_id_f(&self) -> u16 {
        self.icon_id_f
    }

    pub fn set_icon_id_f(&mut self, value: u16) {
        self.icon_id_f = value;
    }

    pub fn knock_back(&self) -> u16 {
        self.knock_back
    }

    pub fn set_knock_back(&mut self, value: u16) {
        self.knock_back = value;
    }

    pub fn knockback_bounce_rate(&self) -> u16 {
        self.knockback_bounce_rate
    }

    pub fn set_knockback_bounce_rate(&mut self, value: u16) {
        self.knockback_bounce_rate = value;
    }

    pub fn durability(&self) -> u16 {
        self.durability
    }

    pub fn set_durability(&mut self, value: u16) {
        self.durability = value;
    }

    pub fn durability_max(&self) -> u16 {
        self.durability_max
    }

    pub fn set_durability_max(&mut self, value: u16) {
        self.durability_max = value;
    }

    pub fn def_flick_power(&self) -> u16 {
        self.def_flick_power
    }

    pub fn set_def_flick_power(&mut self, value: u16) {
        self.def_flick_power = value;
    }

    pub fn defense_physics(&self) -> u16 {
        self.defense_physics
    }

    pub fn set_defense_physics(&mut self, value: u16) {
        self.defense_physics = value;
    }

    pub fn defense_magic(&self) -> u16 {
        self.defense_magic
    }

    pub fn set_defense_magic(&mut self, value: u16) {
        self.defense_magic = value;
    }

    pub fn defense_fire(&self) -> u16 {
        self.defense_fire
    }

    pub fn set_defense_fire(&mut self, value: u16) {
        self.defense_fire = value;
    }

    pub fn defense_thunder(&self) -> u16 {
        self.defense_thunder
    }

    pub fn set_defense_thunder(&mut self, value: u16) {
        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) -> u16 {
        self.resist_poison
    }

    pub fn set_resist_poison(&mut self, value: u16) {
        self.resist_poison = value;
    }

    pub fn resist_disease(&self) -> u16 {
        self.resist_disease
    }

    pub fn set_resist_disease(&mut self, value: u16) {
        self.resist_disease = value;
    }

    pub fn resist_blood(&self) -> u16 {
        self.resist_blood
    }

    pub fn set_resist_blood(&mut self, value: u16) {
        self.resist_blood = value;
    }

    pub fn resist_curse(&self) -> u16 {
        self.resist_curse
    }

    pub fn set_resist_curse(&mut self, value: u16) {
        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 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 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 rarity(&self) -> u8 {
        self.rarity
    }

    pub fn set_rarity(&mut self, value: u8) {
        self.rarity = value;
    }

    pub fn sort_group_id(&self) -> u8 {
        self.sort_group_id
    }

    pub fn set_sort_group_id(&mut self, value: u8) {
        self.sort_group_id = 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;
    }

    #[allow(clippy::identity_op)]
    pub fn is_deposit(&self) -> u8 {
        (self.bits_dc >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_deposit(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn head_equip(&self) -> u8 {
        (self.bits_dc >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_head_equip(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn body_equip(&self) -> u8 {
        (self.bits_dc >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_body_equip(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn arm_equip(&self) -> u8 {
        (self.bits_dc >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_arm_equip(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn leg_equip(&self) -> u8 {
        (self.bits_dc >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_leg_equip(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn use_face_scale(&self) -> u8 {
        (self.bits_dc >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_face_scale(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_skip_weak_damage_anim(&self) -> u8 {
        (self.bits_dc >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_skip_weak_damage_anim(&mut self, value: u8) {
        self.bits_dc = (self.bits_dc & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    pub fn defense_material_variation_value_weak(&self) -> u8 {
        self.defense_material_variation_value_weak
    }

    pub fn set_defense_material_variation_value_weak(&mut self, value: u8) {
        self.defense_material_variation_value_weak = value;
    }

    pub fn auto_foot_effect_decal_base_id2(&self) -> i16 {
        self.auto_foot_effect_decal_base_id2
    }

    pub fn set_auto_foot_effect_decal_base_id2(&mut self, value: i16) {
        self.auto_foot_effect_decal_base_id2 = value;
    }

    pub fn auto_foot_effect_decal_base_id3(&self) -> i16 {
        self.auto_foot_effect_decal_base_id3
    }

    pub fn set_auto_foot_effect_decal_base_id3(&mut self, value: i16) {
        self.auto_foot_effect_decal_base_id3 = value;
    }

    pub fn defense_material_variation_value(&self) -> u8 {
        self.defense_material_variation_value
    }

    pub fn set_defense_material_variation_value(&mut self, value: u8) {
        self.defense_material_variation_value = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_discard(&self) -> u8 {
        (self.bits_e3 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_discard(&mut self, value: u8) {
        self.bits_e3 = (self.bits_e3 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_drop(&self) -> u8 {
        (self.bits_e3 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_drop(&mut self, value: u8) {
        self.bits_e3 = (self.bits_e3 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_multi_drop_share(&self) -> u8 {
        (self.bits_e3 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_multi_drop_share(&mut self, value: u8) {
        self.bits_e3 = (self.bits_e3 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn simple_model_for_dlc(&self) -> u8 {
        (self.bits_e3 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_simple_model_for_dlc(&mut self, value: u8) {
        self.bits_e3 = (self.bits_e3 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn show_log_cond_type(&self) -> u8 {
        (self.bits_e3 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_log_cond_type(&mut self, value: u8) {
        self.bits_e3 = (self.bits_e3 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn show_dialog_cond_type(&self) -> u8 {
        (self.bits_e3 >> 5) & 0b00000011
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_dialog_cond_type(&mut self, value: u8) {
        self.bits_e3 = (self.bits_e3 & !(0b00000011 << 5)) | ((value & 0b00000011) << 5);
    }

    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 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 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 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 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) -> u16 {
        self.defense_dark
    }

    pub fn set_defense_dark(&mut self, value: u16) {
        self.defense_dark = value;
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag48(&self) -> u8 {
        (self.bits_122 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag48(&mut self, value: u8) {
        self.bits_122 = (self.bits_122 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag49(&self) -> u8 {
        (self.bits_122 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag49(&mut self, value: u8) {
        self.bits_122 = (self.bits_122 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag50(&self) -> u8 {
        (self.bits_122 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag50(&mut self, value: u8) {
        self.bits_122 = (self.bits_122 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag51(&self) -> u8 {
        (self.bits_122 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag51(&mut self, value: u8) {
        self.bits_122 = (self.bits_122 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag52(&self) -> u8 {
        (self.bits_122 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag52(&mut self, value: u8) {
        self.bits_122 = (self.bits_122 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag53(&self) -> u8 {
        (self.bits_122 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag53(&mut self, value: u8) {
        self.bits_122 = (self.bits_122 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag54(&self) -> u8 {
        (self.bits_122 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag54(&mut self, value: u8) {
        self.bits_122 = (self.bits_122 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag55(&self) -> u8 {
        (self.bits_122 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag55(&mut self, value: u8) {
        self.bits_122 = (self.bits_122 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag56(&self) -> u8 {
        (self.bits_123 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag56(&mut self, value: u8) {
        self.bits_123 = (self.bits_123 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag57(&self) -> u8 {
        (self.bits_123 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag57(&mut self, value: u8) {
        self.bits_123 = (self.bits_123 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag58(&self) -> u8 {
        (self.bits_123 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag58(&mut self, value: u8) {
        self.bits_123 = (self.bits_123 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag59(&self) -> u8 {
        (self.bits_123 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag59(&mut self, value: u8) {
        self.bits_123 = (self.bits_123 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag60(&self) -> u8 {
        (self.bits_123 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag60(&mut self, value: u8) {
        self.bits_123 = (self.bits_123 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag61(&self) -> u8 {
        (self.bits_123 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag61(&mut self, value: u8) {
        self.bits_123 = (self.bits_123 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag62(&self) -> u8 {
        (self.bits_123 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag62(&mut self, value: u8) {
        self.bits_123 = (self.bits_123 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag63(&self) -> u8 {
        (self.bits_123 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag63(&mut self, value: u8) {
        self.bits_123 = (self.bits_123 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag64(&self) -> u8 {
        (self.bits_124 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag64(&mut self, value: u8) {
        self.bits_124 = (self.bits_124 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag65(&self) -> u8 {
        (self.bits_124 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag65(&mut self, value: u8) {
        self.bits_124 = (self.bits_124 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag66(&self) -> u8 {
        (self.bits_124 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag66(&mut self, value: u8) {
        self.bits_124 = (self.bits_124 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag67(&self) -> u8 {
        (self.bits_124 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag67(&mut self, value: u8) {
        self.bits_124 = (self.bits_124 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag68(&self) -> u8 {
        (self.bits_124 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag68(&mut self, value: u8) {
        self.bits_124 = (self.bits_124 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag69(&self) -> u8 {
        (self.bits_124 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag69(&mut self, value: u8) {
        self.bits_124 = (self.bits_124 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag70(&self) -> u8 {
        (self.bits_124 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag70(&mut self, value: u8) {
        self.bits_124 = (self.bits_124 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag71(&self) -> u8 {
        (self.bits_124 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag71(&mut self, value: u8) {
        self.bits_124 = (self.bits_124 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag72(&self) -> u8 {
        (self.bits_125 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag72(&mut self, value: u8) {
        self.bits_125 = (self.bits_125 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag73(&self) -> u8 {
        (self.bits_125 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag73(&mut self, value: u8) {
        self.bits_125 = (self.bits_125 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag74(&self) -> u8 {
        (self.bits_125 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag74(&mut self, value: u8) {
        self.bits_125 = (self.bits_125 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag75(&self) -> u8 {
        (self.bits_125 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag75(&mut self, value: u8) {
        self.bits_125 = (self.bits_125 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag76(&self) -> u8 {
        (self.bits_125 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag76(&mut self, value: u8) {
        self.bits_125 = (self.bits_125 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag77(&self) -> u8 {
        (self.bits_125 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag77(&mut self, value: u8) {
        self.bits_125 = (self.bits_125 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag78(&self) -> u8 {
        (self.bits_125 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag78(&mut self, value: u8) {
        self.bits_125 = (self.bits_125 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag79(&self) -> u8 {
        (self.bits_125 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag79(&mut self, value: u8) {
        self.bits_125 = (self.bits_125 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_flag80(&self) -> u8 {
        (self.bits_126 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_flag80(&mut self, value: u8) {
        self.bits_126 = (self.bits_126 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn posture_control_id(&self) -> u8 {
        self.posture_control_id
    }

    pub fn set_posture_control_id(&mut self, value: u8) {
        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_freeze(&self) -> u16 {
        self.resist_freeze
    }

    pub fn set_resist_freeze(&mut self, value: u16) {
        self.resist_freeze = value;
    }

    pub fn invisible_flag_sex_ver00(&self) -> u8 {
        self.invisible_flag_sex_ver00
    }

    pub fn set_invisible_flag_sex_ver00(&mut self, value: u8) {
        self.invisible_flag_sex_ver00 = value;
    }

    pub fn invisible_flag_sex_ver01(&self) -> u8 {
        self.invisible_flag_sex_ver01
    }

    pub fn set_invisible_flag_sex_ver01(&mut self, value: u8) {
        self.invisible_flag_sex_ver01 = value;
    }

    pub fn invisible_flag_sex_ver02(&self) -> u8 {
        self.invisible_flag_sex_ver02
    }

    pub fn set_invisible_flag_sex_ver02(&mut self, value: u8) {
        self.invisible_flag_sex_ver02 = value;
    }

    pub fn invisible_flag_sex_ver03(&self) -> u8 {
        self.invisible_flag_sex_ver03
    }

    pub fn set_invisible_flag_sex_ver03(&mut self, value: u8) {
        self.invisible_flag_sex_ver03 = value;
    }

    pub fn invisible_flag_sex_ver04(&self) -> u8 {
        self.invisible_flag_sex_ver04
    }

    pub fn set_invisible_flag_sex_ver04(&mut self, value: u8) {
        self.invisible_flag_sex_ver04 = value;
    }

    pub fn invisible_flag_sex_ver05(&self) -> u8 {
        self.invisible_flag_sex_ver05
    }

    pub fn set_invisible_flag_sex_ver05(&mut self, value: u8) {
        self.invisible_flag_sex_ver05 = value;
    }

    pub fn invisible_flag_sex_ver06(&self) -> u8 {
        self.invisible_flag_sex_ver06
    }

    pub fn set_invisible_flag_sex_ver06(&mut self, value: u8) {
        self.invisible_flag_sex_ver06 = value;
    }

    pub fn invisible_flag_sex_ver07(&self) -> u8 {
        self.invisible_flag_sex_ver07
    }

    pub fn set_invisible_flag_sex_ver07(&mut self, value: u8) {
        self.invisible_flag_sex_ver07 = value;
    }

    pub fn invisible_flag_sex_ver08(&self) -> u8 {
        self.invisible_flag_sex_ver08
    }

    pub fn set_invisible_flag_sex_ver08(&mut self, value: u8) {
        self.invisible_flag_sex_ver08 = value;
    }

    pub fn invisible_flag_sex_ver09(&self) -> u8 {
        self.invisible_flag_sex_ver09
    }

    pub fn set_invisible_flag_sex_ver09(&mut self, value: u8) {
        self.invisible_flag_sex_ver09 = value;
    }

    pub fn invisible_flag_sex_ver10(&self) -> u8 {
        self.invisible_flag_sex_ver10
    }

    pub fn set_invisible_flag_sex_ver10(&mut self, value: u8) {
        self.invisible_flag_sex_ver10 = value;
    }

    pub fn invisible_flag_sex_ver11(&self) -> u8 {
        self.invisible_flag_sex_ver11
    }

    pub fn set_invisible_flag_sex_ver11(&mut self, value: u8) {
        self.invisible_flag_sex_ver11 = value;
    }

    pub fn invisible_flag_sex_ver12(&self) -> u8 {
        self.invisible_flag_sex_ver12
    }

    pub fn set_invisible_flag_sex_ver12(&mut self, value: u8) {
        self.invisible_flag_sex_ver12 = value;
    }

    pub fn invisible_flag_sex_ver13(&self) -> u8 {
        self.invisible_flag_sex_ver13
    }

    pub fn set_invisible_flag_sex_ver13(&mut self, value: u8) {
        self.invisible_flag_sex_ver13 = value;
    }

    pub fn invisible_flag_sex_ver14(&self) -> u8 {
        self.invisible_flag_sex_ver14
    }

    pub fn set_invisible_flag_sex_ver14(&mut self, value: u8) {
        self.invisible_flag_sex_ver14 = value;
    }

    pub fn invisible_flag_sex_ver15(&self) -> u8 {
        self.invisible_flag_sex_ver15
    }

    pub fn set_invisible_flag_sex_ver15(&mut self, value: u8) {
        self.invisible_flag_sex_ver15 = value;
    }

    pub fn invisible_flag_sex_ver16(&self) -> u8 {
        self.invisible_flag_sex_ver16
    }

    pub fn set_invisible_flag_sex_ver16(&mut self, value: u8) {
        self.invisible_flag_sex_ver16 = value;
    }

    pub fn invisible_flag_sex_ver17(&self) -> u8 {
        self.invisible_flag_sex_ver17
    }

    pub fn set_invisible_flag_sex_ver17(&mut self, value: u8) {
        self.invisible_flag_sex_ver17 = value;
    }

    pub fn invisible_flag_sex_ver18(&self) -> u8 {
        self.invisible_flag_sex_ver18
    }

    pub fn set_invisible_flag_sex_ver18(&mut self, value: u8) {
        self.invisible_flag_sex_ver18 = value;
    }

    pub fn invisible_flag_sex_ver19(&self) -> u8 {
        self.invisible_flag_sex_ver19
    }

    pub fn set_invisible_flag_sex_ver19(&mut self, value: u8) {
        self.invisible_flag_sex_ver19 = value;
    }

    pub fn invisible_flag_sex_ver20(&self) -> u8 {
        self.invisible_flag_sex_ver20
    }

    pub fn set_invisible_flag_sex_ver20(&mut self, value: u8) {
        self.invisible_flag_sex_ver20 = value;
    }

    pub fn invisible_flag_sex_ver21(&self) -> u8 {
        self.invisible_flag_sex_ver21
    }

    pub fn set_invisible_flag_sex_ver21(&mut self, value: u8) {
        self.invisible_flag_sex_ver21 = value;
    }

    pub fn invisible_flag_sex_ver22(&self) -> u8 {
        self.invisible_flag_sex_ver22
    }

    pub fn set_invisible_flag_sex_ver22(&mut self, value: u8) {
        self.invisible_flag_sex_ver22 = value;
    }

    pub fn invisible_flag_sex_ver23(&self) -> u8 {
        self.invisible_flag_sex_ver23
    }

    pub fn set_invisible_flag_sex_ver23(&mut self, value: u8) {
        self.invisible_flag_sex_ver23 = value;
    }

    pub fn invisible_flag_sex_ver24(&self) -> u8 {
        self.invisible_flag_sex_ver24
    }

    pub fn set_invisible_flag_sex_ver24(&mut self, value: u8) {
        self.invisible_flag_sex_ver24 = value;
    }

    pub fn invisible_flag_sex_ver25(&self) -> u8 {
        self.invisible_flag_sex_ver25
    }

    pub fn set_invisible_flag_sex_ver25(&mut self, value: u8) {
        self.invisible_flag_sex_ver25 = value;
    }

    pub fn invisible_flag_sex_ver26(&self) -> u8 {
        self.invisible_flag_sex_ver26
    }

    pub fn set_invisible_flag_sex_ver26(&mut self, value: u8) {
        self.invisible_flag_sex_ver26 = value;
    }

    pub fn invisible_flag_sex_ver27(&self) -> u8 {
        self.invisible_flag_sex_ver27
    }

    pub fn set_invisible_flag_sex_ver27(&mut self, value: u8) {
        self.invisible_flag_sex_ver27 = value;
    }

    pub fn invisible_flag_sex_ver28(&self) -> u8 {
        self.invisible_flag_sex_ver28
    }

    pub fn set_invisible_flag_sex_ver28(&mut self, value: u8) {
        self.invisible_flag_sex_ver28 = value;
    }

    pub fn invisible_flag_sex_ver29(&self) -> u8 {
        self.invisible_flag_sex_ver29
    }

    pub fn set_invisible_flag_sex_ver29(&mut self, value: u8) {
        self.invisible_flag_sex_ver29 = value;
    }

    pub fn invisible_flag_sex_ver30(&self) -> u8 {
        self.invisible_flag_sex_ver30
    }

    pub fn set_invisible_flag_sex_ver30(&mut self, value: u8) {
        self.invisible_flag_sex_ver30 = value;
    }

    pub fn invisible_flag_sex_ver31(&self) -> u8 {
        self.invisible_flag_sex_ver31
    }

    pub fn set_invisible_flag_sex_ver31(&mut self, value: u8) {
        self.invisible_flag_sex_ver31 = value;
    }

    pub fn invisible_flag_sex_ver32(&self) -> u8 {
        self.invisible_flag_sex_ver32
    }

    pub fn set_invisible_flag_sex_ver32(&mut self, value: u8) {
        self.invisible_flag_sex_ver32 = value;
    }

    pub fn invisible_flag_sex_ver33(&self) -> u8 {
        self.invisible_flag_sex_ver33
    }

    pub fn set_invisible_flag_sex_ver33(&mut self, value: u8) {
        self.invisible_flag_sex_ver33 = value;
    }

    pub fn invisible_flag_sex_ver34(&self) -> u8 {
        self.invisible_flag_sex_ver34
    }

    pub fn set_invisible_flag_sex_ver34(&mut self, value: u8) {
        self.invisible_flag_sex_ver34 = value;
    }

    pub fn invisible_flag_sex_ver35(&self) -> u8 {
        self.invisible_flag_sex_ver35
    }

    pub fn set_invisible_flag_sex_ver35(&mut self, value: u8) {
        self.invisible_flag_sex_ver35 = value;
    }

    pub fn invisible_flag_sex_ver36(&self) -> u8 {
        self.invisible_flag_sex_ver36
    }

    pub fn set_invisible_flag_sex_ver36(&mut self, value: u8) {
        self.invisible_flag_sex_ver36 = value;
    }

    pub fn invisible_flag_sex_ver37(&self) -> u8 {
        self.invisible_flag_sex_ver37
    }

    pub fn set_invisible_flag_sex_ver37(&mut self, value: u8) {
        self.invisible_flag_sex_ver37 = value;
    }

    pub fn invisible_flag_sex_ver38(&self) -> u8 {
        self.invisible_flag_sex_ver38
    }

    pub fn set_invisible_flag_sex_ver38(&mut self, value: u8) {
        self.invisible_flag_sex_ver38 = value;
    }

    pub fn invisible_flag_sex_ver39(&self) -> u8 {
        self.invisible_flag_sex_ver39
    }

    pub fn set_invisible_flag_sex_ver39(&mut self, value: u8) {
        self.invisible_flag_sex_ver39 = value;
    }

    pub fn invisible_flag_sex_ver40(&self) -> u8 {
        self.invisible_flag_sex_ver40
    }

    pub fn set_invisible_flag_sex_ver40(&mut self, value: u8) {
        self.invisible_flag_sex_ver40 = value;
    }

    pub fn invisible_flag_sex_ver41(&self) -> u8 {
        self.invisible_flag_sex_ver41
    }

    pub fn set_invisible_flag_sex_ver41(&mut self, value: u8) {
        self.invisible_flag_sex_ver41 = value;
    }

    pub fn invisible_flag_sex_ver42(&self) -> u8 {
        self.invisible_flag_sex_ver42
    }

    pub fn set_invisible_flag_sex_ver42(&mut self, value: u8) {
        self.invisible_flag_sex_ver42 = value;
    }

    pub fn invisible_flag_sex_ver43(&self) -> u8 {
        self.invisible_flag_sex_ver43
    }

    pub fn set_invisible_flag_sex_ver43(&mut self, value: u8) {
        self.invisible_flag_sex_ver43 = value;
    }

    pub fn invisible_flag_sex_ver44(&self) -> u8 {
        self.invisible_flag_sex_ver44
    }

    pub fn set_invisible_flag_sex_ver44(&mut self, value: u8) {
        self.invisible_flag_sex_ver44 = value;
    }

    pub fn invisible_flag_sex_ver45(&self) -> u8 {
        self.invisible_flag_sex_ver45
    }

    pub fn set_invisible_flag_sex_ver45(&mut self, value: u8) {
        self.invisible_flag_sex_ver45 = value;
    }

    pub fn invisible_flag_sex_ver46(&self) -> u8 {
        self.invisible_flag_sex_ver46
    }

    pub fn set_invisible_flag_sex_ver46(&mut self, value: u8) {
        self.invisible_flag_sex_ver46 = value;
    }

    pub fn invisible_flag_sex_ver47(&self) -> u8 {
        self.invisible_flag_sex_ver47
    }

    pub fn set_invisible_flag_sex_ver47(&mut self, value: u8) {
        self.invisible_flag_sex_ver47 = value;
    }

    pub fn invisible_flag_sex_ver48(&self) -> u8 {
        self.invisible_flag_sex_ver48
    }

    pub fn set_invisible_flag_sex_ver48(&mut self, value: u8) {
        self.invisible_flag_sex_ver48 = value;
    }

    pub fn invisible_flag_sex_ver49(&self) -> u8 {
        self.invisible_flag_sex_ver49
    }

    pub fn set_invisible_flag_sex_ver49(&mut self, value: u8) {
        self.invisible_flag_sex_ver49 = value;
    }

    pub fn invisible_flag_sex_ver50(&self) -> u8 {
        self.invisible_flag_sex_ver50
    }

    pub fn set_invisible_flag_sex_ver50(&mut self, value: u8) {
        self.invisible_flag_sex_ver50 = value;
    }

    pub fn invisible_flag_sex_ver51(&self) -> u8 {
        self.invisible_flag_sex_ver51
    }

    pub fn set_invisible_flag_sex_ver51(&mut self, value: u8) {
        self.invisible_flag_sex_ver51 = value;
    }

    pub fn invisible_flag_sex_ver52(&self) -> u8 {
        self.invisible_flag_sex_ver52
    }

    pub fn set_invisible_flag_sex_ver52(&mut self, value: u8) {
        self.invisible_flag_sex_ver52 = value;
    }

    pub fn invisible_flag_sex_ver53(&self) -> u8 {
        self.invisible_flag_sex_ver53
    }

    pub fn set_invisible_flag_sex_ver53(&mut self, value: u8) {
        self.invisible_flag_sex_ver53 = value;
    }

    pub fn invisible_flag_sex_ver54(&self) -> u8 {
        self.invisible_flag_sex_ver54
    }

    pub fn set_invisible_flag_sex_ver54(&mut self, value: u8) {
        self.invisible_flag_sex_ver54 = value;
    }

    pub fn invisible_flag_sex_ver55(&self) -> u8 {
        self.invisible_flag_sex_ver55
    }

    pub fn set_invisible_flag_sex_ver55(&mut self, value: u8) {
        self.invisible_flag_sex_ver55 = value;
    }

    pub fn invisible_flag_sex_ver56(&self) -> u8 {
        self.invisible_flag_sex_ver56
    }

    pub fn set_invisible_flag_sex_ver56(&mut self, value: u8) {
        self.invisible_flag_sex_ver56 = value;
    }

    pub fn invisible_flag_sex_ver57(&self) -> u8 {
        self.invisible_flag_sex_ver57
    }

    pub fn set_invisible_flag_sex_ver57(&mut self, value: u8) {
        self.invisible_flag_sex_ver57 = value;
    }

    pub fn invisible_flag_sex_ver58(&self) -> u8 {
        self.invisible_flag_sex_ver58
    }

    pub fn set_invisible_flag_sex_ver58(&mut self, value: u8) {
        self.invisible_flag_sex_ver58 = value;
    }

    pub fn invisible_flag_sex_ver59(&self) -> u8 {
        self.invisible_flag_sex_ver59
    }

    pub fn set_invisible_flag_sex_ver59(&mut self, value: u8) {
        self.invisible_flag_sex_ver59 = value;
    }

    pub fn invisible_flag_sex_ver60(&self) -> u8 {
        self.invisible_flag_sex_ver60
    }

    pub fn set_invisible_flag_sex_ver60(&mut self, value: u8) {
        self.invisible_flag_sex_ver60 = value;
    }

    pub fn invisible_flag_sex_ver61(&self) -> u8 {
        self.invisible_flag_sex_ver61
    }

    pub fn set_invisible_flag_sex_ver61(&mut self, value: u8) {
        self.invisible_flag_sex_ver61 = value;
    }

    pub fn invisible_flag_sex_ver62(&self) -> u8 {
        self.invisible_flag_sex_ver62
    }

    pub fn set_invisible_flag_sex_ver62(&mut self, value: u8) {
        self.invisible_flag_sex_ver62 = value;
    }

    pub fn invisible_flag_sex_ver63(&self) -> u8 {
        self.invisible_flag_sex_ver63
    }

    pub fn set_invisible_flag_sex_ver63(&mut self, value: u8) {
        self.invisible_flag_sex_ver63 = value;
    }

    pub fn invisible_flag_sex_ver64(&self) -> u8 {
        self.invisible_flag_sex_ver64
    }

    pub fn set_invisible_flag_sex_ver64(&mut self, value: u8) {
        self.invisible_flag_sex_ver64 = value;
    }

    pub fn invisible_flag_sex_ver65(&self) -> u8 {
        self.invisible_flag_sex_ver65
    }

    pub fn set_invisible_flag_sex_ver65(&mut self, value: u8) {
        self.invisible_flag_sex_ver65 = value;
    }

    pub fn invisible_flag_sex_ver66(&self) -> u8 {
        self.invisible_flag_sex_ver66
    }

    pub fn set_invisible_flag_sex_ver66(&mut self, value: u8) {
        self.invisible_flag_sex_ver66 = value;
    }

    pub fn invisible_flag_sex_ver67(&self) -> u8 {
        self.invisible_flag_sex_ver67
    }

    pub fn set_invisible_flag_sex_ver67(&mut self, value: u8) {
        self.invisible_flag_sex_ver67 = value;
    }

    pub fn invisible_flag_sex_ver68(&self) -> u8 {
        self.invisible_flag_sex_ver68
    }

    pub fn set_invisible_flag_sex_ver68(&mut self, value: u8) {
        self.invisible_flag_sex_ver68 = value;
    }

    pub fn invisible_flag_sex_ver69(&self) -> u8 {
        self.invisible_flag_sex_ver69
    }

    pub fn set_invisible_flag_sex_ver69(&mut self, value: u8) {
        self.invisible_flag_sex_ver69 = value;
    }

    pub fn invisible_flag_sex_ver70(&self) -> u8 {
        self.invisible_flag_sex_ver70
    }

    pub fn set_invisible_flag_sex_ver70(&mut self, value: u8) {
        self.invisible_flag_sex_ver70 = value;
    }

    pub fn invisible_flag_sex_ver71(&self) -> u8 {
        self.invisible_flag_sex_ver71
    }

    pub fn set_invisible_flag_sex_ver71(&mut self, value: u8) {
        self.invisible_flag_sex_ver71 = value;
    }

    pub fn invisible_flag_sex_ver72(&self) -> u8 {
        self.invisible_flag_sex_ver72
    }

    pub fn set_invisible_flag_sex_ver72(&mut self, value: u8) {
        self.invisible_flag_sex_ver72 = value;
    }

    pub fn invisible_flag_sex_ver73(&self) -> u8 {
        self.invisible_flag_sex_ver73
    }

    pub fn set_invisible_flag_sex_ver73(&mut self, value: u8) {
        self.invisible_flag_sex_ver73 = value;
    }

    pub fn invisible_flag_sex_ver74(&self) -> u8 {
        self.invisible_flag_sex_ver74
    }

    pub fn set_invisible_flag_sex_ver74(&mut self, value: u8) {
        self.invisible_flag_sex_ver74 = value;
    }

    pub fn invisible_flag_sex_ver75(&self) -> u8 {
        self.invisible_flag_sex_ver75
    }

    pub fn set_invisible_flag_sex_ver75(&mut self, value: u8) {
        self.invisible_flag_sex_ver75 = value;
    }

    pub fn invisible_flag_sex_ver76(&self) -> u8 {
        self.invisible_flag_sex_ver76
    }

    pub fn set_invisible_flag_sex_ver76(&mut self, value: u8) {
        self.invisible_flag_sex_ver76 = value;
    }

    pub fn invisible_flag_sex_ver77(&self) -> u8 {
        self.invisible_flag_sex_ver77
    }

    pub fn set_invisible_flag_sex_ver77(&mut self, value: u8) {
        self.invisible_flag_sex_ver77 = value;
    }

    pub fn invisible_flag_sex_ver78(&self) -> u8 {
        self.invisible_flag_sex_ver78
    }

    pub fn set_invisible_flag_sex_ver78(&mut self, value: u8) {
        self.invisible_flag_sex_ver78 = value;
    }

    pub fn invisible_flag_sex_ver79(&self) -> u8 {
        self.invisible_flag_sex_ver79
    }

    pub fn set_invisible_flag_sex_ver79(&mut self, value: u8) {
        self.invisible_flag_sex_ver79 = value;
    }

    pub fn invisible_flag_sex_ver80(&self) -> u8 {
        self.invisible_flag_sex_ver80
    }

    pub fn set_invisible_flag_sex_ver80(&mut self, value: u8) {
        self.invisible_flag_sex_ver80 = value;
    }

    pub fn invisible_flag_sex_ver81(&self) -> u8 {
        self.invisible_flag_sex_ver81
    }

    pub fn set_invisible_flag_sex_ver81(&mut self, value: u8) {
        self.invisible_flag_sex_ver81 = value;
    }

    pub fn invisible_flag_sex_ver82(&self) -> u8 {
        self.invisible_flag_sex_ver82
    }

    pub fn set_invisible_flag_sex_ver82(&mut self, value: u8) {
        self.invisible_flag_sex_ver82 = value;
    }

    pub fn invisible_flag_sex_ver83(&self) -> u8 {
        self.invisible_flag_sex_ver83
    }

    pub fn set_invisible_flag_sex_ver83(&mut self, value: u8) {
        self.invisible_flag_sex_ver83 = value;
    }

    pub fn invisible_flag_sex_ver84(&self) -> u8 {
        self.invisible_flag_sex_ver84
    }

    pub fn set_invisible_flag_sex_ver84(&mut self, value: u8) {
        self.invisible_flag_sex_ver84 = value;
    }

    pub fn invisible_flag_sex_ver85(&self) -> u8 {
        self.invisible_flag_sex_ver85
    }

    pub fn set_invisible_flag_sex_ver85(&mut self, value: u8) {
        self.invisible_flag_sex_ver85 = value;
    }

    pub fn invisible_flag_sex_ver86(&self) -> u8 {
        self.invisible_flag_sex_ver86
    }

    pub fn set_invisible_flag_sex_ver86(&mut self, value: u8) {
        self.invisible_flag_sex_ver86 = value;
    }

    pub fn invisible_flag_sex_ver87(&self) -> u8 {
        self.invisible_flag_sex_ver87
    }

    pub fn set_invisible_flag_sex_ver87(&mut self, value: u8) {
        self.invisible_flag_sex_ver87 = value;
    }

    pub fn invisible_flag_sex_ver88(&self) -> u8 {
        self.invisible_flag_sex_ver88
    }

    pub fn set_invisible_flag_sex_ver88(&mut self, value: u8) {
        self.invisible_flag_sex_ver88 = value;
    }

    pub fn invisible_flag_sex_ver89(&self) -> u8 {
        self.invisible_flag_sex_ver89
    }

    pub fn set_invisible_flag_sex_ver89(&mut self, value: u8) {
        self.invisible_flag_sex_ver89 = value;
    }

    pub fn invisible_flag_sex_ver90(&self) -> u8 {
        self.invisible_flag_sex_ver90
    }

    pub fn set_invisible_flag_sex_ver90(&mut self, value: u8) {
        self.invisible_flag_sex_ver90 = value;
    }

    pub fn invisible_flag_sex_ver91(&self) -> u8 {
        self.invisible_flag_sex_ver91
    }

    pub fn set_invisible_flag_sex_ver91(&mut self, value: u8) {
        self.invisible_flag_sex_ver91 = value;
    }

    pub fn invisible_flag_sex_ver92(&self) -> u8 {
        self.invisible_flag_sex_ver92
    }

    pub fn set_invisible_flag_sex_ver92(&mut self, value: u8) {
        self.invisible_flag_sex_ver92 = value;
    }

    pub fn invisible_flag_sex_ver93(&self) -> u8 {
        self.invisible_flag_sex_ver93
    }

    pub fn set_invisible_flag_sex_ver93(&mut self, value: u8) {
        self.invisible_flag_sex_ver93 = value;
    }

    pub fn invisible_flag_sex_ver94(&self) -> u8 {
        self.invisible_flag_sex_ver94
    }

    pub fn set_invisible_flag_sex_ver94(&mut self, value: u8) {
        self.invisible_flag_sex_ver94 = value;
    }

    pub fn invisible_flag_sex_ver95(&self) -> u8 {
        self.invisible_flag_sex_ver95
    }

    pub fn set_invisible_flag_sex_ver95(&mut self, value: u8) {
        self.invisible_flag_sex_ver95 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EQUIP_PARAM_WEAPON_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    behavior_variation_id: i32,
    sort_id: i32,
    wandering_equip_id: u32,
    weight: f32,
    weapon_weight_rate: f32,
    fix_price: i32,
    reinforce_price: i32,
    sell_value: i32,
    correct_strength: f32,
    correct_agility: f32,
    correct_magic: f32,
    correct_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_id: i32,
    resident_sp_effect_id1: i32,
    resident_sp_effect_id2: i32,
    material_set_id: i32,
    origin_equip_wep: 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,
    sleep_guard_resist_max_correct: f32,
    madness_guard_resist_max_correct: f32,
    sa_weapon_damage: f32,
    equip_model_id: u16,
    icon_id: u16,
    durability: u16,
    durability_max: u16,
    attack_throw_escape: u16,
    parry_damage_life: i16,
    attack_base_physics: u16,
    attack_base_magic: u16,
    attack_base_fire: u16,
    attack_base_thunder: u16,
    attack_base_stamina: u16,
    guard_angle: i16,
    sa_durability: f32,
    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_se_material1: u16,
    correct_type_physics: u8,
    sp_attribute: u8,
    sp_atkcategory: u16,
    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: i8,
    guard_level: i8,
    slash_guard_cut_rate: i8,
    blow_guard_cut_rate: i8,
    thrust_guard_cut_rate: i8,
    poison_guard_resist: i8,
    disease_guard_resist: i8,
    blood_guard_resist: i8,
    curse_guard_resist: i8,
    atk_attribute: u8,
    bits_105: u8,
    bits_106: u8,
    bits_107: u8,
    bits_108: u8,
    bits_109: u8,
    def_sfx_material1: u16,
    wep_collidable_type0: u8,
    wep_collidable_type1: u8,
    posture_control_id_right: u8,
    posture_control_id_left: u8,
    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,
    def_sfx_material2: u16,
    def_se_material2: u16,
    absorp_param_id: i32,
    toughness_correct_rate: f32,
    bits_17c: 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,
    attack_base_dark: u16,
    correct_type_dark: u8,
    correct_type_poison: u8,
    sort_group_id: u8,
    atk_attribute2: u8,
    sleep_guard_resist: i8,
    madness_guard_resist: i8,
    correct_type_blood: u8,
    proper_luck: u8,
    freeze_guard_resist: i8,
    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,
    wep_type: u16,
    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,
    resident_sfx_id_1: i32,
    resident_sfx_id_2: i32,
    resident_sfx_id_3: i32,
    resident_sfx_id_4: i32,
    resident_sfx_dmy_id_1: i32,
    resident_sfx_dmy_id_2: i32,
    resident_sfx_dmy_id_3: i32,
    resident_sfx_dmy_id_4: i32,
    stamina_consumption_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_236: u8,
    wep_se_id_offset: i8,
    base_change_price: i32,
    level_sync_correct_id: i16,
    correct_type_sleep: u8,
    correct_type_madness: u8,
    rarity: u8,
    gem_mount_type: u8,
    wep_regain_hp: u16,
    sp_effect_msg_id0: i32,
    sp_effect_msg_id1: i32,
    sp_effect_msg_id2: i32,
    origin_equip_wep16: i32,
    origin_equip_wep17: i32,
    origin_equip_wep18: i32,
    origin_equip_wep19: i32,
    origin_equip_wep20: i32,
    origin_equip_wep21: i32,
    origin_equip_wep22: i32,
    origin_equip_wep23: i32,
    origin_equip_wep24: i32,
    origin_equip_wep25: i32,
    equipped_spell_r1: i32,
    equipped_spell_r2: i32,
    unknown_3: f32,
    unknown_4: i32,
    mid_padding: [u8; 8],
    unknown_7: i32,
    unknown_8: i32,
    critical_multiplier: f32,
    attach_effect_id: i32,
    revive_damage: f32,
    unknown_11: i32,
}

impl ParamDef for EQUIP_PARAM_WEAPON_ST {
    const NAME: &str = "EQUIP_PARAM_WEAPON_ST";
}

impl EQUIP_PARAM_WEAPON_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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) -> u32 {
        self.wandering_equip_id
    }

    pub fn set_wandering_equip_id(&mut self, value: u32) {
        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 reinforce_price(&self) -> i32 {
        self.reinforce_price
    }

    pub fn set_reinforce_price(&mut self, value: i32) {
        self.reinforce_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 correct_magic(&self) -> f32 {
        self.correct_magic
    }

    pub fn set_correct_magic(&mut self, value: f32) {
        self.correct_magic = value;
    }

    pub fn correct_faith(&self) -> f32 {
        self.correct_faith
    }

    pub fn set_correct_faith(&mut self, value: f32) {
        self.correct_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_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_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_wep(&self) -> i32 {
        self.origin_equip_wep
    }

    pub fn set_origin_equip_wep(&mut self, value: i32) {
        self.origin_equip_wep = 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 sleep_guard_resist_max_correct(&self) -> f32 {
        self.sleep_guard_resist_max_correct
    }

    pub fn set_sleep_guard_resist_max_correct(&mut self, value: f32) {
        self.sleep_guard_resist_max_correct = value;
    }

    pub fn madness_guard_resist_max_correct(&self) -> f32 {
        self.madness_guard_resist_max_correct
    }

    pub fn set_madness_guard_resist_max_correct(&mut self, value: f32) {
        self.madness_guard_resist_max_correct = value;
    }

    pub fn sa_weapon_damage(&self) -> f32 {
        self.sa_weapon_damage
    }

    pub fn set_sa_weapon_damage(&mut self, value: f32) {
        self.sa_weapon_damage = value;
    }

    pub fn equip_model_id(&self) -> u16 {
        self.equip_model_id
    }

    pub fn set_equip_model_id(&mut self, value: u16) {
        self.equip_model_id = value;
    }

    pub fn icon_id(&self) -> u16 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: u16) {
        self.icon_id = value;
    }

    pub fn durability(&self) -> u16 {
        self.durability
    }

    pub fn set_durability(&mut self, value: u16) {
        self.durability = value;
    }

    pub fn durability_max(&self) -> u16 {
        self.durability_max
    }

    pub fn set_durability_max(&mut self, value: u16) {
        self.durability_max = value;
    }

    pub fn attack_throw_escape(&self) -> u16 {
        self.attack_throw_escape
    }

    pub fn set_attack_throw_escape(&mut self, value: u16) {
        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 attack_base_physics(&self) -> u16 {
        self.attack_base_physics
    }

    pub fn set_attack_base_physics(&mut self, value: u16) {
        self.attack_base_physics = value;
    }

    pub fn attack_base_magic(&self) -> u16 {
        self.attack_base_magic
    }

    pub fn set_attack_base_magic(&mut self, value: u16) {
        self.attack_base_magic = value;
    }

    pub fn attack_base_fire(&self) -> u16 {
        self.attack_base_fire
    }

    pub fn set_attack_base_fire(&mut self, value: u16) {
        self.attack_base_fire = value;
    }

    pub fn attack_base_thunder(&self) -> u16 {
        self.attack_base_thunder
    }

    pub fn set_attack_base_thunder(&mut self, value: u16) {
        self.attack_base_thunder = value;
    }

    pub fn attack_base_stamina(&self) -> u16 {
        self.attack_base_stamina
    }

    pub fn set_attack_base_stamina(&mut self, value: u16) {
        self.attack_base_stamina = 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 sa_durability(&self) -> f32 {
        self.sa_durability
    }

    pub fn set_sa_durability(&mut self, value: f32) {
        self.sa_durability = 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_se_material1(&self) -> u16 {
        self.def_se_material1
    }

    pub fn set_def_se_material1(&mut self, value: u16) {
        self.def_se_material1 = value;
    }

    pub fn correct_type_physics(&self) -> u8 {
        self.correct_type_physics
    }

    pub fn set_correct_type_physics(&mut self, value: u8) {
        self.correct_type_physics = 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_atkcategory(&self) -> u16 {
        self.sp_atkcategory
    }

    pub fn set_sp_atkcategory(&mut self, value: u16) {
        self.sp_atkcategory = 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) -> 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 guard_level(&self) -> i8 {
        self.guard_level
    }

    pub fn set_guard_level(&mut self, value: i8) {
        self.guard_level = value;
    }

    pub fn slash_guard_cut_rate(&self) -> i8 {
        self.slash_guard_cut_rate
    }

    pub fn set_slash_guard_cut_rate(&mut self, value: i8) {
        self.slash_guard_cut_rate = value;
    }

    pub fn blow_guard_cut_rate(&self) -> i8 {
        self.blow_guard_cut_rate
    }

    pub fn set_blow_guard_cut_rate(&mut self, value: i8) {
        self.blow_guard_cut_rate = value;
    }

    pub fn thrust_guard_cut_rate(&self) -> i8 {
        self.thrust_guard_cut_rate
    }

    pub fn set_thrust_guard_cut_rate(&mut self, value: i8) {
        self.thrust_guard_cut_rate = value;
    }

    pub fn poison_guard_resist(&self) -> i8 {
        self.poison_guard_resist
    }

    pub fn set_poison_guard_resist(&mut self, value: i8) {
        self.poison_guard_resist = value;
    }

    pub fn disease_guard_resist(&self) -> i8 {
        self.disease_guard_resist
    }

    pub fn set_disease_guard_resist(&mut self, value: i8) {
        self.disease_guard_resist = value;
    }

    pub fn blood_guard_resist(&self) -> i8 {
        self.blood_guard_resist
    }

    pub fn set_blood_guard_resist(&mut self, value: i8) {
        self.blood_guard_resist = value;
    }

    pub fn curse_guard_resist(&self) -> i8 {
        self.curse_guard_resist
    }

    pub fn set_curse_guard_resist(&mut self, value: i8) {
        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_105 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_right_hand_equipable(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn left_hand_equipable(&self) -> u8 {
        (self.bits_105 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_left_hand_equipable(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn both_hand_equipable(&self) -> u8 {
        (self.bits_105 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_both_hand_equipable(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn arrow_slot_equipable(&self) -> u8 {
        (self.bits_105 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_arrow_slot_equipable(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn bolt_slot_equipable(&self) -> u8 {
        (self.bits_105 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_bolt_slot_equipable(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_guard(&self) -> u8 {
        (self.bits_105 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_guard(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_parry(&self) -> u8 {
        (self.bits_105 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_parry(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_magic(&self) -> u8 {
        (self.bits_105 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_magic(&mut self, value: u8) {
        self.bits_105 = (self.bits_105 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_sorcery(&self) -> u8 {
        (self.bits_106 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_sorcery(&mut self, value: u8) {
        self.bits_106 = (self.bits_106 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_miracle(&self) -> u8 {
        (self.bits_106 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_miracle(&mut self, value: u8) {
        self.bits_106 = (self.bits_106 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_vow_magic(&self) -> u8 {
        (self.bits_106 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_vow_magic(&mut self, value: u8) {
        self.bits_106 = (self.bits_106 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_normal_attack_type(&self) -> u8 {
        (self.bits_106 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_normal_attack_type(&mut self, value: u8) {
        self.bits_106 = (self.bits_106 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_blow_attack_type(&self) -> u8 {
        (self.bits_106 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_blow_attack_type(&mut self, value: u8) {
        self.bits_106 = (self.bits_106 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_slash_attack_type(&self) -> u8 {
        (self.bits_106 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_slash_attack_type(&mut self, value: u8) {
        self.bits_106 = (self.bits_106 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_thrust_attack_type(&self) -> u8 {
        (self.bits_106 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_thrust_attack_type(&mut self, value: u8) {
        self.bits_106 = (self.bits_106 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enhance(&self) -> u8 {
        (self.bits_106 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enhance(&mut self, value: u8) {
        self.bits_106 = (self.bits_106 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hero_point_correct(&self) -> u8 {
        (self.bits_107 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hero_point_correct(&mut self, value: u8) {
        self.bits_107 = (self.bits_107 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_custom(&self) -> u8 {
        (self.bits_107 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_custom(&mut self, value: u8) {
        self.bits_107 = (self.bits_107 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_base_change_reset(&self) -> u8 {
        (self.bits_107 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_base_change_reset(&mut self, value: u8) {
        self.bits_107 = (self.bits_107 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_repair(&self) -> u8 {
        (self.bits_107 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_repair(&mut self, value: u8) {
        self.bits_107 = (self.bits_107 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_dark_hand(&self) -> u8 {
        (self.bits_107 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_dark_hand(&mut self, value: u8) {
        self.bits_107 = (self.bits_107 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn simple_model_for_dlc(&self) -> u8 {
        (self.bits_107 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_simple_model_for_dlc(&mut self, value: u8) {
        self.bits_107 = (self.bits_107 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn lantern_wep(&self) -> u8 {
        (self.bits_107 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_lantern_wep(&mut self, value: u8) {
        self.bits_107 = (self.bits_107 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_versus_ghost_wep(&self) -> u8 {
        (self.bits_107 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_versus_ghost_wep(&mut self, value: u8) {
        self.bits_107 = (self.bits_107 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn base_change_category(&self) -> u8 {
        (self.bits_108 >> 0) & 0b00111111
    }

    #[allow(clippy::identity_op)]
    pub fn set_base_change_category(&mut self, value: u8) {
        self.bits_108 = (self.bits_108 & !(0b00111111 << 0)) | ((value & 0b00111111) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_dragon_slayer(&self) -> u8 {
        (self.bits_108 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_dragon_slayer(&mut self, value: u8) {
        self.bits_108 = (self.bits_108 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_deposit(&self) -> u8 {
        (self.bits_108 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_deposit(&mut self, value: u8) {
        self.bits_108 = (self.bits_108 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_multi_drop_share(&self) -> u8 {
        (self.bits_109 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_multi_drop_share(&mut self, value: u8) {
        self.bits_109 = (self.bits_109 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_discard(&self) -> u8 {
        (self.bits_109 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_discard(&mut self, value: u8) {
        self.bits_109 = (self.bits_109 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_drop(&self) -> u8 {
        (self.bits_109 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_drop(&mut self, value: u8) {
        self.bits_109 = (self.bits_109 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn show_log_cond_type(&self) -> u8 {
        (self.bits_109 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_log_cond_type(&mut self, value: u8) {
        self.bits_109 = (self.bits_109 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_throw(&self) -> u8 {
        (self.bits_109 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_throw(&mut self, value: u8) {
        self.bits_109 = (self.bits_109 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn show_dialog_cond_type(&self) -> u8 {
        (self.bits_109 >> 5) & 0b00000011
    }

    #[allow(clippy::identity_op)]
    pub fn set_show_dialog_cond_type(&mut self, value: u8) {
        self.bits_109 = (self.bits_109 & !(0b00000011 << 5)) | ((value & 0b00000011) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_gem_attr(&self) -> u8 {
        (self.bits_109 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_gem_attr(&mut self, value: u8) {
        self.bits_109 = (self.bits_109 & !(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 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 def_sfx_material2(&self) -> u16 {
        self.def_sfx_material2
    }

    pub fn set_def_sfx_material2(&mut self, value: u16) {
        self.def_sfx_material2 = value;
    }

    pub fn def_se_material2(&self) -> u16 {
        self.def_se_material2
    }

    pub fn set_def_se_material2(&mut self, value: u16) {
        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_17c >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_valid_tough_prot_sa_dmg(&mut self, value: u8) {
        self.bits_17c = (self.bits_17c & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_dual_blade(&self) -> u8 {
        (self.bits_17c >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_dual_blade(&mut self, value: u8) {
        self.bits_17c = (self.bits_17c & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_auto_equip(&self) -> u8 {
        (self.bits_17c >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_auto_equip(&mut self, value: u8) {
        self.bits_17c = (self.bits_17c & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_emergency_step(&self) -> u8 {
        (self.bits_17c >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_emergency_step(&mut self, value: u8) {
        self.bits_17c = (self.bits_17c & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn invisible_on_remo(&self) -> u8 {
        (self.bits_17c >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_invisible_on_remo(&mut self, value: u8) {
        self.bits_17c = (self.bits_17c & !(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 attack_base_dark(&self) -> u16 {
        self.attack_base_dark
    }

    pub fn set_attack_base_dark(&mut self, value: u16) {
        self.attack_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 sort_group_id(&self) -> u8 {
        self.sort_group_id
    }

    pub fn set_sort_group_id(&mut self, value: u8) {
        self.sort_group_id = value;
    }

    pub fn atk_attribute2(&self) -> u8 {
        self.atk_attribute2
    }

    pub fn set_atk_attribute2(&mut self, value: u8) {
        self.atk_attribute2 = value;
    }

    pub fn sleep_guard_resist(&self) -> i8 {
        self.sleep_guard_resist
    }

    pub fn set_sleep_guard_resist(&mut self, value: i8) {
        self.sleep_guard_resist = value;
    }

    pub fn madness_guard_resist(&self) -> i8 {
        self.madness_guard_resist
    }

    pub fn set_madness_guard_resist(&mut self, value: i8) {
        self.madness_guard_resist = value;
    }

    pub fn correct_type_blood(&self) -> u8 {
        self.correct_type_blood
    }

    pub fn set_correct_type_blood(&mut self, value: u8) {
        self.correct_type_blood = 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) -> i8 {
        self.freeze_guard_resist
    }

    pub fn set_freeze_guard_resist(&mut self, value: i8) {
        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 wep_type(&self) -> u16 {
        self.wep_type
    }

    pub fn set_wep_type(&mut self, value: u16) {
        self.wep_type = 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 resident_sfx_id_1(&self) -> i32 {
        self.resident_sfx_id_1
    }

    pub fn set_resident_sfx_id_1(&mut self, value: i32) {
        self.resident_sfx_id_1 = value;
    }

    pub fn resident_sfx_id_2(&self) -> i32 {
        self.resident_sfx_id_2
    }

    pub fn set_resident_sfx_id_2(&mut self, value: i32) {
        self.resident_sfx_id_2 = value;
    }

    pub fn resident_sfx_id_3(&self) -> i32 {
        self.resident_sfx_id_3
    }

    pub fn set_resident_sfx_id_3(&mut self, value: i32) {
        self.resident_sfx_id_3 = value;
    }

    pub fn resident_sfx_id_4(&self) -> i32 {
        self.resident_sfx_id_4
    }

    pub fn set_resident_sfx_id_4(&mut self, value: i32) {
        self.resident_sfx_id_4 = value;
    }

    pub fn resident_sfx_dmy_id_1(&self) -> i32 {
        self.resident_sfx_dmy_id_1
    }

    pub fn set_resident_sfx_dmy_id_1(&mut self, value: i32) {
        self.resident_sfx_dmy_id_1 = value;
    }

    pub fn resident_sfx_dmy_id_2(&self) -> i32 {
        self.resident_sfx_dmy_id_2
    }

    pub fn set_resident_sfx_dmy_id_2(&mut self, value: i32) {
        self.resident_sfx_dmy_id_2 = value;
    }

    pub fn resident_sfx_dmy_id_3(&self) -> i32 {
        self.resident_sfx_dmy_id_3
    }

    pub fn set_resident_sfx_dmy_id_3(&mut self, value: i32) {
        self.resident_sfx_dmy_id_3 = value;
    }

    pub fn resident_sfx_dmy_id_4(&self) -> i32 {
        self.resident_sfx_dmy_id_4
    }

    pub fn set_resident_sfx_dmy_id_4(&mut self, value: i32) {
        self.resident_sfx_dmy_id_4 = value;
    }

    pub fn stamina_consumption_rate(&self) -> f32 {
        self.stamina_consumption_rate
    }

    pub fn set_stamina_consumption_rate(&mut self, value: f32) {
        self.stamina_consumption_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_236 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_resident_sfx_1_is_visible_for_hang(&mut self, value: u8) {
        self.bits_236 = (self.bits_236 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn resident_sfx_2_is_visible_for_hang(&self) -> u8 {
        (self.bits_236 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_resident_sfx_2_is_visible_for_hang(&mut self, value: u8) {
        self.bits_236 = (self.bits_236 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn resident_sfx_3_is_visible_for_hang(&self) -> u8 {
        (self.bits_236 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_resident_sfx_3_is_visible_for_hang(&mut self, value: u8) {
        self.bits_236 = (self.bits_236 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn resident_sfx_4_is_visible_for_hang(&self) -> u8 {
        (self.bits_236 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_resident_sfx_4_is_visible_for_hang(&mut self, value: u8) {
        self.bits_236 = (self.bits_236 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_soul_param_id_change_model0(&self) -> u8 {
        (self.bits_236 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_soul_param_id_change_model0(&mut self, value: u8) {
        self.bits_236 = (self.bits_236 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_soul_param_id_change_model1(&self) -> u8 {
        (self.bits_236 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_soul_param_id_change_model1(&mut self, value: u8) {
        self.bits_236 = (self.bits_236 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_soul_param_id_change_model2(&self) -> u8 {
        (self.bits_236 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_soul_param_id_change_model2(&mut self, value: u8) {
        self.bits_236 = (self.bits_236 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_soul_param_id_change_model3(&self) -> u8 {
        (self.bits_236 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_soul_param_id_change_model3(&mut self, value: u8) {
        self.bits_236 = (self.bits_236 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn wep_se_id_offset(&self) -> i8 {
        self.wep_se_id_offset
    }

    pub fn set_wep_se_id_offset(&mut self, value: i8) {
        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;
    }

    pub fn correct_type_sleep(&self) -> u8 {
        self.correct_type_sleep
    }

    pub fn set_correct_type_sleep(&mut self, value: u8) {
        self.correct_type_sleep = value;
    }

    pub fn correct_type_madness(&self) -> u8 {
        self.correct_type_madness
    }

    pub fn set_correct_type_madness(&mut self, value: u8) {
        self.correct_type_madness = value;
    }

    pub fn rarity(&self) -> u8 {
        self.rarity
    }

    pub fn set_rarity(&mut self, value: u8) {
        self.rarity = value;
    }

    pub fn gem_mount_type(&self) -> u8 {
        self.gem_mount_type
    }

    pub fn set_gem_mount_type(&mut self, value: u8) {
        self.gem_mount_type = value;
    }

    pub fn wep_regain_hp(&self) -> u16 {
        self.wep_regain_hp
    }

    pub fn set_wep_regain_hp(&mut self, value: u16) {
        self.wep_regain_hp = value;
    }

    pub fn sp_effect_msg_id0(&self) -> i32 {
        self.sp_effect_msg_id0
    }

    pub fn set_sp_effect_msg_id0(&mut self, value: i32) {
        self.sp_effect_msg_id0 = value;
    }

    pub fn sp_effect_msg_id1(&self) -> i32 {
        self.sp_effect_msg_id1
    }

    pub fn set_sp_effect_msg_id1(&mut self, value: i32) {
        self.sp_effect_msg_id1 = value;
    }

    pub fn sp_effect_msg_id2(&self) -> i32 {
        self.sp_effect_msg_id2
    }

    pub fn set_sp_effect_msg_id2(&mut self, value: i32) {
        self.sp_effect_msg_id2 = value;
    }

    pub fn origin_equip_wep16(&self) -> i32 {
        self.origin_equip_wep16
    }

    pub fn set_origin_equip_wep16(&mut self, value: i32) {
        self.origin_equip_wep16 = value;
    }

    pub fn origin_equip_wep17(&self) -> i32 {
        self.origin_equip_wep17
    }

    pub fn set_origin_equip_wep17(&mut self, value: i32) {
        self.origin_equip_wep17 = value;
    }

    pub fn origin_equip_wep18(&self) -> i32 {
        self.origin_equip_wep18
    }

    pub fn set_origin_equip_wep18(&mut self, value: i32) {
        self.origin_equip_wep18 = value;
    }

    pub fn origin_equip_wep19(&self) -> i32 {
        self.origin_equip_wep19
    }

    pub fn set_origin_equip_wep19(&mut self, value: i32) {
        self.origin_equip_wep19 = value;
    }

    pub fn origin_equip_wep20(&self) -> i32 {
        self.origin_equip_wep20
    }

    pub fn set_origin_equip_wep20(&mut self, value: i32) {
        self.origin_equip_wep20 = value;
    }

    pub fn origin_equip_wep21(&self) -> i32 {
        self.origin_equip_wep21
    }

    pub fn set_origin_equip_wep21(&mut self, value: i32) {
        self.origin_equip_wep21 = value;
    }

    pub fn origin_equip_wep22(&self) -> i32 {
        self.origin_equip_wep22
    }

    pub fn set_origin_equip_wep22(&mut self, value: i32) {
        self.origin_equip_wep22 = value;
    }

    pub fn origin_equip_wep23(&self) -> i32 {
        self.origin_equip_wep23
    }

    pub fn set_origin_equip_wep23(&mut self, value: i32) {
        self.origin_equip_wep23 = value;
    }

    pub fn origin_equip_wep24(&self) -> i32 {
        self.origin_equip_wep24
    }

    pub fn set_origin_equip_wep24(&mut self, value: i32) {
        self.origin_equip_wep24 = value;
    }

    pub fn origin_equip_wep25(&self) -> i32 {
        self.origin_equip_wep25
    }

    pub fn set_origin_equip_wep25(&mut self, value: i32) {
        self.origin_equip_wep25 = value;
    }

    pub fn equipped_spell_r1(&self) -> i32 {
        self.equipped_spell_r1
    }

    pub fn set_equipped_spell_r1(&mut self, value: i32) {
        self.equipped_spell_r1 = value;
    }

    pub fn equipped_spell_r2(&self) -> i32 {
        self.equipped_spell_r2
    }

    pub fn set_equipped_spell_r2(&mut self, value: i32) {
        self.equipped_spell_r2 = value;
    }

    pub fn critical_multiplier(&self) -> f32 {
        self.critical_multiplier
    }

    pub fn set_critical_multiplier(&mut self, value: f32) {
        self.critical_multiplier = value;
    }

    pub fn attach_effect_id(&self) -> i32 {
        self.attach_effect_id
    }

    pub fn set_attach_effect_id(&mut self, value: i32) {
        self.attach_effect_id = value;
    }

    pub fn revive_damage(&self) -> f32 {
        self.revive_damage
    }

    pub fn set_revive_damage(&mut self, value: f32) {
        self.revive_damage = 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,
    pad: [u8; 8],
}

impl ParamDef for ESTUS_FLASK_RECOVERY_PARAM_ST {
    const NAME: &str = "ESTUS_FLASK_RECOVERY_PARAM_ST";
}

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 EVENT_BGM_BOSSCHRID_CONVERT_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    param_str: [u8; 32],
    unknown_1: i32,
}

impl ParamDef for EVENT_BGM_BOSSCHRID_CONVERT_PARAM_ST {
    const NAME: &str = "EVENT_BGM_BOSSCHRID_CONVERT_PARAM_ST";
}

impl EVENT_BGM_BOSSCHRID_CONVERT_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn param_str(&self) -> &[u8; 32] {
        &self.param_str
    }

    pub fn set_param_str(&mut self, value: [u8; 32]) {
        self.param_str = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct EVENT_FLAG_USAGE_PARAM_ST {
    usage_type: u8,
    playlog_category: u8,
    padding1: [u8; 2],
    flag_num: i32,
    padding2: [u8; 24],
}

impl ParamDef for EVENT_FLAG_USAGE_PARAM_ST {
    const NAME: &str = "EVENT_FLAG_USAGE_PARAM_ST";
}

impl EVENT_FLAG_USAGE_PARAM_ST {
    pub fn usage_type(&self) -> u8 {
        self.usage_type
    }

    pub fn set_usage_type(&mut self, value: u8) {
        self.usage_type = value;
    }

    pub fn playlog_category(&self) -> u8 {
        self.playlog_category
    }

    pub fn set_playlog_category(&mut self, value: u8) {
        self.playlog_category = value;
    }

    pub fn flag_num(&self) -> i32 {
        self.flag_num
    }

    pub fn set_flag_num(&mut self, value: i32) {
        self.flag_num = 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,
    skin_gloss: u8,
    skin_pores: u8,
    face_beard: u8,
    face_around_eye: u8,
    face_around_eye_color_r: u8,
    face_around_eye_color_g: u8,
    face_around_eye_color_b: u8,
    face_cheek: u8,
    face_cheek_color_r: u8,
    face_cheek_color_g: u8,
    face_cheek_color_b: u8,
    face_eye_line: u8,
    face_eye_line_color_r: u8,
    face_eye_line_color_g: u8,
    face_eye_line_color_b: u8,
    face_eye_shadow_down: u8,
    face_eye_shadow_down_color_r: u8,
    face_eye_shadow_down_color_g: u8,
    face_eye_shadow_down_color_b: u8,
    face_eye_shadow_up: u8,
    face_eye_shadow_up_color_r: u8,
    face_eye_shadow_up_color_g: u8,
    face_eye_shadow_up_color_b: u8,
    face_lip: u8,
    face_lip_color_r: u8,
    face_lip_color_g: u8,
    face_lip_color_b: u8,
    body_hair: u8,
    body_hair_color_r: u8,
    body_hair_color_g: u8,
    body_hair_color_b: u8,
    eye_parts_id: u8,
    eye_r_iris_color_r: u8,
    eye_r_iris_color_g: u8,
    eye_r_iris_color_b: u8,
    eye_r_iris_scale: u8,
    eye_r_cataract: u8,
    eye_r_cataract_color_r: u8,
    eye_r_cataract_color_g: u8,
    eye_r_cataract_color_b: u8,
    eye_r_sclera_color_r: u8,
    eye_r_sclera_color_g: u8,
    eye_r_sclera_color_b: u8,
    eye_r_iris_distance: u8,
    eye_l_iris_color_r: u8,
    eye_l_iris_color_g: u8,
    eye_l_iris_color_b: u8,
    eye_l_iris_scale: u8,
    eye_l_cataract: u8,
    eye_l_cataract_color_r: u8,
    eye_l_cataract_color_g: u8,
    eye_l_cataract_color_b: u8,
    eye_l_sclera_color_r: u8,
    eye_l_sclera_color_g: u8,
    eye_l_sclera_color_b: u8,
    eye_l_iris_distance: u8,
    hair_parts_id: u8,
    hair_color_r: u8,
    hair_color_g: u8,
    hair_color_b: u8,
    hair_shininess: u8,
    hair_root_black: u8,
    hair_white_density: u8,
    beard_parts_id: u8,
    beard_color_r: u8,
    beard_color_g: u8,
    beard_color_b: u8,
    beard_shininess: u8,
    beard_root_black: u8,
    beard_white_density: u8,
    eyebrow_parts_id: u8,
    eyebrow_color_r: u8,
    eyebrow_color_g: u8,
    eyebrow_color_b: u8,
    eyebrow_shininess: u8,
    eyebrow_root_black: u8,
    eyebrow_white_density: u8,
    eyelash_parts_id: u8,
    eyelash_color_r: u8,
    eyelash_color_g: u8,
    eyelash_color_b: u8,
    accessories_parts_id: u8,
    accessories_color_r: u8,
    accessories_color_g: u8,
    accessories_color_b: u8,
    decal_parts_id: u8,
    decal_pos_x: u8,
    decal_pos_y: u8,
    decal_angle: u8,
    decal_scale: u8,
    decal_color_r: u8,
    decal_color_g: u8,
    decal_color_b: u8,
    decal_gloss: u8,
    decal_mirror: u8,
    chr_body_scale_head: u8,
    chr_body_scale_breast: u8,
    chr_body_scale_abdomen: u8,
    chr_body_scale_r_arm: u8,
    chr_body_scale_r_leg: u8,
    chr_body_scale_l_arm: u8,
    chr_body_scale_l_leg: u8,
    burn_scar: u8,
    bits_6b: u8,
    pad: [u8; 5],
    age: u8,
    gender: u8,
    caricature_geometry: u8,
    caricature_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,
}

impl ParamDef for FACE_PARAM_ST {
    const NAME: &str = "FACE_PARAM_ST";
}

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 skin_gloss(&self) -> u8 {
        self.skin_gloss
    }

    pub fn set_skin_gloss(&mut self, value: u8) {
        self.skin_gloss = value;
    }

    pub fn skin_pores(&self) -> u8 {
        self.skin_pores
    }

    pub fn set_skin_pores(&mut self, value: u8) {
        self.skin_pores = value;
    }

    pub fn face_beard(&self) -> u8 {
        self.face_beard
    }

    pub fn set_face_beard(&mut self, value: u8) {
        self.face_beard = value;
    }

    pub fn face_around_eye(&self) -> u8 {
        self.face_around_eye
    }

    pub fn set_face_around_eye(&mut self, value: u8) {
        self.face_around_eye = value;
    }

    pub fn face_around_eye_color_r(&self) -> u8 {
        self.face_around_eye_color_r
    }

    pub fn set_face_around_eye_color_r(&mut self, value: u8) {
        self.face_around_eye_color_r = value;
    }

    pub fn face_around_eye_color_g(&self) -> u8 {
        self.face_around_eye_color_g
    }

    pub fn set_face_around_eye_color_g(&mut self, value: u8) {
        self.face_around_eye_color_g = value;
    }

    pub fn face_around_eye_color_b(&self) -> u8 {
        self.face_around_eye_color_b
    }

    pub fn set_face_around_eye_color_b(&mut self, value: u8) {
        self.face_around_eye_color_b = value;
    }

    pub fn face_cheek(&self) -> u8 {
        self.face_cheek
    }

    pub fn set_face_cheek(&mut self, value: u8) {
        self.face_cheek = value;
    }

    pub fn face_cheek_color_r(&self) -> u8 {
        self.face_cheek_color_r
    }

    pub fn set_face_cheek_color_r(&mut self, value: u8) {
        self.face_cheek_color_r = value;
    }

    pub fn face_cheek_color_g(&self) -> u8 {
        self.face_cheek_color_g
    }

    pub fn set_face_cheek_color_g(&mut self, value: u8) {
        self.face_cheek_color_g = value;
    }

    pub fn face_cheek_color_b(&self) -> u8 {
        self.face_cheek_color_b
    }

    pub fn set_face_cheek_color_b(&mut self, value: u8) {
        self.face_cheek_color_b = value;
    }

    pub fn face_eye_line(&self) -> u8 {
        self.face_eye_line
    }

    pub fn set_face_eye_line(&mut self, value: u8) {
        self.face_eye_line = value;
    }

    pub fn face_eye_line_color_r(&self) -> u8 {
        self.face_eye_line_color_r
    }

    pub fn set_face_eye_line_color_r(&mut self, value: u8) {
        self.face_eye_line_color_r = value;
    }

    pub fn face_eye_line_color_g(&self) -> u8 {
        self.face_eye_line_color_g
    }

    pub fn set_face_eye_line_color_g(&mut self, value: u8) {
        self.face_eye_line_color_g = value;
    }

    pub fn face_eye_line_color_b(&self) -> u8 {
        self.face_eye_line_color_b
    }

    pub fn set_face_eye_line_color_b(&mut self, value: u8) {
        self.face_eye_line_color_b = value;
    }

    pub fn face_eye_shadow_down(&self) -> u8 {
        self.face_eye_shadow_down
    }

    pub fn set_face_eye_shadow_down(&mut self, value: u8) {
        self.face_eye_shadow_down = value;
    }

    pub fn face_eye_shadow_down_color_r(&self) -> u8 {
        self.face_eye_shadow_down_color_r
    }

    pub fn set_face_eye_shadow_down_color_r(&mut self, value: u8) {
        self.face_eye_shadow_down_color_r = value;
    }

    pub fn face_eye_shadow_down_color_g(&self) -> u8 {
        self.face_eye_shadow_down_color_g
    }

    pub fn set_face_eye_shadow_down_color_g(&mut self, value: u8) {
        self.face_eye_shadow_down_color_g = value;
    }

    pub fn face_eye_shadow_down_color_b(&self) -> u8 {
        self.face_eye_shadow_down_color_b
    }

    pub fn set_face_eye_shadow_down_color_b(&mut self, value: u8) {
        self.face_eye_shadow_down_color_b = value;
    }

    pub fn face_eye_shadow_up(&self) -> u8 {
        self.face_eye_shadow_up
    }

    pub fn set_face_eye_shadow_up(&mut self, value: u8) {
        self.face_eye_shadow_up = value;
    }

    pub fn face_eye_shadow_up_color_r(&self) -> u8 {
        self.face_eye_shadow_up_color_r
    }

    pub fn set_face_eye_shadow_up_color_r(&mut self, value: u8) {
        self.face_eye_shadow_up_color_r = value;
    }

    pub fn face_eye_shadow_up_color_g(&self) -> u8 {
        self.face_eye_shadow_up_color_g
    }

    pub fn set_face_eye_shadow_up_color_g(&mut self, value: u8) {
        self.face_eye_shadow_up_color_g = value;
    }

    pub fn face_eye_shadow_up_color_b(&self) -> u8 {
        self.face_eye_shadow_up_color_b
    }

    pub fn set_face_eye_shadow_up_color_b(&mut self, value: u8) {
        self.face_eye_shadow_up_color_b = value;
    }

    pub fn face_lip(&self) -> u8 {
        self.face_lip
    }

    pub fn set_face_lip(&mut self, value: u8) {
        self.face_lip = value;
    }

    pub fn face_lip_color_r(&self) -> u8 {
        self.face_lip_color_r
    }

    pub fn set_face_lip_color_r(&mut self, value: u8) {
        self.face_lip_color_r = value;
    }

    pub fn face_lip_color_g(&self) -> u8 {
        self.face_lip_color_g
    }

    pub fn set_face_lip_color_g(&mut self, value: u8) {
        self.face_lip_color_g = value;
    }

    pub fn face_lip_color_b(&self) -> u8 {
        self.face_lip_color_b
    }

    pub fn set_face_lip_color_b(&mut self, value: u8) {
        self.face_lip_color_b = value;
    }

    pub fn body_hair(&self) -> u8 {
        self.body_hair
    }

    pub fn set_body_hair(&mut self, value: u8) {
        self.body_hair = value;
    }

    pub fn body_hair_color_r(&self) -> u8 {
        self.body_hair_color_r
    }

    pub fn set_body_hair_color_r(&mut self, value: u8) {
        self.body_hair_color_r = value;
    }

    pub fn body_hair_color_g(&self) -> u8 {
        self.body_hair_color_g
    }

    pub fn set_body_hair_color_g(&mut self, value: u8) {
        self.body_hair_color_g = value;
    }

    pub fn body_hair_color_b(&self) -> u8 {
        self.body_hair_color_b
    }

    pub fn set_body_hair_color_b(&mut self, value: u8) {
        self.body_hair_color_b = value;
    }

    pub fn eye_parts_id(&self) -> u8 {
        self.eye_parts_id
    }

    pub fn set_eye_parts_id(&mut self, value: u8) {
        self.eye_parts_id = value;
    }

    pub fn eye_r_iris_color_r(&self) -> u8 {
        self.eye_r_iris_color_r
    }

    pub fn set_eye_r_iris_color_r(&mut self, value: u8) {
        self.eye_r_iris_color_r = value;
    }

    pub fn eye_r_iris_color_g(&self) -> u8 {
        self.eye_r_iris_color_g
    }

    pub fn set_eye_r_iris_color_g(&mut self, value: u8) {
        self.eye_r_iris_color_g = value;
    }

    pub fn eye_r_iris_color_b(&self) -> u8 {
        self.eye_r_iris_color_b
    }

    pub fn set_eye_r_iris_color_b(&mut self, value: u8) {
        self.eye_r_iris_color_b = value;
    }

    pub fn eye_r_iris_scale(&self) -> u8 {
        self.eye_r_iris_scale
    }

    pub fn set_eye_r_iris_scale(&mut self, value: u8) {
        self.eye_r_iris_scale = value;
    }

    pub fn eye_r_cataract(&self) -> u8 {
        self.eye_r_cataract
    }

    pub fn set_eye_r_cataract(&mut self, value: u8) {
        self.eye_r_cataract = value;
    }

    pub fn eye_r_cataract_color_r(&self) -> u8 {
        self.eye_r_cataract_color_r
    }

    pub fn set_eye_r_cataract_color_r(&mut self, value: u8) {
        self.eye_r_cataract_color_r = value;
    }

    pub fn eye_r_cataract_color_g(&self) -> u8 {
        self.eye_r_cataract_color_g
    }

    pub fn set_eye_r_cataract_color_g(&mut self, value: u8) {
        self.eye_r_cataract_color_g = value;
    }

    pub fn eye_r_cataract_color_b(&self) -> u8 {
        self.eye_r_cataract_color_b
    }

    pub fn set_eye_r_cataract_color_b(&mut self, value: u8) {
        self.eye_r_cataract_color_b = value;
    }

    pub fn eye_r_sclera_color_r(&self) -> u8 {
        self.eye_r_sclera_color_r
    }

    pub fn set_eye_r_sclera_color_r(&mut self, value: u8) {
        self.eye_r_sclera_color_r = value;
    }

    pub fn eye_r_sclera_color_g(&self) -> u8 {
        self.eye_r_sclera_color_g
    }

    pub fn set_eye_r_sclera_color_g(&mut self, value: u8) {
        self.eye_r_sclera_color_g = value;
    }

    pub fn eye_r_sclera_color_b(&self) -> u8 {
        self.eye_r_sclera_color_b
    }

    pub fn set_eye_r_sclera_color_b(&mut self, value: u8) {
        self.eye_r_sclera_color_b = value;
    }

    pub fn eye_r_iris_distance(&self) -> u8 {
        self.eye_r_iris_distance
    }

    pub fn set_eye_r_iris_distance(&mut self, value: u8) {
        self.eye_r_iris_distance = value;
    }

    pub fn eye_l_iris_color_r(&self) -> u8 {
        self.eye_l_iris_color_r
    }

    pub fn set_eye_l_iris_color_r(&mut self, value: u8) {
        self.eye_l_iris_color_r = value;
    }

    pub fn eye_l_iris_color_g(&self) -> u8 {
        self.eye_l_iris_color_g
    }

    pub fn set_eye_l_iris_color_g(&mut self, value: u8) {
        self.eye_l_iris_color_g = value;
    }

    pub fn eye_l_iris_color_b(&self) -> u8 {
        self.eye_l_iris_color_b
    }

    pub fn set_eye_l_iris_color_b(&mut self, value: u8) {
        self.eye_l_iris_color_b = value;
    }

    pub fn eye_l_iris_scale(&self) -> u8 {
        self.eye_l_iris_scale
    }

    pub fn set_eye_l_iris_scale(&mut self, value: u8) {
        self.eye_l_iris_scale = value;
    }

    pub fn eye_l_cataract(&self) -> u8 {
        self.eye_l_cataract
    }

    pub fn set_eye_l_cataract(&mut self, value: u8) {
        self.eye_l_cataract = value;
    }

    pub fn eye_l_cataract_color_r(&self) -> u8 {
        self.eye_l_cataract_color_r
    }

    pub fn set_eye_l_cataract_color_r(&mut self, value: u8) {
        self.eye_l_cataract_color_r = value;
    }

    pub fn eye_l_cataract_color_g(&self) -> u8 {
        self.eye_l_cataract_color_g
    }

    pub fn set_eye_l_cataract_color_g(&mut self, value: u8) {
        self.eye_l_cataract_color_g = value;
    }

    pub fn eye_l_cataract_color_b(&self) -> u8 {
        self.eye_l_cataract_color_b
    }

    pub fn set_eye_l_cataract_color_b(&mut self, value: u8) {
        self.eye_l_cataract_color_b = value;
    }

    pub fn eye_l_sclera_color_r(&self) -> u8 {
        self.eye_l_sclera_color_r
    }

    pub fn set_eye_l_sclera_color_r(&mut self, value: u8) {
        self.eye_l_sclera_color_r = value;
    }

    pub fn eye_l_sclera_color_g(&self) -> u8 {
        self.eye_l_sclera_color_g
    }

    pub fn set_eye_l_sclera_color_g(&mut self, value: u8) {
        self.eye_l_sclera_color_g = value;
    }

    pub fn eye_l_sclera_color_b(&self) -> u8 {
        self.eye_l_sclera_color_b
    }

    pub fn set_eye_l_sclera_color_b(&mut self, value: u8) {
        self.eye_l_sclera_color_b = value;
    }

    pub fn eye_l_iris_distance(&self) -> u8 {
        self.eye_l_iris_distance
    }

    pub fn set_eye_l_iris_distance(&mut self, value: u8) {
        self.eye_l_iris_distance = 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 hair_shininess(&self) -> u8 {
        self.hair_shininess
    }

    pub fn set_hair_shininess(&mut self, value: u8) {
        self.hair_shininess = value;
    }

    pub fn hair_root_black(&self) -> u8 {
        self.hair_root_black
    }

    pub fn set_hair_root_black(&mut self, value: u8) {
        self.hair_root_black = value;
    }

    pub fn hair_white_density(&self) -> u8 {
        self.hair_white_density
    }

    pub fn set_hair_white_density(&mut self, value: u8) {
        self.hair_white_density = 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 beard_shininess(&self) -> u8 {
        self.beard_shininess
    }

    pub fn set_beard_shininess(&mut self, value: u8) {
        self.beard_shininess = value;
    }

    pub fn beard_root_black(&self) -> u8 {
        self.beard_root_black
    }

    pub fn set_beard_root_black(&mut self, value: u8) {
        self.beard_root_black = value;
    }

    pub fn beard_white_density(&self) -> u8 {
        self.beard_white_density
    }

    pub fn set_beard_white_density(&mut self, value: u8) {
        self.beard_white_density = value;
    }

    pub fn eyebrow_parts_id(&self) -> u8 {
        self.eyebrow_parts_id
    }

    pub fn set_eyebrow_parts_id(&mut self, value: u8) {
        self.eyebrow_parts_id = value;
    }

    pub fn eyebrow_color_r(&self) -> u8 {
        self.eyebrow_color_r
    }

    pub fn set_eyebrow_color_r(&mut self, value: u8) {
        self.eyebrow_color_r = value;
    }

    pub fn eyebrow_color_g(&self) -> u8 {
        self.eyebrow_color_g
    }

    pub fn set_eyebrow_color_g(&mut self, value: u8) {
        self.eyebrow_color_g = value;
    }

    pub fn eyebrow_color_b(&self) -> u8 {
        self.eyebrow_color_b
    }

    pub fn set_eyebrow_color_b(&mut self, value: u8) {
        self.eyebrow_color_b = value;
    }

    pub fn eyebrow_shininess(&self) -> u8 {
        self.eyebrow_shininess
    }

    pub fn set_eyebrow_shininess(&mut self, value: u8) {
        self.eyebrow_shininess = value;
    }

    pub fn eyebrow_root_black(&self) -> u8 {
        self.eyebrow_root_black
    }

    pub fn set_eyebrow_root_black(&mut self, value: u8) {
        self.eyebrow_root_black = value;
    }

    pub fn eyebrow_white_density(&self) -> u8 {
        self.eyebrow_white_density
    }

    pub fn set_eyebrow_white_density(&mut self, value: u8) {
        self.eyebrow_white_density = value;
    }

    pub fn eyelash_parts_id(&self) -> u8 {
        self.eyelash_parts_id
    }

    pub fn set_eyelash_parts_id(&mut self, value: u8) {
        self.eyelash_parts_id = value;
    }

    pub fn eyelash_color_r(&self) -> u8 {
        self.eyelash_color_r
    }

    pub fn set_eyelash_color_r(&mut self, value: u8) {
        self.eyelash_color_r = value;
    }

    pub fn eyelash_color_g(&self) -> u8 {
        self.eyelash_color_g
    }

    pub fn set_eyelash_color_g(&mut self, value: u8) {
        self.eyelash_color_g = value;
    }

    pub fn eyelash_color_b(&self) -> u8 {
        self.eyelash_color_b
    }

    pub fn set_eyelash_color_b(&mut self, value: u8) {
        self.eyelash_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_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 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_gloss(&self) -> u8 {
        self.decal_gloss
    }

    pub fn set_decal_gloss(&mut self, value: u8) {
        self.decal_gloss = value;
    }

    pub fn decal_mirror(&self) -> u8 {
        self.decal_mirror
    }

    pub fn set_decal_mirror(&mut self, value: u8) {
        self.decal_mirror = 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_r_arm(&self) -> u8 {
        self.chr_body_scale_r_arm
    }

    pub fn set_chr_body_scale_r_arm(&mut self, value: u8) {
        self.chr_body_scale_r_arm = value;
    }

    pub fn chr_body_scale_r_leg(&self) -> u8 {
        self.chr_body_scale_r_leg
    }

    pub fn set_chr_body_scale_r_leg(&mut self, value: u8) {
        self.chr_body_scale_r_leg = value;
    }

    pub fn chr_body_scale_l_arm(&self) -> u8 {
        self.chr_body_scale_l_arm
    }

    pub fn set_chr_body_scale_l_arm(&mut self, value: u8) {
        self.chr_body_scale_l_arm = value;
    }

    pub fn chr_body_scale_l_leg(&self) -> u8 {
        self.chr_body_scale_l_leg
    }

    pub fn set_chr_body_scale_l_leg(&mut self, value: u8) {
        self.chr_body_scale_l_leg = value;
    }

    pub fn burn_scar(&self) -> u8 {
        self.burn_scar
    }

    pub fn set_burn_scar(&mut self, value: u8) {
        self.burn_scar = value;
    }

    #[allow(clippy::identity_op)]
    pub fn override_eye_parts_id(&self) -> u8 {
        (self.bits_6b >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_override_eye_parts_id(&mut self, value: u8) {
        self.bits_6b = (self.bits_6b & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn override_eye_iris_color(&self) -> u8 {
        (self.bits_6b >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_override_eye_iris_color(&mut self, value: u8) {
        self.bits_6b = (self.bits_6b & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn override_eye_cataract(&self) -> u8 {
        (self.bits_6b >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_override_eye_cataract(&mut self, value: u8) {
        self.bits_6b = (self.bits_6b & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn override_eye_cataract_color(&self) -> u8 {
        (self.bits_6b >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_override_eye_cataract_color(&mut self, value: u8) {
        self.bits_6b = (self.bits_6b & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn override_eye_sclera_color(&self) -> u8 {
        (self.bits_6b >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_override_eye_sclera_color(&mut self, value: u8) {
        self.bits_6b = (self.bits_6b & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn override_burn_scar(&self) -> u8 {
        (self.bits_6b >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_override_burn_scar(&mut self, value: u8) {
        self.bits_6b = (self.bits_6b & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    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 caricature_geometry(&self) -> u8 {
        self.caricature_geometry
    }

    pub fn set_caricature_geometry(&mut self, value: u8) {
        self.caricature_geometry = value;
    }

    pub fn caricature_texture(&self) -> u8 {
        self.caricature_texture
    }

    pub fn set_caricature_texture(&mut self, value: u8) {
        self.caricature_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;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct FACE_RANGE_PARAM_ST {
    face_parts_id: f32,
    skin_color_r: f32,
    skin_color_g: f32,
    skin_color_b: f32,
    skin_gloss: f32,
    skin_pores: f32,
    face_beard: f32,
    face_around_eye: f32,
    face_around_eye_color_r: f32,
    face_around_eye_color_g: f32,
    face_around_eye_color_b: f32,
    face_cheek: f32,
    face_cheek_color_r: f32,
    face_cheek_color_g: f32,
    face_cheek_color_b: f32,
    face_eye_line: f32,
    face_eye_line_color_r: f32,
    face_eye_line_color_g: f32,
    face_eye_line_color_b: f32,
    face_eye_shadow_down: f32,
    face_eye_shadow_down_color_r: f32,
    face_eye_shadow_down_color_g: f32,
    face_eye_shadow_down_color_b: f32,
    face_eye_shadow_up: f32,
    face_eye_shadow_up_color_r: f32,
    face_eye_shadow_up_color_g: f32,
    face_eye_shadow_up_color_b: f32,
    face_lip: f32,
    face_lip_color_r: f32,
    face_lip_color_g: f32,
    face_lip_color_b: f32,
    body_hair: f32,
    body_hair_color_r: f32,
    body_hair_color_g: f32,
    body_hair_color_b: f32,
    eye_parts_id: f32,
    eye_r_iris_color_r: f32,
    eye_r_iris_color_g: f32,
    eye_r_iris_color_b: f32,
    eye_r_iris_scale: f32,
    eye_r_cataract: f32,
    eye_r_cataract_color_r: f32,
    eye_r_cataract_color_g: f32,
    eye_r_cataract_color_b: f32,
    eye_r_sclera_color_r: f32,
    eye_r_sclera_color_g: f32,
    eye_r_sclera_color_b: f32,
    eye_r_iris_distance: f32,
    eye_l_iris_color_r: f32,
    eye_l_iris_color_g: f32,
    eye_l_iris_color_b: f32,
    eye_l_iris_scale: f32,
    eye_l_cataract: f32,
    eye_l_cataract_color_r: f32,
    eye_l_cataract_color_g: f32,
    eye_l_cataract_color_b: f32,
    eye_l_sclera_color_r: f32,
    eye_l_sclera_color_g: f32,
    eye_l_sclera_color_b: f32,
    eye_l_iris_distance: f32,
    hair_parts_id: f32,
    hair_color_r: f32,
    hair_color_g: f32,
    hair_color_b: f32,
    hair_shininess: f32,
    hair_root_black: f32,
    hair_white_density: f32,
    beard_parts_id: f32,
    beard_color_r: f32,
    beard_color_g: f32,
    beard_color_b: f32,
    beard_shininess: f32,
    beard_root_black: f32,
    beard_white_density: f32,
    eyebrow_parts_id: f32,
    eyebrow_color_r: f32,
    eyebrow_color_g: f32,
    eyebrow_color_b: f32,
    eyebrow_shininess: f32,
    eyebrow_root_black: f32,
    eyebrow_white_density: f32,
    eyelash_parts_id: f32,
    eyelash_color_r: f32,
    eyelash_color_g: f32,
    eyelash_color_b: f32,
    accessories_parts_id: f32,
    accessories_color_r: f32,
    accessories_color_g: f32,
    accessories_color_b: f32,
    decal_parts_id: f32,
    decal_pos_x: f32,
    decal_pos_y: f32,
    decal_angle: f32,
    decal_scale: f32,
    decal_color_r: f32,
    decal_color_g: f32,
    decal_color_b: f32,
    decal_gloss: f32,
    decal_mirror: f32,
    chr_body_scale_head: f32,
    chr_body_scale_breast: f32,
    chr_body_scale_abdomen: f32,
    chr_body_scale_arm: f32,
    chr_body_scale_leg: f32,
    age: f32,
    gender: f32,
    caricature_geometry: f32,
    caricature_texture: 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,
    burn_scar: f32,
}

impl ParamDef for FACE_RANGE_PARAM_ST {
    const NAME: &str = "FACE_RANGE_PARAM_ST";
}

impl FACE_RANGE_PARAM_ST {
    pub fn face_parts_id(&self) -> f32 {
        self.face_parts_id
    }

    pub fn set_face_parts_id(&mut self, value: f32) {
        self.face_parts_id = value;
    }

    pub fn skin_color_r(&self) -> f32 {
        self.skin_color_r
    }

    pub fn set_skin_color_r(&mut self, value: f32) {
        self.skin_color_r = value;
    }

    pub fn skin_color_g(&self) -> f32 {
        self.skin_color_g
    }

    pub fn set_skin_color_g(&mut self, value: f32) {
        self.skin_color_g = value;
    }

    pub fn skin_color_b(&self) -> f32 {
        self.skin_color_b
    }

    pub fn set_skin_color_b(&mut self, value: f32) {
        self.skin_color_b = value;
    }

    pub fn skin_gloss(&self) -> f32 {
        self.skin_gloss
    }

    pub fn set_skin_gloss(&mut self, value: f32) {
        self.skin_gloss = value;
    }

    pub fn skin_pores(&self) -> f32 {
        self.skin_pores
    }

    pub fn set_skin_pores(&mut self, value: f32) {
        self.skin_pores = value;
    }

    pub fn face_beard(&self) -> f32 {
        self.face_beard
    }

    pub fn set_face_beard(&mut self, value: f32) {
        self.face_beard = value;
    }

    pub fn face_around_eye(&self) -> f32 {
        self.face_around_eye
    }

    pub fn set_face_around_eye(&mut self, value: f32) {
        self.face_around_eye = value;
    }

    pub fn face_around_eye_color_r(&self) -> f32 {
        self.face_around_eye_color_r
    }

    pub fn set_face_around_eye_color_r(&mut self, value: f32) {
        self.face_around_eye_color_r = value;
    }

    pub fn face_around_eye_color_g(&self) -> f32 {
        self.face_around_eye_color_g
    }

    pub fn set_face_around_eye_color_g(&mut self, value: f32) {
        self.face_around_eye_color_g = value;
    }

    pub fn face_around_eye_color_b(&self) -> f32 {
        self.face_around_eye_color_b
    }

    pub fn set_face_around_eye_color_b(&mut self, value: f32) {
        self.face_around_eye_color_b = value;
    }

    pub fn face_cheek(&self) -> f32 {
        self.face_cheek
    }

    pub fn set_face_cheek(&mut self, value: f32) {
        self.face_cheek = value;
    }

    pub fn face_cheek_color_r(&self) -> f32 {
        self.face_cheek_color_r
    }

    pub fn set_face_cheek_color_r(&mut self, value: f32) {
        self.face_cheek_color_r = value;
    }

    pub fn face_cheek_color_g(&self) -> f32 {
        self.face_cheek_color_g
    }

    pub fn set_face_cheek_color_g(&mut self, value: f32) {
        self.face_cheek_color_g = value;
    }

    pub fn face_cheek_color_b(&self) -> f32 {
        self.face_cheek_color_b
    }

    pub fn set_face_cheek_color_b(&mut self, value: f32) {
        self.face_cheek_color_b = value;
    }

    pub fn face_eye_line(&self) -> f32 {
        self.face_eye_line
    }

    pub fn set_face_eye_line(&mut self, value: f32) {
        self.face_eye_line = value;
    }

    pub fn face_eye_line_color_r(&self) -> f32 {
        self.face_eye_line_color_r
    }

    pub fn set_face_eye_line_color_r(&mut self, value: f32) {
        self.face_eye_line_color_r = value;
    }

    pub fn face_eye_line_color_g(&self) -> f32 {
        self.face_eye_line_color_g
    }

    pub fn set_face_eye_line_color_g(&mut self, value: f32) {
        self.face_eye_line_color_g = value;
    }

    pub fn face_eye_line_color_b(&self) -> f32 {
        self.face_eye_line_color_b
    }

    pub fn set_face_eye_line_color_b(&mut self, value: f32) {
        self.face_eye_line_color_b = value;
    }

    pub fn face_eye_shadow_down(&self) -> f32 {
        self.face_eye_shadow_down
    }

    pub fn set_face_eye_shadow_down(&mut self, value: f32) {
        self.face_eye_shadow_down = value;
    }

    pub fn face_eye_shadow_down_color_r(&self) -> f32 {
        self.face_eye_shadow_down_color_r
    }

    pub fn set_face_eye_shadow_down_color_r(&mut self, value: f32) {
        self.face_eye_shadow_down_color_r = value;
    }

    pub fn face_eye_shadow_down_color_g(&self) -> f32 {
        self.face_eye_shadow_down_color_g
    }

    pub fn set_face_eye_shadow_down_color_g(&mut self, value: f32) {
        self.face_eye_shadow_down_color_g = value;
    }

    pub fn face_eye_shadow_down_color_b(&self) -> f32 {
        self.face_eye_shadow_down_color_b
    }

    pub fn set_face_eye_shadow_down_color_b(&mut self, value: f32) {
        self.face_eye_shadow_down_color_b = value;
    }

    pub fn face_eye_shadow_up(&self) -> f32 {
        self.face_eye_shadow_up
    }

    pub fn set_face_eye_shadow_up(&mut self, value: f32) {
        self.face_eye_shadow_up = value;
    }

    pub fn face_eye_shadow_up_color_r(&self) -> f32 {
        self.face_eye_shadow_up_color_r
    }

    pub fn set_face_eye_shadow_up_color_r(&mut self, value: f32) {
        self.face_eye_shadow_up_color_r = value;
    }

    pub fn face_eye_shadow_up_color_g(&self) -> f32 {
        self.face_eye_shadow_up_color_g
    }

    pub fn set_face_eye_shadow_up_color_g(&mut self, value: f32) {
        self.face_eye_shadow_up_color_g = value;
    }

    pub fn face_eye_shadow_up_color_b(&self) -> f32 {
        self.face_eye_shadow_up_color_b
    }

    pub fn set_face_eye_shadow_up_color_b(&mut self, value: f32) {
        self.face_eye_shadow_up_color_b = value;
    }

    pub fn face_lip(&self) -> f32 {
        self.face_lip
    }

    pub fn set_face_lip(&mut self, value: f32) {
        self.face_lip = value;
    }

    pub fn face_lip_color_r(&self) -> f32 {
        self.face_lip_color_r
    }

    pub fn set_face_lip_color_r(&mut self, value: f32) {
        self.face_lip_color_r = value;
    }

    pub fn face_lip_color_g(&self) -> f32 {
        self.face_lip_color_g
    }

    pub fn set_face_lip_color_g(&mut self, value: f32) {
        self.face_lip_color_g = value;
    }

    pub fn face_lip_color_b(&self) -> f32 {
        self.face_lip_color_b
    }

    pub fn set_face_lip_color_b(&mut self, value: f32) {
        self.face_lip_color_b = value;
    }

    pub fn body_hair(&self) -> f32 {
        self.body_hair
    }

    pub fn set_body_hair(&mut self, value: f32) {
        self.body_hair = value;
    }

    pub fn body_hair_color_r(&self) -> f32 {
        self.body_hair_color_r
    }

    pub fn set_body_hair_color_r(&mut self, value: f32) {
        self.body_hair_color_r = value;
    }

    pub fn body_hair_color_g(&self) -> f32 {
        self.body_hair_color_g
    }

    pub fn set_body_hair_color_g(&mut self, value: f32) {
        self.body_hair_color_g = value;
    }

    pub fn body_hair_color_b(&self) -> f32 {
        self.body_hair_color_b
    }

    pub fn set_body_hair_color_b(&mut self, value: f32) {
        self.body_hair_color_b = value;
    }

    pub fn eye_parts_id(&self) -> f32 {
        self.eye_parts_id
    }

    pub fn set_eye_parts_id(&mut self, value: f32) {
        self.eye_parts_id = value;
    }

    pub fn eye_r_iris_color_r(&self) -> f32 {
        self.eye_r_iris_color_r
    }

    pub fn set_eye_r_iris_color_r(&mut self, value: f32) {
        self.eye_r_iris_color_r = value;
    }

    pub fn eye_r_iris_color_g(&self) -> f32 {
        self.eye_r_iris_color_g
    }

    pub fn set_eye_r_iris_color_g(&mut self, value: f32) {
        self.eye_r_iris_color_g = value;
    }

    pub fn eye_r_iris_color_b(&self) -> f32 {
        self.eye_r_iris_color_b
    }

    pub fn set_eye_r_iris_color_b(&mut self, value: f32) {
        self.eye_r_iris_color_b = value;
    }

    pub fn eye_r_iris_scale(&self) -> f32 {
        self.eye_r_iris_scale
    }

    pub fn set_eye_r_iris_scale(&mut self, value: f32) {
        self.eye_r_iris_scale = value;
    }

    pub fn eye_r_cataract(&self) -> f32 {
        self.eye_r_cataract
    }

    pub fn set_eye_r_cataract(&mut self, value: f32) {
        self.eye_r_cataract = value;
    }

    pub fn eye_r_cataract_color_r(&self) -> f32 {
        self.eye_r_cataract_color_r
    }

    pub fn set_eye_r_cataract_color_r(&mut self, value: f32) {
        self.eye_r_cataract_color_r = value;
    }

    pub fn eye_r_cataract_color_g(&self) -> f32 {
        self.eye_r_cataract_color_g
    }

    pub fn set_eye_r_cataract_color_g(&mut self, value: f32) {
        self.eye_r_cataract_color_g = value;
    }

    pub fn eye_r_cataract_color_b(&self) -> f32 {
        self.eye_r_cataract_color_b
    }

    pub fn set_eye_r_cataract_color_b(&mut self, value: f32) {
        self.eye_r_cataract_color_b = value;
    }

    pub fn eye_r_sclera_color_r(&self) -> f32 {
        self.eye_r_sclera_color_r
    }

    pub fn set_eye_r_sclera_color_r(&mut self, value: f32) {
        self.eye_r_sclera_color_r = value;
    }

    pub fn eye_r_sclera_color_g(&self) -> f32 {
        self.eye_r_sclera_color_g
    }

    pub fn set_eye_r_sclera_color_g(&mut self, value: f32) {
        self.eye_r_sclera_color_g = value;
    }

    pub fn eye_r_sclera_color_b(&self) -> f32 {
        self.eye_r_sclera_color_b
    }

    pub fn set_eye_r_sclera_color_b(&mut self, value: f32) {
        self.eye_r_sclera_color_b = value;
    }

    pub fn eye_r_iris_distance(&self) -> f32 {
        self.eye_r_iris_distance
    }

    pub fn set_eye_r_iris_distance(&mut self, value: f32) {
        self.eye_r_iris_distance = value;
    }

    pub fn eye_l_iris_color_r(&self) -> f32 {
        self.eye_l_iris_color_r
    }

    pub fn set_eye_l_iris_color_r(&mut self, value: f32) {
        self.eye_l_iris_color_r = value;
    }

    pub fn eye_l_iris_color_g(&self) -> f32 {
        self.eye_l_iris_color_g
    }

    pub fn set_eye_l_iris_color_g(&mut self, value: f32) {
        self.eye_l_iris_color_g = value;
    }

    pub fn eye_l_iris_color_b(&self) -> f32 {
        self.eye_l_iris_color_b
    }

    pub fn set_eye_l_iris_color_b(&mut self, value: f32) {
        self.eye_l_iris_color_b = value;
    }

    pub fn eye_l_iris_scale(&self) -> f32 {
        self.eye_l_iris_scale
    }

    pub fn set_eye_l_iris_scale(&mut self, value: f32) {
        self.eye_l_iris_scale = value;
    }

    pub fn eye_l_cataract(&self) -> f32 {
        self.eye_l_cataract
    }

    pub fn set_eye_l_cataract(&mut self, value: f32) {
        self.eye_l_cataract = value;
    }

    pub fn eye_l_cataract_color_r(&self) -> f32 {
        self.eye_l_cataract_color_r
    }

    pub fn set_eye_l_cataract_color_r(&mut self, value: f32) {
        self.eye_l_cataract_color_r = value;
    }

    pub fn eye_l_cataract_color_g(&self) -> f32 {
        self.eye_l_cataract_color_g
    }

    pub fn set_eye_l_cataract_color_g(&mut self, value: f32) {
        self.eye_l_cataract_color_g = value;
    }

    pub fn eye_l_cataract_color_b(&self) -> f32 {
        self.eye_l_cataract_color_b
    }

    pub fn set_eye_l_cataract_color_b(&mut self, value: f32) {
        self.eye_l_cataract_color_b = value;
    }

    pub fn eye_l_sclera_color_r(&self) -> f32 {
        self.eye_l_sclera_color_r
    }

    pub fn set_eye_l_sclera_color_r(&mut self, value: f32) {
        self.eye_l_sclera_color_r = value;
    }

    pub fn eye_l_sclera_color_g(&self) -> f32 {
        self.eye_l_sclera_color_g
    }

    pub fn set_eye_l_sclera_color_g(&mut self, value: f32) {
        self.eye_l_sclera_color_g = value;
    }

    pub fn eye_l_sclera_color_b(&self) -> f32 {
        self.eye_l_sclera_color_b
    }

    pub fn set_eye_l_sclera_color_b(&mut self, value: f32) {
        self.eye_l_sclera_color_b = value;
    }

    pub fn eye_l_iris_distance(&self) -> f32 {
        self.eye_l_iris_distance
    }

    pub fn set_eye_l_iris_distance(&mut self, value: f32) {
        self.eye_l_iris_distance = value;
    }

    pub fn hair_parts_id(&self) -> f32 {
        self.hair_parts_id
    }

    pub fn set_hair_parts_id(&mut self, value: f32) {
        self.hair_parts_id = value;
    }

    pub fn hair_color_r(&self) -> f32 {
        self.hair_color_r
    }

    pub fn set_hair_color_r(&mut self, value: f32) {
        self.hair_color_r = value;
    }

    pub fn hair_color_g(&self) -> f32 {
        self.hair_color_g
    }

    pub fn set_hair_color_g(&mut self, value: f32) {
        self.hair_color_g = value;
    }

    pub fn hair_color_b(&self) -> f32 {
        self.hair_color_b
    }

    pub fn set_hair_color_b(&mut self, value: f32) {
        self.hair_color_b = value;
    }

    pub fn hair_shininess(&self) -> f32 {
        self.hair_shininess
    }

    pub fn set_hair_shininess(&mut self, value: f32) {
        self.hair_shininess = value;
    }

    pub fn hair_root_black(&self) -> f32 {
        self.hair_root_black
    }

    pub fn set_hair_root_black(&mut self, value: f32) {
        self.hair_root_black = value;
    }

    pub fn hair_white_density(&self) -> f32 {
        self.hair_white_density
    }

    pub fn set_hair_white_density(&mut self, value: f32) {
        self.hair_white_density = value;
    }

    pub fn beard_parts_id(&self) -> f32 {
        self.beard_parts_id
    }

    pub fn set_beard_parts_id(&mut self, value: f32) {
        self.beard_parts_id = value;
    }

    pub fn beard_color_r(&self) -> f32 {
        self.beard_color_r
    }

    pub fn set_beard_color_r(&mut self, value: f32) {
        self.beard_color_r = value;
    }

    pub fn beard_color_g(&self) -> f32 {
        self.beard_color_g
    }

    pub fn set_beard_color_g(&mut self, value: f32) {
        self.beard_color_g = value;
    }

    pub fn beard_color_b(&self) -> f32 {
        self.beard_color_b
    }

    pub fn set_beard_color_b(&mut self, value: f32) {
        self.beard_color_b = value;
    }

    pub fn beard_shininess(&self) -> f32 {
        self.beard_shininess
    }

    pub fn set_beard_shininess(&mut self, value: f32) {
        self.beard_shininess = value;
    }

    pub fn beard_root_black(&self) -> f32 {
        self.beard_root_black
    }

    pub fn set_beard_root_black(&mut self, value: f32) {
        self.beard_root_black = value;
    }

    pub fn beard_white_density(&self) -> f32 {
        self.beard_white_density
    }

    pub fn set_beard_white_density(&mut self, value: f32) {
        self.beard_white_density = value;
    }

    pub fn eyebrow_parts_id(&self) -> f32 {
        self.eyebrow_parts_id
    }

    pub fn set_eyebrow_parts_id(&mut self, value: f32) {
        self.eyebrow_parts_id = value;
    }

    pub fn eyebrow_color_r(&self) -> f32 {
        self.eyebrow_color_r
    }

    pub fn set_eyebrow_color_r(&mut self, value: f32) {
        self.eyebrow_color_r = value;
    }

    pub fn eyebrow_color_g(&self) -> f32 {
        self.eyebrow_color_g
    }

    pub fn set_eyebrow_color_g(&mut self, value: f32) {
        self.eyebrow_color_g = value;
    }

    pub fn eyebrow_color_b(&self) -> f32 {
        self.eyebrow_color_b
    }

    pub fn set_eyebrow_color_b(&mut self, value: f32) {
        self.eyebrow_color_b = value;
    }

    pub fn eyebrow_shininess(&self) -> f32 {
        self.eyebrow_shininess
    }

    pub fn set_eyebrow_shininess(&mut self, value: f32) {
        self.eyebrow_shininess = value;
    }

    pub fn eyebrow_root_black(&self) -> f32 {
        self.eyebrow_root_black
    }

    pub fn set_eyebrow_root_black(&mut self, value: f32) {
        self.eyebrow_root_black = value;
    }

    pub fn eyebrow_white_density(&self) -> f32 {
        self.eyebrow_white_density
    }

    pub fn set_eyebrow_white_density(&mut self, value: f32) {
        self.eyebrow_white_density = value;
    }

    pub fn eyelash_parts_id(&self) -> f32 {
        self.eyelash_parts_id
    }

    pub fn set_eyelash_parts_id(&mut self, value: f32) {
        self.eyelash_parts_id = value;
    }

    pub fn eyelash_color_r(&self) -> f32 {
        self.eyelash_color_r
    }

    pub fn set_eyelash_color_r(&mut self, value: f32) {
        self.eyelash_color_r = value;
    }

    pub fn eyelash_color_g(&self) -> f32 {
        self.eyelash_color_g
    }

    pub fn set_eyelash_color_g(&mut self, value: f32) {
        self.eyelash_color_g = value;
    }

    pub fn eyelash_color_b(&self) -> f32 {
        self.eyelash_color_b
    }

    pub fn set_eyelash_color_b(&mut self, value: f32) {
        self.eyelash_color_b = value;
    }

    pub fn accessories_parts_id(&self) -> f32 {
        self.accessories_parts_id
    }

    pub fn set_accessories_parts_id(&mut self, value: f32) {
        self.accessories_parts_id = value;
    }

    pub fn accessories_color_r(&self) -> f32 {
        self.accessories_color_r
    }

    pub fn set_accessories_color_r(&mut self, value: f32) {
        self.accessories_color_r = value;
    }

    pub fn accessories_color_g(&self) -> f32 {
        self.accessories_color_g
    }

    pub fn set_accessories_color_g(&mut self, value: f32) {
        self.accessories_color_g = value;
    }

    pub fn accessories_color_b(&self) -> f32 {
        self.accessories_color_b
    }

    pub fn set_accessories_color_b(&mut self, value: f32) {
        self.accessories_color_b = value;
    }

    pub fn decal_parts_id(&self) -> f32 {
        self.decal_parts_id
    }

    pub fn set_decal_parts_id(&mut self, value: f32) {
        self.decal_parts_id = value;
    }

    pub fn decal_pos_x(&self) -> f32 {
        self.decal_pos_x
    }

    pub fn set_decal_pos_x(&mut self, value: f32) {
        self.decal_pos_x = value;
    }

    pub fn decal_pos_y(&self) -> f32 {
        self.decal_pos_y
    }

    pub fn set_decal_pos_y(&mut self, value: f32) {
        self.decal_pos_y = value;
    }

    pub fn decal_angle(&self) -> f32 {
        self.decal_angle
    }

    pub fn set_decal_angle(&mut self, value: f32) {
        self.decal_angle = value;
    }

    pub fn decal_scale(&self) -> f32 {
        self.decal_scale
    }

    pub fn set_decal_scale(&mut self, value: f32) {
        self.decal_scale = value;
    }

    pub fn decal_color_r(&self) -> f32 {
        self.decal_color_r
    }

    pub fn set_decal_color_r(&mut self, value: f32) {
        self.decal_color_r = value;
    }

    pub fn decal_color_g(&self) -> f32 {
        self.decal_color_g
    }

    pub fn set_decal_color_g(&mut self, value: f32) {
        self.decal_color_g = value;
    }

    pub fn decal_color_b(&self) -> f32 {
        self.decal_color_b
    }

    pub fn set_decal_color_b(&mut self, value: f32) {
        self.decal_color_b = value;
    }

    pub fn decal_gloss(&self) -> f32 {
        self.decal_gloss
    }

    pub fn set_decal_gloss(&mut self, value: f32) {
        self.decal_gloss = value;
    }

    pub fn decal_mirror(&self) -> f32 {
        self.decal_mirror
    }

    pub fn set_decal_mirror(&mut self, value: f32) {
        self.decal_mirror = value;
    }

    pub fn chr_body_scale_head(&self) -> f32 {
        self.chr_body_scale_head
    }

    pub fn set_chr_body_scale_head(&mut self, value: f32) {
        self.chr_body_scale_head = value;
    }

    pub fn chr_body_scale_breast(&self) -> f32 {
        self.chr_body_scale_breast
    }

    pub fn set_chr_body_scale_breast(&mut self, value: f32) {
        self.chr_body_scale_breast = value;
    }

    pub fn chr_body_scale_abdomen(&self) -> f32 {
        self.chr_body_scale_abdomen
    }

    pub fn set_chr_body_scale_abdomen(&mut self, value: f32) {
        self.chr_body_scale_abdomen = value;
    }

    pub fn chr_body_scale_arm(&self) -> f32 {
        self.chr_body_scale_arm
    }

    pub fn set_chr_body_scale_arm(&mut self, value: f32) {
        self.chr_body_scale_arm = value;
    }

    pub fn chr_body_scale_leg(&self) -> f32 {
        self.chr_body_scale_leg
    }

    pub fn set_chr_body_scale_leg(&mut self, value: f32) {
        self.chr_body_scale_leg = value;
    }

    pub fn age(&self) -> f32 {
        self.age
    }

    pub fn set_age(&mut self, value: f32) {
        self.age = value;
    }

    pub fn gender(&self) -> f32 {
        self.gender
    }

    pub fn set_gender(&mut self, value: f32) {
        self.gender = value;
    }

    pub fn caricature_geometry(&self) -> f32 {
        self.caricature_geometry
    }

    pub fn set_caricature_geometry(&mut self, value: f32) {
        self.caricature_geometry = value;
    }

    pub fn caricature_texture(&self) -> f32 {
        self.caricature_texture
    }

    pub fn set_caricature_texture(&mut self, value: f32) {
        self.caricature_texture = value;
    }

    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;
    }

    pub fn burn_scar(&self) -> f32 {
        self.burn_scar
    }

    pub fn set_burn_scar(&mut self, value: f32) {
        self.burn_scar = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct FALL_CONTROL_PARAM_ST {
    unknown_0: f32,
    unknown_1: f32,
    unknown_2: f32,
    unknown_3: f32,
}

impl ParamDef for FALL_CONTROL_PARAM_ST {
    const NAME: &str = "FALL_CONTROL_PARAM_ST";
}

impl FALL_CONTROL_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct FE_TEXT_EFFECT_PARAM_ST {
    res_id: i16,
    pad1: [u8; 2],
    text_id: i32,
    se_id: i32,
    bits_c: u8,
    pad2: [u8; 19],
}

impl ParamDef for FE_TEXT_EFFECT_PARAM_ST {
    const NAME: &str = "FE_TEXT_EFFECT_PARAM_ST";
}

impl FE_TEXT_EFFECT_PARAM_ST {
    pub fn res_id(&self) -> i16 {
        self.res_id
    }

    pub fn set_res_id(&mut self, value: i16) {
        self.res_id = 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 se_id(&self) -> i32 {
        self.se_id
    }

    pub fn set_se_id(&mut self, value: i32) {
        self.se_id = value;
    }

    #[allow(clippy::identity_op)]
    pub fn can_mix_map_name(&self) -> u8 {
        (self.bits_c >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_can_mix_map_name(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }
}

#[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";
}

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_SYSTEM_COMMON_PARAM_ST {
    base_toughness_recover_time: f32,
    chr_event_trun_by_left90: i32,
    chr_event_trun_by_right90: i32,
    chr_event_trun_by_left180: i32,
    chr_event_trun_by_right180: i32,
    chr_event_trun_90_turn_start_angle: i16,
    chr_event_trun_180_turn_start_angle: i16,
    stealth_atk_damage_rate: f32,
    flick_damage_cut_rate_success_gurad: f32,
    npc_talk_anim_begin_diff_angle: f32,
    npc_talk_anim_end_diff_angle: f32,
    sleep_collector_item_action_button_param_id: i32,
    allow_use_buddy_item_sfx_interval: f32,
    allow_use_buddy_item_sfx_dmy_poly_id: i32,
    allow_use_buddy_item_sfx_dmy_poly_id_horse: i32,
    allow_use_buddy_item_sfx_id: i32,
    on_buddy_summon_in_activate_range_sfx_interval: f32,
    on_buddy_summon_in_activate_range_sfx_dmy_poly_id: i32,
    on_buddy_summon_in_activate_range_sfx_dmy_poly_id_horse: i32,
    on_buddy_summon_in_activate_range_sfx_id: i32,
    on_buddy_summon_in_activate_range_sp_effect_id_pc: i32,
    on_buddy_summon_in_warn_range_sp_effect_id_pc: i32,
    on_buddy_summon_at_buddy_unsummon_sp_effect_id_pc: i32,
    on_buddy_summon_in_warn_range_sp_effect_id_buddy: i32,
    morning_ingame_hour: u8,
    morning_ingame_minute: u8,
    morning_ingame_second: u8,
    noon_ingame_hour: u8,
    noon_ingame_minute: u8,
    noon_ingame_second: u8,
    night_ingame_hour: u8,
    night_ingame_minute: u8,
    night_ingame_second: u8,
    ai_sight_rate_start_morning_hour: u8,
    ai_sight_rate_start_morning_minute: u8,
    ai_sight_rate_start_noon_hour: u8,
    ai_sight_rate_start_noon_minute: u8,
    ai_sight_rate_start_evening_hour: u8,
    ai_sight_rate_start_evening_minute: u8,
    ai_sight_rate_start_night_hour: u8,
    ai_sight_rate_start_night_minute: u8,
    ai_sight_rate_start_midnight_hour: u8,
    ai_sight_rate_start_midnight_minute: u8,
    sa_large_damage_hit_sfx_threshold: u8,
    sa_large_damage_hit_sfx_sfx_id: i32,
    sign_creatable_dist_from_safe_pos: f32,
    guest_resummon_dist: f32,
    guest_leaving_message_dist_max: f32,
    guest_leaving_message_dist_min: f32,
    guest_leave_session_dist: f32,
    retry_point_area_radius: f32,
    sleep_collector_sp_effect_id: i32,
    recover_below_max_hp_completion_notice_sp_effect_id: i32,
    estus_flask_recovery_absorption_production_sfx_id_by_hp: i32,
    estus_flask_recovery_absorption_production_sfx_id_by_mp: i32,
    respawn_special_effect_active_checker_sp_effect_id: i32,
    on_buddy_summon_in_activate_range_sp_effect_id_buddy: i32,
    estus_flask_recovery_add_estus_time: f32,
    defeat_multi_mode_enemy_of_soul_correct_rate_by_host: f32,
    defeat_multi_mode_enemy_of_soul_correct_rate_by_team_ghost: f32,
    defeat_multi_mode_boss_of_soul_correct_rate_by_host: f32,
    defeat_multi_mode_boss_of_soul_correct_rate_by_team_ghost: f32,
    enemy_hp_gauge_screen_offset_by_up: u16,
    play_region_collect_dist: u16,
    enemy_detection_sp_effect_shoot_bullet_dummypoly_id: u16,
    big_rune_greater_demon_break_in_goods_num: u16,
    big_rune_greater_demon_break_in_goods_id: i32,
    ride_jump_region_default_sfx_id: i32,
    sa_attack_rate_for_vs_ride_atk: f32,
    enemy_sp_effect_id_after_sleep_collector_item_lot: i32,
    after_ending_map_uid: i32,
    after_ending_return_point_entity_id: u32,
    enemy_detection_sp_effect_bullet_id_by_coop_ring_red_hunter: i32,
    enemy_detection_sp_effect_bullet_id_by_invade_orb_none: i32,
    tutorial_flag_on_access_dist_view: u32,
    tutorial_flag_on_access_retry_point: u32,
    tutorial_flag_on_get_group_reward: u32,
    tutorial_flag_on_enter_ride_jump_region: u32,
    tutorial_check_ride_jump_region_expand_range: f32,
    retry_point_activated_pc_anim_id: i32,
    retry_point_activated_dialog_delay_time: f32,
    retry_point_activated_dialog_text_id: i32,
    sign_puddle_open_pc_anim_id: i32,
    sign_puddle_open_dialog_delay_time: f32,
    activity_of_dead_sp_effect_bullet_id: i32,
    activity_of_dead_sp_effect_shoot_bullet_dummypoly_id: i32,
    activity_of_dead_sp_effect_dead_fade_out_time: f32,
    ignor_net_state_sync_time_for_throw: f32,
    net_penalty_point_lan_disconnect: u16,
    net_penalty_point_profile_signout: u16,
    net_penalty_point_reboot: u16,
    net_pnalty_point_suspend: u16,
    net_penalty_forgive_item_limit_time: f32,
    net_penalty_point_threshold: u16,
    uncontrolled_move_threshold_time: u16,
    enemy_detection_sp_effect_bullet_id_by_npc_enemy: i32,
    activity_of_dead_target_search_sp_effect_on_hit_sp_effect: i32,
    activity_of_dead_target_search_sp_effect_max_length: f32,
    sight_range_lower_promise_rate: f32,
    sa_large_damage_hit_sfx_min_damage: i16,
    sa_large_damage_hit_sfx_force_damage: i16,
    solo_break_in_max_point: u32,
    npc_talk_time_out_threshold: f32,
    send_play_log_interval_time: f32,
    item370_max_sfx_num: u8,
    chr_activate_dist_for_leave_pc: u8,
    summon_data_coop_matching_level_upper_abs: i16,
    summon_data_coop_matching_level_upper_rel: i16,
    summon_data_coop_matching_wep_level_mul: i16,
    pick_up_berserker_sign_sp_effect_bullet_id: i32,
    succeed_berserker_self_killing_effect_id: i32,
    maching_level_white_sign_upper_rel: u8,
    maching_level_white_sign_upper_abs: u8,
    maching_level_red_sign_upper_rel: u8,
    maching_level_red_sign_upper_abs: u8,
    maching_weapon_level_upper_white_sign_0: u8,
    maching_weapon_level_upper_white_sign_1: u8,
    maching_weapon_level_upper_white_sign_2: u8,
    maching_weapon_level_upper_white_sign_3: u8,
    maching_weapon_level_upper_white_sign_4: u8,
    maching_weapon_level_upper_white_sign_5: u8,
    maching_weapon_level_upper_white_sign_6: u8,
    maching_weapon_level_upper_white_sign_7: u8,
    maching_weapon_level_upper_white_sign_8: u8,
    maching_weapon_level_upper_white_sign_9: u8,
    maching_weapon_level_upper_white_sign_10: u8,
    maching_weapon_level_upper_red_sign_0: u8,
    maching_weapon_level_upper_red_sign_1: u8,
    maching_weapon_level_upper_red_sign_2: u8,
    maching_weapon_level_upper_red_sign_3: u8,
    maching_weapon_level_upper_red_sign_4: u8,
    maching_weapon_level_upper_red_sign_5: u8,
    maching_weapon_level_upper_red_sign_6: u8,
    maching_weapon_level_upper_red_sign_7: u8,
    maching_weapon_level_upper_red_sign_8: u8,
    maching_weapon_level_upper_red_sign_9: u8,
    maching_weapon_level_upper_red_sign_10: u8,
    auto_invade_point_generate_dist: u8,
    auto_invade_point_cancel_dist: u8,
    send_global_event_log_interval_time: f32,
    add_solo_break_in_point_white: u16,
    add_solo_break_in_point_black: u16,
    add_solo_break_in_point_force_join: u16,
    add_solo_break_in_point_visitor_guardian: u16,
    add_solo_break_in_point_visitor_red_hunter: u16,
    invincible_timer_for_net_pc_init_sync: u8,
    invincible_timer_for_net_pc: u8,
    red_hunter_host_boss_area_get_soul_rate: f32,
    ghost_footprint_decal_param_id: i32,
    leave_around_host_warning_time: f32,
    host_mode_cost_item_id: i32,
    a_i_jump_decelerate_param: f32,
    buddy_disappear_delay_sec: f32,
    a_i_jump_anim_y_move_correct_rate_on_jump_off: f32,
    stealth_system_sight_rate_not_in_stealth_rigid_not_sight_hide_stealth_mode: f32,
    stealth_system_sight_rate_not_in_stealth_rigid_sight_hide_not_stealth_mode: f32,
    stealth_system_sight_rate_not_in_stealth_rigid_sight_hide_stealth_mode: f32,
    stealth_system_sight_rate_in_stealth_rigid_not_sight_hide_not_stealth_mode: f32,
    stealth_system_sight_rate_in_stealth_rigid_not_sight_hide_stealth_mode: f32,
    stealth_system_sight_rate_in_stealth_rigid_sight_hide_not_stealth_mode: f32,
    stealth_system_sight_rate_in_stealth_rigid_sight_hide_stealth_mode: f32,
    msb_event_geom_treasure_info_action_button_param_id_corpse: i32,
    msb_event_geom_treasure_info_item_get_anim_id_corpse: i32,
    msb_event_geom_treasure_info_action_button_param_id_box: i32,
    msb_event_geom_treasure_info_item_get_anim_id_box: i32,
    msb_event_geom_treasure_info_action_button_param_id_shine: i32,
    msb_event_geom_treasure_info_item_get_anim_id_shine: i32,
    sign_puddle_asset_id: i32,
    sign_puddle_appear_dmypoly_id0: i32,
    sign_puddle_appear_dmypoly_id1: i32,
    sign_puddle_appear_dmypoly_id2: i32,
    sign_puddle_appear_dmypoly_id3: i32,
    fall_damage_rate_for_ride_pc: f32,
    fall_damage_rate_for_ride_npc: f32,
    old_monk_of_yellow_create_sign_sp_effect_id: i32,
    straggler_activate_dist: f32,
    sp_effect_id_enable_use_item_straggler_activate: i32,
    sp_effect_id_straggler_wake_up: i32,
    sp_effect_id_straggler_target: i32,
    sp_effect_id_straggler_oppose: i32,
    buddy_warp_trigger_time_ray_blocked: f32,
    buddy_warp_trigger_dist_to_player: f32,
    buddy_warp_threshold_time_path_stacked: f32,
    buddy_warp_threshold_range_path_stacked: f32,
    ai_sight_rate_morning: f32,
    ai_sight_rate_noon_a: f32,
    buddy_pass_through_trigger_time: f32,
    ai_sight_rate_evening: f32,
    ai_sight_rate_night: f32,
    ai_sight_rate_midnight_a: f32,
    unknown_0x230: i32,
    ai_sight_rate_sunloss_light: f32,
    ai_sight_rate_sunloss_dark: f32,
    ai_sight_rate_sunloss_very_dark: f32,
    stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_not_sight_hide_stealth_mode: f32,
    stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_sight_hide_not_stealth_mode: f32,
    stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_sight_hide_stealth_mode: f32,
    stealth_system_sight_angle_reduce_rate_in_stealth_rigid_not_sight_hide_not_stealth_mode: f32,
    stealth_system_sight_angle_reduce_rate_in_stealth_rigid_not_sight_hide_stealth_mode: f32,
    stealth_system_sight_angle_reduce_rate_in_stealth_rigid_sight_hide_not_stealth_mode: f32,
    stealth_system_sight_angle_reduce_rate_in_stealth_rigid_sight_hide_stealth_mode: f32,
    weather_lot_condition_start_morning_hour: u8,
    weather_lot_condition_start_morning_minute: u8,
    weather_lot_condition_start_day_hour: u8,
    weather_lot_condition_start_day_minute: u8,
    weather_lot_condition_start_evening_hour: u8,
    weather_lot_condition_start_evening_minute: u8,
    weather_lot_condition_start_night_hour: u8,
    weather_lot_condition_start_night_minute: u8,
    weather_lot_condition_start_day_break_hour: u8,
    weather_lot_condition_start_day_break_minute: u8,
    weather_lot_condition_reserved: [u8; 2],
    pclight_scale_change_start_hour: u8,
    pclight_scale_change_start_minute: u8,
    pclight_scale_change_end_hour: u8,
    pclight_scale_change_end_minute: u8,
    pclight_scale_by_timezone: f32,
    big_rune_greater_demon_summon_buddy_special_effect_id_buddy: i32,
    big_rune_greater_demon_summon_buddy_special_effect_id_pc: i32,
    home_bonfire_param_id: i32,
    maching_weapon_level_upper_white_sign_11: u8,
    maching_weapon_level_upper_white_sign_12: u8,
    maching_weapon_level_upper_white_sign_13: u8,
    maching_weapon_level_upper_white_sign_14: u8,
    maching_weapon_level_upper_white_sign_15: u8,
    maching_weapon_level_upper_white_sign_16: u8,
    maching_weapon_level_upper_white_sign_17: u8,
    maching_weapon_level_upper_white_sign_18: u8,
    maching_weapon_level_upper_white_sign_19: u8,
    maching_weapon_level_upper_white_sign_20: u8,
    maching_weapon_level_upper_white_sign_21: u8,
    maching_weapon_level_upper_white_sign_22: u8,
    maching_weapon_level_upper_white_sign_23: u8,
    maching_weapon_level_upper_white_sign_24: u8,
    maching_weapon_level_upper_white_sign_25: u8,
    maching_weapon_level_upper_red_sign_11: u8,
    maching_weapon_level_upper_red_sign_12: u8,
    maching_weapon_level_upper_red_sign_13: u8,
    maching_weapon_level_upper_red_sign_14: u8,
    maching_weapon_level_upper_red_sign_15: u8,
    maching_weapon_level_upper_red_sign_16: u8,
    maching_weapon_level_upper_red_sign_17: u8,
    maching_weapon_level_upper_red_sign_18: u8,
    maching_weapon_level_upper_red_sign_19: u8,
    maching_weapon_level_upper_red_sign_20: u8,
    maching_weapon_level_upper_red_sign_21: u8,
    maching_weapon_level_upper_red_sign_22: u8,
    maching_weapon_level_upper_red_sign_23: u8,
    maching_weapon_level_upper_red_sign_24: u8,
    maching_weapon_level_upper_red_sign_25: u8,
    menu_timezone_start_morning_hour: u8,
    menu_timezone_start_morning_minute: u8,
    menu_timezone_start_day1_hour: u8,
    menu_timezone_start_day1_minute: u8,
    menu_timezone_start_day2_hour: u8,
    menu_timezone_start_day2_minute: u8,
    menu_timezone_start_evening_hour: u8,
    menu_timezone_start_evening_minute: u8,
    menu_timezone_start_night_hour: u8,
    menu_timezone_start_night_minute: u8,
    menu_timezone_start_midnight_hour: u8,
    menu_timezone_start_midnight_minute: u8,
    remote_player_threat_lv_notify_threat_lv: u16,
    remote_player_threat_lv_notify_notify_dist: f32,
    remote_player_threat_lv_notify_end_notify_dist: f32,
    world_map_point_discovery_expand_range: f32,
    world_map_point_reentry_expand_range: f32,
    remote_player_threat_lv_notify_notify_time: u16,
    break_in_a_rebreak_in_goods_num: u16,
    break_in_a_rebreak_in_goods_id: i32,
    ride_jumpoff_sfx_id: i32,
    ride_jumpoff_sfx_height_offset: f32,
    unknown_short1: u16,
    near_death_level_decay_time: u16,
    ride_jumpoff_sp_effect_id_pc: i32,
    unlock_exchange_menu_event_flag_id: u32,
    unlock_message_menu_event_flag_id: u32,
    break_in_once_a_rebreak_in_goods_num: u16,
    break_in_b_rebreak_in_goods_num: u16,
    break_in_once_a_rebreak_in_goods_id: i32,
    break_in_b_rebreak_in_goods_id: i32,
    action_button_input_cancel_time: f32,
    block_clear_bonus_delay_time: f32,
    bonfire_check_enemy_range: f32,
    unknown_1: i32,
    boss_arena_near_death_duration: f32,
    near_death_grace_period_timer_default: f32,
    unknown_4: f32,
    unknown_5: f32,
    unknown_6: f32,
    unknown_7: i32,
    unknown_8: f32,
    unknown_9: f32,
    unknown_10: i32,
    unknown_11: i32,
    unknown_12: f32,
    unknown_13: f32,
    unknown_14: i32,
    unknown_15: i32,
    unknown_16: i32,
    unknown_17: i32,
    unknown_18: f32,
    unknown_19: i32,
    unknown_20: i32,
    unknown_21: f32,
    unknown_22: f32,
    unknown_23: f32,
    unknown_24: f32,
    unknown_25: i32,
    unknown_26: i32,
    unknown_27: i32,
    unknown_28: i32,
    unknown_29: i32,
    unknown_30: i32,
    unknown_31: i32,
    unknown_32: i32,
    unknown_33: f32,
    unknown_34: f32,
    unknown_35: f32,
    unknown_36: f32,
    required_revive_progress_level1: i32,
    required_revive_progress_level2: i32,
    required_revive_progress_level3: i32,
    revive_rate_decay_percent_level1: f32,
    revive_rate_decay_percent_level2: f32,
    revive_rate_decay_percent_level3: f32,
    unknown_43: i32,
    unknown_44: f32,
    unknown_45: f32,
    unknown_46: f32,
    unknown_47: f32,
    unknown_48: f32,
    unknown_49: i32,
    unknown_50: i32,
    unknown_51: i32,
    unknown_52: i32,
    unknown_53: i32,
    unknown_54: i32,
    unknown_55: i32,
    unknown_56: i32,
    unknown_57: i32,
    unknown_58: f32,
    unknown_59: f32,
    unknown_60: f32,
    unknown_61: f32,
    unknown_62: f32,
    unknown_63: i32,
    unknown_64: f32,
    unknown_65: f32,
    unknown_66: f32,
    unknown_67: f32,
    unknown_68: f32,
    unknown_69: f32,
    unknown_70: f32,
    unknown_71: f32,
    unknown_72: i32,
    unknown_73: i32,
    unknown_74: i32,
    unknown_75: i32,
    unknown_76: f32,
    unknown_77: f32,
    unknown_78: f32,
    unknown_79: f32,
    unknown_80: f32,
    unknown_81: f32,
    unknown_82: f32,
    unknown_83: f32,
    unknown_84: f32,
    unknown_85: f32,
    unknown_86: f32,
    unknown_87: f32,
    unknown_88: i32,
    unknown_89: f32,
    unknown_90: f32,
    unknown_91: f32,
    new_arrival_mark_flag: i32,
    unknown_93: f32,
    unknown_94: f32,
    night_time_flag: i32,
    unknown_96: i32,
    unknown_97: f32,
    unknown_98: f32,
    unknown_99: f32,
    unknown_100: f32,
    unknown_101: f32,
    unknown_102: f32,
    unknown_103: f32,
    unknown_104: f32,
    unknown_105: f32,
    unknown_106: f32,
    unknown_107: i32,
    training_camp_tutorial_flag: i32,
    unknown_109: f32,
    unknown_110: f32,
    unknown_111: i32,
    unknown_112: i32,
}

impl ParamDef for GAME_SYSTEM_COMMON_PARAM_ST {
    const NAME: &str = "GAME_SYSTEM_COMMON_PARAM_ST";
}

impl GAME_SYSTEM_COMMON_PARAM_ST {
    pub fn base_toughness_recover_time(&self) -> f32 {
        self.base_toughness_recover_time
    }

    pub fn set_base_toughness_recover_time(&mut self, value: f32) {
        self.base_toughness_recover_time = value;
    }

    pub fn chr_event_trun_by_left90(&self) -> i32 {
        self.chr_event_trun_by_left90
    }

    pub fn set_chr_event_trun_by_left90(&mut self, value: i32) {
        self.chr_event_trun_by_left90 = value;
    }

    pub fn chr_event_trun_by_right90(&self) -> i32 {
        self.chr_event_trun_by_right90
    }

    pub fn set_chr_event_trun_by_right90(&mut self, value: i32) {
        self.chr_event_trun_by_right90 = value;
    }

    pub fn chr_event_trun_by_left180(&self) -> i32 {
        self.chr_event_trun_by_left180
    }

    pub fn set_chr_event_trun_by_left180(&mut self, value: i32) {
        self.chr_event_trun_by_left180 = value;
    }

    pub fn chr_event_trun_by_right180(&self) -> i32 {
        self.chr_event_trun_by_right180
    }

    pub fn set_chr_event_trun_by_right180(&mut self, value: i32) {
        self.chr_event_trun_by_right180 = value;
    }

    pub fn chr_event_trun_90_turn_start_angle(&self) -> i16 {
        self.chr_event_trun_90_turn_start_angle
    }

    pub fn set_chr_event_trun_90_turn_start_angle(&mut self, value: i16) {
        self.chr_event_trun_90_turn_start_angle = value;
    }

    pub fn chr_event_trun_180_turn_start_angle(&self) -> i16 {
        self.chr_event_trun_180_turn_start_angle
    }

    pub fn set_chr_event_trun_180_turn_start_angle(&mut self, value: i16) {
        self.chr_event_trun_180_turn_start_angle = value;
    }

    pub fn stealth_atk_damage_rate(&self) -> f32 {
        self.stealth_atk_damage_rate
    }

    pub fn set_stealth_atk_damage_rate(&mut self, value: f32) {
        self.stealth_atk_damage_rate = value;
    }

    pub fn flick_damage_cut_rate_success_gurad(&self) -> f32 {
        self.flick_damage_cut_rate_success_gurad
    }

    pub fn set_flick_damage_cut_rate_success_gurad(&mut self, value: f32) {
        self.flick_damage_cut_rate_success_gurad = value;
    }

    pub fn npc_talk_anim_begin_diff_angle(&self) -> f32 {
        self.npc_talk_anim_begin_diff_angle
    }

    pub fn set_npc_talk_anim_begin_diff_angle(&mut self, value: f32) {
        self.npc_talk_anim_begin_diff_angle = value;
    }

    pub fn npc_talk_anim_end_diff_angle(&self) -> f32 {
        self.npc_talk_anim_end_diff_angle
    }

    pub fn set_npc_talk_anim_end_diff_angle(&mut self, value: f32) {
        self.npc_talk_anim_end_diff_angle = value;
    }

    pub fn sleep_collector_item_action_button_param_id(&self) -> i32 {
        self.sleep_collector_item_action_button_param_id
    }

    pub fn set_sleep_collector_item_action_button_param_id(&mut self, value: i32) {
        self.sleep_collector_item_action_button_param_id = value;
    }

    pub fn allow_use_buddy_item_sfx_interval(&self) -> f32 {
        self.allow_use_buddy_item_sfx_interval
    }

    pub fn set_allow_use_buddy_item_sfx_interval(&mut self, value: f32) {
        self.allow_use_buddy_item_sfx_interval = value;
    }

    pub fn allow_use_buddy_item_sfx_dmy_poly_id(&self) -> i32 {
        self.allow_use_buddy_item_sfx_dmy_poly_id
    }

    pub fn set_allow_use_buddy_item_sfx_dmy_poly_id(&mut self, value: i32) {
        self.allow_use_buddy_item_sfx_dmy_poly_id = value;
    }

    pub fn allow_use_buddy_item_sfx_dmy_poly_id_horse(&self) -> i32 {
        self.allow_use_buddy_item_sfx_dmy_poly_id_horse
    }

    pub fn set_allow_use_buddy_item_sfx_dmy_poly_id_horse(&mut self, value: i32) {
        self.allow_use_buddy_item_sfx_dmy_poly_id_horse = value;
    }

    pub fn allow_use_buddy_item_sfx_id(&self) -> i32 {
        self.allow_use_buddy_item_sfx_id
    }

    pub fn set_allow_use_buddy_item_sfx_id(&mut self, value: i32) {
        self.allow_use_buddy_item_sfx_id = value;
    }

    pub fn on_buddy_summon_in_activate_range_sfx_interval(&self) -> f32 {
        self.on_buddy_summon_in_activate_range_sfx_interval
    }

    pub fn set_on_buddy_summon_in_activate_range_sfx_interval(&mut self, value: f32) {
        self.on_buddy_summon_in_activate_range_sfx_interval = value;
    }

    pub fn on_buddy_summon_in_activate_range_sfx_dmy_poly_id(&self) -> i32 {
        self.on_buddy_summon_in_activate_range_sfx_dmy_poly_id
    }

    pub fn set_on_buddy_summon_in_activate_range_sfx_dmy_poly_id(&mut self, value: i32) {
        self.on_buddy_summon_in_activate_range_sfx_dmy_poly_id = value;
    }

    pub fn on_buddy_summon_in_activate_range_sfx_dmy_poly_id_horse(&self) -> i32 {
        self.on_buddy_summon_in_activate_range_sfx_dmy_poly_id_horse
    }

    pub fn set_on_buddy_summon_in_activate_range_sfx_dmy_poly_id_horse(&mut self, value: i32) {
        self.on_buddy_summon_in_activate_range_sfx_dmy_poly_id_horse = value;
    }

    pub fn on_buddy_summon_in_activate_range_sfx_id(&self) -> i32 {
        self.on_buddy_summon_in_activate_range_sfx_id
    }

    pub fn set_on_buddy_summon_in_activate_range_sfx_id(&mut self, value: i32) {
        self.on_buddy_summon_in_activate_range_sfx_id = value;
    }

    pub fn on_buddy_summon_in_activate_range_sp_effect_id_pc(&self) -> i32 {
        self.on_buddy_summon_in_activate_range_sp_effect_id_pc
    }

    pub fn set_on_buddy_summon_in_activate_range_sp_effect_id_pc(&mut self, value: i32) {
        self.on_buddy_summon_in_activate_range_sp_effect_id_pc = value;
    }

    pub fn on_buddy_summon_in_warn_range_sp_effect_id_pc(&self) -> i32 {
        self.on_buddy_summon_in_warn_range_sp_effect_id_pc
    }

    pub fn set_on_buddy_summon_in_warn_range_sp_effect_id_pc(&mut self, value: i32) {
        self.on_buddy_summon_in_warn_range_sp_effect_id_pc = value;
    }

    pub fn on_buddy_summon_at_buddy_unsummon_sp_effect_id_pc(&self) -> i32 {
        self.on_buddy_summon_at_buddy_unsummon_sp_effect_id_pc
    }

    pub fn set_on_buddy_summon_at_buddy_unsummon_sp_effect_id_pc(&mut self, value: i32) {
        self.on_buddy_summon_at_buddy_unsummon_sp_effect_id_pc = value;
    }

    pub fn on_buddy_summon_in_warn_range_sp_effect_id_buddy(&self) -> i32 {
        self.on_buddy_summon_in_warn_range_sp_effect_id_buddy
    }

    pub fn set_on_buddy_summon_in_warn_range_sp_effect_id_buddy(&mut self, value: i32) {
        self.on_buddy_summon_in_warn_range_sp_effect_id_buddy = value;
    }

    pub fn morning_ingame_hour(&self) -> u8 {
        self.morning_ingame_hour
    }

    pub fn set_morning_ingame_hour(&mut self, value: u8) {
        self.morning_ingame_hour = value;
    }

    pub fn morning_ingame_minute(&self) -> u8 {
        self.morning_ingame_minute
    }

    pub fn set_morning_ingame_minute(&mut self, value: u8) {
        self.morning_ingame_minute = value;
    }

    pub fn morning_ingame_second(&self) -> u8 {
        self.morning_ingame_second
    }

    pub fn set_morning_ingame_second(&mut self, value: u8) {
        self.morning_ingame_second = value;
    }

    pub fn noon_ingame_hour(&self) -> u8 {
        self.noon_ingame_hour
    }

    pub fn set_noon_ingame_hour(&mut self, value: u8) {
        self.noon_ingame_hour = value;
    }

    pub fn noon_ingame_minute(&self) -> u8 {
        self.noon_ingame_minute
    }

    pub fn set_noon_ingame_minute(&mut self, value: u8) {
        self.noon_ingame_minute = value;
    }

    pub fn noon_ingame_second(&self) -> u8 {
        self.noon_ingame_second
    }

    pub fn set_noon_ingame_second(&mut self, value: u8) {
        self.noon_ingame_second = value;
    }

    pub fn night_ingame_hour(&self) -> u8 {
        self.night_ingame_hour
    }

    pub fn set_night_ingame_hour(&mut self, value: u8) {
        self.night_ingame_hour = value;
    }

    pub fn night_ingame_minute(&self) -> u8 {
        self.night_ingame_minute
    }

    pub fn set_night_ingame_minute(&mut self, value: u8) {
        self.night_ingame_minute = value;
    }

    pub fn night_ingame_second(&self) -> u8 {
        self.night_ingame_second
    }

    pub fn set_night_ingame_second(&mut self, value: u8) {
        self.night_ingame_second = value;
    }

    pub fn ai_sight_rate_start_morning_hour(&self) -> u8 {
        self.ai_sight_rate_start_morning_hour
    }

    pub fn set_ai_sight_rate_start_morning_hour(&mut self, value: u8) {
        self.ai_sight_rate_start_morning_hour = value;
    }

    pub fn ai_sight_rate_start_morning_minute(&self) -> u8 {
        self.ai_sight_rate_start_morning_minute
    }

    pub fn set_ai_sight_rate_start_morning_minute(&mut self, value: u8) {
        self.ai_sight_rate_start_morning_minute = value;
    }

    pub fn ai_sight_rate_start_noon_hour(&self) -> u8 {
        self.ai_sight_rate_start_noon_hour
    }

    pub fn set_ai_sight_rate_start_noon_hour(&mut self, value: u8) {
        self.ai_sight_rate_start_noon_hour = value;
    }

    pub fn ai_sight_rate_start_noon_minute(&self) -> u8 {
        self.ai_sight_rate_start_noon_minute
    }

    pub fn set_ai_sight_rate_start_noon_minute(&mut self, value: u8) {
        self.ai_sight_rate_start_noon_minute = value;
    }

    pub fn ai_sight_rate_start_evening_hour(&self) -> u8 {
        self.ai_sight_rate_start_evening_hour
    }

    pub fn set_ai_sight_rate_start_evening_hour(&mut self, value: u8) {
        self.ai_sight_rate_start_evening_hour = value;
    }

    pub fn ai_sight_rate_start_evening_minute(&self) -> u8 {
        self.ai_sight_rate_start_evening_minute
    }

    pub fn set_ai_sight_rate_start_evening_minute(&mut self, value: u8) {
        self.ai_sight_rate_start_evening_minute = value;
    }

    pub fn ai_sight_rate_start_night_hour(&self) -> u8 {
        self.ai_sight_rate_start_night_hour
    }

    pub fn set_ai_sight_rate_start_night_hour(&mut self, value: u8) {
        self.ai_sight_rate_start_night_hour = value;
    }

    pub fn ai_sight_rate_start_night_minute(&self) -> u8 {
        self.ai_sight_rate_start_night_minute
    }

    pub fn set_ai_sight_rate_start_night_minute(&mut self, value: u8) {
        self.ai_sight_rate_start_night_minute = value;
    }

    pub fn ai_sight_rate_start_midnight_hour(&self) -> u8 {
        self.ai_sight_rate_start_midnight_hour
    }

    pub fn set_ai_sight_rate_start_midnight_hour(&mut self, value: u8) {
        self.ai_sight_rate_start_midnight_hour = value;
    }

    pub fn ai_sight_rate_start_midnight_minute(&self) -> u8 {
        self.ai_sight_rate_start_midnight_minute
    }

    pub fn set_ai_sight_rate_start_midnight_minute(&mut self, value: u8) {
        self.ai_sight_rate_start_midnight_minute = value;
    }

    pub fn sa_large_damage_hit_sfx_threshold(&self) -> u8 {
        self.sa_large_damage_hit_sfx_threshold
    }

    pub fn set_sa_large_damage_hit_sfx_threshold(&mut self, value: u8) {
        self.sa_large_damage_hit_sfx_threshold = value;
    }

    pub fn sa_large_damage_hit_sfx_sfx_id(&self) -> i32 {
        self.sa_large_damage_hit_sfx_sfx_id
    }

    pub fn set_sa_large_damage_hit_sfx_sfx_id(&mut self, value: i32) {
        self.sa_large_damage_hit_sfx_sfx_id = value;
    }

    pub fn sign_creatable_dist_from_safe_pos(&self) -> f32 {
        self.sign_creatable_dist_from_safe_pos
    }

    pub fn set_sign_creatable_dist_from_safe_pos(&mut self, value: f32) {
        self.sign_creatable_dist_from_safe_pos = value;
    }

    pub fn guest_resummon_dist(&self) -> f32 {
        self.guest_resummon_dist
    }

    pub fn set_guest_resummon_dist(&mut self, value: f32) {
        self.guest_resummon_dist = value;
    }

    pub fn guest_leaving_message_dist_max(&self) -> f32 {
        self.guest_leaving_message_dist_max
    }

    pub fn set_guest_leaving_message_dist_max(&mut self, value: f32) {
        self.guest_leaving_message_dist_max = value;
    }

    pub fn guest_leaving_message_dist_min(&self) -> f32 {
        self.guest_leaving_message_dist_min
    }

    pub fn set_guest_leaving_message_dist_min(&mut self, value: f32) {
        self.guest_leaving_message_dist_min = value;
    }

    pub fn guest_leave_session_dist(&self) -> f32 {
        self.guest_leave_session_dist
    }

    pub fn set_guest_leave_session_dist(&mut self, value: f32) {
        self.guest_leave_session_dist = value;
    }

    pub fn retry_point_area_radius(&self) -> f32 {
        self.retry_point_area_radius
    }

    pub fn set_retry_point_area_radius(&mut self, value: f32) {
        self.retry_point_area_radius = value;
    }

    pub fn sleep_collector_sp_effect_id(&self) -> i32 {
        self.sleep_collector_sp_effect_id
    }

    pub fn set_sleep_collector_sp_effect_id(&mut self, value: i32) {
        self.sleep_collector_sp_effect_id = value;
    }

    pub fn recover_below_max_hp_completion_notice_sp_effect_id(&self) -> i32 {
        self.recover_below_max_hp_completion_notice_sp_effect_id
    }

    pub fn set_recover_below_max_hp_completion_notice_sp_effect_id(&mut self, value: i32) {
        self.recover_below_max_hp_completion_notice_sp_effect_id = value;
    }

    pub fn estus_flask_recovery_absorption_production_sfx_id_by_hp(&self) -> i32 {
        self.estus_flask_recovery_absorption_production_sfx_id_by_hp
    }

    pub fn set_estus_flask_recovery_absorption_production_sfx_id_by_hp(&mut self, value: i32) {
        self.estus_flask_recovery_absorption_production_sfx_id_by_hp = value;
    }

    pub fn estus_flask_recovery_absorption_production_sfx_id_by_mp(&self) -> i32 {
        self.estus_flask_recovery_absorption_production_sfx_id_by_mp
    }

    pub fn set_estus_flask_recovery_absorption_production_sfx_id_by_mp(&mut self, value: i32) {
        self.estus_flask_recovery_absorption_production_sfx_id_by_mp = value;
    }

    pub fn respawn_special_effect_active_checker_sp_effect_id(&self) -> i32 {
        self.respawn_special_effect_active_checker_sp_effect_id
    }

    pub fn set_respawn_special_effect_active_checker_sp_effect_id(&mut self, value: i32) {
        self.respawn_special_effect_active_checker_sp_effect_id = value;
    }

    pub fn on_buddy_summon_in_activate_range_sp_effect_id_buddy(&self) -> i32 {
        self.on_buddy_summon_in_activate_range_sp_effect_id_buddy
    }

    pub fn set_on_buddy_summon_in_activate_range_sp_effect_id_buddy(&mut self, value: i32) {
        self.on_buddy_summon_in_activate_range_sp_effect_id_buddy = value;
    }

    pub fn estus_flask_recovery_add_estus_time(&self) -> f32 {
        self.estus_flask_recovery_add_estus_time
    }

    pub fn set_estus_flask_recovery_add_estus_time(&mut self, value: f32) {
        self.estus_flask_recovery_add_estus_time = value;
    }

    pub fn defeat_multi_mode_enemy_of_soul_correct_rate_by_host(&self) -> f32 {
        self.defeat_multi_mode_enemy_of_soul_correct_rate_by_host
    }

    pub fn set_defeat_multi_mode_enemy_of_soul_correct_rate_by_host(&mut self, value: f32) {
        self.defeat_multi_mode_enemy_of_soul_correct_rate_by_host = value;
    }

    pub fn defeat_multi_mode_enemy_of_soul_correct_rate_by_team_ghost(&self) -> f32 {
        self.defeat_multi_mode_enemy_of_soul_correct_rate_by_team_ghost
    }

    pub fn set_defeat_multi_mode_enemy_of_soul_correct_rate_by_team_ghost(&mut self, value: f32) {
        self.defeat_multi_mode_enemy_of_soul_correct_rate_by_team_ghost = value;
    }

    pub fn defeat_multi_mode_boss_of_soul_correct_rate_by_host(&self) -> f32 {
        self.defeat_multi_mode_boss_of_soul_correct_rate_by_host
    }

    pub fn set_defeat_multi_mode_boss_of_soul_correct_rate_by_host(&mut self, value: f32) {
        self.defeat_multi_mode_boss_of_soul_correct_rate_by_host = value;
    }

    pub fn defeat_multi_mode_boss_of_soul_correct_rate_by_team_ghost(&self) -> f32 {
        self.defeat_multi_mode_boss_of_soul_correct_rate_by_team_ghost
    }

    pub fn set_defeat_multi_mode_boss_of_soul_correct_rate_by_team_ghost(&mut self, value: f32) {
        self.defeat_multi_mode_boss_of_soul_correct_rate_by_team_ghost = value;
    }

    pub fn enemy_hp_gauge_screen_offset_by_up(&self) -> u16 {
        self.enemy_hp_gauge_screen_offset_by_up
    }

    pub fn set_enemy_hp_gauge_screen_offset_by_up(&mut self, value: u16) {
        self.enemy_hp_gauge_screen_offset_by_up = value;
    }

    pub fn play_region_collect_dist(&self) -> u16 {
        self.play_region_collect_dist
    }

    pub fn set_play_region_collect_dist(&mut self, value: u16) {
        self.play_region_collect_dist = value;
    }

    pub fn enemy_detection_sp_effect_shoot_bullet_dummypoly_id(&self) -> u16 {
        self.enemy_detection_sp_effect_shoot_bullet_dummypoly_id
    }

    pub fn set_enemy_detection_sp_effect_shoot_bullet_dummypoly_id(&mut self, value: u16) {
        self.enemy_detection_sp_effect_shoot_bullet_dummypoly_id = value;
    }

    pub fn big_rune_greater_demon_break_in_goods_num(&self) -> u16 {
        self.big_rune_greater_demon_break_in_goods_num
    }

    pub fn set_big_rune_greater_demon_break_in_goods_num(&mut self, value: u16) {
        self.big_rune_greater_demon_break_in_goods_num = value;
    }

    pub fn big_rune_greater_demon_break_in_goods_id(&self) -> i32 {
        self.big_rune_greater_demon_break_in_goods_id
    }

    pub fn set_big_rune_greater_demon_break_in_goods_id(&mut self, value: i32) {
        self.big_rune_greater_demon_break_in_goods_id = value;
    }

    pub fn ride_jump_region_default_sfx_id(&self) -> i32 {
        self.ride_jump_region_default_sfx_id
    }

    pub fn set_ride_jump_region_default_sfx_id(&mut self, value: i32) {
        self.ride_jump_region_default_sfx_id = value;
    }

    pub fn sa_attack_rate_for_vs_ride_atk(&self) -> f32 {
        self.sa_attack_rate_for_vs_ride_atk
    }

    pub fn set_sa_attack_rate_for_vs_ride_atk(&mut self, value: f32) {
        self.sa_attack_rate_for_vs_ride_atk = value;
    }

    pub fn enemy_sp_effect_id_after_sleep_collector_item_lot(&self) -> i32 {
        self.enemy_sp_effect_id_after_sleep_collector_item_lot
    }

    pub fn set_enemy_sp_effect_id_after_sleep_collector_item_lot(&mut self, value: i32) {
        self.enemy_sp_effect_id_after_sleep_collector_item_lot = value;
    }

    pub fn after_ending_map_uid(&self) -> i32 {
        self.after_ending_map_uid
    }

    pub fn set_after_ending_map_uid(&mut self, value: i32) {
        self.after_ending_map_uid = value;
    }

    pub fn after_ending_return_point_entity_id(&self) -> u32 {
        self.after_ending_return_point_entity_id
    }

    pub fn set_after_ending_return_point_entity_id(&mut self, value: u32) {
        self.after_ending_return_point_entity_id = value;
    }

    pub fn enemy_detection_sp_effect_bullet_id_by_coop_ring_red_hunter(&self) -> i32 {
        self.enemy_detection_sp_effect_bullet_id_by_coop_ring_red_hunter
    }

    pub fn set_enemy_detection_sp_effect_bullet_id_by_coop_ring_red_hunter(&mut self, value: i32) {
        self.enemy_detection_sp_effect_bullet_id_by_coop_ring_red_hunter = value;
    }

    pub fn enemy_detection_sp_effect_bullet_id_by_invade_orb_none(&self) -> i32 {
        self.enemy_detection_sp_effect_bullet_id_by_invade_orb_none
    }

    pub fn set_enemy_detection_sp_effect_bullet_id_by_invade_orb_none(&mut self, value: i32) {
        self.enemy_detection_sp_effect_bullet_id_by_invade_orb_none = value;
    }

    pub fn tutorial_flag_on_access_dist_view(&self) -> u32 {
        self.tutorial_flag_on_access_dist_view
    }

    pub fn set_tutorial_flag_on_access_dist_view(&mut self, value: u32) {
        self.tutorial_flag_on_access_dist_view = value;
    }

    pub fn tutorial_flag_on_access_retry_point(&self) -> u32 {
        self.tutorial_flag_on_access_retry_point
    }

    pub fn set_tutorial_flag_on_access_retry_point(&mut self, value: u32) {
        self.tutorial_flag_on_access_retry_point = value;
    }

    pub fn tutorial_flag_on_get_group_reward(&self) -> u32 {
        self.tutorial_flag_on_get_group_reward
    }

    pub fn set_tutorial_flag_on_get_group_reward(&mut self, value: u32) {
        self.tutorial_flag_on_get_group_reward = value;
    }

    pub fn tutorial_flag_on_enter_ride_jump_region(&self) -> u32 {
        self.tutorial_flag_on_enter_ride_jump_region
    }

    pub fn set_tutorial_flag_on_enter_ride_jump_region(&mut self, value: u32) {
        self.tutorial_flag_on_enter_ride_jump_region = value;
    }

    pub fn tutorial_check_ride_jump_region_expand_range(&self) -> f32 {
        self.tutorial_check_ride_jump_region_expand_range
    }

    pub fn set_tutorial_check_ride_jump_region_expand_range(&mut self, value: f32) {
        self.tutorial_check_ride_jump_region_expand_range = value;
    }

    pub fn retry_point_activated_pc_anim_id(&self) -> i32 {
        self.retry_point_activated_pc_anim_id
    }

    pub fn set_retry_point_activated_pc_anim_id(&mut self, value: i32) {
        self.retry_point_activated_pc_anim_id = value;
    }

    pub fn retry_point_activated_dialog_delay_time(&self) -> f32 {
        self.retry_point_activated_dialog_delay_time
    }

    pub fn set_retry_point_activated_dialog_delay_time(&mut self, value: f32) {
        self.retry_point_activated_dialog_delay_time = value;
    }

    pub fn retry_point_activated_dialog_text_id(&self) -> i32 {
        self.retry_point_activated_dialog_text_id
    }

    pub fn set_retry_point_activated_dialog_text_id(&mut self, value: i32) {
        self.retry_point_activated_dialog_text_id = value;
    }

    pub fn sign_puddle_open_pc_anim_id(&self) -> i32 {
        self.sign_puddle_open_pc_anim_id
    }

    pub fn set_sign_puddle_open_pc_anim_id(&mut self, value: i32) {
        self.sign_puddle_open_pc_anim_id = value;
    }

    pub fn sign_puddle_open_dialog_delay_time(&self) -> f32 {
        self.sign_puddle_open_dialog_delay_time
    }

    pub fn set_sign_puddle_open_dialog_delay_time(&mut self, value: f32) {
        self.sign_puddle_open_dialog_delay_time = value;
    }

    pub fn activity_of_dead_sp_effect_bullet_id(&self) -> i32 {
        self.activity_of_dead_sp_effect_bullet_id
    }

    pub fn set_activity_of_dead_sp_effect_bullet_id(&mut self, value: i32) {
        self.activity_of_dead_sp_effect_bullet_id = value;
    }

    pub fn activity_of_dead_sp_effect_shoot_bullet_dummypoly_id(&self) -> i32 {
        self.activity_of_dead_sp_effect_shoot_bullet_dummypoly_id
    }

    pub fn set_activity_of_dead_sp_effect_shoot_bullet_dummypoly_id(&mut self, value: i32) {
        self.activity_of_dead_sp_effect_shoot_bullet_dummypoly_id = value;
    }

    pub fn activity_of_dead_sp_effect_dead_fade_out_time(&self) -> f32 {
        self.activity_of_dead_sp_effect_dead_fade_out_time
    }

    pub fn set_activity_of_dead_sp_effect_dead_fade_out_time(&mut self, value: f32) {
        self.activity_of_dead_sp_effect_dead_fade_out_time = value;
    }

    pub fn ignor_net_state_sync_time_for_throw(&self) -> f32 {
        self.ignor_net_state_sync_time_for_throw
    }

    pub fn set_ignor_net_state_sync_time_for_throw(&mut self, value: f32) {
        self.ignor_net_state_sync_time_for_throw = value;
    }

    pub fn net_penalty_point_lan_disconnect(&self) -> u16 {
        self.net_penalty_point_lan_disconnect
    }

    pub fn set_net_penalty_point_lan_disconnect(&mut self, value: u16) {
        self.net_penalty_point_lan_disconnect = value;
    }

    pub fn net_penalty_point_profile_signout(&self) -> u16 {
        self.net_penalty_point_profile_signout
    }

    pub fn set_net_penalty_point_profile_signout(&mut self, value: u16) {
        self.net_penalty_point_profile_signout = value;
    }

    pub fn net_penalty_point_reboot(&self) -> u16 {
        self.net_penalty_point_reboot
    }

    pub fn set_net_penalty_point_reboot(&mut self, value: u16) {
        self.net_penalty_point_reboot = value;
    }

    pub fn net_pnalty_point_suspend(&self) -> u16 {
        self.net_pnalty_point_suspend
    }

    pub fn set_net_pnalty_point_suspend(&mut self, value: u16) {
        self.net_pnalty_point_suspend = value;
    }

    pub fn net_penalty_forgive_item_limit_time(&self) -> f32 {
        self.net_penalty_forgive_item_limit_time
    }

    pub fn set_net_penalty_forgive_item_limit_time(&mut self, value: f32) {
        self.net_penalty_forgive_item_limit_time = value;
    }

    pub fn net_penalty_point_threshold(&self) -> u16 {
        self.net_penalty_point_threshold
    }

    pub fn set_net_penalty_point_threshold(&mut self, value: u16) {
        self.net_penalty_point_threshold = value;
    }

    pub fn uncontrolled_move_threshold_time(&self) -> u16 {
        self.uncontrolled_move_threshold_time
    }

    pub fn set_uncontrolled_move_threshold_time(&mut self, value: u16) {
        self.uncontrolled_move_threshold_time = value;
    }

    pub fn enemy_detection_sp_effect_bullet_id_by_npc_enemy(&self) -> i32 {
        self.enemy_detection_sp_effect_bullet_id_by_npc_enemy
    }

    pub fn set_enemy_detection_sp_effect_bullet_id_by_npc_enemy(&mut self, value: i32) {
        self.enemy_detection_sp_effect_bullet_id_by_npc_enemy = value;
    }

    pub fn activity_of_dead_target_search_sp_effect_on_hit_sp_effect(&self) -> i32 {
        self.activity_of_dead_target_search_sp_effect_on_hit_sp_effect
    }

    pub fn set_activity_of_dead_target_search_sp_effect_on_hit_sp_effect(&mut self, value: i32) {
        self.activity_of_dead_target_search_sp_effect_on_hit_sp_effect = value;
    }

    pub fn activity_of_dead_target_search_sp_effect_max_length(&self) -> f32 {
        self.activity_of_dead_target_search_sp_effect_max_length
    }

    pub fn set_activity_of_dead_target_search_sp_effect_max_length(&mut self, value: f32) {
        self.activity_of_dead_target_search_sp_effect_max_length = value;
    }

    pub fn sight_range_lower_promise_rate(&self) -> f32 {
        self.sight_range_lower_promise_rate
    }

    pub fn set_sight_range_lower_promise_rate(&mut self, value: f32) {
        self.sight_range_lower_promise_rate = value;
    }

    pub fn sa_large_damage_hit_sfx_min_damage(&self) -> i16 {
        self.sa_large_damage_hit_sfx_min_damage
    }

    pub fn set_sa_large_damage_hit_sfx_min_damage(&mut self, value: i16) {
        self.sa_large_damage_hit_sfx_min_damage = value;
    }

    pub fn sa_large_damage_hit_sfx_force_damage(&self) -> i16 {
        self.sa_large_damage_hit_sfx_force_damage
    }

    pub fn set_sa_large_damage_hit_sfx_force_damage(&mut self, value: i16) {
        self.sa_large_damage_hit_sfx_force_damage = value;
    }

    pub fn solo_break_in_max_point(&self) -> u32 {
        self.solo_break_in_max_point
    }

    pub fn set_solo_break_in_max_point(&mut self, value: u32) {
        self.solo_break_in_max_point = value;
    }

    pub fn npc_talk_time_out_threshold(&self) -> f32 {
        self.npc_talk_time_out_threshold
    }

    pub fn set_npc_talk_time_out_threshold(&mut self, value: f32) {
        self.npc_talk_time_out_threshold = value;
    }

    pub fn send_play_log_interval_time(&self) -> f32 {
        self.send_play_log_interval_time
    }

    pub fn set_send_play_log_interval_time(&mut self, value: f32) {
        self.send_play_log_interval_time = value;
    }

    pub fn item370_max_sfx_num(&self) -> u8 {
        self.item370_max_sfx_num
    }

    pub fn set_item370_max_sfx_num(&mut self, value: u8) {
        self.item370_max_sfx_num = value;
    }

    pub fn chr_activate_dist_for_leave_pc(&self) -> u8 {
        self.chr_activate_dist_for_leave_pc
    }

    pub fn set_chr_activate_dist_for_leave_pc(&mut self, value: u8) {
        self.chr_activate_dist_for_leave_pc = value;
    }

    pub fn summon_data_coop_matching_level_upper_abs(&self) -> i16 {
        self.summon_data_coop_matching_level_upper_abs
    }

    pub fn set_summon_data_coop_matching_level_upper_abs(&mut self, value: i16) {
        self.summon_data_coop_matching_level_upper_abs = value;
    }

    pub fn summon_data_coop_matching_level_upper_rel(&self) -> i16 {
        self.summon_data_coop_matching_level_upper_rel
    }

    pub fn set_summon_data_coop_matching_level_upper_rel(&mut self, value: i16) {
        self.summon_data_coop_matching_level_upper_rel = value;
    }

    pub fn summon_data_coop_matching_wep_level_mul(&self) -> i16 {
        self.summon_data_coop_matching_wep_level_mul
    }

    pub fn set_summon_data_coop_matching_wep_level_mul(&mut self, value: i16) {
        self.summon_data_coop_matching_wep_level_mul = value;
    }

    pub fn pick_up_berserker_sign_sp_effect_bullet_id(&self) -> i32 {
        self.pick_up_berserker_sign_sp_effect_bullet_id
    }

    pub fn set_pick_up_berserker_sign_sp_effect_bullet_id(&mut self, value: i32) {
        self.pick_up_berserker_sign_sp_effect_bullet_id = value;
    }

    pub fn succeed_berserker_self_killing_effect_id(&self) -> i32 {
        self.succeed_berserker_self_killing_effect_id
    }

    pub fn set_succeed_berserker_self_killing_effect_id(&mut self, value: i32) {
        self.succeed_berserker_self_killing_effect_id = value;
    }

    pub fn maching_level_white_sign_upper_rel(&self) -> u8 {
        self.maching_level_white_sign_upper_rel
    }

    pub fn set_maching_level_white_sign_upper_rel(&mut self, value: u8) {
        self.maching_level_white_sign_upper_rel = value;
    }

    pub fn maching_level_white_sign_upper_abs(&self) -> u8 {
        self.maching_level_white_sign_upper_abs
    }

    pub fn set_maching_level_white_sign_upper_abs(&mut self, value: u8) {
        self.maching_level_white_sign_upper_abs = value;
    }

    pub fn maching_level_red_sign_upper_rel(&self) -> u8 {
        self.maching_level_red_sign_upper_rel
    }

    pub fn set_maching_level_red_sign_upper_rel(&mut self, value: u8) {
        self.maching_level_red_sign_upper_rel = value;
    }

    pub fn maching_level_red_sign_upper_abs(&self) -> u8 {
        self.maching_level_red_sign_upper_abs
    }

    pub fn set_maching_level_red_sign_upper_abs(&mut self, value: u8) {
        self.maching_level_red_sign_upper_abs = value;
    }

    pub fn maching_weapon_level_upper_white_sign_0(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_0
    }

    pub fn set_maching_weapon_level_upper_white_sign_0(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_0 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_1(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_1
    }

    pub fn set_maching_weapon_level_upper_white_sign_1(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_1 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_2(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_2
    }

    pub fn set_maching_weapon_level_upper_white_sign_2(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_2 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_3(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_3
    }

    pub fn set_maching_weapon_level_upper_white_sign_3(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_3 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_4(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_4
    }

    pub fn set_maching_weapon_level_upper_white_sign_4(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_4 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_5(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_5
    }

    pub fn set_maching_weapon_level_upper_white_sign_5(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_5 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_6(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_6
    }

    pub fn set_maching_weapon_level_upper_white_sign_6(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_6 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_7(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_7
    }

    pub fn set_maching_weapon_level_upper_white_sign_7(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_7 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_8(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_8
    }

    pub fn set_maching_weapon_level_upper_white_sign_8(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_8 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_9(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_9
    }

    pub fn set_maching_weapon_level_upper_white_sign_9(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_9 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_10(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_10
    }

    pub fn set_maching_weapon_level_upper_white_sign_10(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_10 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_0(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_0
    }

    pub fn set_maching_weapon_level_upper_red_sign_0(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_0 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_1(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_1
    }

    pub fn set_maching_weapon_level_upper_red_sign_1(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_1 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_2(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_2
    }

    pub fn set_maching_weapon_level_upper_red_sign_2(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_2 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_3(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_3
    }

    pub fn set_maching_weapon_level_upper_red_sign_3(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_3 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_4(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_4
    }

    pub fn set_maching_weapon_level_upper_red_sign_4(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_4 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_5(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_5
    }

    pub fn set_maching_weapon_level_upper_red_sign_5(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_5 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_6(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_6
    }

    pub fn set_maching_weapon_level_upper_red_sign_6(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_6 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_7(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_7
    }

    pub fn set_maching_weapon_level_upper_red_sign_7(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_7 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_8(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_8
    }

    pub fn set_maching_weapon_level_upper_red_sign_8(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_8 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_9(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_9
    }

    pub fn set_maching_weapon_level_upper_red_sign_9(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_9 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_10(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_10
    }

    pub fn set_maching_weapon_level_upper_red_sign_10(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_10 = value;
    }

    pub fn auto_invade_point_generate_dist(&self) -> u8 {
        self.auto_invade_point_generate_dist
    }

    pub fn set_auto_invade_point_generate_dist(&mut self, value: u8) {
        self.auto_invade_point_generate_dist = value;
    }

    pub fn auto_invade_point_cancel_dist(&self) -> u8 {
        self.auto_invade_point_cancel_dist
    }

    pub fn set_auto_invade_point_cancel_dist(&mut self, value: u8) {
        self.auto_invade_point_cancel_dist = value;
    }

    pub fn send_global_event_log_interval_time(&self) -> f32 {
        self.send_global_event_log_interval_time
    }

    pub fn set_send_global_event_log_interval_time(&mut self, value: f32) {
        self.send_global_event_log_interval_time = value;
    }

    pub fn add_solo_break_in_point_white(&self) -> u16 {
        self.add_solo_break_in_point_white
    }

    pub fn set_add_solo_break_in_point_white(&mut self, value: u16) {
        self.add_solo_break_in_point_white = value;
    }

    pub fn add_solo_break_in_point_black(&self) -> u16 {
        self.add_solo_break_in_point_black
    }

    pub fn set_add_solo_break_in_point_black(&mut self, value: u16) {
        self.add_solo_break_in_point_black = value;
    }

    pub fn add_solo_break_in_point_force_join(&self) -> u16 {
        self.add_solo_break_in_point_force_join
    }

    pub fn set_add_solo_break_in_point_force_join(&mut self, value: u16) {
        self.add_solo_break_in_point_force_join = value;
    }

    pub fn add_solo_break_in_point_visitor_guardian(&self) -> u16 {
        self.add_solo_break_in_point_visitor_guardian
    }

    pub fn set_add_solo_break_in_point_visitor_guardian(&mut self, value: u16) {
        self.add_solo_break_in_point_visitor_guardian = value;
    }

    pub fn add_solo_break_in_point_visitor_red_hunter(&self) -> u16 {
        self.add_solo_break_in_point_visitor_red_hunter
    }

    pub fn set_add_solo_break_in_point_visitor_red_hunter(&mut self, value: u16) {
        self.add_solo_break_in_point_visitor_red_hunter = value;
    }

    pub fn invincible_timer_for_net_pc_init_sync(&self) -> u8 {
        self.invincible_timer_for_net_pc_init_sync
    }

    pub fn set_invincible_timer_for_net_pc_init_sync(&mut self, value: u8) {
        self.invincible_timer_for_net_pc_init_sync = value;
    }

    pub fn invincible_timer_for_net_pc(&self) -> u8 {
        self.invincible_timer_for_net_pc
    }

    pub fn set_invincible_timer_for_net_pc(&mut self, value: u8) {
        self.invincible_timer_for_net_pc = value;
    }

    pub fn red_hunter_host_boss_area_get_soul_rate(&self) -> f32 {
        self.red_hunter_host_boss_area_get_soul_rate
    }

    pub fn set_red_hunter_host_boss_area_get_soul_rate(&mut self, value: f32) {
        self.red_hunter_host_boss_area_get_soul_rate = value;
    }

    pub fn ghost_footprint_decal_param_id(&self) -> i32 {
        self.ghost_footprint_decal_param_id
    }

    pub fn set_ghost_footprint_decal_param_id(&mut self, value: i32) {
        self.ghost_footprint_decal_param_id = value;
    }

    pub fn leave_around_host_warning_time(&self) -> f32 {
        self.leave_around_host_warning_time
    }

    pub fn set_leave_around_host_warning_time(&mut self, value: f32) {
        self.leave_around_host_warning_time = value;
    }

    pub fn host_mode_cost_item_id(&self) -> i32 {
        self.host_mode_cost_item_id
    }

    pub fn set_host_mode_cost_item_id(&mut self, value: i32) {
        self.host_mode_cost_item_id = value;
    }

    pub fn a_i_jump_decelerate_param(&self) -> f32 {
        self.a_i_jump_decelerate_param
    }

    pub fn set_a_i_jump_decelerate_param(&mut self, value: f32) {
        self.a_i_jump_decelerate_param = value;
    }

    pub fn buddy_disappear_delay_sec(&self) -> f32 {
        self.buddy_disappear_delay_sec
    }

    pub fn set_buddy_disappear_delay_sec(&mut self, value: f32) {
        self.buddy_disappear_delay_sec = value;
    }

    pub fn a_i_jump_anim_y_move_correct_rate_on_jump_off(&self) -> f32 {
        self.a_i_jump_anim_y_move_correct_rate_on_jump_off
    }

    pub fn set_a_i_jump_anim_y_move_correct_rate_on_jump_off(&mut self, value: f32) {
        self.a_i_jump_anim_y_move_correct_rate_on_jump_off = value;
    }

    pub fn stealth_system_sight_rate_not_in_stealth_rigid_not_sight_hide_stealth_mode(
        &self,
    ) -> f32 {
        self.stealth_system_sight_rate_not_in_stealth_rigid_not_sight_hide_stealth_mode
    }

    pub fn set_stealth_system_sight_rate_not_in_stealth_rigid_not_sight_hide_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_rate_not_in_stealth_rigid_not_sight_hide_stealth_mode = value;
    }

    pub fn stealth_system_sight_rate_not_in_stealth_rigid_sight_hide_not_stealth_mode(
        &self,
    ) -> f32 {
        self.stealth_system_sight_rate_not_in_stealth_rigid_sight_hide_not_stealth_mode
    }

    pub fn set_stealth_system_sight_rate_not_in_stealth_rigid_sight_hide_not_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_rate_not_in_stealth_rigid_sight_hide_not_stealth_mode = value;
    }

    pub fn stealth_system_sight_rate_not_in_stealth_rigid_sight_hide_stealth_mode(&self) -> f32 {
        self.stealth_system_sight_rate_not_in_stealth_rigid_sight_hide_stealth_mode
    }

    pub fn set_stealth_system_sight_rate_not_in_stealth_rigid_sight_hide_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_rate_not_in_stealth_rigid_sight_hide_stealth_mode = value;
    }

    pub fn stealth_system_sight_rate_in_stealth_rigid_not_sight_hide_not_stealth_mode(
        &self,
    ) -> f32 {
        self.stealth_system_sight_rate_in_stealth_rigid_not_sight_hide_not_stealth_mode
    }

    pub fn set_stealth_system_sight_rate_in_stealth_rigid_not_sight_hide_not_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_rate_in_stealth_rigid_not_sight_hide_not_stealth_mode = value;
    }

    pub fn stealth_system_sight_rate_in_stealth_rigid_not_sight_hide_stealth_mode(&self) -> f32 {
        self.stealth_system_sight_rate_in_stealth_rigid_not_sight_hide_stealth_mode
    }

    pub fn set_stealth_system_sight_rate_in_stealth_rigid_not_sight_hide_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_rate_in_stealth_rigid_not_sight_hide_stealth_mode = value;
    }

    pub fn stealth_system_sight_rate_in_stealth_rigid_sight_hide_not_stealth_mode(&self) -> f32 {
        self.stealth_system_sight_rate_in_stealth_rigid_sight_hide_not_stealth_mode
    }

    pub fn set_stealth_system_sight_rate_in_stealth_rigid_sight_hide_not_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_rate_in_stealth_rigid_sight_hide_not_stealth_mode = value;
    }

    pub fn stealth_system_sight_rate_in_stealth_rigid_sight_hide_stealth_mode(&self) -> f32 {
        self.stealth_system_sight_rate_in_stealth_rigid_sight_hide_stealth_mode
    }

    pub fn set_stealth_system_sight_rate_in_stealth_rigid_sight_hide_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_rate_in_stealth_rigid_sight_hide_stealth_mode = value;
    }

    pub fn msb_event_geom_treasure_info_action_button_param_id_corpse(&self) -> i32 {
        self.msb_event_geom_treasure_info_action_button_param_id_corpse
    }

    pub fn set_msb_event_geom_treasure_info_action_button_param_id_corpse(&mut self, value: i32) {
        self.msb_event_geom_treasure_info_action_button_param_id_corpse = value;
    }

    pub fn msb_event_geom_treasure_info_item_get_anim_id_corpse(&self) -> i32 {
        self.msb_event_geom_treasure_info_item_get_anim_id_corpse
    }

    pub fn set_msb_event_geom_treasure_info_item_get_anim_id_corpse(&mut self, value: i32) {
        self.msb_event_geom_treasure_info_item_get_anim_id_corpse = value;
    }

    pub fn msb_event_geom_treasure_info_action_button_param_id_box(&self) -> i32 {
        self.msb_event_geom_treasure_info_action_button_param_id_box
    }

    pub fn set_msb_event_geom_treasure_info_action_button_param_id_box(&mut self, value: i32) {
        self.msb_event_geom_treasure_info_action_button_param_id_box = value;
    }

    pub fn msb_event_geom_treasure_info_item_get_anim_id_box(&self) -> i32 {
        self.msb_event_geom_treasure_info_item_get_anim_id_box
    }

    pub fn set_msb_event_geom_treasure_info_item_get_anim_id_box(&mut self, value: i32) {
        self.msb_event_geom_treasure_info_item_get_anim_id_box = value;
    }

    pub fn msb_event_geom_treasure_info_action_button_param_id_shine(&self) -> i32 {
        self.msb_event_geom_treasure_info_action_button_param_id_shine
    }

    pub fn set_msb_event_geom_treasure_info_action_button_param_id_shine(&mut self, value: i32) {
        self.msb_event_geom_treasure_info_action_button_param_id_shine = value;
    }

    pub fn msb_event_geom_treasure_info_item_get_anim_id_shine(&self) -> i32 {
        self.msb_event_geom_treasure_info_item_get_anim_id_shine
    }

    pub fn set_msb_event_geom_treasure_info_item_get_anim_id_shine(&mut self, value: i32) {
        self.msb_event_geom_treasure_info_item_get_anim_id_shine = value;
    }

    pub fn sign_puddle_asset_id(&self) -> i32 {
        self.sign_puddle_asset_id
    }

    pub fn set_sign_puddle_asset_id(&mut self, value: i32) {
        self.sign_puddle_asset_id = value;
    }

    pub fn sign_puddle_appear_dmypoly_id0(&self) -> i32 {
        self.sign_puddle_appear_dmypoly_id0
    }

    pub fn set_sign_puddle_appear_dmypoly_id0(&mut self, value: i32) {
        self.sign_puddle_appear_dmypoly_id0 = value;
    }

    pub fn sign_puddle_appear_dmypoly_id1(&self) -> i32 {
        self.sign_puddle_appear_dmypoly_id1
    }

    pub fn set_sign_puddle_appear_dmypoly_id1(&mut self, value: i32) {
        self.sign_puddle_appear_dmypoly_id1 = value;
    }

    pub fn sign_puddle_appear_dmypoly_id2(&self) -> i32 {
        self.sign_puddle_appear_dmypoly_id2
    }

    pub fn set_sign_puddle_appear_dmypoly_id2(&mut self, value: i32) {
        self.sign_puddle_appear_dmypoly_id2 = value;
    }

    pub fn sign_puddle_appear_dmypoly_id3(&self) -> i32 {
        self.sign_puddle_appear_dmypoly_id3
    }

    pub fn set_sign_puddle_appear_dmypoly_id3(&mut self, value: i32) {
        self.sign_puddle_appear_dmypoly_id3 = value;
    }

    pub fn fall_damage_rate_for_ride_pc(&self) -> f32 {
        self.fall_damage_rate_for_ride_pc
    }

    pub fn set_fall_damage_rate_for_ride_pc(&mut self, value: f32) {
        self.fall_damage_rate_for_ride_pc = value;
    }

    pub fn fall_damage_rate_for_ride_npc(&self) -> f32 {
        self.fall_damage_rate_for_ride_npc
    }

    pub fn set_fall_damage_rate_for_ride_npc(&mut self, value: f32) {
        self.fall_damage_rate_for_ride_npc = value;
    }

    pub fn old_monk_of_yellow_create_sign_sp_effect_id(&self) -> i32 {
        self.old_monk_of_yellow_create_sign_sp_effect_id
    }

    pub fn set_old_monk_of_yellow_create_sign_sp_effect_id(&mut self, value: i32) {
        self.old_monk_of_yellow_create_sign_sp_effect_id = value;
    }

    pub fn straggler_activate_dist(&self) -> f32 {
        self.straggler_activate_dist
    }

    pub fn set_straggler_activate_dist(&mut self, value: f32) {
        self.straggler_activate_dist = value;
    }

    pub fn sp_effect_id_enable_use_item_straggler_activate(&self) -> i32 {
        self.sp_effect_id_enable_use_item_straggler_activate
    }

    pub fn set_sp_effect_id_enable_use_item_straggler_activate(&mut self, value: i32) {
        self.sp_effect_id_enable_use_item_straggler_activate = value;
    }

    pub fn sp_effect_id_straggler_wake_up(&self) -> i32 {
        self.sp_effect_id_straggler_wake_up
    }

    pub fn set_sp_effect_id_straggler_wake_up(&mut self, value: i32) {
        self.sp_effect_id_straggler_wake_up = value;
    }

    pub fn sp_effect_id_straggler_target(&self) -> i32 {
        self.sp_effect_id_straggler_target
    }

    pub fn set_sp_effect_id_straggler_target(&mut self, value: i32) {
        self.sp_effect_id_straggler_target = value;
    }

    pub fn sp_effect_id_straggler_oppose(&self) -> i32 {
        self.sp_effect_id_straggler_oppose
    }

    pub fn set_sp_effect_id_straggler_oppose(&mut self, value: i32) {
        self.sp_effect_id_straggler_oppose = value;
    }

    pub fn buddy_warp_trigger_time_ray_blocked(&self) -> f32 {
        self.buddy_warp_trigger_time_ray_blocked
    }

    pub fn set_buddy_warp_trigger_time_ray_blocked(&mut self, value: f32) {
        self.buddy_warp_trigger_time_ray_blocked = value;
    }

    pub fn buddy_warp_trigger_dist_to_player(&self) -> f32 {
        self.buddy_warp_trigger_dist_to_player
    }

    pub fn set_buddy_warp_trigger_dist_to_player(&mut self, value: f32) {
        self.buddy_warp_trigger_dist_to_player = value;
    }

    pub fn buddy_warp_threshold_time_path_stacked(&self) -> f32 {
        self.buddy_warp_threshold_time_path_stacked
    }

    pub fn set_buddy_warp_threshold_time_path_stacked(&mut self, value: f32) {
        self.buddy_warp_threshold_time_path_stacked = value;
    }

    pub fn buddy_warp_threshold_range_path_stacked(&self) -> f32 {
        self.buddy_warp_threshold_range_path_stacked
    }

    pub fn set_buddy_warp_threshold_range_path_stacked(&mut self, value: f32) {
        self.buddy_warp_threshold_range_path_stacked = value;
    }

    pub fn ai_sight_rate_morning(&self) -> f32 {
        self.ai_sight_rate_morning
    }

    pub fn set_ai_sight_rate_morning(&mut self, value: f32) {
        self.ai_sight_rate_morning = value;
    }

    pub fn ai_sight_rate_noon_a(&self) -> f32 {
        self.ai_sight_rate_noon_a
    }

    pub fn set_ai_sight_rate_noon_a(&mut self, value: f32) {
        self.ai_sight_rate_noon_a = value;
    }

    pub fn buddy_pass_through_trigger_time(&self) -> f32 {
        self.buddy_pass_through_trigger_time
    }

    pub fn set_buddy_pass_through_trigger_time(&mut self, value: f32) {
        self.buddy_pass_through_trigger_time = value;
    }

    pub fn ai_sight_rate_evening(&self) -> f32 {
        self.ai_sight_rate_evening
    }

    pub fn set_ai_sight_rate_evening(&mut self, value: f32) {
        self.ai_sight_rate_evening = value;
    }

    pub fn ai_sight_rate_night(&self) -> f32 {
        self.ai_sight_rate_night
    }

    pub fn set_ai_sight_rate_night(&mut self, value: f32) {
        self.ai_sight_rate_night = value;
    }

    pub fn ai_sight_rate_midnight_a(&self) -> f32 {
        self.ai_sight_rate_midnight_a
    }

    pub fn set_ai_sight_rate_midnight_a(&mut self, value: f32) {
        self.ai_sight_rate_midnight_a = value;
    }

    pub fn ai_sight_rate_sunloss_light(&self) -> f32 {
        self.ai_sight_rate_sunloss_light
    }

    pub fn set_ai_sight_rate_sunloss_light(&mut self, value: f32) {
        self.ai_sight_rate_sunloss_light = value;
    }

    pub fn ai_sight_rate_sunloss_dark(&self) -> f32 {
        self.ai_sight_rate_sunloss_dark
    }

    pub fn set_ai_sight_rate_sunloss_dark(&mut self, value: f32) {
        self.ai_sight_rate_sunloss_dark = value;
    }

    pub fn ai_sight_rate_sunloss_very_dark(&self) -> f32 {
        self.ai_sight_rate_sunloss_very_dark
    }

    pub fn set_ai_sight_rate_sunloss_very_dark(&mut self, value: f32) {
        self.ai_sight_rate_sunloss_very_dark = value;
    }

    pub fn stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_not_sight_hide_stealth_mode(
        &self,
    ) -> f32 {
        self.stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_not_sight_hide_stealth_mode
    }

    pub fn set_stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_not_sight_hide_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_not_sight_hide_stealth_mode = value;
    }

    pub fn stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_sight_hide_not_stealth_mode(
        &self,
    ) -> f32 {
        self.stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_sight_hide_not_stealth_mode
    }

    pub fn set_stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_sight_hide_not_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_sight_hide_not_stealth_mode = value;
    }

    pub fn stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_sight_hide_stealth_mode(
        &self,
    ) -> f32 {
        self.stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_sight_hide_stealth_mode
    }

    pub fn set_stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_sight_hide_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_angle_reduce_rate_not_in_stealth_rigid_sight_hide_stealth_mode =
            value;
    }

    pub fn stealth_system_sight_angle_reduce_rate_in_stealth_rigid_not_sight_hide_not_stealth_mode(
        &self,
    ) -> f32 {
        self.stealth_system_sight_angle_reduce_rate_in_stealth_rigid_not_sight_hide_not_stealth_mode
    }

    pub fn set_stealth_system_sight_angle_reduce_rate_in_stealth_rigid_not_sight_hide_not_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_angle_reduce_rate_in_stealth_rigid_not_sight_hide_not_stealth_mode = value;
    }

    pub fn stealth_system_sight_angle_reduce_rate_in_stealth_rigid_not_sight_hide_stealth_mode(
        &self,
    ) -> f32 {
        self.stealth_system_sight_angle_reduce_rate_in_stealth_rigid_not_sight_hide_stealth_mode
    }

    pub fn set_stealth_system_sight_angle_reduce_rate_in_stealth_rigid_not_sight_hide_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_angle_reduce_rate_in_stealth_rigid_not_sight_hide_stealth_mode =
            value;
    }

    pub fn stealth_system_sight_angle_reduce_rate_in_stealth_rigid_sight_hide_not_stealth_mode(
        &self,
    ) -> f32 {
        self.stealth_system_sight_angle_reduce_rate_in_stealth_rigid_sight_hide_not_stealth_mode
    }

    pub fn set_stealth_system_sight_angle_reduce_rate_in_stealth_rigid_sight_hide_not_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_angle_reduce_rate_in_stealth_rigid_sight_hide_not_stealth_mode =
            value;
    }

    pub fn stealth_system_sight_angle_reduce_rate_in_stealth_rigid_sight_hide_stealth_mode(
        &self,
    ) -> f32 {
        self.stealth_system_sight_angle_reduce_rate_in_stealth_rigid_sight_hide_stealth_mode
    }

    pub fn set_stealth_system_sight_angle_reduce_rate_in_stealth_rigid_sight_hide_stealth_mode(
        &mut self,
        value: f32,
    ) {
        self.stealth_system_sight_angle_reduce_rate_in_stealth_rigid_sight_hide_stealth_mode =
            value;
    }

    pub fn weather_lot_condition_start_morning_hour(&self) -> u8 {
        self.weather_lot_condition_start_morning_hour
    }

    pub fn set_weather_lot_condition_start_morning_hour(&mut self, value: u8) {
        self.weather_lot_condition_start_morning_hour = value;
    }

    pub fn weather_lot_condition_start_morning_minute(&self) -> u8 {
        self.weather_lot_condition_start_morning_minute
    }

    pub fn set_weather_lot_condition_start_morning_minute(&mut self, value: u8) {
        self.weather_lot_condition_start_morning_minute = value;
    }

    pub fn weather_lot_condition_start_day_hour(&self) -> u8 {
        self.weather_lot_condition_start_day_hour
    }

    pub fn set_weather_lot_condition_start_day_hour(&mut self, value: u8) {
        self.weather_lot_condition_start_day_hour = value;
    }

    pub fn weather_lot_condition_start_day_minute(&self) -> u8 {
        self.weather_lot_condition_start_day_minute
    }

    pub fn set_weather_lot_condition_start_day_minute(&mut self, value: u8) {
        self.weather_lot_condition_start_day_minute = value;
    }

    pub fn weather_lot_condition_start_evening_hour(&self) -> u8 {
        self.weather_lot_condition_start_evening_hour
    }

    pub fn set_weather_lot_condition_start_evening_hour(&mut self, value: u8) {
        self.weather_lot_condition_start_evening_hour = value;
    }

    pub fn weather_lot_condition_start_evening_minute(&self) -> u8 {
        self.weather_lot_condition_start_evening_minute
    }

    pub fn set_weather_lot_condition_start_evening_minute(&mut self, value: u8) {
        self.weather_lot_condition_start_evening_minute = value;
    }

    pub fn weather_lot_condition_start_night_hour(&self) -> u8 {
        self.weather_lot_condition_start_night_hour
    }

    pub fn set_weather_lot_condition_start_night_hour(&mut self, value: u8) {
        self.weather_lot_condition_start_night_hour = value;
    }

    pub fn weather_lot_condition_start_night_minute(&self) -> u8 {
        self.weather_lot_condition_start_night_minute
    }

    pub fn set_weather_lot_condition_start_night_minute(&mut self, value: u8) {
        self.weather_lot_condition_start_night_minute = value;
    }

    pub fn weather_lot_condition_start_day_break_hour(&self) -> u8 {
        self.weather_lot_condition_start_day_break_hour
    }

    pub fn set_weather_lot_condition_start_day_break_hour(&mut self, value: u8) {
        self.weather_lot_condition_start_day_break_hour = value;
    }

    pub fn weather_lot_condition_start_day_break_minute(&self) -> u8 {
        self.weather_lot_condition_start_day_break_minute
    }

    pub fn set_weather_lot_condition_start_day_break_minute(&mut self, value: u8) {
        self.weather_lot_condition_start_day_break_minute = value;
    }

    pub fn pclight_scale_change_start_hour(&self) -> u8 {
        self.pclight_scale_change_start_hour
    }

    pub fn set_pclight_scale_change_start_hour(&mut self, value: u8) {
        self.pclight_scale_change_start_hour = value;
    }

    pub fn pclight_scale_change_start_minute(&self) -> u8 {
        self.pclight_scale_change_start_minute
    }

    pub fn set_pclight_scale_change_start_minute(&mut self, value: u8) {
        self.pclight_scale_change_start_minute = value;
    }

    pub fn pclight_scale_change_end_hour(&self) -> u8 {
        self.pclight_scale_change_end_hour
    }

    pub fn set_pclight_scale_change_end_hour(&mut self, value: u8) {
        self.pclight_scale_change_end_hour = value;
    }

    pub fn pclight_scale_change_end_minute(&self) -> u8 {
        self.pclight_scale_change_end_minute
    }

    pub fn set_pclight_scale_change_end_minute(&mut self, value: u8) {
        self.pclight_scale_change_end_minute = value;
    }

    pub fn pclight_scale_by_timezone(&self) -> f32 {
        self.pclight_scale_by_timezone
    }

    pub fn set_pclight_scale_by_timezone(&mut self, value: f32) {
        self.pclight_scale_by_timezone = value;
    }

    pub fn big_rune_greater_demon_summon_buddy_special_effect_id_buddy(&self) -> i32 {
        self.big_rune_greater_demon_summon_buddy_special_effect_id_buddy
    }

    pub fn set_big_rune_greater_demon_summon_buddy_special_effect_id_buddy(&mut self, value: i32) {
        self.big_rune_greater_demon_summon_buddy_special_effect_id_buddy = value;
    }

    pub fn big_rune_greater_demon_summon_buddy_special_effect_id_pc(&self) -> i32 {
        self.big_rune_greater_demon_summon_buddy_special_effect_id_pc
    }

    pub fn set_big_rune_greater_demon_summon_buddy_special_effect_id_pc(&mut self, value: i32) {
        self.big_rune_greater_demon_summon_buddy_special_effect_id_pc = value;
    }

    pub fn home_bonfire_param_id(&self) -> i32 {
        self.home_bonfire_param_id
    }

    pub fn set_home_bonfire_param_id(&mut self, value: i32) {
        self.home_bonfire_param_id = value;
    }

    pub fn maching_weapon_level_upper_white_sign_11(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_11
    }

    pub fn set_maching_weapon_level_upper_white_sign_11(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_11 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_12(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_12
    }

    pub fn set_maching_weapon_level_upper_white_sign_12(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_12 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_13(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_13
    }

    pub fn set_maching_weapon_level_upper_white_sign_13(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_13 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_14(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_14
    }

    pub fn set_maching_weapon_level_upper_white_sign_14(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_14 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_15(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_15
    }

    pub fn set_maching_weapon_level_upper_white_sign_15(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_15 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_16(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_16
    }

    pub fn set_maching_weapon_level_upper_white_sign_16(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_16 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_17(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_17
    }

    pub fn set_maching_weapon_level_upper_white_sign_17(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_17 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_18(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_18
    }

    pub fn set_maching_weapon_level_upper_white_sign_18(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_18 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_19(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_19
    }

    pub fn set_maching_weapon_level_upper_white_sign_19(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_19 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_20(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_20
    }

    pub fn set_maching_weapon_level_upper_white_sign_20(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_20 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_21(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_21
    }

    pub fn set_maching_weapon_level_upper_white_sign_21(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_21 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_22(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_22
    }

    pub fn set_maching_weapon_level_upper_white_sign_22(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_22 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_23(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_23
    }

    pub fn set_maching_weapon_level_upper_white_sign_23(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_23 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_24(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_24
    }

    pub fn set_maching_weapon_level_upper_white_sign_24(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_24 = value;
    }

    pub fn maching_weapon_level_upper_white_sign_25(&self) -> u8 {
        self.maching_weapon_level_upper_white_sign_25
    }

    pub fn set_maching_weapon_level_upper_white_sign_25(&mut self, value: u8) {
        self.maching_weapon_level_upper_white_sign_25 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_11(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_11
    }

    pub fn set_maching_weapon_level_upper_red_sign_11(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_11 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_12(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_12
    }

    pub fn set_maching_weapon_level_upper_red_sign_12(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_12 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_13(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_13
    }

    pub fn set_maching_weapon_level_upper_red_sign_13(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_13 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_14(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_14
    }

    pub fn set_maching_weapon_level_upper_red_sign_14(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_14 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_15(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_15
    }

    pub fn set_maching_weapon_level_upper_red_sign_15(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_15 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_16(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_16
    }

    pub fn set_maching_weapon_level_upper_red_sign_16(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_16 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_17(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_17
    }

    pub fn set_maching_weapon_level_upper_red_sign_17(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_17 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_18(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_18
    }

    pub fn set_maching_weapon_level_upper_red_sign_18(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_18 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_19(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_19
    }

    pub fn set_maching_weapon_level_upper_red_sign_19(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_19 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_20(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_20
    }

    pub fn set_maching_weapon_level_upper_red_sign_20(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_20 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_21(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_21
    }

    pub fn set_maching_weapon_level_upper_red_sign_21(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_21 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_22(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_22
    }

    pub fn set_maching_weapon_level_upper_red_sign_22(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_22 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_23(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_23
    }

    pub fn set_maching_weapon_level_upper_red_sign_23(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_23 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_24(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_24
    }

    pub fn set_maching_weapon_level_upper_red_sign_24(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_24 = value;
    }

    pub fn maching_weapon_level_upper_red_sign_25(&self) -> u8 {
        self.maching_weapon_level_upper_red_sign_25
    }

    pub fn set_maching_weapon_level_upper_red_sign_25(&mut self, value: u8) {
        self.maching_weapon_level_upper_red_sign_25 = value;
    }

    pub fn menu_timezone_start_morning_hour(&self) -> u8 {
        self.menu_timezone_start_morning_hour
    }

    pub fn set_menu_timezone_start_morning_hour(&mut self, value: u8) {
        self.menu_timezone_start_morning_hour = value;
    }

    pub fn menu_timezone_start_morning_minute(&self) -> u8 {
        self.menu_timezone_start_morning_minute
    }

    pub fn set_menu_timezone_start_morning_minute(&mut self, value: u8) {
        self.menu_timezone_start_morning_minute = value;
    }

    pub fn menu_timezone_start_day1_hour(&self) -> u8 {
        self.menu_timezone_start_day1_hour
    }

    pub fn set_menu_timezone_start_day1_hour(&mut self, value: u8) {
        self.menu_timezone_start_day1_hour = value;
    }

    pub fn menu_timezone_start_day1_minute(&self) -> u8 {
        self.menu_timezone_start_day1_minute
    }

    pub fn set_menu_timezone_start_day1_minute(&mut self, value: u8) {
        self.menu_timezone_start_day1_minute = value;
    }

    pub fn menu_timezone_start_day2_hour(&self) -> u8 {
        self.menu_timezone_start_day2_hour
    }

    pub fn set_menu_timezone_start_day2_hour(&mut self, value: u8) {
        self.menu_timezone_start_day2_hour = value;
    }

    pub fn menu_timezone_start_day2_minute(&self) -> u8 {
        self.menu_timezone_start_day2_minute
    }

    pub fn set_menu_timezone_start_day2_minute(&mut self, value: u8) {
        self.menu_timezone_start_day2_minute = value;
    }

    pub fn menu_timezone_start_evening_hour(&self) -> u8 {
        self.menu_timezone_start_evening_hour
    }

    pub fn set_menu_timezone_start_evening_hour(&mut self, value: u8) {
        self.menu_timezone_start_evening_hour = value;
    }

    pub fn menu_timezone_start_evening_minute(&self) -> u8 {
        self.menu_timezone_start_evening_minute
    }

    pub fn set_menu_timezone_start_evening_minute(&mut self, value: u8) {
        self.menu_timezone_start_evening_minute = value;
    }

    pub fn menu_timezone_start_night_hour(&self) -> u8 {
        self.menu_timezone_start_night_hour
    }

    pub fn set_menu_timezone_start_night_hour(&mut self, value: u8) {
        self.menu_timezone_start_night_hour = value;
    }

    pub fn menu_timezone_start_night_minute(&self) -> u8 {
        self.menu_timezone_start_night_minute
    }

    pub fn set_menu_timezone_start_night_minute(&mut self, value: u8) {
        self.menu_timezone_start_night_minute = value;
    }

    pub fn menu_timezone_start_midnight_hour(&self) -> u8 {
        self.menu_timezone_start_midnight_hour
    }

    pub fn set_menu_timezone_start_midnight_hour(&mut self, value: u8) {
        self.menu_timezone_start_midnight_hour = value;
    }

    pub fn menu_timezone_start_midnight_minute(&self) -> u8 {
        self.menu_timezone_start_midnight_minute
    }

    pub fn set_menu_timezone_start_midnight_minute(&mut self, value: u8) {
        self.menu_timezone_start_midnight_minute = value;
    }

    pub fn remote_player_threat_lv_notify_threat_lv(&self) -> u16 {
        self.remote_player_threat_lv_notify_threat_lv
    }

    pub fn set_remote_player_threat_lv_notify_threat_lv(&mut self, value: u16) {
        self.remote_player_threat_lv_notify_threat_lv = value;
    }

    pub fn remote_player_threat_lv_notify_notify_dist(&self) -> f32 {
        self.remote_player_threat_lv_notify_notify_dist
    }

    pub fn set_remote_player_threat_lv_notify_notify_dist(&mut self, value: f32) {
        self.remote_player_threat_lv_notify_notify_dist = value;
    }

    pub fn remote_player_threat_lv_notify_end_notify_dist(&self) -> f32 {
        self.remote_player_threat_lv_notify_end_notify_dist
    }

    pub fn set_remote_player_threat_lv_notify_end_notify_dist(&mut self, value: f32) {
        self.remote_player_threat_lv_notify_end_notify_dist = value;
    }

    pub fn world_map_point_discovery_expand_range(&self) -> f32 {
        self.world_map_point_discovery_expand_range
    }

    pub fn set_world_map_point_discovery_expand_range(&mut self, value: f32) {
        self.world_map_point_discovery_expand_range = value;
    }

    pub fn world_map_point_reentry_expand_range(&self) -> f32 {
        self.world_map_point_reentry_expand_range
    }

    pub fn set_world_map_point_reentry_expand_range(&mut self, value: f32) {
        self.world_map_point_reentry_expand_range = value;
    }

    pub fn remote_player_threat_lv_notify_notify_time(&self) -> u16 {
        self.remote_player_threat_lv_notify_notify_time
    }

    pub fn set_remote_player_threat_lv_notify_notify_time(&mut self, value: u16) {
        self.remote_player_threat_lv_notify_notify_time = value;
    }

    pub fn break_in_a_rebreak_in_goods_num(&self) -> u16 {
        self.break_in_a_rebreak_in_goods_num
    }

    pub fn set_break_in_a_rebreak_in_goods_num(&mut self, value: u16) {
        self.break_in_a_rebreak_in_goods_num = value;
    }

    pub fn break_in_a_rebreak_in_goods_id(&self) -> i32 {
        self.break_in_a_rebreak_in_goods_id
    }

    pub fn set_break_in_a_rebreak_in_goods_id(&mut self, value: i32) {
        self.break_in_a_rebreak_in_goods_id = value;
    }

    pub fn ride_jumpoff_sfx_id(&self) -> i32 {
        self.ride_jumpoff_sfx_id
    }

    pub fn set_ride_jumpoff_sfx_id(&mut self, value: i32) {
        self.ride_jumpoff_sfx_id = value;
    }

    pub fn ride_jumpoff_sfx_height_offset(&self) -> f32 {
        self.ride_jumpoff_sfx_height_offset
    }

    pub fn set_ride_jumpoff_sfx_height_offset(&mut self, value: f32) {
        self.ride_jumpoff_sfx_height_offset = value;
    }

    pub fn near_death_level_decay_time(&self) -> u16 {
        self.near_death_level_decay_time
    }

    pub fn set_near_death_level_decay_time(&mut self, value: u16) {
        self.near_death_level_decay_time = value;
    }

    pub fn ride_jumpoff_sp_effect_id_pc(&self) -> i32 {
        self.ride_jumpoff_sp_effect_id_pc
    }

    pub fn set_ride_jumpoff_sp_effect_id_pc(&mut self, value: i32) {
        self.ride_jumpoff_sp_effect_id_pc = value;
    }

    pub fn unlock_exchange_menu_event_flag_id(&self) -> u32 {
        self.unlock_exchange_menu_event_flag_id
    }

    pub fn set_unlock_exchange_menu_event_flag_id(&mut self, value: u32) {
        self.unlock_exchange_menu_event_flag_id = value;
    }

    pub fn unlock_message_menu_event_flag_id(&self) -> u32 {
        self.unlock_message_menu_event_flag_id
    }

    pub fn set_unlock_message_menu_event_flag_id(&mut self, value: u32) {
        self.unlock_message_menu_event_flag_id = value;
    }

    pub fn break_in_once_a_rebreak_in_goods_num(&self) -> u16 {
        self.break_in_once_a_rebreak_in_goods_num
    }

    pub fn set_break_in_once_a_rebreak_in_goods_num(&mut self, value: u16) {
        self.break_in_once_a_rebreak_in_goods_num = value;
    }

    pub fn break_in_b_rebreak_in_goods_num(&self) -> u16 {
        self.break_in_b_rebreak_in_goods_num
    }

    pub fn set_break_in_b_rebreak_in_goods_num(&mut self, value: u16) {
        self.break_in_b_rebreak_in_goods_num = value;
    }

    pub fn break_in_once_a_rebreak_in_goods_id(&self) -> i32 {
        self.break_in_once_a_rebreak_in_goods_id
    }

    pub fn set_break_in_once_a_rebreak_in_goods_id(&mut self, value: i32) {
        self.break_in_once_a_rebreak_in_goods_id = value;
    }

    pub fn break_in_b_rebreak_in_goods_id(&self) -> i32 {
        self.break_in_b_rebreak_in_goods_id
    }

    pub fn set_break_in_b_rebreak_in_goods_id(&mut self, value: i32) {
        self.break_in_b_rebreak_in_goods_id = value;
    }

    pub fn action_button_input_cancel_time(&self) -> f32 {
        self.action_button_input_cancel_time
    }

    pub fn set_action_button_input_cancel_time(&mut self, value: f32) {
        self.action_button_input_cancel_time = value;
    }

    pub fn block_clear_bonus_delay_time(&self) -> f32 {
        self.block_clear_bonus_delay_time
    }

    pub fn set_block_clear_bonus_delay_time(&mut self, value: f32) {
        self.block_clear_bonus_delay_time = value;
    }

    pub fn bonfire_check_enemy_range(&self) -> f32 {
        self.bonfire_check_enemy_range
    }

    pub fn set_bonfire_check_enemy_range(&mut self, value: f32) {
        self.bonfire_check_enemy_range = value;
    }

    pub fn boss_arena_near_death_duration(&self) -> f32 {
        self.boss_arena_near_death_duration
    }

    pub fn set_boss_arena_near_death_duration(&mut self, value: f32) {
        self.boss_arena_near_death_duration = value;
    }

    pub fn near_death_grace_period_timer_default(&self) -> f32 {
        self.near_death_grace_period_timer_default
    }

    pub fn set_near_death_grace_period_timer_default(&mut self, value: f32) {
        self.near_death_grace_period_timer_default = value;
    }

    pub fn required_revive_progress_level1(&self) -> i32 {
        self.required_revive_progress_level1
    }

    pub fn set_required_revive_progress_level1(&mut self, value: i32) {
        self.required_revive_progress_level1 = value;
    }

    pub fn required_revive_progress_level2(&self) -> i32 {
        self.required_revive_progress_level2
    }

    pub fn set_required_revive_progress_level2(&mut self, value: i32) {
        self.required_revive_progress_level2 = value;
    }

    pub fn required_revive_progress_level3(&self) -> i32 {
        self.required_revive_progress_level3
    }

    pub fn set_required_revive_progress_level3(&mut self, value: i32) {
        self.required_revive_progress_level3 = value;
    }

    pub fn revive_rate_decay_percent_level1(&self) -> f32 {
        self.revive_rate_decay_percent_level1
    }

    pub fn set_revive_rate_decay_percent_level1(&mut self, value: f32) {
        self.revive_rate_decay_percent_level1 = value;
    }

    pub fn revive_rate_decay_percent_level2(&self) -> f32 {
        self.revive_rate_decay_percent_level2
    }

    pub fn set_revive_rate_decay_percent_level2(&mut self, value: f32) {
        self.revive_rate_decay_percent_level2 = value;
    }

    pub fn revive_rate_decay_percent_level3(&self) -> f32 {
        self.revive_rate_decay_percent_level3
    }

    pub fn set_revive_rate_decay_percent_level3(&mut self, value: f32) {
        self.revive_rate_decay_percent_level3 = value;
    }

    pub fn new_arrival_mark_flag(&self) -> i32 {
        self.new_arrival_mark_flag
    }

    pub fn set_new_arrival_mark_flag(&mut self, value: i32) {
        self.new_arrival_mark_flag = value;
    }

    pub fn night_time_flag(&self) -> i32 {
        self.night_time_flag
    }

    pub fn set_night_time_flag(&mut self, value: i32) {
        self.night_time_flag = value;
    }

    pub fn training_camp_tutorial_flag(&self) -> i32 {
        self.training_camp_tutorial_flag
    }

    pub fn set_training_camp_tutorial_flag(&mut self, value: i32) {
        self.training_camp_tutorial_flag = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GESTURE_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    item_id: i32,
    msg_anim_id: i32,
    bits_c: u8,
    pad1: [u8; 3],
}

impl ParamDef for GESTURE_PARAM_ST {
    const NAME: &str = "GESTURE_PARAM_ST";
}

impl GESTURE_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn item_id(&self) -> i32 {
        self.item_id
    }

    pub fn set_item_id(&mut self, value: i32) {
        self.item_id = value;
    }

    pub fn msg_anim_id(&self) -> i32 {
        self.msg_anim_id
    }

    pub fn set_msg_anim_id(&mut self, value: i32) {
        self.msg_anim_id = value;
    }

    #[allow(clippy::identity_op)]
    pub fn cannot_use_riding(&self) -> u8 {
        (self.bits_c >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cannot_use_riding(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GPARAM_REF_SETTINGS_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    ref_target_map_id: i32,
    reserve: [u8; 24],
}

impl ParamDef for GPARAM_REF_SETTINGS_PARAM_ST {
    const NAME: &str = "GPARAM_REF_SETTINGS_PARAM_ST";
}

impl GPARAM_REF_SETTINGS_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn ref_target_map_id(&self) -> i32 {
        self.ref_target_map_id
    }

    pub fn set_ref_target_map_id(&mut self, value: i32) {
        self.ref_target_map_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GRAPHICS_COMMON_PARAM_ST {
    hit_bullet_decal_offset_hit_ins: f32,
    reserved02: [u8; 8],
    chara_wet_decal_fade_range: f32,
    reserved04: [u8; 240],
}

impl ParamDef for GRAPHICS_COMMON_PARAM_ST {
    const NAME: &str = "GRAPHICS_COMMON_PARAM_ST";
}

impl GRAPHICS_COMMON_PARAM_ST {
    pub fn hit_bullet_decal_offset_hit_ins(&self) -> f32 {
        self.hit_bullet_decal_offset_hit_ins
    }

    pub fn set_hit_bullet_decal_offset_hit_ins(&mut self, value: f32) {
        self.hit_bullet_decal_offset_hit_ins = value;
    }

    pub fn chara_wet_decal_fade_range(&self) -> f32 {
        self.chara_wet_decal_fade_range
    }

    pub fn set_chara_wet_decal_fade_range(&mut self, value: f32) {
        self.chara_wet_decal_fade_range = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GRASS_LOD_RANGE_PARAM_ST {
    lod0_range: f32,
    lod0_play: f32,
    lod1_range: f32,
    lod1_play: f32,
    lod2_range: f32,
    lod2_play: f32,
}

impl ParamDef for GRASS_LOD_RANGE_PARAM_ST {
    const NAME: &str = "GRASS_LOD_RANGE_PARAM_ST";
}

impl GRASS_LOD_RANGE_PARAM_ST {
    pub fn lod0_range(&self) -> f32 {
        self.lod0_range
    }

    pub fn set_lod0_range(&mut self, value: f32) {
        self.lod0_range = value;
    }

    pub fn lod0_play(&self) -> f32 {
        self.lod0_play
    }

    pub fn set_lod0_play(&mut self, value: f32) {
        self.lod0_play = value;
    }

    pub fn lod1_range(&self) -> f32 {
        self.lod1_range
    }

    pub fn set_lod1_range(&mut self, value: f32) {
        self.lod1_range = value;
    }

    pub fn lod1_play(&self) -> f32 {
        self.lod1_play
    }

    pub fn set_lod1_play(&mut self, value: f32) {
        self.lod1_play = value;
    }

    pub fn lod2_range(&self) -> f32 {
        self.lod2_range
    }

    pub fn set_lod2_range(&mut self, value: f32) {
        self.lod2_range = value;
    }

    pub fn lod2_play(&self) -> f32 {
        self.lod2_play
    }

    pub fn set_lod2_play(&mut self, value: f32) {
        self.lod2_play = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct GRASS_TYPE_PARAM_ST {
    lod_range: u16,
    lod0_cluster_type: u8,
    lod1_cluster_type: u8,
    lod2_cluster_type: u8,
    pad0: [u8; 2],
    distribution_type: u8,
    base_density: f32,
    model0_name: [u16; 16],
    flat_texture_name: [u16; 32],
    billboard_texture_name: [u16; 32],
    normal_influence: u8,
    inclination_max: u8,
    inclination_jitter: u8,
    scale_base_min: u8,
    scale_base_max: u8,
    scale_height_min: u8,
    scale_height_max: u8,
    color_shade1_r: u8,
    color_shade1_g: u8,
    color_shade1_b: u8,
    color_shade2_r: u8,
    color_shade2_g: u8,
    color_shade2_b: u8,
    flat_split_type: u8,
    flat_blade_count: u8,
    flat_slant: i8,
    flat_radius: f32,
    cast_shadow: u8,
    wind_amplitude: u8,
    pad1: [u8; 1],
    wind_cycle: u8,
    orientation_angle: f32,
    orientation_range: f32,
    spacing: f32,
    dithering: u8,
    pad: [u8; 3],
    simple_model_name: [u16; 16],
    model1_name: [u16; 16],
}

impl ParamDef for GRASS_TYPE_PARAM_ST {
    const NAME: &str = "GRASS_TYPE_PARAM_ST";
}

impl GRASS_TYPE_PARAM_ST {
    pub fn lod_range(&self) -> u16 {
        self.lod_range
    }

    pub fn set_lod_range(&mut self, value: u16) {
        self.lod_range = value;
    }

    pub fn lod0_cluster_type(&self) -> u8 {
        self.lod0_cluster_type
    }

    pub fn set_lod0_cluster_type(&mut self, value: u8) {
        self.lod0_cluster_type = value;
    }

    pub fn lod1_cluster_type(&self) -> u8 {
        self.lod1_cluster_type
    }

    pub fn set_lod1_cluster_type(&mut self, value: u8) {
        self.lod1_cluster_type = value;
    }

    pub fn lod2_cluster_type(&self) -> u8 {
        self.lod2_cluster_type
    }

    pub fn set_lod2_cluster_type(&mut self, value: u8) {
        self.lod2_cluster_type = value;
    }

    pub fn distribution_type(&self) -> u8 {
        self.distribution_type
    }

    pub fn set_distribution_type(&mut self, value: u8) {
        self.distribution_type = value;
    }

    pub fn base_density(&self) -> f32 {
        self.base_density
    }

    pub fn set_base_density(&mut self, value: f32) {
        self.base_density = value;
    }

    pub fn model0_name(&self) -> &[u16; 16] {
        &self.model0_name
    }

    pub fn set_model0_name(&mut self, value: [u16; 16]) {
        self.model0_name = value;
    }

    pub fn flat_texture_name(&self) -> &[u16; 32] {
        &self.flat_texture_name
    }

    pub fn set_flat_texture_name(&mut self, value: [u16; 32]) {
        self.flat_texture_name = value;
    }

    pub fn billboard_texture_name(&self) -> &[u16; 32] {
        &self.billboard_texture_name
    }

    pub fn set_billboard_texture_name(&mut self, value: [u16; 32]) {
        self.billboard_texture_name = value;
    }

    pub fn normal_influence(&self) -> u8 {
        self.normal_influence
    }

    pub fn set_normal_influence(&mut self, value: u8) {
        self.normal_influence = value;
    }

    pub fn inclination_max(&self) -> u8 {
        self.inclination_max
    }

    pub fn set_inclination_max(&mut self, value: u8) {
        self.inclination_max = value;
    }

    pub fn inclination_jitter(&self) -> u8 {
        self.inclination_jitter
    }

    pub fn set_inclination_jitter(&mut self, value: u8) {
        self.inclination_jitter = value;
    }

    pub fn scale_base_min(&self) -> u8 {
        self.scale_base_min
    }

    pub fn set_scale_base_min(&mut self, value: u8) {
        self.scale_base_min = value;
    }

    pub fn scale_base_max(&self) -> u8 {
        self.scale_base_max
    }

    pub fn set_scale_base_max(&mut self, value: u8) {
        self.scale_base_max = value;
    }

    pub fn scale_height_min(&self) -> u8 {
        self.scale_height_min
    }

    pub fn set_scale_height_min(&mut self, value: u8) {
        self.scale_height_min = value;
    }

    pub fn scale_height_max(&self) -> u8 {
        self.scale_height_max
    }

    pub fn set_scale_height_max(&mut self, value: u8) {
        self.scale_height_max = value;
    }

    pub fn color_shade1_r(&self) -> u8 {
        self.color_shade1_r
    }

    pub fn set_color_shade1_r(&mut self, value: u8) {
        self.color_shade1_r = value;
    }

    pub fn color_shade1_g(&self) -> u8 {
        self.color_shade1_g
    }

    pub fn set_color_shade1_g(&mut self, value: u8) {
        self.color_shade1_g = value;
    }

    pub fn color_shade1_b(&self) -> u8 {
        self.color_shade1_b
    }

    pub fn set_color_shade1_b(&mut self, value: u8) {
        self.color_shade1_b = value;
    }

    pub fn color_shade2_r(&self) -> u8 {
        self.color_shade2_r
    }

    pub fn set_color_shade2_r(&mut self, value: u8) {
        self.color_shade2_r = value;
    }

    pub fn color_shade2_g(&self) -> u8 {
        self.color_shade2_g
    }

    pub fn set_color_shade2_g(&mut self, value: u8) {
        self.color_shade2_g = value;
    }

    pub fn color_shade2_b(&self) -> u8 {
        self.color_shade2_b
    }

    pub fn set_color_shade2_b(&mut self, value: u8) {
        self.color_shade2_b = value;
    }

    pub fn flat_split_type(&self) -> u8 {
        self.flat_split_type
    }

    pub fn set_flat_split_type(&mut self, value: u8) {
        self.flat_split_type = value;
    }

    pub fn flat_blade_count(&self) -> u8 {
        self.flat_blade_count
    }

    pub fn set_flat_blade_count(&mut self, value: u8) {
        self.flat_blade_count = value;
    }

    pub fn flat_slant(&self) -> i8 {
        self.flat_slant
    }

    pub fn set_flat_slant(&mut self, value: i8) {
        self.flat_slant = value;
    }

    pub fn flat_radius(&self) -> f32 {
        self.flat_radius
    }

    pub fn set_flat_radius(&mut self, value: f32) {
        self.flat_radius = value;
    }

    pub fn cast_shadow(&self) -> u8 {
        self.cast_shadow
    }

    pub fn set_cast_shadow(&mut self, value: u8) {
        self.cast_shadow = value;
    }

    pub fn wind_amplitude(&self) -> u8 {
        self.wind_amplitude
    }

    pub fn set_wind_amplitude(&mut self, value: u8) {
        self.wind_amplitude = value;
    }

    pub fn wind_cycle(&self) -> u8 {
        self.wind_cycle
    }

    pub fn set_wind_cycle(&mut self, value: u8) {
        self.wind_cycle = value;
    }

    pub fn orientation_angle(&self) -> f32 {
        self.orientation_angle
    }

    pub fn set_orientation_angle(&mut self, value: f32) {
        self.orientation_angle = value;
    }

    pub fn orientation_range(&self) -> f32 {
        self.orientation_range
    }

    pub fn set_orientation_range(&mut self, value: f32) {
        self.orientation_range = value;
    }

    pub fn spacing(&self) -> f32 {
        self.spacing
    }

    pub fn set_spacing(&mut self, value: f32) {
        self.spacing = value;
    }

    pub fn dithering(&self) -> u8 {
        self.dithering
    }

    pub fn set_dithering(&mut self, value: u8) {
        self.dithering = value;
    }

    pub fn simple_model_name(&self) -> &[u16; 16] {
        &self.simple_model_name
    }

    pub fn set_simple_model_name(&mut self, value: [u16; 16]) {
        self.simple_model_name = value;
    }

    pub fn model1_name(&self) -> &[u16; 16] {
        &self.model1_name
    }

    pub fn set_model1_name(&mut self, value: [u16; 16]) {
        self.model1_name = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct HERO_MENU_CAMERA_PARAM_ST {
    unknown_0: i32,
    unknown_1: f32,
    unknown_2: f32,
    unknown_3: i32,
    unknown_4: f32,
    unknown_5: f32,
    unknown_6: f32,
    unknown_7: f32,
    unknown_8: f32,
    unknown_9: f32,
    unknown_10: f32,
    unknown_11: f32,
}

impl ParamDef for HERO_MENU_CAMERA_PARAM_ST {
    const NAME: &str = "HERO_MENU_CAMERA_PARAM_ST";
}

impl HERO_MENU_CAMERA_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct HERO_MENU_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    chara_init_param_id: i32,
    unknown_2: i32,
    unknown_3: i32,
    hero_menu_camera_id: i32,
    unknown_5: i32,
    unknown_6: f32,
    unknown_7: f32,
}

impl ParamDef for HERO_MENU_PARAM_ST {
    const NAME: &str = "HERO_MENU_PARAM_ST";
}

impl HERO_MENU_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn chara_init_param_id(&self) -> i32 {
        self.chara_init_param_id
    }

    pub fn set_chara_init_param_id(&mut self, value: i32) {
        self.chara_init_param_id = value;
    }

    pub fn hero_menu_camera_id(&self) -> i32 {
        self.hero_menu_camera_id
    }

    pub fn set_hero_menu_camera_id(&mut self, value: i32) {
        self.hero_menu_camera_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct HERO_OPERATION_EXPLANATION_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    hero_id: u8,
    display_slot: u8,
    mid_padding: [u8; 2],
    hint_text_id: i32,
    sp_effect_id: i32,
    shortcut_text_id: i32,
}

impl ParamDef for HERO_OPERATION_EXPLANATION_PARAM_ST {
    const NAME: &str = "HERO_OPERATION_EXPLANATION_PARAM_ST";
}

impl HERO_OPERATION_EXPLANATION_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn hero_id(&self) -> u8 {
        self.hero_id
    }

    pub fn set_hero_id(&mut self, value: u8) {
        self.hero_id = value;
    }

    pub fn display_slot(&self) -> u8 {
        self.display_slot
    }

    pub fn set_display_slot(&mut self, value: u8) {
        self.display_slot = value;
    }

    pub fn hint_text_id(&self) -> i32 {
        self.hint_text_id
    }

    pub fn set_hint_text_id(&mut self, value: i32) {
        self.hint_text_id = 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;
    }

    pub fn shortcut_text_id(&self) -> i32 {
        self.shortcut_text_id
    }

    pub fn set_shortcut_text_id(&mut self, value: i32) {
        self.shortcut_text_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct HERO_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    unknown_1: i32,
    unknown_2: i32,
    proper_portrait_id: i32,
    simple_portrait_id: i32,
    character_unlock_flag: i32,
    character_name_id: i32,
    character_skill_title_id: i32,
    character_skill_summary_id: i32,
    character_skill_icon_id: i32,
    ultimate_art_title_id: i32,
    ultimate_art_summary_id: i32,
    ultimate_art_icon_id: i32,
    background_description_id: i32,
    mid_padding: [u8; 40],
    unknown_24: i32,
    unknown_25: i32,
    unknown_26: i32,
    hero_status_param_id: i32,
    unknown_27: i32,
    character_ability_cooldown: f32,
    character_ability_usage_count: i32,
    passive_ability_title_id: i32,
    passive_ability_summary_id: i32,
    passive_ability_icon_id: i32,
    small_hud_icon_id: i32,
    character_skill_description_id: i32,
    ultimate_art_description_id: i32,
    passive_ability_description_id: i32,
    unknown_38: i32,
    unknown_39: i32,
}

impl ParamDef for HERO_PARAM_ST {
    const NAME: &str = "HERO_PARAM_ST";
}

impl HERO_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn proper_portrait_id(&self) -> i32 {
        self.proper_portrait_id
    }

    pub fn set_proper_portrait_id(&mut self, value: i32) {
        self.proper_portrait_id = value;
    }

    pub fn simple_portrait_id(&self) -> i32 {
        self.simple_portrait_id
    }

    pub fn set_simple_portrait_id(&mut self, value: i32) {
        self.simple_portrait_id = value;
    }

    pub fn character_unlock_flag(&self) -> i32 {
        self.character_unlock_flag
    }

    pub fn set_character_unlock_flag(&mut self, value: i32) {
        self.character_unlock_flag = value;
    }

    pub fn character_name_id(&self) -> i32 {
        self.character_name_id
    }

    pub fn set_character_name_id(&mut self, value: i32) {
        self.character_name_id = value;
    }

    pub fn character_skill_title_id(&self) -> i32 {
        self.character_skill_title_id
    }

    pub fn set_character_skill_title_id(&mut self, value: i32) {
        self.character_skill_title_id = value;
    }

    pub fn character_skill_summary_id(&self) -> i32 {
        self.character_skill_summary_id
    }

    pub fn set_character_skill_summary_id(&mut self, value: i32) {
        self.character_skill_summary_id = value;
    }

    pub fn character_skill_icon_id(&self) -> i32 {
        self.character_skill_icon_id
    }

    pub fn set_character_skill_icon_id(&mut self, value: i32) {
        self.character_skill_icon_id = value;
    }

    pub fn ultimate_art_title_id(&self) -> i32 {
        self.ultimate_art_title_id
    }

    pub fn set_ultimate_art_title_id(&mut self, value: i32) {
        self.ultimate_art_title_id = value;
    }

    pub fn ultimate_art_summary_id(&self) -> i32 {
        self.ultimate_art_summary_id
    }

    pub fn set_ultimate_art_summary_id(&mut self, value: i32) {
        self.ultimate_art_summary_id = value;
    }

    pub fn ultimate_art_icon_id(&self) -> i32 {
        self.ultimate_art_icon_id
    }

    pub fn set_ultimate_art_icon_id(&mut self, value: i32) {
        self.ultimate_art_icon_id = value;
    }

    pub fn background_description_id(&self) -> i32 {
        self.background_description_id
    }

    pub fn set_background_description_id(&mut self, value: i32) {
        self.background_description_id = value;
    }

    pub fn hero_status_param_id(&self) -> i32 {
        self.hero_status_param_id
    }

    pub fn set_hero_status_param_id(&mut self, value: i32) {
        self.hero_status_param_id = value;
    }

    pub fn character_ability_cooldown(&self) -> f32 {
        self.character_ability_cooldown
    }

    pub fn set_character_ability_cooldown(&mut self, value: f32) {
        self.character_ability_cooldown = value;
    }

    pub fn character_ability_usage_count(&self) -> i32 {
        self.character_ability_usage_count
    }

    pub fn set_character_ability_usage_count(&mut self, value: i32) {
        self.character_ability_usage_count = value;
    }

    pub fn passive_ability_title_id(&self) -> i32 {
        self.passive_ability_title_id
    }

    pub fn set_passive_ability_title_id(&mut self, value: i32) {
        self.passive_ability_title_id = value;
    }

    pub fn passive_ability_summary_id(&self) -> i32 {
        self.passive_ability_summary_id
    }

    pub fn set_passive_ability_summary_id(&mut self, value: i32) {
        self.passive_ability_summary_id = value;
    }

    pub fn passive_ability_icon_id(&self) -> i32 {
        self.passive_ability_icon_id
    }

    pub fn set_passive_ability_icon_id(&mut self, value: i32) {
        self.passive_ability_icon_id = value;
    }

    pub fn small_hud_icon_id(&self) -> i32 {
        self.small_hud_icon_id
    }

    pub fn set_small_hud_icon_id(&mut self, value: i32) {
        self.small_hud_icon_id = value;
    }

    pub fn character_skill_description_id(&self) -> i32 {
        self.character_skill_description_id
    }

    pub fn set_character_skill_description_id(&mut self, value: i32) {
        self.character_skill_description_id = value;
    }

    pub fn ultimate_art_description_id(&self) -> i32 {
        self.ultimate_art_description_id
    }

    pub fn set_ultimate_art_description_id(&mut self, value: i32) {
        self.ultimate_art_description_id = value;
    }

    pub fn passive_ability_description_id(&self) -> i32 {
        self.passive_ability_description_id
    }

    pub fn set_passive_ability_description_id(&mut self, value: i32) {
        self.passive_ability_description_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct HERO_STATUS_PARAM {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    total_level: u16,
    stat_vigor: u8,
    stat_mind: u8,
    stat_endurance: u8,
    stat_strength: u8,
    stat_dexterity: u8,
    stat_intelligence: u8,
    stat_faith: u8,
    stat_arcane: u8,
    unknown_3c: u8,
    unknown_3d: u8,
    unknown_4: f32,
    unknown_5: f32,
    unknown_6: i32,
}

impl ParamDef for HERO_STATUS_PARAM {
    const NAME: &str = "HERO_STATUS_PARAM";
}

impl HERO_STATUS_PARAM {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn total_level(&self) -> u16 {
        self.total_level
    }

    pub fn set_total_level(&mut self, value: u16) {
        self.total_level = value;
    }

    pub fn stat_vigor(&self) -> u8 {
        self.stat_vigor
    }

    pub fn set_stat_vigor(&mut self, value: u8) {
        self.stat_vigor = value;
    }

    pub fn stat_mind(&self) -> u8 {
        self.stat_mind
    }

    pub fn set_stat_mind(&mut self, value: u8) {
        self.stat_mind = value;
    }

    pub fn stat_endurance(&self) -> u8 {
        self.stat_endurance
    }

    pub fn set_stat_endurance(&mut self, value: u8) {
        self.stat_endurance = value;
    }

    pub fn stat_strength(&self) -> u8 {
        self.stat_strength
    }

    pub fn set_stat_strength(&mut self, value: u8) {
        self.stat_strength = value;
    }

    pub fn stat_dexterity(&self) -> u8 {
        self.stat_dexterity
    }

    pub fn set_stat_dexterity(&mut self, value: u8) {
        self.stat_dexterity = value;
    }

    pub fn stat_intelligence(&self) -> u8 {
        self.stat_intelligence
    }

    pub fn set_stat_intelligence(&mut self, value: u8) {
        self.stat_intelligence = value;
    }

    pub fn stat_faith(&self) -> u8 {
        self.stat_faith
    }

    pub fn set_stat_faith(&mut self, value: u8) {
        self.stat_faith = value;
    }

    pub fn stat_arcane(&self) -> u8 {
        self.stat_arcane
    }

    pub fn set_stat_arcane(&mut self, value: u8) {
        self.stat_arcane = 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,
    pad: [u8; 4],
    atk_none_1: i16,
    atk_none_2: i16,
    reserve: [u8; 52],
}

impl ParamDef for HIT_EFFECT_SFX_CONCEPT_PARAM_ST {
    const NAME: &str = "HIT_EFFECT_SFX_CONCEPT_PARAM_ST";
}

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";
}

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,
    pad2: [u8; 6],
    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,
    replace_mateiral_id_rain: i16,
    pad4: [u8; 2],
    sp_effect_id_for_wet00: i32,
    sp_effect_id_for_wet01: i32,
    sp_effect_id_for_wet02: i32,
    sp_effect_id_for_wet03: i32,
    sp_effect_id_for_wet04: i32,
}

impl ParamDef for HIT_MTRL_PARAM_ST {
    const NAME: &str = "HIT_MTRL_PARAM_ST";
}

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 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;
    }

    pub fn replace_mateiral_id_rain(&self) -> i16 {
        self.replace_mateiral_id_rain
    }

    pub fn set_replace_mateiral_id_rain(&mut self, value: i16) {
        self.replace_mateiral_id_rain = value;
    }

    pub fn sp_effect_id_for_wet00(&self) -> i32 {
        self.sp_effect_id_for_wet00
    }

    pub fn set_sp_effect_id_for_wet00(&mut self, value: i32) {
        self.sp_effect_id_for_wet00 = value;
    }

    pub fn sp_effect_id_for_wet01(&self) -> i32 {
        self.sp_effect_id_for_wet01
    }

    pub fn set_sp_effect_id_for_wet01(&mut self, value: i32) {
        self.sp_effect_id_for_wet01 = value;
    }

    pub fn sp_effect_id_for_wet02(&self) -> i32 {
        self.sp_effect_id_for_wet02
    }

    pub fn set_sp_effect_id_for_wet02(&mut self, value: i32) {
        self.sp_effect_id_for_wet02 = value;
    }

    pub fn sp_effect_id_for_wet03(&self) -> i32 {
        self.sp_effect_id_for_wet03
    }

    pub fn set_sp_effect_id_for_wet03(&mut self, value: i32) {
        self.sp_effect_id_for_wet03 = value;
    }

    pub fn sp_effect_id_for_wet04(&self) -> i32 {
        self.sp_effect_id_for_wet04
    }

    pub fn set_sp_effect_id_for_wet04(&mut self, value: i32) {
        self.sp_effect_id_for_wet04 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ITEMLOT_PARAM_ST {
    lot_item_id01: i32,
    lot_item_id02: i32,
    lot_item_id03: i32,
    lot_item_id04: i32,
    lot_item_id05: i32,
    lot_item_id06: i32,
    lot_item_id07: i32,
    lot_item_id08: i32,
    lot_item_category01: i32,
    lot_item_category02: i32,
    lot_item_category03: i32,
    lot_item_category04: i32,
    lot_item_category05: i32,
    lot_item_category06: i32,
    lot_item_category07: i32,
    lot_item_category08: i32,
    lot_item_base_point01: u16,
    lot_item_base_point02: u16,
    lot_item_base_point03: u16,
    lot_item_base_point04: u16,
    lot_item_base_point05: u16,
    lot_item_base_point06: u16,
    lot_item_base_point07: u16,
    lot_item_base_point08: u16,
    cumulate_lot_point01: u16,
    cumulate_lot_point02: u16,
    cumulate_lot_point03: u16,
    cumulate_lot_point04: u16,
    cumulate_lot_point05: u16,
    cumulate_lot_point06: u16,
    cumulate_lot_point07: u16,
    cumulate_lot_point08: u16,
    get_item_flag_id01: u32,
    get_item_flag_id02: u32,
    get_item_flag_id03: u32,
    get_item_flag_id04: u32,
    get_item_flag_id05: u32,
    get_item_flag_id06: u32,
    get_item_flag_id07: u32,
    get_item_flag_id08: u32,
    get_item_flag_id: u32,
    cumulate_num_flag_id: u32,
    cumulate_num_max: u8,
    lot_item_rarity: i8,
    lot_item_num01: u8,
    lot_item_num02: u8,
    lot_item_num03: u8,
    lot_item_num04: u8,
    lot_item_num05: u8,
    lot_item_num06: u8,
    lot_item_num07: u8,
    lot_item_num08: u8,
    bits_92: u8,
    bits_93: u8,
    game_clear_offset: i8,
    bits_95: u8,
    end_padding: [u8; 66],
}

impl ParamDef for ITEMLOT_PARAM_ST {
    const NAME: &str = "ITEMLOT_PARAM_ST";
}

impl ITEMLOT_PARAM_ST {
    pub fn lot_item_id01(&self) -> i32 {
        self.lot_item_id01
    }

    pub fn set_lot_item_id01(&mut self, value: i32) {
        self.lot_item_id01 = value;
    }

    pub fn lot_item_id02(&self) -> i32 {
        self.lot_item_id02
    }

    pub fn set_lot_item_id02(&mut self, value: i32) {
        self.lot_item_id02 = value;
    }

    pub fn lot_item_id03(&self) -> i32 {
        self.lot_item_id03
    }

    pub fn set_lot_item_id03(&mut self, value: i32) {
        self.lot_item_id03 = value;
    }

    pub fn lot_item_id04(&self) -> i32 {
        self.lot_item_id04
    }

    pub fn set_lot_item_id04(&mut self, value: i32) {
        self.lot_item_id04 = value;
    }

    pub fn lot_item_id05(&self) -> i32 {
        self.lot_item_id05
    }

    pub fn set_lot_item_id05(&mut self, value: i32) {
        self.lot_item_id05 = value;
    }

    pub fn lot_item_id06(&self) -> i32 {
        self.lot_item_id06
    }

    pub fn set_lot_item_id06(&mut self, value: i32) {
        self.lot_item_id06 = value;
    }

    pub fn lot_item_id07(&self) -> i32 {
        self.lot_item_id07
    }

    pub fn set_lot_item_id07(&mut self, value: i32) {
        self.lot_item_id07 = value;
    }

    pub fn lot_item_id08(&self) -> i32 {
        self.lot_item_id08
    }

    pub fn set_lot_item_id08(&mut self, value: i32) {
        self.lot_item_id08 = value;
    }

    pub fn lot_item_category01(&self) -> i32 {
        self.lot_item_category01
    }

    pub fn set_lot_item_category01(&mut self, value: i32) {
        self.lot_item_category01 = value;
    }

    pub fn lot_item_category02(&self) -> i32 {
        self.lot_item_category02
    }

    pub fn set_lot_item_category02(&mut self, value: i32) {
        self.lot_item_category02 = value;
    }

    pub fn lot_item_category03(&self) -> i32 {
        self.lot_item_category03
    }

    pub fn set_lot_item_category03(&mut self, value: i32) {
        self.lot_item_category03 = value;
    }

    pub fn lot_item_category04(&self) -> i32 {
        self.lot_item_category04
    }

    pub fn set_lot_item_category04(&mut self, value: i32) {
        self.lot_item_category04 = value;
    }

    pub fn lot_item_category05(&self) -> i32 {
        self.lot_item_category05
    }

    pub fn set_lot_item_category05(&mut self, value: i32) {
        self.lot_item_category05 = value;
    }

    pub fn lot_item_category06(&self) -> i32 {
        self.lot_item_category06
    }

    pub fn set_lot_item_category06(&mut self, value: i32) {
        self.lot_item_category06 = value;
    }

    pub fn lot_item_category07(&self) -> i32 {
        self.lot_item_category07
    }

    pub fn set_lot_item_category07(&mut self, value: i32) {
        self.lot_item_category07 = value;
    }

    pub fn lot_item_category08(&self) -> i32 {
        self.lot_item_category08
    }

    pub fn set_lot_item_category08(&mut self, value: i32) {
        self.lot_item_category08 = value;
    }

    pub fn lot_item_base_point01(&self) -> u16 {
        self.lot_item_base_point01
    }

    pub fn set_lot_item_base_point01(&mut self, value: u16) {
        self.lot_item_base_point01 = value;
    }

    pub fn lot_item_base_point02(&self) -> u16 {
        self.lot_item_base_point02
    }

    pub fn set_lot_item_base_point02(&mut self, value: u16) {
        self.lot_item_base_point02 = value;
    }

    pub fn lot_item_base_point03(&self) -> u16 {
        self.lot_item_base_point03
    }

    pub fn set_lot_item_base_point03(&mut self, value: u16) {
        self.lot_item_base_point03 = value;
    }

    pub fn lot_item_base_point04(&self) -> u16 {
        self.lot_item_base_point04
    }

    pub fn set_lot_item_base_point04(&mut self, value: u16) {
        self.lot_item_base_point04 = value;
    }

    pub fn lot_item_base_point05(&self) -> u16 {
        self.lot_item_base_point05
    }

    pub fn set_lot_item_base_point05(&mut self, value: u16) {
        self.lot_item_base_point05 = value;
    }

    pub fn lot_item_base_point06(&self) -> u16 {
        self.lot_item_base_point06
    }

    pub fn set_lot_item_base_point06(&mut self, value: u16) {
        self.lot_item_base_point06 = value;
    }

    pub fn lot_item_base_point07(&self) -> u16 {
        self.lot_item_base_point07
    }

    pub fn set_lot_item_base_point07(&mut self, value: u16) {
        self.lot_item_base_point07 = value;
    }

    pub fn lot_item_base_point08(&self) -> u16 {
        self.lot_item_base_point08
    }

    pub fn set_lot_item_base_point08(&mut self, value: u16) {
        self.lot_item_base_point08 = value;
    }

    pub fn cumulate_lot_point01(&self) -> u16 {
        self.cumulate_lot_point01
    }

    pub fn set_cumulate_lot_point01(&mut self, value: u16) {
        self.cumulate_lot_point01 = value;
    }

    pub fn cumulate_lot_point02(&self) -> u16 {
        self.cumulate_lot_point02
    }

    pub fn set_cumulate_lot_point02(&mut self, value: u16) {
        self.cumulate_lot_point02 = value;
    }

    pub fn cumulate_lot_point03(&self) -> u16 {
        self.cumulate_lot_point03
    }

    pub fn set_cumulate_lot_point03(&mut self, value: u16) {
        self.cumulate_lot_point03 = value;
    }

    pub fn cumulate_lot_point04(&self) -> u16 {
        self.cumulate_lot_point04
    }

    pub fn set_cumulate_lot_point04(&mut self, value: u16) {
        self.cumulate_lot_point04 = value;
    }

    pub fn cumulate_lot_point05(&self) -> u16 {
        self.cumulate_lot_point05
    }

    pub fn set_cumulate_lot_point05(&mut self, value: u16) {
        self.cumulate_lot_point05 = value;
    }

    pub fn cumulate_lot_point06(&self) -> u16 {
        self.cumulate_lot_point06
    }

    pub fn set_cumulate_lot_point06(&mut self, value: u16) {
        self.cumulate_lot_point06 = value;
    }

    pub fn cumulate_lot_point07(&self) -> u16 {
        self.cumulate_lot_point07
    }

    pub fn set_cumulate_lot_point07(&mut self, value: u16) {
        self.cumulate_lot_point07 = value;
    }

    pub fn cumulate_lot_point08(&self) -> u16 {
        self.cumulate_lot_point08
    }

    pub fn set_cumulate_lot_point08(&mut self, value: u16) {
        self.cumulate_lot_point08 = value;
    }

    pub fn get_item_flag_id01(&self) -> u32 {
        self.get_item_flag_id01
    }

    pub fn set_get_item_flag_id01(&mut self, value: u32) {
        self.get_item_flag_id01 = value;
    }

    pub fn get_item_flag_id02(&self) -> u32 {
        self.get_item_flag_id02
    }

    pub fn set_get_item_flag_id02(&mut self, value: u32) {
        self.get_item_flag_id02 = value;
    }

    pub fn get_item_flag_id03(&self) -> u32 {
        self.get_item_flag_id03
    }

    pub fn set_get_item_flag_id03(&mut self, value: u32) {
        self.get_item_flag_id03 = value;
    }

    pub fn get_item_flag_id04(&self) -> u32 {
        self.get_item_flag_id04
    }

    pub fn set_get_item_flag_id04(&mut self, value: u32) {
        self.get_item_flag_id04 = value;
    }

    pub fn get_item_flag_id05(&self) -> u32 {
        self.get_item_flag_id05
    }

    pub fn set_get_item_flag_id05(&mut self, value: u32) {
        self.get_item_flag_id05 = value;
    }

    pub fn get_item_flag_id06(&self) -> u32 {
        self.get_item_flag_id06
    }

    pub fn set_get_item_flag_id06(&mut self, value: u32) {
        self.get_item_flag_id06 = value;
    }

    pub fn get_item_flag_id07(&self) -> u32 {
        self.get_item_flag_id07
    }

    pub fn set_get_item_flag_id07(&mut self, value: u32) {
        self.get_item_flag_id07 = value;
    }

    pub fn get_item_flag_id08(&self) -> u32 {
        self.get_item_flag_id08
    }

    pub fn set_get_item_flag_id08(&mut self, value: u32) {
        self.get_item_flag_id08 = value;
    }

    pub fn get_item_flag_id(&self) -> u32 {
        self.get_item_flag_id
    }

    pub fn set_get_item_flag_id(&mut self, value: u32) {
        self.get_item_flag_id = value;
    }

    pub fn cumulate_num_flag_id(&self) -> u32 {
        self.cumulate_num_flag_id
    }

    pub fn set_cumulate_num_flag_id(&mut self, value: u32) {
        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) -> i8 {
        self.lot_item_rarity
    }

    pub fn set_lot_item_rarity(&mut self, value: i8) {
        self.lot_item_rarity = value;
    }

    pub fn lot_item_num01(&self) -> u8 {
        self.lot_item_num01
    }

    pub fn set_lot_item_num01(&mut self, value: u8) {
        self.lot_item_num01 = value;
    }

    pub fn lot_item_num02(&self) -> u8 {
        self.lot_item_num02
    }

    pub fn set_lot_item_num02(&mut self, value: u8) {
        self.lot_item_num02 = value;
    }

    pub fn lot_item_num03(&self) -> u8 {
        self.lot_item_num03
    }

    pub fn set_lot_item_num03(&mut self, value: u8) {
        self.lot_item_num03 = value;
    }

    pub fn lot_item_num04(&self) -> u8 {
        self.lot_item_num04
    }

    pub fn set_lot_item_num04(&mut self, value: u8) {
        self.lot_item_num04 = value;
    }

    pub fn lot_item_num05(&self) -> u8 {
        self.lot_item_num05
    }

    pub fn set_lot_item_num05(&mut self, value: u8) {
        self.lot_item_num05 = value;
    }

    pub fn lot_item_num06(&self) -> u8 {
        self.lot_item_num06
    }

    pub fn set_lot_item_num06(&mut self, value: u8) {
        self.lot_item_num06 = value;
    }

    pub fn lot_item_num07(&self) -> u8 {
        self.lot_item_num07
    }

    pub fn set_lot_item_num07(&mut self, value: u8) {
        self.lot_item_num07 = value;
    }

    pub fn lot_item_num08(&self) -> u8 {
        self.lot_item_num08
    }

    pub fn set_lot_item_num08(&mut self, value: u8) {
        self.lot_item_num08 = 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 game_clear_offset(&self) -> i8 {
        self.game_clear_offset
    }

    pub fn set_game_clear_offset(&mut self, value: i8) {
        self.game_clear_offset = value;
    }

    #[allow(clippy::identity_op)]
    pub fn can_exec_by_friendly_ghost(&self) -> u8 {
        (self.bits_95 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_can_exec_by_friendly_ghost(&mut self, value: u8) {
        self.bits_95 = (self.bits_95 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn can_exec_by_hostile_ghost(&self) -> u8 {
        (self.bits_95 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_can_exec_by_hostile_ghost(&mut self, value: u8) {
        self.bits_95 = (self.bits_95 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ITEMTABLE_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    item_category: i32,
    item_id: i32,
    chance_weight: u16,
    unknown_4: u8,
    unknown_5: u8,
    event_flag_id: i32,
    unknown_6: i32,
    unknown_7: i32,
    end_padding: [u8; 4],
}

impl ParamDef for ITEMTABLE_PARAM_ST {
    const NAME: &str = "ITEMTABLE_PARAM_ST";
}

impl ITEMTABLE_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn item_category(&self) -> i32 {
        self.item_category
    }

    pub fn set_item_category(&mut self, value: i32) {
        self.item_category = value;
    }

    pub fn item_id(&self) -> i32 {
        self.item_id
    }

    pub fn set_item_id(&mut self, value: i32) {
        self.item_id = value;
    }

    pub fn chance_weight(&self) -> u16 {
        self.chance_weight
    }

    pub fn set_chance_weight(&mut self, value: u16) {
        self.chance_weight = 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;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct KEY_ASSIGN_PARAM_ST {
    pad_key_id: i32,
    keyboard_modify_key: i32,
    keyboard_key_id: i32,
    mouse_modify_key: i32,
    mouse_key_id: i32,
    shortcut_name_id: i32,
    shortcut_help_id: i32,
    unknown_3: f32,
    unknown_4: i32,
    unknown_5: i32,
    reserved: [u8; 8],
}

impl ParamDef for KEY_ASSIGN_PARAM_ST {
    const NAME: &str = "KEY_ASSIGN_PARAM_ST";
}

impl KEY_ASSIGN_PARAM_ST {
    pub fn keyboard_modify_key(&self) -> i32 {
        self.keyboard_modify_key
    }

    pub fn set_keyboard_modify_key(&mut self, value: i32) {
        self.keyboard_modify_key = value;
    }

    pub fn keyboard_key_id(&self) -> i32 {
        self.keyboard_key_id
    }

    pub fn set_keyboard_key_id(&mut self, value: i32) {
        self.keyboard_key_id = value;
    }

    pub fn mouse_modify_key(&self) -> i32 {
        self.mouse_modify_key
    }

    pub fn set_mouse_modify_key(&mut self, value: i32) {
        self.mouse_modify_key = value;
    }

    pub fn mouse_key_id(&self) -> i32 {
        self.mouse_key_id
    }

    pub fn set_mouse_key_id(&mut self, value: i32) {
        self.mouse_key_id = value;
    }

    pub fn shortcut_name_id(&self) -> i32 {
        self.shortcut_name_id
    }

    pub fn set_shortcut_name_id(&mut self, value: i32) {
        self.shortcut_name_id = value;
    }

    pub fn shortcut_help_id(&self) -> i32 {
        self.shortcut_help_id
    }

    pub fn set_shortcut_help_id(&mut self, value: i32) {
        self.shortcut_help_id = 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,
    pad: [u8; 8],
}

impl ParamDef for KNOCKBACK_PARAM_ST {
    const NAME: &str = "KNOCKBACK_PARAM_ST";
}

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 {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    unlock_flag_id: u32,
    invalid_flag_id: u32,
    msg_id: i32,
}

impl ParamDef for KNOWLEDGE_LOADSCREEN_ITEM_PARAM_ST {
    const NAME: &str = "KNOWLEDGE_LOADSCREEN_ITEM_PARAM_ST";
}

impl KNOWLEDGE_LOADSCREEN_ITEM_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn unlock_flag_id(&self) -> u32 {
        self.unlock_flag_id
    }

    pub fn set_unlock_flag_id(&mut self, value: u32) {
        self.unlock_flag_id = value;
    }

    pub fn invalid_flag_id(&self) -> u32 {
        self.invalid_flag_id
    }

    pub fn set_invalid_flag_id(&mut self, value: u32) {
        self.invalid_flag_id = value;
    }

    pub fn msg_id(&self) -> i32 {
        self.msg_id
    }

    pub fn set_msg_id(&mut self, value: i32) {
        self.msg_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LEGACY_DISTANT_VIEW_PARTS_REPLACE_PARAM {
    target_map_id: i32,
    target_event_id: u32,
    src_asset_id: i32,
    src_asset_parts_no: i32,
    dst_asset_id: i32,
    dst_asset_parts_no: i32,
    src_asset_id_range_min: i32,
    src_asset_id_range_max: i32,
    dst_asset_id_range_min: i32,
    dst_asset_id_range_max: i32,
    limited_map_region_id0: i8,
    limited_map_region_id1: i8,
    limited_map_region_id2: i8,
    limited_map_region_id3: i8,
    reserve: [u8; 4],
    limited_map_region_asset_id: i32,
    limited_map_regio_asset_parts_no: i32,
    limited_map_regio_asset_id_range_min: i32,
    limited_map_regio_asset_id_range_max: i32,
}

impl ParamDef for LEGACY_DISTANT_VIEW_PARTS_REPLACE_PARAM {
    const NAME: &str = "LEGACY_DISTANT_VIEW_PARTS_REPLACE_PARAM";
}

impl LEGACY_DISTANT_VIEW_PARTS_REPLACE_PARAM {
    pub fn target_map_id(&self) -> i32 {
        self.target_map_id
    }

    pub fn set_target_map_id(&mut self, value: i32) {
        self.target_map_id = value;
    }

    pub fn target_event_id(&self) -> u32 {
        self.target_event_id
    }

    pub fn set_target_event_id(&mut self, value: u32) {
        self.target_event_id = value;
    }

    pub fn src_asset_id(&self) -> i32 {
        self.src_asset_id
    }

    pub fn set_src_asset_id(&mut self, value: i32) {
        self.src_asset_id = value;
    }

    pub fn src_asset_parts_no(&self) -> i32 {
        self.src_asset_parts_no
    }

    pub fn set_src_asset_parts_no(&mut self, value: i32) {
        self.src_asset_parts_no = value;
    }

    pub fn dst_asset_id(&self) -> i32 {
        self.dst_asset_id
    }

    pub fn set_dst_asset_id(&mut self, value: i32) {
        self.dst_asset_id = value;
    }

    pub fn dst_asset_parts_no(&self) -> i32 {
        self.dst_asset_parts_no
    }

    pub fn set_dst_asset_parts_no(&mut self, value: i32) {
        self.dst_asset_parts_no = value;
    }

    pub fn src_asset_id_range_min(&self) -> i32 {
        self.src_asset_id_range_min
    }

    pub fn set_src_asset_id_range_min(&mut self, value: i32) {
        self.src_asset_id_range_min = value;
    }

    pub fn src_asset_id_range_max(&self) -> i32 {
        self.src_asset_id_range_max
    }

    pub fn set_src_asset_id_range_max(&mut self, value: i32) {
        self.src_asset_id_range_max = value;
    }

    pub fn dst_asset_id_range_min(&self) -> i32 {
        self.dst_asset_id_range_min
    }

    pub fn set_dst_asset_id_range_min(&mut self, value: i32) {
        self.dst_asset_id_range_min = value;
    }

    pub fn dst_asset_id_range_max(&self) -> i32 {
        self.dst_asset_id_range_max
    }

    pub fn set_dst_asset_id_range_max(&mut self, value: i32) {
        self.dst_asset_id_range_max = value;
    }

    pub fn limited_map_region_id0(&self) -> i8 {
        self.limited_map_region_id0
    }

    pub fn set_limited_map_region_id0(&mut self, value: i8) {
        self.limited_map_region_id0 = value;
    }

    pub fn limited_map_region_id1(&self) -> i8 {
        self.limited_map_region_id1
    }

    pub fn set_limited_map_region_id1(&mut self, value: i8) {
        self.limited_map_region_id1 = value;
    }

    pub fn limited_map_region_id2(&self) -> i8 {
        self.limited_map_region_id2
    }

    pub fn set_limited_map_region_id2(&mut self, value: i8) {
        self.limited_map_region_id2 = value;
    }

    pub fn limited_map_region_id3(&self) -> i8 {
        self.limited_map_region_id3
    }

    pub fn set_limited_map_region_id3(&mut self, value: i8) {
        self.limited_map_region_id3 = value;
    }

    pub fn limited_map_region_asset_id(&self) -> i32 {
        self.limited_map_region_asset_id
    }

    pub fn set_limited_map_region_asset_id(&mut self, value: i32) {
        self.limited_map_region_asset_id = value;
    }

    pub fn limited_map_regio_asset_parts_no(&self) -> i32 {
        self.limited_map_regio_asset_parts_no
    }

    pub fn set_limited_map_regio_asset_parts_no(&mut self, value: i32) {
        self.limited_map_regio_asset_parts_no = value;
    }

    pub fn limited_map_regio_asset_id_range_min(&self) -> i32 {
        self.limited_map_regio_asset_id_range_min
    }

    pub fn set_limited_map_regio_asset_id_range_min(&mut self, value: i32) {
        self.limited_map_regio_asset_id_range_min = value;
    }

    pub fn limited_map_regio_asset_id_range_max(&self) -> i32 {
        self.limited_map_regio_asset_id_range_max
    }

    pub fn set_limited_map_regio_asset_id_range_max(&mut self, value: i32) {
        self.limited_map_regio_asset_id_range_max = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LIMITED_DAY_ASSET_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: i32,
    unknown_11: i32,
    unknown_12: i32,
    unknown_13: i32,
    unknown_14: i32,
    unknown_15: i32,
}

impl ParamDef for LIMITED_DAY_ASSET_PARAM_ST {
    const NAME: &str = "LIMITED_DAY_ASSET_PARAM_ST";
}

impl LIMITED_DAY_ASSET_PARAM_ST {}

#[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";
}

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_NEW_DRAW_DIST_SCALE_PARAM_ST {
    draw_dist_lv_begin: u8,
    draw_dist_lv_end: u8,
    reserve0: [u8; 2],
    draw_dist_scale_begin: f32,
    draw_dist_scale_end: f32,
    shadw_draw_dist_lv_begin: u8,
    shadw_draw_dist_lv_end: u8,
    reserve1: [u8; 2],
    shadw_draw_dist_scale_begin: f32,
    shadw_draw_dist_scale_end: f32,
    reserve2: [u8; 24],
}

impl ParamDef for LOAD_BALANCER_NEW_DRAW_DIST_SCALE_PARAM_ST {
    const NAME: &str = "LOAD_BALANCER_NEW_DRAW_DIST_SCALE_PARAM_ST";
}

impl LOAD_BALANCER_NEW_DRAW_DIST_SCALE_PARAM_ST {
    pub fn draw_dist_lv_begin(&self) -> u8 {
        self.draw_dist_lv_begin
    }

    pub fn set_draw_dist_lv_begin(&mut self, value: u8) {
        self.draw_dist_lv_begin = value;
    }

    pub fn draw_dist_lv_end(&self) -> u8 {
        self.draw_dist_lv_end
    }

    pub fn set_draw_dist_lv_end(&mut self, value: u8) {
        self.draw_dist_lv_end = value;
    }

    pub fn draw_dist_scale_begin(&self) -> f32 {
        self.draw_dist_scale_begin
    }

    pub fn set_draw_dist_scale_begin(&mut self, value: f32) {
        self.draw_dist_scale_begin = value;
    }

    pub fn draw_dist_scale_end(&self) -> f32 {
        self.draw_dist_scale_end
    }

    pub fn set_draw_dist_scale_end(&mut self, value: f32) {
        self.draw_dist_scale_end = value;
    }

    pub fn shadw_draw_dist_lv_begin(&self) -> u8 {
        self.shadw_draw_dist_lv_begin
    }

    pub fn set_shadw_draw_dist_lv_begin(&mut self, value: u8) {
        self.shadw_draw_dist_lv_begin = value;
    }

    pub fn shadw_draw_dist_lv_end(&self) -> u8 {
        self.shadw_draw_dist_lv_end
    }

    pub fn set_shadw_draw_dist_lv_end(&mut self, value: u8) {
        self.shadw_draw_dist_lv_end = value;
    }

    pub fn shadw_draw_dist_scale_begin(&self) -> f32 {
        self.shadw_draw_dist_scale_begin
    }

    pub fn set_shadw_draw_dist_scale_begin(&mut self, value: f32) {
        self.shadw_draw_dist_scale_begin = value;
    }

    pub fn shadw_draw_dist_scale_end(&self) -> f32 {
        self.shadw_draw_dist_scale_end
    }

    pub fn set_shadw_draw_dist_scale_end(&mut self, value: f32) {
        self.shadw_draw_dist_scale_end = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOAD_BALANCER_PARAM_ST {
    lower_fps_threshold: f32,
    upper_fps_threshold: f32,
    lower_fps_continous_count: u32,
    upper_fps_continous_count: u32,
    down_after_change_sleep: u32,
    up_after_change_sleep: u32,
    post_process_light_shaft: u8,
    post_process_bloom: u8,
    post_process_glow: u8,
    post_process_aa: u8,
    post_process_ssao: u8,
    post_process_dof: u8,
    post_process_motion_blur: u8,
    post_process_motion_blur_iteration: u8,
    reserve0: [u8; 1],
    shadow_blur: u8,
    sfx_particle_half: u8,
    sfx_reflection: u8,
    sfx_water_interaction: u8,
    sfx_glow: u8,
    sfx_distortion: u8,
    sft_soft_sprite: u8,
    sfx_light_shaft: u8,
    sfx_scale_render_distance_scale: u8,
    dynamic_resolution: u8,
    shadow_cascade0_resolution_half: u8,
    shadow_cascade1_resolution_half: u8,
    chr_wet_disable_player: u8,
    chr_wet_disable_remote_player: u8,
    chr_wet_disable_enemy: u8,
    dynamic_resolution_percentage_min: u8,
    dynamic_resolution_percentage_max: u8,
    reserve1: [u8; 30],
}

impl ParamDef for LOAD_BALANCER_PARAM_ST {
    const NAME: &str = "LOAD_BALANCER_PARAM_ST";
}

impl LOAD_BALANCER_PARAM_ST {
    pub fn lower_fps_threshold(&self) -> f32 {
        self.lower_fps_threshold
    }

    pub fn set_lower_fps_threshold(&mut self, value: f32) {
        self.lower_fps_threshold = value;
    }

    pub fn upper_fps_threshold(&self) -> f32 {
        self.upper_fps_threshold
    }

    pub fn set_upper_fps_threshold(&mut self, value: f32) {
        self.upper_fps_threshold = value;
    }

    pub fn lower_fps_continous_count(&self) -> u32 {
        self.lower_fps_continous_count
    }

    pub fn set_lower_fps_continous_count(&mut self, value: u32) {
        self.lower_fps_continous_count = value;
    }

    pub fn upper_fps_continous_count(&self) -> u32 {
        self.upper_fps_continous_count
    }

    pub fn set_upper_fps_continous_count(&mut self, value: u32) {
        self.upper_fps_continous_count = value;
    }

    pub fn down_after_change_sleep(&self) -> u32 {
        self.down_after_change_sleep
    }

    pub fn set_down_after_change_sleep(&mut self, value: u32) {
        self.down_after_change_sleep = value;
    }

    pub fn up_after_change_sleep(&self) -> u32 {
        self.up_after_change_sleep
    }

    pub fn set_up_after_change_sleep(&mut self, value: u32) {
        self.up_after_change_sleep = value;
    }

    pub fn post_process_light_shaft(&self) -> u8 {
        self.post_process_light_shaft
    }

    pub fn set_post_process_light_shaft(&mut self, value: u8) {
        self.post_process_light_shaft = value;
    }

    pub fn post_process_bloom(&self) -> u8 {
        self.post_process_bloom
    }

    pub fn set_post_process_bloom(&mut self, value: u8) {
        self.post_process_bloom = value;
    }

    pub fn post_process_glow(&self) -> u8 {
        self.post_process_glow
    }

    pub fn set_post_process_glow(&mut self, value: u8) {
        self.post_process_glow = value;
    }

    pub fn post_process_aa(&self) -> u8 {
        self.post_process_aa
    }

    pub fn set_post_process_aa(&mut self, value: u8) {
        self.post_process_aa = value;
    }

    pub fn post_process_ssao(&self) -> u8 {
        self.post_process_ssao
    }

    pub fn set_post_process_ssao(&mut self, value: u8) {
        self.post_process_ssao = value;
    }

    pub fn post_process_dof(&self) -> u8 {
        self.post_process_dof
    }

    pub fn set_post_process_dof(&mut self, value: u8) {
        self.post_process_dof = value;
    }

    pub fn post_process_motion_blur(&self) -> u8 {
        self.post_process_motion_blur
    }

    pub fn set_post_process_motion_blur(&mut self, value: u8) {
        self.post_process_motion_blur = value;
    }

    pub fn post_process_motion_blur_iteration(&self) -> u8 {
        self.post_process_motion_blur_iteration
    }

    pub fn set_post_process_motion_blur_iteration(&mut self, value: u8) {
        self.post_process_motion_blur_iteration = value;
    }

    pub fn shadow_blur(&self) -> u8 {
        self.shadow_blur
    }

    pub fn set_shadow_blur(&mut self, value: u8) {
        self.shadow_blur = value;
    }

    pub fn sfx_particle_half(&self) -> u8 {
        self.sfx_particle_half
    }

    pub fn set_sfx_particle_half(&mut self, value: u8) {
        self.sfx_particle_half = value;
    }

    pub fn sfx_reflection(&self) -> u8 {
        self.sfx_reflection
    }

    pub fn set_sfx_reflection(&mut self, value: u8) {
        self.sfx_reflection = value;
    }

    pub fn sfx_water_interaction(&self) -> u8 {
        self.sfx_water_interaction
    }

    pub fn set_sfx_water_interaction(&mut self, value: u8) {
        self.sfx_water_interaction = value;
    }

    pub fn sfx_glow(&self) -> u8 {
        self.sfx_glow
    }

    pub fn set_sfx_glow(&mut self, value: u8) {
        self.sfx_glow = value;
    }

    pub fn sfx_distortion(&self) -> u8 {
        self.sfx_distortion
    }

    pub fn set_sfx_distortion(&mut self, value: u8) {
        self.sfx_distortion = value;
    }

    pub fn sft_soft_sprite(&self) -> u8 {
        self.sft_soft_sprite
    }

    pub fn set_sft_soft_sprite(&mut self, value: u8) {
        self.sft_soft_sprite = value;
    }

    pub fn sfx_light_shaft(&self) -> u8 {
        self.sfx_light_shaft
    }

    pub fn set_sfx_light_shaft(&mut self, value: u8) {
        self.sfx_light_shaft = value;
    }

    pub fn sfx_scale_render_distance_scale(&self) -> u8 {
        self.sfx_scale_render_distance_scale
    }

    pub fn set_sfx_scale_render_distance_scale(&mut self, value: u8) {
        self.sfx_scale_render_distance_scale = value;
    }

    pub fn dynamic_resolution(&self) -> u8 {
        self.dynamic_resolution
    }

    pub fn set_dynamic_resolution(&mut self, value: u8) {
        self.dynamic_resolution = value;
    }

    pub fn shadow_cascade0_resolution_half(&self) -> u8 {
        self.shadow_cascade0_resolution_half
    }

    pub fn set_shadow_cascade0_resolution_half(&mut self, value: u8) {
        self.shadow_cascade0_resolution_half = value;
    }

    pub fn shadow_cascade1_resolution_half(&self) -> u8 {
        self.shadow_cascade1_resolution_half
    }

    pub fn set_shadow_cascade1_resolution_half(&mut self, value: u8) {
        self.shadow_cascade1_resolution_half = value;
    }

    pub fn chr_wet_disable_player(&self) -> u8 {
        self.chr_wet_disable_player
    }

    pub fn set_chr_wet_disable_player(&mut self, value: u8) {
        self.chr_wet_disable_player = value;
    }

    pub fn chr_wet_disable_remote_player(&self) -> u8 {
        self.chr_wet_disable_remote_player
    }

    pub fn set_chr_wet_disable_remote_player(&mut self, value: u8) {
        self.chr_wet_disable_remote_player = value;
    }

    pub fn chr_wet_disable_enemy(&self) -> u8 {
        self.chr_wet_disable_enemy
    }

    pub fn set_chr_wet_disable_enemy(&mut self, value: u8) {
        self.chr_wet_disable_enemy = value;
    }

    pub fn dynamic_resolution_percentage_min(&self) -> u8 {
        self.dynamic_resolution_percentage_min
    }

    pub fn set_dynamic_resolution_percentage_min(&mut self, value: u8) {
        self.dynamic_resolution_percentage_min = value;
    }

    pub fn dynamic_resolution_percentage_max(&self) -> u8 {
        self.dynamic_resolution_percentage_max
    }

    pub fn set_dynamic_resolution_percentage_max(&mut self, value: u8) {
        self.dynamic_resolution_percentage_max = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOBBY_MENU_NPC_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    arrival_event_flag: i32,
    show_map_icon_event_flag: i32,
    hide_map_icon_event_flag: i32,
}

impl ParamDef for LOBBY_MENU_NPC_PARAM_ST {
    const NAME: &str = "LOBBY_MENU_NPC_PARAM_ST";
}

impl LOBBY_MENU_NPC_PARAM_ST {
    pub fn arrival_event_flag(&self) -> i32 {
        self.arrival_event_flag
    }

    pub fn set_arrival_event_flag(&mut self, value: i32) {
        self.arrival_event_flag = value;
    }

    pub fn show_map_icon_event_flag(&self) -> i32 {
        self.show_map_icon_event_flag
    }

    pub fn set_show_map_icon_event_flag(&mut self, value: i32) {
        self.show_map_icon_event_flag = value;
    }

    pub fn hide_map_icon_event_flag(&self) -> i32 {
        self.hide_map_icon_event_flag
    }

    pub fn set_hide_map_icon_event_flag(&mut self, value: i32) {
        self.hide_map_icon_event_flag = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOBBY_MENU_PARAM_ST {
    unknown_0: i32,
    name_id: i32,
    unknown_event_flag_1: i32,
    unknown_event_flag_2: i32,
    unknown_event_flag_3: i32,
    unknown_5a: u16,
    unknown_5b: u16,
    unknown_event_flag_4: i32,
    unknown_7: i32,
}

impl ParamDef for LOBBY_MENU_PARAM_ST {
    const NAME: &str = "LOBBY_MENU_PARAM_ST";
}

impl LOBBY_MENU_PARAM_ST {
    pub fn name_id(&self) -> i32 {
        self.name_id
    }

    pub fn set_name_id(&mut self, value: i32) {
        self.name_id = 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,
    lock_tgt_keep_time: f32,
    chr_trans_chase_rate_for_normal: f32,
    pad: [u8; 48],
}

impl ParamDef for LOCK_CAM_PARAM_ST {
    const NAME: &str = "LOCK_CAM_PARAM_ST";
}

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;
    }

    pub fn lock_tgt_keep_time(&self) -> f32 {
        self.lock_tgt_keep_time
    }

    pub fn set_lock_tgt_keep_time(&mut self, value: f32) {
        self.lock_tgt_keep_time = value;
    }

    pub fn chr_trans_chase_rate_for_normal(&self) -> f32 {
        self.chr_trans_chase_rate_for_normal
    }

    pub fn set_chr_trans_chase_rate_for_normal(&mut self, value: f32) {
        self.chr_trans_chase_rate_for_normal = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOT_BASE_MAP_PATTERN_FLAG_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
    event_flag: i32,
    unknown_8: i32,
}

impl ParamDef for LOT_BASE_MAP_PATTERN_FLAG_ST {
    const NAME: &str = "LOT_BASE_MAP_PATTERN_FLAG_ST";
}

impl LOT_BASE_MAP_PATTERN_FLAG_ST {
    pub fn event_flag(&self) -> i32 {
        self.event_flag
    }

    pub fn set_event_flag(&mut self, value: i32) {
        self.event_flag = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOT_BASE_SMALBASE_AND_SPOT_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    lot_result1: i32,
    lot_result2: i32,
}

impl ParamDef for LOT_BASE_SMALBASE_AND_SPOT_ST {
    const NAME: &str = "LOT_BASE_SMALBASE_AND_SPOT_ST";
}

impl LOT_BASE_SMALBASE_AND_SPOT_ST {
    pub fn lot_result1(&self) -> i32 {
        self.lot_result1
    }

    pub fn set_lot_result1(&mut self, value: i32) {
        self.lot_result1 = value;
    }

    pub fn lot_result2(&self) -> i32 {
        self.lot_result2
    }

    pub fn set_lot_result2(&mut self, value: i32) {
        self.lot_result2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOT_RESULT_MAP_PATTERN_FLAG_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    event_flag: i32,
    unknown_5a: u8,
    unknown_5b: u8,
    unknown_5c: u8,
    unknown_5d: u8,
    unknown_6: i32,
}

impl ParamDef for LOT_RESULT_MAP_PATTERN_FLAG_ST {
    const NAME: &str = "LOT_RESULT_MAP_PATTERN_FLAG_ST";
}

impl LOT_RESULT_MAP_PATTERN_FLAG_ST {
    pub fn event_flag(&self) -> i32 {
        self.event_flag
    }

    pub fn set_event_flag(&mut self, value: i32) {
        self.event_flag = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOT_RESULT_PLAYAREA_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    play_area_create_id: i32,
    unknown_4a: i16,
    unknown_4b: i16,
    unknown_4c: i16,
    unknown_4d: i16,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    unknown_9: i32,
}

impl ParamDef for LOT_RESULT_PLAYAREA_PARAM_ST {
    const NAME: &str = "LOT_RESULT_PLAYAREA_PARAM_ST";
}

impl LOT_RESULT_PLAYAREA_PARAM_ST {
    pub fn play_area_create_id(&self) -> i32 {
        self.play_area_create_id
    }

    pub fn set_play_area_create_id(&mut self, value: i32) {
        self.play_area_create_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct LOT_RESULT_SMALLBASE_AND_SPOT_ST {
    unknown_0: i32,
    lot_result_play_area: i32,
    tile_attach_point: i32,
    tile_target_msb: i32,
    unknown_4: i32,
    unknown_5: i32,
}

impl ParamDef for LOT_RESULT_SMALLBASE_AND_SPOT_ST {
    const NAME: &str = "LOT_RESULT_SMALLBASE_AND_SPOT_ST";
}

impl LOT_RESULT_SMALLBASE_AND_SPOT_ST {
    pub fn lot_result_play_area(&self) -> i32 {
        self.lot_result_play_area
    }

    pub fn set_lot_result_play_area(&mut self, value: i32) {
        self.lot_result_play_area = value;
    }

    pub fn tile_attach_point(&self) -> i32 {
        self.tile_attach_point
    }

    pub fn set_tile_attach_point(&mut self, value: i32) {
        self.tile_attach_point = value;
    }

    pub fn tile_target_msb(&self) -> i32 {
        self.tile_target_msb
    }

    pub fn set_tile_target_msb(&mut self, value: i32) {
        self.tile_target_msb = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAGIC_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    yes_no_dialog_message_id: i32,
    limit_cancel_sp_effect_id: i32,
    sort_id: i16,
    requirement_luck: u8,
    ai_notify_type: u8,
    mp: i16,
    stamina: i16,
    icon_id: i16,
    behavior_id: i16,
    mtrl_item_id: i16,
    replace_magic_id: i16,
    max_quantity: i16,
    ref_category1: u8,
    over_dexterity: u8,
    ref_category2: u8,
    slot_length: u8,
    requirement_intellect: u8,
    requirement_faith: u8,
    analog_dexterity_min: u8,
    analog_dexterity_max: u8,
    ez_state_behavior_type: u8,
    ref_category3: u8,
    sp_effect_category: u8,
    ref_type: u8,
    opme_menu_type: u8,
    ref_category4: u8,
    has_sp_effect_type: u16,
    replace_category: u8,
    use_limit_category: u8,
    bits_30: u8,
    bits_31: u8,
    bits_32: u8,
    bits_33: u8,
    cast_sfx_id: i32,
    fire_sfx_id: i32,
    effect_sfx_id: i32,
    toughness_correct_rate: f32,
    replacement_status_type: u8,
    replacement_status1: i8,
    replacement_status2: i8,
    replacement_status3: i8,
    replacement_status4: i8,
    ref_category5: u8,
    consume_sa: i16,
    replacement_magic1: i32,
    replacement_magic2: i32,
    replacement_magic3: i32,
    replacement_magic4: i32,
    mp_charge: i16,
    stamina_charge: i16,
    create_limit_group_id: u8,
    ref_category6: u8,
    sub_category1: u8,
    sub_category2: u8,
    ref_category7: u8,
    ref_category8: u8,
    ref_category9: u8,
    ref_category10: u8,
    ref_id1: i32,
    ref_id2: i32,
    ref_id3: i32,
    ai_use_judge_id: i32,
    ref_id4: i32,
    ref_id5: i32,
    ref_id6: i32,
    ref_id7: i32,
    ref_id8: i32,
    ref_id9: i32,
    ref_id10: i32,
    consume_type1: u8,
    consume_type2: u8,
    consume_type3: u8,
    consume_type4: u8,
    consume_type5: u8,
    consume_type6: u8,
    consume_type7: u8,
    consume_type8: u8,
    consume_type9: u8,
    consume_type10: u8,
    consume_loop_mp_for_menu: i16,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
}

impl ParamDef for MAGIC_PARAM_ST {
    const NAME: &str = "MAGIC_PARAM_ST";
}

impl MAGIC_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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 mp(&self) -> i16 {
        self.mp
    }

    pub fn set_mp(&mut self, value: i16) {
        self.mp = value;
    }

    pub fn stamina(&self) -> i16 {
        self.stamina
    }

    pub fn set_stamina(&mut self, value: i16) {
        self.stamina = 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 ref_category1(&self) -> u8 {
        self.ref_category1
    }

    pub fn set_ref_category1(&mut self, value: u8) {
        self.ref_category1 = 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 ref_category2(&self) -> u8 {
        self.ref_category2
    }

    pub fn set_ref_category2(&mut self, value: u8) {
        self.ref_category2 = 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_category3(&self) -> u8 {
        self.ref_category3
    }

    pub fn set_ref_category3(&mut self, value: u8) {
        self.ref_category3 = 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 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 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) -> u16 {
        self.has_sp_effect_type
    }

    pub fn set_has_sp_effect_type(&mut self, value: u16) {
        self.has_sp_effect_type = value;
    }

    pub fn replace_category(&self) -> u8 {
        self.replace_category
    }

    pub fn set_replace_category(&mut self, value: u8) {
        self.replace_category = 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;
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type0(&self) -> u8 {
        (self.bits_30 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type0(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type1(&self) -> u8 {
        (self.bits_30 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type1(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type2(&self) -> u8 {
        (self.bits_30 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type2(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type3(&self) -> u8 {
        (self.bits_30 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type3(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type4(&self) -> u8 {
        (self.bits_30 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type4(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type5(&self) -> u8 {
        (self.bits_30 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type5(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type6(&self) -> u8 {
        (self.bits_30 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type6(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type7(&self) -> u8 {
        (self.bits_30 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type7(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_multi(&self) -> u8 {
        (self.bits_31 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_multi(&mut self, value: u8) {
        self.bits_31 = (self.bits_31 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_multi_only(&self) -> u8 {
        (self.bits_31 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_multi_only(&mut self, value: u8) {
        self.bits_31 = (self.bits_31 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enchant(&self) -> u8 {
        (self.bits_31 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enchant(&mut self, value: u8) {
        self.bits_31 = (self.bits_31 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_shield_enchant(&self) -> u8 {
        (self.bits_31 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_shield_enchant(&mut self, value: u8) {
        self.bits_31 = (self.bits_31 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_live(&self) -> u8 {
        (self.bits_31 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_live(&mut self, value: u8) {
        self.bits_31 = (self.bits_31 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_gray(&self) -> u8 {
        (self.bits_31 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_gray(&mut self, value: u8) {
        self.bits_31 = (self.bits_31 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_white(&self) -> u8 {
        (self.bits_31 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_white(&mut self, value: u8) {
        self.bits_31 = (self.bits_31 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_black(&self) -> u8 {
        (self.bits_31 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_black(&mut self, value: u8) {
        self.bits_31 = (self.bits_31 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_offline(&self) -> u8 {
        (self.bits_32 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_offline(&mut self, value: u8) {
        self.bits_32 = (self.bits_32 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn cast_resonance_magic(&self) -> u8 {
        (self.bits_32 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_cast_resonance_magic(&mut self, value: u8) {
        self.bits_32 = (self.bits_32 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_valid_tough_prot_sa_dmg(&self) -> u8 {
        (self.bits_32 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_valid_tough_prot_sa_dmg(&mut self, value: u8) {
        self.bits_32 = (self.bits_32 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_warp_magic(&self) -> u8 {
        (self.bits_32 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_warp_magic(&mut self, value: u8) {
        self.bits_32 = (self.bits_32 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_riding(&self) -> u8 {
        (self.bits_32 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_riding(&mut self, value: u8) {
        self.bits_32 = (self.bits_32 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_riding(&self) -> u8 {
        (self.bits_32 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_riding(&mut self, value: u8) {
        self.bits_32 = (self.bits_32 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_no_attack_region(&self) -> u8 {
        (self.bits_32 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_no_attack_region(&mut self, value: u8) {
        self.bits_32 = (self.bits_32 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type8(&self) -> u8 {
        (self.bits_33 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type8(&mut self, value: u8) {
        self.bits_33 = (self.bits_33 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type9(&self) -> u8 {
        (self.bits_33 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type9(&mut self, value: u8) {
        self.bits_33 = (self.bits_33 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type10(&self) -> u8 {
        (self.bits_33 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type10(&mut self, value: u8) {
        self.bits_33 = (self.bits_33 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type11(&self) -> u8 {
        (self.bits_33 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type11(&mut self, value: u8) {
        self.bits_33 = (self.bits_33 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type12(&self) -> u8 {
        (self.bits_33 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type12(&mut self, value: u8) {
        self.bits_33 = (self.bits_33 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type13(&self) -> u8 {
        (self.bits_33 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type13(&mut self, value: u8) {
        self.bits_33 = (self.bits_33 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type14(&self) -> u8 {
        (self.bits_33 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type14(&mut self, value: u8) {
        self.bits_33 = (self.bits_33 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn vow_type15(&self) -> u8 {
        (self.bits_33 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_vow_type15(&mut self, value: u8) {
        self.bits_33 = (self.bits_33 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    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;
    }

    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;
    }

    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_category5(&self) -> u8 {
        self.ref_category5
    }

    pub fn set_ref_category5(&mut self, value: u8) {
        self.ref_category5 = value;
    }

    pub fn consume_sa(&self) -> i16 {
        self.consume_sa
    }

    pub fn set_consume_sa(&mut self, value: i16) {
        self.consume_sa = value;
    }

    pub fn replacement_magic1(&self) -> i32 {
        self.replacement_magic1
    }

    pub fn set_replacement_magic1(&mut self, value: i32) {
        self.replacement_magic1 = value;
    }

    pub fn replacement_magic2(&self) -> i32 {
        self.replacement_magic2
    }

    pub fn set_replacement_magic2(&mut self, value: i32) {
        self.replacement_magic2 = value;
    }

    pub fn replacement_magic3(&self) -> i32 {
        self.replacement_magic3
    }

    pub fn set_replacement_magic3(&mut self, value: i32) {
        self.replacement_magic3 = value;
    }

    pub fn replacement_magic4(&self) -> i32 {
        self.replacement_magic4
    }

    pub fn set_replacement_magic4(&mut self, value: i32) {
        self.replacement_magic4 = value;
    }

    pub fn mp_charge(&self) -> i16 {
        self.mp_charge
    }

    pub fn set_mp_charge(&mut self, value: i16) {
        self.mp_charge = value;
    }

    pub fn stamina_charge(&self) -> i16 {
        self.stamina_charge
    }

    pub fn set_stamina_charge(&mut self, value: i16) {
        self.stamina_charge = 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 ref_category6(&self) -> u8 {
        self.ref_category6
    }

    pub fn set_ref_category6(&mut self, value: u8) {
        self.ref_category6 = value;
    }

    pub fn sub_category1(&self) -> u8 {
        self.sub_category1
    }

    pub fn set_sub_category1(&mut self, value: u8) {
        self.sub_category1 = value;
    }

    pub fn sub_category2(&self) -> u8 {
        self.sub_category2
    }

    pub fn set_sub_category2(&mut self, value: u8) {
        self.sub_category2 = value;
    }

    pub fn ref_category7(&self) -> u8 {
        self.ref_category7
    }

    pub fn set_ref_category7(&mut self, value: u8) {
        self.ref_category7 = value;
    }

    pub fn ref_category8(&self) -> u8 {
        self.ref_category8
    }

    pub fn set_ref_category8(&mut self, value: u8) {
        self.ref_category8 = value;
    }

    pub fn ref_category9(&self) -> u8 {
        self.ref_category9
    }

    pub fn set_ref_category9(&mut self, value: u8) {
        self.ref_category9 = value;
    }

    pub fn ref_category10(&self) -> u8 {
        self.ref_category10
    }

    pub fn set_ref_category10(&mut self, value: u8) {
        self.ref_category10 = 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 ai_use_judge_id(&self) -> i32 {
        self.ai_use_judge_id
    }

    pub fn set_ai_use_judge_id(&mut self, value: i32) {
        self.ai_use_judge_id = value;
    }

    pub fn ref_id4(&self) -> i32 {
        self.ref_id4
    }

    pub fn set_ref_id4(&mut self, value: i32) {
        self.ref_id4 = value;
    }

    pub fn ref_id5(&self) -> i32 {
        self.ref_id5
    }

    pub fn set_ref_id5(&mut self, value: i32) {
        self.ref_id5 = value;
    }

    pub fn ref_id6(&self) -> i32 {
        self.ref_id6
    }

    pub fn set_ref_id6(&mut self, value: i32) {
        self.ref_id6 = value;
    }

    pub fn ref_id7(&self) -> i32 {
        self.ref_id7
    }

    pub fn set_ref_id7(&mut self, value: i32) {
        self.ref_id7 = value;
    }

    pub fn ref_id8(&self) -> i32 {
        self.ref_id8
    }

    pub fn set_ref_id8(&mut self, value: i32) {
        self.ref_id8 = value;
    }

    pub fn ref_id9(&self) -> i32 {
        self.ref_id9
    }

    pub fn set_ref_id9(&mut self, value: i32) {
        self.ref_id9 = value;
    }

    pub fn ref_id10(&self) -> i32 {
        self.ref_id10
    }

    pub fn set_ref_id10(&mut self, value: i32) {
        self.ref_id10 = value;
    }

    pub fn consume_type1(&self) -> u8 {
        self.consume_type1
    }

    pub fn set_consume_type1(&mut self, value: u8) {
        self.consume_type1 = value;
    }

    pub fn consume_type2(&self) -> u8 {
        self.consume_type2
    }

    pub fn set_consume_type2(&mut self, value: u8) {
        self.consume_type2 = value;
    }

    pub fn consume_type3(&self) -> u8 {
        self.consume_type3
    }

    pub fn set_consume_type3(&mut self, value: u8) {
        self.consume_type3 = value;
    }

    pub fn consume_type4(&self) -> u8 {
        self.consume_type4
    }

    pub fn set_consume_type4(&mut self, value: u8) {
        self.consume_type4 = value;
    }

    pub fn consume_type5(&self) -> u8 {
        self.consume_type5
    }

    pub fn set_consume_type5(&mut self, value: u8) {
        self.consume_type5 = value;
    }

    pub fn consume_type6(&self) -> u8 {
        self.consume_type6
    }

    pub fn set_consume_type6(&mut self, value: u8) {
        self.consume_type6 = value;
    }

    pub fn consume_type7(&self) -> u8 {
        self.consume_type7
    }

    pub fn set_consume_type7(&mut self, value: u8) {
        self.consume_type7 = value;
    }

    pub fn consume_type8(&self) -> u8 {
        self.consume_type8
    }

    pub fn set_consume_type8(&mut self, value: u8) {
        self.consume_type8 = value;
    }

    pub fn consume_type9(&self) -> u8 {
        self.consume_type9
    }

    pub fn set_consume_type9(&mut self, value: u8) {
        self.consume_type9 = value;
    }

    pub fn consume_type10(&self) -> u8 {
        self.consume_type10
    }

    pub fn set_consume_type10(&mut self, value: u8) {
        self.consume_type10 = value;
    }

    pub fn consume_loop_mp_for_menu(&self) -> i16 {
        self.consume_loop_mp_for_menu
    }

    pub fn set_consume_loop_mp_for_menu(&mut self, value: i16) {
        self.consume_loop_mp_for_menu = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAGIC_TABLE_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    magic_id: i32,
    chance_weight: i32,
}

impl ParamDef for MAGIC_TABLE_PARAM_ST {
    const NAME: &str = "MAGIC_TABLE_PARAM_ST";
}

impl MAGIC_TABLE_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn magic_id(&self) -> i32 {
        self.magic_id
    }

    pub fn set_magic_id(&mut self, value: i32) {
        self.magic_id = value;
    }

    pub fn chance_weight(&self) -> i32 {
        self.chance_weight
    }

    pub fn set_chance_weight(&mut self, value: i32) {
        self.chance_weight = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAIN_SCENARIO_MENU_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
}

impl ParamDef for MAIN_SCENARIO_MENU_PARAM_ST {
    const NAME: &str = "MAIN_SCENARIO_MENU_PARAM_ST";
}

impl MAIN_SCENARIO_MENU_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MANUAL_MAP_PATTERN_INFO_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: i32,
    unknown_11: i32,
    unknown_12: i32,
    unknown_13: i32,
    unknown_14: i32,
    unknown_15: i32,
    unknown_16: i32,
    unknown_17: i32,
    unknown_18: i32,
    unknown_19: i32,
    unknown_20: i32,
    unknown_21: i32,
    unknown_22: i32,
    unknown_23: i32,
    unknown_24: i32,
    unknown_25: i32,
    unknown_26: i32,
}

impl ParamDef for MANUAL_MAP_PATTERN_INFO_ST {
    const NAME: &str = "MANUAL_MAP_PATTERN_INFO_ST";
}

impl MANUAL_MAP_PATTERN_INFO_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAP_DEFAULT_INFO_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    enable_fast_travel_event_flag_id: u32,
    weather_lot_time_offset_ingame_seconds: i32,
    weather_create_asset_limit_id: i8,
    map_ai_sight_type: u8,
    sound_indoor_type: u8,
    reverb_default_type: i8,
    bgm_place_info: i16,
    env_place_info: i16,
    map_additional_sound_bank_id: i32,
    map_height_for_sound: i16,
    is_enable_blend_timezone_envmap: u8,
    override_gi_resolution_xss: i8,
    map_lo_hi_change_border_dist_xz: f32,
    map_lo_hi_change_border_dist_y: f32,
    map_lo_hi_change_play_dist: f32,
    map_auto_draw_group_back_face_pixel_num: u32,
    player_lignt_scale: f32,
    is_enable_timezonne_player_lignt_scale: u8,
    is_disable_auto_cliff_wind: u8,
    open_chr_activate_threshold: i16,
    map_mimicry_establishment_param_id: i32,
    override_gi_resolution_xsx: i8,
    unknown_1: i32,
    unknown_2: u8,
    unknown_3: u8,
    unknown_4: u8,
}

impl ParamDef for MAP_DEFAULT_INFO_PARAM_ST {
    const NAME: &str = "MAP_DEFAULT_INFO_PARAM_ST";
}

impl MAP_DEFAULT_INFO_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn enable_fast_travel_event_flag_id(&self) -> u32 {
        self.enable_fast_travel_event_flag_id
    }

    pub fn set_enable_fast_travel_event_flag_id(&mut self, value: u32) {
        self.enable_fast_travel_event_flag_id = value;
    }

    pub fn weather_lot_time_offset_ingame_seconds(&self) -> i32 {
        self.weather_lot_time_offset_ingame_seconds
    }

    pub fn set_weather_lot_time_offset_ingame_seconds(&mut self, value: i32) {
        self.weather_lot_time_offset_ingame_seconds = value;
    }

    pub fn weather_create_asset_limit_id(&self) -> i8 {
        self.weather_create_asset_limit_id
    }

    pub fn set_weather_create_asset_limit_id(&mut self, value: i8) {
        self.weather_create_asset_limit_id = value;
    }

    pub fn map_ai_sight_type(&self) -> u8 {
        self.map_ai_sight_type
    }

    pub fn set_map_ai_sight_type(&mut self, value: u8) {
        self.map_ai_sight_type = value;
    }

    pub fn sound_indoor_type(&self) -> u8 {
        self.sound_indoor_type
    }

    pub fn set_sound_indoor_type(&mut self, value: u8) {
        self.sound_indoor_type = value;
    }

    pub fn reverb_default_type(&self) -> i8 {
        self.reverb_default_type
    }

    pub fn set_reverb_default_type(&mut self, value: i8) {
        self.reverb_default_type = value;
    }

    pub fn bgm_place_info(&self) -> i16 {
        self.bgm_place_info
    }

    pub fn set_bgm_place_info(&mut self, value: i16) {
        self.bgm_place_info = value;
    }

    pub fn env_place_info(&self) -> i16 {
        self.env_place_info
    }

    pub fn set_env_place_info(&mut self, value: i16) {
        self.env_place_info = value;
    }

    pub fn map_additional_sound_bank_id(&self) -> i32 {
        self.map_additional_sound_bank_id
    }

    pub fn set_map_additional_sound_bank_id(&mut self, value: i32) {
        self.map_additional_sound_bank_id = value;
    }

    pub fn map_height_for_sound(&self) -> i16 {
        self.map_height_for_sound
    }

    pub fn set_map_height_for_sound(&mut self, value: i16) {
        self.map_height_for_sound = value;
    }

    pub fn is_enable_blend_timezone_envmap(&self) -> u8 {
        self.is_enable_blend_timezone_envmap
    }

    pub fn set_is_enable_blend_timezone_envmap(&mut self, value: u8) {
        self.is_enable_blend_timezone_envmap = value;
    }

    pub fn override_gi_resolution_xss(&self) -> i8 {
        self.override_gi_resolution_xss
    }

    pub fn set_override_gi_resolution_xss(&mut self, value: i8) {
        self.override_gi_resolution_xss = value;
    }

    pub fn map_lo_hi_change_border_dist_xz(&self) -> f32 {
        self.map_lo_hi_change_border_dist_xz
    }

    pub fn set_map_lo_hi_change_border_dist_xz(&mut self, value: f32) {
        self.map_lo_hi_change_border_dist_xz = value;
    }

    pub fn map_lo_hi_change_border_dist_y(&self) -> f32 {
        self.map_lo_hi_change_border_dist_y
    }

    pub fn set_map_lo_hi_change_border_dist_y(&mut self, value: f32) {
        self.map_lo_hi_change_border_dist_y = value;
    }

    pub fn map_lo_hi_change_play_dist(&self) -> f32 {
        self.map_lo_hi_change_play_dist
    }

    pub fn set_map_lo_hi_change_play_dist(&mut self, value: f32) {
        self.map_lo_hi_change_play_dist = value;
    }

    pub fn map_auto_draw_group_back_face_pixel_num(&self) -> u32 {
        self.map_auto_draw_group_back_face_pixel_num
    }

    pub fn set_map_auto_draw_group_back_face_pixel_num(&mut self, value: u32) {
        self.map_auto_draw_group_back_face_pixel_num = value;
    }

    pub fn player_lignt_scale(&self) -> f32 {
        self.player_lignt_scale
    }

    pub fn set_player_lignt_scale(&mut self, value: f32) {
        self.player_lignt_scale = value;
    }

    pub fn is_enable_timezonne_player_lignt_scale(&self) -> u8 {
        self.is_enable_timezonne_player_lignt_scale
    }

    pub fn set_is_enable_timezonne_player_lignt_scale(&mut self, value: u8) {
        self.is_enable_timezonne_player_lignt_scale = value;
    }

    pub fn is_disable_auto_cliff_wind(&self) -> u8 {
        self.is_disable_auto_cliff_wind
    }

    pub fn set_is_disable_auto_cliff_wind(&mut self, value: u8) {
        self.is_disable_auto_cliff_wind = value;
    }

    pub fn open_chr_activate_threshold(&self) -> i16 {
        self.open_chr_activate_threshold
    }

    pub fn set_open_chr_activate_threshold(&mut self, value: i16) {
        self.open_chr_activate_threshold = value;
    }

    pub fn map_mimicry_establishment_param_id(&self) -> i32 {
        self.map_mimicry_establishment_param_id
    }

    pub fn set_map_mimicry_establishment_param_id(&mut self, value: i32) {
        self.map_mimicry_establishment_param_id = value;
    }

    pub fn override_gi_resolution_xsx(&self) -> i8 {
        self.override_gi_resolution_xsx
    }

    pub fn set_override_gi_resolution_xsx(&mut self, value: i8) {
        self.override_gi_resolution_xsx = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAP_GD_REGION_DRAW_PARAM {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    override_iv_local_light_scale: f32,
}

impl ParamDef for MAP_GD_REGION_DRAW_PARAM {
    const NAME: &str = "MAP_GD_REGION_DRAW_PARAM";
}

impl MAP_GD_REGION_DRAW_PARAM {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn override_iv_local_light_scale(&self) -> f32 {
        self.override_iv_local_light_scale
    }

    pub fn set_override_iv_local_light_scale(&mut self, value: f32) {
        self.override_iv_local_light_scale = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAP_GD_REGION_ID_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    map_region_id: u32,
    reserve: [u8; 24],
}

impl ParamDef for MAP_GD_REGION_ID_PARAM_ST {
    const NAME: &str = "MAP_GD_REGION_ID_PARAM_ST";
}

impl MAP_GD_REGION_ID_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn map_region_id(&self) -> u32 {
        self.map_region_id
    }

    pub fn set_map_region_id(&mut self, value: u32) {
        self.map_region_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAP_GRID_CREATE_HEIGHT_LIMIT_INFO_PARAM_ST {
    grid_enable_create_height_min: f32,
    grid_enable_create_height_max: f32,
    reserve: [u8; 24],
}

impl ParamDef for MAP_GRID_CREATE_HEIGHT_LIMIT_INFO_PARAM_ST {
    const NAME: &str = "MAP_GRID_CREATE_HEIGHT_LIMIT_INFO_PARAM_ST";
}

impl MAP_GRID_CREATE_HEIGHT_LIMIT_INFO_PARAM_ST {
    pub fn grid_enable_create_height_min(&self) -> f32 {
        self.grid_enable_create_height_min
    }

    pub fn set_grid_enable_create_height_min(&mut self, value: f32) {
        self.grid_enable_create_height_min = value;
    }

    pub fn grid_enable_create_height_max(&self) -> f32 {
        self.grid_enable_create_height_max
    }

    pub fn set_grid_enable_create_height_max(&mut self, value: f32) {
        self.grid_enable_create_height_max = 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";
}

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 MAP_NAME_TEX_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    src_r: u8,
    src_g: u8,
    src_b: u8,
    pad1: [u8; 1],
    map_name_id: i32,
    pad2: [u8; 4],
}

impl ParamDef for MAP_NAME_TEX_PARAM_ST {
    const NAME: &str = "MAP_NAME_TEX_PARAM_ST";
}

impl MAP_NAME_TEX_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn src_r(&self) -> u8 {
        self.src_r
    }

    pub fn set_src_r(&mut self, value: u8) {
        self.src_r = value;
    }

    pub fn src_g(&self) -> u8 {
        self.src_g
    }

    pub fn set_src_g(&mut self, value: u8) {
        self.src_g = value;
    }

    pub fn src_b(&self) -> u8 {
        self.src_b
    }

    pub fn set_src_b(&mut self, value: u8) {
        self.src_b = value;
    }

    pub fn map_name_id(&self) -> i32 {
        self.map_name_id
    }

    pub fn set_map_name_id(&mut self, value: i32) {
        self.map_name_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAP_PATTERN_COMMON_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: f32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
}

impl ParamDef for MAP_PATTERN_COMMON_ST {
    const NAME: &str = "MAP_PATTERN_COMMON_ST";
}

impl MAP_PATTERN_COMMON_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAP_PATTERN_MAP_LOT_CONDITION_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4a: i8,
    unknown_4b: i8,
    unknown_4c: u16,
    unknown_5: i32,
}

impl ParamDef for MAP_PATTERN_MAP_LOT_CONDITION_ST {
    const NAME: &str = "MAP_PATTERN_MAP_LOT_CONDITION_ST";
}

impl MAP_PATTERN_MAP_LOT_CONDITION_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAP_PATTERN_SET_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: i32,
    unknown_11: i32,
    unknown_12: i32,
    unknown_13: i32,
    unknown_14: i32,
    unknown_15: i32,
    unknown_16: i32,
    unknown_17: i32,
    unknown_18: i32,
    unknown_19: i32,
    unknown_20: i32,
    unknown_21: i32,
    unknown_22: i32,
    unknown_23: i32,
    unknown_24: i32,
    unknown_25: i32,
    unknown_26: i32,
    unknown_27: i32,
    unknown_28: i32,
    unknown_29: i32,
    unknown_30: i32,
    unknown_31: i32,
    unknown_32: i32,
    unknown_33: i32,
    unknown_34: i32,
    unknown_35: i32,
    unknown_36: i32,
    unknown_37: i32,
    unknown_38: i32,
    unknown_39: i32,
    unknown_40: i32,
    unknown_41: i32,
    unknown_42: i32,
    unknown_43: i32,
    unknown_44: i32,
    unknown_45: i32,
    unknown_46: i32,
    unknown_47: i32,
    unknown_48: i32,
    unknown_49: i32,
    unknown_50: i32,
    unknown_51: i32,
    unknown_52: i32,
    unknown_53: i32,
    unknown_54: i32,
    unknown_55: i32,
    unknown_56: i32,
    unknown_57: i32,
    unknown_58: i32,
    unknown_59: i32,
    unknown_60: i32,
    unknown_61: i32,
    unknown_62: i32,
    unknown_63: i32,
    unknown_64: i32,
    unknown_65: i32,
    unknown_66: i32,
    unknown_67: i32,
    unknown_68: i32,
    unknown_69: i32,
    unknown_70: i32,
    unknown_71: i32,
    unknown_72: i32,
    unknown_73: i32,
    unknown_74: i32,
    unknown_75: i32,
    unknown_76: i32,
    unknown_77: i32,
    unknown_78: i32,
    unknown_79: i32,
    unknown_80: i32,
    unknown_81: i32,
}

impl ParamDef for MAP_PATTERN_SET_PARAM_ST {
    const NAME: &str = "MAP_PATTERN_SET_PARAM_ST";
}

impl MAP_PATTERN_SET_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MAP_PIECE_TEX_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    src_r: u8,
    src_g: u8,
    src_b: u8,
    pad1: [u8; 1],
    save_map_name_id: i32,
    multi_play_area_id: i32,
}

impl ParamDef for MAP_PIECE_TEX_PARAM_ST {
    const NAME: &str = "MAP_PIECE_TEX_PARAM_ST";
}

impl MAP_PIECE_TEX_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn src_r(&self) -> u8 {
        self.src_r
    }

    pub fn set_src_r(&mut self, value: u8) {
        self.src_r = value;
    }

    pub fn src_g(&self) -> u8 {
        self.src_g
    }

    pub fn set_src_g(&mut self, value: u8) {
        self.src_g = value;
    }

    pub fn src_b(&self) -> u8 {
        self.src_b
    }

    pub fn set_src_b(&mut self, value: u8) {
        self.src_b = value;
    }

    pub fn save_map_name_id(&self) -> i32 {
        self.save_map_name_id
    }

    pub fn set_save_map_name_id(&mut self, value: i32) {
        self.save_map_name_id = value;
    }

    pub fn multi_play_area_id(&self) -> i32 {
        self.multi_play_area_id
    }

    pub fn set_multi_play_area_id(&mut self, value: i32) {
        self.multi_play_area_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MATERIAL_EX_PARAM_ST {
    param_name: [u16; 32],
    material_id: i32,
    material_param_value0: f32,
    material_param_value1: f32,
    material_param_value2: f32,
    material_param_value3: f32,
    material_param_value4: f32,
    pad: [u8; 8],
}

impl ParamDef for MATERIAL_EX_PARAM_ST {
    const NAME: &str = "MATERIAL_EX_PARAM_ST";
}

impl MATERIAL_EX_PARAM_ST {
    pub fn param_name(&self) -> &[u16; 32] {
        &self.param_name
    }

    pub fn set_param_name(&mut self, value: [u16; 32]) {
        self.param_name = value;
    }

    pub fn material_id(&self) -> i32 {
        self.material_id
    }

    pub fn set_material_id(&mut self, value: i32) {
        self.material_id = value;
    }

    pub fn material_param_value0(&self) -> f32 {
        self.material_param_value0
    }

    pub fn set_material_param_value0(&mut self, value: f32) {
        self.material_param_value0 = value;
    }

    pub fn material_param_value1(&self) -> f32 {
        self.material_param_value1
    }

    pub fn set_material_param_value1(&mut self, value: f32) {
        self.material_param_value1 = value;
    }

    pub fn material_param_value2(&self) -> f32 {
        self.material_param_value2
    }

    pub fn set_material_param_value2(&mut self, value: f32) {
        self.material_param_value2 = value;
    }

    pub fn material_param_value3(&self) -> f32 {
        self.material_param_value3
    }

    pub fn set_material_param_value3(&mut self, value: f32) {
        self.material_param_value3 = value;
    }

    pub fn material_param_value4(&self) -> f32 {
        self.material_param_value4
    }

    pub fn set_material_param_value4(&mut self, value: f32) {
        self.material_param_value4 = 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,
    icon_id: i32,
}

impl ParamDef for MENUPROPERTY_LAYOUT {
    const NAME: &str = "MENUPROPERTY_LAYOUT";
}

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;
    }

    pub fn icon_id(&self) -> i32 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i32) {
        self.icon_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: u32,
    compare_type: i8,
    pad2: [u8; 1],
    format_type: u16,
    unknown_1: [u8; 4],
    unknown_2: f32,
    pad: [u8; 8],
}

impl ParamDef for MENUPROPERTY_SPEC {
    const NAME: &str = "MENUPROPERTY_SPEC";
}

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) -> u32 {
        self.required_property_id
    }

    pub fn set_required_property_id(&mut self, value: u32) {
        self.required_property_id = value;
    }

    pub fn compare_type(&self) -> i8 {
        self.compare_type
    }

    pub fn set_compare_type(&mut self, value: i8) {
        self.compare_type = value;
    }

    pub fn format_type(&self) -> u16 {
        self.format_type
    }

    pub fn set_format_type(&mut self, value: u16) {
        self.format_type = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MENU_COMMON_PARAM_ST {
    solo_play_death_to_fade_out_time: f32,
    party_ghost_death_to_fade_out_time: f32,
    player_max_hp_limit: i32,
    player_max_mp_limit: i32,
    player_max_sp_limit: i32,
    action_panel_change_threshold_vel: f32,
    action_panel_change_threshold_pass_time: f32,
    kg_icon_vspace: i32,
    world_map_cursor_select_radius: f32,
    unknown_int_1: i32,
    decal_pos_offset_x: i32,
    decal_pos_offset_y: i32,
    target_state_search_duration_time: f32,
    target_state_battle_duration_time: f32,
    world_map_cursor_speed: f32,
    world_map_cursor_first_distance: f32,
    world_map_cursor_first_delay: f32,
    world_map_cursor_wait_time: f32,
    world_map_cursor_snap_radius: f32,
    world_map_cursor_snap_time: f32,
    item_get_log_alive_time: f32,
    player_max_sa_limit: i32,
    world_map_is_changeable_layer_event_flag_id: u32,
    world_map_travel_margin: f32,
    system_announce_scroll_buffer_time: f32,
    system_announce_scroll_speed: i32,
    system_announce_no_scroll_wait_time: f32,
    system_announce_scroll_count: u8,
    unknown_byte_1: u8,
    unknown_byte_2: u8,
    unknown_byte_3: u8,
    compass_memo_disp_distance: f32,
    compass_bonfire_disp_distance: f32,
    marker_goal_threshold: f32,
    sv_slider_step: f32,
    pre_opening_movie_wait_sec: f32,
    kg_icon_scale: f32,
    kg_icon_scale_for_table: f32,
    kg_icon_vspace_for_table: i32,
    kg_icon_scale_for_config: f32,
    kg_icon_vspace_for_config: i32,
    world_map_search_radius: f32,
    tutorial_display_time: f32,
    compass_friend_host_inner_distance: f32,
    compass_enemy_host_inner_distance: f32,
    compass_friend_guest_inner_distance: f32,
    cutscene_key_guide_alive_time: f32,
    auto_hide_hp_threshold_ratio: f32,
    auto_hide_hp_threshold_value: i32,
    auto_hide_mp_threshold_ratio: f32,
    auto_hide_mp_threshold_value: i32,
    auto_hide_sp_threshold_ratio: f32,
    auto_hide_sp_threshold_value: i32,
    world_map_zoom_animation_time: f32,
    world_map_icon_scale_min: f32,
    world_map_travel_margin_point: f32,
    enemy_tag_safe_left: u16,
    enemy_tag_safe_right: u16,
    enemy_tag_safe_top: u16,
    enemy_tag_safe_bottom: u16,
    pc_horse_hp_recover_disp_threshold: u32,
    unknown_1: f32,
    unknown_2: f32,
    unknown_3: f32,
    unknown_4: f32,
    unknown_5: f32,
    unknown_6: f32,
    unknown_7: f32,
    unknown_8: f32,
    unknown_9: f32,
    unknown_10: i32,
    unknown_11: f32,
    unknown_12: f32,
    unknown_13: f32,
}

impl ParamDef for MENU_COMMON_PARAM_ST {
    const NAME: &str = "MENU_COMMON_PARAM_ST";
}

impl MENU_COMMON_PARAM_ST {
    pub fn solo_play_death_to_fade_out_time(&self) -> f32 {
        self.solo_play_death_to_fade_out_time
    }

    pub fn set_solo_play_death_to_fade_out_time(&mut self, value: f32) {
        self.solo_play_death_to_fade_out_time = value;
    }

    pub fn party_ghost_death_to_fade_out_time(&self) -> f32 {
        self.party_ghost_death_to_fade_out_time
    }

    pub fn set_party_ghost_death_to_fade_out_time(&mut self, value: f32) {
        self.party_ghost_death_to_fade_out_time = value;
    }

    pub fn player_max_hp_limit(&self) -> i32 {
        self.player_max_hp_limit
    }

    pub fn set_player_max_hp_limit(&mut self, value: i32) {
        self.player_max_hp_limit = value;
    }

    pub fn player_max_mp_limit(&self) -> i32 {
        self.player_max_mp_limit
    }

    pub fn set_player_max_mp_limit(&mut self, value: i32) {
        self.player_max_mp_limit = value;
    }

    pub fn player_max_sp_limit(&self) -> i32 {
        self.player_max_sp_limit
    }

    pub fn set_player_max_sp_limit(&mut self, value: i32) {
        self.player_max_sp_limit = value;
    }

    pub fn action_panel_change_threshold_vel(&self) -> f32 {
        self.action_panel_change_threshold_vel
    }

    pub fn set_action_panel_change_threshold_vel(&mut self, value: f32) {
        self.action_panel_change_threshold_vel = value;
    }

    pub fn action_panel_change_threshold_pass_time(&self) -> f32 {
        self.action_panel_change_threshold_pass_time
    }

    pub fn set_action_panel_change_threshold_pass_time(&mut self, value: f32) {
        self.action_panel_change_threshold_pass_time = value;
    }

    pub fn kg_icon_vspace(&self) -> i32 {
        self.kg_icon_vspace
    }

    pub fn set_kg_icon_vspace(&mut self, value: i32) {
        self.kg_icon_vspace = value;
    }

    pub fn world_map_cursor_select_radius(&self) -> f32 {
        self.world_map_cursor_select_radius
    }

    pub fn set_world_map_cursor_select_radius(&mut self, value: f32) {
        self.world_map_cursor_select_radius = value;
    }

    pub fn decal_pos_offset_x(&self) -> i32 {
        self.decal_pos_offset_x
    }

    pub fn set_decal_pos_offset_x(&mut self, value: i32) {
        self.decal_pos_offset_x = value;
    }

    pub fn decal_pos_offset_y(&self) -> i32 {
        self.decal_pos_offset_y
    }

    pub fn set_decal_pos_offset_y(&mut self, value: i32) {
        self.decal_pos_offset_y = value;
    }

    pub fn target_state_search_duration_time(&self) -> f32 {
        self.target_state_search_duration_time
    }

    pub fn set_target_state_search_duration_time(&mut self, value: f32) {
        self.target_state_search_duration_time = value;
    }

    pub fn target_state_battle_duration_time(&self) -> f32 {
        self.target_state_battle_duration_time
    }

    pub fn set_target_state_battle_duration_time(&mut self, value: f32) {
        self.target_state_battle_duration_time = value;
    }

    pub fn world_map_cursor_speed(&self) -> f32 {
        self.world_map_cursor_speed
    }

    pub fn set_world_map_cursor_speed(&mut self, value: f32) {
        self.world_map_cursor_speed = value;
    }

    pub fn world_map_cursor_first_distance(&self) -> f32 {
        self.world_map_cursor_first_distance
    }

    pub fn set_world_map_cursor_first_distance(&mut self, value: f32) {
        self.world_map_cursor_first_distance = value;
    }

    pub fn world_map_cursor_first_delay(&self) -> f32 {
        self.world_map_cursor_first_delay
    }

    pub fn set_world_map_cursor_first_delay(&mut self, value: f32) {
        self.world_map_cursor_first_delay = value;
    }

    pub fn world_map_cursor_wait_time(&self) -> f32 {
        self.world_map_cursor_wait_time
    }

    pub fn set_world_map_cursor_wait_time(&mut self, value: f32) {
        self.world_map_cursor_wait_time = value;
    }

    pub fn world_map_cursor_snap_radius(&self) -> f32 {
        self.world_map_cursor_snap_radius
    }

    pub fn set_world_map_cursor_snap_radius(&mut self, value: f32) {
        self.world_map_cursor_snap_radius = value;
    }

    pub fn world_map_cursor_snap_time(&self) -> f32 {
        self.world_map_cursor_snap_time
    }

    pub fn set_world_map_cursor_snap_time(&mut self, value: f32) {
        self.world_map_cursor_snap_time = value;
    }

    pub fn item_get_log_alive_time(&self) -> f32 {
        self.item_get_log_alive_time
    }

    pub fn set_item_get_log_alive_time(&mut self, value: f32) {
        self.item_get_log_alive_time = value;
    }

    pub fn player_max_sa_limit(&self) -> i32 {
        self.player_max_sa_limit
    }

    pub fn set_player_max_sa_limit(&mut self, value: i32) {
        self.player_max_sa_limit = value;
    }

    pub fn world_map_is_changeable_layer_event_flag_id(&self) -> u32 {
        self.world_map_is_changeable_layer_event_flag_id
    }

    pub fn set_world_map_is_changeable_layer_event_flag_id(&mut self, value: u32) {
        self.world_map_is_changeable_layer_event_flag_id = value;
    }

    pub fn world_map_travel_margin(&self) -> f32 {
        self.world_map_travel_margin
    }

    pub fn set_world_map_travel_margin(&mut self, value: f32) {
        self.world_map_travel_margin = value;
    }

    pub fn system_announce_scroll_buffer_time(&self) -> f32 {
        self.system_announce_scroll_buffer_time
    }

    pub fn set_system_announce_scroll_buffer_time(&mut self, value: f32) {
        self.system_announce_scroll_buffer_time = value;
    }

    pub fn system_announce_scroll_speed(&self) -> i32 {
        self.system_announce_scroll_speed
    }

    pub fn set_system_announce_scroll_speed(&mut self, value: i32) {
        self.system_announce_scroll_speed = value;
    }

    pub fn system_announce_no_scroll_wait_time(&self) -> f32 {
        self.system_announce_no_scroll_wait_time
    }

    pub fn set_system_announce_no_scroll_wait_time(&mut self, value: f32) {
        self.system_announce_no_scroll_wait_time = value;
    }

    pub fn system_announce_scroll_count(&self) -> u8 {
        self.system_announce_scroll_count
    }

    pub fn set_system_announce_scroll_count(&mut self, value: u8) {
        self.system_announce_scroll_count = value;
    }

    pub fn compass_memo_disp_distance(&self) -> f32 {
        self.compass_memo_disp_distance
    }

    pub fn set_compass_memo_disp_distance(&mut self, value: f32) {
        self.compass_memo_disp_distance = value;
    }

    pub fn compass_bonfire_disp_distance(&self) -> f32 {
        self.compass_bonfire_disp_distance
    }

    pub fn set_compass_bonfire_disp_distance(&mut self, value: f32) {
        self.compass_bonfire_disp_distance = value;
    }

    pub fn marker_goal_threshold(&self) -> f32 {
        self.marker_goal_threshold
    }

    pub fn set_marker_goal_threshold(&mut self, value: f32) {
        self.marker_goal_threshold = value;
    }

    pub fn sv_slider_step(&self) -> f32 {
        self.sv_slider_step
    }

    pub fn set_sv_slider_step(&mut self, value: f32) {
        self.sv_slider_step = value;
    }

    pub fn pre_opening_movie_wait_sec(&self) -> f32 {
        self.pre_opening_movie_wait_sec
    }

    pub fn set_pre_opening_movie_wait_sec(&mut self, value: f32) {
        self.pre_opening_movie_wait_sec = value;
    }

    pub fn kg_icon_scale(&self) -> f32 {
        self.kg_icon_scale
    }

    pub fn set_kg_icon_scale(&mut self, value: f32) {
        self.kg_icon_scale = value;
    }

    pub fn kg_icon_scale_for_table(&self) -> f32 {
        self.kg_icon_scale_for_table
    }

    pub fn set_kg_icon_scale_for_table(&mut self, value: f32) {
        self.kg_icon_scale_for_table = value;
    }

    pub fn kg_icon_vspace_for_table(&self) -> i32 {
        self.kg_icon_vspace_for_table
    }

    pub fn set_kg_icon_vspace_for_table(&mut self, value: i32) {
        self.kg_icon_vspace_for_table = value;
    }

    pub fn kg_icon_scale_for_config(&self) -> f32 {
        self.kg_icon_scale_for_config
    }

    pub fn set_kg_icon_scale_for_config(&mut self, value: f32) {
        self.kg_icon_scale_for_config = value;
    }

    pub fn kg_icon_vspace_for_config(&self) -> i32 {
        self.kg_icon_vspace_for_config
    }

    pub fn set_kg_icon_vspace_for_config(&mut self, value: i32) {
        self.kg_icon_vspace_for_config = value;
    }

    pub fn world_map_search_radius(&self) -> f32 {
        self.world_map_search_radius
    }

    pub fn set_world_map_search_radius(&mut self, value: f32) {
        self.world_map_search_radius = value;
    }

    pub fn tutorial_display_time(&self) -> f32 {
        self.tutorial_display_time
    }

    pub fn set_tutorial_display_time(&mut self, value: f32) {
        self.tutorial_display_time = value;
    }

    pub fn compass_friend_host_inner_distance(&self) -> f32 {
        self.compass_friend_host_inner_distance
    }

    pub fn set_compass_friend_host_inner_distance(&mut self, value: f32) {
        self.compass_friend_host_inner_distance = value;
    }

    pub fn compass_enemy_host_inner_distance(&self) -> f32 {
        self.compass_enemy_host_inner_distance
    }

    pub fn set_compass_enemy_host_inner_distance(&mut self, value: f32) {
        self.compass_enemy_host_inner_distance = value;
    }

    pub fn compass_friend_guest_inner_distance(&self) -> f32 {
        self.compass_friend_guest_inner_distance
    }

    pub fn set_compass_friend_guest_inner_distance(&mut self, value: f32) {
        self.compass_friend_guest_inner_distance = value;
    }

    pub fn cutscene_key_guide_alive_time(&self) -> f32 {
        self.cutscene_key_guide_alive_time
    }

    pub fn set_cutscene_key_guide_alive_time(&mut self, value: f32) {
        self.cutscene_key_guide_alive_time = value;
    }

    pub fn auto_hide_hp_threshold_ratio(&self) -> f32 {
        self.auto_hide_hp_threshold_ratio
    }

    pub fn set_auto_hide_hp_threshold_ratio(&mut self, value: f32) {
        self.auto_hide_hp_threshold_ratio = value;
    }

    pub fn auto_hide_hp_threshold_value(&self) -> i32 {
        self.auto_hide_hp_threshold_value
    }

    pub fn set_auto_hide_hp_threshold_value(&mut self, value: i32) {
        self.auto_hide_hp_threshold_value = value;
    }

    pub fn auto_hide_mp_threshold_ratio(&self) -> f32 {
        self.auto_hide_mp_threshold_ratio
    }

    pub fn set_auto_hide_mp_threshold_ratio(&mut self, value: f32) {
        self.auto_hide_mp_threshold_ratio = value;
    }

    pub fn auto_hide_mp_threshold_value(&self) -> i32 {
        self.auto_hide_mp_threshold_value
    }

    pub fn set_auto_hide_mp_threshold_value(&mut self, value: i32) {
        self.auto_hide_mp_threshold_value = value;
    }

    pub fn auto_hide_sp_threshold_ratio(&self) -> f32 {
        self.auto_hide_sp_threshold_ratio
    }

    pub fn set_auto_hide_sp_threshold_ratio(&mut self, value: f32) {
        self.auto_hide_sp_threshold_ratio = value;
    }

    pub fn auto_hide_sp_threshold_value(&self) -> i32 {
        self.auto_hide_sp_threshold_value
    }

    pub fn set_auto_hide_sp_threshold_value(&mut self, value: i32) {
        self.auto_hide_sp_threshold_value = value;
    }

    pub fn world_map_zoom_animation_time(&self) -> f32 {
        self.world_map_zoom_animation_time
    }

    pub fn set_world_map_zoom_animation_time(&mut self, value: f32) {
        self.world_map_zoom_animation_time = value;
    }

    pub fn world_map_icon_scale_min(&self) -> f32 {
        self.world_map_icon_scale_min
    }

    pub fn set_world_map_icon_scale_min(&mut self, value: f32) {
        self.world_map_icon_scale_min = value;
    }

    pub fn world_map_travel_margin_point(&self) -> f32 {
        self.world_map_travel_margin_point
    }

    pub fn set_world_map_travel_margin_point(&mut self, value: f32) {
        self.world_map_travel_margin_point = value;
    }

    pub fn enemy_tag_safe_left(&self) -> u16 {
        self.enemy_tag_safe_left
    }

    pub fn set_enemy_tag_safe_left(&mut self, value: u16) {
        self.enemy_tag_safe_left = value;
    }

    pub fn enemy_tag_safe_right(&self) -> u16 {
        self.enemy_tag_safe_right
    }

    pub fn set_enemy_tag_safe_right(&mut self, value: u16) {
        self.enemy_tag_safe_right = value;
    }

    pub fn enemy_tag_safe_top(&self) -> u16 {
        self.enemy_tag_safe_top
    }

    pub fn set_enemy_tag_safe_top(&mut self, value: u16) {
        self.enemy_tag_safe_top = value;
    }

    pub fn enemy_tag_safe_bottom(&self) -> u16 {
        self.enemy_tag_safe_bottom
    }

    pub fn set_enemy_tag_safe_bottom(&mut self, value: u16) {
        self.enemy_tag_safe_bottom = value;
    }

    pub fn pc_horse_hp_recover_disp_threshold(&self) -> u32 {
        self.pc_horse_hp_recover_disp_threshold
    }

    pub fn set_pc_horse_hp_recover_disp_threshold(&mut self, value: u32) {
        self.pc_horse_hp_recover_disp_threshold = 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,
    env_tex_id: u32,
    grapm_id_for_ps4: u32,
    grapm_id_for_xb1: u32,
    pad: [u8; 4],
}

impl ParamDef for MENU_OFFSCR_REND_PARAM_ST {
    const NAME: &str = "MENU_OFFSCR_REND_PARAM_ST";
}

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;
    }

    pub fn env_tex_id(&self) -> u32 {
        self.env_tex_id
    }

    pub fn set_env_tex_id(&mut self, value: u32) {
        self.env_tex_id = value;
    }

    pub fn grapm_id_for_ps4(&self) -> u32 {
        self.grapm_id_for_ps4
    }

    pub fn set_grapm_id_for_ps4(&mut self, value: u32) {
        self.grapm_id_for_ps4 = value;
    }

    pub fn grapm_id_for_xb1(&self) -> u32 {
        self.grapm_id_for_xb1
    }

    pub fn set_grapm_id_for_xb1(&mut self, value: u32) {
        self.grapm_id_for_xb1 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MENU_PARAM_COLOR_TABLE_ST {
    lerp_mode: u8,
    pad1: [u8; 3],
    h: u16,
    pad2: [u8; 2],
    s1: f32,
    v1: f32,
    s2: f32,
    v2: f32,
    s3: f32,
    v3: f32,
}

impl ParamDef for MENU_PARAM_COLOR_TABLE_ST {
    const NAME: &str = "MENU_PARAM_COLOR_TABLE_ST";
}

impl MENU_PARAM_COLOR_TABLE_ST {
    pub fn lerp_mode(&self) -> u8 {
        self.lerp_mode
    }

    pub fn set_lerp_mode(&mut self, value: u8) {
        self.lerp_mode = value;
    }

    pub fn h(&self) -> u16 {
        self.h
    }

    pub fn set_h(&mut self, value: u16) {
        self.h = value;
    }

    pub fn s1(&self) -> f32 {
        self.s1
    }

    pub fn set_s1(&mut self, value: f32) {
        self.s1 = value;
    }

    pub fn v1(&self) -> f32 {
        self.v1
    }

    pub fn set_v1(&mut self, value: f32) {
        self.v1 = value;
    }

    pub fn s2(&self) -> f32 {
        self.s2
    }

    pub fn set_s2(&mut self, value: f32) {
        self.s2 = value;
    }

    pub fn v2(&self) -> f32 {
        self.v2
    }

    pub fn set_v2(&mut self, value: f32) {
        self.v2 = value;
    }

    pub fn s3(&self) -> f32 {
        self.s3
    }

    pub fn set_s3(&mut self, value: f32) {
        self.s3 = value;
    }

    pub fn v3(&self) -> f32 {
        self.v3
    }

    pub fn set_v3(&mut self, value: f32) {
        self.v3 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MENU_VALUE_TABLE_SPEC {
    value: i32,
    text_id: i32,
    compare_type: i8,
    padding: [u8; 3],
}

impl ParamDef for MENU_VALUE_TABLE_SPEC {
    const NAME: &str = "MENU_VALUE_TABLE_SPEC";
}

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) -> i8 {
        self.compare_type
    }

    pub fn set_compare_type(&mut self, value: i8) {
        self.compare_type = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MENU_WINDOW_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4a: u8,
    unknown_4b: u8,
    unknown_4c: u8,
    unknown_4d: u8,
    unknown_5: i32,
    text_id: i32,
    unknown_7: i32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: i32,
}

impl ParamDef for MENU_WINDOW_PARAM_ST {
    const NAME: &str = "MENU_WINDOW_PARAM_ST";
}

impl MENU_WINDOW_PARAM_ST {
    pub fn text_id(&self) -> i32 {
        self.text_id
    }

    pub fn set_text_id(&mut self, value: i32) {
        self.text_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MESSAGEBOX_PARAM_ST {
    unknown_0: i32,
}

impl ParamDef for MESSAGEBOX_PARAM_ST {
    const NAME: &str = "MESSAGEBOX_PARAM_ST";
}

impl MESSAGEBOX_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MIMICRY_ESTABLISHMENT_TEX_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    src_r: u8,
    src_g: u8,
    src_b: u8,
    pad1: [u8; 1],
    mimicry_establishment_param_id: i32,
    pad2: [u8; 4],
}

impl ParamDef for MIMICRY_ESTABLISHMENT_TEX_PARAM_ST {
    const NAME: &str = "MIMICRY_ESTABLISHMENT_TEX_PARAM_ST";
}

impl MIMICRY_ESTABLISHMENT_TEX_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn src_r(&self) -> u8 {
        self.src_r
    }

    pub fn set_src_r(&mut self, value: u8) {
        self.src_r = value;
    }

    pub fn src_g(&self) -> u8 {
        self.src_g
    }

    pub fn set_src_g(&mut self, value: u8) {
        self.src_g = value;
    }

    pub fn src_b(&self) -> u8 {
        self.src_b
    }

    pub fn set_src_b(&mut self, value: u8) {
        self.src_b = value;
    }

    pub fn mimicry_establishment_param_id(&self) -> i32 {
        self.mimicry_establishment_param_id
    }

    pub fn set_mimicry_establishment_param_id(&mut self, value: i32) {
        self.mimicry_establishment_param_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MISSION_MANAGEMENT_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
}

impl ParamDef for MISSION_MANAGEMENT_PARAM_ST {
    const NAME: &str = "MISSION_MANAGEMENT_PARAM_ST";
}

impl MISSION_MANAGEMENT_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MIXCRAFT_MAGIC_PARAM_ST {
    element1: u8,
    element2: u8,
    element3: u8,
    unknown_3: u8,
    magic_id: i32,
    end_padding: [u8; 8],
}

impl ParamDef for MIXCRAFT_MAGIC_PARAM_ST {
    const NAME: &str = "MIXCRAFT_MAGIC_PARAM_ST";
}

impl MIXCRAFT_MAGIC_PARAM_ST {
    pub fn element1(&self) -> u8 {
        self.element1
    }

    pub fn set_element1(&mut self, value: u8) {
        self.element1 = value;
    }

    pub fn element2(&self) -> u8 {
        self.element2
    }

    pub fn set_element2(&mut self, value: u8) {
        self.element2 = value;
    }

    pub fn element3(&self) -> u8 {
        self.element3
    }

    pub fn set_element3(&mut self, value: u8) {
        self.element3 = value;
    }

    pub fn magic_id(&self) -> i32 {
        self.magic_id
    }

    pub fn set_magic_id(&mut self, value: i32) {
        self.magic_id = 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";
}

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,
    pad1: [u8; 48],
}

impl ParamDef for MULTI_ESTUS_FLASK_BONUS_PARAM_ST {
    const NAME: &str = "MULTI_ESTUS_FLASK_BONUS_PARAM_ST";
}

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 {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    client1_sp_effect_id: i32,
    client2_sp_effect_id: i32,
    client3_sp_effect_id: i32,
    b_override_sp_effect: u8,
    pad3: [u8; 15],
}

impl ParamDef for MULTI_PLAY_CORRECTION_PARAM_ST {
    const NAME: &str = "MULTI_PLAY_CORRECTION_PARAM_ST";
}

impl MULTI_PLAY_CORRECTION_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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) -> u8 {
        self.b_override_sp_effect
    }

    pub fn set_b_override_sp_effect(&mut self, value: u8) {
        self.b_override_sp_effect = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct MULTI_SOUL_BONUS_RATE_PARAM_ST {
    host: f32,
    white_ghost_none: f32,
    white_ghost_umbasa: f32,
    white_ghost_berserker: f32,
    black_ghost_none_sign: f32,
    black_ghost_umbasa_sign: f32,
    black_ghost_berserker_sign: f32,
    black_ghost_none_invade: f32,
    black_ghost_umbasa_invade: f32,
    black_ghost_berserker_invade: f32,
    red_hunter1: f32,
    red_hunter2: f32,
    guardian_of_forest: f32,
    guardian_of_anor: f32,
    battle_royal: f32,
    yellow_monk: f32,
    pad1: [u8; 64],
}

impl ParamDef for MULTI_SOUL_BONUS_RATE_PARAM_ST {
    const NAME: &str = "MULTI_SOUL_BONUS_RATE_PARAM_ST";
}

impl MULTI_SOUL_BONUS_RATE_PARAM_ST {
    pub fn host(&self) -> f32 {
        self.host
    }

    pub fn set_host(&mut self, value: f32) {
        self.host = value;
    }

    pub fn white_ghost_none(&self) -> f32 {
        self.white_ghost_none
    }

    pub fn set_white_ghost_none(&mut self, value: f32) {
        self.white_ghost_none = value;
    }

    pub fn white_ghost_umbasa(&self) -> f32 {
        self.white_ghost_umbasa
    }

    pub fn set_white_ghost_umbasa(&mut self, value: f32) {
        self.white_ghost_umbasa = value;
    }

    pub fn white_ghost_berserker(&self) -> f32 {
        self.white_ghost_berserker
    }

    pub fn set_white_ghost_berserker(&mut self, value: f32) {
        self.white_ghost_berserker = value;
    }

    pub fn black_ghost_none_sign(&self) -> f32 {
        self.black_ghost_none_sign
    }

    pub fn set_black_ghost_none_sign(&mut self, value: f32) {
        self.black_ghost_none_sign = value;
    }

    pub fn black_ghost_umbasa_sign(&self) -> f32 {
        self.black_ghost_umbasa_sign
    }

    pub fn set_black_ghost_umbasa_sign(&mut self, value: f32) {
        self.black_ghost_umbasa_sign = value;
    }

    pub fn black_ghost_berserker_sign(&self) -> f32 {
        self.black_ghost_berserker_sign
    }

    pub fn set_black_ghost_berserker_sign(&mut self, value: f32) {
        self.black_ghost_berserker_sign = value;
    }

    pub fn black_ghost_none_invade(&self) -> f32 {
        self.black_ghost_none_invade
    }

    pub fn set_black_ghost_none_invade(&mut self, value: f32) {
        self.black_ghost_none_invade = value;
    }

    pub fn black_ghost_umbasa_invade(&self) -> f32 {
        self.black_ghost_umbasa_invade
    }

    pub fn set_black_ghost_umbasa_invade(&mut self, value: f32) {
        self.black_ghost_umbasa_invade = value;
    }

    pub fn black_ghost_berserker_invade(&self) -> f32 {
        self.black_ghost_berserker_invade
    }

    pub fn set_black_ghost_berserker_invade(&mut self, value: f32) {
        self.black_ghost_berserker_invade = value;
    }

    pub fn red_hunter1(&self) -> f32 {
        self.red_hunter1
    }

    pub fn set_red_hunter1(&mut self, value: f32) {
        self.red_hunter1 = value;
    }

    pub fn red_hunter2(&self) -> f32 {
        self.red_hunter2
    }

    pub fn set_red_hunter2(&mut self, value: f32) {
        self.red_hunter2 = value;
    }

    pub fn guardian_of_forest(&self) -> f32 {
        self.guardian_of_forest
    }

    pub fn set_guardian_of_forest(&mut self, value: f32) {
        self.guardian_of_forest = value;
    }

    pub fn guardian_of_anor(&self) -> f32 {
        self.guardian_of_anor
    }

    pub fn set_guardian_of_anor(&mut self, value: f32) {
        self.guardian_of_anor = value;
    }

    pub fn battle_royal(&self) -> f32 {
        self.battle_royal
    }

    pub fn set_battle_royal(&mut self, value: f32) {
        self.battle_royal = value;
    }

    pub fn yellow_monk(&self) -> f32 {
        self.yellow_monk
    }

    pub fn set_yellow_monk(&mut self, value: f32) {
        self.yellow_monk = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct NETWORK_MSG_PARAM_ST {
    priority: u16,
    force_play: u8,
    pad1: [u8; 1],
    normal_white: i32,
    umbasa_white: i32,
    berserker_white: i32,
    sinner_hero_white: i32,
    normal_black: i32,
    umbasa_black: i32,
    berserker_black: i32,
    force_join_black: i32,
    force_join_umbasa_black: i32,
    force_join_berserker_black: i32,
    sinner_hunter_visitor: i32,
    red_hunter_visitor: i32,
    guardian_of_boss_visitor: i32,
    guardian_of_forest_map_visitor: i32,
    guardian_of_anolis_visitor: i32,
    rosalia_black: i32,
    force_join_rosalia_black: i32,
    red_hunter_visitor2: i32,
    npc1: i32,
    npc2: i32,
    npc3: i32,
    npc4: i32,
    battle_royal: i32,
    npc5: i32,
    npc6: i32,
    npc7: i32,
    npc8: i32,
    npc9: i32,
    npc10: i32,
    npc11: i32,
    npc12: i32,
    npc13: i32,
    npc14: i32,
    npc15: i32,
    npc16: i32,
    force_join_black_b: i32,
    normal_white_npc: i32,
    force_join_black_npc: i32,
    force_join_black_b_npc: i32,
    force_join_black_c_npc: i32,
    unknown_0xa4: i32,
    unknown_0xa8: i32,
    unknown_0xac: i32,
    unknown_0xb0: i32,
    unknown_0xb4: i32,
    pad2_new: [u8; 8],
}

impl ParamDef for NETWORK_MSG_PARAM_ST {
    const NAME: &str = "NETWORK_MSG_PARAM_ST";
}

impl NETWORK_MSG_PARAM_ST {
    pub fn priority(&self) -> u16 {
        self.priority
    }

    pub fn set_priority(&mut self, value: u16) {
        self.priority = value;
    }

    pub fn force_play(&self) -> u8 {
        self.force_play
    }

    pub fn set_force_play(&mut self, value: u8) {
        self.force_play = value;
    }

    pub fn normal_white(&self) -> i32 {
        self.normal_white
    }

    pub fn set_normal_white(&mut self, value: i32) {
        self.normal_white = value;
    }

    pub fn umbasa_white(&self) -> i32 {
        self.umbasa_white
    }

    pub fn set_umbasa_white(&mut self, value: i32) {
        self.umbasa_white = value;
    }

    pub fn berserker_white(&self) -> i32 {
        self.berserker_white
    }

    pub fn set_berserker_white(&mut self, value: i32) {
        self.berserker_white = value;
    }

    pub fn sinner_hero_white(&self) -> i32 {
        self.sinner_hero_white
    }

    pub fn set_sinner_hero_white(&mut self, value: i32) {
        self.sinner_hero_white = value;
    }

    pub fn normal_black(&self) -> i32 {
        self.normal_black
    }

    pub fn set_normal_black(&mut self, value: i32) {
        self.normal_black = value;
    }

    pub fn umbasa_black(&self) -> i32 {
        self.umbasa_black
    }

    pub fn set_umbasa_black(&mut self, value: i32) {
        self.umbasa_black = value;
    }

    pub fn berserker_black(&self) -> i32 {
        self.berserker_black
    }

    pub fn set_berserker_black(&mut self, value: i32) {
        self.berserker_black = value;
    }

    pub fn force_join_black(&self) -> i32 {
        self.force_join_black
    }

    pub fn set_force_join_black(&mut self, value: i32) {
        self.force_join_black = value;
    }

    pub fn force_join_umbasa_black(&self) -> i32 {
        self.force_join_umbasa_black
    }

    pub fn set_force_join_umbasa_black(&mut self, value: i32) {
        self.force_join_umbasa_black = value;
    }

    pub fn force_join_berserker_black(&self) -> i32 {
        self.force_join_berserker_black
    }

    pub fn set_force_join_berserker_black(&mut self, value: i32) {
        self.force_join_berserker_black = value;
    }

    pub fn sinner_hunter_visitor(&self) -> i32 {
        self.sinner_hunter_visitor
    }

    pub fn set_sinner_hunter_visitor(&mut self, value: i32) {
        self.sinner_hunter_visitor = value;
    }

    pub fn red_hunter_visitor(&self) -> i32 {
        self.red_hunter_visitor
    }

    pub fn set_red_hunter_visitor(&mut self, value: i32) {
        self.red_hunter_visitor = value;
    }

    pub fn guardian_of_boss_visitor(&self) -> i32 {
        self.guardian_of_boss_visitor
    }

    pub fn set_guardian_of_boss_visitor(&mut self, value: i32) {
        self.guardian_of_boss_visitor = value;
    }

    pub fn guardian_of_forest_map_visitor(&self) -> i32 {
        self.guardian_of_forest_map_visitor
    }

    pub fn set_guardian_of_forest_map_visitor(&mut self, value: i32) {
        self.guardian_of_forest_map_visitor = value;
    }

    pub fn guardian_of_anolis_visitor(&self) -> i32 {
        self.guardian_of_anolis_visitor
    }

    pub fn set_guardian_of_anolis_visitor(&mut self, value: i32) {
        self.guardian_of_anolis_visitor = value;
    }

    pub fn rosalia_black(&self) -> i32 {
        self.rosalia_black
    }

    pub fn set_rosalia_black(&mut self, value: i32) {
        self.rosalia_black = value;
    }

    pub fn force_join_rosalia_black(&self) -> i32 {
        self.force_join_rosalia_black
    }

    pub fn set_force_join_rosalia_black(&mut self, value: i32) {
        self.force_join_rosalia_black = value;
    }

    pub fn red_hunter_visitor2(&self) -> i32 {
        self.red_hunter_visitor2
    }

    pub fn set_red_hunter_visitor2(&mut self, value: i32) {
        self.red_hunter_visitor2 = value;
    }

    pub fn npc1(&self) -> i32 {
        self.npc1
    }

    pub fn set_npc1(&mut self, value: i32) {
        self.npc1 = value;
    }

    pub fn npc2(&self) -> i32 {
        self.npc2
    }

    pub fn set_npc2(&mut self, value: i32) {
        self.npc2 = value;
    }

    pub fn npc3(&self) -> i32 {
        self.npc3
    }

    pub fn set_npc3(&mut self, value: i32) {
        self.npc3 = value;
    }

    pub fn npc4(&self) -> i32 {
        self.npc4
    }

    pub fn set_npc4(&mut self, value: i32) {
        self.npc4 = value;
    }

    pub fn battle_royal(&self) -> i32 {
        self.battle_royal
    }

    pub fn set_battle_royal(&mut self, value: i32) {
        self.battle_royal = value;
    }

    pub fn npc5(&self) -> i32 {
        self.npc5
    }

    pub fn set_npc5(&mut self, value: i32) {
        self.npc5 = value;
    }

    pub fn npc6(&self) -> i32 {
        self.npc6
    }

    pub fn set_npc6(&mut self, value: i32) {
        self.npc6 = value;
    }

    pub fn npc7(&self) -> i32 {
        self.npc7
    }

    pub fn set_npc7(&mut self, value: i32) {
        self.npc7 = value;
    }

    pub fn npc8(&self) -> i32 {
        self.npc8
    }

    pub fn set_npc8(&mut self, value: i32) {
        self.npc8 = value;
    }

    pub fn npc9(&self) -> i32 {
        self.npc9
    }

    pub fn set_npc9(&mut self, value: i32) {
        self.npc9 = value;
    }

    pub fn npc10(&self) -> i32 {
        self.npc10
    }

    pub fn set_npc10(&mut self, value: i32) {
        self.npc10 = value;
    }

    pub fn npc11(&self) -> i32 {
        self.npc11
    }

    pub fn set_npc11(&mut self, value: i32) {
        self.npc11 = value;
    }

    pub fn npc12(&self) -> i32 {
        self.npc12
    }

    pub fn set_npc12(&mut self, value: i32) {
        self.npc12 = value;
    }

    pub fn npc13(&self) -> i32 {
        self.npc13
    }

    pub fn set_npc13(&mut self, value: i32) {
        self.npc13 = value;
    }

    pub fn npc14(&self) -> i32 {
        self.npc14
    }

    pub fn set_npc14(&mut self, value: i32) {
        self.npc14 = value;
    }

    pub fn npc15(&self) -> i32 {
        self.npc15
    }

    pub fn set_npc15(&mut self, value: i32) {
        self.npc15 = value;
    }

    pub fn npc16(&self) -> i32 {
        self.npc16
    }

    pub fn set_npc16(&mut self, value: i32) {
        self.npc16 = value;
    }

    pub fn force_join_black_b(&self) -> i32 {
        self.force_join_black_b
    }

    pub fn set_force_join_black_b(&mut self, value: i32) {
        self.force_join_black_b = value;
    }

    pub fn normal_white_npc(&self) -> i32 {
        self.normal_white_npc
    }

    pub fn set_normal_white_npc(&mut self, value: i32) {
        self.normal_white_npc = value;
    }

    pub fn force_join_black_npc(&self) -> i32 {
        self.force_join_black_npc
    }

    pub fn set_force_join_black_npc(&mut self, value: i32) {
        self.force_join_black_npc = value;
    }

    pub fn force_join_black_b_npc(&self) -> i32 {
        self.force_join_black_b_npc
    }

    pub fn set_force_join_black_b_npc(&mut self, value: i32) {
        self.force_join_black_b_npc = value;
    }

    pub fn force_join_black_c_npc(&self) -> i32 {
        self.force_join_black_c_npc
    }

    pub fn set_force_join_black_c_npc(&mut self, value: i32) {
        self.force_join_black_c_npc = 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,
    break_in_request_area_count: u8,
    pad_1: [u8; 3],
    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,
    unknown_1: i32,
    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,
    unknown_2: u8,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: i32,
    unknown_11: i32,
    unknown_12: i32,
    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,
    unknown_13: i32,
    unknown_14: i32,
    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,
    unknown_15: f32,
    unknown_16: f32,
    unknown_17: f32,
    yellow_monk_time_out_time: f32,
    yellow_monk_download_span: f32,
    yellow_monk_overall_flow_time_out_time: f32,
    unknown_18: i32,
    unknown_19: f32,
    unknown_20: f32,
    unknown_21: f32,
    unknown_22: i32,
    unknown_23: i32,
    unknown_24: i32,
}

impl ParamDef for NETWORK_PARAM_ST {
    const NAME: &str = "NETWORK_PARAM_ST";
}

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 break_in_request_area_count(&self) -> u8 {
        self.break_in_request_area_count
    }

    pub fn set_break_in_request_area_count(&mut self, value: u8) {
        self.break_in_request_area_count = 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 NIGHT_BOSS_MENU_PARAM_ST {
    unknown_0: i32,
    expedition_name_id: i32,
    boss_icon_id: i32,
    unlock_event_flag: i32,
    defeat_event_flag: i32,
    unknown_5: i32,
    boss_name_id: i32,
    defeated_boss_icon_id: i32,
    sort_id: i32,
    description_id: i32,
    expedition_background_id: i32,
    unknown_11: i32,
    unknown_12: i32,
    unknown_13: i32,
    unknown_14: i32,
    large_boss_icon_id: i32,
}

impl ParamDef for NIGHT_BOSS_MENU_PARAM_ST {
    const NAME: &str = "NIGHT_BOSS_MENU_PARAM_ST";
}

impl NIGHT_BOSS_MENU_PARAM_ST {
    pub fn expedition_name_id(&self) -> i32 {
        self.expedition_name_id
    }

    pub fn set_expedition_name_id(&mut self, value: i32) {
        self.expedition_name_id = value;
    }

    pub fn boss_icon_id(&self) -> i32 {
        self.boss_icon_id
    }

    pub fn set_boss_icon_id(&mut self, value: i32) {
        self.boss_icon_id = value;
    }

    pub fn unlock_event_flag(&self) -> i32 {
        self.unlock_event_flag
    }

    pub fn set_unlock_event_flag(&mut self, value: i32) {
        self.unlock_event_flag = value;
    }

    pub fn defeat_event_flag(&self) -> i32 {
        self.defeat_event_flag
    }

    pub fn set_defeat_event_flag(&mut self, value: i32) {
        self.defeat_event_flag = value;
    }

    pub fn boss_name_id(&self) -> i32 {
        self.boss_name_id
    }

    pub fn set_boss_name_id(&mut self, value: i32) {
        self.boss_name_id = value;
    }

    pub fn defeated_boss_icon_id(&self) -> i32 {
        self.defeated_boss_icon_id
    }

    pub fn set_defeated_boss_icon_id(&mut self, value: i32) {
        self.defeated_boss_icon_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 description_id(&self) -> i32 {
        self.description_id
    }

    pub fn set_description_id(&mut self, value: i32) {
        self.description_id = value;
    }

    pub fn expedition_background_id(&self) -> i32 {
        self.expedition_background_id
    }

    pub fn set_expedition_background_id(&mut self, value: i32) {
        self.expedition_background_id = value;
    }

    pub fn large_boss_icon_id(&self) -> i32 {
        self.large_boss_icon_id
    }

    pub fn set_large_boss_icon_id(&mut self, value: i32) {
        self.large_boss_icon_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct NPCBOT_TABLE_PARAM_ST {
    npc_param_id: i32,
    npc_think_id: i32,
    chara_init_param_id: i32,
    unknown_3: i32,
}

impl ParamDef for NPCBOT_TABLE_PARAM_ST {
    const NAME: &str = "NPCBOT_TABLE_PARAM_ST";
}

impl NPCBOT_TABLE_PARAM_ST {
    pub fn npc_param_id(&self) -> i32 {
        self.npc_param_id
    }

    pub fn set_npc_param_id(&mut self, value: i32) {
        self.npc_param_id = value;
    }

    pub fn npc_think_id(&self) -> i32 {
        self.npc_think_id
    }

    pub fn set_npc_think_id(&mut self, value: i32) {
        self.npc_think_id = value;
    }

    pub fn chara_init_param_id(&self) -> i32 {
        self.chara_init_param_id
    }

    pub fn set_chara_init_param_id(&mut self, value: i32) {
        self.chara_init_param_id = 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";
}

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_AI_BEHAVIOR_PROBABILITY_PARAM_ST {
    param000: i16,
    param001: i16,
    param002: i16,
    param003: i16,
    param004: i16,
    param005: i16,
    param006: i16,
    param007: i16,
    param008: i16,
    param009: i16,
    param010: i16,
    param011: i16,
    param012: i16,
    param013: i16,
    param014: i16,
    param015: i16,
    param016: i16,
    param017: i16,
    param018: i16,
    param019: i16,
    param020: i16,
    param021: i16,
    param022: i16,
    param023: i16,
    param024: i16,
    param025: i16,
    param026: i16,
    param027: i16,
    param028: i16,
    param029: i16,
    param030: i16,
    param031: i16,
    param032: i16,
    param033: i16,
    param034: i16,
    param035: i16,
    param036: i16,
    param037: i16,
    param038: i16,
    param039: i16,
    param040: i16,
    param041: i16,
    param042: i16,
    param043: i16,
    param044: i16,
    param045: i16,
    param046: i16,
    param047: i16,
    param048: i16,
    param049: i16,
    param050: i16,
    param051: i16,
    param052: i16,
    param053: i16,
    param054: i16,
    param055: i16,
    param056: i16,
    param057: i16,
    param058: i16,
    param059: i16,
    param060: i16,
    param061: i16,
    param062: i16,
    param063: i16,
    param064: i16,
    param065: i16,
    param066: i16,
    param067: i16,
    param068: i16,
    param069: i16,
    param070: i16,
    param071: i16,
    param072: i16,
    param073: i16,
    param074: i16,
    param075: i16,
    param076: i16,
    param077: i16,
    param078: i16,
    param079: i16,
    param080: i16,
    param081: i16,
    param082: i16,
    param083: i16,
    param084: i16,
    param085: i16,
    param086: i16,
    param087: i16,
    param088: i16,
    param089: i16,
    param090: i16,
    param091: i16,
    param092: i16,
    param093: i16,
    param094: i16,
    param095: i16,
    param096: i16,
    param097: i16,
    param098: i16,
    param099: i16,
    param100: i16,
    param101: i16,
    param102: i16,
    param103: i16,
    param104: i16,
    param105: i16,
    param106: i16,
    param107: i16,
    param108: i16,
    param109: i16,
    param110: i16,
    param111: i16,
    param112: i16,
    param113: i16,
    param114: i16,
    param115: i16,
    param116: i16,
    param117: i16,
    param118: i16,
    param119: i16,
    param120: i16,
    param121: i16,
    param122: i16,
    param123: i16,
    param124: i16,
    param125: i16,
    param126: i16,
    param127: i16,
    param128: i16,
    param129: i16,
    param130: i16,
    param131: i16,
    param132: i16,
    param133: i16,
    param134: i16,
    param135: i16,
    param136: i16,
    param137: i16,
    param138: i16,
    param139: i16,
    param140: i16,
    param141: i16,
    param142: i16,
    param143: i16,
    param144: i16,
    param145: i16,
    param146: i16,
    param147: i16,
    param148: i16,
    param149: i16,
    param150: i16,
    param151: i16,
    param152: i16,
    param153: i16,
    param154: i16,
    param155: i16,
    param156: i16,
    param157: i16,
    param158: i16,
    param159: i16,
    param160: i16,
    param161: i16,
    param162: i16,
    param163: i16,
    param164: i16,
    param165: i16,
    param166: i16,
    param167: i16,
    param168: i16,
    param169: i16,
    param170: i16,
    param171: i16,
    param172: i16,
    param173: i16,
    param174: i16,
    param175: i16,
    param176: i16,
    param177: i16,
    param178: i16,
    param179: i16,
    param180: i16,
    param181: i16,
    param182: i16,
    param183: i16,
    param184: i16,
    param185: i16,
    param186: i16,
    param187: i16,
    param188: i16,
    param189: i16,
    param190: i16,
    param191: i16,
    param192: i16,
    param193: i16,
    param194: i16,
    param195: i16,
    param196: i16,
    param197: i16,
    param198: i16,
    param199: i16,
}

impl ParamDef for NPC_AI_BEHAVIOR_PROBABILITY_PARAM_ST {
    const NAME: &str = "NPC_AI_BEHAVIOR_PROBABILITY_PARAM_ST";
}

impl NPC_AI_BEHAVIOR_PROBABILITY_PARAM_ST {
    pub fn param000(&self) -> i16 {
        self.param000
    }

    pub fn set_param000(&mut self, value: i16) {
        self.param000 = value;
    }

    pub fn param001(&self) -> i16 {
        self.param001
    }

    pub fn set_param001(&mut self, value: i16) {
        self.param001 = value;
    }

    pub fn param002(&self) -> i16 {
        self.param002
    }

    pub fn set_param002(&mut self, value: i16) {
        self.param002 = value;
    }

    pub fn param003(&self) -> i16 {
        self.param003
    }

    pub fn set_param003(&mut self, value: i16) {
        self.param003 = value;
    }

    pub fn param004(&self) -> i16 {
        self.param004
    }

    pub fn set_param004(&mut self, value: i16) {
        self.param004 = value;
    }

    pub fn param005(&self) -> i16 {
        self.param005
    }

    pub fn set_param005(&mut self, value: i16) {
        self.param005 = value;
    }

    pub fn param006(&self) -> i16 {
        self.param006
    }

    pub fn set_param006(&mut self, value: i16) {
        self.param006 = value;
    }

    pub fn param007(&self) -> i16 {
        self.param007
    }

    pub fn set_param007(&mut self, value: i16) {
        self.param007 = value;
    }

    pub fn param008(&self) -> i16 {
        self.param008
    }

    pub fn set_param008(&mut self, value: i16) {
        self.param008 = value;
    }

    pub fn param009(&self) -> i16 {
        self.param009
    }

    pub fn set_param009(&mut self, value: i16) {
        self.param009 = value;
    }

    pub fn param010(&self) -> i16 {
        self.param010
    }

    pub fn set_param010(&mut self, value: i16) {
        self.param010 = value;
    }

    pub fn param011(&self) -> i16 {
        self.param011
    }

    pub fn set_param011(&mut self, value: i16) {
        self.param011 = value;
    }

    pub fn param012(&self) -> i16 {
        self.param012
    }

    pub fn set_param012(&mut self, value: i16) {
        self.param012 = value;
    }

    pub fn param013(&self) -> i16 {
        self.param013
    }

    pub fn set_param013(&mut self, value: i16) {
        self.param013 = value;
    }

    pub fn param014(&self) -> i16 {
        self.param014
    }

    pub fn set_param014(&mut self, value: i16) {
        self.param014 = value;
    }

    pub fn param015(&self) -> i16 {
        self.param015
    }

    pub fn set_param015(&mut self, value: i16) {
        self.param015 = value;
    }

    pub fn param016(&self) -> i16 {
        self.param016
    }

    pub fn set_param016(&mut self, value: i16) {
        self.param016 = value;
    }

    pub fn param017(&self) -> i16 {
        self.param017
    }

    pub fn set_param017(&mut self, value: i16) {
        self.param017 = value;
    }

    pub fn param018(&self) -> i16 {
        self.param018
    }

    pub fn set_param018(&mut self, value: i16) {
        self.param018 = value;
    }

    pub fn param019(&self) -> i16 {
        self.param019
    }

    pub fn set_param019(&mut self, value: i16) {
        self.param019 = value;
    }

    pub fn param020(&self) -> i16 {
        self.param020
    }

    pub fn set_param020(&mut self, value: i16) {
        self.param020 = value;
    }

    pub fn param021(&self) -> i16 {
        self.param021
    }

    pub fn set_param021(&mut self, value: i16) {
        self.param021 = value;
    }

    pub fn param022(&self) -> i16 {
        self.param022
    }

    pub fn set_param022(&mut self, value: i16) {
        self.param022 = value;
    }

    pub fn param023(&self) -> i16 {
        self.param023
    }

    pub fn set_param023(&mut self, value: i16) {
        self.param023 = value;
    }

    pub fn param024(&self) -> i16 {
        self.param024
    }

    pub fn set_param024(&mut self, value: i16) {
        self.param024 = value;
    }

    pub fn param025(&self) -> i16 {
        self.param025
    }

    pub fn set_param025(&mut self, value: i16) {
        self.param025 = value;
    }

    pub fn param026(&self) -> i16 {
        self.param026
    }

    pub fn set_param026(&mut self, value: i16) {
        self.param026 = value;
    }

    pub fn param027(&self) -> i16 {
        self.param027
    }

    pub fn set_param027(&mut self, value: i16) {
        self.param027 = value;
    }

    pub fn param028(&self) -> i16 {
        self.param028
    }

    pub fn set_param028(&mut self, value: i16) {
        self.param028 = value;
    }

    pub fn param029(&self) -> i16 {
        self.param029
    }

    pub fn set_param029(&mut self, value: i16) {
        self.param029 = value;
    }

    pub fn param030(&self) -> i16 {
        self.param030
    }

    pub fn set_param030(&mut self, value: i16) {
        self.param030 = value;
    }

    pub fn param031(&self) -> i16 {
        self.param031
    }

    pub fn set_param031(&mut self, value: i16) {
        self.param031 = value;
    }

    pub fn param032(&self) -> i16 {
        self.param032
    }

    pub fn set_param032(&mut self, value: i16) {
        self.param032 = value;
    }

    pub fn param033(&self) -> i16 {
        self.param033
    }

    pub fn set_param033(&mut self, value: i16) {
        self.param033 = value;
    }

    pub fn param034(&self) -> i16 {
        self.param034
    }

    pub fn set_param034(&mut self, value: i16) {
        self.param034 = value;
    }

    pub fn param035(&self) -> i16 {
        self.param035
    }

    pub fn set_param035(&mut self, value: i16) {
        self.param035 = value;
    }

    pub fn param036(&self) -> i16 {
        self.param036
    }

    pub fn set_param036(&mut self, value: i16) {
        self.param036 = value;
    }

    pub fn param037(&self) -> i16 {
        self.param037
    }

    pub fn set_param037(&mut self, value: i16) {
        self.param037 = value;
    }

    pub fn param038(&self) -> i16 {
        self.param038
    }

    pub fn set_param038(&mut self, value: i16) {
        self.param038 = value;
    }

    pub fn param039(&self) -> i16 {
        self.param039
    }

    pub fn set_param039(&mut self, value: i16) {
        self.param039 = value;
    }

    pub fn param040(&self) -> i16 {
        self.param040
    }

    pub fn set_param040(&mut self, value: i16) {
        self.param040 = value;
    }

    pub fn param041(&self) -> i16 {
        self.param041
    }

    pub fn set_param041(&mut self, value: i16) {
        self.param041 = value;
    }

    pub fn param042(&self) -> i16 {
        self.param042
    }

    pub fn set_param042(&mut self, value: i16) {
        self.param042 = value;
    }

    pub fn param043(&self) -> i16 {
        self.param043
    }

    pub fn set_param043(&mut self, value: i16) {
        self.param043 = value;
    }

    pub fn param044(&self) -> i16 {
        self.param044
    }

    pub fn set_param044(&mut self, value: i16) {
        self.param044 = value;
    }

    pub fn param045(&self) -> i16 {
        self.param045
    }

    pub fn set_param045(&mut self, value: i16) {
        self.param045 = value;
    }

    pub fn param046(&self) -> i16 {
        self.param046
    }

    pub fn set_param046(&mut self, value: i16) {
        self.param046 = value;
    }

    pub fn param047(&self) -> i16 {
        self.param047
    }

    pub fn set_param047(&mut self, value: i16) {
        self.param047 = value;
    }

    pub fn param048(&self) -> i16 {
        self.param048
    }

    pub fn set_param048(&mut self, value: i16) {
        self.param048 = value;
    }

    pub fn param049(&self) -> i16 {
        self.param049
    }

    pub fn set_param049(&mut self, value: i16) {
        self.param049 = value;
    }

    pub fn param050(&self) -> i16 {
        self.param050
    }

    pub fn set_param050(&mut self, value: i16) {
        self.param050 = value;
    }

    pub fn param051(&self) -> i16 {
        self.param051
    }

    pub fn set_param051(&mut self, value: i16) {
        self.param051 = value;
    }

    pub fn param052(&self) -> i16 {
        self.param052
    }

    pub fn set_param052(&mut self, value: i16) {
        self.param052 = value;
    }

    pub fn param053(&self) -> i16 {
        self.param053
    }

    pub fn set_param053(&mut self, value: i16) {
        self.param053 = value;
    }

    pub fn param054(&self) -> i16 {
        self.param054
    }

    pub fn set_param054(&mut self, value: i16) {
        self.param054 = value;
    }

    pub fn param055(&self) -> i16 {
        self.param055
    }

    pub fn set_param055(&mut self, value: i16) {
        self.param055 = value;
    }

    pub fn param056(&self) -> i16 {
        self.param056
    }

    pub fn set_param056(&mut self, value: i16) {
        self.param056 = value;
    }

    pub fn param057(&self) -> i16 {
        self.param057
    }

    pub fn set_param057(&mut self, value: i16) {
        self.param057 = value;
    }

    pub fn param058(&self) -> i16 {
        self.param058
    }

    pub fn set_param058(&mut self, value: i16) {
        self.param058 = value;
    }

    pub fn param059(&self) -> i16 {
        self.param059
    }

    pub fn set_param059(&mut self, value: i16) {
        self.param059 = value;
    }

    pub fn param060(&self) -> i16 {
        self.param060
    }

    pub fn set_param060(&mut self, value: i16) {
        self.param060 = value;
    }

    pub fn param061(&self) -> i16 {
        self.param061
    }

    pub fn set_param061(&mut self, value: i16) {
        self.param061 = value;
    }

    pub fn param062(&self) -> i16 {
        self.param062
    }

    pub fn set_param062(&mut self, value: i16) {
        self.param062 = value;
    }

    pub fn param063(&self) -> i16 {
        self.param063
    }

    pub fn set_param063(&mut self, value: i16) {
        self.param063 = value;
    }

    pub fn param064(&self) -> i16 {
        self.param064
    }

    pub fn set_param064(&mut self, value: i16) {
        self.param064 = value;
    }

    pub fn param065(&self) -> i16 {
        self.param065
    }

    pub fn set_param065(&mut self, value: i16) {
        self.param065 = value;
    }

    pub fn param066(&self) -> i16 {
        self.param066
    }

    pub fn set_param066(&mut self, value: i16) {
        self.param066 = value;
    }

    pub fn param067(&self) -> i16 {
        self.param067
    }

    pub fn set_param067(&mut self, value: i16) {
        self.param067 = value;
    }

    pub fn param068(&self) -> i16 {
        self.param068
    }

    pub fn set_param068(&mut self, value: i16) {
        self.param068 = value;
    }

    pub fn param069(&self) -> i16 {
        self.param069
    }

    pub fn set_param069(&mut self, value: i16) {
        self.param069 = value;
    }

    pub fn param070(&self) -> i16 {
        self.param070
    }

    pub fn set_param070(&mut self, value: i16) {
        self.param070 = value;
    }

    pub fn param071(&self) -> i16 {
        self.param071
    }

    pub fn set_param071(&mut self, value: i16) {
        self.param071 = value;
    }

    pub fn param072(&self) -> i16 {
        self.param072
    }

    pub fn set_param072(&mut self, value: i16) {
        self.param072 = value;
    }

    pub fn param073(&self) -> i16 {
        self.param073
    }

    pub fn set_param073(&mut self, value: i16) {
        self.param073 = value;
    }

    pub fn param074(&self) -> i16 {
        self.param074
    }

    pub fn set_param074(&mut self, value: i16) {
        self.param074 = value;
    }

    pub fn param075(&self) -> i16 {
        self.param075
    }

    pub fn set_param075(&mut self, value: i16) {
        self.param075 = value;
    }

    pub fn param076(&self) -> i16 {
        self.param076
    }

    pub fn set_param076(&mut self, value: i16) {
        self.param076 = value;
    }

    pub fn param077(&self) -> i16 {
        self.param077
    }

    pub fn set_param077(&mut self, value: i16) {
        self.param077 = value;
    }

    pub fn param078(&self) -> i16 {
        self.param078
    }

    pub fn set_param078(&mut self, value: i16) {
        self.param078 = value;
    }

    pub fn param079(&self) -> i16 {
        self.param079
    }

    pub fn set_param079(&mut self, value: i16) {
        self.param079 = value;
    }

    pub fn param080(&self) -> i16 {
        self.param080
    }

    pub fn set_param080(&mut self, value: i16) {
        self.param080 = value;
    }

    pub fn param081(&self) -> i16 {
        self.param081
    }

    pub fn set_param081(&mut self, value: i16) {
        self.param081 = value;
    }

    pub fn param082(&self) -> i16 {
        self.param082
    }

    pub fn set_param082(&mut self, value: i16) {
        self.param082 = value;
    }

    pub fn param083(&self) -> i16 {
        self.param083
    }

    pub fn set_param083(&mut self, value: i16) {
        self.param083 = value;
    }

    pub fn param084(&self) -> i16 {
        self.param084
    }

    pub fn set_param084(&mut self, value: i16) {
        self.param084 = value;
    }

    pub fn param085(&self) -> i16 {
        self.param085
    }

    pub fn set_param085(&mut self, value: i16) {
        self.param085 = value;
    }

    pub fn param086(&self) -> i16 {
        self.param086
    }

    pub fn set_param086(&mut self, value: i16) {
        self.param086 = value;
    }

    pub fn param087(&self) -> i16 {
        self.param087
    }

    pub fn set_param087(&mut self, value: i16) {
        self.param087 = value;
    }

    pub fn param088(&self) -> i16 {
        self.param088
    }

    pub fn set_param088(&mut self, value: i16) {
        self.param088 = value;
    }

    pub fn param089(&self) -> i16 {
        self.param089
    }

    pub fn set_param089(&mut self, value: i16) {
        self.param089 = value;
    }

    pub fn param090(&self) -> i16 {
        self.param090
    }

    pub fn set_param090(&mut self, value: i16) {
        self.param090 = value;
    }

    pub fn param091(&self) -> i16 {
        self.param091
    }

    pub fn set_param091(&mut self, value: i16) {
        self.param091 = value;
    }

    pub fn param092(&self) -> i16 {
        self.param092
    }

    pub fn set_param092(&mut self, value: i16) {
        self.param092 = value;
    }

    pub fn param093(&self) -> i16 {
        self.param093
    }

    pub fn set_param093(&mut self, value: i16) {
        self.param093 = value;
    }

    pub fn param094(&self) -> i16 {
        self.param094
    }

    pub fn set_param094(&mut self, value: i16) {
        self.param094 = value;
    }

    pub fn param095(&self) -> i16 {
        self.param095
    }

    pub fn set_param095(&mut self, value: i16) {
        self.param095 = value;
    }

    pub fn param096(&self) -> i16 {
        self.param096
    }

    pub fn set_param096(&mut self, value: i16) {
        self.param096 = value;
    }

    pub fn param097(&self) -> i16 {
        self.param097
    }

    pub fn set_param097(&mut self, value: i16) {
        self.param097 = value;
    }

    pub fn param098(&self) -> i16 {
        self.param098
    }

    pub fn set_param098(&mut self, value: i16) {
        self.param098 = value;
    }

    pub fn param099(&self) -> i16 {
        self.param099
    }

    pub fn set_param099(&mut self, value: i16) {
        self.param099 = value;
    }

    pub fn param100(&self) -> i16 {
        self.param100
    }

    pub fn set_param100(&mut self, value: i16) {
        self.param100 = value;
    }

    pub fn param101(&self) -> i16 {
        self.param101
    }

    pub fn set_param101(&mut self, value: i16) {
        self.param101 = value;
    }

    pub fn param102(&self) -> i16 {
        self.param102
    }

    pub fn set_param102(&mut self, value: i16) {
        self.param102 = value;
    }

    pub fn param103(&self) -> i16 {
        self.param103
    }

    pub fn set_param103(&mut self, value: i16) {
        self.param103 = value;
    }

    pub fn param104(&self) -> i16 {
        self.param104
    }

    pub fn set_param104(&mut self, value: i16) {
        self.param104 = value;
    }

    pub fn param105(&self) -> i16 {
        self.param105
    }

    pub fn set_param105(&mut self, value: i16) {
        self.param105 = value;
    }

    pub fn param106(&self) -> i16 {
        self.param106
    }

    pub fn set_param106(&mut self, value: i16) {
        self.param106 = value;
    }

    pub fn param107(&self) -> i16 {
        self.param107
    }

    pub fn set_param107(&mut self, value: i16) {
        self.param107 = value;
    }

    pub fn param108(&self) -> i16 {
        self.param108
    }

    pub fn set_param108(&mut self, value: i16) {
        self.param108 = value;
    }

    pub fn param109(&self) -> i16 {
        self.param109
    }

    pub fn set_param109(&mut self, value: i16) {
        self.param109 = value;
    }

    pub fn param110(&self) -> i16 {
        self.param110
    }

    pub fn set_param110(&mut self, value: i16) {
        self.param110 = value;
    }

    pub fn param111(&self) -> i16 {
        self.param111
    }

    pub fn set_param111(&mut self, value: i16) {
        self.param111 = value;
    }

    pub fn param112(&self) -> i16 {
        self.param112
    }

    pub fn set_param112(&mut self, value: i16) {
        self.param112 = value;
    }

    pub fn param113(&self) -> i16 {
        self.param113
    }

    pub fn set_param113(&mut self, value: i16) {
        self.param113 = value;
    }

    pub fn param114(&self) -> i16 {
        self.param114
    }

    pub fn set_param114(&mut self, value: i16) {
        self.param114 = value;
    }

    pub fn param115(&self) -> i16 {
        self.param115
    }

    pub fn set_param115(&mut self, value: i16) {
        self.param115 = value;
    }

    pub fn param116(&self) -> i16 {
        self.param116
    }

    pub fn set_param116(&mut self, value: i16) {
        self.param116 = value;
    }

    pub fn param117(&self) -> i16 {
        self.param117
    }

    pub fn set_param117(&mut self, value: i16) {
        self.param117 = value;
    }

    pub fn param118(&self) -> i16 {
        self.param118
    }

    pub fn set_param118(&mut self, value: i16) {
        self.param118 = value;
    }

    pub fn param119(&self) -> i16 {
        self.param119
    }

    pub fn set_param119(&mut self, value: i16) {
        self.param119 = value;
    }

    pub fn param120(&self) -> i16 {
        self.param120
    }

    pub fn set_param120(&mut self, value: i16) {
        self.param120 = value;
    }

    pub fn param121(&self) -> i16 {
        self.param121
    }

    pub fn set_param121(&mut self, value: i16) {
        self.param121 = value;
    }

    pub fn param122(&self) -> i16 {
        self.param122
    }

    pub fn set_param122(&mut self, value: i16) {
        self.param122 = value;
    }

    pub fn param123(&self) -> i16 {
        self.param123
    }

    pub fn set_param123(&mut self, value: i16) {
        self.param123 = value;
    }

    pub fn param124(&self) -> i16 {
        self.param124
    }

    pub fn set_param124(&mut self, value: i16) {
        self.param124 = value;
    }

    pub fn param125(&self) -> i16 {
        self.param125
    }

    pub fn set_param125(&mut self, value: i16) {
        self.param125 = value;
    }

    pub fn param126(&self) -> i16 {
        self.param126
    }

    pub fn set_param126(&mut self, value: i16) {
        self.param126 = value;
    }

    pub fn param127(&self) -> i16 {
        self.param127
    }

    pub fn set_param127(&mut self, value: i16) {
        self.param127 = value;
    }

    pub fn param128(&self) -> i16 {
        self.param128
    }

    pub fn set_param128(&mut self, value: i16) {
        self.param128 = value;
    }

    pub fn param129(&self) -> i16 {
        self.param129
    }

    pub fn set_param129(&mut self, value: i16) {
        self.param129 = value;
    }

    pub fn param130(&self) -> i16 {
        self.param130
    }

    pub fn set_param130(&mut self, value: i16) {
        self.param130 = value;
    }

    pub fn param131(&self) -> i16 {
        self.param131
    }

    pub fn set_param131(&mut self, value: i16) {
        self.param131 = value;
    }

    pub fn param132(&self) -> i16 {
        self.param132
    }

    pub fn set_param132(&mut self, value: i16) {
        self.param132 = value;
    }

    pub fn param133(&self) -> i16 {
        self.param133
    }

    pub fn set_param133(&mut self, value: i16) {
        self.param133 = value;
    }

    pub fn param134(&self) -> i16 {
        self.param134
    }

    pub fn set_param134(&mut self, value: i16) {
        self.param134 = value;
    }

    pub fn param135(&self) -> i16 {
        self.param135
    }

    pub fn set_param135(&mut self, value: i16) {
        self.param135 = value;
    }

    pub fn param136(&self) -> i16 {
        self.param136
    }

    pub fn set_param136(&mut self, value: i16) {
        self.param136 = value;
    }

    pub fn param137(&self) -> i16 {
        self.param137
    }

    pub fn set_param137(&mut self, value: i16) {
        self.param137 = value;
    }

    pub fn param138(&self) -> i16 {
        self.param138
    }

    pub fn set_param138(&mut self, value: i16) {
        self.param138 = value;
    }

    pub fn param139(&self) -> i16 {
        self.param139
    }

    pub fn set_param139(&mut self, value: i16) {
        self.param139 = value;
    }

    pub fn param140(&self) -> i16 {
        self.param140
    }

    pub fn set_param140(&mut self, value: i16) {
        self.param140 = value;
    }

    pub fn param141(&self) -> i16 {
        self.param141
    }

    pub fn set_param141(&mut self, value: i16) {
        self.param141 = value;
    }

    pub fn param142(&self) -> i16 {
        self.param142
    }

    pub fn set_param142(&mut self, value: i16) {
        self.param142 = value;
    }

    pub fn param143(&self) -> i16 {
        self.param143
    }

    pub fn set_param143(&mut self, value: i16) {
        self.param143 = value;
    }

    pub fn param144(&self) -> i16 {
        self.param144
    }

    pub fn set_param144(&mut self, value: i16) {
        self.param144 = value;
    }

    pub fn param145(&self) -> i16 {
        self.param145
    }

    pub fn set_param145(&mut self, value: i16) {
        self.param145 = value;
    }

    pub fn param146(&self) -> i16 {
        self.param146
    }

    pub fn set_param146(&mut self, value: i16) {
        self.param146 = value;
    }

    pub fn param147(&self) -> i16 {
        self.param147
    }

    pub fn set_param147(&mut self, value: i16) {
        self.param147 = value;
    }

    pub fn param148(&self) -> i16 {
        self.param148
    }

    pub fn set_param148(&mut self, value: i16) {
        self.param148 = value;
    }

    pub fn param149(&self) -> i16 {
        self.param149
    }

    pub fn set_param149(&mut self, value: i16) {
        self.param149 = value;
    }

    pub fn param150(&self) -> i16 {
        self.param150
    }

    pub fn set_param150(&mut self, value: i16) {
        self.param150 = value;
    }

    pub fn param151(&self) -> i16 {
        self.param151
    }

    pub fn set_param151(&mut self, value: i16) {
        self.param151 = value;
    }

    pub fn param152(&self) -> i16 {
        self.param152
    }

    pub fn set_param152(&mut self, value: i16) {
        self.param152 = value;
    }

    pub fn param153(&self) -> i16 {
        self.param153
    }

    pub fn set_param153(&mut self, value: i16) {
        self.param153 = value;
    }

    pub fn param154(&self) -> i16 {
        self.param154
    }

    pub fn set_param154(&mut self, value: i16) {
        self.param154 = value;
    }

    pub fn param155(&self) -> i16 {
        self.param155
    }

    pub fn set_param155(&mut self, value: i16) {
        self.param155 = value;
    }

    pub fn param156(&self) -> i16 {
        self.param156
    }

    pub fn set_param156(&mut self, value: i16) {
        self.param156 = value;
    }

    pub fn param157(&self) -> i16 {
        self.param157
    }

    pub fn set_param157(&mut self, value: i16) {
        self.param157 = value;
    }

    pub fn param158(&self) -> i16 {
        self.param158
    }

    pub fn set_param158(&mut self, value: i16) {
        self.param158 = value;
    }

    pub fn param159(&self) -> i16 {
        self.param159
    }

    pub fn set_param159(&mut self, value: i16) {
        self.param159 = value;
    }

    pub fn param160(&self) -> i16 {
        self.param160
    }

    pub fn set_param160(&mut self, value: i16) {
        self.param160 = value;
    }

    pub fn param161(&self) -> i16 {
        self.param161
    }

    pub fn set_param161(&mut self, value: i16) {
        self.param161 = value;
    }

    pub fn param162(&self) -> i16 {
        self.param162
    }

    pub fn set_param162(&mut self, value: i16) {
        self.param162 = value;
    }

    pub fn param163(&self) -> i16 {
        self.param163
    }

    pub fn set_param163(&mut self, value: i16) {
        self.param163 = value;
    }

    pub fn param164(&self) -> i16 {
        self.param164
    }

    pub fn set_param164(&mut self, value: i16) {
        self.param164 = value;
    }

    pub fn param165(&self) -> i16 {
        self.param165
    }

    pub fn set_param165(&mut self, value: i16) {
        self.param165 = value;
    }

    pub fn param166(&self) -> i16 {
        self.param166
    }

    pub fn set_param166(&mut self, value: i16) {
        self.param166 = value;
    }

    pub fn param167(&self) -> i16 {
        self.param167
    }

    pub fn set_param167(&mut self, value: i16) {
        self.param167 = value;
    }

    pub fn param168(&self) -> i16 {
        self.param168
    }

    pub fn set_param168(&mut self, value: i16) {
        self.param168 = value;
    }

    pub fn param169(&self) -> i16 {
        self.param169
    }

    pub fn set_param169(&mut self, value: i16) {
        self.param169 = value;
    }

    pub fn param170(&self) -> i16 {
        self.param170
    }

    pub fn set_param170(&mut self, value: i16) {
        self.param170 = value;
    }

    pub fn param171(&self) -> i16 {
        self.param171
    }

    pub fn set_param171(&mut self, value: i16) {
        self.param171 = value;
    }

    pub fn param172(&self) -> i16 {
        self.param172
    }

    pub fn set_param172(&mut self, value: i16) {
        self.param172 = value;
    }

    pub fn param173(&self) -> i16 {
        self.param173
    }

    pub fn set_param173(&mut self, value: i16) {
        self.param173 = value;
    }

    pub fn param174(&self) -> i16 {
        self.param174
    }

    pub fn set_param174(&mut self, value: i16) {
        self.param174 = value;
    }

    pub fn param175(&self) -> i16 {
        self.param175
    }

    pub fn set_param175(&mut self, value: i16) {
        self.param175 = value;
    }

    pub fn param176(&self) -> i16 {
        self.param176
    }

    pub fn set_param176(&mut self, value: i16) {
        self.param176 = value;
    }

    pub fn param177(&self) -> i16 {
        self.param177
    }

    pub fn set_param177(&mut self, value: i16) {
        self.param177 = value;
    }

    pub fn param178(&self) -> i16 {
        self.param178
    }

    pub fn set_param178(&mut self, value: i16) {
        self.param178 = value;
    }

    pub fn param179(&self) -> i16 {
        self.param179
    }

    pub fn set_param179(&mut self, value: i16) {
        self.param179 = value;
    }

    pub fn param180(&self) -> i16 {
        self.param180
    }

    pub fn set_param180(&mut self, value: i16) {
        self.param180 = value;
    }

    pub fn param181(&self) -> i16 {
        self.param181
    }

    pub fn set_param181(&mut self, value: i16) {
        self.param181 = value;
    }

    pub fn param182(&self) -> i16 {
        self.param182
    }

    pub fn set_param182(&mut self, value: i16) {
        self.param182 = value;
    }

    pub fn param183(&self) -> i16 {
        self.param183
    }

    pub fn set_param183(&mut self, value: i16) {
        self.param183 = value;
    }

    pub fn param184(&self) -> i16 {
        self.param184
    }

    pub fn set_param184(&mut self, value: i16) {
        self.param184 = value;
    }

    pub fn param185(&self) -> i16 {
        self.param185
    }

    pub fn set_param185(&mut self, value: i16) {
        self.param185 = value;
    }

    pub fn param186(&self) -> i16 {
        self.param186
    }

    pub fn set_param186(&mut self, value: i16) {
        self.param186 = value;
    }

    pub fn param187(&self) -> i16 {
        self.param187
    }

    pub fn set_param187(&mut self, value: i16) {
        self.param187 = value;
    }

    pub fn param188(&self) -> i16 {
        self.param188
    }

    pub fn set_param188(&mut self, value: i16) {
        self.param188 = value;
    }

    pub fn param189(&self) -> i16 {
        self.param189
    }

    pub fn set_param189(&mut self, value: i16) {
        self.param189 = value;
    }

    pub fn param190(&self) -> i16 {
        self.param190
    }

    pub fn set_param190(&mut self, value: i16) {
        self.param190 = value;
    }

    pub fn param191(&self) -> i16 {
        self.param191
    }

    pub fn set_param191(&mut self, value: i16) {
        self.param191 = value;
    }

    pub fn param192(&self) -> i16 {
        self.param192
    }

    pub fn set_param192(&mut self, value: i16) {
        self.param192 = value;
    }

    pub fn param193(&self) -> i16 {
        self.param193
    }

    pub fn set_param193(&mut self, value: i16) {
        self.param193 = value;
    }

    pub fn param194(&self) -> i16 {
        self.param194
    }

    pub fn set_param194(&mut self, value: i16) {
        self.param194 = value;
    }

    pub fn param195(&self) -> i16 {
        self.param195
    }

    pub fn set_param195(&mut self, value: i16) {
        self.param195 = value;
    }

    pub fn param196(&self) -> i16 {
        self.param196
    }

    pub fn set_param196(&mut self, value: i16) {
        self.param196 = value;
    }

    pub fn param197(&self) -> i16 {
        self.param197
    }

    pub fn set_param197(&mut self, value: i16) {
        self.param197 = value;
    }

    pub fn param198(&self) -> i16 {
        self.param198
    }

    pub fn set_param198(&mut self, value: i16) {
        self.param198 = value;
    }

    pub fn param199(&self) -> i16 {
        self.param199
    }

    pub fn set_param199(&mut self, value: i16) {
        self.param199 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct NPC_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    behavior_variation_id: i32,
    resist_correct_id_poison: i32,
    name_id: i32,
    turn_vellocity: f32,
    hit_height: f32,
    hit_radius: f32,
    weight: u32,
    hit_y_offset: f32,
    hp: u32,
    mp: u32,
    get_soul: u32,
    item_lot_id_enemy: i32,
    item_lot_id_map: i32,
    max_ankle_roll_angle: f32,
    chr_hit_group_and_navimesh: u8,
    face_icon_id: u8,
    deactivate_dist: i16,
    unknown_0: f32,
    foot_ik_error_height_limit: f32,
    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,
    reward_item_lot_1: i32,
    phys_guard_cut_rate: f32,
    mag_guard_cut_rate: f32,
    fire_guard_cut_rate: f32,
    thun_guard_cut_rate: f32,
    anim_id_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_dist: 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: u16,
    stamina_recover_base_vel: u16,
    def_phys: u16,
    def_slash: i16,
    def_blow: i16,
    def_thrust: i16,
    def_mag: u16,
    def_fire: u16,
    def_thunder: u16,
    def_flick_power: u16,
    resist_poison: u16,
    resist_desease: u16,
    resist_blood: u16,
    resist_curse: u16,
    ghost_model_id: i16,
    normal_change_resouce_id: i16,
    guard_angle: i16,
    slash_guard_cut_rate: i16,
    blow_guard_cut_rate: i16,
    thrust_guard_cut_rate: i16,
    lock_gaze_point6: i16,
    normal_change_tex_chr_id: i16,
    drop_type: u16,
    knockback_rate: u8,
    knockback_param_id: u8,
    fall_damage_dump: u8,
    stamina_guard_def: u8,
    resist_sleep: u16,
    resist_madness: u16,
    sleep_guard_resist: i8,
    madness_guard_resist: i8,
    lock_gaze_point7: i16,
    mp_recover_base_vel: u8,
    flick_damage_cut_rate: u8,
    default_lod_param_id: i8,
    draw_type: i8,
    npc_type: u8,
    team_type: u8,
    move_type: u8,
    lock_dist: u8,
    material_se_weak1: u16,
    material_sfx_weak1: u16,
    parts_damage_type: u8,
    vow_type: u8,
    guard_level: i8,
    burn_sfx_type: u8,
    poison_guard_resist: i8,
    disease_guard_resist: i8,
    blood_guard_resist: i8,
    curse_guard_resist: i8,
    parry_attack: u8,
    parry_defence: 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_149: u8,
    bits_14a: u8,
    bits_14b: u8,
    bits_14c: u8,
    bits_14d: u8,
    bits_14e: u8,
    bits_14f: u8,
    item_search_radius: f32,
    chr_hit_height: f32,
    chr_hit_radius: f32,
    special_turn_type: u8,
    bits_15d: u8,
    def_dark: u16,
    threat_lv: u32,
    special_turn_distance_threshold: f32,
    auto_foot_effect_sfx_id: i32,
    material_se1: u16,
    material_sfx1: u16,
    material_se_weak2: u16,
    material_sfx_weak2: u16,
    material_se2: u16,
    material_sfx2: u16,
    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: u32,
    toughness_recover_correction: f32,
    neutral_damage_cut_rate: f32,
    slash_damage_cut_rate: f32,
    blow_damage_cut_rate: f32,
    thrust_damage_cut_rate: f32,
    magic_damage_cut_rate: f32,
    fire_damage_cut_rate: f32,
    thunder_damage_cut_rate: f32,
    dark_damage_cut_rate: 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: u16,
    resist_correct_id_disease: i32,
    phantom_shader_id: i32,
    multi_play_correction_param_id: i32,
    max_ankle_pitch_angle: f32,
    resist_freeze: u16,
    freeze_guard_resist: i8,
    pad1: [u8; 1],
    lock_camera_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,
    bits_22d: u8,
    estus_flask_recovery_param_id: i16,
    role_name_id: i32,
    estus_flask_lot_point: u16,
    hp_estus_flask_lot_point: u16,
    mp_estus_flask_lot_point: u16,
    estus_flask_recovery_failed_lot_point_add: u16,
    hp_estus_flask_recovery_failed_lot_point_add: u16,
    mp_estus_flask_recovery_failed_lot_point_add: u16,
    wander_ghost_phantom_id: i32,
    hearing_head_size: f32,
    sound_bank_id: i16,
    forward_undulation_limit: u8,
    side_undulation_limit: u8,
    deactive_move_speed: f32,
    deactive_move_dist: f32,
    enable_sound_obj_dist: f32,
    undulation_correct_gain: f32,
    auto_foot_effect_decal_base_id2: i16,
    auto_foot_effect_decal_base_id3: i16,
    retarget_reference_chr_id: i16,
    sfx_res_bank_id: i16,
    update_activate_priolity: f32,
    chr_navimesh_flag_alive: u8,
    chr_navimesh_flag_dead: u8,
    pad7: [u8; 1],
    wheel_rot_type: u8,
    wheel_rot_radius: f32,
    retarget_move_rate: f32,
    ladder_warp_offset: f32,
    load_asset_id: i32,
    overlap_camera_dmypoly_id: i32,
    resident_material_ex_param_id00: i32,
    resident_material_ex_param_id01: i32,
    resident_material_ex_param_id02: i32,
    resident_material_ex_param_id03: i32,
    resident_material_ex_param_id04: i32,
    sleep_collector_item_lot_id_enemy: i32,
    sleep_collector_item_lot_id_map: i32,
    foot_ik_error_on_gain: f32,
    foot_ik_error_off_gain: f32,
    sound_add_bank_id: i16,
    material_variation_value: u8,
    material_variation_value_weak: u8,
    super_armor_durability: f32,
    sa_recovery_rate: f32,
    sa_guard_cut_rate: f32,
    resist_correct_id_blood: i32,
    resist_correct_id_curse: i32,
    resist_correct_id_freeze: i32,
    resist_correct_id_sleep: i32,
    resist_correct_id_madness: i32,
    chr_dead_tutorial_flag_id: u32,
    step_disp_interpolate_time: f32,
    step_disp_interpolate_trigger_value: f32,
    lock_score_offset: f32,
    reward_item_lot_2: i32,
    unknown_2: i32,
    unknown_3: f32,
    unknown_4: f32,
    unknown_5: f32,
    unknown_6: f32,
    unknown_7: f32,
    unknown_8: f32,
    unknown_9: f32,
    unknown_10: f32,
    unknown_11: f32,
    unknown_12: f32,
    unknown_13: f32,
    unknown_14: f32,
    unknown_15: f32,
    unknown_16: f32,
    unknown_17: f32,
    unknown_18: f32,
    unknown_19: f32,
    unknown_20: f32,
    unknown_21a: i8,
    unknown_21b: i8,
    unknown_21c: u8,
    unknown_21d: u8,
    unknown_22: f32,
}

impl ParamDef for NPC_PARAM_ST {
    const NAME: &str = "NPC_PARAM_ST";
}

impl NPC_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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 resist_correct_id_poison(&self) -> i32 {
        self.resist_correct_id_poison
    }

    pub fn set_resist_correct_id_poison(&mut self, value: i32) {
        self.resist_correct_id_poison = 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) -> u32 {
        self.weight
    }

    pub fn set_weight(&mut self, value: u32) {
        self.weight = value;
    }

    pub fn hit_y_offset(&self) -> f32 {
        self.hit_y_offset
    }

    pub fn set_hit_y_offset(&mut self, value: f32) {
        self.hit_y_offset = value;
    }

    pub fn hp(&self) -> u32 {
        self.hp
    }

    pub fn set_hp(&mut self, value: u32) {
        self.hp = value;
    }

    pub fn mp(&self) -> u32 {
        self.mp
    }

    pub fn set_mp(&mut self, value: u32) {
        self.mp = value;
    }

    pub fn get_soul(&self) -> u32 {
        self.get_soul
    }

    pub fn set_get_soul(&mut self, value: u32) {
        self.get_soul = value;
    }

    pub fn item_lot_id_enemy(&self) -> i32 {
        self.item_lot_id_enemy
    }

    pub fn set_item_lot_id_enemy(&mut self, value: i32) {
        self.item_lot_id_enemy = value;
    }

    pub fn item_lot_id_map(&self) -> i32 {
        self.item_lot_id_map
    }

    pub fn set_item_lot_id_map(&mut self, value: i32) {
        self.item_lot_id_map = value;
    }

    pub fn max_ankle_roll_angle(&self) -> f32 {
        self.max_ankle_roll_angle
    }

    pub fn set_max_ankle_roll_angle(&mut self, value: f32) {
        self.max_ankle_roll_angle = value;
    }

    pub fn chr_hit_group_and_navimesh(&self) -> u8 {
        self.chr_hit_group_and_navimesh
    }

    pub fn set_chr_hit_group_and_navimesh(&mut self, value: u8) {
        self.chr_hit_group_and_navimesh = value;
    }

    pub fn face_icon_id(&self) -> u8 {
        self.face_icon_id
    }

    pub fn set_face_icon_id(&mut self, value: u8) {
        self.face_icon_id = value;
    }

    pub fn deactivate_dist(&self) -> i16 {
        self.deactivate_dist
    }

    pub fn set_deactivate_dist(&mut self, value: i16) {
        self.deactivate_dist = value;
    }

    pub fn foot_ik_error_height_limit(&self) -> f32 {
        self.foot_ik_error_height_limit
    }

    pub fn set_foot_ik_error_height_limit(&mut self, value: f32) {
        self.foot_ik_error_height_limit = 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 reward_item_lot_1(&self) -> i32 {
        self.reward_item_lot_1
    }

    pub fn set_reward_item_lot_1(&mut self, value: i32) {
        self.reward_item_lot_1 = 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 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 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_dist(&self) -> f32 {
        self.network_warp_dist
    }

    pub fn set_network_warp_dist(&mut self, value: f32) {
        self.network_warp_dist = 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) -> u16 {
        self.stamina
    }

    pub fn set_stamina(&mut self, value: u16) {
        self.stamina = value;
    }

    pub fn stamina_recover_base_vel(&self) -> u16 {
        self.stamina_recover_base_vel
    }

    pub fn set_stamina_recover_base_vel(&mut self, value: u16) {
        self.stamina_recover_base_vel = value;
    }

    pub fn def_phys(&self) -> u16 {
        self.def_phys
    }

    pub fn set_def_phys(&mut self, value: u16) {
        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) -> u16 {
        self.def_mag
    }

    pub fn set_def_mag(&mut self, value: u16) {
        self.def_mag = value;
    }

    pub fn def_fire(&self) -> u16 {
        self.def_fire
    }

    pub fn set_def_fire(&mut self, value: u16) {
        self.def_fire = value;
    }

    pub fn def_thunder(&self) -> u16 {
        self.def_thunder
    }

    pub fn set_def_thunder(&mut self, value: u16) {
        self.def_thunder = value;
    }

    pub fn def_flick_power(&self) -> u16 {
        self.def_flick_power
    }

    pub fn set_def_flick_power(&mut self, value: u16) {
        self.def_flick_power = value;
    }

    pub fn resist_poison(&self) -> u16 {
        self.resist_poison
    }

    pub fn set_resist_poison(&mut self, value: u16) {
        self.resist_poison = value;
    }

    pub fn resist_desease(&self) -> u16 {
        self.resist_desease
    }

    pub fn set_resist_desease(&mut self, value: u16) {
        self.resist_desease = value;
    }

    pub fn resist_blood(&self) -> u16 {
        self.resist_blood
    }

    pub fn set_resist_blood(&mut self, value: u16) {
        self.resist_blood = value;
    }

    pub fn resist_curse(&self) -> u16 {
        self.resist_curse
    }

    pub fn set_resist_curse(&mut self, value: u16) {
        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_resouce_id(&self) -> i16 {
        self.normal_change_resouce_id
    }

    pub fn set_normal_change_resouce_id(&mut self, value: i16) {
        self.normal_change_resouce_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 lock_gaze_point6(&self) -> i16 {
        self.lock_gaze_point6
    }

    pub fn set_lock_gaze_point6(&mut self, value: i16) {
        self.lock_gaze_point6 = 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) -> u16 {
        self.drop_type
    }

    pub fn set_drop_type(&mut self, value: u16) {
        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_dump(&self) -> u8 {
        self.fall_damage_dump
    }

    pub fn set_fall_damage_dump(&mut self, value: u8) {
        self.fall_damage_dump = 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 resist_sleep(&self) -> u16 {
        self.resist_sleep
    }

    pub fn set_resist_sleep(&mut self, value: u16) {
        self.resist_sleep = value;
    }

    pub fn resist_madness(&self) -> u16 {
        self.resist_madness
    }

    pub fn set_resist_madness(&mut self, value: u16) {
        self.resist_madness = value;
    }

    pub fn sleep_guard_resist(&self) -> i8 {
        self.sleep_guard_resist
    }

    pub fn set_sleep_guard_resist(&mut self, value: i8) {
        self.sleep_guard_resist = value;
    }

    pub fn madness_guard_resist(&self) -> i8 {
        self.madness_guard_resist
    }

    pub fn set_madness_guard_resist(&mut self, value: i8) {
        self.madness_guard_resist = value;
    }

    pub fn lock_gaze_point7(&self) -> i16 {
        self.lock_gaze_point7
    }

    pub fn set_lock_gaze_point7(&mut self, value: i16) {
        self.lock_gaze_point7 = value;
    }

    pub fn mp_recover_base_vel(&self) -> u8 {
        self.mp_recover_base_vel
    }

    pub fn set_mp_recover_base_vel(&mut self, value: u8) {
        self.mp_recover_base_vel = 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) -> i8 {
        self.draw_type
    }

    pub fn set_draw_type(&mut self, value: i8) {
        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_se_weak1(&self) -> u16 {
        self.material_se_weak1
    }

    pub fn set_material_se_weak1(&mut self, value: u16) {
        self.material_se_weak1 = value;
    }

    pub fn material_sfx_weak1(&self) -> u16 {
        self.material_sfx_weak1
    }

    pub fn set_material_sfx_weak1(&mut self, value: u16) {
        self.material_sfx_weak1 = 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 vow_type(&self) -> u8 {
        self.vow_type
    }

    pub fn set_vow_type(&mut self, value: u8) {
        self.vow_type = value;
    }

    pub fn guard_level(&self) -> i8 {
        self.guard_level
    }

    pub fn set_guard_level(&mut self, value: i8) {
        self.guard_level = value;
    }

    pub fn burn_sfx_type(&self) -> u8 {
        self.burn_sfx_type
    }

    pub fn set_burn_sfx_type(&mut self, value: u8) {
        self.burn_sfx_type = value;
    }

    pub fn poison_guard_resist(&self) -> i8 {
        self.poison_guard_resist
    }

    pub fn set_poison_guard_resist(&mut self, value: i8) {
        self.poison_guard_resist = value;
    }

    pub fn disease_guard_resist(&self) -> i8 {
        self.disease_guard_resist
    }

    pub fn set_disease_guard_resist(&mut self, value: i8) {
        self.disease_guard_resist = value;
    }

    pub fn blood_guard_resist(&self) -> i8 {
        self.blood_guard_resist
    }

    pub fn set_blood_guard_resist(&mut self, value: i8) {
        self.blood_guard_resist = value;
    }

    pub fn curse_guard_resist(&self) -> i8 {
        self.curse_guard_resist
    }

    pub fn set_curse_guard_resist(&mut self, value: i8) {
        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_defence(&self) -> u8 {
        self.parry_defence
    }

    pub fn set_parry_defence(&mut self, value: u8) {
        self.parry_defence = 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_149 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_ragdoll_cam_hit(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_cloth_rigid_hit(&self) -> u8 {
        (self.bits_149 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_cloth_rigid_hit(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn use_undulation_add_anim_fb(&self) -> u8 {
        (self.bits_149 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_use_undulation_add_anim_fb(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_a(&self) -> u8 {
        (self.bits_149 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_a(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_ghost(&self) -> u8 {
        (self.bits_149 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ghost(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_no_damage_motion(&self) -> u8 {
        (self.bits_149 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_no_damage_motion(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_unduration(&self) -> u8 {
        (self.bits_149 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_unduration(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_change_wander_ghost(&self) -> u8 {
        (self.bits_149 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_change_wander_ghost(&mut self, value: u8) {
        self.bits_149 = (self.bits_149 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask0(&self) -> u8 {
        (self.bits_14a >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask0(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask1(&self) -> u8 {
        (self.bits_14a >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask1(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask2(&self) -> u8 {
        (self.bits_14a >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask2(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask3(&self) -> u8 {
        (self.bits_14a >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask3(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask4(&self) -> u8 {
        (self.bits_14a >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask4(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask5(&self) -> u8 {
        (self.bits_14a >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask5(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask6(&self) -> u8 {
        (self.bits_14a >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask6(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask7(&self) -> u8 {
        (self.bits_14a >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask7(&mut self, value: u8) {
        self.bits_14a = (self.bits_14a & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask8(&self) -> u8 {
        (self.bits_14b >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask8(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask9(&self) -> u8 {
        (self.bits_14b >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask9(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask10(&self) -> u8 {
        (self.bits_14b >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask10(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask11(&self) -> u8 {
        (self.bits_14b >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask11(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask12(&self) -> u8 {
        (self.bits_14b >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask12(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask13(&self) -> u8 {
        (self.bits_14b >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask13(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask14(&self) -> u8 {
        (self.bits_14b >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask14(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask15(&self) -> u8 {
        (self.bits_14b >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask15(&mut self, value: u8) {
        self.bits_14b = (self.bits_14b & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_neck_turn(&self) -> u8 {
        (self.bits_14c >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_neck_turn(&mut self, value: u8) {
        self.bits_14c = (self.bits_14c & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_respawn(&self) -> u8 {
        (self.bits_14c >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_respawn(&mut self, value: u8) {
        self.bits_14c = (self.bits_14c & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_move_anim_wait(&self) -> u8 {
        (self.bits_14c >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_move_anim_wait(&mut self, value: u8) {
        self.bits_14c = (self.bits_14c & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_crowd(&self) -> u8 {
        (self.bits_14c >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_crowd(&mut self, value: u8) {
        self.bits_14c = (self.bits_14c & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_b(&self) -> u8 {
        (self.bits_14c >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_b(&mut self, value: u8) {
        self.bits_14c = (self.bits_14c & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_c(&self) -> u8 {
        (self.bits_14c >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_c(&mut self, value: u8) {
        self.bits_14c = (self.bits_14c & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_d(&self) -> u8 {
        (self.bits_14c >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_d(&mut self, value: u8) {
        self.bits_14c = (self.bits_14c & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn does_always_use_special_turn(&self) -> u8 {
        (self.bits_14c >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_does_always_use_special_turn(&mut self, value: u8) {
        self.bits_14c = (self.bits_14c & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_ride_atk_target(&self) -> u8 {
        (self.bits_14d >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_ride_atk_target(&mut self, value: u8) {
        self.bits_14d = (self.bits_14d & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_step_disp_interpolate(&self) -> u8 {
        (self.bits_14d >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_step_disp_interpolate(&mut self, value: u8) {
        self.bits_14d = (self.bits_14d & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_stealth_target(&self) -> u8 {
        (self.bits_14d >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_stealth_target(&mut self, value: u8) {
        self.bits_14d = (self.bits_14d & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_initialize_dead(&self) -> u8 {
        (self.bits_14d >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_initialize_dead(&mut self, value: u8) {
        self.bits_14d = (self.bits_14d & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hit_rumble(&self) -> u8 {
        (self.bits_14d >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hit_rumble(&mut self, value: u8) {
        self.bits_14d = (self.bits_14d & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_smooth_turn(&self) -> u8 {
        (self.bits_14d >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_smooth_turn(&mut self, value: u8) {
        self.bits_14d = (self.bits_14d & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_e(&self) -> u8 {
        (self.bits_14d >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_e(&mut self, value: u8) {
        self.bits_14d = (self.bits_14d & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_weak_f(&self) -> u8 {
        (self.bits_14d >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_weak_f(&mut self, value: u8) {
        self.bits_14d = (self.bits_14d & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask16(&self) -> u8 {
        (self.bits_14e >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask16(&mut self, value: u8) {
        self.bits_14e = (self.bits_14e & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask17(&self) -> u8 {
        (self.bits_14e >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask17(&mut self, value: u8) {
        self.bits_14e = (self.bits_14e & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask18(&self) -> u8 {
        (self.bits_14e >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask18(&mut self, value: u8) {
        self.bits_14e = (self.bits_14e & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask19(&self) -> u8 {
        (self.bits_14e >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask19(&mut self, value: u8) {
        self.bits_14e = (self.bits_14e & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask20(&self) -> u8 {
        (self.bits_14e >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask20(&mut self, value: u8) {
        self.bits_14e = (self.bits_14e & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask21(&self) -> u8 {
        (self.bits_14e >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask21(&mut self, value: u8) {
        self.bits_14e = (self.bits_14e & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask22(&self) -> u8 {
        (self.bits_14e >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask22(&mut self, value: u8) {
        self.bits_14e = (self.bits_14e & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask23(&self) -> u8 {
        (self.bits_14e >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask23(&mut self, value: u8) {
        self.bits_14e = (self.bits_14e & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask24(&self) -> u8 {
        (self.bits_14f >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask24(&mut self, value: u8) {
        self.bits_14f = (self.bits_14f & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask25(&self) -> u8 {
        (self.bits_14f >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask25(&mut self, value: u8) {
        self.bits_14f = (self.bits_14f & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask26(&self) -> u8 {
        (self.bits_14f >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask26(&mut self, value: u8) {
        self.bits_14f = (self.bits_14f & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask27(&self) -> u8 {
        (self.bits_14f >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask27(&mut self, value: u8) {
        self.bits_14f = (self.bits_14f & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask28(&self) -> u8 {
        (self.bits_14f >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask28(&mut self, value: u8) {
        self.bits_14f = (self.bits_14f & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask29(&self) -> u8 {
        (self.bits_14f >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask29(&mut self, value: u8) {
        self.bits_14f = (self.bits_14f & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask30(&self) -> u8 {
        (self.bits_14f >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask30(&mut self, value: u8) {
        self.bits_14f = (self.bits_14f & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn model_disp_mask31(&self) -> u8 {
        (self.bits_14f >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_model_disp_mask31(&mut self, value: u8) {
        self.bits_14f = (self.bits_14f & !(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_15d >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_soul_get_by_boss(&mut self, value: u8) {
        self.bits_15d = (self.bits_15d & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_bullet_owner_by_object(&self) -> u8 {
        (self.bits_15d >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_bullet_owner_by_object(&mut self, value: u8) {
        self.bits_15d = (self.bits_15d & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_low_hit_foot_ik(&self) -> u8 {
        (self.bits_15d >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_low_hit_foot_ik(&mut self, value: u8) {
        self.bits_15d = (self.bits_15d & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn is_calculate_pv_p_damage(&self) -> u8 {
        (self.bits_15d >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_calculate_pv_p_damage(&mut self, value: u8) {
        self.bits_15d = (self.bits_15d & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_host_sync_chr(&self) -> u8 {
        (self.bits_15d >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_host_sync_chr(&mut self, value: u8) {
        self.bits_15d = (self.bits_15d & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_skip_weak_damage_anim(&self) -> u8 {
        (self.bits_15d >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_skip_weak_damage_anim(&mut self, value: u8) {
        self.bits_15d = (self.bits_15d & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_keep_hit_on_ride(&self) -> u8 {
        (self.bits_15d >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_keep_hit_on_ride(&mut self, value: u8) {
        self.bits_15d = (self.bits_15d & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_sp_collide(&self) -> u8 {
        (self.bits_15d >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_sp_collide(&mut self, value: u8) {
        self.bits_15d = (self.bits_15d & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn def_dark(&self) -> u16 {
        self.def_dark
    }

    pub fn set_def_dark(&mut self, value: u16) {
        self.def_dark = value;
    }

    pub fn threat_lv(&self) -> u32 {
        self.threat_lv
    }

    pub fn set_threat_lv(&mut self, value: u32) {
        self.threat_lv = 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 material_se1(&self) -> u16 {
        self.material_se1
    }

    pub fn set_material_se1(&mut self, value: u16) {
        self.material_se1 = value;
    }

    pub fn material_sfx1(&self) -> u16 {
        self.material_sfx1
    }

    pub fn set_material_sfx1(&mut self, value: u16) {
        self.material_sfx1 = value;
    }

    pub fn material_se_weak2(&self) -> u16 {
        self.material_se_weak2
    }

    pub fn set_material_se_weak2(&mut self, value: u16) {
        self.material_se_weak2 = value;
    }

    pub fn material_sfx_weak2(&self) -> u16 {
        self.material_sfx_weak2
    }

    pub fn set_material_sfx_weak2(&mut self, value: u16) {
        self.material_sfx_weak2 = value;
    }

    pub fn material_se2(&self) -> u16 {
        self.material_se2
    }

    pub fn set_material_se2(&mut self, value: u16) {
        self.material_se2 = value;
    }

    pub fn material_sfx2(&self) -> u16 {
        self.material_sfx2
    }

    pub fn set_material_sfx2(&mut self, value: u16) {
        self.material_sfx2 = 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) -> u32 {
        self.toughness
    }

    pub fn set_toughness(&mut self, value: u32) {
        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 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 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 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 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_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) -> u16 {
        self.paint_render_target_size
    }

    pub fn set_paint_render_target_size(&mut self, value: u16) {
        self.paint_render_target_size = value;
    }

    pub fn resist_correct_id_disease(&self) -> i32 {
        self.resist_correct_id_disease
    }

    pub fn set_resist_correct_id_disease(&mut self, value: i32) {
        self.resist_correct_id_disease = value;
    }

    pub fn phantom_shader_id(&self) -> i32 {
        self.phantom_shader_id
    }

    pub fn set_phantom_shader_id(&mut self, value: i32) {
        self.phantom_shader_id = value;
    }

    pub fn multi_play_correction_param_id(&self) -> i32 {
        self.multi_play_correction_param_id
    }

    pub fn set_multi_play_correction_param_id(&mut self, value: i32) {
        self.multi_play_correction_param_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_freeze(&self) -> u16 {
        self.resist_freeze
    }

    pub fn set_resist_freeze(&mut self, value: u16) {
        self.resist_freeze = value;
    }

    pub fn freeze_guard_resist(&self) -> i8 {
        self.freeze_guard_resist
    }

    pub fn set_freeze_guard_resist(&mut self, value: i8) {
        self.freeze_guard_resist = value;
    }

    pub fn lock_camera_param_id(&self) -> i32 {
        self.lock_camera_param_id
    }

    pub fn set_lock_camera_param_id(&mut self, value: i32) {
        self.lock_camera_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;
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_foot_ik_normal_by_unduration(&self) -> u8 {
        (self.bits_22d >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_foot_ik_normal_by_unduration(&mut self, value: u8) {
        self.bits_22d = (self.bits_22d & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn attach_hit_initialize_dead(&self) -> u8 {
        (self.bits_22d >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_attach_hit_initialize_dead(&mut self, value: u8) {
        self.bits_22d = (self.bits_22d & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn exclude_group_reward_check(&self) -> u8 {
        (self.bits_22d >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_exclude_group_reward_check(&mut self, value: u8) {
        self.bits_22d = (self.bits_22d & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ai_lock_dmy_poly_212(&self) -> u8 {
        (self.bits_22d >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ai_lock_dmy_poly_212(&mut self, value: u8) {
        self.bits_22d = (self.bits_22d & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ai_lock_dmy_poly_213(&self) -> u8 {
        (self.bits_22d >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ai_lock_dmy_poly_213(&mut self, value: u8) {
        self.bits_22d = (self.bits_22d & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ai_lock_dmy_poly_214(&self) -> u8 {
        (self.bits_22d >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ai_lock_dmy_poly_214(&mut self, value: u8) {
        self.bits_22d = (self.bits_22d & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_activate_open_xb1(&self) -> u8 {
        (self.bits_22d >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_activate_open_xb1(&mut self, value: u8) {
        self.bits_22d = (self.bits_22d & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_activate_legacy_xb1(&self) -> u8 {
        (self.bits_22d >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_activate_legacy_xb1(&mut self, value: u8) {
        self.bits_22d = (self.bits_22d & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    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) -> u16 {
        self.estus_flask_lot_point
    }

    pub fn set_estus_flask_lot_point(&mut self, value: u16) {
        self.estus_flask_lot_point = value;
    }

    pub fn hp_estus_flask_lot_point(&self) -> u16 {
        self.hp_estus_flask_lot_point
    }

    pub fn set_hp_estus_flask_lot_point(&mut self, value: u16) {
        self.hp_estus_flask_lot_point = value;
    }

    pub fn mp_estus_flask_lot_point(&self) -> u16 {
        self.mp_estus_flask_lot_point
    }

    pub fn set_mp_estus_flask_lot_point(&mut self, value: u16) {
        self.mp_estus_flask_lot_point = value;
    }

    pub fn estus_flask_recovery_failed_lot_point_add(&self) -> u16 {
        self.estus_flask_recovery_failed_lot_point_add
    }

    pub fn set_estus_flask_recovery_failed_lot_point_add(&mut self, value: u16) {
        self.estus_flask_recovery_failed_lot_point_add = value;
    }

    pub fn hp_estus_flask_recovery_failed_lot_point_add(&self) -> u16 {
        self.hp_estus_flask_recovery_failed_lot_point_add
    }

    pub fn set_hp_estus_flask_recovery_failed_lot_point_add(&mut self, value: u16) {
        self.hp_estus_flask_recovery_failed_lot_point_add = value;
    }

    pub fn mp_estus_flask_recovery_failed_lot_point_add(&self) -> u16 {
        self.mp_estus_flask_recovery_failed_lot_point_add
    }

    pub fn set_mp_estus_flask_recovery_failed_lot_point_add(&mut self, value: u16) {
        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;
    }

    pub fn sound_bank_id(&self) -> i16 {
        self.sound_bank_id
    }

    pub fn set_sound_bank_id(&mut self, value: i16) {
        self.sound_bank_id = value;
    }

    pub fn forward_undulation_limit(&self) -> u8 {
        self.forward_undulation_limit
    }

    pub fn set_forward_undulation_limit(&mut self, value: u8) {
        self.forward_undulation_limit = value;
    }

    pub fn side_undulation_limit(&self) -> u8 {
        self.side_undulation_limit
    }

    pub fn set_side_undulation_limit(&mut self, value: u8) {
        self.side_undulation_limit = value;
    }

    pub fn deactive_move_speed(&self) -> f32 {
        self.deactive_move_speed
    }

    pub fn set_deactive_move_speed(&mut self, value: f32) {
        self.deactive_move_speed = value;
    }

    pub fn deactive_move_dist(&self) -> f32 {
        self.deactive_move_dist
    }

    pub fn set_deactive_move_dist(&mut self, value: f32) {
        self.deactive_move_dist = value;
    }

    pub fn enable_sound_obj_dist(&self) -> f32 {
        self.enable_sound_obj_dist
    }

    pub fn set_enable_sound_obj_dist(&mut self, value: f32) {
        self.enable_sound_obj_dist = value;
    }

    pub fn undulation_correct_gain(&self) -> f32 {
        self.undulation_correct_gain
    }

    pub fn set_undulation_correct_gain(&mut self, value: f32) {
        self.undulation_correct_gain = value;
    }

    pub fn auto_foot_effect_decal_base_id2(&self) -> i16 {
        self.auto_foot_effect_decal_base_id2
    }

    pub fn set_auto_foot_effect_decal_base_id2(&mut self, value: i16) {
        self.auto_foot_effect_decal_base_id2 = value;
    }

    pub fn auto_foot_effect_decal_base_id3(&self) -> i16 {
        self.auto_foot_effect_decal_base_id3
    }

    pub fn set_auto_foot_effect_decal_base_id3(&mut self, value: i16) {
        self.auto_foot_effect_decal_base_id3 = value;
    }

    pub fn retarget_reference_chr_id(&self) -> i16 {
        self.retarget_reference_chr_id
    }

    pub fn set_retarget_reference_chr_id(&mut self, value: i16) {
        self.retarget_reference_chr_id = value;
    }

    pub fn sfx_res_bank_id(&self) -> i16 {
        self.sfx_res_bank_id
    }

    pub fn set_sfx_res_bank_id(&mut self, value: i16) {
        self.sfx_res_bank_id = value;
    }

    pub fn update_activate_priolity(&self) -> f32 {
        self.update_activate_priolity
    }

    pub fn set_update_activate_priolity(&mut self, value: f32) {
        self.update_activate_priolity = value;
    }

    pub fn chr_navimesh_flag_alive(&self) -> u8 {
        self.chr_navimesh_flag_alive
    }

    pub fn set_chr_navimesh_flag_alive(&mut self, value: u8) {
        self.chr_navimesh_flag_alive = value;
    }

    pub fn chr_navimesh_flag_dead(&self) -> u8 {
        self.chr_navimesh_flag_dead
    }

    pub fn set_chr_navimesh_flag_dead(&mut self, value: u8) {
        self.chr_navimesh_flag_dead = value;
    }

    pub fn wheel_rot_type(&self) -> u8 {
        self.wheel_rot_type
    }

    pub fn set_wheel_rot_type(&mut self, value: u8) {
        self.wheel_rot_type = value;
    }

    pub fn wheel_rot_radius(&self) -> f32 {
        self.wheel_rot_radius
    }

    pub fn set_wheel_rot_radius(&mut self, value: f32) {
        self.wheel_rot_radius = value;
    }

    pub fn retarget_move_rate(&self) -> f32 {
        self.retarget_move_rate
    }

    pub fn set_retarget_move_rate(&mut self, value: f32) {
        self.retarget_move_rate = value;
    }

    pub fn ladder_warp_offset(&self) -> f32 {
        self.ladder_warp_offset
    }

    pub fn set_ladder_warp_offset(&mut self, value: f32) {
        self.ladder_warp_offset = value;
    }

    pub fn load_asset_id(&self) -> i32 {
        self.load_asset_id
    }

    pub fn set_load_asset_id(&mut self, value: i32) {
        self.load_asset_id = value;
    }

    pub fn overlap_camera_dmypoly_id(&self) -> i32 {
        self.overlap_camera_dmypoly_id
    }

    pub fn set_overlap_camera_dmypoly_id(&mut self, value: i32) {
        self.overlap_camera_dmypoly_id = value;
    }

    pub fn resident_material_ex_param_id00(&self) -> i32 {
        self.resident_material_ex_param_id00
    }

    pub fn set_resident_material_ex_param_id00(&mut self, value: i32) {
        self.resident_material_ex_param_id00 = value;
    }

    pub fn resident_material_ex_param_id01(&self) -> i32 {
        self.resident_material_ex_param_id01
    }

    pub fn set_resident_material_ex_param_id01(&mut self, value: i32) {
        self.resident_material_ex_param_id01 = value;
    }

    pub fn resident_material_ex_param_id02(&self) -> i32 {
        self.resident_material_ex_param_id02
    }

    pub fn set_resident_material_ex_param_id02(&mut self, value: i32) {
        self.resident_material_ex_param_id02 = value;
    }

    pub fn resident_material_ex_param_id03(&self) -> i32 {
        self.resident_material_ex_param_id03
    }

    pub fn set_resident_material_ex_param_id03(&mut self, value: i32) {
        self.resident_material_ex_param_id03 = value;
    }

    pub fn resident_material_ex_param_id04(&self) -> i32 {
        self.resident_material_ex_param_id04
    }

    pub fn set_resident_material_ex_param_id04(&mut self, value: i32) {
        self.resident_material_ex_param_id04 = value;
    }

    pub fn sleep_collector_item_lot_id_enemy(&self) -> i32 {
        self.sleep_collector_item_lot_id_enemy
    }

    pub fn set_sleep_collector_item_lot_id_enemy(&mut self, value: i32) {
        self.sleep_collector_item_lot_id_enemy = value;
    }

    pub fn sleep_collector_item_lot_id_map(&self) -> i32 {
        self.sleep_collector_item_lot_id_map
    }

    pub fn set_sleep_collector_item_lot_id_map(&mut self, value: i32) {
        self.sleep_collector_item_lot_id_map = value;
    }

    pub fn foot_ik_error_on_gain(&self) -> f32 {
        self.foot_ik_error_on_gain
    }

    pub fn set_foot_ik_error_on_gain(&mut self, value: f32) {
        self.foot_ik_error_on_gain = value;
    }

    pub fn foot_ik_error_off_gain(&self) -> f32 {
        self.foot_ik_error_off_gain
    }

    pub fn set_foot_ik_error_off_gain(&mut self, value: f32) {
        self.foot_ik_error_off_gain = value;
    }

    pub fn sound_add_bank_id(&self) -> i16 {
        self.sound_add_bank_id
    }

    pub fn set_sound_add_bank_id(&mut self, value: i16) {
        self.sound_add_bank_id = value;
    }

    pub fn material_variation_value(&self) -> u8 {
        self.material_variation_value
    }

    pub fn set_material_variation_value(&mut self, value: u8) {
        self.material_variation_value = value;
    }

    pub fn material_variation_value_weak(&self) -> u8 {
        self.material_variation_value_weak
    }

    pub fn set_material_variation_value_weak(&mut self, value: u8) {
        self.material_variation_value_weak = value;
    }

    pub fn super_armor_durability(&self) -> f32 {
        self.super_armor_durability
    }

    pub fn set_super_armor_durability(&mut self, value: f32) {
        self.super_armor_durability = value;
    }

    pub fn sa_recovery_rate(&self) -> f32 {
        self.sa_recovery_rate
    }

    pub fn set_sa_recovery_rate(&mut self, value: f32) {
        self.sa_recovery_rate = value;
    }

    pub fn sa_guard_cut_rate(&self) -> f32 {
        self.sa_guard_cut_rate
    }

    pub fn set_sa_guard_cut_rate(&mut self, value: f32) {
        self.sa_guard_cut_rate = value;
    }

    pub fn resist_correct_id_blood(&self) -> i32 {
        self.resist_correct_id_blood
    }

    pub fn set_resist_correct_id_blood(&mut self, value: i32) {
        self.resist_correct_id_blood = value;
    }

    pub fn resist_correct_id_curse(&self) -> i32 {
        self.resist_correct_id_curse
    }

    pub fn set_resist_correct_id_curse(&mut self, value: i32) {
        self.resist_correct_id_curse = value;
    }

    pub fn resist_correct_id_freeze(&self) -> i32 {
        self.resist_correct_id_freeze
    }

    pub fn set_resist_correct_id_freeze(&mut self, value: i32) {
        self.resist_correct_id_freeze = value;
    }

    pub fn resist_correct_id_sleep(&self) -> i32 {
        self.resist_correct_id_sleep
    }

    pub fn set_resist_correct_id_sleep(&mut self, value: i32) {
        self.resist_correct_id_sleep = value;
    }

    pub fn resist_correct_id_madness(&self) -> i32 {
        self.resist_correct_id_madness
    }

    pub fn set_resist_correct_id_madness(&mut self, value: i32) {
        self.resist_correct_id_madness = value;
    }

    pub fn chr_dead_tutorial_flag_id(&self) -> u32 {
        self.chr_dead_tutorial_flag_id
    }

    pub fn set_chr_dead_tutorial_flag_id(&mut self, value: u32) {
        self.chr_dead_tutorial_flag_id = value;
    }

    pub fn step_disp_interpolate_time(&self) -> f32 {
        self.step_disp_interpolate_time
    }

    pub fn set_step_disp_interpolate_time(&mut self, value: f32) {
        self.step_disp_interpolate_time = value;
    }

    pub fn step_disp_interpolate_trigger_value(&self) -> f32 {
        self.step_disp_interpolate_trigger_value
    }

    pub fn set_step_disp_interpolate_trigger_value(&mut self, value: f32) {
        self.step_disp_interpolate_trigger_value = value;
    }

    pub fn lock_score_offset(&self) -> f32 {
        self.lock_score_offset
    }

    pub fn set_lock_score_offset(&mut self, value: f32) {
        self.lock_score_offset = value;
    }

    pub fn reward_item_lot_2(&self) -> i32 {
        self.reward_item_lot_2
    }

    pub fn set_reward_item_lot_2(&mut self, value: i32) {
        self.reward_item_lot_2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct NPC_THINK_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    logic_id: i32,
    battle_goal_id: i32,
    search_eye_dist: u16,
    search_eye_ang_y: u8,
    bits_f: u8,
    sp_effect_id_ranged_attack: i32,
    search_target_lv1_forget_time: f32,
    search_target_lv2_forget_time: f32,
    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_64: u8,
    enable_navi_flg_reserve1: [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,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    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],
    sound_behavior_id01: i32,
    sound_behavior_id02: i32,
    sound_behavior_id03: i32,
    sound_behavior_id04: i32,
    sound_behavior_id05: i32,
    sound_behavior_id06: i32,
    sound_behavior_id07: i32,
    sound_behavior_id08: i32,
    weapon_off_special_effect_id: i32,
    weapon_on_special_effect_id: i32,
    weapon_off_anim_id: i32,
    weapon_on_anim_id: i32,
    surprise_anim_id: i32,
}

impl ParamDef for NPC_THINK_PARAM_ST {
    const NAME: &str = "NPC_THINK_PARAM_ST";
}

impl NPC_THINK_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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 search_eye_dist(&self) -> u16 {
        self.search_eye_dist
    }

    pub fn set_search_eye_dist(&mut self, value: u16) {
        self.search_eye_dist = value;
    }

    pub fn search_eye_ang_y(&self) -> u8 {
        self.search_eye_ang_y
    }

    pub fn set_search_eye_ang_y(&mut self, value: u8) {
        self.search_eye_ang_y = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_no_avoid_huge_enemy(&self) -> u8 {
        (self.bits_f >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_no_avoid_huge_enemy(&mut self, value: u8) {
        self.bits_f = (self.bits_f & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_weapon_on_off(&self) -> u8 {
        (self.bits_f >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_weapon_on_off(&mut self, value: u8) {
        self.bits_f = (self.bits_f & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn target_ai_lock_dmy_poly(&self) -> u8 {
        (self.bits_f >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_target_ai_lock_dmy_poly(&mut self, value: u8) {
        self.bits_f = (self.bits_f & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    pub fn sp_effect_id_ranged_attack(&self) -> i32 {
        self.sp_effect_id_ranged_attack
    }

    pub fn set_sp_effect_id_ranged_attack(&mut self, value: i32) {
        self.sp_effect_id_ranged_attack = value;
    }

    pub fn search_target_lv1_forget_time(&self) -> f32 {
        self.search_target_lv1_forget_time
    }

    pub fn set_search_target_lv1_forget_time(&mut self, value: f32) {
        self.search_target_lv1_forget_time = value;
    }

    pub fn search_target_lv2_forget_time(&self) -> f32 {
        self.search_target_lv2_forget_time
    }

    pub fn set_search_target_lv2_forget_time(&mut self, value: f32) {
        self.search_target_lv2_forget_time = 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_64 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_edge(&mut self, value: u8) {
        self.bits_64 = (self.bits_64 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_large_space(&self) -> u8 {
        (self.bits_64 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_large_space(&mut self, value: u8) {
        self.bits_64 = (self.bits_64 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_ladder(&self) -> u8 {
        (self.bits_64 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_ladder(&mut self, value: u8) {
        self.bits_64 = (self.bits_64 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_hole(&self) -> u8 {
        (self.bits_64 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_hole(&mut self, value: u8) {
        self.bits_64 = (self.bits_64 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_door(&self) -> u8 {
        (self.bits_64 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_door(&mut self, value: u8) {
        self.bits_64 = (self.bits_64 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_in_side_wall(&self) -> u8 {
        (self.bits_64 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_in_side_wall(&mut self, value: u8) {
        self.bits_64 = (self.bits_64 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_lava(&self) -> u8 {
        (self.bits_64 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_lava(&mut self, value: u8) {
        self.bits_64 = (self.bits_64 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_navi_flg_edge_ordinary(&self) -> u8 {
        (self.bits_64 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_navi_flg_edge_ordinary(&mut self, value: u8) {
        self.bits_64 = (self.bits_64 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    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;
    }

    pub fn sound_behavior_id01(&self) -> i32 {
        self.sound_behavior_id01
    }

    pub fn set_sound_behavior_id01(&mut self, value: i32) {
        self.sound_behavior_id01 = value;
    }

    pub fn sound_behavior_id02(&self) -> i32 {
        self.sound_behavior_id02
    }

    pub fn set_sound_behavior_id02(&mut self, value: i32) {
        self.sound_behavior_id02 = value;
    }

    pub fn sound_behavior_id03(&self) -> i32 {
        self.sound_behavior_id03
    }

    pub fn set_sound_behavior_id03(&mut self, value: i32) {
        self.sound_behavior_id03 = value;
    }

    pub fn sound_behavior_id04(&self) -> i32 {
        self.sound_behavior_id04
    }

    pub fn set_sound_behavior_id04(&mut self, value: i32) {
        self.sound_behavior_id04 = value;
    }

    pub fn sound_behavior_id05(&self) -> i32 {
        self.sound_behavior_id05
    }

    pub fn set_sound_behavior_id05(&mut self, value: i32) {
        self.sound_behavior_id05 = value;
    }

    pub fn sound_behavior_id06(&self) -> i32 {
        self.sound_behavior_id06
    }

    pub fn set_sound_behavior_id06(&mut self, value: i32) {
        self.sound_behavior_id06 = value;
    }

    pub fn sound_behavior_id07(&self) -> i32 {
        self.sound_behavior_id07
    }

    pub fn set_sound_behavior_id07(&mut self, value: i32) {
        self.sound_behavior_id07 = value;
    }

    pub fn sound_behavior_id08(&self) -> i32 {
        self.sound_behavior_id08
    }

    pub fn set_sound_behavior_id08(&mut self, value: i32) {
        self.sound_behavior_id08 = value;
    }

    pub fn weapon_off_special_effect_id(&self) -> i32 {
        self.weapon_off_special_effect_id
    }

    pub fn set_weapon_off_special_effect_id(&mut self, value: i32) {
        self.weapon_off_special_effect_id = value;
    }

    pub fn weapon_on_special_effect_id(&self) -> i32 {
        self.weapon_on_special_effect_id
    }

    pub fn set_weapon_on_special_effect_id(&mut self, value: i32) {
        self.weapon_on_special_effect_id = value;
    }

    pub fn weapon_off_anim_id(&self) -> i32 {
        self.weapon_off_anim_id
    }

    pub fn set_weapon_off_anim_id(&mut self, value: i32) {
        self.weapon_off_anim_id = value;
    }

    pub fn weapon_on_anim_id(&self) -> i32 {
        self.weapon_on_anim_id
    }

    pub fn set_weapon_on_anim_id(&mut self, value: i32) {
        self.weapon_on_anim_id = value;
    }

    pub fn surprise_anim_id(&self) -> i32 {
        self.surprise_anim_id
    }

    pub fn set_surprise_anim_id(&mut self, value: i32) {
        self.surprise_anim_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: u32,
    player_anim_id: u32,
    chr_anim_id: u32,
    valid_dist: u16,
    sp_qualified_id_old: u16,
    sp_qualified_id2_old: u16,
    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,
    pad1: [u8; 2],
    action_button_param_id: i32,
    enable_treasure_delay_sec: f32,
    pre_action_sfx_dmypoly_id: i32,
    pre_action_sfx_id: i32,
    pad2_old: [u8; 40],
}

impl ParamDef for OBJ_ACT_PARAM_ST {
    const NAME: &str = "OBJ_ACT_PARAM_ST";
}

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) -> u32 {
        self.sp_qualified_pass_event_flag
    }

    pub fn set_sp_qualified_pass_event_flag(&mut self, value: u32) {
        self.sp_qualified_pass_event_flag = value;
    }

    pub fn player_anim_id(&self) -> u32 {
        self.player_anim_id
    }

    pub fn set_player_anim_id(&mut self, value: u32) {
        self.player_anim_id = value;
    }

    pub fn chr_anim_id(&self) -> u32 {
        self.chr_anim_id
    }

    pub fn set_chr_anim_id(&mut self, value: u32) {
        self.chr_anim_id = value;
    }

    pub fn valid_dist(&self) -> u16 {
        self.valid_dist
    }

    pub fn set_valid_dist(&mut self, value: u16) {
        self.valid_dist = value;
    }

    pub fn sp_qualified_id_old(&self) -> u16 {
        self.sp_qualified_id_old
    }

    pub fn set_sp_qualified_id_old(&mut self, value: u16) {
        self.sp_qualified_id_old = value;
    }

    pub fn sp_qualified_id2_old(&self) -> u16 {
        self.sp_qualified_id2_old
    }

    pub fn set_sp_qualified_id2_old(&mut self, value: u16) {
        self.sp_qualified_id2_old = 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;
    }

    pub fn pre_action_sfx_dmypoly_id(&self) -> i32 {
        self.pre_action_sfx_dmypoly_id
    }

    pub fn set_pre_action_sfx_dmypoly_id(&mut self, value: i32) {
        self.pre_action_sfx_dmypoly_id = value;
    }

    pub fn pre_action_sfx_id(&self) -> i32 {
        self.pre_action_sfx_id
    }

    pub fn set_pre_action_sfx_id(&mut self, value: i32) {
        self.pre_action_sfx_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct OPERATION_GUIDE_PARAM_ST {
    unknown_0: i32,
    guide_text_id: i32,
    unknown_2: i32,
    unknown_3: f32,
    unknown_4: f32,
    unknown_5: f32,
    unknown_6: i32,
    unknown_7: i32,
}

impl ParamDef for OPERATION_GUIDE_PARAM_ST {
    const NAME: &str = "OPERATION_GUIDE_PARAM_ST";
}

impl OPERATION_GUIDE_PARAM_ST {
    pub fn guide_text_id(&self) -> i32 {
        self.guide_text_id
    }

    pub fn set_guide_text_id(&mut self, value: i32) {
        self.guide_text_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct OVERLAY_MATERIAL_PARAM_ST {
    param_name: [u16; 32],
    material_id: i32,
    material_param_value0: f32,
    material_param_value1: f32,
    end_padding: [u8; 4],
}

impl ParamDef for OVERLAY_MATERIAL_PARAM_ST {
    const NAME: &str = "OVERLAY_MATERIAL_PARAM_ST";
}

impl OVERLAY_MATERIAL_PARAM_ST {
    pub fn param_name(&self) -> &[u16; 32] {
        &self.param_name
    }

    pub fn set_param_name(&mut self, value: [u16; 32]) {
        self.param_name = value;
    }

    pub fn material_id(&self) -> i32 {
        self.material_id
    }

    pub fn set_material_id(&mut self, value: i32) {
        self.material_id = value;
    }

    pub fn material_param_value0(&self) -> f32 {
        self.material_param_value0
    }

    pub fn set_material_param_value0(&mut self, value: f32) {
        self.material_param_value0 = value;
    }

    pub fn material_param_value1(&self) -> f32 {
        self.material_param_value1
    }

    pub fn set_material_param_value1(&mut self, value: f32) {
        self.material_param_value1 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PARTS_DRAW_PARAM_ST {
    lv01_border_dist: f32,
    lv01_play_dist: f32,
    lv12_border_dist: f32,
    lv12_play_dist: f32,
    lv23_border_dist: f32,
    lv23_play_dist: f32,
    lv34_border_dist: f32,
    lv34_play_dist: f32,
    lv45_border_dist: f32,
    lv45_play_dist: f32,
    tex_lv01_border_dist: f32,
    tex_lv01_play_dist: f32,
    bits_30: u8,
    draw_dist: f32,
    draw_fade_range: f32,
    shadow_draw_dist: f32,
    shadow_fade_range: f32,
    motion_blur_border_dist: f32,
    is_point_light_shadow_src: i8,
    is_dir_light_shadow_src: i8,
    is_shadow_dst: i8,
    is_shadow_only: i8,
    draw_by_reflect_cam: i8,
    draw_only_reflect_cam: i8,
    include_lod_map_lv: i8,
    is_no_far_clip_draw: u8,
    lod_type: u8,
    shadow_draw_lod_offset: i8,
    is_trace_camera_xz: u8,
    is_skydome_draw_phase: u8,
    distant_view_model_border_dist: f32,
    distant_view_model_play_dist: f32,
    limted_activate_border_dist_for_grid: f32,
    limted_activate_play_dist_for_grid: f32,
    z_sort_offset_for_no_far_clip_draw: f32,
    shadow_draw_alpha_test_dist: f32,
    foward_draw_envmap_blend_type: u8,
    lb_draw_dist_scale_param_id: u8,
    resereve: [u8; 34],
}

impl ParamDef for PARTS_DRAW_PARAM_ST {
    const NAME: &str = "PARTS_DRAW_PARAM_ST";
}

impl PARTS_DRAW_PARAM_ST {
    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 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 tex_lv01_border_dist(&self) -> f32 {
        self.tex_lv01_border_dist
    }

    pub fn set_tex_lv01_border_dist(&mut self, value: f32) {
        self.tex_lv01_border_dist = value;
    }

    pub fn tex_lv01_play_dist(&self) -> f32 {
        self.tex_lv01_play_dist
    }

    pub fn set_tex_lv01_play_dist(&mut self, value: f32) {
        self.tex_lv01_play_dist = value;
    }

    #[allow(clippy::identity_op)]
    pub fn enable_cross_fade(&self) -> u8 {
        (self.bits_30 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_cross_fade(&mut self, value: u8) {
        self.bits_30 = (self.bits_30 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn draw_dist(&self) -> f32 {
        self.draw_dist
    }

    pub fn set_draw_dist(&mut self, value: f32) {
        self.draw_dist = value;
    }

    pub fn draw_fade_range(&self) -> f32 {
        self.draw_fade_range
    }

    pub fn set_draw_fade_range(&mut self, value: f32) {
        self.draw_fade_range = value;
    }

    pub fn shadow_draw_dist(&self) -> f32 {
        self.shadow_draw_dist
    }

    pub fn set_shadow_draw_dist(&mut self, value: f32) {
        self.shadow_draw_dist = value;
    }

    pub fn shadow_fade_range(&self) -> f32 {
        self.shadow_fade_range
    }

    pub fn set_shadow_fade_range(&mut self, value: f32) {
        self.shadow_fade_range = value;
    }

    pub fn motion_blur_border_dist(&self) -> f32 {
        self.motion_blur_border_dist
    }

    pub fn set_motion_blur_border_dist(&mut self, value: f32) {
        self.motion_blur_border_dist = value;
    }

    pub fn is_point_light_shadow_src(&self) -> i8 {
        self.is_point_light_shadow_src
    }

    pub fn set_is_point_light_shadow_src(&mut self, value: i8) {
        self.is_point_light_shadow_src = value;
    }

    pub fn is_dir_light_shadow_src(&self) -> i8 {
        self.is_dir_light_shadow_src
    }

    pub fn set_is_dir_light_shadow_src(&mut self, value: i8) {
        self.is_dir_light_shadow_src = value;
    }

    pub fn is_shadow_dst(&self) -> i8 {
        self.is_shadow_dst
    }

    pub fn set_is_shadow_dst(&mut self, value: i8) {
        self.is_shadow_dst = value;
    }

    pub fn is_shadow_only(&self) -> i8 {
        self.is_shadow_only
    }

    pub fn set_is_shadow_only(&mut self, value: i8) {
        self.is_shadow_only = value;
    }

    pub fn draw_by_reflect_cam(&self) -> i8 {
        self.draw_by_reflect_cam
    }

    pub fn set_draw_by_reflect_cam(&mut self, value: i8) {
        self.draw_by_reflect_cam = value;
    }

    pub fn draw_only_reflect_cam(&self) -> i8 {
        self.draw_only_reflect_cam
    }

    pub fn set_draw_only_reflect_cam(&mut self, value: i8) {
        self.draw_only_reflect_cam = value;
    }

    pub fn include_lod_map_lv(&self) -> i8 {
        self.include_lod_map_lv
    }

    pub fn set_include_lod_map_lv(&mut self, value: i8) {
        self.include_lod_map_lv = value;
    }

    pub fn is_no_far_clip_draw(&self) -> u8 {
        self.is_no_far_clip_draw
    }

    pub fn set_is_no_far_clip_draw(&mut self, value: u8) {
        self.is_no_far_clip_draw = value;
    }

    pub fn lod_type(&self) -> u8 {
        self.lod_type
    }

    pub fn set_lod_type(&mut self, value: u8) {
        self.lod_type = value;
    }

    pub fn shadow_draw_lod_offset(&self) -> i8 {
        self.shadow_draw_lod_offset
    }

    pub fn set_shadow_draw_lod_offset(&mut self, value: i8) {
        self.shadow_draw_lod_offset = value;
    }

    pub fn is_trace_camera_xz(&self) -> u8 {
        self.is_trace_camera_xz
    }

    pub fn set_is_trace_camera_xz(&mut self, value: u8) {
        self.is_trace_camera_xz = value;
    }

    pub fn is_skydome_draw_phase(&self) -> u8 {
        self.is_skydome_draw_phase
    }

    pub fn set_is_skydome_draw_phase(&mut self, value: u8) {
        self.is_skydome_draw_phase = value;
    }

    pub fn distant_view_model_border_dist(&self) -> f32 {
        self.distant_view_model_border_dist
    }

    pub fn set_distant_view_model_border_dist(&mut self, value: f32) {
        self.distant_view_model_border_dist = value;
    }

    pub fn distant_view_model_play_dist(&self) -> f32 {
        self.distant_view_model_play_dist
    }

    pub fn set_distant_view_model_play_dist(&mut self, value: f32) {
        self.distant_view_model_play_dist = value;
    }

    pub fn limted_activate_border_dist_for_grid(&self) -> f32 {
        self.limted_activate_border_dist_for_grid
    }

    pub fn set_limted_activate_border_dist_for_grid(&mut self, value: f32) {
        self.limted_activate_border_dist_for_grid = value;
    }

    pub fn limted_activate_play_dist_for_grid(&self) -> f32 {
        self.limted_activate_play_dist_for_grid
    }

    pub fn set_limted_activate_play_dist_for_grid(&mut self, value: f32) {
        self.limted_activate_play_dist_for_grid = value;
    }

    pub fn z_sort_offset_for_no_far_clip_draw(&self) -> f32 {
        self.z_sort_offset_for_no_far_clip_draw
    }

    pub fn set_z_sort_offset_for_no_far_clip_draw(&mut self, value: f32) {
        self.z_sort_offset_for_no_far_clip_draw = value;
    }

    pub fn shadow_draw_alpha_test_dist(&self) -> f32 {
        self.shadow_draw_alpha_test_dist
    }

    pub fn set_shadow_draw_alpha_test_dist(&mut self, value: f32) {
        self.shadow_draw_alpha_test_dist = value;
    }

    pub fn foward_draw_envmap_blend_type(&self) -> u8 {
        self.foward_draw_envmap_blend_type
    }

    pub fn set_foward_draw_envmap_blend_type(&mut self, value: u8) {
        self.foward_draw_envmap_blend_type = value;
    }

    pub fn lb_draw_dist_scale_param_id(&self) -> u8 {
        self.lb_draw_dist_scale_param_id
    }

    pub fn set_lb_draw_dist_scale_param_id(&mut self, value: u8) {
        self.lb_draw_dist_scale_param_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PERMANENT_BUFF_PARAM_ST {
    sp_effect_id: i32,
    icon_id: i32,
    secondary_icon_id: i32,
    display_numeric_value: u16,
    display_percentage_symbol: u16,
    numeric_value: i32,
    grace_sp_effect_id: i32,
}

impl ParamDef for PERMANENT_BUFF_PARAM_ST {
    const NAME: &str = "PERMANENT_BUFF_PARAM_ST";
}

impl PERMANENT_BUFF_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 icon_id(&self) -> i32 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i32) {
        self.icon_id = value;
    }

    pub fn secondary_icon_id(&self) -> i32 {
        self.secondary_icon_id
    }

    pub fn set_secondary_icon_id(&mut self, value: i32) {
        self.secondary_icon_id = value;
    }

    pub fn display_numeric_value(&self) -> u16 {
        self.display_numeric_value
    }

    pub fn set_display_numeric_value(&mut self, value: u16) {
        self.display_numeric_value = value;
    }

    pub fn display_percentage_symbol(&self) -> u16 {
        self.display_percentage_symbol
    }

    pub fn set_display_percentage_symbol(&mut self, value: u16) {
        self.display_percentage_symbol = value;
    }

    pub fn numeric_value(&self) -> i32 {
        self.numeric_value
    }

    pub fn set_numeric_value(&mut self, value: i32) {
        self.numeric_value = value;
    }

    pub fn grace_sp_effect_id(&self) -> i32 {
        self.grace_sp_effect_id
    }

    pub fn set_grace_sp_effect_id(&mut self, value: i32) {
        self.grace_sp_effect_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PERSONAL_SCENARIO_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    objective_flag_id: i32,
    personal_scenario_text_id: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6a: u8,
    unknown_6b: u8,
    unknown_6c: u8,
    unknown_6d: u8,
    flashback_flag_id: i32,
    unknown_8: i32,
    spawnpoint_entity_id: i32,
    unknown_10: i32,
    unknown_11: i32,
}

impl ParamDef for PERSONAL_SCENARIO_PARAM_ST {
    const NAME: &str = "PERSONAL_SCENARIO_PARAM_ST";
}

impl PERSONAL_SCENARIO_PARAM_ST {
    pub fn objective_flag_id(&self) -> i32 {
        self.objective_flag_id
    }

    pub fn set_objective_flag_id(&mut self, value: i32) {
        self.objective_flag_id = value;
    }

    pub fn personal_scenario_text_id(&self) -> i32 {
        self.personal_scenario_text_id
    }

    pub fn set_personal_scenario_text_id(&mut self, value: i32) {
        self.personal_scenario_text_id = value;
    }

    pub fn flashback_flag_id(&self) -> i32 {
        self.flashback_flag_id
    }

    pub fn set_flashback_flag_id(&mut self, value: i32) {
        self.flashback_flag_id = value;
    }

    pub fn spawnpoint_entity_id(&self) -> i32 {
        self.spawnpoint_entity_id
    }

    pub fn set_spawnpoint_entity_id(&mut self, value: i32) {
        self.spawnpoint_entity_id = 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,
    reserve: [u8; 1],
    alpha: f32,
    blend_rate: f32,
    blend_type: u8,
    is_edge_subtract: u8,
    is_front_subtract: u8,
    is_no2_pass: u8,
    edge_power: f32,
    glow_scale: f32,
}

impl ParamDef for PHANTOM_PARAM_ST {
    const NAME: &str = "PHANTOM_PARAM_ST";
}

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;
    }

    pub fn edge_power(&self) -> f32 {
        self.edge_power
    }

    pub fn set_edge_power(&mut self, value: f32) {
        self.edge_power = value;
    }

    pub fn glow_scale(&self) -> f32 {
        self.glow_scale
    }

    pub fn set_glow_scale(&mut self, value: f32) {
        self.glow_scale = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PIN_TYPE_PARAM_ST {
    unknown_0a: u8,
    unknown_0b: u8,
    unknown_0c: u8,
    unknown_0d: u8,
    unknown_1: f32,
    unknown_2: f32,
    unknown_3: f32,
    unknown_4: f32,
    unknown_5: f32,
    unknown_6: f32,
    unknown_7: f32,
    unknown_8: f32,
}

impl ParamDef for PIN_TYPE_PARAM_ST {
    const NAME: &str = "PIN_TYPE_PARAM_ST";
}

impl PIN_TYPE_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PLAYAREA_GIANT_ASSET_CTRL_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: f32,
    unknown_7: f32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: f32,
    unknown_11: f32,
    unknown_12: f32,
    unknown_13: i32,
    unknown_14: f32,
    unknown_15: f32,
}

impl ParamDef for PLAYAREA_GIANT_ASSET_CTRL_PARAM_ST {
    const NAME: &str = "PLAYAREA_GIANT_ASSET_CTRL_PARAM_ST";
}

impl PLAYAREA_GIANT_ASSET_CTRL_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PLAYER_COMMON_PARAM_ST {
    player_foot_effect_by_sfx: i32,
    snipe_mode_draw_alpha_fade_time: f32,
    toughness_recover_correction: f32,
    base_magic_slot_size: u8,
    base_acc_slot_num: u8,
    default_number_of_item_slots: u8,
    unknown_byte_2: u8,
    anime_id_drop_item_pick: i32,
    resist_recover_point_sleep_player: f32,
    flare_override_homing_angle: i32,
    flare_override_homing_stop_range: f32,
    anime_id_sleep_collector_item_pick: i32,
    unlock_event_flag_base_id_for_wep_attr: u32,
    system_enchant_big_rune: i32,
    low_status_atk_pow_down: f32,
    low_status_consume_stamina_rate: f32,
    low_status_atk_guard_break: i16,
    guard_status_correct_max_status_val: i16,
    unlock_event_flag_step_num_for_wep_attr: u16,
    retribution_magic_damage_count_num: u16,
    retribution_magic_damage_count_remain_time: u16,
    retribution_magic_burst_dmypoly_id: u16,
    retribution_magic_burst_magic_param_id: i32,
    chr_aim_cam_ride_offset_height: f32,
    unknown_int_2: i32,
    arrow_case_wep_bind_dmypoly_id: i32,
    bolt_pouch_wep_bind_dmypoly_id: i32,
    estus_flask_allocate_rate: f32,
    reserved38: [u8; 2],
    kick_acceptance_deg: u8,
    npc_player_analog_weight_rate_light: u8,
    npc_player_analog_weight_rate_normal: u8,
    npc_player_analog_weight_rate_heavy: u8,
    npc_player_analog_weight_rate_weight_over: u8,
    npc_player_analog_weight_rate_super_light: u8,
    unknown_int_1: i32,
    clear_count_correct_base_sp_effect_id: i32,
    arrow_bolt_model_id_offset: i32,
    arrow_bolt_remaining_num_model_mask_threshold1: i8,
    arrow_bolt_remaining_num_model_mask_threshold2: i8,
    unknown_byte_3: i8,
    unknown_byte_4: i8,
    resist_recover_point_poision_player: f32,
    resist_recover_point_desease_player: f32,
    resist_recover_point_blood_player: f32,
    resist_recover_point_curse_player: f32,
    resist_recover_point_freeze_player: f32,
    resist_recover_point_poision_enemy: f32,
    resist_recover_point_desease_enemy: f32,
    resist_recover_point_blood_enemy: f32,
    resist_recover_point_curse_enemy: f32,
    resist_recover_point_freeze_enemy: f32,
    request_time_left_both_hand: f32,
    resist_recover_point_madness_player: f32,
    anime_id_material_item_pick: i32,
    hp_estus_flask_allocate_rate_for_yellow_monk: f32,
    hp_estus_flask_allocate_offset_for_yellow_monk: i32,
    mp_estus_flask_allocate_rate_for_yellow_monk: f32,
    mp_estus_flask_allocate_offset_for_yellow_monk: i32,
    resist_recover_point_sleep_enemy: f32,
    resist_recover_point_madness_enemy: f32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: f32,
    unknown_6: f32,
    unknown_7: f32,
    unknown_8: f32,
    unknown_9: f32,
    unknown_10: i32,
    unknown_11: f32,
    unknown_12: f32,
    unknown_13: i32,
    unknown_14: i32,
    revenant_summon1_buddy_param_id: i32,
    revenant_summon2_buddy_param_id: i32,
    revenant_summon3_buddy_param_id: i32,
    unknown_18: f32,
    unknown_19: i32,
    unknown_20: f32,
    unknown_21: f32,
    unknown_22: i32,
    unknown_23: i32,
    unknown_24: f32,
    unknown_25: f32,
    unknown_26: i32,
    unknown_27: i32,
    unknown_28: i32,
    unknown_29: f32,
    unknown_30: f32,
    unknown_31: i32,
    unknown_32: f32,
    unknown_33: f32,
    unknown_34: f32,
    unknown_35: f32,
    unknown_36: f32,
    unknown_37: f32,
    unknown_38: f32,
    unknown_39: f32,
    unknown_40: f32,
    unknown_41: f32,
    unknown_42: i32,
    unknown_43: i32,
    unknown_44: i32,
    unknown_45: f32,
    unknown_46: i32,
    unknown_47: f32,
    unknown_48: i32,
    unknown_49: i32,
    unknown_50: i32,
    unknown_51: f32,
}

impl ParamDef for PLAYER_COMMON_PARAM_ST {
    const NAME: &str = "PLAYER_COMMON_PARAM_ST";
}

impl PLAYER_COMMON_PARAM_ST {
    pub fn player_foot_effect_by_sfx(&self) -> i32 {
        self.player_foot_effect_by_sfx
    }

    pub fn set_player_foot_effect_by_sfx(&mut self, value: i32) {
        self.player_foot_effect_by_sfx = value;
    }

    pub fn snipe_mode_draw_alpha_fade_time(&self) -> f32 {
        self.snipe_mode_draw_alpha_fade_time
    }

    pub fn set_snipe_mode_draw_alpha_fade_time(&mut self, value: f32) {
        self.snipe_mode_draw_alpha_fade_time = 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 base_magic_slot_size(&self) -> u8 {
        self.base_magic_slot_size
    }

    pub fn set_base_magic_slot_size(&mut self, value: u8) {
        self.base_magic_slot_size = value;
    }

    pub fn base_acc_slot_num(&self) -> u8 {
        self.base_acc_slot_num
    }

    pub fn set_base_acc_slot_num(&mut self, value: u8) {
        self.base_acc_slot_num = value;
    }

    pub fn default_number_of_item_slots(&self) -> u8 {
        self.default_number_of_item_slots
    }

    pub fn set_default_number_of_item_slots(&mut self, value: u8) {
        self.default_number_of_item_slots = value;
    }

    pub fn anime_id_drop_item_pick(&self) -> i32 {
        self.anime_id_drop_item_pick
    }

    pub fn set_anime_id_drop_item_pick(&mut self, value: i32) {
        self.anime_id_drop_item_pick = value;
    }

    pub fn resist_recover_point_sleep_player(&self) -> f32 {
        self.resist_recover_point_sleep_player
    }

    pub fn set_resist_recover_point_sleep_player(&mut self, value: f32) {
        self.resist_recover_point_sleep_player = value;
    }

    pub fn flare_override_homing_angle(&self) -> i32 {
        self.flare_override_homing_angle
    }

    pub fn set_flare_override_homing_angle(&mut self, value: i32) {
        self.flare_override_homing_angle = value;
    }

    pub fn flare_override_homing_stop_range(&self) -> f32 {
        self.flare_override_homing_stop_range
    }

    pub fn set_flare_override_homing_stop_range(&mut self, value: f32) {
        self.flare_override_homing_stop_range = value;
    }

    pub fn anime_id_sleep_collector_item_pick(&self) -> i32 {
        self.anime_id_sleep_collector_item_pick
    }

    pub fn set_anime_id_sleep_collector_item_pick(&mut self, value: i32) {
        self.anime_id_sleep_collector_item_pick = value;
    }

    pub fn unlock_event_flag_base_id_for_wep_attr(&self) -> u32 {
        self.unlock_event_flag_base_id_for_wep_attr
    }

    pub fn set_unlock_event_flag_base_id_for_wep_attr(&mut self, value: u32) {
        self.unlock_event_flag_base_id_for_wep_attr = value;
    }

    pub fn system_enchant_big_rune(&self) -> i32 {
        self.system_enchant_big_rune
    }

    pub fn set_system_enchant_big_rune(&mut self, value: i32) {
        self.system_enchant_big_rune = value;
    }

    pub fn low_status_atk_pow_down(&self) -> f32 {
        self.low_status_atk_pow_down
    }

    pub fn set_low_status_atk_pow_down(&mut self, value: f32) {
        self.low_status_atk_pow_down = value;
    }

    pub fn low_status_consume_stamina_rate(&self) -> f32 {
        self.low_status_consume_stamina_rate
    }

    pub fn set_low_status_consume_stamina_rate(&mut self, value: f32) {
        self.low_status_consume_stamina_rate = value;
    }

    pub fn low_status_atk_guard_break(&self) -> i16 {
        self.low_status_atk_guard_break
    }

    pub fn set_low_status_atk_guard_break(&mut self, value: i16) {
        self.low_status_atk_guard_break = value;
    }

    pub fn guard_status_correct_max_status_val(&self) -> i16 {
        self.guard_status_correct_max_status_val
    }

    pub fn set_guard_status_correct_max_status_val(&mut self, value: i16) {
        self.guard_status_correct_max_status_val = value;
    }

    pub fn unlock_event_flag_step_num_for_wep_attr(&self) -> u16 {
        self.unlock_event_flag_step_num_for_wep_attr
    }

    pub fn set_unlock_event_flag_step_num_for_wep_attr(&mut self, value: u16) {
        self.unlock_event_flag_step_num_for_wep_attr = value;
    }

    pub fn retribution_magic_damage_count_num(&self) -> u16 {
        self.retribution_magic_damage_count_num
    }

    pub fn set_retribution_magic_damage_count_num(&mut self, value: u16) {
        self.retribution_magic_damage_count_num = value;
    }

    pub fn retribution_magic_damage_count_remain_time(&self) -> u16 {
        self.retribution_magic_damage_count_remain_time
    }

    pub fn set_retribution_magic_damage_count_remain_time(&mut self, value: u16) {
        self.retribution_magic_damage_count_remain_time = value;
    }

    pub fn retribution_magic_burst_dmypoly_id(&self) -> u16 {
        self.retribution_magic_burst_dmypoly_id
    }

    pub fn set_retribution_magic_burst_dmypoly_id(&mut self, value: u16) {
        self.retribution_magic_burst_dmypoly_id = value;
    }

    pub fn retribution_magic_burst_magic_param_id(&self) -> i32 {
        self.retribution_magic_burst_magic_param_id
    }

    pub fn set_retribution_magic_burst_magic_param_id(&mut self, value: i32) {
        self.retribution_magic_burst_magic_param_id = value;
    }

    pub fn chr_aim_cam_ride_offset_height(&self) -> f32 {
        self.chr_aim_cam_ride_offset_height
    }

    pub fn set_chr_aim_cam_ride_offset_height(&mut self, value: f32) {
        self.chr_aim_cam_ride_offset_height = value;
    }

    pub fn arrow_case_wep_bind_dmypoly_id(&self) -> i32 {
        self.arrow_case_wep_bind_dmypoly_id
    }

    pub fn set_arrow_case_wep_bind_dmypoly_id(&mut self, value: i32) {
        self.arrow_case_wep_bind_dmypoly_id = value;
    }

    pub fn bolt_pouch_wep_bind_dmypoly_id(&self) -> i32 {
        self.bolt_pouch_wep_bind_dmypoly_id
    }

    pub fn set_bolt_pouch_wep_bind_dmypoly_id(&mut self, value: i32) {
        self.bolt_pouch_wep_bind_dmypoly_id = value;
    }

    pub fn estus_flask_allocate_rate(&self) -> f32 {
        self.estus_flask_allocate_rate
    }

    pub fn set_estus_flask_allocate_rate(&mut self, value: f32) {
        self.estus_flask_allocate_rate = value;
    }

    pub fn kick_acceptance_deg(&self) -> u8 {
        self.kick_acceptance_deg
    }

    pub fn set_kick_acceptance_deg(&mut self, value: u8) {
        self.kick_acceptance_deg = value;
    }

    pub fn npc_player_analog_weight_rate_light(&self) -> u8 {
        self.npc_player_analog_weight_rate_light
    }

    pub fn set_npc_player_analog_weight_rate_light(&mut self, value: u8) {
        self.npc_player_analog_weight_rate_light = value;
    }

    pub fn npc_player_analog_weight_rate_normal(&self) -> u8 {
        self.npc_player_analog_weight_rate_normal
    }

    pub fn set_npc_player_analog_weight_rate_normal(&mut self, value: u8) {
        self.npc_player_analog_weight_rate_normal = value;
    }

    pub fn npc_player_analog_weight_rate_heavy(&self) -> u8 {
        self.npc_player_analog_weight_rate_heavy
    }

    pub fn set_npc_player_analog_weight_rate_heavy(&mut self, value: u8) {
        self.npc_player_analog_weight_rate_heavy = value;
    }

    pub fn npc_player_analog_weight_rate_weight_over(&self) -> u8 {
        self.npc_player_analog_weight_rate_weight_over
    }

    pub fn set_npc_player_analog_weight_rate_weight_over(&mut self, value: u8) {
        self.npc_player_analog_weight_rate_weight_over = value;
    }

    pub fn npc_player_analog_weight_rate_super_light(&self) -> u8 {
        self.npc_player_analog_weight_rate_super_light
    }

    pub fn set_npc_player_analog_weight_rate_super_light(&mut self, value: u8) {
        self.npc_player_analog_weight_rate_super_light = value;
    }

    pub fn clear_count_correct_base_sp_effect_id(&self) -> i32 {
        self.clear_count_correct_base_sp_effect_id
    }

    pub fn set_clear_count_correct_base_sp_effect_id(&mut self, value: i32) {
        self.clear_count_correct_base_sp_effect_id = value;
    }

    pub fn arrow_bolt_model_id_offset(&self) -> i32 {
        self.arrow_bolt_model_id_offset
    }

    pub fn set_arrow_bolt_model_id_offset(&mut self, value: i32) {
        self.arrow_bolt_model_id_offset = value;
    }

    pub fn arrow_bolt_remaining_num_model_mask_threshold1(&self) -> i8 {
        self.arrow_bolt_remaining_num_model_mask_threshold1
    }

    pub fn set_arrow_bolt_remaining_num_model_mask_threshold1(&mut self, value: i8) {
        self.arrow_bolt_remaining_num_model_mask_threshold1 = value;
    }

    pub fn arrow_bolt_remaining_num_model_mask_threshold2(&self) -> i8 {
        self.arrow_bolt_remaining_num_model_mask_threshold2
    }

    pub fn set_arrow_bolt_remaining_num_model_mask_threshold2(&mut self, value: i8) {
        self.arrow_bolt_remaining_num_model_mask_threshold2 = value;
    }

    pub fn resist_recover_point_poision_player(&self) -> f32 {
        self.resist_recover_point_poision_player
    }

    pub fn set_resist_recover_point_poision_player(&mut self, value: f32) {
        self.resist_recover_point_poision_player = value;
    }

    pub fn resist_recover_point_desease_player(&self) -> f32 {
        self.resist_recover_point_desease_player
    }

    pub fn set_resist_recover_point_desease_player(&mut self, value: f32) {
        self.resist_recover_point_desease_player = value;
    }

    pub fn resist_recover_point_blood_player(&self) -> f32 {
        self.resist_recover_point_blood_player
    }

    pub fn set_resist_recover_point_blood_player(&mut self, value: f32) {
        self.resist_recover_point_blood_player = value;
    }

    pub fn resist_recover_point_curse_player(&self) -> f32 {
        self.resist_recover_point_curse_player
    }

    pub fn set_resist_recover_point_curse_player(&mut self, value: f32) {
        self.resist_recover_point_curse_player = value;
    }

    pub fn resist_recover_point_freeze_player(&self) -> f32 {
        self.resist_recover_point_freeze_player
    }

    pub fn set_resist_recover_point_freeze_player(&mut self, value: f32) {
        self.resist_recover_point_freeze_player = value;
    }

    pub fn resist_recover_point_poision_enemy(&self) -> f32 {
        self.resist_recover_point_poision_enemy
    }

    pub fn set_resist_recover_point_poision_enemy(&mut self, value: f32) {
        self.resist_recover_point_poision_enemy = value;
    }

    pub fn resist_recover_point_desease_enemy(&self) -> f32 {
        self.resist_recover_point_desease_enemy
    }

    pub fn set_resist_recover_point_desease_enemy(&mut self, value: f32) {
        self.resist_recover_point_desease_enemy = value;
    }

    pub fn resist_recover_point_blood_enemy(&self) -> f32 {
        self.resist_recover_point_blood_enemy
    }

    pub fn set_resist_recover_point_blood_enemy(&mut self, value: f32) {
        self.resist_recover_point_blood_enemy = value;
    }

    pub fn resist_recover_point_curse_enemy(&self) -> f32 {
        self.resist_recover_point_curse_enemy
    }

    pub fn set_resist_recover_point_curse_enemy(&mut self, value: f32) {
        self.resist_recover_point_curse_enemy = value;
    }

    pub fn resist_recover_point_freeze_enemy(&self) -> f32 {
        self.resist_recover_point_freeze_enemy
    }

    pub fn set_resist_recover_point_freeze_enemy(&mut self, value: f32) {
        self.resist_recover_point_freeze_enemy = value;
    }

    pub fn request_time_left_both_hand(&self) -> f32 {
        self.request_time_left_both_hand
    }

    pub fn set_request_time_left_both_hand(&mut self, value: f32) {
        self.request_time_left_both_hand = value;
    }

    pub fn resist_recover_point_madness_player(&self) -> f32 {
        self.resist_recover_point_madness_player
    }

    pub fn set_resist_recover_point_madness_player(&mut self, value: f32) {
        self.resist_recover_point_madness_player = value;
    }

    pub fn anime_id_material_item_pick(&self) -> i32 {
        self.anime_id_material_item_pick
    }

    pub fn set_anime_id_material_item_pick(&mut self, value: i32) {
        self.anime_id_material_item_pick = value;
    }

    pub fn hp_estus_flask_allocate_rate_for_yellow_monk(&self) -> f32 {
        self.hp_estus_flask_allocate_rate_for_yellow_monk
    }

    pub fn set_hp_estus_flask_allocate_rate_for_yellow_monk(&mut self, value: f32) {
        self.hp_estus_flask_allocate_rate_for_yellow_monk = value;
    }

    pub fn hp_estus_flask_allocate_offset_for_yellow_monk(&self) -> i32 {
        self.hp_estus_flask_allocate_offset_for_yellow_monk
    }

    pub fn set_hp_estus_flask_allocate_offset_for_yellow_monk(&mut self, value: i32) {
        self.hp_estus_flask_allocate_offset_for_yellow_monk = value;
    }

    pub fn mp_estus_flask_allocate_rate_for_yellow_monk(&self) -> f32 {
        self.mp_estus_flask_allocate_rate_for_yellow_monk
    }

    pub fn set_mp_estus_flask_allocate_rate_for_yellow_monk(&mut self, value: f32) {
        self.mp_estus_flask_allocate_rate_for_yellow_monk = value;
    }

    pub fn mp_estus_flask_allocate_offset_for_yellow_monk(&self) -> i32 {
        self.mp_estus_flask_allocate_offset_for_yellow_monk
    }

    pub fn set_mp_estus_flask_allocate_offset_for_yellow_monk(&mut self, value: i32) {
        self.mp_estus_flask_allocate_offset_for_yellow_monk = value;
    }

    pub fn resist_recover_point_sleep_enemy(&self) -> f32 {
        self.resist_recover_point_sleep_enemy
    }

    pub fn set_resist_recover_point_sleep_enemy(&mut self, value: f32) {
        self.resist_recover_point_sleep_enemy = value;
    }

    pub fn resist_recover_point_madness_enemy(&self) -> f32 {
        self.resist_recover_point_madness_enemy
    }

    pub fn set_resist_recover_point_madness_enemy(&mut self, value: f32) {
        self.resist_recover_point_madness_enemy = value;
    }

    pub fn revenant_summon1_buddy_param_id(&self) -> i32 {
        self.revenant_summon1_buddy_param_id
    }

    pub fn set_revenant_summon1_buddy_param_id(&mut self, value: i32) {
        self.revenant_summon1_buddy_param_id = value;
    }

    pub fn revenant_summon2_buddy_param_id(&self) -> i32 {
        self.revenant_summon2_buddy_param_id
    }

    pub fn set_revenant_summon2_buddy_param_id(&mut self, value: i32) {
        self.revenant_summon2_buddy_param_id = value;
    }

    pub fn revenant_summon3_buddy_param_id(&self) -> i32 {
        self.revenant_summon3_buddy_param_id
    }

    pub fn set_revenant_summon3_buddy_param_id(&mut self, value: i32) {
        self.revenant_summon3_buddy_param_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PLAY_AREA_CREATE_COMMON_PARAM_ST {
    unknown_0: i32,
    second_circle_radius: f32,
    unknown_2: f32,
    unknown_3: f32,
    unknown_4: f32,
    unknown_5: i32,
    first_circle_start_hour: u8,
    first_circle_start_minute: u8,
    first_circle_end_hour: u8,
    first_circle_end_minute: u8,
    second_circle_start_hour: u8,
    second_circle_start_minute: u8,
    second_circle_end_hour: u8,
    second_circle_end_minute: u8,
    unknown_8: i32,
    unknown_9: i32,
    sp_effect_first_day: i32,
    sp_effect_second_day: i32,
    unknown_12: i32,
    unknown_13: i32,
    initial_circle_radius: f32,
    initial_circle_area_no: u8,
    initial_circle_grid_x_no: u8,
    initial_circle_grid_z_no: u8,
    pad1: [u8; 1],
    initial_circle_pos_x: f32,
    initial_circle_pos_z: f32,
    unknown_18: i32,
    unknown_19: f32,
    unknown_20: f32,
    unknown_21: f32,
    unknown_22: i32,
    unknown_23: i32,
    unknown_24: i32,
    unknown_25: i32,
    end_padding: [u8; 32],
}

impl ParamDef for PLAY_AREA_CREATE_COMMON_PARAM_ST {
    const NAME: &str = "PLAY_AREA_CREATE_COMMON_PARAM_ST";
}

impl PLAY_AREA_CREATE_COMMON_PARAM_ST {
    pub fn second_circle_radius(&self) -> f32 {
        self.second_circle_radius
    }

    pub fn set_second_circle_radius(&mut self, value: f32) {
        self.second_circle_radius = value;
    }

    pub fn first_circle_start_hour(&self) -> u8 {
        self.first_circle_start_hour
    }

    pub fn set_first_circle_start_hour(&mut self, value: u8) {
        self.first_circle_start_hour = value;
    }

    pub fn first_circle_start_minute(&self) -> u8 {
        self.first_circle_start_minute
    }

    pub fn set_first_circle_start_minute(&mut self, value: u8) {
        self.first_circle_start_minute = value;
    }

    pub fn first_circle_end_hour(&self) -> u8 {
        self.first_circle_end_hour
    }

    pub fn set_first_circle_end_hour(&mut self, value: u8) {
        self.first_circle_end_hour = value;
    }

    pub fn first_circle_end_minute(&self) -> u8 {
        self.first_circle_end_minute
    }

    pub fn set_first_circle_end_minute(&mut self, value: u8) {
        self.first_circle_end_minute = value;
    }

    pub fn second_circle_start_hour(&self) -> u8 {
        self.second_circle_start_hour
    }

    pub fn set_second_circle_start_hour(&mut self, value: u8) {
        self.second_circle_start_hour = value;
    }

    pub fn second_circle_start_minute(&self) -> u8 {
        self.second_circle_start_minute
    }

    pub fn set_second_circle_start_minute(&mut self, value: u8) {
        self.second_circle_start_minute = value;
    }

    pub fn second_circle_end_hour(&self) -> u8 {
        self.second_circle_end_hour
    }

    pub fn set_second_circle_end_hour(&mut self, value: u8) {
        self.second_circle_end_hour = value;
    }

    pub fn second_circle_end_minute(&self) -> u8 {
        self.second_circle_end_minute
    }

    pub fn set_second_circle_end_minute(&mut self, value: u8) {
        self.second_circle_end_minute = value;
    }

    pub fn sp_effect_first_day(&self) -> i32 {
        self.sp_effect_first_day
    }

    pub fn set_sp_effect_first_day(&mut self, value: i32) {
        self.sp_effect_first_day = value;
    }

    pub fn sp_effect_second_day(&self) -> i32 {
        self.sp_effect_second_day
    }

    pub fn set_sp_effect_second_day(&mut self, value: i32) {
        self.sp_effect_second_day = value;
    }

    pub fn initial_circle_radius(&self) -> f32 {
        self.initial_circle_radius
    }

    pub fn set_initial_circle_radius(&mut self, value: f32) {
        self.initial_circle_radius = value;
    }

    pub fn initial_circle_area_no(&self) -> u8 {
        self.initial_circle_area_no
    }

    pub fn set_initial_circle_area_no(&mut self, value: u8) {
        self.initial_circle_area_no = value;
    }

    pub fn initial_circle_grid_x_no(&self) -> u8 {
        self.initial_circle_grid_x_no
    }

    pub fn set_initial_circle_grid_x_no(&mut self, value: u8) {
        self.initial_circle_grid_x_no = value;
    }

    pub fn initial_circle_grid_z_no(&self) -> u8 {
        self.initial_circle_grid_z_no
    }

    pub fn set_initial_circle_grid_z_no(&mut self, value: u8) {
        self.initial_circle_grid_z_no = value;
    }

    pub fn initial_circle_pos_x(&self) -> f32 {
        self.initial_circle_pos_x
    }

    pub fn set_initial_circle_pos_x(&mut self, value: f32) {
        self.initial_circle_pos_x = value;
    }

    pub fn initial_circle_pos_z(&self) -> f32 {
        self.initial_circle_pos_z
    }

    pub fn set_initial_circle_pos_z(&mut self, value: f32) {
        self.initial_circle_pos_z = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PLAY_AREA_CREATE_DEFAULT_PARAM_ST {
    unknown_0: i32,
    unknown_1: f32,
    unknown_2: i32,
    unknown_3: f32,
    unknown_4: f32,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
}

impl ParamDef for PLAY_AREA_CREATE_DEFAULT_PARAM_ST {
    const NAME: &str = "PLAY_AREA_CREATE_DEFAULT_PARAM_ST";
}

impl PLAY_AREA_CREATE_DEFAULT_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PLAY_AREA_CREATE_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: f32,
    unknown_3: f32,
    unknown_event_flag1: i32,
    unknown_event_flag2: i32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    world_map_point_id_1: i32,
    unknown_10: f32,
    unknown_11: i32,
    unknown_12: i32,
    unknown_13: i32,
    unknown_14: i32,
    world_map_point_id_2: i32,
}

impl ParamDef for PLAY_AREA_CREATE_PARAM_ST {
    const NAME: &str = "PLAY_AREA_CREATE_PARAM_ST";
}

impl PLAY_AREA_CREATE_PARAM_ST {
    pub fn world_map_point_id_1(&self) -> i32 {
        self.world_map_point_id_1
    }

    pub fn set_world_map_point_id_1(&mut self, value: i32) {
        self.world_map_point_id_1 = value;
    }

    pub fn world_map_point_id_2(&self) -> i32 {
        self.world_map_point_id_2
    }

    pub fn set_world_map_point_id_2(&mut self, value: i32) {
        self.world_map_point_id_2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct PLAY_REGION_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    match_area_id: i32,
    multi_play_start_limit_event_flag_id: u32,
    other_disable_distance: f32,
    pc_position_save_limit_event_flag_id: u32,
    boss_area_id: u32,
    cult_npc_white_ghost_entity_id_by_free: i16,
    b_map_guradian_region: u8,
    bits_1b: u8,
    warp_item_use_permit_bonfire_id_1: u32,
    warp_item_use_permit_bonfire_id_2: u32,
    warp_item_use_permit_bonfire_id_3: u32,
    warp_item_use_permit_bonfire_id_4: u32,
    warp_item_use_permit_bonfire_id_5: u32,
    warp_item_prohibition_event_flag_id_1: u32,
    warp_item_prohibition_event_flag_id_2: u32,
    warp_item_prohibition_event_flag_id_3: u32,
    warp_item_prohibition_event_flag_id_4: u32,
    warp_item_prohibition_event_flag_id_5: u32,
    bits_44: u8,
    bits_45: u8,
    pad2: [u8; 2],
    multi_play_has_host_limit_event_flag_id: u32,
    other_max_distance: f32,
    sign_puddle_open_event_flag_id: u32,
    area_no: u8,
    grid_x_no: u8,
    grid_z_no: u8,
    pad4: [u8; 1],
    pos_x: f32,
    pos_y: f32,
    pos_z: f32,
    break_in_limit_event_flag_id_1: u32,
    white_sign_limit_event_flag_id_1: u32,
    match_area_sign_create_limit_event_flag_id: u32,
    sign_aim_id_1: u32,
    sign_aim_id_2: u32,
    sign_aim_id_3: u32,
    sign_aim_id_4: u32,
    sign_aim_id_5: u32,
    sign_aim_id_6: u32,
    sign_aim_id_7: u32,
    sign_aim_id_8: u32,
    red_sign_limit_event_flag_id_1: u32,
    break_in_limit_event_flag_id_2: u32,
    break_in_limit_event_flag_id_3: u32,
    white_sign_limit_event_flag_id_2: u32,
    white_sign_limit_event_flag_id_3: u32,
    red_sign_limit_event_flag_id_2: u32,
    red_sign_limit_event_flag_id_3: u32,
    boss_id_1: u32,
    boss_id_2: u32,
    boss_id_3: u32,
    boss_id_4: u32,
    boss_id_5: u32,
    boss_id_6: u32,
    boss_id_7: u32,
    boss_id_8: u32,
    boss_id_9: u32,
    boss_id_10: u32,
    boss_id_11: u32,
    boss_id_12: u32,
    boss_id_13: u32,
    boss_id_14: u32,
    boss_id_15: u32,
    boss_id_16: u32,
    map_menu_unlock_event_id: u32,
    pad5: [u8; 32],
}

impl ParamDef for PLAY_REGION_PARAM_ST {
    const NAME: &str = "PLAY_REGION_PARAM_ST";
}

impl PLAY_REGION_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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) -> u32 {
        self.multi_play_start_limit_event_flag_id
    }

    pub fn set_multi_play_start_limit_event_flag_id(&mut self, value: u32) {
        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) -> u32 {
        self.pc_position_save_limit_event_flag_id
    }

    pub fn set_pc_position_save_limit_event_flag_id(&mut self, value: u32) {
        self.pc_position_save_limit_event_flag_id = value;
    }

    pub fn boss_area_id(&self) -> u32 {
        self.boss_area_id
    }

    pub fn set_boss_area_id(&mut self, value: u32) {
        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_1b >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_yellow_costume_region(&mut self, value: u8) {
        self.bits_1b = (self.bits_1b & !(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_1b >> 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_1b = (self.bits_1b & !(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_1b >> 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_1b = (self.bits_1b & !(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_1b >> 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_1b = (self.bits_1b & !(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_1b >> 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_1b = (self.bits_1b & !(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_1b >> 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_1b = (self.bits_1b & !(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_1b >> 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_1b = (self.bits_1b & !(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_1b >> 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_1b = (self.bits_1b & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn warp_item_use_permit_bonfire_id_1(&self) -> u32 {
        self.warp_item_use_permit_bonfire_id_1
    }

    pub fn set_warp_item_use_permit_bonfire_id_1(&mut self, value: u32) {
        self.warp_item_use_permit_bonfire_id_1 = value;
    }

    pub fn warp_item_use_permit_bonfire_id_2(&self) -> u32 {
        self.warp_item_use_permit_bonfire_id_2
    }

    pub fn set_warp_item_use_permit_bonfire_id_2(&mut self, value: u32) {
        self.warp_item_use_permit_bonfire_id_2 = value;
    }

    pub fn warp_item_use_permit_bonfire_id_3(&self) -> u32 {
        self.warp_item_use_permit_bonfire_id_3
    }

    pub fn set_warp_item_use_permit_bonfire_id_3(&mut self, value: u32) {
        self.warp_item_use_permit_bonfire_id_3 = value;
    }

    pub fn warp_item_use_permit_bonfire_id_4(&self) -> u32 {
        self.warp_item_use_permit_bonfire_id_4
    }

    pub fn set_warp_item_use_permit_bonfire_id_4(&mut self, value: u32) {
        self.warp_item_use_permit_bonfire_id_4 = value;
    }

    pub fn warp_item_use_permit_bonfire_id_5(&self) -> u32 {
        self.warp_item_use_permit_bonfire_id_5
    }

    pub fn set_warp_item_use_permit_bonfire_id_5(&mut self, value: u32) {
        self.warp_item_use_permit_bonfire_id_5 = value;
    }

    pub fn warp_item_prohibition_event_flag_id_1(&self) -> u32 {
        self.warp_item_prohibition_event_flag_id_1
    }

    pub fn set_warp_item_prohibition_event_flag_id_1(&mut self, value: u32) {
        self.warp_item_prohibition_event_flag_id_1 = value;
    }

    pub fn warp_item_prohibition_event_flag_id_2(&self) -> u32 {
        self.warp_item_prohibition_event_flag_id_2
    }

    pub fn set_warp_item_prohibition_event_flag_id_2(&mut self, value: u32) {
        self.warp_item_prohibition_event_flag_id_2 = value;
    }

    pub fn warp_item_prohibition_event_flag_id_3(&self) -> u32 {
        self.warp_item_prohibition_event_flag_id_3
    }

    pub fn set_warp_item_prohibition_event_flag_id_3(&mut self, value: u32) {
        self.warp_item_prohibition_event_flag_id_3 = value;
    }

    pub fn warp_item_prohibition_event_flag_id_4(&self) -> u32 {
        self.warp_item_prohibition_event_flag_id_4
    }

    pub fn set_warp_item_prohibition_event_flag_id_4(&mut self, value: u32) {
        self.warp_item_prohibition_event_flag_id_4 = value;
    }

    pub fn warp_item_prohibition_event_flag_id_5(&self) -> u32 {
        self.warp_item_prohibition_event_flag_id_5
    }

    pub fn set_warp_item_prohibition_event_flag_id_5(&mut self, value: u32) {
        self.warp_item_prohibition_event_flag_id_5 = value;
    }

    #[allow(clippy::identity_op)]
    pub fn enable_bloodstain(&self) -> u8 {
        (self.bits_44 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_bloodstain(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_blood_message(&self) -> u8 {
        (self.bits_44 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_blood_message(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn enable_ghost(&self) -> u8 {
        (self.bits_44 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_enable_ghost(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disp_mask00(&self) -> u8 {
        (self.bits_44 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disp_mask00(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn disp_mask01(&self) -> u8 {
        (self.bits_44 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disp_mask01(&mut self, value: u8) {
        self.bits_44 = (self.bits_44 & !(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_44 >> 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_44 = (self.bits_44 & !(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_44 >> 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_44 = (self.bits_44 & !(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_44 >> 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_44 = (self.bits_44 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn is_auto_intrude_point(&self) -> u8 {
        (self.bits_45 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_auto_intrude_point(&mut self, value: u8) {
        self.bits_45 = (self.bits_45 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn multi_play_has_host_limit_event_flag_id(&self) -> u32 {
        self.multi_play_has_host_limit_event_flag_id
    }

    pub fn set_multi_play_has_host_limit_event_flag_id(&mut self, value: u32) {
        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) -> u32 {
        self.sign_puddle_open_event_flag_id
    }

    pub fn set_sign_puddle_open_event_flag_id(&mut self, value: u32) {
        self.sign_puddle_open_event_flag_id = value;
    }

    pub fn area_no(&self) -> u8 {
        self.area_no
    }

    pub fn set_area_no(&mut self, value: u8) {
        self.area_no = value;
    }

    pub fn grid_x_no(&self) -> u8 {
        self.grid_x_no
    }

    pub fn set_grid_x_no(&mut self, value: u8) {
        self.grid_x_no = value;
    }

    pub fn grid_z_no(&self) -> u8 {
        self.grid_z_no
    }

    pub fn set_grid_z_no(&mut self, value: u8) {
        self.grid_z_no = value;
    }

    pub fn pos_x(&self) -> f32 {
        self.pos_x
    }

    pub fn set_pos_x(&mut self, value: f32) {
        self.pos_x = value;
    }

    pub fn pos_y(&self) -> f32 {
        self.pos_y
    }

    pub fn set_pos_y(&mut self, value: f32) {
        self.pos_y = value;
    }

    pub fn pos_z(&self) -> f32 {
        self.pos_z
    }

    pub fn set_pos_z(&mut self, value: f32) {
        self.pos_z = value;
    }

    pub fn break_in_limit_event_flag_id_1(&self) -> u32 {
        self.break_in_limit_event_flag_id_1
    }

    pub fn set_break_in_limit_event_flag_id_1(&mut self, value: u32) {
        self.break_in_limit_event_flag_id_1 = value;
    }

    pub fn white_sign_limit_event_flag_id_1(&self) -> u32 {
        self.white_sign_limit_event_flag_id_1
    }

    pub fn set_white_sign_limit_event_flag_id_1(&mut self, value: u32) {
        self.white_sign_limit_event_flag_id_1 = value;
    }

    pub fn match_area_sign_create_limit_event_flag_id(&self) -> u32 {
        self.match_area_sign_create_limit_event_flag_id
    }

    pub fn set_match_area_sign_create_limit_event_flag_id(&mut self, value: u32) {
        self.match_area_sign_create_limit_event_flag_id = value;
    }

    pub fn sign_aim_id_1(&self) -> u32 {
        self.sign_aim_id_1
    }

    pub fn set_sign_aim_id_1(&mut self, value: u32) {
        self.sign_aim_id_1 = value;
    }

    pub fn sign_aim_id_2(&self) -> u32 {
        self.sign_aim_id_2
    }

    pub fn set_sign_aim_id_2(&mut self, value: u32) {
        self.sign_aim_id_2 = value;
    }

    pub fn sign_aim_id_3(&self) -> u32 {
        self.sign_aim_id_3
    }

    pub fn set_sign_aim_id_3(&mut self, value: u32) {
        self.sign_aim_id_3 = value;
    }

    pub fn sign_aim_id_4(&self) -> u32 {
        self.sign_aim_id_4
    }

    pub fn set_sign_aim_id_4(&mut self, value: u32) {
        self.sign_aim_id_4 = value;
    }

    pub fn sign_aim_id_5(&self) -> u32 {
        self.sign_aim_id_5
    }

    pub fn set_sign_aim_id_5(&mut self, value: u32) {
        self.sign_aim_id_5 = value;
    }

    pub fn sign_aim_id_6(&self) -> u32 {
        self.sign_aim_id_6
    }

    pub fn set_sign_aim_id_6(&mut self, value: u32) {
        self.sign_aim_id_6 = value;
    }

    pub fn sign_aim_id_7(&self) -> u32 {
        self.sign_aim_id_7
    }

    pub fn set_sign_aim_id_7(&mut self, value: u32) {
        self.sign_aim_id_7 = value;
    }

    pub fn sign_aim_id_8(&self) -> u32 {
        self.sign_aim_id_8
    }

    pub fn set_sign_aim_id_8(&mut self, value: u32) {
        self.sign_aim_id_8 = value;
    }

    pub fn red_sign_limit_event_flag_id_1(&self) -> u32 {
        self.red_sign_limit_event_flag_id_1
    }

    pub fn set_red_sign_limit_event_flag_id_1(&mut self, value: u32) {
        self.red_sign_limit_event_flag_id_1 = value;
    }

    pub fn break_in_limit_event_flag_id_2(&self) -> u32 {
        self.break_in_limit_event_flag_id_2
    }

    pub fn set_break_in_limit_event_flag_id_2(&mut self, value: u32) {
        self.break_in_limit_event_flag_id_2 = value;
    }

    pub fn break_in_limit_event_flag_id_3(&self) -> u32 {
        self.break_in_limit_event_flag_id_3
    }

    pub fn set_break_in_limit_event_flag_id_3(&mut self, value: u32) {
        self.break_in_limit_event_flag_id_3 = value;
    }

    pub fn white_sign_limit_event_flag_id_2(&self) -> u32 {
        self.white_sign_limit_event_flag_id_2
    }

    pub fn set_white_sign_limit_event_flag_id_2(&mut self, value: u32) {
        self.white_sign_limit_event_flag_id_2 = value;
    }

    pub fn white_sign_limit_event_flag_id_3(&self) -> u32 {
        self.white_sign_limit_event_flag_id_3
    }

    pub fn set_white_sign_limit_event_flag_id_3(&mut self, value: u32) {
        self.white_sign_limit_event_flag_id_3 = value;
    }

    pub fn red_sign_limit_event_flag_id_2(&self) -> u32 {
        self.red_sign_limit_event_flag_id_2
    }

    pub fn set_red_sign_limit_event_flag_id_2(&mut self, value: u32) {
        self.red_sign_limit_event_flag_id_2 = value;
    }

    pub fn red_sign_limit_event_flag_id_3(&self) -> u32 {
        self.red_sign_limit_event_flag_id_3
    }

    pub fn set_red_sign_limit_event_flag_id_3(&mut self, value: u32) {
        self.red_sign_limit_event_flag_id_3 = value;
    }

    pub fn boss_id_1(&self) -> u32 {
        self.boss_id_1
    }

    pub fn set_boss_id_1(&mut self, value: u32) {
        self.boss_id_1 = value;
    }

    pub fn boss_id_2(&self) -> u32 {
        self.boss_id_2
    }

    pub fn set_boss_id_2(&mut self, value: u32) {
        self.boss_id_2 = value;
    }

    pub fn boss_id_3(&self) -> u32 {
        self.boss_id_3
    }

    pub fn set_boss_id_3(&mut self, value: u32) {
        self.boss_id_3 = value;
    }

    pub fn boss_id_4(&self) -> u32 {
        self.boss_id_4
    }

    pub fn set_boss_id_4(&mut self, value: u32) {
        self.boss_id_4 = value;
    }

    pub fn boss_id_5(&self) -> u32 {
        self.boss_id_5
    }

    pub fn set_boss_id_5(&mut self, value: u32) {
        self.boss_id_5 = value;
    }

    pub fn boss_id_6(&self) -> u32 {
        self.boss_id_6
    }

    pub fn set_boss_id_6(&mut self, value: u32) {
        self.boss_id_6 = value;
    }

    pub fn boss_id_7(&self) -> u32 {
        self.boss_id_7
    }

    pub fn set_boss_id_7(&mut self, value: u32) {
        self.boss_id_7 = value;
    }

    pub fn boss_id_8(&self) -> u32 {
        self.boss_id_8
    }

    pub fn set_boss_id_8(&mut self, value: u32) {
        self.boss_id_8 = value;
    }

    pub fn boss_id_9(&self) -> u32 {
        self.boss_id_9
    }

    pub fn set_boss_id_9(&mut self, value: u32) {
        self.boss_id_9 = value;
    }

    pub fn boss_id_10(&self) -> u32 {
        self.boss_id_10
    }

    pub fn set_boss_id_10(&mut self, value: u32) {
        self.boss_id_10 = value;
    }

    pub fn boss_id_11(&self) -> u32 {
        self.boss_id_11
    }

    pub fn set_boss_id_11(&mut self, value: u32) {
        self.boss_id_11 = value;
    }

    pub fn boss_id_12(&self) -> u32 {
        self.boss_id_12
    }

    pub fn set_boss_id_12(&mut self, value: u32) {
        self.boss_id_12 = value;
    }

    pub fn boss_id_13(&self) -> u32 {
        self.boss_id_13
    }

    pub fn set_boss_id_13(&mut self, value: u32) {
        self.boss_id_13 = value;
    }

    pub fn boss_id_14(&self) -> u32 {
        self.boss_id_14
    }

    pub fn set_boss_id_14(&mut self, value: u32) {
        self.boss_id_14 = value;
    }

    pub fn boss_id_15(&self) -> u32 {
        self.boss_id_15
    }

    pub fn set_boss_id_15(&mut self, value: u32) {
        self.boss_id_15 = value;
    }

    pub fn boss_id_16(&self) -> u32 {
        self.boss_id_16
    }

    pub fn set_boss_id_16(&mut self, value: u32) {
        self.boss_id_16 = value;
    }

    pub fn map_menu_unlock_event_id(&self) -> u32 {
        self.map_menu_unlock_event_id
    }

    pub fn set_map_menu_unlock_event_id(&mut self, value: u32) {
        self.map_menu_unlock_event_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct POSTURE_CONTROL_PARAM_PRO_ST {
    a000_right_arm_io: i16,
    a000_right_arm_fb: i16,
    a000_left_arm_io: i16,
    a000_left_arm_fb: i16,
    a002_right_arm_io: i16,
    a002_right_arm_fb: i16,
    a002_left_arm_io: i16,
    a002_left_arm_fb: i16,
    a003_right_arm_io: i16,
    a003_right_arm_fb: i16,
    a003_left_arm_io: i16,
    a003_left_arm_fb: i16,
    a010_right_arm_io: i16,
    a010_right_arm_fb: i16,
    a010_left_arm_io: i16,
    a010_left_arm_fb: i16,
    a012_right_arm_io: i16,
    a012_right_arm_fb: i16,
    a012_left_arm_io: i16,
    a012_left_arm_fb: i16,
    a013_right_arm_io: i16,
    a013_right_arm_fb: i16,
    a013_left_arm_io: i16,
    a013_left_arm_fb: i16,
    a014_right_arm_io: i16,
    a014_right_arm_fb: i16,
    a014_left_arm_io: i16,
    a014_left_arm_fb: i16,
    a015_right_arm_io: i16,
    a015_right_arm_fb: i16,
    a015_left_arm_io: i16,
    a015_left_arm_fb: i16,
}

impl ParamDef for POSTURE_CONTROL_PARAM_PRO_ST {
    const NAME: &str = "POSTURE_CONTROL_PARAM_PRO_ST";
}

impl POSTURE_CONTROL_PARAM_PRO_ST {
    pub fn a000_right_arm_io(&self) -> i16 {
        self.a000_right_arm_io
    }

    pub fn set_a000_right_arm_io(&mut self, value: i16) {
        self.a000_right_arm_io = value;
    }

    pub fn a000_right_arm_fb(&self) -> i16 {
        self.a000_right_arm_fb
    }

    pub fn set_a000_right_arm_fb(&mut self, value: i16) {
        self.a000_right_arm_fb = value;
    }

    pub fn a000_left_arm_io(&self) -> i16 {
        self.a000_left_arm_io
    }

    pub fn set_a000_left_arm_io(&mut self, value: i16) {
        self.a000_left_arm_io = value;
    }

    pub fn a000_left_arm_fb(&self) -> i16 {
        self.a000_left_arm_fb
    }

    pub fn set_a000_left_arm_fb(&mut self, value: i16) {
        self.a000_left_arm_fb = value;
    }

    pub fn a002_right_arm_io(&self) -> i16 {
        self.a002_right_arm_io
    }

    pub fn set_a002_right_arm_io(&mut self, value: i16) {
        self.a002_right_arm_io = value;
    }

    pub fn a002_right_arm_fb(&self) -> i16 {
        self.a002_right_arm_fb
    }

    pub fn set_a002_right_arm_fb(&mut self, value: i16) {
        self.a002_right_arm_fb = value;
    }

    pub fn a002_left_arm_io(&self) -> i16 {
        self.a002_left_arm_io
    }

    pub fn set_a002_left_arm_io(&mut self, value: i16) {
        self.a002_left_arm_io = value;
    }

    pub fn a002_left_arm_fb(&self) -> i16 {
        self.a002_left_arm_fb
    }

    pub fn set_a002_left_arm_fb(&mut self, value: i16) {
        self.a002_left_arm_fb = value;
    }

    pub fn a003_right_arm_io(&self) -> i16 {
        self.a003_right_arm_io
    }

    pub fn set_a003_right_arm_io(&mut self, value: i16) {
        self.a003_right_arm_io = value;
    }

    pub fn a003_right_arm_fb(&self) -> i16 {
        self.a003_right_arm_fb
    }

    pub fn set_a003_right_arm_fb(&mut self, value: i16) {
        self.a003_right_arm_fb = value;
    }

    pub fn a003_left_arm_io(&self) -> i16 {
        self.a003_left_arm_io
    }

    pub fn set_a003_left_arm_io(&mut self, value: i16) {
        self.a003_left_arm_io = value;
    }

    pub fn a003_left_arm_fb(&self) -> i16 {
        self.a003_left_arm_fb
    }

    pub fn set_a003_left_arm_fb(&mut self, value: i16) {
        self.a003_left_arm_fb = value;
    }

    pub fn a010_right_arm_io(&self) -> i16 {
        self.a010_right_arm_io
    }

    pub fn set_a010_right_arm_io(&mut self, value: i16) {
        self.a010_right_arm_io = value;
    }

    pub fn a010_right_arm_fb(&self) -> i16 {
        self.a010_right_arm_fb
    }

    pub fn set_a010_right_arm_fb(&mut self, value: i16) {
        self.a010_right_arm_fb = value;
    }

    pub fn a010_left_arm_io(&self) -> i16 {
        self.a010_left_arm_io
    }

    pub fn set_a010_left_arm_io(&mut self, value: i16) {
        self.a010_left_arm_io = value;
    }

    pub fn a010_left_arm_fb(&self) -> i16 {
        self.a010_left_arm_fb
    }

    pub fn set_a010_left_arm_fb(&mut self, value: i16) {
        self.a010_left_arm_fb = value;
    }

    pub fn a012_right_arm_io(&self) -> i16 {
        self.a012_right_arm_io
    }

    pub fn set_a012_right_arm_io(&mut self, value: i16) {
        self.a012_right_arm_io = value;
    }

    pub fn a012_right_arm_fb(&self) -> i16 {
        self.a012_right_arm_fb
    }

    pub fn set_a012_right_arm_fb(&mut self, value: i16) {
        self.a012_right_arm_fb = value;
    }

    pub fn a012_left_arm_io(&self) -> i16 {
        self.a012_left_arm_io
    }

    pub fn set_a012_left_arm_io(&mut self, value: i16) {
        self.a012_left_arm_io = value;
    }

    pub fn a012_left_arm_fb(&self) -> i16 {
        self.a012_left_arm_fb
    }

    pub fn set_a012_left_arm_fb(&mut self, value: i16) {
        self.a012_left_arm_fb = value;
    }

    pub fn a013_right_arm_io(&self) -> i16 {
        self.a013_right_arm_io
    }

    pub fn set_a013_right_arm_io(&mut self, value: i16) {
        self.a013_right_arm_io = value;
    }

    pub fn a013_right_arm_fb(&self) -> i16 {
        self.a013_right_arm_fb
    }

    pub fn set_a013_right_arm_fb(&mut self, value: i16) {
        self.a013_right_arm_fb = value;
    }

    pub fn a013_left_arm_io(&self) -> i16 {
        self.a013_left_arm_io
    }

    pub fn set_a013_left_arm_io(&mut self, value: i16) {
        self.a013_left_arm_io = value;
    }

    pub fn a013_left_arm_fb(&self) -> i16 {
        self.a013_left_arm_fb
    }

    pub fn set_a013_left_arm_fb(&mut self, value: i16) {
        self.a013_left_arm_fb = value;
    }

    pub fn a014_right_arm_io(&self) -> i16 {
        self.a014_right_arm_io
    }

    pub fn set_a014_right_arm_io(&mut self, value: i16) {
        self.a014_right_arm_io = value;
    }

    pub fn a014_right_arm_fb(&self) -> i16 {
        self.a014_right_arm_fb
    }

    pub fn set_a014_right_arm_fb(&mut self, value: i16) {
        self.a014_right_arm_fb = value;
    }

    pub fn a014_left_arm_io(&self) -> i16 {
        self.a014_left_arm_io
    }

    pub fn set_a014_left_arm_io(&mut self, value: i16) {
        self.a014_left_arm_io = value;
    }

    pub fn a014_left_arm_fb(&self) -> i16 {
        self.a014_left_arm_fb
    }

    pub fn set_a014_left_arm_fb(&mut self, value: i16) {
        self.a014_left_arm_fb = value;
    }

    pub fn a015_right_arm_io(&self) -> i16 {
        self.a015_right_arm_io
    }

    pub fn set_a015_right_arm_io(&mut self, value: i16) {
        self.a015_right_arm_io = value;
    }

    pub fn a015_right_arm_fb(&self) -> i16 {
        self.a015_right_arm_fb
    }

    pub fn set_a015_right_arm_fb(&mut self, value: i16) {
        self.a015_right_arm_fb = value;
    }

    pub fn a015_left_arm_io(&self) -> i16 {
        self.a015_left_arm_io
    }

    pub fn set_a015_left_arm_io(&mut self, value: i16) {
        self.a015_left_arm_io = value;
    }

    pub fn a015_left_arm_fb(&self) -> i16 {
        self.a015_left_arm_fb
    }

    pub fn set_a015_left_arm_fb(&mut self, value: i16) {
        self.a015_left_arm_fb = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct POSTURE_CONTROL_PARAM_WEP_LEFT_ST {
    a000_left_arm_fb: i16,
    a000_left_wrist_fb: i16,
    a000_left_wrist_io: i16,
    a000_left_weapon_rotation: i16,
    a002_left_arm_fb: i16,
    a002_left_wrist_fb: i16,
    a002_left_wrist_io: i16,
    a002_left_weapon_rotation: i16,
    a003_left_arm_fb: i16,
    unknown_1: i16,
    unknown_2: i16,
    unknown_3: i16,
    unknown_4: i16,
    unknown_5: i16,
    pad_old: [u8; 4],
}

impl ParamDef for POSTURE_CONTROL_PARAM_WEP_LEFT_ST {
    const NAME: &str = "POSTURE_CONTROL_PARAM_WEP_LEFT_ST";
}

impl POSTURE_CONTROL_PARAM_WEP_LEFT_ST {
    pub fn a000_left_arm_fb(&self) -> i16 {
        self.a000_left_arm_fb
    }

    pub fn set_a000_left_arm_fb(&mut self, value: i16) {
        self.a000_left_arm_fb = value;
    }

    pub fn a000_left_wrist_fb(&self) -> i16 {
        self.a000_left_wrist_fb
    }

    pub fn set_a000_left_wrist_fb(&mut self, value: i16) {
        self.a000_left_wrist_fb = value;
    }

    pub fn a000_left_wrist_io(&self) -> i16 {
        self.a000_left_wrist_io
    }

    pub fn set_a000_left_wrist_io(&mut self, value: i16) {
        self.a000_left_wrist_io = value;
    }

    pub fn a000_left_weapon_rotation(&self) -> i16 {
        self.a000_left_weapon_rotation
    }

    pub fn set_a000_left_weapon_rotation(&mut self, value: i16) {
        self.a000_left_weapon_rotation = value;
    }

    pub fn a002_left_arm_fb(&self) -> i16 {
        self.a002_left_arm_fb
    }

    pub fn set_a002_left_arm_fb(&mut self, value: i16) {
        self.a002_left_arm_fb = value;
    }

    pub fn a002_left_wrist_fb(&self) -> i16 {
        self.a002_left_wrist_fb
    }

    pub fn set_a002_left_wrist_fb(&mut self, value: i16) {
        self.a002_left_wrist_fb = value;
    }

    pub fn a002_left_wrist_io(&self) -> i16 {
        self.a002_left_wrist_io
    }

    pub fn set_a002_left_wrist_io(&mut self, value: i16) {
        self.a002_left_wrist_io = value;
    }

    pub fn a002_left_weapon_rotation(&self) -> i16 {
        self.a002_left_weapon_rotation
    }

    pub fn set_a002_left_weapon_rotation(&mut self, value: i16) {
        self.a002_left_weapon_rotation = value;
    }

    pub fn a003_left_arm_fb(&self) -> i16 {
        self.a003_left_arm_fb
    }

    pub fn set_a003_left_arm_fb(&mut self, value: i16) {
        self.a003_left_arm_fb = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct POSTURE_CONTROL_PARAM_WEP_RIGHT_ST {
    a000_right_arm_fb: i16,
    a000_right_wrist_fb: i16,
    a000_right_wrist_io: i16,
    a000_right_weapon_rotation: i16,
    a000_left_arm_fb: i16,
    a000_left_wrist_fb: i16,
    a000_left_wrist_io: i16,
    a000_leftt_weapon_rotation: i16,
    a002_right_arm_fb: i16,
    a002_right_wrist_fb: i16,
    a002_right_wrist_io: i16,
    a002_right_weapon_rotation: i16,
    a002_left_arm_fb: i16,
    a002_left_wrist_fb: i16,
    a002_left_wrist_io: i16,
    a002_leftt_weapon_rotation: i16,
    a003_right_arm_fb: i16,
    a003_right_wrist_fb: i16,
    a003_right_wrist_io: i16,
    a003_right_weapon_rotation: i16,
    a003_left_arm_fb: i16,
    a003_left_wrist_fb: i16,
    a003_left_wrist_io: i16,
    a003_leftt_weapon_rotation: i16,
    a010_right_arm_fb: i16,
    a010_right_wrist_fb: i16,
    a010_right_wrist_io: i16,
    a010_right_weapon_rotation: i16,
    a010_left_arm_fb: i16,
    a010_left_wrist_fb: i16,
    a010_left_wrist_io: i16,
    a010_leftt_weapon_rotation: i16,
    a012_right_arm_fb: i16,
    a012_right_wrist_fb: i16,
    a012_right_wrist_io: i16,
    a012_right_weapon_rotation: i16,
    a012_left_arm_fb: i16,
    a012_left_wrist_fb: i16,
    a012_left_wrist_io: i16,
    a012_leftt_weapon_rotation: i16,
    a013_right_arm_fb: i16,
    a013_right_wrist_fb: i16,
    a013_right_wrist_io: i16,
    a013_right_weapon_rotation: i16,
    a013_left_arm_fb: i16,
    a013_left_wrist_fb: i16,
    a013_left_wrist_io: i16,
    a013_leftt_weapon_rotation: i16,
    a014_right_arm_fb: i16,
    a014_right_wrist_fb: i16,
    a014_right_wrist_io: i16,
    a014_right_weapon_rotation: i16,
    a014_left_arm_fb: i16,
    a014_left_wrist_fb: i16,
    a014_left_wrist_io: i16,
    a014_leftt_weapon_rotation: i16,
    pad: [u8; 80],
}

impl ParamDef for POSTURE_CONTROL_PARAM_WEP_RIGHT_ST {
    const NAME: &str = "POSTURE_CONTROL_PARAM_WEP_RIGHT_ST";
}

impl POSTURE_CONTROL_PARAM_WEP_RIGHT_ST {
    pub fn a000_right_arm_fb(&self) -> i16 {
        self.a000_right_arm_fb
    }

    pub fn set_a000_right_arm_fb(&mut self, value: i16) {
        self.a000_right_arm_fb = value;
    }

    pub fn a000_right_wrist_fb(&self) -> i16 {
        self.a000_right_wrist_fb
    }

    pub fn set_a000_right_wrist_fb(&mut self, value: i16) {
        self.a000_right_wrist_fb = value;
    }

    pub fn a000_right_wrist_io(&self) -> i16 {
        self.a000_right_wrist_io
    }

    pub fn set_a000_right_wrist_io(&mut self, value: i16) {
        self.a000_right_wrist_io = value;
    }

    pub fn a000_right_weapon_rotation(&self) -> i16 {
        self.a000_right_weapon_rotation
    }

    pub fn set_a000_right_weapon_rotation(&mut self, value: i16) {
        self.a000_right_weapon_rotation = value;
    }

    pub fn a000_left_arm_fb(&self) -> i16 {
        self.a000_left_arm_fb
    }

    pub fn set_a000_left_arm_fb(&mut self, value: i16) {
        self.a000_left_arm_fb = value;
    }

    pub fn a000_left_wrist_fb(&self) -> i16 {
        self.a000_left_wrist_fb
    }

    pub fn set_a000_left_wrist_fb(&mut self, value: i16) {
        self.a000_left_wrist_fb = value;
    }

    pub fn a000_left_wrist_io(&self) -> i16 {
        self.a000_left_wrist_io
    }

    pub fn set_a000_left_wrist_io(&mut self, value: i16) {
        self.a000_left_wrist_io = value;
    }

    pub fn a000_leftt_weapon_rotation(&self) -> i16 {
        self.a000_leftt_weapon_rotation
    }

    pub fn set_a000_leftt_weapon_rotation(&mut self, value: i16) {
        self.a000_leftt_weapon_rotation = value;
    }

    pub fn a002_right_arm_fb(&self) -> i16 {
        self.a002_right_arm_fb
    }

    pub fn set_a002_right_arm_fb(&mut self, value: i16) {
        self.a002_right_arm_fb = value;
    }

    pub fn a002_right_wrist_fb(&self) -> i16 {
        self.a002_right_wrist_fb
    }

    pub fn set_a002_right_wrist_fb(&mut self, value: i16) {
        self.a002_right_wrist_fb = value;
    }

    pub fn a002_right_wrist_io(&self) -> i16 {
        self.a002_right_wrist_io
    }

    pub fn set_a002_right_wrist_io(&mut self, value: i16) {
        self.a002_right_wrist_io = value;
    }

    pub fn a002_right_weapon_rotation(&self) -> i16 {
        self.a002_right_weapon_rotation
    }

    pub fn set_a002_right_weapon_rotation(&mut self, value: i16) {
        self.a002_right_weapon_rotation = value;
    }

    pub fn a002_left_arm_fb(&self) -> i16 {
        self.a002_left_arm_fb
    }

    pub fn set_a002_left_arm_fb(&mut self, value: i16) {
        self.a002_left_arm_fb = value;
    }

    pub fn a002_left_wrist_fb(&self) -> i16 {
        self.a002_left_wrist_fb
    }

    pub fn set_a002_left_wrist_fb(&mut self, value: i16) {
        self.a002_left_wrist_fb = value;
    }

    pub fn a002_left_wrist_io(&self) -> i16 {
        self.a002_left_wrist_io
    }

    pub fn set_a002_left_wrist_io(&mut self, value: i16) {
        self.a002_left_wrist_io = value;
    }

    pub fn a002_leftt_weapon_rotation(&self) -> i16 {
        self.a002_leftt_weapon_rotation
    }

    pub fn set_a002_leftt_weapon_rotation(&mut self, value: i16) {
        self.a002_leftt_weapon_rotation = value;
    }

    pub fn a003_right_arm_fb(&self) -> i16 {
        self.a003_right_arm_fb
    }

    pub fn set_a003_right_arm_fb(&mut self, value: i16) {
        self.a003_right_arm_fb = value;
    }

    pub fn a003_right_wrist_fb(&self) -> i16 {
        self.a003_right_wrist_fb
    }

    pub fn set_a003_right_wrist_fb(&mut self, value: i16) {
        self.a003_right_wrist_fb = value;
    }

    pub fn a003_right_wrist_io(&self) -> i16 {
        self.a003_right_wrist_io
    }

    pub fn set_a003_right_wrist_io(&mut self, value: i16) {
        self.a003_right_wrist_io = value;
    }

    pub fn a003_right_weapon_rotation(&self) -> i16 {
        self.a003_right_weapon_rotation
    }

    pub fn set_a003_right_weapon_rotation(&mut self, value: i16) {
        self.a003_right_weapon_rotation = value;
    }

    pub fn a003_left_arm_fb(&self) -> i16 {
        self.a003_left_arm_fb
    }

    pub fn set_a003_left_arm_fb(&mut self, value: i16) {
        self.a003_left_arm_fb = value;
    }

    pub fn a003_left_wrist_fb(&self) -> i16 {
        self.a003_left_wrist_fb
    }

    pub fn set_a003_left_wrist_fb(&mut self, value: i16) {
        self.a003_left_wrist_fb = value;
    }

    pub fn a003_left_wrist_io(&self) -> i16 {
        self.a003_left_wrist_io
    }

    pub fn set_a003_left_wrist_io(&mut self, value: i16) {
        self.a003_left_wrist_io = value;
    }

    pub fn a003_leftt_weapon_rotation(&self) -> i16 {
        self.a003_leftt_weapon_rotation
    }

    pub fn set_a003_leftt_weapon_rotation(&mut self, value: i16) {
        self.a003_leftt_weapon_rotation = value;
    }

    pub fn a010_right_arm_fb(&self) -> i16 {
        self.a010_right_arm_fb
    }

    pub fn set_a010_right_arm_fb(&mut self, value: i16) {
        self.a010_right_arm_fb = value;
    }

    pub fn a010_right_wrist_fb(&self) -> i16 {
        self.a010_right_wrist_fb
    }

    pub fn set_a010_right_wrist_fb(&mut self, value: i16) {
        self.a010_right_wrist_fb = value;
    }

    pub fn a010_right_wrist_io(&self) -> i16 {
        self.a010_right_wrist_io
    }

    pub fn set_a010_right_wrist_io(&mut self, value: i16) {
        self.a010_right_wrist_io = value;
    }

    pub fn a010_right_weapon_rotation(&self) -> i16 {
        self.a010_right_weapon_rotation
    }

    pub fn set_a010_right_weapon_rotation(&mut self, value: i16) {
        self.a010_right_weapon_rotation = value;
    }

    pub fn a010_left_arm_fb(&self) -> i16 {
        self.a010_left_arm_fb
    }

    pub fn set_a010_left_arm_fb(&mut self, value: i16) {
        self.a010_left_arm_fb = value;
    }

    pub fn a010_left_wrist_fb(&self) -> i16 {
        self.a010_left_wrist_fb
    }

    pub fn set_a010_left_wrist_fb(&mut self, value: i16) {
        self.a010_left_wrist_fb = value;
    }

    pub fn a010_left_wrist_io(&self) -> i16 {
        self.a010_left_wrist_io
    }

    pub fn set_a010_left_wrist_io(&mut self, value: i16) {
        self.a010_left_wrist_io = value;
    }

    pub fn a010_leftt_weapon_rotation(&self) -> i16 {
        self.a010_leftt_weapon_rotation
    }

    pub fn set_a010_leftt_weapon_rotation(&mut self, value: i16) {
        self.a010_leftt_weapon_rotation = value;
    }

    pub fn a012_right_arm_fb(&self) -> i16 {
        self.a012_right_arm_fb
    }

    pub fn set_a012_right_arm_fb(&mut self, value: i16) {
        self.a012_right_arm_fb = value;
    }

    pub fn a012_right_wrist_fb(&self) -> i16 {
        self.a012_right_wrist_fb
    }

    pub fn set_a012_right_wrist_fb(&mut self, value: i16) {
        self.a012_right_wrist_fb = value;
    }

    pub fn a012_right_wrist_io(&self) -> i16 {
        self.a012_right_wrist_io
    }

    pub fn set_a012_right_wrist_io(&mut self, value: i16) {
        self.a012_right_wrist_io = value;
    }

    pub fn a012_right_weapon_rotation(&self) -> i16 {
        self.a012_right_weapon_rotation
    }

    pub fn set_a012_right_weapon_rotation(&mut self, value: i16) {
        self.a012_right_weapon_rotation = value;
    }

    pub fn a012_left_arm_fb(&self) -> i16 {
        self.a012_left_arm_fb
    }

    pub fn set_a012_left_arm_fb(&mut self, value: i16) {
        self.a012_left_arm_fb = value;
    }

    pub fn a012_left_wrist_fb(&self) -> i16 {
        self.a012_left_wrist_fb
    }

    pub fn set_a012_left_wrist_fb(&mut self, value: i16) {
        self.a012_left_wrist_fb = value;
    }

    pub fn a012_left_wrist_io(&self) -> i16 {
        self.a012_left_wrist_io
    }

    pub fn set_a012_left_wrist_io(&mut self, value: i16) {
        self.a012_left_wrist_io = value;
    }

    pub fn a012_leftt_weapon_rotation(&self) -> i16 {
        self.a012_leftt_weapon_rotation
    }

    pub fn set_a012_leftt_weapon_rotation(&mut self, value: i16) {
        self.a012_leftt_weapon_rotation = value;
    }

    pub fn a013_right_arm_fb(&self) -> i16 {
        self.a013_right_arm_fb
    }

    pub fn set_a013_right_arm_fb(&mut self, value: i16) {
        self.a013_right_arm_fb = value;
    }

    pub fn a013_right_wrist_fb(&self) -> i16 {
        self.a013_right_wrist_fb
    }

    pub fn set_a013_right_wrist_fb(&mut self, value: i16) {
        self.a013_right_wrist_fb = value;
    }

    pub fn a013_right_wrist_io(&self) -> i16 {
        self.a013_right_wrist_io
    }

    pub fn set_a013_right_wrist_io(&mut self, value: i16) {
        self.a013_right_wrist_io = value;
    }

    pub fn a013_right_weapon_rotation(&self) -> i16 {
        self.a013_right_weapon_rotation
    }

    pub fn set_a013_right_weapon_rotation(&mut self, value: i16) {
        self.a013_right_weapon_rotation = value;
    }

    pub fn a013_left_arm_fb(&self) -> i16 {
        self.a013_left_arm_fb
    }

    pub fn set_a013_left_arm_fb(&mut self, value: i16) {
        self.a013_left_arm_fb = value;
    }

    pub fn a013_left_wrist_fb(&self) -> i16 {
        self.a013_left_wrist_fb
    }

    pub fn set_a013_left_wrist_fb(&mut self, value: i16) {
        self.a013_left_wrist_fb = value;
    }

    pub fn a013_left_wrist_io(&self) -> i16 {
        self.a013_left_wrist_io
    }

    pub fn set_a013_left_wrist_io(&mut self, value: i16) {
        self.a013_left_wrist_io = value;
    }

    pub fn a013_leftt_weapon_rotation(&self) -> i16 {
        self.a013_leftt_weapon_rotation
    }

    pub fn set_a013_leftt_weapon_rotation(&mut self, value: i16) {
        self.a013_leftt_weapon_rotation = value;
    }

    pub fn a014_right_arm_fb(&self) -> i16 {
        self.a014_right_arm_fb
    }

    pub fn set_a014_right_arm_fb(&mut self, value: i16) {
        self.a014_right_arm_fb = value;
    }

    pub fn a014_right_wrist_fb(&self) -> i16 {
        self.a014_right_wrist_fb
    }

    pub fn set_a014_right_wrist_fb(&mut self, value: i16) {
        self.a014_right_wrist_fb = value;
    }

    pub fn a014_right_wrist_io(&self) -> i16 {
        self.a014_right_wrist_io
    }

    pub fn set_a014_right_wrist_io(&mut self, value: i16) {
        self.a014_right_wrist_io = value;
    }

    pub fn a014_right_weapon_rotation(&self) -> i16 {
        self.a014_right_weapon_rotation
    }

    pub fn set_a014_right_weapon_rotation(&mut self, value: i16) {
        self.a014_right_weapon_rotation = value;
    }

    pub fn a014_left_arm_fb(&self) -> i16 {
        self.a014_left_arm_fb
    }

    pub fn set_a014_left_arm_fb(&mut self, value: i16) {
        self.a014_left_arm_fb = value;
    }

    pub fn a014_left_wrist_fb(&self) -> i16 {
        self.a014_left_wrist_fb
    }

    pub fn set_a014_left_wrist_fb(&mut self, value: i16) {
        self.a014_left_wrist_fb = value;
    }

    pub fn a014_left_wrist_io(&self) -> i16 {
        self.a014_left_wrist_io
    }

    pub fn set_a014_left_wrist_io(&mut self, value: i16) {
        self.a014_left_wrist_io = value;
    }

    pub fn a014_leftt_weapon_rotation(&self) -> i16 {
        self.a014_leftt_weapon_rotation
    }

    pub fn set_a014_leftt_weapon_rotation(&mut self, value: i16) {
        self.a014_leftt_weapon_rotation = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct RANDOM_APPEAR_PARAM_ST {
    bits_0: u8,
    bits_1: u8,
    bits_2: u8,
    bits_3: u8,
    bits_4: u8,
    bits_5: u8,
    bits_6: u8,
    bits_7: u8,
    bits_8: u8,
    bits_9: u8,
    bits_a: u8,
    bits_b: u8,
    bits_c: u8,
}

impl ParamDef for RANDOM_APPEAR_PARAM_ST {
    const NAME: &str = "RANDOM_APPEAR_PARAM_ST";
}

impl RANDOM_APPEAR_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn slot0(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot0(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot1(&self) -> u8 {
        (self.bits_0 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot1(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot2(&self) -> u8 {
        (self.bits_0 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot2(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot3(&self) -> u8 {
        (self.bits_0 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot3(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot4(&self) -> u8 {
        (self.bits_0 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot4(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot5(&self) -> u8 {
        (self.bits_0 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot5(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot6(&self) -> u8 {
        (self.bits_0 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot6(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot7(&self) -> u8 {
        (self.bits_0 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot7(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot8(&self) -> u8 {
        (self.bits_1 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot8(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot9(&self) -> u8 {
        (self.bits_1 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot9(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot10(&self) -> u8 {
        (self.bits_1 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot10(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot11(&self) -> u8 {
        (self.bits_1 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot11(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot12(&self) -> u8 {
        (self.bits_1 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot12(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot13(&self) -> u8 {
        (self.bits_1 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot13(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot14(&self) -> u8 {
        (self.bits_1 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot14(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot15(&self) -> u8 {
        (self.bits_1 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot15(&mut self, value: u8) {
        self.bits_1 = (self.bits_1 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot16(&self) -> u8 {
        (self.bits_2 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot16(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot17(&self) -> u8 {
        (self.bits_2 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot17(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot18(&self) -> u8 {
        (self.bits_2 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot18(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot19(&self) -> u8 {
        (self.bits_2 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot19(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot20(&self) -> u8 {
        (self.bits_2 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot20(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot21(&self) -> u8 {
        (self.bits_2 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot21(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot22(&self) -> u8 {
        (self.bits_2 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot22(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot23(&self) -> u8 {
        (self.bits_2 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot23(&mut self, value: u8) {
        self.bits_2 = (self.bits_2 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot24(&self) -> u8 {
        (self.bits_3 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot24(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot25(&self) -> u8 {
        (self.bits_3 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot25(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot26(&self) -> u8 {
        (self.bits_3 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot26(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot27(&self) -> u8 {
        (self.bits_3 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot27(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot28(&self) -> u8 {
        (self.bits_3 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot28(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot29(&self) -> u8 {
        (self.bits_3 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot29(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot30(&self) -> u8 {
        (self.bits_3 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot30(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot31(&self) -> u8 {
        (self.bits_3 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot31(&mut self, value: u8) {
        self.bits_3 = (self.bits_3 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot32(&self) -> u8 {
        (self.bits_4 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot32(&mut self, value: u8) {
        self.bits_4 = (self.bits_4 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot33(&self) -> u8 {
        (self.bits_4 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot33(&mut self, value: u8) {
        self.bits_4 = (self.bits_4 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot34(&self) -> u8 {
        (self.bits_4 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot34(&mut self, value: u8) {
        self.bits_4 = (self.bits_4 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot35(&self) -> u8 {
        (self.bits_4 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot35(&mut self, value: u8) {
        self.bits_4 = (self.bits_4 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot36(&self) -> u8 {
        (self.bits_4 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot36(&mut self, value: u8) {
        self.bits_4 = (self.bits_4 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot37(&self) -> u8 {
        (self.bits_4 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot37(&mut self, value: u8) {
        self.bits_4 = (self.bits_4 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot38(&self) -> u8 {
        (self.bits_4 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot38(&mut self, value: u8) {
        self.bits_4 = (self.bits_4 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot39(&self) -> u8 {
        (self.bits_4 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot39(&mut self, value: u8) {
        self.bits_4 = (self.bits_4 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot40(&self) -> u8 {
        (self.bits_5 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot40(&mut self, value: u8) {
        self.bits_5 = (self.bits_5 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot41(&self) -> u8 {
        (self.bits_5 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot41(&mut self, value: u8) {
        self.bits_5 = (self.bits_5 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot42(&self) -> u8 {
        (self.bits_5 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot42(&mut self, value: u8) {
        self.bits_5 = (self.bits_5 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot43(&self) -> u8 {
        (self.bits_5 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot43(&mut self, value: u8) {
        self.bits_5 = (self.bits_5 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot44(&self) -> u8 {
        (self.bits_5 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot44(&mut self, value: u8) {
        self.bits_5 = (self.bits_5 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot45(&self) -> u8 {
        (self.bits_5 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot45(&mut self, value: u8) {
        self.bits_5 = (self.bits_5 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot46(&self) -> u8 {
        (self.bits_5 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot46(&mut self, value: u8) {
        self.bits_5 = (self.bits_5 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot47(&self) -> u8 {
        (self.bits_5 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot47(&mut self, value: u8) {
        self.bits_5 = (self.bits_5 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot48(&self) -> u8 {
        (self.bits_6 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot48(&mut self, value: u8) {
        self.bits_6 = (self.bits_6 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot49(&self) -> u8 {
        (self.bits_6 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot49(&mut self, value: u8) {
        self.bits_6 = (self.bits_6 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot50(&self) -> u8 {
        (self.bits_6 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot50(&mut self, value: u8) {
        self.bits_6 = (self.bits_6 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot51(&self) -> u8 {
        (self.bits_6 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot51(&mut self, value: u8) {
        self.bits_6 = (self.bits_6 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot52(&self) -> u8 {
        (self.bits_6 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot52(&mut self, value: u8) {
        self.bits_6 = (self.bits_6 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot53(&self) -> u8 {
        (self.bits_6 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot53(&mut self, value: u8) {
        self.bits_6 = (self.bits_6 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot54(&self) -> u8 {
        (self.bits_6 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot54(&mut self, value: u8) {
        self.bits_6 = (self.bits_6 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot55(&self) -> u8 {
        (self.bits_6 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot55(&mut self, value: u8) {
        self.bits_6 = (self.bits_6 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot56(&self) -> u8 {
        (self.bits_7 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot56(&mut self, value: u8) {
        self.bits_7 = (self.bits_7 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot57(&self) -> u8 {
        (self.bits_7 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot57(&mut self, value: u8) {
        self.bits_7 = (self.bits_7 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot58(&self) -> u8 {
        (self.bits_7 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot58(&mut self, value: u8) {
        self.bits_7 = (self.bits_7 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot59(&self) -> u8 {
        (self.bits_7 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot59(&mut self, value: u8) {
        self.bits_7 = (self.bits_7 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot60(&self) -> u8 {
        (self.bits_7 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot60(&mut self, value: u8) {
        self.bits_7 = (self.bits_7 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot61(&self) -> u8 {
        (self.bits_7 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot61(&mut self, value: u8) {
        self.bits_7 = (self.bits_7 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot62(&self) -> u8 {
        (self.bits_7 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot62(&mut self, value: u8) {
        self.bits_7 = (self.bits_7 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot63(&self) -> u8 {
        (self.bits_7 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot63(&mut self, value: u8) {
        self.bits_7 = (self.bits_7 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot64(&self) -> u8 {
        (self.bits_8 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot64(&mut self, value: u8) {
        self.bits_8 = (self.bits_8 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot65(&self) -> u8 {
        (self.bits_8 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot65(&mut self, value: u8) {
        self.bits_8 = (self.bits_8 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot66(&self) -> u8 {
        (self.bits_8 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot66(&mut self, value: u8) {
        self.bits_8 = (self.bits_8 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot67(&self) -> u8 {
        (self.bits_8 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot67(&mut self, value: u8) {
        self.bits_8 = (self.bits_8 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot68(&self) -> u8 {
        (self.bits_8 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot68(&mut self, value: u8) {
        self.bits_8 = (self.bits_8 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot69(&self) -> u8 {
        (self.bits_8 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot69(&mut self, value: u8) {
        self.bits_8 = (self.bits_8 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot70(&self) -> u8 {
        (self.bits_8 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot70(&mut self, value: u8) {
        self.bits_8 = (self.bits_8 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot71(&self) -> u8 {
        (self.bits_8 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot71(&mut self, value: u8) {
        self.bits_8 = (self.bits_8 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot72(&self) -> u8 {
        (self.bits_9 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot72(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot73(&self) -> u8 {
        (self.bits_9 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot73(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot74(&self) -> u8 {
        (self.bits_9 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot74(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot75(&self) -> u8 {
        (self.bits_9 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot75(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot76(&self) -> u8 {
        (self.bits_9 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot76(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot77(&self) -> u8 {
        (self.bits_9 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot77(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot78(&self) -> u8 {
        (self.bits_9 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot78(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot79(&self) -> u8 {
        (self.bits_9 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot79(&mut self, value: u8) {
        self.bits_9 = (self.bits_9 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot80(&self) -> u8 {
        (self.bits_a >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot80(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot81(&self) -> u8 {
        (self.bits_a >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot81(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot82(&self) -> u8 {
        (self.bits_a >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot82(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot83(&self) -> u8 {
        (self.bits_a >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot83(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot84(&self) -> u8 {
        (self.bits_a >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot84(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot85(&self) -> u8 {
        (self.bits_a >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot85(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot86(&self) -> u8 {
        (self.bits_a >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot86(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot87(&self) -> u8 {
        (self.bits_a >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot87(&mut self, value: u8) {
        self.bits_a = (self.bits_a & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot88(&self) -> u8 {
        (self.bits_b >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot88(&mut self, value: u8) {
        self.bits_b = (self.bits_b & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot89(&self) -> u8 {
        (self.bits_b >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot89(&mut self, value: u8) {
        self.bits_b = (self.bits_b & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot90(&self) -> u8 {
        (self.bits_b >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot90(&mut self, value: u8) {
        self.bits_b = (self.bits_b & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot91(&self) -> u8 {
        (self.bits_b >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot91(&mut self, value: u8) {
        self.bits_b = (self.bits_b & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn slot92(&self) -> u8 {
        (self.bits_b >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot92(&mut self, value: u8) {
        self.bits_b = (self.bits_b & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn slot93(&self) -> u8 {
        (self.bits_b >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot93(&mut self, value: u8) {
        self.bits_b = (self.bits_b & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn slot94(&self) -> u8 {
        (self.bits_b >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot94(&mut self, value: u8) {
        self.bits_b = (self.bits_b & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn slot95(&self) -> u8 {
        (self.bits_b >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot95(&mut self, value: u8) {
        self.bits_b = (self.bits_b & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn slot96(&self) -> u8 {
        (self.bits_c >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot96(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn slot97(&self) -> u8 {
        (self.bits_c >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot97(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn slot98(&self) -> u8 {
        (self.bits_c >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot98(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn slot99(&self) -> u8 {
        (self.bits_c >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_slot99(&mut self, value: u8) {
        self.bits_c = (self.bits_c & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct RARE_MAP_INFO_MENU_PARAM_ST {
    unknown_0: i32,
    name_id: i32,
    map_flag: i32,
}

impl ParamDef for RARE_MAP_INFO_MENU_PARAM_ST {
    const NAME: &str = "RARE_MAP_INFO_MENU_PARAM_ST";
}

impl RARE_MAP_INFO_MENU_PARAM_ST {
    pub fn name_id(&self) -> i32 {
        self.name_id
    }

    pub fn set_name_id(&mut self, value: i32) {
        self.name_id = value;
    }

    pub fn map_flag(&self) -> i32 {
        self.map_flag
    }

    pub fn set_map_flag(&mut self, value: i32) {
        self.map_flag = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct REINFORCE_PARAM_PROTECTOR_ST {
    physics_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_disease_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_freeze_rate: f32,
    resist_sleep_rate: f32,
    resist_madness_rate: f32,
}

impl ParamDef for REINFORCE_PARAM_PROTECTOR_ST {
    const NAME: &str = "REINFORCE_PARAM_PROTECTOR_ST";
}

impl REINFORCE_PARAM_PROTECTOR_ST {
    pub fn physics_def_rate(&self) -> f32 {
        self.physics_def_rate
    }

    pub fn set_physics_def_rate(&mut self, value: f32) {
        self.physics_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_disease_rate(&self) -> f32 {
        self.resist_disease_rate
    }

    pub fn set_resist_disease_rate(&mut self, value: f32) {
        self.resist_disease_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_freeze_rate(&self) -> f32 {
        self.resist_freeze_rate
    }

    pub fn set_resist_freeze_rate(&mut self, value: f32) {
        self.resist_freeze_rate = value;
    }

    pub fn resist_sleep_rate(&self) -> f32 {
        self.resist_sleep_rate
    }

    pub fn set_resist_sleep_rate(&mut self, value: f32) {
        self.resist_sleep_rate = value;
    }

    pub fn resist_madness_rate(&self) -> f32 {
        self.resist_madness_rate
    }

    pub fn set_resist_madness_rate(&mut self, value: f32) {
        self.resist_madness_rate = 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,
    disease_guard_resist_rate: f32,
    blood_guard_resist_rate: f32,
    curse_guard_resist_rate: f32,
    stamina_guard_def_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,
    enable_gem_rank: i8,
    pad2: [u8; 3],
    sleep_guard_def_rate: f32,
    madness_guard_def_rate: f32,
    base_atk_rate: f32,
    unknown_1: f32,
}

impl ParamDef for REINFORCE_PARAM_WEAPON_ST {
    const NAME: &str = "REINFORCE_PARAM_WEAPON_ST";
}

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 disease_guard_resist_rate(&self) -> f32 {
        self.disease_guard_resist_rate
    }

    pub fn set_disease_guard_resist_rate(&mut self, value: f32) {
        self.disease_guard_resist_rate = value;
    }

    pub fn blood_guard_resist_rate(&self) -> f32 {
        self.blood_guard_resist_rate
    }

    pub fn set_blood_guard_resist_rate(&mut self, value: f32) {
        self.blood_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_def_rate(&self) -> f32 {
        self.stamina_guard_def_rate
    }

    pub fn set_stamina_guard_def_rate(&mut self, value: f32) {
        self.stamina_guard_def_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;
    }

    pub fn enable_gem_rank(&self) -> i8 {
        self.enable_gem_rank
    }

    pub fn set_enable_gem_rank(&mut self, value: i8) {
        self.enable_gem_rank = value;
    }

    pub fn sleep_guard_def_rate(&self) -> f32 {
        self.sleep_guard_def_rate
    }

    pub fn set_sleep_guard_def_rate(&mut self, value: f32) {
        self.sleep_guard_def_rate = value;
    }

    pub fn madness_guard_def_rate(&self) -> f32 {
        self.madness_guard_def_rate
    }

    pub fn set_madness_guard_def_rate(&mut self, value: f32) {
        self.madness_guard_def_rate = value;
    }

    pub fn base_atk_rate(&self) -> f32 {
        self.base_atk_rate
    }

    pub fn set_base_atk_rate(&mut self, value: f32) {
        self.base_atk_rate = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct RESIST_CORRECT_PARAM_ST {
    add_point1: f32,
    add_point2: f32,
    add_point3: f32,
    add_point4: f32,
    add_point5: f32,
    add_rate1: f32,
    add_rate2: f32,
    add_rate3: f32,
    add_rate4: f32,
    add_rate5: f32,
}

impl ParamDef for RESIST_CORRECT_PARAM_ST {
    const NAME: &str = "RESIST_CORRECT_PARAM_ST";
}

impl RESIST_CORRECT_PARAM_ST {
    pub fn add_point1(&self) -> f32 {
        self.add_point1
    }

    pub fn set_add_point1(&mut self, value: f32) {
        self.add_point1 = value;
    }

    pub fn add_point2(&self) -> f32 {
        self.add_point2
    }

    pub fn set_add_point2(&mut self, value: f32) {
        self.add_point2 = value;
    }

    pub fn add_point3(&self) -> f32 {
        self.add_point3
    }

    pub fn set_add_point3(&mut self, value: f32) {
        self.add_point3 = value;
    }

    pub fn add_point4(&self) -> f32 {
        self.add_point4
    }

    pub fn set_add_point4(&mut self, value: f32) {
        self.add_point4 = value;
    }

    pub fn add_point5(&self) -> f32 {
        self.add_point5
    }

    pub fn set_add_point5(&mut self, value: f32) {
        self.add_point5 = value;
    }

    pub fn add_rate1(&self) -> f32 {
        self.add_rate1
    }

    pub fn set_add_rate1(&mut self, value: f32) {
        self.add_rate1 = value;
    }

    pub fn add_rate2(&self) -> f32 {
        self.add_rate2
    }

    pub fn set_add_rate2(&mut self, value: f32) {
        self.add_rate2 = value;
    }

    pub fn add_rate3(&self) -> f32 {
        self.add_rate3
    }

    pub fn set_add_rate3(&mut self, value: f32) {
        self.add_rate3 = value;
    }

    pub fn add_rate4(&self) -> f32 {
        self.add_rate4
    }

    pub fn set_add_rate4(&mut self, value: f32) {
        self.add_rate4 = value;
    }

    pub fn add_rate5(&self) -> f32 {
        self.add_rate5
    }

    pub fn set_add_rate5(&mut self, value: f32) {
        self.add_rate5 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct RESULT_MENU_PLAY_SPEED_PARAM_ST {
    unknown_0: i32,
    playback_speed: f32,
    option_text_id: i32,
}

impl ParamDef for RESULT_MENU_PLAY_SPEED_PARAM_ST {
    const NAME: &str = "RESULT_MENU_PLAY_SPEED_PARAM_ST";
}

impl RESULT_MENU_PLAY_SPEED_PARAM_ST {
    pub fn playback_speed(&self) -> f32 {
        self.playback_speed
    }

    pub fn set_playback_speed(&mut self, value: f32) {
        self.playback_speed = value;
    }

    pub fn option_text_id(&self) -> i32 {
        self.option_text_id
    }

    pub fn set_option_text_id(&mut self, value: i32) {
        self.option_text_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct REVERB_AUX_SEND_BUS_PARAM_ST {
    reverb_aux_send_bus_name: [u8; 32],
}

impl ParamDef for REVERB_AUX_SEND_BUS_PARAM_ST {
    const NAME: &str = "REVERB_AUX_SEND_BUS_PARAM_ST";
}

impl REVERB_AUX_SEND_BUS_PARAM_ST {
    pub fn reverb_aux_send_bus_name(&self) -> &[u8; 32] {
        &self.reverb_aux_send_bus_name
    }

    pub fn set_reverb_aux_send_bus_name(&mut self, value: [u8; 32]) {
        self.reverb_aux_send_bus_name = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct RIDE_PARAM_ST {
    atk_chr_id: u32,
    def_chr_id: u32,
    ride_cam_param_id: i32,
    atk_chr_anim_id: u32,
    def_chr_anim_id: u32,
    def_adjust_dmy_id: i32,
    def_check_dmy_id: i32,
    diff_ang_my_to_def: f32,
    dist: f32,
    upper_y_range: f32,
    lower_y_range: f32,
    diff_ang_min: f32,
    diff_ang_max: f32,
    pad: [u8; 12],
}

impl ParamDef for RIDE_PARAM_ST {
    const NAME: &str = "RIDE_PARAM_ST";
}

impl RIDE_PARAM_ST {
    pub fn atk_chr_id(&self) -> u32 {
        self.atk_chr_id
    }

    pub fn set_atk_chr_id(&mut self, value: u32) {
        self.atk_chr_id = value;
    }

    pub fn def_chr_id(&self) -> u32 {
        self.def_chr_id
    }

    pub fn set_def_chr_id(&mut self, value: u32) {
        self.def_chr_id = value;
    }

    pub fn ride_cam_param_id(&self) -> i32 {
        self.ride_cam_param_id
    }

    pub fn set_ride_cam_param_id(&mut self, value: i32) {
        self.ride_cam_param_id = value;
    }

    pub fn atk_chr_anim_id(&self) -> u32 {
        self.atk_chr_anim_id
    }

    pub fn set_atk_chr_anim_id(&mut self, value: u32) {
        self.atk_chr_anim_id = value;
    }

    pub fn def_chr_anim_id(&self) -> u32 {
        self.def_chr_anim_id
    }

    pub fn set_def_chr_anim_id(&mut self, value: u32) {
        self.def_chr_anim_id = value;
    }

    pub fn def_adjust_dmy_id(&self) -> i32 {
        self.def_adjust_dmy_id
    }

    pub fn set_def_adjust_dmy_id(&mut self, value: i32) {
        self.def_adjust_dmy_id = value;
    }

    pub fn def_check_dmy_id(&self) -> i32 {
        self.def_check_dmy_id
    }

    pub fn set_def_check_dmy_id(&mut self, value: i32) {
        self.def_check_dmy_id = 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 dist(&self) -> f32 {
        self.dist
    }

    pub fn set_dist(&mut self, value: f32) {
        self.dist = 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_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;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct ROLLING_OBJ_LOT_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    asset_id_0: i32,
    asset_id_1: i32,
    asset_id_2: i32,
    asset_id_3: i32,
    asset_id_4: i32,
    asset_id_5: i32,
    asset_id_6: i32,
    asset_id_7: i32,
    create_weight_0: u8,
    create_weight_1: u8,
    create_weight_2: u8,
    create_weight_3: u8,
    create_weight_4: u8,
    create_weight_5: u8,
    create_weight_6: u8,
    create_weight_7: u8,
    reserve_0: [u8; 20],
}

impl ParamDef for ROLLING_OBJ_LOT_PARAM_ST {
    const NAME: &str = "ROLLING_OBJ_LOT_PARAM_ST";
}

impl ROLLING_OBJ_LOT_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn asset_id_0(&self) -> i32 {
        self.asset_id_0
    }

    pub fn set_asset_id_0(&mut self, value: i32) {
        self.asset_id_0 = value;
    }

    pub fn asset_id_1(&self) -> i32 {
        self.asset_id_1
    }

    pub fn set_asset_id_1(&mut self, value: i32) {
        self.asset_id_1 = value;
    }

    pub fn asset_id_2(&self) -> i32 {
        self.asset_id_2
    }

    pub fn set_asset_id_2(&mut self, value: i32) {
        self.asset_id_2 = value;
    }

    pub fn asset_id_3(&self) -> i32 {
        self.asset_id_3
    }

    pub fn set_asset_id_3(&mut self, value: i32) {
        self.asset_id_3 = value;
    }

    pub fn asset_id_4(&self) -> i32 {
        self.asset_id_4
    }

    pub fn set_asset_id_4(&mut self, value: i32) {
        self.asset_id_4 = value;
    }

    pub fn asset_id_5(&self) -> i32 {
        self.asset_id_5
    }

    pub fn set_asset_id_5(&mut self, value: i32) {
        self.asset_id_5 = value;
    }

    pub fn asset_id_6(&self) -> i32 {
        self.asset_id_6
    }

    pub fn set_asset_id_6(&mut self, value: i32) {
        self.asset_id_6 = value;
    }

    pub fn asset_id_7(&self) -> i32 {
        self.asset_id_7
    }

    pub fn set_asset_id_7(&mut self, value: i32) {
        self.asset_id_7 = value;
    }

    pub fn create_weight_0(&self) -> u8 {
        self.create_weight_0
    }

    pub fn set_create_weight_0(&mut self, value: u8) {
        self.create_weight_0 = value;
    }

    pub fn create_weight_1(&self) -> u8 {
        self.create_weight_1
    }

    pub fn set_create_weight_1(&mut self, value: u8) {
        self.create_weight_1 = value;
    }

    pub fn create_weight_2(&self) -> u8 {
        self.create_weight_2
    }

    pub fn set_create_weight_2(&mut self, value: u8) {
        self.create_weight_2 = value;
    }

    pub fn create_weight_3(&self) -> u8 {
        self.create_weight_3
    }

    pub fn set_create_weight_3(&mut self, value: u8) {
        self.create_weight_3 = value;
    }

    pub fn create_weight_4(&self) -> u8 {
        self.create_weight_4
    }

    pub fn set_create_weight_4(&mut self, value: u8) {
        self.create_weight_4 = value;
    }

    pub fn create_weight_5(&self) -> u8 {
        self.create_weight_5
    }

    pub fn set_create_weight_5(&mut self, value: u8) {
        self.create_weight_5 = value;
    }

    pub fn create_weight_6(&self) -> u8 {
        self.create_weight_6
    }

    pub fn set_create_weight_6(&mut self, value: u8) {
        self.create_weight_6 = value;
    }

    pub fn create_weight_7(&self) -> u8 {
        self.create_weight_7
    }

    pub fn set_create_weight_7(&mut self, value: u8) {
        self.create_weight_7 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct RUNTIME_BONE_CONTROL_PARAM_ST {
    chr_id: u32,
    ctrl_type: u8,
    pad: [u8; 11],
    apply_bone: [u8; 32],
    target_bone1: [u8; 32],
    target_bone2: [u8; 32],
}

impl ParamDef for RUNTIME_BONE_CONTROL_PARAM_ST {
    const NAME: &str = "RUNTIME_BONE_CONTROL_PARAM_ST";
}

impl RUNTIME_BONE_CONTROL_PARAM_ST {
    pub fn chr_id(&self) -> u32 {
        self.chr_id
    }

    pub fn set_chr_id(&mut self, value: u32) {
        self.chr_id = value;
    }

    pub fn ctrl_type(&self) -> u8 {
        self.ctrl_type
    }

    pub fn set_ctrl_type(&mut self, value: u8) {
        self.ctrl_type = value;
    }

    pub fn apply_bone(&self) -> &[u8; 32] {
        &self.apply_bone
    }

    pub fn set_apply_bone(&mut self, value: [u8; 32]) {
        self.apply_bone = value;
    }

    pub fn target_bone1(&self) -> &[u8; 32] {
        &self.target_bone1
    }

    pub fn set_target_bone1(&mut self, value: [u8; 32]) {
        self.target_bone1 = value;
    }

    pub fn target_bone2(&self) -> &[u8; 32] {
        &self.target_bone2
    }

    pub fn set_target_bone2(&mut self, value: [u8; 32]) {
        self.target_bone2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SCENARIO_PLACEMENT_PARAM_ST {
    unknown_0: i32,
    unknown_1a: u8,
    unknown_1b: u8,
    unknown_1c: u8,
    unknown_1d: u8,
    unknown_2a: u8,
    unknown_2b: u8,
    unknown_2c: u8,
    unknown_2e: u8,
    event_flag_unk1: i32,
    event_flag_unk2: i32,
    chara_init_param_id: i32,
}

impl ParamDef for SCENARIO_PLACEMENT_PARAM_ST {
    const NAME: &str = "SCENARIO_PLACEMENT_PARAM_ST";
}

impl SCENARIO_PLACEMENT_PARAM_ST {
    pub fn event_flag_unk1(&self) -> i32 {
        self.event_flag_unk1
    }

    pub fn set_event_flag_unk1(&mut self, value: i32) {
        self.event_flag_unk1 = value;
    }

    pub fn event_flag_unk2(&self) -> i32 {
        self.event_flag_unk2
    }

    pub fn set_event_flag_unk2(&mut self, value: i32) {
        self.event_flag_unk2 = value;
    }

    pub fn chara_init_param_id(&self) -> i32 {
        self.chara_init_param_id
    }

    pub fn set_chara_init_param_id(&mut self, value: i32) {
        self.chara_init_param_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SCRATCHED_PARTS_PARAM_ST {
    character_id: i32,
    unknown_1: i32,
    unknown_2: f32,
    unknown_3: i32,
    unknown_4a: u16,
    unknown_4b: u16,
}

impl ParamDef for SCRATCHED_PARTS_PARAM_ST {
    const NAME: &str = "SCRATCHED_PARTS_PARAM_ST";
}

impl SCRATCHED_PARTS_PARAM_ST {
    pub fn character_id(&self) -> i32 {
        self.character_id
    }

    pub fn set_character_id(&mut self, value: i32) {
        self.character_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SESSION_RANDOM_ASSET_TEX_REPLACE_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    padding: [u8; 164],
}

impl ParamDef for SESSION_RANDOM_ASSET_TEX_REPLACE_PARAM_ST {
    const NAME: &str = "SESSION_RANDOM_ASSET_TEX_REPLACE_PARAM_ST";
}

impl SESSION_RANDOM_ASSET_TEX_REPLACE_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SE_ACTIVATION_RANGE_PARAM_ST {
    activate_range: f32,
}

impl ParamDef for SE_ACTIVATION_RANGE_PARAM_ST {
    const NAME: &str = "SE_ACTIVATION_RANGE_PARAM_ST";
}

impl SE_ACTIVATION_RANGE_PARAM_ST {
    pub fn activate_range(&self) -> f32 {
        self.activate_range
    }

    pub fn set_activate_range(&mut self, value: f32) {
        self.activate_range = 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";
}

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 SFX_BLOCK_RES_SHARE_PARAM {
    unknown_0: i32,
}

impl ParamDef for SFX_BLOCK_RES_SHARE_PARAM {
    const NAME: &str = "SFX_BLOCK_RES_SHARE_PARAM";
}

impl SFX_BLOCK_RES_SHARE_PARAM {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SHOP_LINEUP_PARAM {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    equip_id: i32,
    value: i32,
    mtrl_id: i32,
    event_flag_for_stock: u32,
    event_flag_for_release: u32,
    sell_quantity: i16,
    unknown_1: u8,
    equip_type: u8,
    cost_type: u8,
    pad1: [u8; 1],
    set_num: u16,
    value_add: i32,
    value_magnification: f32,
    icon_id: i32,
    name_msg_id: i32,
    menu_title_msg_id: i32,
    menu_icon_id: i16,
    unknown_2a: i16,
    unknown_2c: i16,
    unknown_3a: i16,
    unknown_3c: i16,
    unknown_4a: i16,
}

impl ParamDef for SHOP_LINEUP_PARAM {
    const NAME: &str = "SHOP_LINEUP_PARAM";
}

impl SHOP_LINEUP_PARAM {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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) -> u32 {
        self.event_flag_for_stock
    }

    pub fn set_event_flag_for_stock(&mut self, value: u32) {
        self.event_flag_for_stock = value;
    }

    pub fn event_flag_for_release(&self) -> u32 {
        self.event_flag_for_release
    }

    pub fn set_event_flag_for_release(&mut self, value: u32) {
        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 cost_type(&self) -> u8 {
        self.cost_type
    }

    pub fn set_cost_type(&mut self, value: u8) {
        self.cost_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;
    }

    pub fn icon_id(&self) -> i32 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i32) {
        self.icon_id = value;
    }

    pub fn name_msg_id(&self) -> i32 {
        self.name_msg_id
    }

    pub fn set_name_msg_id(&mut self, value: i32) {
        self.name_msg_id = value;
    }

    pub fn menu_title_msg_id(&self) -> i32 {
        self.menu_title_msg_id
    }

    pub fn set_menu_title_msg_id(&mut self, value: i32) {
        self.menu_title_msg_id = value;
    }

    pub fn menu_icon_id(&self) -> i16 {
        self.menu_icon_id
    }

    pub fn set_menu_icon_id(&mut self, value: i16) {
        self.menu_icon_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SIGN_PUDDLE_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    match_area_id: i32,
    pad1: [u8; 24],
}

impl ParamDef for SIGN_PUDDLE_PARAM_ST {
    const NAME: &str = "SIGN_PUDDLE_PARAM_ST";
}

impl SIGN_PUDDLE_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SMALBASE_SFX_LOD_EXCLUSION_LIST_PARAM_ST {
    unknown_0: i32,
}

impl ParamDef for SMALBASE_SFX_LOD_EXCLUSION_LIST_PARAM_ST {
    const NAME: &str = "SMALBASE_SFX_LOD_EXCLUSION_LIST_PARAM_ST";
}

impl SMALBASE_SFX_LOD_EXCLUSION_LIST_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SMALLBASE_AND_SPOT_ATTACH_POINT_ST {
    unknown_0: i32,
    map_id_aa: u8,
    map_id_bb: u8,
    map_id_cc: u8,
    map_id_dd: u8,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: f32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: i32,
    unknown_11: i32,
    unknown_12: i32,
    unknown_13: i32,
    placement_origin_x: f32,
    placement_origin_y: f32,
    placement_origin_z: f32,
    unknown_17: f32,
    unknown_18: i32,
    unknown_19: i32,
    unknown_20: i32,
    unknown_21: i32,
    unknown_22: i32,
    unknown_23: i32,
    unknown_24: i32,
}

impl ParamDef for SMALLBASE_AND_SPOT_ATTACH_POINT_ST {
    const NAME: &str = "SMALLBASE_AND_SPOT_ATTACH_POINT_ST";
}

impl SMALLBASE_AND_SPOT_ATTACH_POINT_ST {
    pub fn map_id_aa(&self) -> u8 {
        self.map_id_aa
    }

    pub fn set_map_id_aa(&mut self, value: u8) {
        self.map_id_aa = value;
    }

    pub fn map_id_bb(&self) -> u8 {
        self.map_id_bb
    }

    pub fn set_map_id_bb(&mut self, value: u8) {
        self.map_id_bb = value;
    }

    pub fn map_id_cc(&self) -> u8 {
        self.map_id_cc
    }

    pub fn set_map_id_cc(&mut self, value: u8) {
        self.map_id_cc = value;
    }

    pub fn map_id_dd(&self) -> u8 {
        self.map_id_dd
    }

    pub fn set_map_id_dd(&mut self, value: u8) {
        self.map_id_dd = value;
    }

    pub fn placement_origin_x(&self) -> f32 {
        self.placement_origin_x
    }

    pub fn set_placement_origin_x(&mut self, value: f32) {
        self.placement_origin_x = value;
    }

    pub fn placement_origin_y(&self) -> f32 {
        self.placement_origin_y
    }

    pub fn set_placement_origin_y(&mut self, value: f32) {
        self.placement_origin_y = value;
    }

    pub fn placement_origin_z(&self) -> f32 {
        self.placement_origin_z
    }

    pub fn set_placement_origin_z(&mut self, value: f32) {
        self.placement_origin_z = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SMALLBASE_AND_SPOT_DEFINE_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: i32,
    unknown_11: i32,
    unknown_12: i32,
    unknown_13: i32,
    unknown_14: i32,
    unknown_15: i32,
    unknown_16: i32,
    unknown_17: i32,
    unknown_18: i32,
    unknown_19: i32,
    unknown_20: i32,
    unknown_21: i32,
    unknown_22: i32,
    unknown_23: i32,
}

impl ParamDef for SMALLBASE_AND_SPOT_DEFINE_ST {
    const NAME: &str = "SMALLBASE_AND_SPOT_DEFINE_ST";
}

impl SMALLBASE_AND_SPOT_DEFINE_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SMALLBASE_INVATION_NPC_PARAM_ST {
    unknown_0: i32,
    npc_param_id: i32,
    npc_think_id: i32,
    chara_init_param_id: i32,
    unknown_4: i32,
}

impl ParamDef for SMALLBASE_INVATION_NPC_PARAM_ST {
    const NAME: &str = "SMALLBASE_INVATION_NPC_PARAM_ST";
}

impl SMALLBASE_INVATION_NPC_PARAM_ST {
    pub fn npc_param_id(&self) -> i32 {
        self.npc_param_id
    }

    pub fn set_npc_param_id(&mut self, value: i32) {
        self.npc_param_id = value;
    }

    pub fn npc_think_id(&self) -> i32 {
        self.npc_think_id
    }

    pub fn set_npc_think_id(&mut self, value: i32) {
        self.npc_think_id = value;
    }

    pub fn chara_init_param_id(&self) -> i32 {
        self.chara_init_param_id
    }

    pub fn set_chara_init_param_id(&mut self, value: i32) {
        self.chara_init_param_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SMALLBASE_LOT_MAP_COMBINATION_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
}

impl ParamDef for SMALLBASE_LOT_MAP_COMBINATION_PARAM_ST {
    const NAME: &str = "SMALLBASE_LOT_MAP_COMBINATION_PARAM_ST";
}

impl SMALLBASE_LOT_MAP_COMBINATION_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SMALLBASE_MAP_VARIATION_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: i32,
    unknown_11: i32,
    unknown_12: i32,
    unknown_13: i32,
    unknown_14: i32,
    unknown_15: i32,
}

impl ParamDef for SMALLBASE_MAP_VARIATION_PARAM_ST {
    const NAME: &str = "SMALLBASE_MAP_VARIATION_PARAM_ST";
}

impl SMALLBASE_MAP_VARIATION_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SORTIE_STARTING_POINT_ST {
    unknown_0: i32,
    unknown_1a: u8,
    unknown_1b: u8,
    unknown_1c: u8,
    unknown_1d: u8,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: f32,
}

impl ParamDef for SORTIE_STARTING_POINT_ST {
    const NAME: &str = "SORTIE_STARTING_POINT_ST";
}

impl SORTIE_STARTING_POINT_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SOUND_ASSET_SOUND_OBJ_ENABLE_DIST_PARAM_ST {
    sound_obj_enable_dist: f32,
}

impl ParamDef for SOUND_ASSET_SOUND_OBJ_ENABLE_DIST_PARAM_ST {
    const NAME: &str = "SOUND_ASSET_SOUND_OBJ_ENABLE_DIST_PARAM_ST";
}

impl SOUND_ASSET_SOUND_OBJ_ENABLE_DIST_PARAM_ST {
    pub fn sound_obj_enable_dist(&self) -> f32 {
        self.sound_obj_enable_dist
    }

    pub fn set_sound_obj_enable_dist(&mut self, value: f32) {
        self.sound_obj_enable_dist = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SOUND_AUTO_ENV_SOUND_GROUP_PARAM_ST {
    sound_no: i32,
    expand_range: f32,
    follow_speed: f32,
    follow_rate: f32,
}

impl ParamDef for SOUND_AUTO_ENV_SOUND_GROUP_PARAM_ST {
    const NAME: &str = "SOUND_AUTO_ENV_SOUND_GROUP_PARAM_ST";
}

impl SOUND_AUTO_ENV_SOUND_GROUP_PARAM_ST {
    pub fn sound_no(&self) -> i32 {
        self.sound_no
    }

    pub fn set_sound_no(&mut self, value: i32) {
        self.sound_no = value;
    }

    pub fn expand_range(&self) -> f32 {
        self.expand_range
    }

    pub fn set_expand_range(&mut self, value: f32) {
        self.expand_range = value;
    }

    pub fn follow_speed(&self) -> f32 {
        self.follow_speed
    }

    pub fn set_follow_speed(&mut self, value: f32) {
        self.follow_speed = value;
    }

    pub fn follow_rate(&self) -> f32 {
        self.follow_rate
    }

    pub fn set_follow_rate(&mut self, value: f32) {
        self.follow_rate = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SOUND_AUTO_REVERB_EVALUATION_DIST_PARAM_ST {
    no_hit_dist: f32,
    is_collect_no_hit_point: u8,
    is_collect_outdoor_point: u8,
    is_collect_floor_point: u8,
    dist_val_calc_type: u8,
    enable_life_time: f32,
    max_dist_record_num: u32,
    ignore_dist_num_for_max: u32,
}

impl ParamDef for SOUND_AUTO_REVERB_EVALUATION_DIST_PARAM_ST {
    const NAME: &str = "SOUND_AUTO_REVERB_EVALUATION_DIST_PARAM_ST";
}

impl SOUND_AUTO_REVERB_EVALUATION_DIST_PARAM_ST {
    pub fn no_hit_dist(&self) -> f32 {
        self.no_hit_dist
    }

    pub fn set_no_hit_dist(&mut self, value: f32) {
        self.no_hit_dist = value;
    }

    pub fn is_collect_no_hit_point(&self) -> u8 {
        self.is_collect_no_hit_point
    }

    pub fn set_is_collect_no_hit_point(&mut self, value: u8) {
        self.is_collect_no_hit_point = value;
    }

    pub fn is_collect_outdoor_point(&self) -> u8 {
        self.is_collect_outdoor_point
    }

    pub fn set_is_collect_outdoor_point(&mut self, value: u8) {
        self.is_collect_outdoor_point = value;
    }

    pub fn is_collect_floor_point(&self) -> u8 {
        self.is_collect_floor_point
    }

    pub fn set_is_collect_floor_point(&mut self, value: u8) {
        self.is_collect_floor_point = value;
    }

    pub fn dist_val_calc_type(&self) -> u8 {
        self.dist_val_calc_type
    }

    pub fn set_dist_val_calc_type(&mut self, value: u8) {
        self.dist_val_calc_type = value;
    }

    pub fn enable_life_time(&self) -> f32 {
        self.enable_life_time
    }

    pub fn set_enable_life_time(&mut self, value: f32) {
        self.enable_life_time = value;
    }

    pub fn max_dist_record_num(&self) -> u32 {
        self.max_dist_record_num
    }

    pub fn set_max_dist_record_num(&mut self, value: u32) {
        self.max_dist_record_num = value;
    }

    pub fn ignore_dist_num_for_max(&self) -> u32 {
        self.ignore_dist_num_for_max
    }

    pub fn set_ignore_dist_num_for_max(&mut self, value: u32) {
        self.ignore_dist_num_for_max = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SOUND_AUTO_REVERB_SELECT_PARAM_ST {
    reverb_type: u32,
    area_no: i32,
    indoor_outdoor: i8,
    use_dist_no_a: i8,
    use_dist_no_b: i8,
    pad0: [u8; 1],
    dist_min_a: f32,
    dist_max_a: f32,
    dist_min_b: f32,
    dist_max_b: f32,
    no_hit_num_min: i32,
}

impl ParamDef for SOUND_AUTO_REVERB_SELECT_PARAM_ST {
    const NAME: &str = "SOUND_AUTO_REVERB_SELECT_PARAM_ST";
}

impl SOUND_AUTO_REVERB_SELECT_PARAM_ST {
    pub fn reverb_type(&self) -> u32 {
        self.reverb_type
    }

    pub fn set_reverb_type(&mut self, value: u32) {
        self.reverb_type = value;
    }

    pub fn area_no(&self) -> i32 {
        self.area_no
    }

    pub fn set_area_no(&mut self, value: i32) {
        self.area_no = value;
    }

    pub fn indoor_outdoor(&self) -> i8 {
        self.indoor_outdoor
    }

    pub fn set_indoor_outdoor(&mut self, value: i8) {
        self.indoor_outdoor = value;
    }

    pub fn use_dist_no_a(&self) -> i8 {
        self.use_dist_no_a
    }

    pub fn set_use_dist_no_a(&mut self, value: i8) {
        self.use_dist_no_a = value;
    }

    pub fn use_dist_no_b(&self) -> i8 {
        self.use_dist_no_b
    }

    pub fn set_use_dist_no_b(&mut self, value: i8) {
        self.use_dist_no_b = value;
    }

    pub fn dist_min_a(&self) -> f32 {
        self.dist_min_a
    }

    pub fn set_dist_min_a(&mut self, value: f32) {
        self.dist_min_a = value;
    }

    pub fn dist_max_a(&self) -> f32 {
        self.dist_max_a
    }

    pub fn set_dist_max_a(&mut self, value: f32) {
        self.dist_max_a = value;
    }

    pub fn dist_min_b(&self) -> f32 {
        self.dist_min_b
    }

    pub fn set_dist_min_b(&mut self, value: f32) {
        self.dist_min_b = value;
    }

    pub fn dist_max_b(&self) -> f32 {
        self.dist_max_b
    }

    pub fn set_dist_max_b(&mut self, value: f32) {
        self.dist_max_b = value;
    }

    pub fn no_hit_num_min(&self) -> i32 {
        self.no_hit_num_min
    }

    pub fn set_no_hit_num_min(&mut self, value: i32) {
        self.no_hit_num_min = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SOUND_CHR_PHYSICS_SE_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    contact_land_se_id: i32,
    contact_land_add_se_id: i32,
    contact_land_play_num: i32,
    is_enable_play_count_per_rigid: u8,
    pad: [u8; 3],
    contact_land_min_impuse: f32,
    contact_land_min_speed: f32,
    contact_player_se_id: i32,
    contact_player_min_impuse: f32,
    contact_player_min_speed: f32,
    contact_check_rigid_idx0: i8,
    contact_check_rigid_idx1: i8,
    contact_check_rigid_idx2: i8,
    contact_check_rigid_idx3: i8,
    contact_check_rigid_idx4: i8,
    contact_check_rigid_idx5: i8,
    contact_check_rigid_idx6: i8,
    contact_check_rigid_idx7: i8,
    contact_check_rigid_idx8: i8,
    contact_check_rigid_idx9: i8,
    contact_check_rigid_idx10: i8,
    contact_check_rigid_idx11: i8,
    contact_check_rigid_idx12: i8,
    contact_check_rigid_idx13: i8,
    contact_check_rigid_idx14: i8,
    contact_check_rigid_idx15: i8,
}

impl ParamDef for SOUND_CHR_PHYSICS_SE_PARAM_ST {
    const NAME: &str = "SOUND_CHR_PHYSICS_SE_PARAM_ST";
}

impl SOUND_CHR_PHYSICS_SE_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn contact_land_se_id(&self) -> i32 {
        self.contact_land_se_id
    }

    pub fn set_contact_land_se_id(&mut self, value: i32) {
        self.contact_land_se_id = value;
    }

    pub fn contact_land_add_se_id(&self) -> i32 {
        self.contact_land_add_se_id
    }

    pub fn set_contact_land_add_se_id(&mut self, value: i32) {
        self.contact_land_add_se_id = value;
    }

    pub fn contact_land_play_num(&self) -> i32 {
        self.contact_land_play_num
    }

    pub fn set_contact_land_play_num(&mut self, value: i32) {
        self.contact_land_play_num = value;
    }

    pub fn is_enable_play_count_per_rigid(&self) -> u8 {
        self.is_enable_play_count_per_rigid
    }

    pub fn set_is_enable_play_count_per_rigid(&mut self, value: u8) {
        self.is_enable_play_count_per_rigid = value;
    }

    pub fn contact_land_min_impuse(&self) -> f32 {
        self.contact_land_min_impuse
    }

    pub fn set_contact_land_min_impuse(&mut self, value: f32) {
        self.contact_land_min_impuse = value;
    }

    pub fn contact_land_min_speed(&self) -> f32 {
        self.contact_land_min_speed
    }

    pub fn set_contact_land_min_speed(&mut self, value: f32) {
        self.contact_land_min_speed = value;
    }

    pub fn contact_player_se_id(&self) -> i32 {
        self.contact_player_se_id
    }

    pub fn set_contact_player_se_id(&mut self, value: i32) {
        self.contact_player_se_id = value;
    }

    pub fn contact_player_min_impuse(&self) -> f32 {
        self.contact_player_min_impuse
    }

    pub fn set_contact_player_min_impuse(&mut self, value: f32) {
        self.contact_player_min_impuse = value;
    }

    pub fn contact_player_min_speed(&self) -> f32 {
        self.contact_player_min_speed
    }

    pub fn set_contact_player_min_speed(&mut self, value: f32) {
        self.contact_player_min_speed = value;
    }

    pub fn contact_check_rigid_idx0(&self) -> i8 {
        self.contact_check_rigid_idx0
    }

    pub fn set_contact_check_rigid_idx0(&mut self, value: i8) {
        self.contact_check_rigid_idx0 = value;
    }

    pub fn contact_check_rigid_idx1(&self) -> i8 {
        self.contact_check_rigid_idx1
    }

    pub fn set_contact_check_rigid_idx1(&mut self, value: i8) {
        self.contact_check_rigid_idx1 = value;
    }

    pub fn contact_check_rigid_idx2(&self) -> i8 {
        self.contact_check_rigid_idx2
    }

    pub fn set_contact_check_rigid_idx2(&mut self, value: i8) {
        self.contact_check_rigid_idx2 = value;
    }

    pub fn contact_check_rigid_idx3(&self) -> i8 {
        self.contact_check_rigid_idx3
    }

    pub fn set_contact_check_rigid_idx3(&mut self, value: i8) {
        self.contact_check_rigid_idx3 = value;
    }

    pub fn contact_check_rigid_idx4(&self) -> i8 {
        self.contact_check_rigid_idx4
    }

    pub fn set_contact_check_rigid_idx4(&mut self, value: i8) {
        self.contact_check_rigid_idx4 = value;
    }

    pub fn contact_check_rigid_idx5(&self) -> i8 {
        self.contact_check_rigid_idx5
    }

    pub fn set_contact_check_rigid_idx5(&mut self, value: i8) {
        self.contact_check_rigid_idx5 = value;
    }

    pub fn contact_check_rigid_idx6(&self) -> i8 {
        self.contact_check_rigid_idx6
    }

    pub fn set_contact_check_rigid_idx6(&mut self, value: i8) {
        self.contact_check_rigid_idx6 = value;
    }

    pub fn contact_check_rigid_idx7(&self) -> i8 {
        self.contact_check_rigid_idx7
    }

    pub fn set_contact_check_rigid_idx7(&mut self, value: i8) {
        self.contact_check_rigid_idx7 = value;
    }

    pub fn contact_check_rigid_idx8(&self) -> i8 {
        self.contact_check_rigid_idx8
    }

    pub fn set_contact_check_rigid_idx8(&mut self, value: i8) {
        self.contact_check_rigid_idx8 = value;
    }

    pub fn contact_check_rigid_idx9(&self) -> i8 {
        self.contact_check_rigid_idx9
    }

    pub fn set_contact_check_rigid_idx9(&mut self, value: i8) {
        self.contact_check_rigid_idx9 = value;
    }

    pub fn contact_check_rigid_idx10(&self) -> i8 {
        self.contact_check_rigid_idx10
    }

    pub fn set_contact_check_rigid_idx10(&mut self, value: i8) {
        self.contact_check_rigid_idx10 = value;
    }

    pub fn contact_check_rigid_idx11(&self) -> i8 {
        self.contact_check_rigid_idx11
    }

    pub fn set_contact_check_rigid_idx11(&mut self, value: i8) {
        self.contact_check_rigid_idx11 = value;
    }

    pub fn contact_check_rigid_idx12(&self) -> i8 {
        self.contact_check_rigid_idx12
    }

    pub fn set_contact_check_rigid_idx12(&mut self, value: i8) {
        self.contact_check_rigid_idx12 = value;
    }

    pub fn contact_check_rigid_idx13(&self) -> i8 {
        self.contact_check_rigid_idx13
    }

    pub fn set_contact_check_rigid_idx13(&mut self, value: i8) {
        self.contact_check_rigid_idx13 = value;
    }

    pub fn contact_check_rigid_idx14(&self) -> i8 {
        self.contact_check_rigid_idx14
    }

    pub fn set_contact_check_rigid_idx14(&mut self, value: i8) {
        self.contact_check_rigid_idx14 = value;
    }

    pub fn contact_check_rigid_idx15(&self) -> i8 {
        self.contact_check_rigid_idx15
    }

    pub fn set_contact_check_rigid_idx15(&mut self, value: i8) {
        self.contact_check_rigid_idx15 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SOUND_COMMON_INGAME_PARAM_ST {
    param_key_str: [u8; 32],
    param_value_str: [u8; 32],
}

impl ParamDef for SOUND_COMMON_INGAME_PARAM_ST {
    const NAME: &str = "SOUND_COMMON_INGAME_PARAM_ST";
}

impl SOUND_COMMON_INGAME_PARAM_ST {
    pub fn param_key_str(&self) -> &[u8; 32] {
        &self.param_key_str
    }

    pub fn set_param_key_str(&mut self, value: [u8; 32]) {
        self.param_key_str = value;
    }

    pub fn param_value_str(&self) -> &[u8; 32] {
        &self.param_value_str
    }

    pub fn set_param_value_str(&mut self, value: [u8; 32]) {
        self.param_value_str = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SOUND_COMMON_SYSTEM_PARAM_ST {
    param_key_str: [u8; 32],
    param_value_str: [u8; 32],
}

impl ParamDef for SOUND_COMMON_SYSTEM_PARAM_ST {
    const NAME: &str = "SOUND_COMMON_SYSTEM_PARAM_ST";
}

impl SOUND_COMMON_SYSTEM_PARAM_ST {
    pub fn param_key_str(&self) -> &[u8; 32] {
        &self.param_key_str
    }

    pub fn set_param_key_str(&mut self, value: [u8; 32]) {
        self.param_key_str = value;
    }

    pub fn param_value_str(&self) -> &[u8; 32] {
        &self.param_value_str
    }

    pub fn set_param_value_str(&mut self, value: [u8; 32]) {
        self.param_value_str = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SOUND_CUTSCENE_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    reverb_type: u8,
    pad0: [u8; 3],
    bgm_behavior_type_on_start: i16,
    one_shot_bgm_behavior_on_start: i16,
    post_play_se_id: i32,
    post_play_se_id_for_skip: i32,
    enter_map_mute_stop_time_on_draw_cutscene: f32,
    unknown_1: f32,
    reserved_old: [u8; 8],
}

impl ParamDef for SOUND_CUTSCENE_PARAM_ST {
    const NAME: &str = "SOUND_CUTSCENE_PARAM_ST";
}

impl SOUND_CUTSCENE_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn reverb_type(&self) -> u8 {
        self.reverb_type
    }

    pub fn set_reverb_type(&mut self, value: u8) {
        self.reverb_type = value;
    }

    pub fn bgm_behavior_type_on_start(&self) -> i16 {
        self.bgm_behavior_type_on_start
    }

    pub fn set_bgm_behavior_type_on_start(&mut self, value: i16) {
        self.bgm_behavior_type_on_start = value;
    }

    pub fn one_shot_bgm_behavior_on_start(&self) -> i16 {
        self.one_shot_bgm_behavior_on_start
    }

    pub fn set_one_shot_bgm_behavior_on_start(&mut self, value: i16) {
        self.one_shot_bgm_behavior_on_start = value;
    }

    pub fn post_play_se_id(&self) -> i32 {
        self.post_play_se_id
    }

    pub fn set_post_play_se_id(&mut self, value: i32) {
        self.post_play_se_id = value;
    }

    pub fn post_play_se_id_for_skip(&self) -> i32 {
        self.post_play_se_id_for_skip
    }

    pub fn set_post_play_se_id_for_skip(&mut self, value: i32) {
        self.post_play_se_id_for_skip = value;
    }

    pub fn enter_map_mute_stop_time_on_draw_cutscene(&self) -> f32 {
        self.enter_map_mute_stop_time_on_draw_cutscene
    }

    pub fn set_enter_map_mute_stop_time_on_draw_cutscene(&mut self, value: f32) {
        self.enter_map_mute_stop_time_on_draw_cutscene = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SPEEDTREE_MODEL_PARAM_ST {
    min_fade_leaf: f32,
    min_fade_frond: f32,
    min_fade_branch: f32,
    min_translucency_leaf: f32,
    max_translucency_leaf: f32,
    min_translucency_frond: f32,
    max_translucency_frond: f32,
    min_translucency_branch: f32,
    max_translucency_branch: f32,
    billboard_back_specular_weaken_param: f32,
}

impl ParamDef for SPEEDTREE_MODEL_PARAM_ST {
    const NAME: &str = "SPEEDTREE_MODEL_PARAM_ST";
}

impl SPEEDTREE_MODEL_PARAM_ST {
    pub fn min_fade_leaf(&self) -> f32 {
        self.min_fade_leaf
    }

    pub fn set_min_fade_leaf(&mut self, value: f32) {
        self.min_fade_leaf = value;
    }

    pub fn min_fade_frond(&self) -> f32 {
        self.min_fade_frond
    }

    pub fn set_min_fade_frond(&mut self, value: f32) {
        self.min_fade_frond = value;
    }

    pub fn min_fade_branch(&self) -> f32 {
        self.min_fade_branch
    }

    pub fn set_min_fade_branch(&mut self, value: f32) {
        self.min_fade_branch = value;
    }

    pub fn min_translucency_leaf(&self) -> f32 {
        self.min_translucency_leaf
    }

    pub fn set_min_translucency_leaf(&mut self, value: f32) {
        self.min_translucency_leaf = value;
    }

    pub fn max_translucency_leaf(&self) -> f32 {
        self.max_translucency_leaf
    }

    pub fn set_max_translucency_leaf(&mut self, value: f32) {
        self.max_translucency_leaf = value;
    }

    pub fn min_translucency_frond(&self) -> f32 {
        self.min_translucency_frond
    }

    pub fn set_min_translucency_frond(&mut self, value: f32) {
        self.min_translucency_frond = value;
    }

    pub fn max_translucency_frond(&self) -> f32 {
        self.max_translucency_frond
    }

    pub fn set_max_translucency_frond(&mut self, value: f32) {
        self.max_translucency_frond = value;
    }

    pub fn min_translucency_branch(&self) -> f32 {
        self.min_translucency_branch
    }

    pub fn set_min_translucency_branch(&mut self, value: f32) {
        self.min_translucency_branch = value;
    }

    pub fn max_translucency_branch(&self) -> f32 {
        self.max_translucency_branch
    }

    pub fn set_max_translucency_branch(&mut self, value: f32) {
        self.max_translucency_branch = value;
    }

    pub fn billboard_back_specular_weaken_param(&self) -> f32 {
        self.billboard_back_specular_weaken_param
    }

    pub fn set_billboard_back_specular_weaken_param(&mut self, value: f32) {
        self.billboard_back_specular_weaken_param = 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: f32,
    magic_diffence: f32,
    fire_diffence: f32,
    thunder_diffence: f32,
    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: f32,
    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: i32,
    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,
    magic_sub_category_change1: u8,
    magic_sub_category_change2: u8,
    bow_dist_rate: i16,
    sp_category: i16,
    category_priority: u8,
    save_category: i8,
    change_magic_slot: u8,
    change_miracle_slot: u8,
    hero_point_damage: i8,
    def_flick_power: u8,
    flick_damage_cut_rate: u8,
    blood_damage_rate: u8,
    dmg_lv_none: i8,
    dmg_lv_s: i8,
    dmg_lv_m: i8,
    dmg_lv_l: i8,
    dmg_lv_blow_m: i8,
    dmg_lv_push: i8,
    dmg_lv_strike: i8,
    dmg_lv_blow_s: i8,
    dmg_lv_min: i8,
    dmg_lv_uppercut: i8,
    dmg_lv_blow_ll: i8,
    dmg_lv_breath: i8,
    atk_attribute: u8,
    sp_attribute: u8,
    state_info: u16,
    wep_param_change: u8,
    move_type: u8,
    life_reduction_type: u16,
    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: i8,
    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,
    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,
    dexterity_cancel_system_only_add_dexterity: 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,
    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,
    unknown_144: i32,
    unknown_145: f32,
    unknown_146: f32,
    unknown_147: f32,
    unknown_148: f32,
    secondary_icon_id: i32,
    madness_damage_rate: u8,
    bits_259: u8,
    add_behavior_judge_id_add: u16,
    sa_receive_damage_rate: f32,
    unknown_old_1a: i16,
    wep_type_trigger: i16,
    wep_type_trigger_count: i16,
    enemy_state_info_trigger: i16,
    start_goods_id: i32,
    hero_status_id: i32,
    start_sword_arts_id: i32,
    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,
    unknown_old_6: f32,
    unknown_old_7: f32,
    unknown_old_8: f32,
    unknown_old_9: f32,
    unknown_old_10: f32,
    unknown_old_11: f32,
    unknown_old_12: f32,
    sp_effect_text_id_1: i32,
    sp_effect_text_id_2: i32,
    sp_effect_text_id_3: i32,
    regist_freeze_change_rate: f32,
    invocation_conditions_state_change1: u16,
    invocation_conditions_state_change2: u16,
    invocation_conditions_state_change3: u16,
    hearing_ai_sound_level: i16,
    chr_proxy_height_rate: f32,
    add_aware_point_correct_value_for_me: f32,
    add_aware_point_correct_value_for_target: f32,
    sight_search_enemy_add: f32,
    sight_search_add: f32,
    hearing_search_add: f32,
    hearing_search_rate: f32,
    hearing_search_enemy_add: f32,
    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,
    def_object_attack_power_rate: f32,
    effect_end_delete_decal_group_id: i16,
    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: u8,
    magic_sub_category_change3: u8,
    sp_attribute_variation_value: u8,
    atk_flick_power: u8,
    wet_condition_depth: u8,
    change_sa_recovery_velocity: f32,
    regain_rate: f32,
    sa_attack_power_rate: f32,
    sleep_attack_power: i32,
    madness_attack_power: i32,
    regist_sleep_change_rate: f32,
    regist_madness_change_rate: f32,
    change_sleep_resist_point: i32,
    change_madness_resist_point: i32,
    sleep_damage_rate: u8,
    apply_parts_group: u8,
    bits_352: u8,
    pad2: [u8; 1],
    change_super_armor_point: f32,
    change_sa_point: f32,
    huge_enemy_pickup_height_overwrite: f32,
    poison_def_damage_rate: f32,
    disease_def_damage_rate: f32,
    blood_def_damage_rate: f32,
    curse_def_damage_rate: f32,
    freeze_def_damage_rate: f32,
    sleep_def_damage_rate: f32,
    madness_def_damage_rate: f32,
    overwrite_max_backhome_dist: u16,
    overwrite_backhome_dist: u16,
    overwrite_backhome_battle_dist: u16,
    overwrite_back_home_look_target_dist: u16,
    goods_consumption_rate: f32,
    guard_stamina_mult: f32,
    ultimate_art_gauge: f32,
    character_skill_cooldown_reduction: f32,
    character_skill_gauge: f32,
    unknown_230a: u16,
    aux_attribute: u8,
    player_hand_value: u8,
    permanent_buff_text_id: i32,
    guard_counter_attack_rate: f32,
    trigger_on_wep_type: u16,
    additional_character_skill_use: u8,
    trigger_effect_on_knockback_unk: i8,
    weak_point_value: u16,
    rune_discount_value: u8,
    unknown_234c: i8,
    ultimate_art_duration: f32,
    character_skill_attack_rate: f32,
    unknown_240: i32,
    revenant_family_sp_effect_id_1: i32,
    revenant_family_sp_effect_id_2: i32,
    revenant_family_sp_effect_id_3: i32,
    unknown_241a: u8,
    unknown_241b: u8,
    unknown_241c: u8,
    unknown_241d: u8,
    end_padding: [u8; 8],
}

impl ParamDef for SP_EFFECT_PARAM_ST {
    const NAME: &str = "SP_EFFECT_PARAM_ST";
}

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) -> f32 {
        self.physics_diffence
    }

    pub fn set_physics_diffence(&mut self, value: f32) {
        self.physics_diffence = value;
    }

    pub fn magic_diffence(&self) -> f32 {
        self.magic_diffence
    }

    pub fn set_magic_diffence(&mut self, value: f32) {
        self.magic_diffence = value;
    }

    pub fn fire_diffence(&self) -> f32 {
        self.fire_diffence
    }

    pub fn set_fire_diffence(&mut self, value: f32) {
        self.fire_diffence = value;
    }

    pub fn thunder_diffence(&self) -> f32 {
        self.thunder_diffence
    }

    pub fn set_thunder_diffence(&mut self, value: f32) {
        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) -> f32 {
        self.sight_search_enemy_rate
    }

    pub fn set_sight_search_enemy_rate(&mut self, value: f32) {
        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) -> i32 {
        self.soul_steal_rate
    }

    pub fn set_soul_steal_rate(&mut self, value: i32) {
        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 magic_sub_category_change1(&self) -> u8 {
        self.magic_sub_category_change1
    }

    pub fn set_magic_sub_category_change1(&mut self, value: u8) {
        self.magic_sub_category_change1 = value;
    }

    pub fn magic_sub_category_change2(&self) -> u8 {
        self.magic_sub_category_change2
    }

    pub fn set_magic_sub_category_change2(&mut self, value: u8) {
        self.magic_sub_category_change2 = 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) -> u8 {
        self.category_priority
    }

    pub fn set_category_priority(&mut self, value: u8) {
        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) -> i8 {
        self.hero_point_damage
    }

    pub fn set_hero_point_damage(&mut self, value: i8) {
        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) -> i8 {
        self.dmg_lv_none
    }

    pub fn set_dmg_lv_none(&mut self, value: i8) {
        self.dmg_lv_none = value;
    }

    pub fn dmg_lv_s(&self) -> i8 {
        self.dmg_lv_s
    }

    pub fn set_dmg_lv_s(&mut self, value: i8) {
        self.dmg_lv_s = value;
    }

    pub fn dmg_lv_m(&self) -> i8 {
        self.dmg_lv_m
    }

    pub fn set_dmg_lv_m(&mut self, value: i8) {
        self.dmg_lv_m = value;
    }

    pub fn dmg_lv_l(&self) -> i8 {
        self.dmg_lv_l
    }

    pub fn set_dmg_lv_l(&mut self, value: i8) {
        self.dmg_lv_l = value;
    }

    pub fn dmg_lv_blow_m(&self) -> i8 {
        self.dmg_lv_blow_m
    }

    pub fn set_dmg_lv_blow_m(&mut self, value: i8) {
        self.dmg_lv_blow_m = value;
    }

    pub fn dmg_lv_push(&self) -> i8 {
        self.dmg_lv_push
    }

    pub fn set_dmg_lv_push(&mut self, value: i8) {
        self.dmg_lv_push = value;
    }

    pub fn dmg_lv_strike(&self) -> i8 {
        self.dmg_lv_strike
    }

    pub fn set_dmg_lv_strike(&mut self, value: i8) {
        self.dmg_lv_strike = value;
    }

    pub fn dmg_lv_blow_s(&self) -> i8 {
        self.dmg_lv_blow_s
    }

    pub fn set_dmg_lv_blow_s(&mut self, value: i8) {
        self.dmg_lv_blow_s = value;
    }

    pub fn dmg_lv_min(&self) -> i8 {
        self.dmg_lv_min
    }

    pub fn set_dmg_lv_min(&mut self, value: i8) {
        self.dmg_lv_min = value;
    }

    pub fn dmg_lv_uppercut(&self) -> i8 {
        self.dmg_lv_uppercut
    }

    pub fn set_dmg_lv_uppercut(&mut self, value: i8) {
        self.dmg_lv_uppercut = value;
    }

    pub fn dmg_lv_blow_ll(&self) -> i8 {
        self.dmg_lv_blow_ll
    }

    pub fn set_dmg_lv_blow_ll(&mut self, value: i8) {
        self.dmg_lv_blow_ll = value;
    }

    pub fn dmg_lv_breath(&self) -> i8 {
        self.dmg_lv_breath
    }

    pub fn set_dmg_lv_breath(&mut self, value: i8) {
        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) -> u16 {
        self.state_info
    }

    pub fn set_state_info(&mut self, value: u16) {
        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) -> u16 {
        self.life_reduction_type
    }

    pub fn set_life_reduction_type(&mut self, value: u16) {
        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 disable_sleep(&self) -> u8 {
        (self.bits_15f >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_sleep(&mut self, value: u8) {
        self.bits_15f = (self.bits_15f & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_madness(&self) -> u8 {
        (self.bits_160 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_madness(&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 regain_gauge_damage(&self) -> u8 {
        (self.bits_160 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_regain_gauge_damage(&mut self, value: u8) {
        self.bits_160 = (self.bits_160 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn b_adjust_magic_ablity(&self) -> u8 {
        (self.bits_160 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_adjust_magic_ablity(&mut self, value: u8) {
        self.bits_160 = (self.bits_160 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn b_adjust_faith_ablity(&self) -> u8 {
        (self.bits_160 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_adjust_faith_ablity(&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 b_adjust_strength_ablity(&self) -> u8 {
        (self.bits_164 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_adjust_strength_ablity(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn b_adjust_agility_ablity(&self) -> u8 {
        (self.bits_164 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_b_adjust_agility_ablity(&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 throw_attack_param_change(&self) -> u8 {
        (self.bits_164 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_throw_attack_param_change(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn request_leave_coliseum_session(&self) -> u8 {
        (self.bits_164 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_request_leave_coliseum_session(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_extend_sp_effect_life(&self) -> u8 {
        (self.bits_164 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_extend_sp_effect_life(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn has_target(&self) -> u8 {
        (self.bits_164 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_has_target(&mut self, value: u8) {
        self.bits_164 = (self.bits_164 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn replanning_on_fire(&self) -> u8 {
        (self.bits_164 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_replanning_on_fire(&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) -> i8 {
        self.rep_atk_dmg_lv
    }

    pub fn set_rep_atk_dmg_lv(&mut self, value: i8) {
        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 dexterity_cancel_system_only_add_dexterity(&self) -> i8 {
        self.dexterity_cancel_system_only_add_dexterity
    }

    pub fn set_dexterity_cancel_system_only_add_dexterity(&mut self, value: i8) {
        self.dexterity_cancel_system_only_add_dexterity = 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 secondary_icon_id(&self) -> i32 {
        self.secondary_icon_id
    }

    pub fn set_secondary_icon_id(&mut self, value: i32) {
        self.secondary_icon_id = value;
    }

    pub fn madness_damage_rate(&self) -> u8 {
        self.madness_damage_rate
    }

    pub fn set_madness_damage_rate(&mut self, value: u8) {
        self.madness_damage_rate = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_status_ailment_atk_power_correct(&self) -> u8 {
        (self.bits_259 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_status_ailment_atk_power_correct(&mut self, value: u8) {
        self.bits_259 = (self.bits_259 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_use_atk_param_atk_power_correct(&self) -> u8 {
        (self.bits_259 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_use_atk_param_atk_power_correct(&mut self, value: u8) {
        self.bits_259 = (self.bits_259 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn dont_delete_on_dead(&self) -> u8 {
        (self.bits_259 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_dont_delete_on_dead(&mut self, value: u8) {
        self.bits_259 = (self.bits_259 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn disable_freeze(&self) -> u8 {
        (self.bits_259 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_freeze(&mut self, value: u8) {
        self.bits_259 = (self.bits_259 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_disable_net_sync(&self) -> u8 {
        (self.bits_259 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_disable_net_sync(&mut self, value: u8) {
        self.bits_259 = (self.bits_259 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn shaman_param_change(&self) -> u8 {
        (self.bits_259 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_shaman_param_change(&mut self, value: u8) {
        self.bits_259 = (self.bits_259 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_stop_searched_notify(&self) -> u8 {
        (self.bits_259 >> 6) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_stop_searched_notify(&mut self, value: u8) {
        self.bits_259 = (self.bits_259 & !(0b00000001 << 6)) | ((value & 0b00000001) << 6);
    }

    #[allow(clippy::identity_op)]
    pub fn is_check_above_shadow_test(&self) -> u8 {
        (self.bits_259 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_check_above_shadow_test(&mut self, value: u8) {
        self.bits_259 = (self.bits_259 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn add_behavior_judge_id_add(&self) -> u16 {
        self.add_behavior_judge_id_add
    }

    pub fn set_add_behavior_judge_id_add(&mut self, value: u16) {
        self.add_behavior_judge_id_add = 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 wep_type_trigger(&self) -> i16 {
        self.wep_type_trigger
    }

    pub fn set_wep_type_trigger(&mut self, value: i16) {
        self.wep_type_trigger = value;
    }

    pub fn wep_type_trigger_count(&self) -> i16 {
        self.wep_type_trigger_count
    }

    pub fn set_wep_type_trigger_count(&mut self, value: i16) {
        self.wep_type_trigger_count = value;
    }

    pub fn enemy_state_info_trigger(&self) -> i16 {
        self.enemy_state_info_trigger
    }

    pub fn set_enemy_state_info_trigger(&mut self, value: i16) {
        self.enemy_state_info_trigger = value;
    }

    pub fn start_goods_id(&self) -> i32 {
        self.start_goods_id
    }

    pub fn set_start_goods_id(&mut self, value: i32) {
        self.start_goods_id = value;
    }

    pub fn hero_status_id(&self) -> i32 {
        self.hero_status_id
    }

    pub fn set_hero_status_id(&mut self, value: i32) {
        self.hero_status_id = value;
    }

    pub fn start_sword_arts_id(&self) -> i32 {
        self.start_sword_arts_id
    }

    pub fn set_start_sword_arts_id(&mut self, value: i32) {
        self.start_sword_arts_id = 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 sp_effect_text_id_1(&self) -> i32 {
        self.sp_effect_text_id_1
    }

    pub fn set_sp_effect_text_id_1(&mut self, value: i32) {
        self.sp_effect_text_id_1 = value;
    }

    pub fn sp_effect_text_id_2(&self) -> i32 {
        self.sp_effect_text_id_2
    }

    pub fn set_sp_effect_text_id_2(&mut self, value: i32) {
        self.sp_effect_text_id_2 = value;
    }

    pub fn sp_effect_text_id_3(&self) -> i32 {
        self.sp_effect_text_id_3
    }

    pub fn set_sp_effect_text_id_3(&mut self, value: i32) {
        self.sp_effect_text_id_3 = 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) -> u16 {
        self.invocation_conditions_state_change1
    }

    pub fn set_invocation_conditions_state_change1(&mut self, value: u16) {
        self.invocation_conditions_state_change1 = value;
    }

    pub fn invocation_conditions_state_change2(&self) -> u16 {
        self.invocation_conditions_state_change2
    }

    pub fn set_invocation_conditions_state_change2(&mut self, value: u16) {
        self.invocation_conditions_state_change2 = value;
    }

    pub fn invocation_conditions_state_change3(&self) -> u16 {
        self.invocation_conditions_state_change3
    }

    pub fn set_invocation_conditions_state_change3(&mut self, value: u16) {
        self.invocation_conditions_state_change3 = value;
    }

    pub fn hearing_ai_sound_level(&self) -> i16 {
        self.hearing_ai_sound_level
    }

    pub fn set_hearing_ai_sound_level(&mut self, value: i16) {
        self.hearing_ai_sound_level = value;
    }

    pub fn chr_proxy_height_rate(&self) -> f32 {
        self.chr_proxy_height_rate
    }

    pub fn set_chr_proxy_height_rate(&mut self, value: f32) {
        self.chr_proxy_height_rate = value;
    }

    pub fn add_aware_point_correct_value_for_me(&self) -> f32 {
        self.add_aware_point_correct_value_for_me
    }

    pub fn set_add_aware_point_correct_value_for_me(&mut self, value: f32) {
        self.add_aware_point_correct_value_for_me = value;
    }

    pub fn add_aware_point_correct_value_for_target(&self) -> f32 {
        self.add_aware_point_correct_value_for_target
    }

    pub fn set_add_aware_point_correct_value_for_target(&mut self, value: f32) {
        self.add_aware_point_correct_value_for_target = value;
    }

    pub fn sight_search_enemy_add(&self) -> f32 {
        self.sight_search_enemy_add
    }

    pub fn set_sight_search_enemy_add(&mut self, value: f32) {
        self.sight_search_enemy_add = value;
    }

    pub fn sight_search_add(&self) -> f32 {
        self.sight_search_add
    }

    pub fn set_sight_search_add(&mut self, value: f32) {
        self.sight_search_add = value;
    }

    pub fn hearing_search_add(&self) -> f32 {
        self.hearing_search_add
    }

    pub fn set_hearing_search_add(&mut self, value: f32) {
        self.hearing_search_add = value;
    }

    pub fn hearing_search_rate(&self) -> f32 {
        self.hearing_search_rate
    }

    pub fn set_hearing_search_rate(&mut self, value: f32) {
        self.hearing_search_rate = value;
    }

    pub fn hearing_search_enemy_add(&self) -> f32 {
        self.hearing_search_enemy_add
    }

    pub fn set_hearing_search_enemy_add(&mut self, value: f32) {
        self.hearing_search_enemy_add = 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 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 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 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) -> u8 {
        self.delete_criteria_damage
    }

    pub fn set_delete_criteria_damage(&mut self, value: u8) {
        self.delete_criteria_damage = value;
    }

    pub fn magic_sub_category_change3(&self) -> u8 {
        self.magic_sub_category_change3
    }

    pub fn set_magic_sub_category_change3(&mut self, value: u8) {
        self.magic_sub_category_change3 = value;
    }

    pub fn sp_attribute_variation_value(&self) -> u8 {
        self.sp_attribute_variation_value
    }

    pub fn set_sp_attribute_variation_value(&mut self, value: u8) {
        self.sp_attribute_variation_value = value;
    }

    pub fn atk_flick_power(&self) -> u8 {
        self.atk_flick_power
    }

    pub fn set_atk_flick_power(&mut self, value: u8) {
        self.atk_flick_power = 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;
    }

    pub fn change_sa_recovery_velocity(&self) -> f32 {
        self.change_sa_recovery_velocity
    }

    pub fn set_change_sa_recovery_velocity(&mut self, value: f32) {
        self.change_sa_recovery_velocity = value;
    }

    pub fn regain_rate(&self) -> f32 {
        self.regain_rate
    }

    pub fn set_regain_rate(&mut self, value: f32) {
        self.regain_rate = value;
    }

    pub fn sa_attack_power_rate(&self) -> f32 {
        self.sa_attack_power_rate
    }

    pub fn set_sa_attack_power_rate(&mut self, value: f32) {
        self.sa_attack_power_rate = value;
    }

    pub fn sleep_attack_power(&self) -> i32 {
        self.sleep_attack_power
    }

    pub fn set_sleep_attack_power(&mut self, value: i32) {
        self.sleep_attack_power = value;
    }

    pub fn madness_attack_power(&self) -> i32 {
        self.madness_attack_power
    }

    pub fn set_madness_attack_power(&mut self, value: i32) {
        self.madness_attack_power = value;
    }

    pub fn regist_sleep_change_rate(&self) -> f32 {
        self.regist_sleep_change_rate
    }

    pub fn set_regist_sleep_change_rate(&mut self, value: f32) {
        self.regist_sleep_change_rate = value;
    }

    pub fn regist_madness_change_rate(&self) -> f32 {
        self.regist_madness_change_rate
    }

    pub fn set_regist_madness_change_rate(&mut self, value: f32) {
        self.regist_madness_change_rate = value;
    }

    pub fn change_sleep_resist_point(&self) -> i32 {
        self.change_sleep_resist_point
    }

    pub fn set_change_sleep_resist_point(&mut self, value: i32) {
        self.change_sleep_resist_point = value;
    }

    pub fn change_madness_resist_point(&self) -> i32 {
        self.change_madness_resist_point
    }

    pub fn set_change_madness_resist_point(&mut self, value: i32) {
        self.change_madness_resist_point = value;
    }

    pub fn sleep_damage_rate(&self) -> u8 {
        self.sleep_damage_rate
    }

    pub fn set_sleep_damage_rate(&mut self, value: u8) {
        self.sleep_damage_rate = value;
    }

    pub fn apply_parts_group(&self) -> u8 {
        self.apply_parts_group
    }

    pub fn set_apply_parts_group(&mut self, value: u8) {
        self.apply_parts_group = value;
    }

    #[allow(clippy::identity_op)]
    pub fn clear_target(&self) -> u8 {
        (self.bits_352 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_clear_target(&mut self, value: u8) {
        self.bits_352 = (self.bits_352 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn fake_target_ignore_ajin(&self) -> u8 {
        (self.bits_352 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_fake_target_ignore_ajin(&mut self, value: u8) {
        self.bits_352 = (self.bits_352 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn fake_target_ignore_mirage_arts(&self) -> u8 {
        (self.bits_352 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_fake_target_ignore_mirage_arts(&mut self, value: u8) {
        self.bits_352 = (self.bits_352 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    #[allow(clippy::identity_op)]
    pub fn request_force_join_black_sos_b(&self) -> u8 {
        (self.bits_352 >> 3) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_request_force_join_black_sos_b(&mut self, value: u8) {
        self.bits_352 = (self.bits_352 & !(0b00000001 << 3)) | ((value & 0b00000001) << 3);
    }

    #[allow(clippy::identity_op)]
    pub fn is_destined_death_hp_mult(&self) -> u8 {
        (self.bits_352 >> 4) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_destined_death_hp_mult(&mut self, value: u8) {
        self.bits_352 = (self.bits_352 & !(0b00000001 << 4)) | ((value & 0b00000001) << 4);
    }

    #[allow(clippy::identity_op)]
    pub fn is_hp_burn_effect(&self) -> u8 {
        (self.bits_352 >> 5) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_hp_burn_effect(&mut self, value: u8) {
        self.bits_352 = (self.bits_352 & !(0b00000001 << 5)) | ((value & 0b00000001) << 5);
    }

    #[allow(clippy::identity_op)]
    pub fn is_periodic_effect(&self) -> u8 {
        (self.bits_352 >> 7) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_periodic_effect(&mut self, value: u8) {
        self.bits_352 = (self.bits_352 & !(0b00000001 << 7)) | ((value & 0b00000001) << 7);
    }

    pub fn change_super_armor_point(&self) -> f32 {
        self.change_super_armor_point
    }

    pub fn set_change_super_armor_point(&mut self, value: f32) {
        self.change_super_armor_point = value;
    }

    pub fn change_sa_point(&self) -> f32 {
        self.change_sa_point
    }

    pub fn set_change_sa_point(&mut self, value: f32) {
        self.change_sa_point = value;
    }

    pub fn huge_enemy_pickup_height_overwrite(&self) -> f32 {
        self.huge_enemy_pickup_height_overwrite
    }

    pub fn set_huge_enemy_pickup_height_overwrite(&mut self, value: f32) {
        self.huge_enemy_pickup_height_overwrite = value;
    }

    pub fn poison_def_damage_rate(&self) -> f32 {
        self.poison_def_damage_rate
    }

    pub fn set_poison_def_damage_rate(&mut self, value: f32) {
        self.poison_def_damage_rate = value;
    }

    pub fn disease_def_damage_rate(&self) -> f32 {
        self.disease_def_damage_rate
    }

    pub fn set_disease_def_damage_rate(&mut self, value: f32) {
        self.disease_def_damage_rate = value;
    }

    pub fn blood_def_damage_rate(&self) -> f32 {
        self.blood_def_damage_rate
    }

    pub fn set_blood_def_damage_rate(&mut self, value: f32) {
        self.blood_def_damage_rate = value;
    }

    pub fn curse_def_damage_rate(&self) -> f32 {
        self.curse_def_damage_rate
    }

    pub fn set_curse_def_damage_rate(&mut self, value: f32) {
        self.curse_def_damage_rate = value;
    }

    pub fn freeze_def_damage_rate(&self) -> f32 {
        self.freeze_def_damage_rate
    }

    pub fn set_freeze_def_damage_rate(&mut self, value: f32) {
        self.freeze_def_damage_rate = value;
    }

    pub fn sleep_def_damage_rate(&self) -> f32 {
        self.sleep_def_damage_rate
    }

    pub fn set_sleep_def_damage_rate(&mut self, value: f32) {
        self.sleep_def_damage_rate = value;
    }

    pub fn madness_def_damage_rate(&self) -> f32 {
        self.madness_def_damage_rate
    }

    pub fn set_madness_def_damage_rate(&mut self, value: f32) {
        self.madness_def_damage_rate = value;
    }

    pub fn overwrite_max_backhome_dist(&self) -> u16 {
        self.overwrite_max_backhome_dist
    }

    pub fn set_overwrite_max_backhome_dist(&mut self, value: u16) {
        self.overwrite_max_backhome_dist = value;
    }

    pub fn overwrite_backhome_dist(&self) -> u16 {
        self.overwrite_backhome_dist
    }

    pub fn set_overwrite_backhome_dist(&mut self, value: u16) {
        self.overwrite_backhome_dist = value;
    }

    pub fn overwrite_backhome_battle_dist(&self) -> u16 {
        self.overwrite_backhome_battle_dist
    }

    pub fn set_overwrite_backhome_battle_dist(&mut self, value: u16) {
        self.overwrite_backhome_battle_dist = value;
    }

    pub fn overwrite_back_home_look_target_dist(&self) -> u16 {
        self.overwrite_back_home_look_target_dist
    }

    pub fn set_overwrite_back_home_look_target_dist(&mut self, value: u16) {
        self.overwrite_back_home_look_target_dist = value;
    }

    pub fn goods_consumption_rate(&self) -> f32 {
        self.goods_consumption_rate
    }

    pub fn set_goods_consumption_rate(&mut self, value: f32) {
        self.goods_consumption_rate = value;
    }

    pub fn guard_stamina_mult(&self) -> f32 {
        self.guard_stamina_mult
    }

    pub fn set_guard_stamina_mult(&mut self, value: f32) {
        self.guard_stamina_mult = value;
    }

    pub fn ultimate_art_gauge(&self) -> f32 {
        self.ultimate_art_gauge
    }

    pub fn set_ultimate_art_gauge(&mut self, value: f32) {
        self.ultimate_art_gauge = value;
    }

    pub fn character_skill_cooldown_reduction(&self) -> f32 {
        self.character_skill_cooldown_reduction
    }

    pub fn set_character_skill_cooldown_reduction(&mut self, value: f32) {
        self.character_skill_cooldown_reduction = value;
    }

    pub fn character_skill_gauge(&self) -> f32 {
        self.character_skill_gauge
    }

    pub fn set_character_skill_gauge(&mut self, value: f32) {
        self.character_skill_gauge = value;
    }

    pub fn aux_attribute(&self) -> u8 {
        self.aux_attribute
    }

    pub fn set_aux_attribute(&mut self, value: u8) {
        self.aux_attribute = value;
    }

    pub fn player_hand_value(&self) -> u8 {
        self.player_hand_value
    }

    pub fn set_player_hand_value(&mut self, value: u8) {
        self.player_hand_value = value;
    }

    pub fn permanent_buff_text_id(&self) -> i32 {
        self.permanent_buff_text_id
    }

    pub fn set_permanent_buff_text_id(&mut self, value: i32) {
        self.permanent_buff_text_id = value;
    }

    pub fn guard_counter_attack_rate(&self) -> f32 {
        self.guard_counter_attack_rate
    }

    pub fn set_guard_counter_attack_rate(&mut self, value: f32) {
        self.guard_counter_attack_rate = value;
    }

    pub fn trigger_on_wep_type(&self) -> u16 {
        self.trigger_on_wep_type
    }

    pub fn set_trigger_on_wep_type(&mut self, value: u16) {
        self.trigger_on_wep_type = value;
    }

    pub fn additional_character_skill_use(&self) -> u8 {
        self.additional_character_skill_use
    }

    pub fn set_additional_character_skill_use(&mut self, value: u8) {
        self.additional_character_skill_use = value;
    }

    pub fn trigger_effect_on_knockback_unk(&self) -> i8 {
        self.trigger_effect_on_knockback_unk
    }

    pub fn set_trigger_effect_on_knockback_unk(&mut self, value: i8) {
        self.trigger_effect_on_knockback_unk = value;
    }

    pub fn weak_point_value(&self) -> u16 {
        self.weak_point_value
    }

    pub fn set_weak_point_value(&mut self, value: u16) {
        self.weak_point_value = value;
    }

    pub fn rune_discount_value(&self) -> u8 {
        self.rune_discount_value
    }

    pub fn set_rune_discount_value(&mut self, value: u8) {
        self.rune_discount_value = value;
    }

    pub fn ultimate_art_duration(&self) -> f32 {
        self.ultimate_art_duration
    }

    pub fn set_ultimate_art_duration(&mut self, value: f32) {
        self.ultimate_art_duration = value;
    }

    pub fn character_skill_attack_rate(&self) -> f32 {
        self.character_skill_attack_rate
    }

    pub fn set_character_skill_attack_rate(&mut self, value: f32) {
        self.character_skill_attack_rate = value;
    }

    pub fn revenant_family_sp_effect_id_1(&self) -> i32 {
        self.revenant_family_sp_effect_id_1
    }

    pub fn set_revenant_family_sp_effect_id_1(&mut self, value: i32) {
        self.revenant_family_sp_effect_id_1 = value;
    }

    pub fn revenant_family_sp_effect_id_2(&self) -> i32 {
        self.revenant_family_sp_effect_id_2
    }

    pub fn set_revenant_family_sp_effect_id_2(&mut self, value: i32) {
        self.revenant_family_sp_effect_id_2 = value;
    }

    pub fn revenant_family_sp_effect_id_3(&self) -> i32 {
        self.revenant_family_sp_effect_id_3
    }

    pub fn set_revenant_family_sp_effect_id_3(&mut self, value: i32) {
        self.revenant_family_sp_effect_id_3 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SP_EFFECT_SET_PARAM_ST {
    sp_effect_id1: i32,
    sp_effect_id2: i32,
    sp_effect_id3: i32,
    sp_effect_id4: i32,
}

impl ParamDef for SP_EFFECT_SET_PARAM_ST {
    const NAME: &str = "SP_EFFECT_SET_PARAM_ST";
}

impl SP_EFFECT_SET_PARAM_ST {
    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;
    }
}

#[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,
    material_param_id: i32,
    material_param_init_value: f32,
    material_param_target_value: f32,
    material_param_fade_time: f32,
    foot_decal_material_offset_overwrite_id: i16,
    unknown_1: i16,
    unknown_2: i32,
    pad_old: [u8; 8],
}

impl ParamDef for SP_EFFECT_VFX_PARAM_ST {
    const NAME: &str = "SP_EFFECT_VFX_PARAM_ST";
}

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 material_param_id(&self) -> i32 {
        self.material_param_id
    }

    pub fn set_material_param_id(&mut self, value: i32) {
        self.material_param_id = value;
    }

    pub fn material_param_init_value(&self) -> f32 {
        self.material_param_init_value
    }

    pub fn set_material_param_init_value(&mut self, value: f32) {
        self.material_param_init_value = value;
    }

    pub fn material_param_target_value(&self) -> f32 {
        self.material_param_target_value
    }

    pub fn set_material_param_target_value(&mut self, value: f32) {
        self.material_param_target_value = value;
    }

    pub fn material_param_fade_time(&self) -> f32 {
        self.material_param_fade_time
    }

    pub fn set_material_param_fade_time(&mut self, value: f32) {
        self.material_param_fade_time = 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;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SUBSTORY_LINK_PARAM_ST {
    unknown_0: i32,
    unknown_1: i32,
}

impl ParamDef for SUBSTORY_LINK_PARAM_ST {
    const NAME: &str = "SUBSTORY_LINK_PARAM_ST";
}

impl SUBSTORY_LINK_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SWORDARTS_TABLE_PARAM_ST {
    unknown_0: i32,
    sword_arts_id: i32,
    chance_weight: i32,
}

impl ParamDef for SWORDARTS_TABLE_PARAM_ST {
    const NAME: &str = "SWORDARTS_TABLE_PARAM_ST";
}

impl SWORDARTS_TABLE_PARAM_ST {
    pub fn sword_arts_id(&self) -> i32 {
        self.sword_arts_id
    }

    pub fn set_sword_arts_id(&mut self, value: i32) {
        self.sword_arts_id = value;
    }

    pub fn chance_weight(&self) -> i32 {
        self.chance_weight
    }

    pub fn set_chance_weight(&mut self, value: i32) {
        self.chance_weight = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct SWORD_ARTS_PARAM_ST {
    unknown_1: i32,
    unknown_2: i16,
    unknown_3: i16,
    sword_arts_type: i16,
    unknown_4: i16,
    text_id: i32,
    use_magic_point_l1: i16,
    use_magic_point_l2: i16,
    use_magic_point_r1: i16,
    use_magic_point_r2: i16,
    unknown_5: i16,
    icon_id: u16,
    unknown_7: i32,
    usability_text_id: i32,
    atk_param_id: i32,
    weapon_id: i32,
}

impl ParamDef for SWORD_ARTS_PARAM_ST {
    const NAME: &str = "SWORD_ARTS_PARAM_ST";
}

impl SWORD_ARTS_PARAM_ST {
    pub fn sword_arts_type(&self) -> i16 {
        self.sword_arts_type
    }

    pub fn set_sword_arts_type(&mut self, value: i16) {
        self.sword_arts_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 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 icon_id(&self) -> u16 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: u16) {
        self.icon_id = value;
    }

    pub fn usability_text_id(&self) -> i32 {
        self.usability_text_id
    }

    pub fn set_usability_text_id(&mut self, value: i32) {
        self.usability_text_id = value;
    }

    pub fn atk_param_id(&self) -> i32 {
        self.atk_param_id
    }

    pub fn set_atk_param_id(&mut self, value: i32) {
        self.atk_param_id = value;
    }

    pub fn weapon_id(&self) -> i32 {
        self.weapon_id
    }

    pub fn set_weapon_id(&mut self, value: i32) {
        self.weapon_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct TALK_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    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,
    unknown_1: i32,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: i32,
    unknown_8: i32,
    unknown_9: i32,
    unknown_10: i32,
    unknown_11: i32,
    unknown_12: i32,
    unknown_13: i32,
    unknown_14: i32,
    unknown_15: i32,
    unknown_16: i32,
    unknown_17: i32,
    unknown_18: i32,
    unknown_19: i32,
    unknown_20: i32,
    unknown_21: i32,
    unknown_22: i32,
    unknown_23: i32,
    unknown_24: i32,
    unknown_25: i32,
    unknown_26: i32,
    unknown_27: f32,
    unknown_28: i32,
    unknown_29: i32,
    unknown_30: i32,
    unknown_31: i32,
    unknown_32: i32,
    unknown_33: f32,
    unknown_34: f32,
    unknown_35: f32,
    unknown_36: f32,
    unknown_37: f32,
    unknown_38: f32,
    unknown_39: f32,
    unknown_40: f32,
}

impl ParamDef for TALK_PARAM_ST {
    const NAME: &str = "TALK_PARAM_ST";
}

impl TALK_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct TEXT_EMBED_IMAGE_PARAM_ST {
    unknown_0: f32,
    unknown_1a: i16,
    unknown_1b: i16,
    end_padding: [u8; 8],
}

impl ParamDef for TEXT_EMBED_IMAGE_PARAM_ST {
    const NAME: &str = "TEXT_EMBED_IMAGE_PARAM_ST";
}

impl TEXT_EMBED_IMAGE_PARAM_ST {}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct THROW_COUNTER_PARAM_ST {
    unknown_0: i32,
    character_id: i32,
    unknown_2: i32,
    unknown_3: i32,
}

impl ParamDef for THROW_COUNTER_PARAM_ST {
    const NAME: &str = "THROW_COUNTER_PARAM_ST";
}

impl THROW_COUNTER_PARAM_ST {
    pub fn character_id(&self) -> i32 {
        self.character_id
    }

    pub fn set_character_id(&mut self, value: i32) {
        self.character_id = 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,
    sfx_id_30: i32,
    pad1: [u8; 20],
}

impl ParamDef for THROW_DIRECTION_SFX_PARAM_ST {
    const NAME: &str = "THROW_DIRECTION_SFX_PARAM_ST";
}

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;
    }

    pub fn sfx_id_30(&self) -> i32 {
        self.sfx_id_30
    }

    pub fn set_sfx_id_30(&mut self, value: i32) {
        self.sfx_id_30 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct THROW_PARAM_ST {
    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: u16,
    self_esc_cycle_time: u16,
    sphere_cast_radius_rate_top: u16,
    sphere_cast_radius_rate_low: u16,
    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,
    adsrob_model_pos_interpolation_time: f32,
    throw_following_end_easing_time: f32,
    pad1: [u8; 24],
}

impl ParamDef for THROW_PARAM_ST {
    const NAME: &str = "THROW_PARAM_ST";
}

impl THROW_PARAM_ST {
    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) -> u16 {
        self.esc_hp
    }

    pub fn set_esc_hp(&mut self, value: u16) {
        self.esc_hp = value;
    }

    pub fn self_esc_cycle_time(&self) -> u16 {
        self.self_esc_cycle_time
    }

    pub fn set_self_esc_cycle_time(&mut self, value: u16) {
        self.self_esc_cycle_time = value;
    }

    pub fn sphere_cast_radius_rate_top(&self) -> u16 {
        self.sphere_cast_radius_rate_top
    }

    pub fn set_sphere_cast_radius_rate_top(&mut self, value: u16) {
        self.sphere_cast_radius_rate_top = value;
    }

    pub fn sphere_cast_radius_rate_low(&self) -> u16 {
        self.sphere_cast_radius_rate_low
    }

    pub fn set_sphere_cast_radius_rate_low(&mut self, value: u16) {
        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;
    }

    pub fn adsrob_model_pos_interpolation_time(&self) -> f32 {
        self.adsrob_model_pos_interpolation_time
    }

    pub fn set_adsrob_model_pos_interpolation_time(&mut self, value: f32) {
        self.adsrob_model_pos_interpolation_time = value;
    }

    pub fn throw_following_end_easing_time(&self) -> f32 {
        self.throw_following_end_easing_time
    }

    pub fn set_throw_following_end_easing_time(&mut self, value: f32) {
        self.throw_following_end_easing_time = 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,
    pro_correction_rate: f32,
    pad1: [u8; 16],
}

impl ParamDef for TOUGHNESS_PARAM_ST {
    const NAME: &str = "TOUGHNESS_PARAM_ST";
}

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;
    }

    pub fn pro_correction_rate(&self) -> f32 {
        self.pro_correction_rate
    }

    pub fn set_pro_correction_rate(&mut self, value: f32) {
        self.pro_correction_rate = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct TUTORIAL_CATEGORY_PARAM_ST {
    category_text_id: i32,
    unknown_1: i32,
    end_padding: [u8; 8],
}

impl ParamDef for TUTORIAL_CATEGORY_PARAM_ST {
    const NAME: &str = "TUTORIAL_CATEGORY_PARAM_ST";
}

impl TUTORIAL_CATEGORY_PARAM_ST {
    pub fn category_text_id(&self) -> i32 {
        self.category_text_id
    }

    pub fn set_category_text_id(&mut self, value: i32) {
        self.category_text_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct TUTORIAL_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    menu_type: u8,
    trigger_type: u8,
    repeat_type: u8,
    pad1: [u8; 1],
    image_id: u16,
    pad2: [u8; 2],
    unlock_event_flag_id: u32,
    text_id: i32,
    display_min_time: f32,
    display_time: f32,
    tutorial_category_id: i16,
    unknown_1b: u16,
    unknown_2: i32,
    unknown_3: i32,
    unknown_4: i32,
    pad3: [u8; 4],
}

impl ParamDef for TUTORIAL_PARAM_ST {
    const NAME: &str = "TUTORIAL_PARAM_ST";
}

impl TUTORIAL_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn menu_type(&self) -> u8 {
        self.menu_type
    }

    pub fn set_menu_type(&mut self, value: u8) {
        self.menu_type = value;
    }

    pub fn trigger_type(&self) -> u8 {
        self.trigger_type
    }

    pub fn set_trigger_type(&mut self, value: u8) {
        self.trigger_type = value;
    }

    pub fn repeat_type(&self) -> u8 {
        self.repeat_type
    }

    pub fn set_repeat_type(&mut self, value: u8) {
        self.repeat_type = value;
    }

    pub fn image_id(&self) -> u16 {
        self.image_id
    }

    pub fn set_image_id(&mut self, value: u16) {
        self.image_id = value;
    }

    pub fn unlock_event_flag_id(&self) -> u32 {
        self.unlock_event_flag_id
    }

    pub fn set_unlock_event_flag_id(&mut self, value: u32) {
        self.unlock_event_flag_id = 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 display_min_time(&self) -> f32 {
        self.display_min_time
    }

    pub fn set_display_min_time(&mut self, value: f32) {
        self.display_min_time = value;
    }

    pub fn display_time(&self) -> f32 {
        self.display_time
    }

    pub fn set_display_time(&mut self, value: f32) {
        self.display_time = value;
    }

    pub fn tutorial_category_id(&self) -> i16 {
        self.tutorial_category_id
    }

    pub fn set_tutorial_category_id(&mut self, value: i16) {
        self.tutorial_category_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct USER_DISP_LOG_PARAM_ST {
    text_id_1: i32,
    unknown_1: i32,
    text_id_2: i32,
    unknown_3: i32,
    unknown_4a: u16,
    unknown_4b: u16,
    unknown_5: i32,
    unknown_6: i32,
    unknown_7: i32,
}

impl ParamDef for USER_DISP_LOG_PARAM_ST {
    const NAME: &str = "USER_DISP_LOG_PARAM_ST";
}

impl USER_DISP_LOG_PARAM_ST {
    pub fn text_id_1(&self) -> i32 {
        self.text_id_1
    }

    pub fn set_text_id_1(&mut self, value: i32) {
        self.text_id_1 = value;
    }

    pub fn text_id_2(&self) -> i32 {
        self.text_id_2
    }

    pub fn set_text_id_2(&mut self, value: i32) {
        self.text_id_2 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WAYPOINT_PARAM_ST {
    attribute1: i16,
    attribute2: i16,
    attribute3: i16,
    attribute4: i16,
    padding4: [u8; 8],
}

impl ParamDef for WAYPOINT_PARAM_ST {
    const NAME: &str = "WAYPOINT_PARAM_ST";
}

impl WAYPOINT_PARAM_ST {
    pub fn attribute1(&self) -> i16 {
        self.attribute1
    }

    pub fn set_attribute1(&mut self, value: i16) {
        self.attribute1 = value;
    }

    pub fn attribute2(&self) -> i16 {
        self.attribute2
    }

    pub fn set_attribute2(&mut self, value: i16) {
        self.attribute2 = value;
    }

    pub fn attribute3(&self) -> i16 {
        self.attribute3
    }

    pub fn set_attribute3(&mut self, value: i16) {
        self.attribute3 = value;
    }

    pub fn attribute4(&self) -> i16 {
        self.attribute4
    }

    pub fn set_attribute4(&mut self, value: i16) {
        self.attribute4 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WEATHER_ASSET_CREATE_PARAM_ST {
    asset_id: u32,
    slot_no: u32,
    create_condition_type: u8,
    padding0: [u8; 3],
    transition_src_weather: i16,
    transition_dst_weather: i16,
    elapsed_time_checkweather: i16,
    padding1: [u8; 2],
    elapsed_time: f32,
    create_delay_time: f32,
    create_probability: u32,
    life_time: f32,
    fade_time: f32,
    enable_create_time_min: f32,
    enable_create_time_max: f32,
    create_point0: i16,
    create_point1: i16,
    create_point2: i16,
    create_point3: i16,
    create_asset_limit_id0: i8,
    create_asset_limit_id1: i8,
    create_asset_limit_id2: i8,
    create_asset_limit_id3: i8,
    reserved2: [u8; 4],
}

impl ParamDef for WEATHER_ASSET_CREATE_PARAM_ST {
    const NAME: &str = "WEATHER_ASSET_CREATE_PARAM_ST";
}

impl WEATHER_ASSET_CREATE_PARAM_ST {
    pub fn asset_id(&self) -> u32 {
        self.asset_id
    }

    pub fn set_asset_id(&mut self, value: u32) {
        self.asset_id = value;
    }

    pub fn slot_no(&self) -> u32 {
        self.slot_no
    }

    pub fn set_slot_no(&mut self, value: u32) {
        self.slot_no = value;
    }

    pub fn create_condition_type(&self) -> u8 {
        self.create_condition_type
    }

    pub fn set_create_condition_type(&mut self, value: u8) {
        self.create_condition_type = value;
    }

    pub fn transition_src_weather(&self) -> i16 {
        self.transition_src_weather
    }

    pub fn set_transition_src_weather(&mut self, value: i16) {
        self.transition_src_weather = value;
    }

    pub fn transition_dst_weather(&self) -> i16 {
        self.transition_dst_weather
    }

    pub fn set_transition_dst_weather(&mut self, value: i16) {
        self.transition_dst_weather = value;
    }

    pub fn elapsed_time_checkweather(&self) -> i16 {
        self.elapsed_time_checkweather
    }

    pub fn set_elapsed_time_checkweather(&mut self, value: i16) {
        self.elapsed_time_checkweather = value;
    }

    pub fn elapsed_time(&self) -> f32 {
        self.elapsed_time
    }

    pub fn set_elapsed_time(&mut self, value: f32) {
        self.elapsed_time = value;
    }

    pub fn create_delay_time(&self) -> f32 {
        self.create_delay_time
    }

    pub fn set_create_delay_time(&mut self, value: f32) {
        self.create_delay_time = value;
    }

    pub fn create_probability(&self) -> u32 {
        self.create_probability
    }

    pub fn set_create_probability(&mut self, value: u32) {
        self.create_probability = value;
    }

    pub fn life_time(&self) -> f32 {
        self.life_time
    }

    pub fn set_life_time(&mut self, value: f32) {
        self.life_time = value;
    }

    pub fn fade_time(&self) -> f32 {
        self.fade_time
    }

    pub fn set_fade_time(&mut self, value: f32) {
        self.fade_time = value;
    }

    pub fn enable_create_time_min(&self) -> f32 {
        self.enable_create_time_min
    }

    pub fn set_enable_create_time_min(&mut self, value: f32) {
        self.enable_create_time_min = value;
    }

    pub fn enable_create_time_max(&self) -> f32 {
        self.enable_create_time_max
    }

    pub fn set_enable_create_time_max(&mut self, value: f32) {
        self.enable_create_time_max = value;
    }

    pub fn create_point0(&self) -> i16 {
        self.create_point0
    }

    pub fn set_create_point0(&mut self, value: i16) {
        self.create_point0 = value;
    }

    pub fn create_point1(&self) -> i16 {
        self.create_point1
    }

    pub fn set_create_point1(&mut self, value: i16) {
        self.create_point1 = value;
    }

    pub fn create_point2(&self) -> i16 {
        self.create_point2
    }

    pub fn set_create_point2(&mut self, value: i16) {
        self.create_point2 = value;
    }

    pub fn create_point3(&self) -> i16 {
        self.create_point3
    }

    pub fn set_create_point3(&mut self, value: i16) {
        self.create_point3 = value;
    }

    pub fn create_asset_limit_id0(&self) -> i8 {
        self.create_asset_limit_id0
    }

    pub fn set_create_asset_limit_id0(&mut self, value: i8) {
        self.create_asset_limit_id0 = value;
    }

    pub fn create_asset_limit_id1(&self) -> i8 {
        self.create_asset_limit_id1
    }

    pub fn set_create_asset_limit_id1(&mut self, value: i8) {
        self.create_asset_limit_id1 = value;
    }

    pub fn create_asset_limit_id2(&self) -> i8 {
        self.create_asset_limit_id2
    }

    pub fn set_create_asset_limit_id2(&mut self, value: i8) {
        self.create_asset_limit_id2 = value;
    }

    pub fn create_asset_limit_id3(&self) -> i8 {
        self.create_asset_limit_id3
    }

    pub fn set_create_asset_limit_id3(&mut self, value: i8) {
        self.create_asset_limit_id3 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WEATHER_ASSET_REPLACE_PARAM_ST {
    map_id: u32,
    transition_src_weather: i16,
    padding0: [u8; 2],
    is_fire_ash: u8,
    padding1: [u8; 3],
    reserved2: u32,
    asset_id0: i32,
    asset_id1: i32,
    asset_id2: i32,
    asset_id3: i32,
    asset_id4: i32,
    asset_id5: i32,
    asset_id6: i32,
    asset_id7: i32,
    reserved0: [u8; 8],
    create_asset_limit_id0: i8,
    create_asset_limit_id1: i8,
    create_asset_limit_id2: i8,
    create_asset_limit_id3: i8,
    reserved1: [u8; 4],
}

impl ParamDef for WEATHER_ASSET_REPLACE_PARAM_ST {
    const NAME: &str = "WEATHER_ASSET_REPLACE_PARAM_ST";
}

impl WEATHER_ASSET_REPLACE_PARAM_ST {
    pub fn map_id(&self) -> u32 {
        self.map_id
    }

    pub fn set_map_id(&mut self, value: u32) {
        self.map_id = value;
    }

    pub fn transition_src_weather(&self) -> i16 {
        self.transition_src_weather
    }

    pub fn set_transition_src_weather(&mut self, value: i16) {
        self.transition_src_weather = value;
    }

    pub fn is_fire_ash(&self) -> u8 {
        self.is_fire_ash
    }

    pub fn set_is_fire_ash(&mut self, value: u8) {
        self.is_fire_ash = value;
    }

    pub fn asset_id0(&self) -> i32 {
        self.asset_id0
    }

    pub fn set_asset_id0(&mut self, value: i32) {
        self.asset_id0 = value;
    }

    pub fn asset_id1(&self) -> i32 {
        self.asset_id1
    }

    pub fn set_asset_id1(&mut self, value: i32) {
        self.asset_id1 = value;
    }

    pub fn asset_id2(&self) -> i32 {
        self.asset_id2
    }

    pub fn set_asset_id2(&mut self, value: i32) {
        self.asset_id2 = value;
    }

    pub fn asset_id3(&self) -> i32 {
        self.asset_id3
    }

    pub fn set_asset_id3(&mut self, value: i32) {
        self.asset_id3 = value;
    }

    pub fn asset_id4(&self) -> i32 {
        self.asset_id4
    }

    pub fn set_asset_id4(&mut self, value: i32) {
        self.asset_id4 = value;
    }

    pub fn asset_id5(&self) -> i32 {
        self.asset_id5
    }

    pub fn set_asset_id5(&mut self, value: i32) {
        self.asset_id5 = value;
    }

    pub fn asset_id6(&self) -> i32 {
        self.asset_id6
    }

    pub fn set_asset_id6(&mut self, value: i32) {
        self.asset_id6 = value;
    }

    pub fn asset_id7(&self) -> i32 {
        self.asset_id7
    }

    pub fn set_asset_id7(&mut self, value: i32) {
        self.asset_id7 = value;
    }

    pub fn create_asset_limit_id0(&self) -> i8 {
        self.create_asset_limit_id0
    }

    pub fn set_create_asset_limit_id0(&mut self, value: i8) {
        self.create_asset_limit_id0 = value;
    }

    pub fn create_asset_limit_id1(&self) -> i8 {
        self.create_asset_limit_id1
    }

    pub fn set_create_asset_limit_id1(&mut self, value: i8) {
        self.create_asset_limit_id1 = value;
    }

    pub fn create_asset_limit_id2(&self) -> i8 {
        self.create_asset_limit_id2
    }

    pub fn set_create_asset_limit_id2(&mut self, value: i8) {
        self.create_asset_limit_id2 = value;
    }

    pub fn create_asset_limit_id3(&self) -> i8 {
        self.create_asset_limit_id3
    }

    pub fn set_create_asset_limit_id3(&mut self, value: i8) {
        self.create_asset_limit_id3 = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WEATHER_LOT_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    weather_type0: i16,
    weather_type1: i16,
    weather_type2: i16,
    weather_type3: i16,
    weather_type4: i16,
    weather_type5: i16,
    weather_type6: i16,
    weather_type7: i16,
    weather_type8: i16,
    weather_type9: i16,
    weather_type10: i16,
    weather_type11: i16,
    weather_type12: i16,
    weather_type13: i16,
    weather_type14: i16,
    weather_type15: i16,
    lottery_weight0: u16,
    lottery_weight1: u16,
    lottery_weight2: u16,
    lottery_weight3: u16,
    lottery_weight4: u16,
    lottery_weight5: u16,
    lottery_weight6: u16,
    lottery_weight7: u16,
    lottery_weight8: u16,
    lottery_weight9: u16,
    lottery_weight10: u16,
    lottery_weight11: u16,
    lottery_weight12: u16,
    lottery_weight13: u16,
    lottery_weight14: u16,
    lottery_weight15: u16,
    timezone_limit: u8,
    timezone_start_hour: u8,
    timezone_start_minute: u8,
    timezone_end_hour: u8,
    timezone_end_minute: u8,
    reserve: [u8; 9],
}

impl ParamDef for WEATHER_LOT_PARAM_ST {
    const NAME: &str = "WEATHER_LOT_PARAM_ST";
}

impl WEATHER_LOT_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn weather_type0(&self) -> i16 {
        self.weather_type0
    }

    pub fn set_weather_type0(&mut self, value: i16) {
        self.weather_type0 = value;
    }

    pub fn weather_type1(&self) -> i16 {
        self.weather_type1
    }

    pub fn set_weather_type1(&mut self, value: i16) {
        self.weather_type1 = value;
    }

    pub fn weather_type2(&self) -> i16 {
        self.weather_type2
    }

    pub fn set_weather_type2(&mut self, value: i16) {
        self.weather_type2 = value;
    }

    pub fn weather_type3(&self) -> i16 {
        self.weather_type3
    }

    pub fn set_weather_type3(&mut self, value: i16) {
        self.weather_type3 = value;
    }

    pub fn weather_type4(&self) -> i16 {
        self.weather_type4
    }

    pub fn set_weather_type4(&mut self, value: i16) {
        self.weather_type4 = value;
    }

    pub fn weather_type5(&self) -> i16 {
        self.weather_type5
    }

    pub fn set_weather_type5(&mut self, value: i16) {
        self.weather_type5 = value;
    }

    pub fn weather_type6(&self) -> i16 {
        self.weather_type6
    }

    pub fn set_weather_type6(&mut self, value: i16) {
        self.weather_type6 = value;
    }

    pub fn weather_type7(&self) -> i16 {
        self.weather_type7
    }

    pub fn set_weather_type7(&mut self, value: i16) {
        self.weather_type7 = value;
    }

    pub fn weather_type8(&self) -> i16 {
        self.weather_type8
    }

    pub fn set_weather_type8(&mut self, value: i16) {
        self.weather_type8 = value;
    }

    pub fn weather_type9(&self) -> i16 {
        self.weather_type9
    }

    pub fn set_weather_type9(&mut self, value: i16) {
        self.weather_type9 = value;
    }

    pub fn weather_type10(&self) -> i16 {
        self.weather_type10
    }

    pub fn set_weather_type10(&mut self, value: i16) {
        self.weather_type10 = value;
    }

    pub fn weather_type11(&self) -> i16 {
        self.weather_type11
    }

    pub fn set_weather_type11(&mut self, value: i16) {
        self.weather_type11 = value;
    }

    pub fn weather_type12(&self) -> i16 {
        self.weather_type12
    }

    pub fn set_weather_type12(&mut self, value: i16) {
        self.weather_type12 = value;
    }

    pub fn weather_type13(&self) -> i16 {
        self.weather_type13
    }

    pub fn set_weather_type13(&mut self, value: i16) {
        self.weather_type13 = value;
    }

    pub fn weather_type14(&self) -> i16 {
        self.weather_type14
    }

    pub fn set_weather_type14(&mut self, value: i16) {
        self.weather_type14 = value;
    }

    pub fn weather_type15(&self) -> i16 {
        self.weather_type15
    }

    pub fn set_weather_type15(&mut self, value: i16) {
        self.weather_type15 = value;
    }

    pub fn lottery_weight0(&self) -> u16 {
        self.lottery_weight0
    }

    pub fn set_lottery_weight0(&mut self, value: u16) {
        self.lottery_weight0 = value;
    }

    pub fn lottery_weight1(&self) -> u16 {
        self.lottery_weight1
    }

    pub fn set_lottery_weight1(&mut self, value: u16) {
        self.lottery_weight1 = value;
    }

    pub fn lottery_weight2(&self) -> u16 {
        self.lottery_weight2
    }

    pub fn set_lottery_weight2(&mut self, value: u16) {
        self.lottery_weight2 = value;
    }

    pub fn lottery_weight3(&self) -> u16 {
        self.lottery_weight3
    }

    pub fn set_lottery_weight3(&mut self, value: u16) {
        self.lottery_weight3 = value;
    }

    pub fn lottery_weight4(&self) -> u16 {
        self.lottery_weight4
    }

    pub fn set_lottery_weight4(&mut self, value: u16) {
        self.lottery_weight4 = value;
    }

    pub fn lottery_weight5(&self) -> u16 {
        self.lottery_weight5
    }

    pub fn set_lottery_weight5(&mut self, value: u16) {
        self.lottery_weight5 = value;
    }

    pub fn lottery_weight6(&self) -> u16 {
        self.lottery_weight6
    }

    pub fn set_lottery_weight6(&mut self, value: u16) {
        self.lottery_weight6 = value;
    }

    pub fn lottery_weight7(&self) -> u16 {
        self.lottery_weight7
    }

    pub fn set_lottery_weight7(&mut self, value: u16) {
        self.lottery_weight7 = value;
    }

    pub fn lottery_weight8(&self) -> u16 {
        self.lottery_weight8
    }

    pub fn set_lottery_weight8(&mut self, value: u16) {
        self.lottery_weight8 = value;
    }

    pub fn lottery_weight9(&self) -> u16 {
        self.lottery_weight9
    }

    pub fn set_lottery_weight9(&mut self, value: u16) {
        self.lottery_weight9 = value;
    }

    pub fn lottery_weight10(&self) -> u16 {
        self.lottery_weight10
    }

    pub fn set_lottery_weight10(&mut self, value: u16) {
        self.lottery_weight10 = value;
    }

    pub fn lottery_weight11(&self) -> u16 {
        self.lottery_weight11
    }

    pub fn set_lottery_weight11(&mut self, value: u16) {
        self.lottery_weight11 = value;
    }

    pub fn lottery_weight12(&self) -> u16 {
        self.lottery_weight12
    }

    pub fn set_lottery_weight12(&mut self, value: u16) {
        self.lottery_weight12 = value;
    }

    pub fn lottery_weight13(&self) -> u16 {
        self.lottery_weight13
    }

    pub fn set_lottery_weight13(&mut self, value: u16) {
        self.lottery_weight13 = value;
    }

    pub fn lottery_weight14(&self) -> u16 {
        self.lottery_weight14
    }

    pub fn set_lottery_weight14(&mut self, value: u16) {
        self.lottery_weight14 = value;
    }

    pub fn lottery_weight15(&self) -> u16 {
        self.lottery_weight15
    }

    pub fn set_lottery_weight15(&mut self, value: u16) {
        self.lottery_weight15 = value;
    }

    pub fn timezone_limit(&self) -> u8 {
        self.timezone_limit
    }

    pub fn set_timezone_limit(&mut self, value: u8) {
        self.timezone_limit = value;
    }

    pub fn timezone_start_hour(&self) -> u8 {
        self.timezone_start_hour
    }

    pub fn set_timezone_start_hour(&mut self, value: u8) {
        self.timezone_start_hour = value;
    }

    pub fn timezone_start_minute(&self) -> u8 {
        self.timezone_start_minute
    }

    pub fn set_timezone_start_minute(&mut self, value: u8) {
        self.timezone_start_minute = value;
    }

    pub fn timezone_end_hour(&self) -> u8 {
        self.timezone_end_hour
    }

    pub fn set_timezone_end_hour(&mut self, value: u8) {
        self.timezone_end_hour = value;
    }

    pub fn timezone_end_minute(&self) -> u8 {
        self.timezone_end_minute
    }

    pub fn set_timezone_end_minute(&mut self, value: u8) {
        self.timezone_end_minute = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WEATHER_LOT_TEX_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    src_r: u8,
    src_g: u8,
    src_b: u8,
    pad1: [u8; 1],
    weather_log_id: i32,
    pad2: [u8; 4],
}

impl ParamDef for WEATHER_LOT_TEX_PARAM_ST {
    const NAME: &str = "WEATHER_LOT_TEX_PARAM_ST";
}

impl WEATHER_LOT_TEX_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn src_r(&self) -> u8 {
        self.src_r
    }

    pub fn set_src_r(&mut self, value: u8) {
        self.src_r = value;
    }

    pub fn src_g(&self) -> u8 {
        self.src_g
    }

    pub fn set_src_g(&mut self, value: u8) {
        self.src_g = value;
    }

    pub fn src_b(&self) -> u8 {
        self.src_b
    }

    pub fn set_src_b(&mut self, value: u8) {
        self.src_b = value;
    }

    pub fn weather_log_id(&self) -> i32 {
        self.weather_log_id
    }

    pub fn set_weather_log_id(&mut self, value: i32) {
        self.weather_log_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WEATHER_PARAM_ST {
    sfx_id: i32,
    wind_sfx_id: i32,
    ground_hit_sfx_id: i32,
    sound_id: i32,
    wet_time: f32,
    gparam_id: u32,
    next_lot_ingame_seconds_min: u32,
    next_lot_ingame_seconds_max: u32,
    wet_sp_effect_id00: i32,
    wet_sp_effect_id01: i32,
    wet_sp_effect_id02: i32,
    wet_sp_effect_id03: i32,
    wet_sp_effect_id04: i32,
    sfx_id_inoor: i32,
    sfx_id_outdoor: i32,
    ai_sight_rate: f32,
    dist_view_weather_gparam_override_weight: f32,
    unknown_1: i32,
}

impl ParamDef for WEATHER_PARAM_ST {
    const NAME: &str = "WEATHER_PARAM_ST";
}

impl WEATHER_PARAM_ST {
    pub fn sfx_id(&self) -> i32 {
        self.sfx_id
    }

    pub fn set_sfx_id(&mut self, value: i32) {
        self.sfx_id = value;
    }

    pub fn wind_sfx_id(&self) -> i32 {
        self.wind_sfx_id
    }

    pub fn set_wind_sfx_id(&mut self, value: i32) {
        self.wind_sfx_id = value;
    }

    pub fn ground_hit_sfx_id(&self) -> i32 {
        self.ground_hit_sfx_id
    }

    pub fn set_ground_hit_sfx_id(&mut self, value: i32) {
        self.ground_hit_sfx_id = value;
    }

    pub fn sound_id(&self) -> i32 {
        self.sound_id
    }

    pub fn set_sound_id(&mut self, value: i32) {
        self.sound_id = value;
    }

    pub fn wet_time(&self) -> f32 {
        self.wet_time
    }

    pub fn set_wet_time(&mut self, value: f32) {
        self.wet_time = value;
    }

    pub fn gparam_id(&self) -> u32 {
        self.gparam_id
    }

    pub fn set_gparam_id(&mut self, value: u32) {
        self.gparam_id = value;
    }

    pub fn next_lot_ingame_seconds_min(&self) -> u32 {
        self.next_lot_ingame_seconds_min
    }

    pub fn set_next_lot_ingame_seconds_min(&mut self, value: u32) {
        self.next_lot_ingame_seconds_min = value;
    }

    pub fn next_lot_ingame_seconds_max(&self) -> u32 {
        self.next_lot_ingame_seconds_max
    }

    pub fn set_next_lot_ingame_seconds_max(&mut self, value: u32) {
        self.next_lot_ingame_seconds_max = value;
    }

    pub fn wet_sp_effect_id00(&self) -> i32 {
        self.wet_sp_effect_id00
    }

    pub fn set_wet_sp_effect_id00(&mut self, value: i32) {
        self.wet_sp_effect_id00 = value;
    }

    pub fn wet_sp_effect_id01(&self) -> i32 {
        self.wet_sp_effect_id01
    }

    pub fn set_wet_sp_effect_id01(&mut self, value: i32) {
        self.wet_sp_effect_id01 = value;
    }

    pub fn wet_sp_effect_id02(&self) -> i32 {
        self.wet_sp_effect_id02
    }

    pub fn set_wet_sp_effect_id02(&mut self, value: i32) {
        self.wet_sp_effect_id02 = value;
    }

    pub fn wet_sp_effect_id03(&self) -> i32 {
        self.wet_sp_effect_id03
    }

    pub fn set_wet_sp_effect_id03(&mut self, value: i32) {
        self.wet_sp_effect_id03 = value;
    }

    pub fn wet_sp_effect_id04(&self) -> i32 {
        self.wet_sp_effect_id04
    }

    pub fn set_wet_sp_effect_id04(&mut self, value: i32) {
        self.wet_sp_effect_id04 = value;
    }

    pub fn sfx_id_inoor(&self) -> i32 {
        self.sfx_id_inoor
    }

    pub fn set_sfx_id_inoor(&mut self, value: i32) {
        self.sfx_id_inoor = value;
    }

    pub fn sfx_id_outdoor(&self) -> i32 {
        self.sfx_id_outdoor
    }

    pub fn set_sfx_id_outdoor(&mut self, value: i32) {
        self.sfx_id_outdoor = value;
    }

    pub fn ai_sight_rate(&self) -> f32 {
        self.ai_sight_rate
    }

    pub fn set_ai_sight_rate(&mut self, value: f32) {
        self.ai_sight_rate = value;
    }

    pub fn dist_view_weather_gparam_override_weight(&self) -> f32 {
        self.dist_view_weather_gparam_override_weight
    }

    pub fn set_dist_view_weather_gparam_override_weight(&mut self, value: f32) {
        self.dist_view_weather_gparam_override_weight = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WEP_ABSORP_POS_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    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_old: [u8; 12],
}

impl ParamDef for WEP_ABSORP_POS_PARAM_ST {
    const NAME: &str = "WEP_ABSORP_POS_PARAM_ST";
}

impl WEP_ABSORP_POS_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    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";
}

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 {
    limitation_time_normal: f32,
    limitation_time_normal_dried_finger: f32,
    limitation_time_guardian: f32,
    limitation_time_guardian_dried_finger: f32,
}

impl ParamDef for WHITE_SIGN_COOL_TIME_PARAM_ST {
    const NAME: &str = "WHITE_SIGN_COOL_TIME_PARAM_ST";
}

impl WHITE_SIGN_COOL_TIME_PARAM_ST {
    pub fn limitation_time_normal(&self) -> f32 {
        self.limitation_time_normal
    }

    pub fn set_limitation_time_normal(&mut self, value: f32) {
        self.limitation_time_normal = value;
    }

    pub fn limitation_time_normal_dried_finger(&self) -> f32 {
        self.limitation_time_normal_dried_finger
    }

    pub fn set_limitation_time_normal_dried_finger(&mut self, value: f32) {
        self.limitation_time_normal_dried_finger = value;
    }

    pub fn limitation_time_guardian(&self) -> f32 {
        self.limitation_time_guardian
    }

    pub fn set_limitation_time_guardian(&mut self, value: f32) {
        self.limitation_time_guardian = value;
    }

    pub fn limitation_time_guardian_dried_finger(&self) -> f32 {
        self.limitation_time_guardian_dried_finger
    }

    pub fn set_limitation_time_guardian_dried_finger(&mut self, value: f32) {
        self.limitation_time_guardian_dried_finger = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WORLD_MAP_LEGACY_CONV_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    src_area_no: u8,
    src_grid_x_no: u8,
    src_grid_z_no: u8,
    pad1: [u8; 1],
    src_pos_x: f32,
    src_pos_y: f32,
    src_pos_z: f32,
    dst_area_no: u8,
    dst_grid_x_no: u8,
    dst_grid_z_no: u8,
    pad2: [u8; 1],
    dst_pos_x: f32,
    dst_pos_y: f32,
    dst_pos_z: f32,
    bits_24: u8,
    pad4: [u8; 11],
}

impl ParamDef for WORLD_MAP_LEGACY_CONV_PARAM_ST {
    const NAME: &str = "WORLD_MAP_LEGACY_CONV_PARAM_ST";
}

impl WORLD_MAP_LEGACY_CONV_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn src_area_no(&self) -> u8 {
        self.src_area_no
    }

    pub fn set_src_area_no(&mut self, value: u8) {
        self.src_area_no = value;
    }

    pub fn src_grid_x_no(&self) -> u8 {
        self.src_grid_x_no
    }

    pub fn set_src_grid_x_no(&mut self, value: u8) {
        self.src_grid_x_no = value;
    }

    pub fn src_grid_z_no(&self) -> u8 {
        self.src_grid_z_no
    }

    pub fn set_src_grid_z_no(&mut self, value: u8) {
        self.src_grid_z_no = value;
    }

    pub fn src_pos_x(&self) -> f32 {
        self.src_pos_x
    }

    pub fn set_src_pos_x(&mut self, value: f32) {
        self.src_pos_x = value;
    }

    pub fn src_pos_y(&self) -> f32 {
        self.src_pos_y
    }

    pub fn set_src_pos_y(&mut self, value: f32) {
        self.src_pos_y = value;
    }

    pub fn src_pos_z(&self) -> f32 {
        self.src_pos_z
    }

    pub fn set_src_pos_z(&mut self, value: f32) {
        self.src_pos_z = value;
    }

    pub fn dst_area_no(&self) -> u8 {
        self.dst_area_no
    }

    pub fn set_dst_area_no(&mut self, value: u8) {
        self.dst_area_no = value;
    }

    pub fn dst_grid_x_no(&self) -> u8 {
        self.dst_grid_x_no
    }

    pub fn set_dst_grid_x_no(&mut self, value: u8) {
        self.dst_grid_x_no = value;
    }

    pub fn dst_grid_z_no(&self) -> u8 {
        self.dst_grid_z_no
    }

    pub fn set_dst_grid_z_no(&mut self, value: u8) {
        self.dst_grid_z_no = value;
    }

    pub fn dst_pos_x(&self) -> f32 {
        self.dst_pos_x
    }

    pub fn set_dst_pos_x(&mut self, value: f32) {
        self.dst_pos_x = value;
    }

    pub fn dst_pos_y(&self) -> f32 {
        self.dst_pos_y
    }

    pub fn set_dst_pos_y(&mut self, value: f32) {
        self.dst_pos_y = value;
    }

    pub fn dst_pos_z(&self) -> f32 {
        self.dst_pos_z
    }

    pub fn set_dst_pos_z(&mut self, value: f32) {
        self.dst_pos_z = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_base_point(&self) -> u8 {
        (self.bits_24 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_base_point(&mut self, value: u8) {
        self.bits_24 = (self.bits_24 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WORLD_MAP_PIECE_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    open_event_flag_id: u32,
    open_travel_area_left: f32,
    open_travel_area_right: f32,
    open_travel_area_top: f32,
    open_travel_area_bottom: f32,
    acquisition_event_flag_id: u32,
    acquisition_event_scale: f32,
    acquisition_event_center_x: f32,
    acquisition_event_center_y: f32,
    acquisition_event_res_scale: f32,
    acquisition_event_res_offset_x: f32,
    acquisition_event_res_offset_y: f32,
    pad: [u8; 12],
}

impl ParamDef for WORLD_MAP_PIECE_PARAM_ST {
    const NAME: &str = "WORLD_MAP_PIECE_PARAM_ST";
}

impl WORLD_MAP_PIECE_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn open_event_flag_id(&self) -> u32 {
        self.open_event_flag_id
    }

    pub fn set_open_event_flag_id(&mut self, value: u32) {
        self.open_event_flag_id = value;
    }

    pub fn open_travel_area_left(&self) -> f32 {
        self.open_travel_area_left
    }

    pub fn set_open_travel_area_left(&mut self, value: f32) {
        self.open_travel_area_left = value;
    }

    pub fn open_travel_area_right(&self) -> f32 {
        self.open_travel_area_right
    }

    pub fn set_open_travel_area_right(&mut self, value: f32) {
        self.open_travel_area_right = value;
    }

    pub fn open_travel_area_top(&self) -> f32 {
        self.open_travel_area_top
    }

    pub fn set_open_travel_area_top(&mut self, value: f32) {
        self.open_travel_area_top = value;
    }

    pub fn open_travel_area_bottom(&self) -> f32 {
        self.open_travel_area_bottom
    }

    pub fn set_open_travel_area_bottom(&mut self, value: f32) {
        self.open_travel_area_bottom = value;
    }

    pub fn acquisition_event_flag_id(&self) -> u32 {
        self.acquisition_event_flag_id
    }

    pub fn set_acquisition_event_flag_id(&mut self, value: u32) {
        self.acquisition_event_flag_id = value;
    }

    pub fn acquisition_event_scale(&self) -> f32 {
        self.acquisition_event_scale
    }

    pub fn set_acquisition_event_scale(&mut self, value: f32) {
        self.acquisition_event_scale = value;
    }

    pub fn acquisition_event_center_x(&self) -> f32 {
        self.acquisition_event_center_x
    }

    pub fn set_acquisition_event_center_x(&mut self, value: f32) {
        self.acquisition_event_center_x = value;
    }

    pub fn acquisition_event_center_y(&self) -> f32 {
        self.acquisition_event_center_y
    }

    pub fn set_acquisition_event_center_y(&mut self, value: f32) {
        self.acquisition_event_center_y = value;
    }

    pub fn acquisition_event_res_scale(&self) -> f32 {
        self.acquisition_event_res_scale
    }

    pub fn set_acquisition_event_res_scale(&mut self, value: f32) {
        self.acquisition_event_res_scale = value;
    }

    pub fn acquisition_event_res_offset_x(&self) -> f32 {
        self.acquisition_event_res_offset_x
    }

    pub fn set_acquisition_event_res_offset_x(&mut self, value: f32) {
        self.acquisition_event_res_offset_x = value;
    }

    pub fn acquisition_event_res_offset_y(&self) -> f32 {
        self.acquisition_event_res_offset_y
    }

    pub fn set_acquisition_event_res_offset_y(&mut self, value: f32) {
        self.acquisition_event_res_offset_y = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WORLD_MAP_PLACE_NAME_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    world_map_piece_id: i32,
    text_id: i32,
    pad1: [u8; 4],
    area_no: u8,
    grid_x_no: u8,
    grid_z_no: u8,
    pad2: [u8; 1],
    pos_x: f32,
    pos_y: f32,
    pos_z: f32,
}

impl ParamDef for WORLD_MAP_PLACE_NAME_PARAM_ST {
    const NAME: &str = "WORLD_MAP_PLACE_NAME_PARAM_ST";
}

impl WORLD_MAP_PLACE_NAME_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn world_map_piece_id(&self) -> i32 {
        self.world_map_piece_id
    }

    pub fn set_world_map_piece_id(&mut self, value: i32) {
        self.world_map_piece_id = 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 area_no(&self) -> u8 {
        self.area_no
    }

    pub fn set_area_no(&mut self, value: u8) {
        self.area_no = value;
    }

    pub fn grid_x_no(&self) -> u8 {
        self.grid_x_no
    }

    pub fn set_grid_x_no(&mut self, value: u8) {
        self.grid_x_no = value;
    }

    pub fn grid_z_no(&self) -> u8 {
        self.grid_z_no
    }

    pub fn set_grid_z_no(&mut self, value: u8) {
        self.grid_z_no = value;
    }

    pub fn pos_x(&self) -> f32 {
        self.pos_x
    }

    pub fn set_pos_x(&mut self, value: f32) {
        self.pos_x = value;
    }

    pub fn pos_y(&self) -> f32 {
        self.pos_y
    }

    pub fn set_pos_y(&mut self, value: f32) {
        self.pos_y = value;
    }

    pub fn pos_z(&self) -> f32 {
        self.pos_z
    }

    pub fn set_pos_z(&mut self, value: f32) {
        self.pos_z = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WORLD_MAP_POINT_ICON_PARAM_ST {
    icon_id: i32,
}

impl ParamDef for WORLD_MAP_POINT_ICON_PARAM_ST {
    const NAME: &str = "WORLD_MAP_POINT_ICON_PARAM_ST";
}

impl WORLD_MAP_POINT_ICON_PARAM_ST {
    pub fn icon_id(&self) -> i32 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: i32) {
        self.icon_id = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WORLD_MAP_POINT_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    event_flag_id: u32,
    dist_view_event_flag_id: u32,
    icon_id: u16,
    bgm_place_type: i16,
    bits_10: u8,
    area_no_for_dist_view_mark: u8,
    grid_x_no_for_dist_view_mark: u8,
    grid_z_no_for_dist_view_mark: u8,
    cleared_event_flag_id: u32,
    bits_18: u8,
    pad2: [u8; 1],
    dist_view_icon_id: u16,
    angle: f32,
    area_no: u8,
    grid_x_no: u8,
    grid_z_no: u8,
    pad: [u8; 1],
    pos_x: f32,
    pos_y: f32,
    pos_z: f32,
    unknown_12: i32,
    unknown_13: i32,
    unknown_14: i32,
    unknown_15: i32,
    unknown_16: i32,
    unknown_17: i32,
    unknown_18: i32,
    unknown_19: i32,
    unknown_20: i32,
    unknown_21: i32,
    unknown_22: i32,
    unknown_23: i32,
    unknown_24: i32,
    unknown_25: i32,
}

impl ParamDef for WORLD_MAP_POINT_PARAM_ST {
    const NAME: &str = "WORLD_MAP_POINT_PARAM_ST";
}

impl WORLD_MAP_POINT_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn event_flag_id(&self) -> u32 {
        self.event_flag_id
    }

    pub fn set_event_flag_id(&mut self, value: u32) {
        self.event_flag_id = value;
    }

    pub fn dist_view_event_flag_id(&self) -> u32 {
        self.dist_view_event_flag_id
    }

    pub fn set_dist_view_event_flag_id(&mut self, value: u32) {
        self.dist_view_event_flag_id = value;
    }

    pub fn icon_id(&self) -> u16 {
        self.icon_id
    }

    pub fn set_icon_id(&mut self, value: u16) {
        self.icon_id = value;
    }

    pub fn bgm_place_type(&self) -> i16 {
        self.bgm_place_type
    }

    pub fn set_bgm_place_type(&mut self, value: i16) {
        self.bgm_place_type = value;
    }

    #[allow(clippy::identity_op)]
    pub fn is_area_icon(&self) -> u8 {
        (self.bits_10 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_area_icon(&mut self, value: u8) {
        self.bits_10 = (self.bits_10 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn is_override_dist_view_mark_pos(&self) -> u8 {
        (self.bits_10 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_override_dist_view_mark_pos(&mut self, value: u8) {
        self.bits_10 = (self.bits_10 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    #[allow(clippy::identity_op)]
    pub fn is_enable_no_text(&self) -> u8 {
        (self.bits_10 >> 2) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_is_enable_no_text(&mut self, value: u8) {
        self.bits_10 = (self.bits_10 & !(0b00000001 << 2)) | ((value & 0b00000001) << 2);
    }

    pub fn area_no_for_dist_view_mark(&self) -> u8 {
        self.area_no_for_dist_view_mark
    }

    pub fn set_area_no_for_dist_view_mark(&mut self, value: u8) {
        self.area_no_for_dist_view_mark = value;
    }

    pub fn grid_x_no_for_dist_view_mark(&self) -> u8 {
        self.grid_x_no_for_dist_view_mark
    }

    pub fn set_grid_x_no_for_dist_view_mark(&mut self, value: u8) {
        self.grid_x_no_for_dist_view_mark = value;
    }

    pub fn grid_z_no_for_dist_view_mark(&self) -> u8 {
        self.grid_z_no_for_dist_view_mark
    }

    pub fn set_grid_z_no_for_dist_view_mark(&mut self, value: u8) {
        self.grid_z_no_for_dist_view_mark = value;
    }

    pub fn cleared_event_flag_id(&self) -> u32 {
        self.cleared_event_flag_id
    }

    pub fn set_cleared_event_flag_id(&mut self, value: u32) {
        self.cleared_event_flag_id = value;
    }

    #[allow(clippy::identity_op)]
    pub fn disp_mask00(&self) -> u8 {
        (self.bits_18 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disp_mask00(&mut self, value: u8) {
        self.bits_18 = (self.bits_18 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    #[allow(clippy::identity_op)]
    pub fn disp_mask01(&self) -> u8 {
        (self.bits_18 >> 1) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disp_mask01(&mut self, value: u8) {
        self.bits_18 = (self.bits_18 & !(0b00000001 << 1)) | ((value & 0b00000001) << 1);
    }

    pub fn dist_view_icon_id(&self) -> u16 {
        self.dist_view_icon_id
    }

    pub fn set_dist_view_icon_id(&mut self, value: u16) {
        self.dist_view_icon_id = value;
    }

    pub fn angle(&self) -> f32 {
        self.angle
    }

    pub fn set_angle(&mut self, value: f32) {
        self.angle = value;
    }

    pub fn area_no(&self) -> u8 {
        self.area_no
    }

    pub fn set_area_no(&mut self, value: u8) {
        self.area_no = value;
    }

    pub fn grid_x_no(&self) -> u8 {
        self.grid_x_no
    }

    pub fn set_grid_x_no(&mut self, value: u8) {
        self.grid_x_no = value;
    }

    pub fn grid_z_no(&self) -> u8 {
        self.grid_z_no
    }

    pub fn set_grid_z_no(&mut self, value: u8) {
        self.grid_z_no = value;
    }

    pub fn pos_x(&self) -> f32 {
        self.pos_x
    }

    pub fn set_pos_x(&mut self, value: f32) {
        self.pos_x = value;
    }

    pub fn pos_y(&self) -> f32 {
        self.pos_y
    }

    pub fn set_pos_y(&mut self, value: f32) {
        self.pos_y = value;
    }

    pub fn pos_z(&self) -> f32 {
        self.pos_z
    }

    pub fn set_pos_z(&mut self, value: f32) {
        self.pos_z = value;
    }
}

#[derive(Debug, Clone)]
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct WWISE_VALUE_TO_STR_CONVERT_PARAM_ST {
    bits_0: u8,
    disable_param_reserve2: [u8; 3],
    param_str: [u8; 32],
}

impl ParamDef for WWISE_VALUE_TO_STR_CONVERT_PARAM_ST {
    const NAME: &str = "WWISE_VALUE_TO_STR_CONVERT_PARAM_ST";
}

impl WWISE_VALUE_TO_STR_CONVERT_PARAM_ST {
    #[allow(clippy::identity_op)]
    pub fn disable_param_nt(&self) -> u8 {
        (self.bits_0 >> 0) & 0b00000001
    }

    #[allow(clippy::identity_op)]
    pub fn set_disable_param_nt(&mut self, value: u8) {
        self.bits_0 = (self.bits_0 & !(0b00000001 << 0)) | ((value & 0b00000001) << 0);
    }

    pub fn param_str(&self) -> &[u8; 32] {
        &self.param_str
    }

    pub fn set_param_str(&mut self, value: [u8; 32]) {
        self.param_str = value;
    }
}
