@maleMin = -0.5 @maleMax = 0.499 @femaleMin = -0.4 @femaleMax = 0.4 @boyMin = -0.5 @boyMax = 0.499 @girlMin = -0.4 @girlMax = 0.4 @maleBsMin = 0.0 @maleBsMax = 1.0 @femaleBsMin = 0.0 @femaleBsMax = 0.8 age_presets = { age_preset_aging_primary = { mode = multiply curve = { { 0.0 0.0 } { 0.25 0.0 } { 0.35 0.2 } { 0.75 1.0 } } } age_preset_aging_secondary = { mode = multiply curve = { { 0.0 0.0 } { 0.5 0.0 } { 0.85 0.5 } } } age_preset_aging_secondary_full = { mode = multiply curve = { { 0.0 0.0 } { 0.35 0.0 } { 0.8 1.0 } } } age_preset_aging_tertiary = { mode = multiply curve = { { 0.0 0.0 } { 0.7 0.0 } { 0.95 0.5 } } } age_preset_aging_hunchback = { mode = multiply curve = { { 0.0 0.0 } { 0.7 0.0 } { 0.95 1.0 } } } age_preset_aging_gauntness = { mode = add curve = { { 0.0 0.0 } { 0.7 0.0 } { 0.95 0.8 } } } age_preset_aging_tertiary_reversed = { mode = multiply curve = { { 0.0 0.0 } { 0.7 0.0 } { 0.95 -0.5 } } } age_preset_aging_definition_male = { mode = multiply curve = { { 0.0 0.0 } { 0.12 0.0 } { 0.30 1.0 } { 1.0 1.0 } } } age_preset_makeup = { mode = multiply curve = { { 0.0 0.0 } { 0.12 0.0 } { 0.18 1.0 } { 1.0 1.0 } } } age_preset_expression_male = { mode = multiply curve = { { 0.0 0.0 } { 0.12 0.3 } { 0.20 0.8 } { 0.30 1.0 } { 1.0 1.0 } } } age_preset_aging_definition_female = { mode = multiply curve = { { 0.0 0.0 } { 0.18 0.0 } { 0.35 1.0 } { 1.0 1.0 } } } age_preset_nasolabial = { mode = multiply curve = { { 0.0 0.0 } { 0.12 0.0 } { 0.3 0.5 } { 0.7 1.0 } } } age_preset_youth_fat = { mode = multiply curve = { { 0.0 0.0 } { 0.12 1.0 } { 0.24 1.0 } { 0.4 1.0 } } } age_preset_aging_hsv_curve = { mode = multiply curve = { { 0.0 0.0 } { 0.35 0.0 } { 0.7 1.0 } } } age_preset_child_joints = { mode = add curve = { { 0.0 1.0 } { 0.05 -0.5 } { 0.18 -1.0 } } } age_preset_infant_joints = { mode = multiply curve = { { 0.0 -1.0 } { 0.03 -0.6 } { 0.07 -0.43 } { 0.10 -0.28 } { 0.15 -0.05 } { 0.18 0.0 } { 1.0 1.0 } } } age_preset_infant_joints_body = { mode = multiply curve = { { 0.0 -1.0 } { 0.03 -0.7 } { 0.07 -0.45 } { 0.15 -0.05 } { 0.18 0.0 } { 1.0 1.0 } } } age_preset_infant_bs_head = { mode = multiply curve = { { 0.0 1.0 } { 0.03 0.5 } { 0.05 0.0 } } } age_preset_child_bs_head = { mode = multiply curve = { { 0.00 1.0 } { 0.05 0.9 } { 0.10 0.5 } { 0.20 0.0 } } } age_preset_child_bs_body = { mode = multiply curve = { { 0.00 1.0 } { 0.05 0.4 } { 0.10 0.1 } { 0.15 0.0 } } } age_preset_child_bs_body_shape = { mode = multiply curve = { { 0.00 0.0 } { 0.05 1.0 } { 0.10 1.0 } { 0.17 0.0 } } } age_preset_child_lean_boy = { mode = multiply curve = { { 0.0 0.0 } { 0.03 0.5 } { 0.08 0.6 } { 0.16 0.6 } { 0.24 0.0 } } } age_preset_child_lean_girl = { mode = multiply curve = { { 0.0 0.0 } { 0.03 0.0 } { 0.08 0.0 } { 0.12 0.0 } { 0.18 0.0 } } } age_preset_child_lean_reversed = { mode = multiply curve = { { 0.18 0.0 } { 0.24 1.0 } } } age_preset_child_fat = { mode = multiply curve = { { 0.0 0.2 } { 0.10 0.5 } { 0.18 1.0 } { 0.7 1.0 } { 0.95 0.2 } } } age_preset_child_fat_decal = { mode = multiply curve = { { 0.0 0.0 } { 0.10 0.0 } { 0.15 0.3 } { 0.2 1.0 } } } age_preset_child_features = { mode = multiply curve = { { 0.0 0.5 } { 0.05 0.5 } { 0.10 0.65 } { 0.22 1.0 } } } age_preset_child_features_wide_range = { mode = multiply curve = { { 0.0 0.75 } { 0.05 0.75 } { 0.10 0.95 } { 0.18 1.0 } } } age_preset_child_features_late = { mode = multiply curve = { { 0.0 0.0 } { 0.05 0.0 } { 0.10 0.0 } { 0.18 1.0 } } } age_preset_child_features_add = { mode = add curve = { { 0.0 0.0 } { 0.05 -0.5 } { 0.10 -0.5 } { 0.16 0.0 } } } age_preset_child_skin = { mode = multiply curve = { { 0.0 0.5 } { 0.15 0.0 } } } age_preset_height = { mode = multiply curve = { { 0.0 0.0 } { 0.18 1.0 } } } age_preset_old_height = { mode = add curve = { { 0.65 0.0 } { 1.0 -0.05 } } } age_preset_neck_length = { mode = add curve = { { 0.5 0.0 } { 1.0 -0.4 } } } age_preset_puberty = { mode = multiply curve = { { 0.0 0.0 } { 0.11 0.0 } { 0.16 1.0 } } } age_preset_pre_puberty = { mode = multiply curve = { { 0.0 1.0 } { 0.10 1.0 } { 0.15 0.0 } } } age_preset_eyebrows = { mode = multiply curve = { { 0.0 0.5 } { 0.15 0.75 } { 0.2 1.0 } { 0.5 1.0 } { 0.9 0.8 } } } age_preset_eyebrows_fullness = { mode = multiply curve = { { 0.0 0.5 } { 0.15 0.75 } { 0.2 1.0 } { 0.5 1.0 } { 0.9 0.2 } } } age_preset_eyebrows_old = { mode = multiply curve = { { 0.5 0.0 } { 0.6 0.1 } { 0.9 1.0 } } } } decal_atlases = { # forehead_atlas = { # size = 2 # textures = { # diffuse = "gfx/models/portraits/decals/male_head/decal_atlas_male_head_expression_forehead_normal.dds" # normal = "gfx/models/portraits/decals/male_head/decal_atlas_male_head_expression_forehead_normal.dds" # properties = "gfx/models/portraits/decals/male_head/decal_atlas_male_head_expression_forehead_normal.dds" # } # } } morph_genes = { gene_chin_forward = { ugliness_feature_categories = { chin mouth } group = face chin_forward_neg = { index = 0 visible = no male = { setting = { attribute = "chin_forward" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "chin_forward" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "chin_forward" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "chin_forward" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } chin_forward_pos = { index = 1 # negative_mirror = chin_forward_neg male = { setting = { attribute = "chin_forward" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "chin_forward" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "chin_forward" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "chin_forward" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_chin_height = { ugliness_feature_categories = { chin mouth } group = face chin_height_neg = { index = 0 visible = no male = { setting = { attribute = "chin_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "chin_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "chin_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "chin_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } chin_height_pos = { index = 1 male = { setting = { attribute = "chin_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "chin_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "chin_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "chin_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_chin_width = { ugliness_feature_categories = { chin } group = face chin_width_neg = { index = 0 visible = no male = { setting = { attribute = "chin_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "chin_width" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "chin_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "chin_width" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } chin_width_pos = { index = 1 male = { setting = { attribute = "chin_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "chin_width" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "chin_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "chin_width" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_eye_angle = { ugliness_feature_categories = { eyes } group = eyes eye_angle_neg = { index = 0 visible = no male = { setting = { attribute = "eye_angle" value = { min = @maleMin max = @maleMax } } } female = { setting = { attribute = "eye_angle" value = { min = @maleMin max = @maleMax } } } boy = { setting = { attribute = "eye_angle" value = { min = @maleMin max = @maleMax } } } girl = { setting = { attribute = "eye_angle" value = { min = @maleMin max = @maleMax } } } } eye_angle_pos = { index = 1 male = { setting = { attribute = "eye_angle" value = { min = @maleMin max = @maleMax } } } female = { setting = { attribute = "eye_angle" value = { min = @maleMin max = @maleMax } } } boy = { setting = { attribute = "eye_angle" value = { min = @maleMin max = @maleMax } } } girl = { setting = { attribute = "eye_angle" value = { min = @maleMin max = @maleMax } } } } } gene_eye_depth = { ugliness_feature_categories = { eyes } group = eyes eye_depth_neg = { index = 0 visible = no male = { setting = { attribute = "eye_depth" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "eye_depth" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "eye_depth" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "eye_depth" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } eye_depth_pos = { index = 1 male = { setting = { attribute = "eye_depth" value = { min = @maleMin max = @maleMax } } } female = { setting = { attribute = "eye_depth" value = { min = @femaleMin max = @femaleMax } } } boy = { setting = { attribute = "eye_depth" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "eye_depth" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_eye_height = { ugliness_feature_categories = { eyes nose head } group = eyes eye_height_neg = { index = 0 visible = no male = { setting = { attribute = "eye_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "eye_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "eye_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "eye_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } eye_height_pos = { index = 1 male = { setting = { attribute = "eye_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "eye_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "eye_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "eye_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_eye_distance = { ugliness_feature_categories = { eyes nose head } group = eyes eye_distance_neg = { index = 0 visible = no male = { setting = { attribute = "eye_distance" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "eye_distance" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "eye_distance" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "eye_distance" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } eye_distance_pos = { index = 1 male = { setting = { attribute = "eye_distance" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "eye_distance" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "eye_distance" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "eye_distance" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_eye_shut = { group = eyes eye_shut_neg = { index = 0 visible = no male = { setting = { attribute = "eye_shut" value = { min = @maleMin max = @maleMax } } } female = { setting = { attribute = "eye_shut" value = { min = @maleMin max = @maleMax } } } boy = { setting = { attribute = "eye_shut" value = { min = @maleMin max = @maleMax } } } girl = { setting = { attribute = "eye_shut" value = { min = @maleMin max = @maleMax } } } } eye_shut_pos = { index = 1 male = { setting = { attribute = "eye_shut" value = { min = @maleMin max = @maleMax } } } female = { setting = { attribute = "eye_shut" value = { min = @maleMin max = @maleMax } } } boy = { setting = { attribute = "eye_shut" value = { min = @maleMin max = @maleMax } } } girl = { setting = { attribute = "eye_shut" value = { min = @maleMin max = @maleMax } } } } } gene_forehead_angle = { ugliness_feature_categories = { head } group = face forehead_angle_neg = { index = 0 visible = no male = { setting = { attribute = "forehead_angle" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "forehead_angle" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "forehead_angle" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "forehead_angle" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } forehead_angle_pos = { index = 1 male = { setting = { attribute = "forehead_angle" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "forehead_angle" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "forehead_angle" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "forehead_angle" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_forehead_brow_height = { ugliness_feature_categories = { head eyes } group = face forehead_brow_height_neg = { index = 0 visible = no male = { setting = { attribute = "forehead_brow_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "forehead_brow_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "forehead_brow_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "forehead_brow_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } forehead_brow_height_pos = { index = 1 male = { setting = { attribute = "forehead_brow_height" value = { min = @maleMin max = @maleMax } } setting = { attribute = "nbs_forehead_brow_height_max" # value = { min = -1.0 max = @maleMax } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_features } } female = { setting = { attribute = "forehead_brow_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } #female uses full range setting = { attribute = "nbs_forehead_brow_height_max" # value = { min = -0.6 max = @femaleMax } curve = { { 0.0 0.0 } { 0.6 0.0 } { 1.0 0.8 } } age = age_preset_child_features } } boy = { setting = { attribute = "forehead_brow_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } setting = { attribute = "nbs_forehead_brow_height_max" # value = { min = -0.6 max = @femaleMax } curve = { { 0.0 0.0 } { 0.6 0.0 } { 1.0 0.8 } } age = age_preset_child_features } } girl = { setting = { attribute = "forehead_brow_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } #female uses full range setting = { attribute = "nbs_forehead_brow_height_max" # value = { min = -0.6 max = @femaleMax } curve = { { 0.0 0.0 } { 0.6 0.0 } { 1.0 0.8 } } age = age_preset_child_features } } } } gene_forehead_roundness = { ugliness_feature_categories = { head } group = face forehead_roundness_neg = { index = 0 visible = no male = { setting = { attribute = "forehead_roundness" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "forehead_roundness" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "forehead_roundness" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "forehead_roundness" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } forehead_roundness_pos = { index = 1 male = { setting = { attribute = "forehead_roundness" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "forehead_roundness" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "forehead_roundness" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "forehead_roundness" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_forehead_width = { ugliness_feature_categories = { head } group = face forehead_width_neg = { index = 0 visible = no male = { setting = { attribute = "forehead_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "forehead_width" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "forehead_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "forehead_width" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } forehead_width_pos = { index = 1 male = { setting = { attribute = "forehead_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "forehead_width" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "forehead_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "forehead_width" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_forehead_height = { ugliness_feature_categories = { head } group = face forehead_height_neg = { index = 0 visible = no male = { setting = { attribute = "forehead_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "forehead_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "forehead_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "forehead_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } forehead_height_pos = { index = 1 male = { setting = { attribute = "forehead_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "forehead_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "forehead_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "forehead_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_head_height = { ugliness_feature_categories = { head } group = head_neck head_height_neg = { index = 0 visible = no male = { setting = { attribute = "head_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "head_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "head_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "head_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } head_height_pos = { index = 1 male = { setting = { attribute = "head_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "head_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "head_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "head_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } } gene_head_width = { ugliness_feature_categories = { head } group = head_neck head_width_neg = { index = 0 visible = no male = { setting = { attribute = "head_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "head_width" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "head_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "head_width" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } head_width_pos = { index = 1 male = { setting = { attribute = "head_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "head_width" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "head_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "head_width" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_head_profile = { ugliness_feature_categories = { head } group = head_neck head_profile_neg = { index = 0 visible = no male = { setting = { attribute = "head_profile" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } setting = { attribute = "nbs_head_profile_min" # value = { min = -1.0 max = @maleMax } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } female = { setting = { attribute = "head_profile" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } setting = { attribute = "nbs_head_profile_min" # value = { min = -1.0 max = @maleMax } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } boy = { setting = { attribute = "head_profile" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } setting = { attribute = "nbs_head_profile_min" # value = { min = -1.0 max = @maleMax } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } girl = { setting = { attribute = "head_profile" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } setting = { attribute = "nbs_head_profile_min" # value = { min = -1.0 max = @maleMax } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } } head_profile_pos = { index = 1 male = { setting = { attribute = "head_profile" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } setting = { attribute = "nbs_head_profile_min" # value = { min = -1.0 max = @maleMax } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } female = { setting = { attribute = "head_profile" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } setting = { attribute = "nbs_head_profile_min" # value = { min = -1.0 max = @maleMax } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } boy = { setting = { attribute = "head_profile" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } setting = { attribute = "nbs_head_profile_min" # value = { min = -1.0 max = @maleMax } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } girl = { setting = { attribute = "head_profile" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } setting = { attribute = "nbs_head_profile_min" # value = { min = -1.0 max = @maleMax } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } } } gene_head_top_height = { ugliness_feature_categories = { head } group = head_neck head_top_height_neg = { index = 0 visible = no male = { setting = { attribute = "head_top_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "head_top_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "head_top_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "head_top_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } head_top_height_pos = { index = 1 male = { setting = { attribute = "head_top_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "head_top_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "head_top_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "head_top_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } } gene_head_top_width = { ugliness_feature_categories = { head } group = head_neck head_top_width_neg = { index = 0 visible = no male = { setting = { attribute = "head_top_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "head_top_width" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "head_top_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "head_top_width" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } head_top_width_pos = { index = 1 male = { setting = { attribute = "head_top_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "head_top_width" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "head_top_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "head_top_width" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_jaw_angle = { ugliness_feature_categories = { chin } group = face jaw_angle_neg = { index = 0 visible = no male = { setting = { attribute = "jaw_angle" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } setting = { attribute = "teeth_bs_lower_down" # value = { min = -0.4 max = 0.4 } curve = { { 0.0 0.3 } { 0.5 0.0 } { 1.0 -0.4 } } age = age_preset_child_features } } female = { setting = { attribute = "jaw_angle" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } setting = { attribute = "teeth_bs_lower_down" # value = { min = -0.4 max = 0.4 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.4 } } age = age_preset_child_features } } boy = { setting = { attribute = "jaw_angle" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } setting = { attribute = "teeth_bs_lower_down" # value = { min = -0.4 max = 0.4 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.4 } } age = age_preset_child_features } } girl = { setting = { attribute = "jaw_angle" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } setting = { attribute = "teeth_bs_lower_down" # value = { min = -0.4 max = 0.4 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.4 } } age = age_preset_child_features } } } jaw_angle_pos = { index = 1 male = { setting = { attribute = "jaw_angle" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } setting = { attribute = "teeth_bs_lower_down" # value = { min = -0.4 max = 0.4 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.4 } } age = age_preset_child_features } } female = { setting = { attribute = "jaw_angle" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } setting = { attribute = "teeth_bs_lower_down" # value = { min = -0.4 max = 0.4 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.4 } } age = age_preset_child_features } } boy = { setting = { attribute = "jaw_angle" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } setting = { attribute = "teeth_bs_lower_down" # value = { min = -0.4 max = 0.4 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.4 } } age = age_preset_child_features } } girl = { setting = { attribute = "jaw_angle" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } setting = { attribute = "teeth_bs_lower_down" # value = { min = -0.4 max = 0.4 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.4 } } age = age_preset_child_features } } } } gene_jaw_forward = { ugliness_feature_categories = { chin } group = face jaw_forward_neg = { index = 0 visible = no male = { setting = { attribute = "jaw_forward" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "jaw_forward" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "jaw_forward" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "jaw_forward" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } jaw_forward_pos = { index = 1 male = { setting = { attribute = "jaw_forward" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "jaw_forward" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "jaw_forward" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "jaw_forward" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_jaw_height = { ugliness_feature_categories = { chin } group = face jaw_height_neg = { index = 0 visible = no male = { setting = { attribute = "jaw_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } setting = { # To prevent issues with the lower teeth clipping through the upper(!) lip when jaw is moved up attribute = "teeth_bs_lower_down" # value = { min = 0.7 max = -0.0 } curve = { { 0.0 0.6 } { 0.5 0.0 } { 1.0 -0.5 } } age = age_preset_child_features } } female = { setting = { attribute = "jaw_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } setting = { # To prevent issues with the lower teeth clipping through the upper(!) lip when jaw is moved up attribute = "teeth_bs_lower_down" # value = { min = 0.7 max = -0.0 } curve = { { 0.0 0.6 } { 0.5 0.0 } { 1.0 -0.5 } } age = age_preset_child_features } } boy = { setting = { attribute = "jaw_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } setting = { # To prevent issues with the lower teeth clipping through the upper(!) lip when jaw is moved up attribute = "teeth_bs_lower_down" # value = { min = 0.7 max = -0.0 } curve = { { 0.0 0.6 } { 0.5 0.0 } { 1.0 -0.5 } } age = age_preset_child_features } } girl = { setting = { attribute = "jaw_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } setting = { # To prevent issues with the lower teeth clipping through the upper(!) lip when jaw is moved up attribute = "teeth_bs_lower_down" # value = { min = 0.7 max = -0.0 } curve = { { 0.0 0.6 } { 0.5 0.0 } { 1.0 -0.5 } } age = age_preset_child_features } } } jaw_height_pos = { index = 1 male = { setting = { attribute = "jaw_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } setting = { # To prevent issues with the lower teeth clipping through the upper(!) lip when jaw is moved up attribute = "teeth_bs_lower_down" # value = { min = 0.7 max = -0.0 } curve = { { 0.0 0.6 } { 0.5 0.0 } { 1.0 -0.5 } } age = age_preset_child_features } } female = { setting = { attribute = "jaw_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } setting = { # To prevent issues with the lower teeth clipping through the upper(!) lip when jaw is moved up attribute = "teeth_bs_lower_down" # value = { min = 0.7 max = -0.0 } curve = { { 0.0 0.6 } { 0.5 0.0 } { 1.0 -0.5 } } age = age_preset_child_features } } boy = { setting = { attribute = "jaw_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } setting = { # To prevent issues with the lower teeth clipping through the upper(!) lip when jaw is moved up attribute = "teeth_bs_lower_down" # value = { min = 0.7 max = -0.0 } curve = { { 0.0 0.6 } { 0.5 0.0 } { 1.0 -0.5 } } age = age_preset_child_features } } girl = { setting = { attribute = "jaw_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } setting = { # To prevent issues with the lower teeth clipping through the upper(!) lip when jaw is moved up attribute = "teeth_bs_lower_down" # value = { min = 0.7 max = -0.0 } curve = { { 0.0 0.6 } { 0.5 0.0 } { 1.0 -0.5 } } age = age_preset_child_features } } } } gene_jaw_width = { ugliness_feature_categories = { chin } group = face jaw_width_neg = { index = 0 visible = no male = { setting = { attribute = "jaw_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "jaw_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } # Female uses full range } boy = { setting = { attribute = "jaw_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "jaw_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } } jaw_width_pos = { index = 1 male = { setting = { attribute = "jaw_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_late } } female = { setting = { attribute = "jaw_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_late } # Female uses full range } boy = { setting = { attribute = "jaw_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_late } } girl = { setting = { attribute = "jaw_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_late } } } } gene_mouth_corner_depth = { ugliness_feature_categories = { mouth } group = mouth mouth_corner_depth_neg = { index = 0 visible = no male = { setting = { attribute = "mouth_corner_depth" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "mouth_corner_depth" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "mouth_corner_depth" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "mouth_corner_depth" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } mouth_corner_depth_pos = { index = 1 male = { setting = { attribute = "mouth_corner_depth" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "mouth_corner_depth" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "mouth_corner_depth" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "mouth_corner_depth" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } } gene_mouth_corner_height = { ugliness_feature_categories = { mouth chin nose } group = mouth mouth_corner_height_neg = { index = 0 visible = no male = { setting = { attribute = "mouth_corner_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "mouth_corner_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "mouth_corner_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "mouth_corner_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } mouth_corner_height_pos = { index = 1 male = { setting = { attribute = "mouth_corner_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "mouth_corner_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "mouth_corner_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "mouth_corner_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } } gene_mouth_forward = { ugliness_feature_categories = { mouth } group = mouth mouth_forward_neg = { index = 0 visible = no male = { setting = { attribute = "mouth_forward" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is small attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 2.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } female = { setting = { attribute = "mouth_forward" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "mouth_forward" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "mouth_forward" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } mouth_forward_pos = { index = 1 male = { setting = { attribute = "mouth_forward" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is small attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } female = { setting = { attribute = "mouth_forward" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "mouth_forward" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "mouth_forward" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } } gene_mouth_height = { ugliness_feature_categories = { mouth chin nose } group = mouth mouth_height_neg = { index = 0 visible = no male = { setting = { attribute = "mouth_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is moved down attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is moved down attribute = "teeth_bs_lower_down" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 0.15 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } female = { setting = { attribute = "mouth_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is moved down attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } boy = { setting = { attribute = "mouth_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is moved down attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } girl = { setting = { attribute = "mouth_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is moved down attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } } mouth_height_pos = { index = 1 male = { setting = { attribute = "mouth_height" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is moved down attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } female = { setting = { attribute = "mouth_height" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is moved down attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } boy = { setting = { attribute = "mouth_height" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is moved down attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } girl = { setting = { attribute = "mouth_height" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is moved down attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } } } gene_mouth_width = { ugliness_feature_categories = { mouth chin nose } group = mouth mouth_width_neg = { index = 0 visible = no male = { setting = { attribute = "mouth_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is small attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } female = { setting = { attribute = "mouth_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } #female has full range setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is small attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } boy = { setting = { attribute = "mouth_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is small attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } girl = { setting = { attribute = "mouth_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is small attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } } mouth_width_pos = { index = 1 male = { setting = { attribute = "mouth_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is small attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } female = { setting = { attribute = "mouth_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } #female has full range setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is small attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } boy = { setting = { attribute = "mouth_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is small attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } girl = { setting = { attribute = "mouth_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } setting = { # To prevent issues with the upper teeth clipping through the upper lip when mouth is small attribute = "teeth_bs_cheek_fat_neg" # value = { min = 0.6 max = -0.6 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features } } } } gene_mouth_upper_lip_size = { ugliness_feature_categories = { mouth } group = mouth mouth_upper_lip_size_neg = { index = 0 visible = no male = { setting = { attribute = "mouth_upper_lip_size" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } setting = { attribute = "bs_mouth_philtrum_shape_min" curve = { { 0.25 0.8 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_child_features_wide_range } setting = { attribute = "mouth_lower_lip_size" value = { min = -0.2 max = 0.2 } age = age_preset_child_features_wide_range } } female = male boy = male girl = female } mouth_upper_lip_size_pos = { index = 1 male = { setting = { attribute = "mouth_upper_lip_size" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } setting = { attribute = "mouth_lower_lip_size" value = { min = -0.2 max = 0.2 } age = age_preset_child_features_wide_range } } female = male boy = male girl = female } } gene_mouth_lower_lip_size = { ugliness_feature_categories = { mouth } group = mouth mouth_lower_lip_size_neg = { index = 0 visible = no male = { setting = { attribute = "mouth_lower_lip_size" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } setting = { attribute = "mouth_upper_lip_size" value = { min = -0.2 max = 0.2 } age = age_preset_child_features_wide_range } } female = male boy = male girl = female } mouth_lower_lip_size_pos = { index = 1 male = { setting = { attribute = "mouth_lower_lip_size" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } setting = { attribute = "mouth_upper_lip_size" value = { min = -0.2 max = 0.2 } age = age_preset_child_features_wide_range } } female = male boy = male girl = female } } gene_mouth_open = { ugliness_feature_categories = { mouth } group = mouth mouth_open_neg = { index = 0 visible = no male = { setting = { attribute = "mouth_open" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "mouth_open" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } #female has full range } boy = { setting = { attribute = "mouth_open" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "mouth_open" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } mouth_open_pos = { index = 1 male = { setting = { attribute = "mouth_open" value = { min = @maleMin max = @maleMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "mouth_open" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "mouth_open" value = { min = @boyMin max = @boyMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "mouth_open" value = { min = @girlMin max = @girlMax } age = age_preset_child_features_wide_range } } } } gene_neck_length = { ugliness_feature_categories = { head } group = head_neck neck_length_neg = { index = 0 visible = no male = { setting = { attribute = "neck_length" value = { min = @maleMin max = @maleMax } age = age_preset_neck_length } } female = { setting = { attribute = "neck_length" value = { min = @femaleMin max = @femaleMax } age = age_preset_neck_length } } boy = { setting = { attribute = "neck_length" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "neck_length" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } neck_length_pos = { index = 1 male = { setting = { attribute = "neck_length" value = { min = @maleMin max = @maleMax } age = age_preset_neck_length } } female = { setting = { attribute = "neck_length" value = { min = @femaleMin max = @femaleMax } age = age_preset_neck_length } } boy = { setting = { attribute = "neck_length" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "neck_length" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } gene_neck_width = { ugliness_feature_categories = { head } group = head_neck neck_width_neg = { index = 0 visible = no male = { setting = { attribute = "neck_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "neck_width" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "neck_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "neck_width" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } neck_width_pos = { index = 1 male = { setting = { attribute = "neck_width" value = { min = @maleMin max = @maleMax } age = age_preset_child_features } } female = { setting = { attribute = "neck_width" value = { min = @femaleMin max = @femaleMax } age = age_preset_child_features } } boy = { setting = { attribute = "neck_width" value = { min = @boyMin max = @boyMax } age = age_preset_child_features } } girl = { setting = { attribute = "neck_width" value = { min = @girlMin max = @girlMax } age = age_preset_child_features } } } } ##################################################################################################################### ######################################## BLEND SHAPE BASED MORPH GENES ############################################## ##################################################################################################################### gene_bs_cheek_forward = { ugliness_feature_categories = { head } group = face cheek_forward_neg = { index = 0 positive_mirror = cheek_forward_pos male = { setting = { attribute = "bs_cheek_forward_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_cheek_forward_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_cheek_forward_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_cheek_forward_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } cheek_forward_pos = { index = 1 negative_mirror = cheek_forward_neg male = { setting = { attribute = "bs_cheek_forward_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_cheek_forward_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_cheek_forward_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_cheek_forward_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_cheek_height = { ugliness_feature_categories = { head } group = face cheek_height_neg = { index = 0 positive_mirror = cheek_height_pos male = { setting = { attribute = "bs_cheek_height_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_cheek_height_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_cheek_height_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_cheek_height_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } cheek_height_pos = { index = 1 negative_mirror = cheek_height_neg male = { setting = { attribute = "bs_cheek_height_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_cheek_height_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_cheek_height_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_cheek_height_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_cheek_width = { ugliness_feature_categories = { head } group = face cheek_width_neg = { index = 0 positive_mirror = cheek_width_pos male = { setting = { attribute = "bs_cheek_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_cheek_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_cheek_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_cheek_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } cheek_width_pos = { index = 1 negative_mirror = cheek_width_neg male = { setting = { attribute = "bs_cheek_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_cheek_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_cheek_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_cheek_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_ear_angle = { ugliness_feature_categories = { head } group = ears ear_angle_neg = { index = 0 positive_mirror = ear_angle_pos male = { setting = { attribute = "bs_ear_angle_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_ear_angle_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "bs_ear_angle_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_ear_angle_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } ear_angle_pos = { index = 1 negative_mirror = ear_angle_neg male = { setting = { attribute = "bs_ear_angle_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_ear_angle_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "bs_ear_angle_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_ear_angle_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_ear_inner_shape = { ugliness_feature_categories = { head } group = ears ear_inner_shape_pos = { index = 0 male = { setting = { attribute = "bs_ear_inner_shape_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_ear_inner_shape_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "bs_ear_inner_shape_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_ear_inner_shape_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_ear_bend = { ugliness_feature_categories = { head } group = ears ear_lower_bend_pos = { index = 0 male = { setting = { attribute = "bs_ear_lower_bend_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_ear_lower_bend_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "bs_ear_lower_bend_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_ear_lower_bend_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } ear_upper_bend_pos = { index = 1 male = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_upper_bend_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_upper_bend_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_upper_bend_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_upper_bend_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } ear_both_bend_pos = { index = 2 male = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_lower_bend_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_upper_bend_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_lower_bend_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_upper_bend_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_lower_bend_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_upper_bend_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_lower_bend_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_upper_bend_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_ear_outward = { ugliness_feature_categories = { head } group = ears ear_outward_neg = { index = 0 positive_mirror = ear_outward_pos male = { setting = { attribute = "bs_ear_outward_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_ear_outward_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "bs_ear_outward_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_ear_outward_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } ear_outward_pos = { index = 1 negative_mirror = ear_outward_neg male = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_outward_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_outward_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_outward_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_outward_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_ear_size = { ugliness_feature_categories = { head } group = ears ear_size_neg = { index = 0 positive_mirror = ear_size_pos male = { setting = { attribute = "bs_ear_size_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_ear_size_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_ear_size_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_ear_size_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } ear_size_pos = { index = 1 negative_mirror = ear_size_neg male = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_size_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_size_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_size_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(snug_headgear)" attribute = "bs_ear_size_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_eye_corner_depth = { ugliness_feature_categories = { eyes } group = eyes eye_corner_depth_neg = { index = 0 positive_mirror = eye_corner_depth_pos male = { setting = { attribute = "bs_eye_corner_depth_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_eye_corner_depth_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } # Female has full range } boy = { setting = { attribute = "bs_eye_corner_depth_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_eye_corner_depth_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } # Female has full range } } eye_corner_depth_pos = { index = 1 negative_mirror = eye_corner_depth_neg male = { setting = { attribute = "bs_eye_corner_depth_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_eye_corner_depth_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_eye_corner_depth_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_eye_corner_depth_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_eye_fold_shape = { group = eyes eye_fold_shape_neg = { index = 0 positive_mirror = eye_fold_shape_pos male = { setting = { attribute = "bs_eye_fold_shape_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_eye_fold_shape_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_eye_fold_shape_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_eye_fold_shape_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } eye_fold_shape_pos = { index = 1 negative_mirror = eye_fold_shape_neg male = { setting = { attribute = "bs_eye_fold_shape_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_eye_fold_shape_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_eye_fold_shape_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_eye_fold_shape_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } eye_fold_shape_02_neg = { index = 2 positive_mirror = eye_fold_shape_02_pos male = { setting = { attribute = "bs_eye_fold_shape_02_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_eye_fold_shape_02_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_eye_fold_shape_02_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_eye_fold_shape_02_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } eye_fold_shape_02_pos = { index = 3 negative_mirror = eye_fold_shape_02_neg male = { setting = { attribute = "bs_eye_fold_shape_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_eye_fold_shape_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_eye_fold_shape_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_eye_fold_shape_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_eye_size = { ugliness_feature_categories = { eyes } group = eyes eye_size_neg = { index = 0 positive_mirror = eye_size_pos male = { setting = { attribute = "bs_eye_size_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_eye_size_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } #female uses full range } boy = { setting = { attribute = "bs_eye_size_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_eye_size_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } eye_size_pos = { index = 1 negative_mirror = eye_size_neg male = { setting = { attribute = "bs_eye_size_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_eye_size_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } #female uses full range } boy = { setting = { attribute = "bs_eye_size_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_eye_size_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } } } gene_bs_eye_upper_lid_size = { group = eyes eye_upper_lid_size_neg = { index = 0 positive_mirror = eye_upper_lid_size_pos male = { setting = { attribute = "bs_eye_upper_lid_size_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_eye_upper_lid_size_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "bs_eye_upper_lid_size_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_eye_upper_lid_size_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } eye_upper_lid_size_pos = { index = 1 negative_mirror = eye_upper_lid_size_neg male = { setting = { attribute = "bs_eye_upper_lid_size_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_eye_upper_lid_size_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_eye_upper_lid_size_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_eye_upper_lid_size_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_forehead_brow_curve = { ugliness_feature_categories = { head eyes } group = face forehead_brow_curve_neg = { index = 0 positive_mirror = forehead_brow_curve_pos male = { setting = { attribute = "bs_forehead_brow_curve_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_forehead_brow_curve_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_forehead_brow_curve_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_forehead_brow_curve_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } forehead_brow_curve_pos = { index = 1 negative_mirror = forehead_brow_curve_neg male = { setting = { attribute = "bs_forehead_brow_curve_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_forehead_brow_curve_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_forehead_brow_curve_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_forehead_brow_curve_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_forehead_brow_forward = { ugliness_feature_categories = { head eyes } group = face forehead_brow_forward_neg = { index = 0 positive_mirror = forehead_brow_forward_pos male = { setting = { attribute = "bs_forehead_brow_forward_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_forehead_brow_forward_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_forehead_brow_forward_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_forehead_brow_forward_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } forehead_brow_forward_pos = { index = 1 negative_mirror = forehead_brow_forward_neg male = { setting = { attribute = "bs_forehead_brow_forward_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_forehead_brow_forward_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_forehead_brow_forward_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_forehead_brow_forward_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_forehead_brow_inner_height = { ugliness_feature_categories = { head eyes } group = face forehead_brow_inner_height_neg = { index = 0 positive_mirror = forehead_brow_inner_height_pos male = { setting = { attribute = "bs_forehead_brow_inner_height_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_forehead_brow_inner_height_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_forehead_brow_inner_height_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_forehead_brow_inner_height_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } forehead_brow_inner_height_pos = { index = 1 negative_mirror = forehead_brow_inner_height_neg male = { setting = { attribute = "bs_forehead_brow_inner_height_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_forehead_brow_inner_height_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_forehead_brow_inner_height_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_forehead_brow_inner_height_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_forehead_brow_outer_height = { ugliness_feature_categories = { head eyes } group = face forehead_brow_outer_height_neg = { index = 0 positive_mirror = forehead_brow_outer_height_pos male = { setting = { attribute = "bs_forehead_brow_outer_height_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_forehead_brow_outer_height_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_forehead_brow_outer_height_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_forehead_brow_outer_height_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } forehead_brow_outer_height_pos = { index = 1 negative_mirror = forehead_brow_outer_height_neg male = { setting = { attribute = "bs_forehead_brow_outer_height_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_forehead_brow_outer_height_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_forehead_brow_outer_height_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_forehead_brow_outer_height_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_forehead_brow_width = { ugliness_feature_categories = { head eyes } group = face forehead_brow_width_neg = { index = 0 positive_mirror = forehead_brow_width_pos male = { setting = { attribute = "bs_forehead_brow_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_forehead_brow_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_forehead_brow_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_forehead_brow_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } forehead_brow_width_pos = { index = 1 negative_mirror = forehead_brow_width_neg male = { setting = { attribute = "bs_forehead_brow_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_forehead_brow_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_forehead_brow_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_forehead_brow_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_jaw_def = { group = face jaw_def_neg = { index = 0 positive_mirror = jaw_def_pos male = { setting = { attribute = "bs_jaw_def_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_jaw_def_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } # Female has full range } boy = { setting = { attribute = "bs_jaw_def_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_jaw_def_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } # Female has full range } } jaw_def_pos = { index = 1 negative_mirror = jaw_def_neg male = { setting = { attribute = "bs_jaw_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_late } } female = { setting = { attribute = "bs_jaw_def_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_late } } boy = { setting = { attribute = "bs_jaw_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_late } } girl = { setting = { attribute = "bs_jaw_def_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_late } } } } gene_bs_mouth_lower_lip_def = { ugliness_feature_categories = { mouth } group = mouth mouth_lower_lip_def_pos = { index = 0 male = { setting = { attribute = "bs_mouth_lower_lip_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_lower_lip_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_lower_lip_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_lower_lip_def_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_mouth_lower_lip_full = { ugliness_feature_categories = { mouth } group = mouth mouth_lower_lip_full_neg = { index = 0 positive_mirror = mouth_lower_lip_full_pos male = { setting = { attribute = "bs_mouth_lower_lip_full_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_lower_lip_full_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_lower_lip_full_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_lower_lip_full_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } mouth_lower_lip_full_pos = { index = 1 negative_mirror = mouth_lower_lip_full_neg male = { setting = { attribute = "bs_mouth_lower_lip_full_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_lower_lip_full_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_lower_lip_full_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_lower_lip_full_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_mouth_lower_lip_pad = { ugliness_feature_categories = { mouth } group = mouth mouth_lower_lip_pad_neg = { index = 0 positive_mirror = mouth_lower_lip_pad_pos male = { setting = { attribute = "bs_mouth_lower_lip_pad_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_mouth_lower_lip_pad_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } #full range for females } boy = { setting = { attribute = "bs_mouth_lower_lip_pad_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_mouth_lower_lip_pad_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } mouth_lower_lip_pad_pos = { index = 1 negative_mirror = mouth_lower_lip_pad_neg male = { setting = { attribute = "bs_mouth_lower_lip_pad_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_mouth_lower_lip_pad_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } #full range for females } boy = { setting = { attribute = "bs_mouth_lower_lip_pad_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_mouth_lower_lip_pad_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_mouth_lower_lip_width = { ugliness_feature_categories = { mouth } group = mouth mouth_lower_lip_width_neg = { index = 0 positive_mirror = mouth_lower_lip_width_pos male = { setting = { attribute = "bs_mouth_lower_lip_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_lower_lip_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_lower_lip_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_lower_lip_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } mouth_lower_lip_width_pos = { index = 1 negative_mirror = mouth_lower_lip_width_neg male = { setting = { attribute = "bs_mouth_lower_lip_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_lower_lip_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_lower_lip_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_lower_lip_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_mouth_philtrum_def = { group = mouth mouth_philtrum_def_pos = { index = 0 male = { setting = { attribute = "bs_mouth_philtrum_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_philtrum_def_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "bs_mouth_philtrum_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_philtrum_def_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_mouth_philtrum_shape = { ugliness_feature_categories = { mouth } group = mouth mouth_philtrum_shape_neg = { index = 0 positive_mirror = mouth_philtrum_shape_pos male = { setting = { attribute = "bs_mouth_philtrum_shape_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_philtrum_shape_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_philtrum_shape_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_philtrum_shape_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } mouth_philtrum_shape_pos = { index = 1 negative_mirror = mouth_philtrum_shape_neg male = { setting = { attribute = "bs_mouth_philtrum_shape_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_philtrum_shape_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_philtrum_shape_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_philtrum_shape_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_mouth_philtrum_width = { ugliness_feature_categories = { mouth } group = mouth mouth_philtrum_width_neg = { index = 0 positive_mirror = mouth_philtrum_width_pos male = { setting = { attribute = "bs_mouth_philtrum_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_philtrum_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_philtrum_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_philtrum_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } mouth_philtrum_width_pos = { index = 1 negative_mirror = mouth_philtrum_width_neg male = { setting = { attribute = "bs_mouth_philtrum_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_philtrum_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_philtrum_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_philtrum_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_mouth_upper_lip_def = { group = mouth mouth_upper_lip_def_pos = { index = 0 male = { setting = { attribute = "bs_mouth_upper_lip_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_upper_lip_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_upper_lip_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_upper_lip_def_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_mouth_upper_lip_full = { ugliness_feature_categories = { mouth } group = mouth mouth_upper_lip_full_neg = { index = 0 positive_mirror = mouth_upper_lip_full_pos male = { setting = { attribute = "bs_mouth_upper_lip_full_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_upper_lip_full_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_upper_lip_full_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_upper_lip_full_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } mouth_upper_lip_full_pos = { index = 1 negative_mirror = mouth_upper_lip_full_neg male = { setting = { attribute = "bs_mouth_upper_lip_full_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_upper_lip_full_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_upper_lip_full_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_upper_lip_full_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_mouth_upper_lip_profile = { ugliness_feature_categories = { mouth } group = mouth mouth_upper_lip_profile_neg = { index = 0 positive_mirror = mouth_upper_lip_profile_pos male = { setting = { attribute = "bs_mouth_upper_lip_profile_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_upper_lip_profile_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_upper_lip_profile_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_upper_lip_profile_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } mouth_upper_lip_profile_pos = { index = 1 negative_mirror = mouth_upper_lip_profile_neg male = { setting = { attribute = "bs_mouth_upper_lip_profile_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_upper_lip_profile_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } #full range for females } boy = { setting = { attribute = "bs_mouth_upper_lip_profile_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_upper_lip_profile_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_mouth_upper_lip_width = { ugliness_feature_categories = { mouth } group = mouth mouth_upper_lip_width_neg = { index = 0 positive_mirror = mouth_upper_lip_width_pos male = { setting = { attribute = "bs_mouth_upper_lip_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_upper_lip_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "bs_mouth_upper_lip_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_upper_lip_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } mouth_upper_lip_width_pos = { index = 1 negative_mirror = mouth_upper_lip_width_neg male = { setting = { attribute = "bs_mouth_upper_lip_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } female = { setting = { attribute = "bs_mouth_upper_lip_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } boy = { setting = { attribute = "bs_mouth_upper_lip_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features_wide_range } } girl = { setting = { attribute = "bs_mouth_upper_lip_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features_wide_range } } } } gene_bs_nose_forward = { ugliness_feature_categories = { nose } group = nose nose_forward_neg = { index = 0 positive_mirror = nose_forward_pos male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_forward_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_forward_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_forward_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_forward_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_forward_pos = { index = 1 negative_mirror = nose_forward_neg male = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_forward_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_forward_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_forward_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_forward_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_nose_height = { ugliness_feature_categories = { nose mouth } group = nose nose_height_neg = { index = 0 positive_mirror = nose_height_pos male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_height_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_height_min" value = { min = 0.0 max = 0.6 } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_height_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_height_min" value = { min = 0.0 max = 0.6 } age = age_preset_child_features } } } nose_height_pos = { index = 1 negative_mirror = nose_height_neg male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_height_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_height_max" value = { min = 0.0 max = 0.6 } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_height_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_height_max" value = { min = 0.0 max = 0.6 } age = age_preset_child_features } } } } gene_bs_nose_length = { ugliness_feature_categories = { nose } group = nose nose_length_neg = { index = 0 positive_mirror = nose_length_pos male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_length_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_length_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_length_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_length_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_length_pos = { index = 1 negative_mirror = nose_length_neg male = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_length_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_length_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_length_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_length_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_nose_nostril_height = { ugliness_feature_categories = { nose } group = nose nose_nostril_height_neg = { index = 0 positive_mirror = nose_nostril_height_pos male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_height_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_height_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_height_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_height_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_nostril_height_pos = { index = 1 negative_mirror = nose_nostril_height_neg male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_height_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_height_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_height_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_height_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_nose_nostril_width = { ugliness_feature_categories = { nose mouth } group = nose nose_nostril_width_neg = { index = 0 positive_mirror = nose_nostril_width_pos male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_nostril_width_pos = { index = 1 negative_mirror = nose_nostril_width_neg male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_nostril_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_nose_profile = { ugliness_feature_categories = { nose } group = nose nose_profile_neg = { index = 0 positive_mirror = nose_profile_pos male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_profile_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_profile_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_profile_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_profile_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_profile_pos = { index = 1 negative_mirror = nose_profile_neg male = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_profile_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_profile_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_profile_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_profile_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_profile_hawk = { index = 2 positive_mirror = nose_profile_hawk_pos male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_hawk_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_hawk_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_hawk_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_hawk_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_profile_hawk_pos = { index = 3 negative_mirror = nose_profile_hawk male = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_profile_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_hawk_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_profile_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_hawk_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_profile_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_hawk_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_profile_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_hawk_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_nose_ridge_angle = { ugliness_feature_categories = { nose } group = nose nose_ridge_angle_neg = { index = 0 positive_mirror = nose_ridge_angle_pos male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_angle_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_angle_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_angle_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_angle_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_ridge_angle_pos = { index = 1 negative_mirror = nose_ridge_angle_neg male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_angle_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_angle_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_angle_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_angle_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_nose_ridge_width = { ugliness_feature_categories = { nose } group = nose nose_ridge_width_neg = { index = 0 positive_mirror = nose_ridge_width_pos male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_ridge_width_pos = { index = 1 negative_mirror = nose_ridge_width_neg male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_ridge_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_nose_size = { ugliness_feature_categories = { nose } group = nose nose_size_neg = { index = 0 positive_mirror = nose_size_pos male = { setting = { attribute = "bs_nose_size_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_nose_size_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { attribute = "bs_nose_size_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { attribute = "bs_nose_size_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_size_pos = { index = 1 negative_mirror = nose_size_neg male = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_size_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_size_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_size_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_size_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_nose_tip_angle = { ugliness_feature_categories = { nose } group = nose nose_tip_angle_neg = { index = 0 positive_mirror = nose_tip_angle_pos male = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_tip_angle_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_tip_angle_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_tip_angle_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_prosthetic)" attribute = "bs_nose_tip_angle_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_tip_angle_pos = { index = 1 negative_mirror = nose_tip_angle_neg male = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_angle_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_angle_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_angle_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_angle_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_nose_tip_forward = { ugliness_feature_categories = { nose } group = nose nose_tip_forward_neg = { index = 0 positive_mirror = nose_tip_forward_pos male = { setting = { required_tags = "not(nose_guard)" attribute = "bs_nose_tip_forward_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_guard)" attribute = "bs_nose_tip_forward_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_guard)" attribute = "bs_nose_tip_forward_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_guard)" attribute = "bs_nose_tip_forward_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_tip_forward_pos = { index = 1 negative_mirror = nose_tip_forward_neg male = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_forward_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_forward_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_forward_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_forward_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } gene_bs_nose_tip_width = { ugliness_feature_categories = { nose } group = nose nose_tip_width_neg = { index = 0 positive_mirror = nose_tip_width_pos male = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_width_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_width_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } nose_tip_width_pos = { index = 1 negative_mirror = nose_tip_width_neg male = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } boy = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_width_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } girl = { setting = { required_tags = "not(nose_guard),not(nose_prosthetic)" attribute = "bs_nose_tip_width_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } } } } ##################################################################################################################### ################################################ OTHER MORPH GENES ################################################## ##################################################################################################################### face_detail_cheek_def = { group = face cheek_def_01 = { index = 0 male = { setting = { attribute = "bs_cheek_def_01" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_def_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { setting = { attribute = "bs_cheek_def_01" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_def_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.6 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } cheek_def_02 = { index = 1 male = { setting = { attribute = "bs_cheek_def_02" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_def_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { setting = { attribute = "bs_cheek_def_02" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_def_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.6 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } } face_detail_cheek_fat = { group = face cheek_fat_01_pos = { index = 0 male = { setting = { attribute = "bs_cheek_fat_01_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_youth_fat } setting = { attribute = "bs_old" # For beards blend shapes to make them not intersect with cheeks value = { min = 0.0 max = @femaleMax } age = age_preset_youth_fat } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_fat_01_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_youth_fat } } female = { setting = { attribute = "bs_cheek_fat_01_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_youth_fat } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_fat_01_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_youth_fat } } boy = male girl = female } cheek_fat_02_pos = { index = 1 male = { setting = { attribute = "bs_cheek_fat_02_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_youth_fat } setting = { attribute = "bs_old" # For beards blend shapes to make them not intersect with cheeks value = { min = 0.0 max = @femaleMax } age = age_preset_youth_fat } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_fat_02_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_youth_fat } } female = { setting = { attribute = "bs_cheek_fat_02_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_youth_fat } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_fat_02_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_youth_fat } } boy = male girl = female } cheek_fat_03_pos = { index = 2 male = { setting = { attribute = "bs_cheek_fat_03_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_youth_fat } setting = { attribute = "bs_old" # For beards blend shapes to make them not intersect with cheeks value = { min = 0.0 max = @femaleBsMax } age = age_preset_youth_fat } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_fat_03_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_youth_fat } } female = { setting = { attribute = "bs_cheek_fat_03_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_youth_fat } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_fat_03_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_youth_fat } } boy = male girl = female } cheek_fat_04_pos = { index = 3 male = { setting = { attribute = "bs_cheek_fat_04_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_youth_fat } setting = { attribute = "bs_old" # For beards blend shapes to make them not intersect with cheeks value = { min = 0.0 max = @femaleBsMax } age = age_preset_youth_fat } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_fat_04_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_youth_fat } } female = { setting = { attribute = "bs_cheek_fat_04_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_youth_fat } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_fat_04_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_youth_fat } } boy = male girl = female } cheek_fat_01_neg = { index = 4 male = { setting = { attribute = "bs_cheek_fat_01_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } setting = { attribute = "teeth_bs_cheek_fat_neg" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_fat_01_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { setting = { attribute = "bs_cheek_fat_01_min" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } setting = { attribute = "teeth_bs_cheek_fat_neg" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_cheek_fat_01_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } } face_detail_chin_cleft = { group = face chin_cleft = { index = 0 male = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_chin_cleft_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_chin_cleft_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.8 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } chin_dimple = { index = 1 male = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_chin_dimple_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_chin_dimple_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.8 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } } face_detail_chin_def = { group = face chin_def_neg = { index = 0 male = { setting = { attribute = "bs_chin_def_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_chin_def_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } boy = male girl = female } chin_def = { index = 1 male = { decal = { body_part = head textures = { # diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_chin_def_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_chin_def_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { # diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_chin_def_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_chin_def_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.6 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } } face_detail_eye_lower_lid_def = { group = eyes eye_lower_lid_def = { index = 0 male = { setting = { attribute = "bs_eye_lower_lid_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { # diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_lower_lid_def_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_lower_lid_def_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = { mode = multiply curve = { { 0.0 0.0 } { 0.12 0.0 } { 0.18 1.0 } { 1.0 1.0 } } } } } female = { setting = { attribute = "bs_eye_lower_lid_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { # diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_lower_lid_def_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_lower_lid_def_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.8 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = { mode = multiply curve = { { 0.0 0.0 } { 0.12 0.0 } { 0.20 1.0 } { 1.0 1.0 } } } } } boy = male girl = female } eye_lower_lid_def_02 = { index = 1 male = { setting = { attribute = "bs_eye_lower_lid_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { # diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_lower_lid_def_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_lower_lid_def_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = { mode = multiply curve = { { 0.0 0.0 } { 0.12 0.0 } { 0.18 1.0 } { 1.0 1.0 } } } } } female = { setting = { attribute = "bs_eye_lower_lid_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { # diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_lower_lid_def_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_lower_lid_def_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.8 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = { mode = multiply curve = { { 0.0 0.0 } { 0.12 0.0 } { 0.20 1.0 } { 1.0 1.0 } } } } } boy = male girl = female } } face_detail_eye_socket = { group = eyes eye_socket_01 = { index = 0 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.7 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.3 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.7 0.7 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.3 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } eye_socket_02 = { index = 1 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_02_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.7 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.3 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_02_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.7 0.7 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.3 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } eye_socket_03 = { index = 2 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_03_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.7 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.3 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_03_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.7 0.7 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.3 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } eye_socket_color_01 = { index = 3 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.5 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.5 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } eye_socket_color_02 = { index = 4 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_02_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.5 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_02_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.5 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } eye_socket_color_03 = { index = 5 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_03_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.5 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_03_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_eye_socket_color_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.5 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } } face_detail_nasolabial = { group = nose nasolabial_01 = { index = 0 male = { setting = { attribute = "bs_nasolabial_01" value = { min = 0.0 max = @maleBsMax } age = age_preset_nasolabial } setting = { attribute = "bs_old" # For beards blend shapes to make them not intersect with cheeks value = { min = 0.0 max = @maleBsMax } age = age_preset_nasolabial } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nasolabial_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_nasolabial } } female = { setting = { attribute = "bs_nasolabial_01" value = { min = 0.0 max = @femaleBsMax } age = age_preset_nasolabial } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nasolabial_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.6 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_nasolabial } } boy = male girl = female } nasolabial_02 = { index = 1 male = { setting = { attribute = "bs_nasolabial_02" value = { min = 0.0 max = @maleBsMax } age = age_preset_nasolabial } setting = { attribute = "bs_old" # For beards blend shapes to make them not intersect with cheeks value = { min = 0.0 max = @maleBsMax } age = age_preset_nasolabial } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nasolabial_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_nasolabial } } female = { setting = { attribute = "bs_nasolabial_02" value = { min = 0.0 max = @femaleBsMax } age = age_preset_nasolabial } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nasolabial_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.6 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_nasolabial } } boy = male girl = female } nasolabial_03 = { index = 2 male = { setting = { attribute = "bs_nasolabial_03" value = { min = 0.0 max = @maleBsMax } age = age_preset_nasolabial } setting = { attribute = "bs_old" # For beards blend shapes to make them not intersect with cheeks value = { min = 0.0 max = @maleBsMax } age = age_preset_nasolabial } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nasolabial_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_nasolabial } } female = { setting = { attribute = "bs_nasolabial_03" value = { min = 0.0 max = @femaleBsMax } age = age_preset_nasolabial } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nasolabial_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.6 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_nasolabial } } boy = male girl = female } nasolabial_04 = { index = 3 male = { setting = { attribute = "bs_nasolabial_04" value = { min = 0.0 max = @maleBsMax } age = age_preset_nasolabial } setting = { attribute = "bs_old" # For beards blend shapes to make them not intersect with cheeks value = { min = 0.0 max = @maleBsMax } age = age_preset_nasolabial } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nasolabial_04_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_nasolabial } } female = { setting = { attribute = "bs_nasolabial_04" value = { min = 0.0 max = @femaleBsMax } age = age_preset_nasolabial } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nasolabial_04_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.6 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_nasolabial } } boy = male girl = female } } face_detail_nose_ridge_def = { ugliness_feature_categories = { nose } group = nose nose_ridge_def_pos = { index = 0 male = { setting = { attribute = "bs_nose_ridge_def_max" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nose_ridge_def_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { setting = { attribute = "bs_nose_ridge_def_max" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nose_ridge_def_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.6 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } nose_ridge_def_neg = { index = 1 male = { setting = { attribute = "bs_nose_ridge_def_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } female = { setting = { attribute = "bs_nose_ridge_def_min" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } } boy = male girl = female } } face_detail_nose_tip_def = { ugliness_feature_categories = { nose } group = nose nose_tip_def = { index = 0 male = { setting = { attribute = "bs_nose_tip_def" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_nose_tip_def_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = male boy = male girl = female } } face_detail_temple_def = { group = face temple_def = { index = 0 male = { setting = { attribute = "bs_temple_def" value = { min = 0.0 max = @maleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_temple_def_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { setting = { attribute = "bs_temple_def" value = { min = 0.0 max = @femaleBsMax } age = age_preset_child_features } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_temple_def_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.6 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } boy = male girl = female } } expression_brow_wrinkles = { group = face brow_wrinkles_01 = { index = 0 male = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_brow_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_expression_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_brow_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } brow_wrinkles_02 = { index = 1 male = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_brow_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_expression_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_brow_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } brow_wrinkles_03 = { index = 2 male = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_brow_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_expression_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_brow_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } brow_wrinkles_04 = { index = 3 male = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_brow_04_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_expression_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_brow_04_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } } expression_eye_wrinkles = { group = face eye_wrinkles_01 = { index = 0 male = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_eyes_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_eyes_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } eye_wrinkles_02 = { index = 1 male = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_eyes_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_eyes_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } eye_wrinkles_03 = { index = 2 male = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_eyes_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_eyes_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } } expression_forehead_wrinkles = { group = face forehead_wrinkles_01 = { index = 0 male = { decal = { body_part = head # atlas = "forehead_atlas" # atlas_pos = { 0 0 } # uv_offset = { 0.25 0.0 } textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_forehead_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_forehead_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } forehead_wrinkles_02 = { index = 1 male = { decal = { body_part = head # atlas = "forehead_atlas" # atlas_pos = { 1 0 } # uv_offset = { 0.25 0.0 } textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_forehead_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_forehead_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } forehead_wrinkles_03 = { index = 2 male = { decal = { body_part = head # atlas = "forehead_atlas" # atlas_pos = { 0 1 } # uv_offset = { 0.25 0.0 } textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_forehead_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_forehead_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } } expression_other = { cheek_wrinkles_left_01 = { index = 0 male = { setting = { attribute = "bs_expression_cheek_left" value = { min = 0.0 max = @maleBsMax } } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_cheek_left_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { setting = { attribute = "bs_expression_cheek_left" value = { min = 0.0 max = @maleBsMax } } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_cheek_left_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } cheek_wrinkles_right_01 = { index = 1 male = { setting = { attribute = "bs_expression_cheek_right" value = { min = 0.0 max = @maleBsMax } } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_cheek_right_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { setting = { attribute = "bs_expression_cheek_right" value = { min = 0.0 max = @maleBsMax } } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_cheek_right_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } cheek_wrinkles_both_01 = { index = 2 male = { setting = { attribute = "bs_expression_cheek_left" value = { min = 0.0 max = @maleBsMax } } setting = { attribute = "bs_expression_cheek_right" value = { min = 0.0 max = @maleBsMax } } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_cheek_left_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_cheek_right_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { setting = { attribute = "bs_expression_cheek_left" value = { min = 0.0 max = @maleBsMax } } setting = { attribute = "bs_expression_cheek_right" value = { min = 0.0 max = @maleBsMax } } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_cheek_left_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_cheek_right_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } nose_wrinkles_01 = { index = 3 male = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/male_head/decal_male_head_expression_nose_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } female = { decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_expression_nose_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = overlay normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_female } } } } complexion = { group = head_neck complexion_1 = { index = 0 male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_normal.dds" specular = "gfx/models/portraits/male_head/male_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_normal.dds" specular = "gfx/models/portraits/female_head/female_head_03_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } boy = male girl = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_normal.dds" specular = "gfx/models/portraits/female_head/female_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } } complexion_2 = { index = 1 male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_02_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_02_normal.dds" specular = "gfx/models/portraits/male_head/male_head_02_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_02_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_02_normal.dds" specular = "gfx/models/portraits/female_head/female_head_02_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } boy = male girl = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_02_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_02_normal.dds" specular = "gfx/models/portraits/female_head/female_head_02_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } } complexion_3 = { index = 2 male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_03_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_03_normal.dds" specular = "gfx/models/portraits/male_head/male_head_03_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_03_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_03_normal.dds" specular = "gfx/models/portraits/female_head/female_head_03_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } boy = male girl = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_03_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_03_normal.dds" specular = "gfx/models/portraits/female_head/female_head_03_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } } complexion_4 = { index = 3 male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_04_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_normal.dds" specular = "gfx/models/portraits/male_head/male_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_04_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_normal.dds" specular = "gfx/models/portraits/female_head/female_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } boy = male girl = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_04_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_normal.dds" specular = "gfx/models/portraits/female_head/female_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } } complexion_5 = { index = 4 male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_05_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_02_normal.dds" specular = "gfx/models/portraits/male_head/male_head_02_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_05_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_02_normal.dds" specular = "gfx/models/portraits/female_head/female_head_02_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } boy = male girl = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_05_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_02_normal.dds" specular = "gfx/models/portraits/female_head/female_head_02_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } } complexion_6 = { index = 5 male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_06_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_03_normal.dds" specular = "gfx/models/portraits/male_head/male_head_03_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_06_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_03_normal.dds" specular = "gfx/models/portraits/female_head/female_head_03_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } boy = male girl = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_06_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_03_normal.dds" specular = "gfx/models/portraits/female_head/female_head_03_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } } complexion_7 = { index = 6 male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_07_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_normal.dds" specular = "gfx/models/portraits/male_head/male_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_07_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_normal.dds" specular = "gfx/models/portraits/female_head/female_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } boy = male girl = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_07_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_normal.dds" specular = "gfx/models/portraits/female_head/female_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } } complexion_smooth_1 = { index = 7 male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_smooth_01_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_normal.dds" specular = "gfx/models/portraits/male_head/male_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_smooth_01_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_normal.dds" specular = "gfx/models/portraits/female_head/female_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } boy = male girl = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_smooth_01_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_normal.dds" specular = "gfx/models/portraits/female_head/female_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.7 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } } complexion_beauty_1 = { index = 8 visible = no male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_beauty_01_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_normal.dds" specular = "gfx/models/portraits/male_head/male_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.2 } { 1.0 0.8 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_beauty_01_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_normal.dds" specular = "gfx/models/portraits/female_head/female_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.5 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } boy = male girl = female } complexion_ugly_1 = { index = 9 visible = no male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_ugly_01_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_normal.dds" specular = "gfx/models/portraits/male_head/male_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.5 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/female_head/female_head_ugly_01_diffuse.dds" normal = "gfx/models/portraits/female_head/female_head_normal.dds" specular = "gfx/models/portraits/female_head/female_head_properties.dds" } decal = { #Lip color body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_lips_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.5 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 # age = age_preset_aging_definition_male } } boy = male girl = female } complexion_no_face = { index = 10 visible = no male = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_no_face_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_no_face_normal.dds" specular = "gfx/models/portraits/male_head/male_head_no_face_properties.dds" } } female = { texture_override = { weight = 100 #if there are multiple texture_overrides in a character's dna one will be picked by weighted random diffuse = "gfx/models/portraits/male_head/male_head_no_face_diffuse.dds" normal = "gfx/models/portraits/male_head/male_head_no_face_normal.dds" specular = "gfx/models/portraits/male_head/male_head_no_face_properties.dds" } } boy = male girl = female } } gene_height = { can_have_portrait_extremity_shift = no group = body full_height = { index = 0 visible = no male = { setting = { attribute = "body_height" value = { min = @maleMin max = @maleMax } age = age_preset_height age = age_preset_old_height } setting = { attribute = "head_body_height" value = { min = @maleMin max = @maleMax } age = age_preset_height } setting = { attribute = "bs_dwarf_1" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_height } setting = { attribute = "bs_body_dwarf_1" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_height } } female = male boy = male girl = male } normal_height = { index = 1 male = { setting = { attribute = "body_height" value = { min = @maleMin max = @maleMax } age = age_preset_height } setting = { attribute = "head_body_height" value = { min = @maleMin max = @maleMax } age = age_preset_height } setting = { attribute = "bs_dwarf_1" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_height } setting = { attribute = "bs_body_dwarf_1" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_height } } female = male boy = male girl = male } dwarf_height = { index = 2 visible = no male = { setting = { attribute = "body_height" value = { min = -0.5 max = -0.25 } age = age_preset_height } setting = { attribute = "head_body_height" value = { min = -0.5 max = -0.25 } age = age_preset_height } setting = { attribute = "bs_dwarf_1" # value = { min = 1.0 max = 0.5 } curve = { { 0.0 1.0 } { 1.0 0.75 } } age = age_preset_height } setting = { attribute = "bs_body_dwarf_1" # value = { min = 1.0 max = 0.5 } curve = { { 0.0 1.0 } { 1.0 0.75 } } age = age_preset_height } } female = male boy = male girl = male } giant_height = { index = 3 visible = no male = { setting = { attribute = "body_height" value = { min = 0.38 max = 0.5 } age = age_preset_height } setting = { attribute = "head_body_height" value = { min = 0.38 max = 0.5 } age = age_preset_height } } female = male boy = male girl = male } } gene_bs_body_type = { group = body body_average = { index = 0 visible = no male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 0.5 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 0.5 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } } body_fat_head_fat_low = { index = 1 male = { # Fat body from 0.5 to 1.0 gene value setting = { # Head fat attribute = "bs_fat_1" # value = { min = -0.35 max = 0.35 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.35 } } age = age_preset_child_fat } setting = { attribute = "bs_fat_1_body" # value = { min = -1.0 max = 1.0} curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } setting = { attribute = "bs_body_fat_1" # value = { min = -1.0 max = 1.0} curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.5 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } # Gaunt body from 0.5 to 0.0 gene value setting = { attribute = "bs_gaunt_head" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.32 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_gaunt_body" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_body_gaunt_1" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } # setting = { # attribute = "bs_body_slim_1" # # value = { min = 0.5 max = -0.5 } # curve = { # { 0.0 0.5 } # { 0.5 0.0 } # { 1.0 0.0 } # } # age = age_preset_child_lean_reversed # } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.1 1.0 } { 0.5 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } } female = { # Fat body from 0.5 to 1.0 gene value setting = { # Head Fat attribute = "bs_fat_1" # value = { min = -0.25 max = 0.25 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.25 } } age = age_preset_child_fat } setting = { attribute = "bs_fat_1_body" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } setting = { attribute = "bs_body_fat_1" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.5 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } # Gaunt body from 0.5 to 0.0 gene value setting = { attribute = "bs_gaunt_head" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.32 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_gaunt_body" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_body_gaunt_1" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } } boy = male girl = female } body_fat_head_fat_medium = { index = 2 male = { # Fat body from 0.5 to 1.0 gene value setting = { # Head fat attribute = "bs_fat_1" # value = { min = -0.55 max = 0.55 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.55 } } age = age_preset_child_fat } setting = { attribute = "bs_fat_1_body" # value = { min = -1.0 max = 1.0} curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } setting = { attribute = "bs_body_fat_1" # value = { min = -1.0 max = 1.0} curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.75 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } # Gaunt body from 0.5 to 0.0 gene value setting = { attribute = "bs_gaunt_head" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.3 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_gaunt_body" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_body_gaunt_1" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } } female = { # Fat body from 0.5 to 1.0 gene value setting = { # Head fat attribute = "bs_fat_1" # value = { min = -0.5 max = 0.5 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.5 } } age = age_preset_child_fat } setting = { attribute = "bs_fat_1_body" # value = { min = -1.0 max = 1.0} curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } setting = { attribute = "bs_body_fat_1" # value = { min = -1.0 max = 1.0} curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.75 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } # Gaunt body from 0.5 to 0.0 gene value setting = { attribute = "bs_gaunt_head" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.3 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_gaunt_body" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_body_gaunt_1" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } } boy = male girl = female } body_fat_head_fat_full = { index = 3 male = { # Fat body from 0.5 to 1.0 gene value setting = { # Head fat attribute = "bs_fat_1" # value = { min = -0.35 max = 0.35 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } setting = { attribute = "bs_fat_1_body" # value = { min = -1.0 max = 1.0} curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } setting = { attribute = "bs_body_fat_1" # value = { min = -1.0 max = 1.0} curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } # Gaunt body from 0.5 to 0.0 gene value setting = { attribute = "bs_gaunt_head" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.25 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_gaunt_body" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_body_gaunt_1" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } } female = { # Fat body from 0.5 to 1.0 gene value setting = { # Head fat attribute = "bs_fat_1" # value = { min = -0.35 max = 0.35 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 0.85 } } age = age_preset_child_fat } setting = { attribute = "bs_fat_1_body" # value = { min = -1.0 max = 1.0} curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } setting = { attribute = "bs_body_fat_1" # value = { min = -1.0 max = 1.0} curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_child_fat } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_fat_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_fat_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 age = age_preset_child_fat_decal } # Gaunt body from 0.5 to 0.0 gene value setting = { attribute = "bs_gaunt_head" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.25 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_gaunt_body" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } setting = { attribute = "bs_body_gaunt_1" # value = { min = 1.0 max = -1.5 } curve = { { 0.0 1.0 } { 0.15 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_aging_gauntness } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_gaunt_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_gaunt_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.4 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 0 } } boy = male girl = female } no_portrait = { index = 4 visible = no male = { setting = { attribute = "bs_no_portrait" value = { min = 1.0 max = 1.0 } } setting = { attribute = "bs_body_no_portrait" value = { min = 1.0 max = 1.0 } } } } } gene_bs_body_shape = { # This gene is used for two things: Basic body shape and gradual musculature (the latter tied to gene strength and controlled by modifiers) group = body visible = no body_shape_average_clothed = { # Use this for clothes index = 0 male = { setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } setting = { attribute = "bs_body_clothed" value = { min = 1.0 max = 1.0 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } setting = { attribute = "bs_body_clothed" value = { min = 1.0 max = 1.0 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_average = { # Use this for clothes that leave parts of the body visible! index = 1 visible = no male = { setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { # setting = { attribute = "bs_body_shape_rectangle" value = { min = 1.0 max = 1.0 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_apple_half = { index = 2 visible = no male = { setting = { attribute = "body_body_shape_apple" value = { min = 0.25 max = 0.25 } age = age_preset_puberty } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "body_body_shape_apple" value = { min = 0.25 max = 0.25 } age = age_preset_puberty } # setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_apple_full = { index = 3 visible = no male = { setting = { attribute = "body_body_shape_apple" value = { min = 0.495 max = 0.495 } age = age_preset_puberty } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "body_body_shape_apple" value = { min = 0.495 max = 0.495 } age = age_preset_puberty } # setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_hourglass_half = { index = 4 visible = no male = { setting = { attribute = "body_body_shape_hourglass" value = { min = 0.25 max = 0.25 } age = age_preset_puberty } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "body_body_shape_hourglass" value = { min = 0.25 max = 0.25 } age = age_preset_puberty } # setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_hourglass_full = { index = 5 visible = no male = { setting = { attribute = "body_body_shape_hourglass" value = { min = 0.495 max = 0.495 } age = age_preset_puberty } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "body_body_shape_hourglass" value = { min = 0.495 max = 0.495 } age = age_preset_puberty } # setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_pear_half = { index = 6 visible = no male = { setting = { attribute = "body_body_shape_pear" value = { min = 0.25 max = 0.25 } age = age_preset_puberty } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "body_body_shape_pear" value = { min = 0.25 max = 0.25 } age = age_preset_puberty } # setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_pear_full = { index = 7 visible = no male = { setting = { attribute = "body_body_shape_pear" value = { min = 0.495 max = 0.495 } age = age_preset_puberty } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "body_body_shape_pear" value = { min = 0.495 max = 0.495 } age = age_preset_puberty } # setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_rectangle_half = { index = 8 visible = no male = { setting = { attribute = "body_body_shape_rectangle" value = { min = 0.25 max = 0.25 } age = age_preset_puberty } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "body_body_shape_rectangle" value = { min = 0.25 max = 0.25 } age = age_preset_puberty } # setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_rectangle_full = { index = 9 visible = no male = { setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_puberty } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_puberty } # setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_triangle_half = { index = 10 visible = no male = { setting = { attribute = "body_body_shape_triangle" value = { min = 0.25 max = 0.25 } age = age_preset_puberty } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "body_body_shape_triangle" value = { min = 0.25 max = 0.25 } age = age_preset_puberty } # setting = { attribute = "body_body_shape_rectangle" value = { min = 0.495 max = 0.495 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } body_shape_triangle_full = { index = 11 visible = no male = { setting = { attribute = "body_body_shape_triangle" value = { min = 0.495 max = 0.495} age = age_preset_puberty } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } female = { setting = { attribute = "body_body_shape_triangle" value = { min = 0.495 max = 0.495 } age = age_preset_puberty } # setting = { attribute = "body_body_shape_triangle" value = { min = 0.495 max = 0.495 } age = age_preset_child_bs_body_shape } setting = { attribute = "bs_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "bs_body_muscular_1" value = { min = 0.0 max = 1.0 } } setting = { attribute = "neck_width" value = { min = 0.0 max = 0.4 } } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_muscular_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 0 } } boy = male girl = female } } gene_bs_bust = { group = body bust_clothes = { index = 0 visible = no male = { setting = { # The "clothed" blend shape shrinks the body slightly in areas that are more likely to intersect with clothes attribute = "bs_body_clothed" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "not(short_skirt)" attribute = "bs_body_long_skirt" value = { min = 1.0 max = 1.0 } } } female = { setting = { required_tags = "not(short_skirt)" attribute = "bs_body_long_skirt" value = { min = 1.0 max = 1.0 } } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_breast_size_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { # The "clothed" blend shape shrinks the body slightly in areas that are more likely to intersect with clothes attribute = "bs_body_clothed" value = { min = 1.0 max = 1.0 } } } boy = male girl = female } bust_clothes_light = { index = 1 visible = no male = { setting = { # The "clothed" blend shape shrinks the body slightly in areas that are more likely to intersect with clothes attribute = "bs_body_clothed" value = { min = 1.0 max = 1.0 } } } female = { setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_breast_size_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } } boy = male girl = female } bust_default = { index = 2 visible = no female = { setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 0.75 1.0 } } age = age_preset_aging_secondary_full } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } } girl = { setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } } } bust_shape_1_half = { index = 3 visible = no female = { setting = { attribute = "bs_body_breast_shape_1" # value = { min = 0.5 max = 0.5 } curve = { { 0.0 0.25 } { 0.5 0.5 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 0.75 1.0 } } age = age_preset_aging_secondary_full } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } } girl = { setting = { attribute = "bs_body_breast_shape_1" # value = { min = 0.5 max = 0.5 } curve = { { 0.0 0.25 } { 0.5 0.5 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } } } bust_shape_1_full = { visible = no index = 4 female = { setting = { attribute = "bs_body_breast_shape_1" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.5 } { 0.75 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 0.75 1.0 } } age = age_preset_aging_secondary_full } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } } girl = { setting = { attribute = "bs_body_breast_shape_1" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.5 } { 0.75 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } } } bust_shape_2_half = { index = 5 visible = no female = { setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 0.5 } curve = { { 0.0 0.12 } { 0.5 0.25 } { 0.85 0.5 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 0.75 1.0 } } age = age_preset_aging_secondary_full } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } } girl = { setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 0.5 } curve = { { 0.0 0.12 } { 0.5 0.25 } { 0.85 0.5 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } } } bust_shape_2_full = { index = 6 visible = no female = { setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.3 max = 1.3 } curve = { { 0.0 0.25 } { 0.5 0.5 } { 0.85 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 0.75 1.0 } } age = age_preset_aging_secondary_full } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } } girl = { setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.3 max = 1.3 } curve = { { 0.0 0.25 } { 0.5 0.5 } { 0.85 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } } } bust_shape_3_half = { index = 7 visible = no female = { setting = { attribute = "bs_body_breast_shape_3" # value = { min = 0.5 max = 0.5 } curve = { { 0.0 0.25 } { 1.0 0.5 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 0.75 1.0 } } age = age_preset_aging_secondary_full } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } } girl = { setting = { attribute = "bs_body_breast_shape_3" # value = { min = 0.5 max = 0.5 } curve = { { 0.0 0.25 } { 1.0 0.5 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } } } bust_shape_3_full = { index = 8 visible = no female = { setting = { attribute = "bs_body_breast_shape_3" # value = { min = 0.5 max = 0.8 } curve = { { 0.0 0.5 } { 1.0 0.8 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 0.75 1.0 } } age = age_preset_aging_secondary_full } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } } girl = { setting = { attribute = "bs_body_breast_shape_3" # value = { min = 0.5 max = 0.8 } curve = { { 0.0 0.5 } { 1.0 0.8 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } } } bust_shape_4_half = { index = 9 visible = no female = { setting = { attribute = "bs_body_breast_shape_4" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.25 } { 0.75 0.5 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 0.75 1.0 } } age = age_preset_aging_secondary_full } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } } girl = { setting = { attribute = "bs_body_breast_shape_4" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.25 } { 0.75 0.5 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } } } bust_shape_4_full = { index = 10 visible = no female = { setting = { attribute = "bs_body_breast_shape_4" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.5 } { 0.75 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_shape_2" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 0.75 1.0 } } age = age_preset_aging_secondary_full } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_min_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_breast_size_max_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #character age%, decal alpha { 0.5 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = replace # properties = } priority = 1 } } girl = { setting = { attribute = "bs_body_breast_shape_4" # value = { min = 0.5 max = 1.5 } curve = { { 0.0 0.5 } { 0.75 1.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_min" # value = { min = 1.0 max = -1.0 } curve = { { 0.0 1.0 } { 0.5 0.0 } { 1.0 0.0 } } age = age_preset_puberty } setting = { attribute = "bs_body_breast_size_2_max" # value = { min = -1.0 max = 1.0 } curve = { { 0.0 0.0 } { 0.5 0.0 } { 1.0 1.0 } } age = age_preset_puberty } } } } gene_age = { old_1 = { index = 0 male = { ## Children ## setting = { attribute = "head_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints } setting = { attribute = "body_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints_body } setting = { attribute = "bs_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_head } setting = { attribute = "bs_infant_1_body" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } ## Old Age ## setting = { attribute = "bs_old_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_old" # For beards blend shapes value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_body_old_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "jaw_forward" value = { min = @maleMax max = @maleMax } age = age_preset_aging_secondary } setting = { attribute = "jaw_angle" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_height" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary } setting = { attribute = "mouth_corner_height" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_width" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary } setting = { attribute = "mouth_open" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_upper_lip_size" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_lower_lip_size" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "bs_nose_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } # setting = { # attribute = "head_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } # setting = { # attribute = "body_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } decal = { body_part = head textures = { # diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" # normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = hard_light # normal = replace # properties = } age = age_preset_child_skin priority = 0 decal_apply_order = pre_skin_color # pre_skin_color | post_skin_color } decal = { body_part = torso textures = { normal = "gfx/models/portraits/decals/female_body/decal_female_body_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.10 0.8 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_old_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_old_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.25 0.0 } { 0.7 1.0 } } } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_old_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_old_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } hair_hsv_shift_curve = { curve = { { 0.0 { 0.0 -1.0 0.3 } } } age = age_preset_aging_hsv_curve } eye_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.5 0.0 } } } age = age_preset_aging_hsv_curve } skin_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.1 -0.02 } } } age = age_preset_aging_hsv_curve } } female = { ## Children ## setting = { attribute = "head_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints } setting = { attribute = "body_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints_body } setting = { attribute = "bs_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_head } setting = { attribute = "bs_infant_1_body" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_breast_size_min" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_pre_puberty } ## Old Age ## setting = { attribute = "bs_old_1" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_body_old_1" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_nose_size_max" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_secondary } # setting = { # attribute = "head_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } # setting = { # attribute = "body_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } decal = { body_part = head textures = { # diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" # normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = hard_light # normal = replace # properties = } age = age_preset_child_skin priority = 0 decal_apply_order = pre_skin_color # pre_skin_color | post_skin_color } decal = { body_part = torso textures = { normal = "gfx/models/portraits/decals/female_body/decal_female_body_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.10 0.8 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_old_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_old_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_old_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_old_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } hair_hsv_shift_curve = { curve = { { 0.0 { 0.0 -1.0 0.3 } } } age = age_preset_aging_hsv_curve } eye_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.5 0.0 } } } age = age_preset_aging_hsv_curve } skin_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.1 -0.02 } } } age = age_preset_aging_hsv_curve } } boy = male girl = female } old_2 = { index = 1 male = { ## Children ## setting = { attribute = "head_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints } setting = { attribute = "body_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints_body } setting = { attribute = "bs_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_head } setting = { attribute = "bs_infant_1_body" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } ## Old Age ## setting = { attribute = "bs_old_2" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_old" # For beards blend shapes value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_body_old_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "jaw_forward" value = { min = @maleMax max = @maleMax } age = age_preset_aging_secondary } setting = { attribute = "jaw_angle" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_height" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary } setting = { attribute = "mouth_corner_height" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_width" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary } setting = { attribute = "mouth_open" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_upper_lip_size" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_lower_lip_size" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "bs_nose_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } # setting = { # attribute = "head_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } # setting = { # attribute = "body_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" # normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = hard_light # normal = replace # properties = } age = age_preset_child_skin priority = 0 decal_apply_order = pre_skin_color # pre_skin_color | post_skin_color } decal = { body_part = torso textures = { normal = "gfx/models/portraits/decals/female_body/decal_female_body_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.10 0.8 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_old_02_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_old_02_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.25 0.0 } { 0.7 1.0 } } } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_old_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_old_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } hair_hsv_shift_curve = { curve = { { 0.0 { 0.0 -1.0 0.3 } } } age = age_preset_aging_hsv_curve } eye_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.5 0.0 } } } age = age_preset_aging_hsv_curve } skin_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.1 -0.02 } } } age = age_preset_aging_hsv_curve } } female = { ## Children ## setting = { attribute = "head_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints } setting = { attribute = "body_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints_body } setting = { attribute = "bs_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_head } setting = { attribute = "bs_infant_1_body" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_breast_size_min" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_pre_puberty } ## Old Age ## setting = { attribute = "bs_old_2" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_body_old_1" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_nose_size_max" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_secondary } # setting = { # attribute = "head_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } # setting = { # attribute = "body_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" # normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = hard_light # normal = replace # properties = } age = age_preset_child_skin priority = 0 decal_apply_order = pre_skin_color # pre_skin_color | post_skin_color } decal = { body_part = torso textures = { normal = "gfx/models/portraits/decals/female_body/decal_female_body_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.10 0.8 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_old_02_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_old_02_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_old_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_old_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } hair_hsv_shift_curve = { curve = { { 0.0 { 0.0 -1.0 0.3 } } } age = age_preset_aging_hsv_curve } eye_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.5 0.0 } } } age = age_preset_aging_hsv_curve } skin_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.1 -0.02 } } } age = age_preset_aging_hsv_curve } } boy = male girl = female } old_3 = { index = 2 male = { ## Children ## setting = { attribute = "head_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints } setting = { attribute = "body_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints_body } setting = { attribute = "bs_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_head } setting = { attribute = "bs_infant_1_body" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } ## Old Age ## setting = { attribute = "bs_old_3" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_old" # For beards blend shapes value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_body_old_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "jaw_forward" value = { min = @maleMax max = @maleMax } age = age_preset_aging_secondary } setting = { attribute = "jaw_angle" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_height" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary } setting = { attribute = "mouth_corner_height" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_width" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary } setting = { attribute = "mouth_open" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_upper_lip_size" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_lower_lip_size" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "bs_nose_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } # setting = { # attribute = "head_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } # setting = { # attribute = "body_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" # normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = hard_light # normal = replace # properties = } age = age_preset_child_skin priority = 0 decal_apply_order = pre_skin_color # pre_skin_color | post_skin_color } decal = { body_part = torso textures = { normal = "gfx/models/portraits/decals/female_body/decal_female_body_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.10 0.8 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_old_03_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_old_03_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.25 0.0 } { 0.7 1.0 } } } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_old_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_old_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } hair_hsv_shift_curve = { curve = { { 0.0 { 0.0 -1.0 0.3 } } } age = age_preset_aging_hsv_curve } eye_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.5 0.0 } } } age = age_preset_aging_hsv_curve } skin_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.1 -0.02 } } } age = age_preset_aging_hsv_curve } } female = { ## Children ## setting = { attribute = "head_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints } setting = { attribute = "body_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints_body } setting = { attribute = "bs_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_head } setting = { attribute = "bs_infant_1_body" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_breast_size_min" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_pre_puberty } ## Old Age ## setting = { attribute = "bs_old_3" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_body_old_1" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_nose_size_max" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_secondary } # setting = { # attribute = "head_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } # setting = { # attribute = "body_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" # normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = hard_light # normal = replace # properties = } age = age_preset_child_skin priority = 0 decal_apply_order = pre_skin_color # pre_skin_color | post_skin_color } decal = { body_part = torso textures = { normal = "gfx/models/portraits/decals/female_body/decal_female_body_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.10 0.8 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_old_03_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_old_03_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_old_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_old_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } hair_hsv_shift_curve = { curve = { { 0.0 { 0.0 -1.0 0.3 } } } age = age_preset_aging_hsv_curve } eye_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.5 0.0 } } } age = age_preset_aging_hsv_curve } skin_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.1 -0.02 } } } age = age_preset_aging_hsv_curve } } boy = male girl = female } old_4 = { index = 3 male = { ## Children ## setting = { attribute = "head_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints } setting = { attribute = "body_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints_body } setting = { attribute = "bs_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_head } setting = { attribute = "bs_infant_1_body" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } ## Old Age ## setting = { attribute = "bs_old_4" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_old" # For beards blend shapes value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_body_old_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_primary } setting = { attribute = "jaw_forward" value = { min = @maleMax max = @maleMax } age = age_preset_aging_secondary } setting = { attribute = "jaw_angle" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_height" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary } setting = { attribute = "mouth_corner_height" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_width" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary } setting = { attribute = "mouth_open" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_upper_lip_size" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } setting = { attribute = "mouth_lower_lip_size" value = { min = @maleMax max = @maleMax } age = age_preset_aging_tertiary_reversed } # setting = { # attribute = "bs_nose_size_max" # value = { min = @maleMax max = @maleMax } # age = age_preset_aging_secondary # } setting = { attribute = "bs_ear_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_aging_secondary } # setting = { # attribute = "head_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } # setting = { # attribute = "body_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.10 0.8 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" # normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = hard_light # normal = replace # properties = } age = age_preset_child_skin priority = 0 decal_apply_order = pre_skin_color # pre_skin_color | post_skin_color } decal = { body_part = torso textures = { normal = "gfx/models/portraits/decals/female_body/decal_female_body_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_old_04_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_old_04_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.25 0.0 } { 0.7 1.0 } } } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_old_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_old_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } hair_hsv_shift_curve = { curve = { { 0.0 { 0.0 -1.0 0.3 } } } age = age_preset_aging_hsv_curve } eye_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.5 0.0 } } } age = age_preset_aging_hsv_curve } skin_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.1 -0.02 } } } age = age_preset_aging_hsv_curve } } female = { ## Children ## setting = { attribute = "head_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints } setting = { attribute = "body_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints_body } setting = { attribute = "bs_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_head } setting = { attribute = "bs_infant_1_body" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_breast_size_min" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_pre_puberty } ## Old Age ## setting = { attribute = "bs_old_4" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_body_old_1" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_primary } setting = { attribute = "bs_nose_size_max" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_secondary } setting = { attribute = "bs_ear_size_max" value = { min = @femaleBsMax max = @femaleBsMax } age = age_preset_aging_secondary } # setting = { # attribute = "head_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } # setting = { # attribute = "body_hunchbacked" # value = { min = 0.5 max = 0.5 } # age = age_preset_aging_hunchback # } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" # normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = hard_light # normal = replace # properties = } age = age_preset_child_skin priority = 0 decal_apply_order = pre_skin_color # pre_skin_color | post_skin_color } decal = { body_part = torso textures = { normal = "gfx/models/portraits/decals/female_body/decal_female_body_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.10 0.8 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_old_04_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_old_04_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } decal = { body_part = torso textures = { diffuse = "gfx/models/portraits/decals/female_body/decal_female_body_old_01_diffuse.dds" normal = "gfx/models/portraits/decals/female_body/decal_female_body_old_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.32 0.0 } { 0.7 1.0 } } } priority = 0 } hair_hsv_shift_curve = { curve = { { 0.0 { 0.0 -1.0 0.3 } } } age = age_preset_aging_hsv_curve } eye_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.5 0.0 } } } age = age_preset_aging_hsv_curve } skin_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.1 -0.02 } } } age = age_preset_aging_hsv_curve } } boy = male girl = female } old_beauty_1 = { index = 4 generic = no # Can't be selected unless the character has a trait with forced_portrait_age_index matching this male = { ## Children ## setting = { attribute = "head_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints } setting = { attribute = "body_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints_body } setting = { attribute = "bs_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_head } setting = { attribute = "bs_infant_1_body" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } ## Old age ## setting = { attribute = "bs_old_2" value = { min = @maleBsMax max = @maleBsMax } age = { mode = multiply curve = { { 0.0 0.0 } { 0.38 0.0 } { 0.85 1.0 } } } } setting = { attribute = "bs_old" # For beards blend shapes value = { min = @maleBsMax max = @maleBsMax } age = { mode = multiply curve = { { 0.0 0.0 } { 0.38 0.0 } { 0.85 1.0 } } } } decal = { body_part = head textures = { normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_diffuse.dds" # normal = "gfx/models/portraits/decals/female_head/decal_female_head_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = hard_light # normal = replace # properties = } age = age_preset_child_skin priority = 0 decal_apply_order = pre_skin_color # pre_skin_color | post_skin_color } decal = { body_part = torso textures = { normal = "gfx/models/portraits/decals/female_body/decal_female_body_infant_01_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply # diffuse = replace normal = replace # properties = } age = { mode = multiply curve = { { 0.0 1.0 } { 0.10 0.8 } { 0.25 0.0 } } } priority = 4 } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_old_02_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_old_02_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.38 0.0 } { 0.7 0.8 } } } priority = 0 } hair_hsv_shift_curve = { curve = { { 0.0 { 0.0 -1.0 0.3 } } } age = age_preset_aging_hsv_curve } eye_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.5 0.0 } } } age = age_preset_aging_hsv_curve } skin_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.1 -0.02 } } } age = age_preset_aging_hsv_curve } } female = { ## Children ## setting = { attribute = "head_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints } setting = { attribute = "body_infant_proportions" value = { min = @maleMax max = @maleMax } age = age_preset_infant_joints_body } setting = { attribute = "bs_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_head } setting = { attribute = "bs_infant_1_body" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_infant_1" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_child_bs_body } setting = { attribute = "bs_body_breast_size_min" value = { min = @maleBsMax max = @maleBsMax } age = age_preset_pre_puberty } ## Old age ## setting = { attribute = "bs_old_2" value = { min = @maleBsMax max = @maleBsMax } age = { mode = multiply curve = { { 0.0 0.0 } { 0.38 0.0 } { 0.85 1.0 } } } } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_old_02_diffuse.dds" normal = "gfx/models/portraits/decals/female_head/decal_female_head_old_02_normal.dds" } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } age = { mode = multiply curve = { { 0.0 0.0 } { 0.38 0.0 } { 0.7 0.8 } } } priority = 0 } hair_hsv_shift_curve = { curve = { { 0.0 { 0.0 -1.0 0.3 } } } age = age_preset_aging_hsv_curve } eye_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.5 0.0 } } } age = age_preset_aging_hsv_curve } skin_hsv_shift_curve = { curve = { { 0.0 { 0.0 -0.1 -0.02 } } } age = age_preset_aging_hsv_curve } } boy = male girl = female } no_aging = { index = 5 } } gene_eyebrows_shape = { group = eyes no_eyebrows = { index = 0 } avg_spacing_avg_thickness = { index = 1 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_avg_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_avg_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_low_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } avg_spacing_high_thickness = { index = 2 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } avg_spacing_low_thickness = { index = 3 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_low_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_lower_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } avg_spacing_lower_thickness = { index = 4 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_lower_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_lowest_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } far_spacing_avg_thickness = { index = 5 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_far_spacing_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_avg_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_avg_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_far_spacing_low_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } far_spacing_high_thickness = { index = 6 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_far_spacing_high_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_far_spacing_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } far_spacing_low_thickness = { index = 7 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_far_spacing_low_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_far_spacing_lower_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } far_spacing_lower_thickness = { index = 8 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_far_spacing_lower_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_far_spacing_lowest_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } close_spacing_avg_thickness = { index = 9 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_close_spacing_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_avg_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_avg_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_close_spacing_low_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } close_spacing_high_thickness = { index = 10 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_close_spacing_high_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_close_spacing_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } close_spacing_low_thickness = { index = 11 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_close_spacing_low_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 11 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_close_spacing_lower_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } close_spacing_lower_thickness = { index = 12 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_close_spacing_lower_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 11 age = age_preset_eyebrows decal_apply_order = post_skin_color } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_close_spacing_lowest_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_normal.dds" properties = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_avg_spacing_high_thickness_properties.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 0.65 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay properties = replace } priority = 10 age = age_preset_eyebrows decal_apply_order = post_skin_color } } boy = male girl = female } } gene_eyebrows_fullness = { group = eyes no_eyebrows = { index = 0 } layer_2_avg_thickness = { index = 1 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay } priority = 10 age = age_preset_eyebrows_fullness } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_light_hairs_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_light_hairs_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = replace normal = overlay } priority = 12 decal_apply_order = post_skin_color # pre_skin_color | post_skin_color age = age_preset_eyebrows_old } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_low_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay } priority = 10 age = age_preset_eyebrows_fullness } } boy = male girl = female } layer_2_high_thickness = { index = 2 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_high_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay } priority = 10 age = age_preset_eyebrows_fullness } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_light_hairs_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_light_hairs_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = replace normal = overlay } priority = 12 decal_apply_order = post_skin_color # pre_skin_color | post_skin_color age = age_preset_eyebrows_old } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay } priority = 10 age = age_preset_eyebrows_fullness } } boy = male girl = female } layer_2_low_thickness = { index = 3 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_lower_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay } priority = 10 age = age_preset_eyebrows_fullness } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_light_hairs_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_light_hairs_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = replace normal = overlay } priority = 12 decal_apply_order = post_skin_color # pre_skin_color | post_skin_color age = age_preset_eyebrows_old } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_lower_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay } priority = 10 age = age_preset_eyebrows_fullness } } boy = male girl = female } layer_2_lower_thickness = { index = 4 male = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_lower_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay } priority = 10 age = age_preset_eyebrows_fullness } decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_light_hairs_avg_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_light_hairs_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = replace normal = overlay } priority = 12 decal_apply_order = post_skin_color # pre_skin_color | post_skin_color age = age_preset_eyebrows_old } } female = { decal = { body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_lowest_thickness_diffuse.dds" normal = "gfx/models/portraits/decals/male_eyebrows/decal_male_eyebrows_layer_2_avg_thickness_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay } priority = 10 age = age_preset_eyebrows_fullness } } boy = male girl = female } } gene_body_hair = { group = body body_hair_sparse = { index = 0 male = { decal = { #Stubble body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_avg_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_avg_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { #Body Hair body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } } female = { decal = { #Eyelashes body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_eyelashes_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_makeup } } } body_hair_avg = { index = 1 male = { decal = { #Stubble body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_avg_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_avg_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { #Body Hair body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_02_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } decal = { #Body Hair layer 2 body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } } female = { decal = { #Eyelashes body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_eyelashes_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.25 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_makeup } } } body_hair_dense = { index = 2 male = { decal = { #Stubble body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_avg_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_avg_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { #Body Hair body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_03_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } decal = { #Body Hair Layer 2 body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_02_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } } female = { decal = { #Eyelashes body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_eyelashes_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.25 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_makeup } } } body_hair_sparse_low_stubble = { index = 3 male = { decal = { #Stubble body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_low_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_low_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { #Body Hair body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } } female = { decal = { #Eyelashes body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_eyelashes_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } } body_hair_avg_low_stubble = { index = 4 male = { decal = { #Stubble body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_low_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_low_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { #Body Hair body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_02_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } decal = { #Body Hair layer 2 body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } } female = { decal = { #Eyelashes body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_eyelashes_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.25 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } } body_hair_dense_low_stubble = { index = 5 male = { decal = { #Stubble body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_low_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_low_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { #Body Hair body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_03_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } decal = { #Body Hair Layer 2 body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_02_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } } female = { decal = { #Eyelashes body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_eyelashes_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.25 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } } body_hair_sparse_lower_stubble = { index = 6 male = { decal = { #Stubble body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_lower_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_lower_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { #Body Hair body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_01_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_01_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } } female = { # decal = { #Eyelashes # body_part = head # textures = { # diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_eyelashes_01_diffuse.dds" # } # alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified # #gene strength%, decal alpha # { 0.0 0.25 } # { 1.0 1.0 } # } # blend_modes = { #overlay/replace/hard_light/multiply # diffuse = multiply # # normal = overlay # # properties = # } # priority = 1 # age = age_preset_aging_definition_male # } } } body_hair_avg_lower_stubble = { index = 7 male = { decal = { #Stubble body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_lower_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_lower_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { #Body Hair body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_02_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_02_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } } female = { # decal = { #Eyelashes # body_part = head # textures = { # diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_eyelashes_01_diffuse.dds" # } # alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified # #gene strength%, decal alpha # { 0.0 0.25 } # { 1.0 1.0 } # } # blend_modes = { #overlay/replace/hard_light/multiply # diffuse = multiply # # normal = overlay # # properties = # } # priority = 1 # age = age_preset_aging_definition_male # } } } body_hair_dense_lower_stubble = { index = 8 male = { decal = { #Stubble body_part = head textures = { diffuse = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_lower_diffuse.dds" normal = "gfx/models/portraits/decals/male_head/decal_male_head_stubble_lower_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 0.75 1.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } decal = { #Body Hair body_part = torso textures = { diffuse = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_03_diffuse.dds" normal = "gfx/models/portraits/decals/male_body/decal_male_body_body_hair_03_normal.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.0 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply normal = overlay # properties = } priority = 10 age = age_preset_aging_definition_male } } female = { decal = { #Eyelashes body_part = head textures = { diffuse = "gfx/models/portraits/decals/female_head/decal_female_head_eyelashes_01_diffuse.dds" } alpha_curve = { #controls decal alpha relative to gene strength. Will give a linear interpolation if left unspecified #gene strength%, decal alpha { 0.0 0.25 } { 1.0 1.0 } } blend_modes = { #overlay/replace/hard_light/multiply diffuse = multiply # normal = overlay # properties = } priority = 1 age = age_preset_aging_definition_male } } } } gene_hair_type = { group = hair hair_straight = { index = 0 male = { setting = { required_tags = "cap,not(hood_on)" attribute = "bs_cap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "crown,not(hood_on)" attribute = "bs_crown" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hat,not(hood_on)" attribute = "bs_hat" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "helmet,not(hood_on)" attribute = "bs_helmet" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood,not(hood_on)" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "chinstrap,not(hood_on)" attribute = "bs_chinstrap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_beard,not(hood_on)" attribute = "bs_hood_beard" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_on" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } } female = { # We're setting blend shapes for cap and crown. They will only have an effect when characters wear head gears. setting = {required_tags = "cap,not(fit_under_crown),not(hood_on)" attribute = "bs_cap" value = { min = 1.0 max = 1.0 } } setting = {required_tags = "crown,not(fit_under_crown),not(hood_on)" attribute = "bs_crown" value = { min = 1.0 max = 1.0 } } setting = {required_tags = "hat,not(hood_on)" attribute = "bs_hat" value = { min = 1.0 max = 1.0 } } setting = {required_tags = "hood,not(hood_on)" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } setting = {required_tags = "helmet,not(hood_on)" attribute = "bs_helmet" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "chinstrap,not(hood_on)" attribute = "bs_chinstrap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_on" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } } boy = male girl = female } hair_wavy = { index = 1 male = { setting = { required_tags = "cap,not(hood_on)" attribute = "bs_cap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "crown,not(hood_on)" attribute = "bs_crown" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hat,not(hood_on)" attribute = "bs_hat" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "helmet,not(hood_on)" attribute = "bs_helmet" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood,not(hood_on)" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "chinstrap,not(hood_on)" attribute = "bs_chinstrap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_beard,not(hood_on)" attribute = "bs_hood_beard" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_on" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } } female = { # We're setting blend shapes for cap and crown. They will only have an effect when characters wear head gears. setting = { required_tags = "cap,not(fit_under_crown),not(hood_on)" attribute = "bs_cap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "crown,not(fit_under_crown),not(hood_on)" attribute = "bs_crown" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hat,not(hood_on)" attribute = "bs_hat" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "helmet,not(hood_on)" attribute = "bs_helmet" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood,not(hood_on)" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "chinstrap,not(hood_on)" attribute = "bs_chinstrap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_on" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } } boy = male girl = female } hair_curly = { index = 2 male = { setting = { required_tags = "cap,not(hood_on)" attribute = "bs_cap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "crown,not(hood_on)" attribute = "bs_crown" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hat,not(hood_on)" attribute = "bs_hat" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "helmet,not(hood_on)" attribute = "bs_helmet" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood,not(hood_on)" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "chinstrap,not(hood_on)" attribute = "bs_chinstrap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_beard,not(hood_on)" attribute = "bs_hood_beard" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_on" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } } female = { # We're setting blend shapes for cap and crown. They will only have an effect when characters wear head gears. setting = { required_tags = "cap,not(fit_under_crown),not(hood_on)" attribute = "bs_cap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "crown,not(fit_under_crown),not(hood_on)" attribute = "bs_crown" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hat,not(hood_on)" attribute = "bs_hat" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "helmet,not(hood_on)" attribute = "bs_helmet" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood,not(hood_on)" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "chinstrap,not(hood_on)" attribute = "bs_chinstrap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_on" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } } boy = male girl = female } hair_afro = { index = 3 male = { setting = { required_tags = "cap,not(hood_on)" attribute = "bs_cap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "crown,not(hood_on)" attribute = "bs_crown" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hat,not(hood_on)" attribute = "bs_hat" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "helmet,not(hood_on)" attribute = "bs_helmet" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood,not(hood_on)" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "chinstrap,not(hood_on)" attribute = "bs_chinstrap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_beard,not(hood_on)" attribute = "bs_hood_beard" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_on" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } } female = { # We're setting blend shapes for cap and crown. They will only have an effect when characters wear head gears. setting = { required_tags = "cap,not(fit_under_crown),not(hood_on)" attribute = "bs_cap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "crown,not(fit_under_crown),not(hood_on)" attribute = "bs_crown" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hat,not(hood_on)" attribute = "bs_hat" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "helmet,not(hood_on)" attribute = "bs_helmet" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood,not(hood_on)" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "chinstrap,not(hood_on)" attribute = "bs_chinstrap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_on" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } } boy = male girl = female } hair_straight_thin_beard = { index = 4 male = { setting = { required_tags = "cap,not(hood_on)" attribute = "bs_cap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "crown,not(hood_on)" attribute = "bs_crown" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hat,not(hood_on)" attribute = "bs_hat" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "helmet,not(hood_on)" attribute = "bs_helmet" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood,not(hood_on)" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "chinstrap,not(hood_on)" attribute = "bs_chinstrap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_beard,not(hood_on)" attribute = "bs_hood_beard" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_on" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } } female = { # We're setting blend shapes for cap and crown. They will only have an effect when characters wear head gears. setting = { required_tags = "cap,not(fit_under_crown),not(hood_on)" attribute = "bs_cap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "crown,not(fit_under_crown),not(hood_on)" attribute = "bs_crown" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hat,not(hood_on)" attribute = "bs_hat" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "helmet,not(hood_on)" attribute = "bs_helmet" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood,not(hood_on)" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "chinstrap,not(hood_on)" attribute = "bs_chinstrap" value = { min = 1.0 max = 1.0 } } setting = { required_tags = "hood_on" attribute = "bs_hood" value = { min = 1.0 max = 1.0 } } } boy = male girl = female } } gene_baldness = { group = hair no_baldness = { index = 0 male = {} female = male boy = male girl = male } male_pattern_baldness = { index = 1 male = {} female = {} boy = male girl = male } } }