
############################################## IMPROVED GENETICS EVENT CHAIN ###############################################
# How it works: After the on_birth on action event, this event chain fires, it gives every character in the game a flag.   #
# The flags assign each character with one of three allele pairs: AA, Aa, or aa. These flags both determine the likelihood #
# of the trait manifesting in the character, and the likelihood that they will pass on this 'gene.' Gene inheritance is    #
# roughly modeled based on a simplistic model of Mendelian inheritance. The child will inherit an allele pair from their   # 
# parents based on a Punnett Square. Genes don't necessarily become traits, that is decided by a random genotype to pheno- #
# type chance. Some traits are 'Polygenic Inheritance.' These traits use 3 allele pairs,and the number of dominant alleles #
# capitals) determine the likelihood that the gene will be realized into a trait.Other genes are based on normal Mendelian #
# inheritance. These generally use two allele pairs, and if one of the pairs is recessive (two lower case) then there is a #
# chance for the character to get the negative trait.																	   #
############################################################################################################################

### For the numbers, ignore my comments. They are obsolete


namespace = MT

## Initialization Event, for the cuckolding case, since REAL_FATHER scope doesn't work as expected. It only scopes to real father if the real father is not the father.
## So an additional event chain is required for the cuckolding case. 

character_event = {

	hide_window = yes
	id = MT.9000
	
	is_triggered_only = yes
	
	immediate = {
		if = {
			limit = {
				is_father_real_father = no
			}
			character_event = {
				id = MT.20000
				days = 1
			}
		}
		else = {
			character_event = {
				id = MT.10000
				days = 1
			}
		}
	}
}
	
## For Intelligence
## Polygenic Inheritance
character_event = {

	hide_window = yes
	id = MT.10000
	
	is_triggered_only = yes
	
	immediate = {
	
	## 1. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
			
				father = {
					NOT = {
						OR = {
							has_character_flag = int_AA
							has_character_flag = int_Aa
							has_character_flag = int_aa
							has_character_flag = int_BB
							has_character_flag = int_Bb
							has_character_flag = int_bb
							has_character_flag = int_CC
							has_character_flag = int_Cc
							has_character_flag = int_cc
						}
					}
				}
			}
				
			father = {
				if = {
					limit = {
						trait = genius
					}
					random_list = {
						24 = {
						set_character_flag = int_AA
						set_character_flag = int_BB
						set_character_flag = int_CC
						}
						12 = {
						set_character_flag = int_AA
						set_character_flag = int_BB
						set_character_flag = int_Cc
						}
						12 = {
						set_character_flag = int_AA
						set_character_flag = int_Bb
						set_character_flag = int_CC
						}
						12 = {
						set_character_flag = int_Aa
						set_character_flag = int_BB
						set_character_flag = int_CC
						}
					}
				}
				else_if = {
					limit = {
						trait = quick
					}
					random_list = {
						2 =  { 
						set_character_flag = int_AA
						}
						2 = {
						set_character_flag = int_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_BB
						}
						2 = {
						set_character_flag = int_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_CC
						}
						2 = {
						set_character_flag = int_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = slow
					}
					random_list = {
						2 =  { 
						set_character_flag = int_Aa
						}
						2 = {
						set_character_flag = int_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_Bb
						}
						2 = {
						set_character_flag = int_bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_Cc
						}
						2 = {
						set_character_flag = int_cc
						}
					}
				}
				else_if = {
					limit = {
						trait = imbecile
					}
					random_list = {
						1 =  { 
						set_character_flag = int_Aa
						}
						2 = {
						set_character_flag = int_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_Bb
						}
						2 = {
						set_character_flag = int_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_Cc
						}
						2 = {
						set_character_flag = int_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = int_AA
						}
						4 =  { 
						set_character_flag = int_Aa
						}
						1 = {
						set_character_flag = int_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_BB
						}
						4 = {
						set_character_flag = int_Bb
						}
						1 = {
						set_character_flag = int_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_CC
						}
						4 =  { 
						set_character_flag = int_Cc
						}
						1 = {
						set_character_flag = int_cc
						}
					}
				}
				
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = int_AA
							has_character_flag = int_Aa
							has_character_flag = int_aa
							has_character_flag = int_BB
							has_character_flag = int_Bb
							has_character_flag = int_bb
							has_character_flag = int_CC
							has_character_flag = int_Cc
							has_character_flag = int_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = genius
					}
					random_list = {
						24 = {
						set_character_flag = int_AA
						set_character_flag = int_BB
						set_character_flag = int_CC
						}
						12 = {
						set_character_flag = int_AA
						set_character_flag = int_BB
						set_character_flag = int_Cc
						}
						12 = {
						set_character_flag = int_AA
						set_character_flag = int_Bb
						set_character_flag = int_CC
						}
						12 = {
						set_character_flag = int_Aa
						set_character_flag = int_BB
						set_character_flag = int_CC
						}
					}
				}
				else_if = {
					limit = {
						trait = quick
					}
					random_list = {
						2 =  { 
						set_character_flag = int_AA
						}
						2 = {
						set_character_flag = int_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_BB
						}
						2 = {
						set_character_flag = int_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_CC
						}
						2 = {
						set_character_flag = int_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = slow
					}
					random_list = {
						2 =  { 
						set_character_flag = int_Aa
						}
						2 = {
						set_character_flag = int_aa
						}
					}
					random_list = {
					## 4/13 chance genius IQ, 8/13 chance high IQ, 1/13 chance normal gene
						2 =  { 
						set_character_flag = int_Bb
						}
						2 = {
						set_character_flag = int_bb
						}
					}
					random_list = {
					## 4/13 chance genius IQ, 8/13 chance high IQ, 1/13 chance normal gene
						2 =  { 
						set_character_flag = int_Cc
						}
						2 = {
						set_character_flag = int_cc
						}
					}
				}
				else_if = {
					limit = {
						trait = imbecile
					}
					random_list = {
						24 = {
						set_character_flag = int_aa
						set_character_flag = int_bb
						set_character_flag = int_cc
						}
						12 = {
						set_character_flag = int_Aa
						set_character_flag = int_bb
						set_character_flag = int_cc
						}
						12 = {
						set_character_flag = int_aa
						set_character_flag = int_Bb
						set_character_flag = int_cc
						}
						12 = {
						set_character_flag = int_aa
						set_character_flag = int_bb
						set_character_flag = int_Cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = int_AA
						}
						4 =  { 
						set_character_flag = int_Aa
						}
						1 = {
						set_character_flag = int_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_BB
						}
						4 = {
						set_character_flag = int_Bb
						}
						1 = {
						set_character_flag = int_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_CC
						}
						4 =  { 
						set_character_flag = int_Cc
						}
						1 = {
						set_character_flag = int_cc
						}
					}
				}
				
			}
		}
		
	## 2. Genetic Inheritance
		
		set_variable = { which = alleles value = 0 }
		
		if = {
		
			limit = {
				father = {
					has_character_flag = int_AA
				}
				mother = {
					has_character_flag = int_AA
				}
			}
			set_character_flag = int_AA
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = int_AA
				}
				mother = {
					has_character_flag = int_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = int_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_Aa
			}
			mother = {
				has_character_flag = int_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_AA
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_Aa
			}
			mother = {
				has_character_flag = int_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = int_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = int_aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_AA
			}
			mother = {
				has_character_flag = int_aa
			}
			}
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_aa
			}
			mother = {
				has_character_flag = int_AA
			}
			}
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_Aa
			}
			mother = {
				has_character_flag = int_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_aa
			}
			mother = {
				has_character_flag = int_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_aa
			}
			mother = {
				has_character_flag = int_aa
			}
			}
			set_character_flag = int_aa
		}
		else = {
		set_character_flag = int_Aa
		change_variable = { which = alleles value = 1 }
		}
		
		
		if = {
			limit = {
				father = {
					has_character_flag = int_BB
				}
				mother = {
					has_character_flag = int_BB
				}
			}
			set_character_flag = int_BB
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = int_BB
				}
				mother = {
					has_character_flag = int_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = int_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_Bb
			}
			mother = {
				has_character_flag = int_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_Bb
			}
			mother = {
				has_character_flag = int_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = int_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = int_bb
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_BB
			}
			mother = {
				has_character_flag = int_bb
			}
			}
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_bb
			}
			mother = {
				has_character_flag = int_BB
			}
			}
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_Bb
			}
			mother = {
				has_character_flag = int_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_bb
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_bb
			}
			mother = {
				has_character_flag = int_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_bb
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_bb
			}
			mother = {
				has_character_flag = int_bb
			}
			}
			set_character_flag = int_bb
		}
		else = {
			set_character_flag = int_Bb
		change_variable = { which = alleles value = 1 }
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = int_CC
				}
				mother = {
					has_character_flag = int_CC
				}
			}
			set_character_flag = int_CC
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = int_CC
				}
				mother = {
					has_character_flag = int_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = int_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_Cc
			}
			mother = {
				has_character_flag = int_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_CC
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_Cc
			}
			mother = {
				has_character_flag = int_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = int_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = int_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_CC
			}
			mother = {
				has_character_flag = int_cc
			}
			}
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_cc
			}
			mother = {
				has_character_flag = int_CC
			}
			}
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_Cc
			}
			mother = {
				has_character_flag = int_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_cc
			}
			mother = {
				has_character_flag = int_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = int_cc
			}
			mother = {
				has_character_flag = int_cc
			}
			}
			set_character_flag = int_cc
		}
		else = {
		set_character_flag = int_Cc
		change_variable = { which = alleles value = 1 }

		}
		
	#### 3. Trait Assignment
		if = {
			limit = {
				check_variable = { which = alleles value = 6 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				30 = {
				add_trait = genius
				}
				50 = {
				add_trait = quick
				}
				20 = {
				add_trait = bright
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 5 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				5 = {
				add_trait = genius
				}
				20 = {
				add_trait = quick
				}
				50 = {
				add_trait = bright
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 4 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				2 = {
				add_trait = quick
				}
				8 = {
				add_trait = bright
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 3 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 2 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				2 = {
				add_trait = slow
				}
				8 = {
				add_trait = dim
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 1 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				5 = {
				add_trait = imbecile
				}
				20 = {
				add_trait = slow
				}
				50 = {
				add_trait = dim
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 0 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				30 = {
				add_trait = imbecile
				}
				50 = {
				add_trait = slow
				}
				20 = {
				add_trait = dim
				}
			}
		}
		else = {
		}
		
	character_event = {
			id = MT.10100
			
			}
}
}

## For Attractiveness
## Polygenic Inheritance
character_event = {

	hide_window = yes
	id = MT.10100
	
	is_triggered_only = yes
	
	immediate = {
	## 2. Initialization. Only executes for characters without flags
		if = {
			limit = {
				father = {
					NOT = {
						OR = {
							has_character_flag = attr_AA
							has_character_flag = attr_Aa
							has_character_flag = attr_aa
							has_character_flag = attr_BB
							has_character_flag = attr_Bb
							has_character_flag = attr_bb
							has_character_flag = attr_CC
							has_character_flag = attr_Cc
							has_character_flag = attr_cc
						}
					}
				}
			}
				
			father = {
				if = {
					limit = {
						trait = fair
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_AA
						}
						2 = {
						set_character_flag = attr_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_BB
						}
						2 = {
						set_character_flag = attr_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_CC
						}
						2 = {
						set_character_flag = attr_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = ugly
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_Aa
						}
						2 = {
						set_character_flag = attr_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_Bb
						}
						2 = {
						set_character_flag = attr_bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_Cc
						}
						2 = {
						set_character_flag = attr_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = attr_AA
						}
						4 = { 
						set_character_flag = attr_Aa
						}
						1 = {
						set_character_flag = attr_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = attr_BB
						}
						4 = {
						set_character_flag = attr_Bb
						}
						1 = {
						set_character_flag = attr_bb
						}
					}
					random_list = {
						1 = { 
						set_character_flag = attr_CC
						}
						4 = { 
						set_character_flag = attr_Cc
						}
						1 = {
						set_character_flag = attr_cc
						}
					}
				}
				
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = attr_AA
							has_character_flag = attr_Aa
							has_character_flag = attr_aa
							has_character_flag = attr_BB
							has_character_flag = attr_Bb
							has_character_flag = attr_bb
							has_character_flag = attr_CC
							has_character_flag = attr_Cc
							has_character_flag = attr_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = fair
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_AA
						}
						2 = {
						set_character_flag = attr_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_BB
						}
						2 = {
						set_character_flag = attr_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_CC
						}
						2 = {
						set_character_flag = attr_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = ugly
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_Aa
						}
						2 = {
						set_character_flag = attr_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_Bb
						}
						2 = {
						set_character_flag = attr_bb
						}
					}
					random_list = {
					## 4/13 chance genius IQ, 8/13 chance high IQ, 1/13 chance normal gene
						2 =  { 
						set_character_flag = attr_Cc
						}
						2 = {
						set_character_flag = attr_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = attr_AA
						}
						4 =  { 
						set_character_flag = attr_Aa
						}
						1 = {
						set_character_flag = attr_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = attr_BB
						}
						4 = {
						set_character_flag = attr_Bb
						}
						1 = {
						set_character_flag = attr_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = attr_CC
						}
						4 =  { 
						set_character_flag = attr_Cc
						}
						1 = {
						set_character_flag = attr_cc
						}
					}
				}
				
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = alleles value = 0 }
		
		if = {
		
			limit = {
				father = {
					has_character_flag = attr_AA
				}
				mother = {
					has_character_flag = attr_AA
				}
			}
			set_character_flag = attr_AA
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = attr_AA
				}
				mother = {
					has_character_flag = attr_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = attr_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_Aa
			}
			mother = {
				has_character_flag = attr_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_AA
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_Aa
			}
			mother = {
				has_character_flag = attr_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = attr_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = attr_aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_AA
			}
			mother = {
				has_character_flag = attr_aa
			}
			}
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_aa
			}
			mother = {
				has_character_flag = attr_AA
			}
			}
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_Aa
			}
			mother = {
				has_character_flag = attr_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_aa
			}
			mother = {
				has_character_flag = attr_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_aa
			}
			mother = {
				has_character_flag = attr_aa
			}
			}
			set_character_flag = attr_aa
		}
		else = {
		set_character_flag = attr_Aa
		change_variable = { which = alleles value = 1 }
		}
		
		
		if = {
			limit = {
				father = {
					has_character_flag = attr_BB
				}
				mother = {
					has_character_flag = attr_BB
				}
			}
			set_character_flag = attr_BB
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = attr_BB
				}
				mother = {
					has_character_flag = attr_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = attr_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_Bb
			}
			mother = {
				has_character_flag = attr_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_BB
			}
			mother = {
				has_character_flag = attr_bb
			}
			}
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_bb
			}
			mother = {
				has_character_flag = attr_BB
			}
			}
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_Bb
			}
			mother = {
				has_character_flag = attr_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = attr_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = attr_bb
			
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_Bb
			}
			mother = {
				has_character_flag = attr_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_bb
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_bb
			}
			mother = {
				has_character_flag = attr_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_bb
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_bb
			}
			mother = {
				has_character_flag = attr_bb
			}
			}
			set_character_flag = attr_bb
		}
		else = {
			set_character_flag = attr_Bb
		change_variable = { which = alleles value = 1 }
			
		}
		if = {
			limit = {
				father = {
					has_character_flag = attr_CC
				}
				mother = {
					has_character_flag = attr_CC
				}
			}
			set_character_flag = attr_CC
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = attr_CC
				}
				mother = {
					has_character_flag = attr_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = attr_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_Cc
			}
			mother = {
				has_character_flag = attr_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_CC
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_Cc
			}
			mother = {
				has_character_flag = attr_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = attr_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = attr_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_CC
			}
			mother = {
				has_character_flag = attr_cc
			}
			}
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_cc
			}
			mother = {
				has_character_flag = attr_CC
			}
			}
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_Cc
			}
			mother = {
				has_character_flag = attr_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_cc
			}
			mother = {
				has_character_flag = attr_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = attr_cc
			}
			mother = {
				has_character_flag = attr_cc
			}
			}
			set_character_flag = attr_cc
		}
		else = {
		set_character_flag = attr_Cc
		change_variable = { which = alleles value = 1 }
		
		}
		
	#### 4. Trait Assignment
		if = {
			limit = {
				check_variable = { which = alleles value = 6 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				80 = {
				add_trait = fair
				}
				20 = {
				add_trait = comely
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 5 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				25 = {
				add_trait = fair
				}
				50 = {
				add_trait = comely
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 4 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				2 = {
				add_trait = fair
				}
				8 = {
				add_trait = comely
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 3 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 2 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				2 = {
				add_trait = ugly
				}
				8 = {
				add_trait = homely
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 1 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				25 = {
				add_trait = ugly
				}
				50 = {
				add_trait = homely
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 0 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				80 = {
				add_trait = ugly
				}
				20 = {
				add_trait = homely
				}
			}
		}
		else = {
		}
		
	character_event = {
			id = MT.10200
			
			}
}
}

## For Strength
## Polygenic Inheritance
character_event = {

	hide_window = yes
	id = MT.10200
	
	is_triggered_only = yes
	
	immediate = {
	
	
	## 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
			
				father = {
					NOT = {
						OR = {
							has_character_flag = str_AA
							has_character_flag = str_Aa
							has_character_flag = str_aa
							has_character_flag = str_BB
							has_character_flag = str_Bb
							has_character_flag = str_bb
							has_character_flag = str_CC
							has_character_flag = str_Cc
							has_character_flag = str_cc
						}
					}
				}
			}
				
			father = {
				if = {
					limit = {
						trait = strong
					}
					random_list = {
						2 =  { 
						set_character_flag = str_AA
						}
						2 = {
						set_character_flag = str_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_BB
						}
						2 = {
						set_character_flag = str_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_CC
						}
						2 = {
						set_character_flag = str_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = weak
					}
					random_list = {
						2 =  { 
						set_character_flag = str_Aa
						}
						2 = {
						set_character_flag = str_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_Bb
						}
						2 = {
						set_character_flag = str_bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_Cc
						}
						2 = {
						set_character_flag = str_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = str_AA
						}
						4 =  { 
						set_character_flag = str_Aa
						}
						1 = {
						set_character_flag = str_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = str_BB
						}
						4 = {
						set_character_flag = str_Bb
						}
						1 = {
						set_character_flag = str_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = str_CC
						}
						4 =  { 
						set_character_flag = str_Cc
						}
						1 = {
						set_character_flag = str_cc
						}
					}
				}
				
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = str_AA
							has_character_flag = str_Aa
							has_character_flag = str_aa
							has_character_flag = str_BB
							has_character_flag = str_Bb
							has_character_flag = str_bb
							has_character_flag = str_CC
							has_character_flag = str_Cc
							has_character_flag = str_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = strong
					}
					random_list = {
						2 =  { 
						set_character_flag = str_AA
						}
						2 = {
						set_character_flag = str_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_BB
						}
						2 = {
						set_character_flag = str_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_CC
						}
						2 = {
						set_character_flag = str_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = weak
					}
					random_list = {
						2 =  { 
						set_character_flag = str_Aa
						}
						2 = {
						set_character_flag = str_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_Bb
						}
						2 = {
						set_character_flag = str_bb
						}
					}
					random_list = {
					## 4/13 chance genius IQ, 8/13 chance high IQ, 1/13 chance normal gene
						2 =  { 
						set_character_flag = str_Cc
						}
						2 = {
						set_character_flag = str_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = str_AA
						}
						4 =  { 
						set_character_flag = str_Aa
						}
						1 = {
						set_character_flag = str_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = str_BB
						}
						4 = {
						set_character_flag = str_Bb
						}
						1 = {
						set_character_flag = str_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = str_CC
						}
						4 =  { 
						set_character_flag = str_Cc
						}
						1 = {
						set_character_flag = str_cc
						}
					}
				}
				
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = alleles value = 0 }
		
		if = {
		
			limit = {
				father = {
					has_character_flag = str_AA
				}
				mother = {
					has_character_flag = str_AA
				}
			}
			set_character_flag = str_AA
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = str_AA
				}
				mother = {
					has_character_flag = str_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = str_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_Aa
			}
			mother = {
				has_character_flag = str_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_AA
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_Aa
			}
			mother = {
				has_character_flag = str_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = str_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = str_aa
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = str_AA
			}
			mother = {
				has_character_flag = str_aa
			}
			}
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = str_aa
			}
			mother = {
				has_character_flag = str_AA
			}
			}
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = str_Aa
			}
			mother = {
				has_character_flag = str_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_aa
			}
			mother = {
				has_character_flag = str_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_aa
			}
			}
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = str_aa
				}
				mother = {
					has_character_flag = str_aa
				}
				}
			set_character_flag = str_aa
		}
		else = {
		set_character_flag = str_Aa
		change_variable = { which = alleles value = 1 }
		}
		
		
		if = {
			limit = {
				father = {
					has_character_flag = str_BB
				}
				mother = {
					has_character_flag = str_BB
				}
			}
			set_character_flag = str_BB
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = str_BB
				}
				mother = {
					has_character_flag = str_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = str_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_Bb
			}
			mother = {
				has_character_flag = str_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_BB
			}
			mother = {
				has_character_flag = str_bb
			}
			}
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = str_bb
			}
			mother = {
				has_character_flag = str_BB
			}
			}
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_Bb
			}
			mother = {
				has_character_flag = str_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = str_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = str_bb
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_Bb
			}
			mother = {
				has_character_flag = str_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_bb
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_bb
			}
			mother = {
				has_character_flag = str_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_bb
			
			}
			}
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = str_bb
				}
				mother = {
					has_character_flag = str_bb
				}
				}
			set_character_flag = str_bb
		}
		else = {
			set_character_flag = str_Bb
		change_variable = { which = alleles value = 1 }
			
		}
		if = {
			limit = {
				father = {
					has_character_flag = str_CC
				}
				mother = {
					has_character_flag = str_CC
				}
			}
			set_character_flag = str_CC
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = str_CC
				}
				mother = {
					has_character_flag = str_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = str_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_Cc
			}
			mother = {
				has_character_flag = str_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_CC
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_Cc
			}
			mother = {
				has_character_flag = str_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = str_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = str_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_CC
			}
			mother = {
				has_character_flag = str_cc
			}
			}
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = str_cc
			}
			mother = {
				has_character_flag = str_CC
			}
			}
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_Cc
			}
			mother = {
				has_character_flag = str_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = str_cc
			}
			mother = {
				has_character_flag = str_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_cc
			
			}
			}
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = str_cc
				}
				mother = {
					has_character_flag = str_cc
				}
				}
			set_character_flag = str_cc
		}
		else = {
		set_character_flag = str_Cc
		change_variable = { which = alleles value = 1 }
		
		}
		
	#### 4. Trait Assignment
		if = {
			limit = {
				check_variable = { which = alleles value = 6 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				80 = {
				add_trait = strong
				}
				20 = {
				add_trait = burly
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 5 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				25 = {
				add_trait = strong
				}
				50 = {
				add_trait = burly
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 4 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				2 = {
				add_trait = strong
				}
				8 = {
				add_trait = burly
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 3 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 2 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				2 = {
				add_trait = weak
				}
				8 = {
				add_trait = delicate
				}
				97.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 1 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				25 = {
				add_trait = weak
				}
				50 = {
				add_trait = delicate
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 0 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				80 = {
				add_trait = weak
				}
				20 = {
				add_trait = delicate
				}
			}
		}
		else = {
		}
		
	character_event = {
			id = MT.10300
			
			}
}
}


## For Height
## Polygenic Inheritance
character_event = {

	hide_window = yes
	id = MT.10300
	
	is_triggered_only = yes
	
	immediate = {
	
	
	## 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
			
				father = {
					NOT = {
						OR = {
							has_character_flag = hgt_AA
							has_character_flag = hgt_Aa
							has_character_flag = hgt_aa
							has_character_flag = hgt_BB
							has_character_flag = hgt_Bb
							has_character_flag = hgt_bb
							has_character_flag = hgt_CC
							has_character_flag = hgt_Cc
							has_character_flag = hgt_cc
						}
					}
				}
			}
				
			father = {
				if = {
					limit = {
						trait = giant
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_AA
						}
						2 = {
						set_character_flag = hgt_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_BB
						}
						2 = {
						set_character_flag = hgt_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_CC
						}
						2 = {
						set_character_flag = hgt_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = tiny
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_Aa
						}
						2 = {
						set_character_flag = hgt_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_Bb
						}
						2 = {
						set_character_flag = hgt_bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_Cc
						}
						2 = {
						set_character_flag = hgt_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = hgt_AA
						}
						4 =  { 
						set_character_flag = hgt_Aa
						}
						1 = {
						set_character_flag = hgt_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = hgt_BB
						}
						4 = {
						set_character_flag = hgt_Bb
						}
						1 = {
						set_character_flag = hgt_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = hgt_CC
						}
						4 =  { 
						set_character_flag = hgt_Cc
						}
						1 = {
						set_character_flag = hgt_cc
						}
					}
				}
				
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = hgt_AA
							has_character_flag = hgt_Aa
							has_character_flag = hgt_aa
							has_character_flag = hgt_BB
							has_character_flag = hgt_Bb
							has_character_flag = hgt_bb
							has_character_flag = hgt_CC
							has_character_flag = hgt_Cc
							has_character_flag = hgt_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = giant
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_AA
						}
						2 = {
						set_character_flag = hgt_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_BB
						}
						2 = {
						set_character_flag = hgt_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_CC
						}
						2 = {
						set_character_flag = hgt_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = tiny
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_Aa
						}
						2 = {
						set_character_flag = hgt_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_Bb
						}
						2 = {
						set_character_flag = hgt_bb
						}
					}
					random_list = {
					## 4/13 chance genius IQ, 8/13 chance high IQ, 1/13 chance normal gene
						2 =  { 
						set_character_flag = hgt_Cc
						}
						2 = {
						set_character_flag = hgt_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = hgt_AA
						}
						4 =  { 
						set_character_flag = hgt_Aa
						}
						1 = {
						set_character_flag = hgt_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = hgt_BB
						}
						4 = {
						set_character_flag = hgt_Bb
						}
						1 = {
						set_character_flag = hgt_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = hgt_CC
						}
						4 =  { 
						set_character_flag = hgt_Cc
						}
						1 = {
						set_character_flag = hgt_cc
						}
					}
				}
				
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = alleles value = 0 }
		
		if = {
		
			limit = {
				father = {
					has_character_flag = hgt_AA
				}
				mother = {
					has_character_flag = hgt_AA
				}
			}
			set_character_flag = hgt_AA
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = hgt_AA
				}
				mother = {
					has_character_flag = hgt_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_Aa
			}
			mother = {
				has_character_flag = hgt_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_AA
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_Aa
			}
			mother = {
				has_character_flag = hgt_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = hgt_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = hgt_aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_AA
			}
			mother = {
				has_character_flag = hgt_aa
			}
			}
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_aa
			}
			mother = {
				has_character_flag = hgt_AA
			}
			}
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_Aa
			}
			mother = {
				has_character_flag = hgt_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_aa
			}
			mother = {
				has_character_flag = hgt_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_aa
			}
			mother = {
				has_character_flag = hgt_aa
			}
			}
			set_character_flag = hgt_aa
		}
		
		else = {
		set_character_flag = hgt_Aa
		change_variable = { which = alleles value = 1 }
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = hgt_BB
				}
				mother = {
					has_character_flag = hgt_BB
				}
			}
			set_character_flag = hgt_BB
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = hgt_BB
				}
				mother = {
					has_character_flag = hgt_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_Bb
			}
			mother = {
				has_character_flag = hgt_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_Bb
			}
			mother = {
				has_character_flag = hgt_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = hgt_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = hgt_bb
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_BB
			}
			mother = {
				has_character_flag = hgt_bb
			}
			}
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_bb
			}
			mother = {
				has_character_flag = hgt_BB
			}
			}
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_Bb
			}
			mother = {
				has_character_flag = hgt_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_bb
		change_variable = { which = alleles value = 1 }
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_bb
			}
			mother = {
				has_character_flag = hgt_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_bb
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_bb
			}
			mother = {
				has_character_flag = hgt_bb
			}
			}
			set_character_flag = hgt_bb
		}
		else = {
			set_character_flag = hgt_Bb
			
		}
		if = {
			limit = {
				father = {
					has_character_flag = hgt_CC
				}
				mother = {
					has_character_flag = hgt_CC
				}
			}
			set_character_flag = hgt_CC
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = hgt_CC
				}
				mother = {
					has_character_flag = hgt_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_Cc
			}
			mother = {
				has_character_flag = hgt_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_CC
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_CC
			}
			mother = {
				has_character_flag = hgt_cc
			}
			}
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_cc
			}
			mother = {
				has_character_flag = hgt_CC
			}
			}
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_Cc
			}
			mother = {
				has_character_flag = hgt_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = hgt_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = hgt_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_Cc
			}
			mother = {
				has_character_flag = hgt_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_cc
			}
			mother = {
				has_character_flag = hgt_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_cc
			
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hgt_cc
			}
			mother = {
				has_character_flag = hgt_cc
			}
			}
			set_character_flag = hgt_cc
		}
		
		else = {
		set_character_flag = hgt_Cc
		change_variable = { which = alleles value = 1 }
		
		}
		
	#### 4. Trait Assignment
		if = {
			limit = {
				check_variable = { which = alleles value = 6 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				60 = {
				add_trait = giant
				}
				40 = {
				add_trait = tall
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 5 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				10 = {
				add_trait = giant
				}
				60 = {
				add_trait = tall
				}
				30 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 4 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				8 = {
				add_trait = tall
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 3 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 2 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				8 = {
				add_trait = short
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 1 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				10 = {
				add_trait = tiny
				}
				50 = {
				add_trait = short
				}
				40 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 0 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				60 = {
				add_trait = tiny
				}
				40 = {
				add_trait = short
				}
			}
		}
		else = {
		}
		
	character_event = {
			id = MT.10400
			
			}
}
}


## For Dwarf
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.10400
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		father = {
			if = {
				limit = {
					trait = dwarf
					NOT = {
						OR = {
							has_character_flag = dwarf_aa
							has_character_flag = dwarf_bb
							has_character_flag = dwarf_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = dwarf_AA
				clr_character_flag = dwarf_BB
				clr_character_flag = dwarf_CC
				clr_character_flag = dwarf_Aa
				clr_character_flag = dwarf_Bb
				clr_character_flag = dwarf_Cc
				clr_character_flag = dwarf_aa
				clr_character_flag = dwarf_bb
				clr_character_flag = dwarf_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = dwarf
					NOT = {
						OR = {
							has_character_flag = dwarf_aa
							has_character_flag = dwarf_bb
							has_character_flag = dwarf_cc
						}
					}
				}
				clr_character_flag = dwarf_AA
				clr_character_flag = dwarf_BB
				clr_character_flag = dwarf_CC
				clr_character_flag = dwarf_Aa
				clr_character_flag = dwarf_Bb
				clr_character_flag = dwarf_Cc
				clr_character_flag = dwarf_aa
				clr_character_flag = dwarf_bb
				clr_character_flag = dwarf_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				father = {
					NOT = {
						OR = {
							has_character_flag = dwarf_AA
							has_character_flag = dwarf_Aa
							has_character_flag = dwarf_aa
							has_character_flag = dwarf_BB
							has_character_flag = dwarf_Bb
							has_character_flag = dwarf_bb
							has_character_flag = dwarf_CC
							has_character_flag = dwarf_Cc
							has_character_flag = dwarf_cc
						}
					}
				}
			}
				
			father = {
				if = {
					limit = {
						trait = dwarf
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_aa
						}
						2 = {
						set_character_flag = dwarf_Aa
						}
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_bb
						}
						2 = {
						set_character_flag = dwarf_Bb
						}
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_cc
						}
						2 = {
						set_character_flag = dwarf_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = dwarf_aa
									has_character_flag = dwarf_bb
									has_character_flag = dwarf_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = dwarf_Aa
							set_character_flag = dwarf_aa
							}
							1 = {
							clr_character_flag = dwarf_Bb
							set_character_flag = dwarf_bb
							}
							1 = {
							clr_character_flag = dwarf_Cc
							set_character_flag = dwarf_cc
							}
						}
					}
					
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = dwarf_AA
						}
						9 =  { 
						set_character_flag = dwarf_Aa
						}
						2 = {
						set_character_flag = dwarf_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = dwarf_BB
						}
						9 = {
						set_character_flag = dwarf_Bb
						}
						2 = {
						set_character_flag = dwarf_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = dwarf_CC
						}
						9 =  { 
						set_character_flag = dwarf_Cc
						}
						2 = {
						set_character_flag = dwarf_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = dwarf_AA
							has_character_flag = dwarf_Aa
							has_character_flag = dwarf_aa
							has_character_flag = dwarf_BB
							has_character_flag = dwarf_Bb
							has_character_flag = dwarf_bb
							has_character_flag = dwarf_CC
							has_character_flag = dwarf_Cc
							has_character_flag = dwarf_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = dwarf
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_aa
						}
						2 = {
						set_character_flag = dwarf_Aa
						}
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_bb
						}
						2 = {
						set_character_flag = dwarf_Bb
						}
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_cc
						}
						2 = {
						set_character_flag = dwarf_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = dwarf_aa
									has_character_flag = dwarf_bb
									has_character_flag = dwarf_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = dwarf_Aa
							set_character_flag = dwarf_aa
							}
							1 = {
							clr_character_flag = dwarf_Bb
							set_character_flag = dwarf_bb
							}
							1 = {
							clr_character_flag = dwarf_Cc
							set_character_flag = dwarf_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = dwarf_AA
						}
						9 =  { 
						set_character_flag = dwarf_Aa
						}
						2 = {
						set_character_flag = dwarf_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = dwarf_BB
						}
						9 = {
						set_character_flag = dwarf_Bb
						}
						2 = {
						set_character_flag = dwarf_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = dwarf_CC
						}
						9 =  { 
						set_character_flag = dwarf_Cc
						}
						2 = {
						set_character_flag = dwarf_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				father = {
					has_character_flag = dwarf_AA
				}
				mother = {
					has_character_flag = dwarf_AA
				}
			}
			set_character_flag = dwarf_AA
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = dwarf_AA
				}
				mother = {
					has_character_flag = dwarf_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_AA
			}
			50 = {
			set_character_flag = dwarf_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_Aa
			}
			mother = {
				has_character_flag = dwarf_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_AA
			}
			50 = {
			set_character_flag = dwarf_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_Aa
			}
			mother = {
				has_character_flag = dwarf_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = dwarf_AA
			}
			50 = {
			set_character_flag = dwarf_Aa
			}
			25 = {
			set_character_flag = dwarf_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = dwarf_AA
				}
				mother = {
					has_character_flag = dwarf_aa
				}
				}
			set_character_flag = dwarf_Aa
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_aa
			}
			mother = {
				has_character_flag = dwarf_AA
			}
			}
			set_character_flag = dwarf_Aa
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_Aa
			}
			mother = {
				has_character_flag = dwarf_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Aa
			}
			50 = {
			set_character_flag = dwarf_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_aa
			}
			mother = {
				has_character_flag = dwarf_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Aa
			}
			50 = {
			set_character_flag = dwarf_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_aa
			}
			mother = {
				has_character_flag = dwarf_aa
			}
			}
			set_character_flag = dwarf_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = dwarf_Aa
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = dwarf_BB
				}
				mother = {
					has_character_flag = dwarf_BB
				}
			}
			set_character_flag = dwarf_BB
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = dwarf_BB
				}
				mother = {
					has_character_flag = dwarf_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_BB
			}
			50 = {
			set_character_flag = dwarf_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_Bb
			}
			mother = {
				has_character_flag = dwarf_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_BB
			}
			50 = {
			set_character_flag = dwarf_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_Bb
			}
			mother = {
				has_character_flag = dwarf_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = dwarf_BB
			}
			50 = {
			set_character_flag = dwarf_Bb
			}
			25 = {
			set_character_flag = dwarf_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_BB
			}
			mother = {
				has_character_flag = dwarf_bb
			}
			}
			set_character_flag = dwarf_Bb
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_bb
			}
			mother = {
				has_character_flag = dwarf_BB
			}
			}
			set_character_flag = dwarf_Bb
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_Bb
			}
			mother = {
				has_character_flag = dwarf_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Bb
			}
			50 = {
			set_character_flag = dwarf_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_bb
			}
			mother = {
				has_character_flag = dwarf_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Bb
			}
			50 = {
			set_character_flag = dwarf_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_bb
			}
			mother = {
				has_character_flag = dwarf_bb
			}
			}
			set_character_flag = dwarf_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = dwarf_Bb
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = dwarf_CC
				}
				mother = {
					has_character_flag = dwarf_CC
				}
			}
			set_character_flag = dwarf_CC
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = dwarf_CC
				}
				mother = {
					has_character_flag = dwarf_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_CC
			}
			50 = {
			set_character_flag = dwarf_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_Cc
			}
			mother = {
				has_character_flag = dwarf_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_CC
			}
			50 = {
			set_character_flag = dwarf_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_Cc
			}
			mother = {
				has_character_flag = dwarf_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = dwarf_CC
			}
			50 = {
			set_character_flag = dwarf_Cc
			}
			25 = {
			set_character_flag = dwarf_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_CC
			}
			mother = {
				has_character_flag = dwarf_cc
			}
			}
			set_character_flag = dwarf_Cc
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_cc
			}
			mother = {
				has_character_flag = dwarf_CC
			}
			}
			set_character_flag = dwarf_Cc
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_Cc
			}
			mother = {
				has_character_flag = dwarf_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Cc
			}
			50 = {
			set_character_flag = dwarf_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_cc
			}
			mother = {
				has_character_flag = dwarf_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Cc
			}
			50 = {
			set_character_flag = dwarf_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = dwarf_cc
			}
			mother = {
				has_character_flag = dwarf_cc
			}
			}
			set_character_flag = dwarf_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = dwarf_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = dwarf }
			}
			random_list = {
				75 = {
				add_trait = dwarf
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = dwarf }
			}
			random_list = {
				7.5 = {
				add_trait = dwarf
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = dwarf }
			}
			random_list = {
				0 =  {
				add_trait = dwarf
				}
				99.9 = {
				}
			}
		}
		else = {
		}
	character_event = {
			id = MT.10500
			
			}
}
}


## For clubfooted
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.10500
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		father = {
			if = {
				limit = {
					trait = clubfooted
					NOT = {
						OR = {
							has_character_flag = clubfooted_aa
							has_character_flag = clubfooted_bb
							has_character_flag = clubfooted_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = clubfooted_AA
				clr_character_flag = clubfooted_BB
				clr_character_flag = clubfooted_CC
				clr_character_flag = clubfooted_Aa
				clr_character_flag = clubfooted_Bb
				clr_character_flag = clubfooted_Cc
				clr_character_flag = clubfooted_aa
				clr_character_flag = clubfooted_bb
				clr_character_flag = clubfooted_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = clubfooted
					NOT = {
						OR = {
							has_character_flag = clubfooted_aa
							has_character_flag = clubfooted_bb
							has_character_flag = clubfooted_cc
						}
					}
				}
				clr_character_flag = clubfooted_AA
				clr_character_flag = clubfooted_BB
				clr_character_flag = clubfooted_CC
				clr_character_flag = clubfooted_Aa
				clr_character_flag = clubfooted_Bb
				clr_character_flag = clubfooted_Cc
				clr_character_flag = clubfooted_aa
				clr_character_flag = clubfooted_bb
				clr_character_flag = clubfooted_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				father = {
					NOT = {
						OR = {
							has_character_flag = clubfooted_AA
							has_character_flag = clubfooted_Aa
							has_character_flag = clubfooted_aa
							has_character_flag = clubfooted_BB
							has_character_flag = clubfooted_Bb
							has_character_flag = clubfooted_bb
							has_character_flag = clubfooted_CC
							has_character_flag = clubfooted_Cc
							has_character_flag = clubfooted_cc
						}
					}
				}
			}
				
			father = {
				if = {
					limit = {
						trait = clubfooted
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_aa
						}
						2 = {
						set_character_flag = clubfooted_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_bb
						}
						2 = {
						set_character_flag = clubfooted_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_cc
						}
						2 = {
						set_character_flag = clubfooted_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = clubfooted_aa
									has_character_flag = clubfooted_bb
									has_character_flag = clubfooted_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = clubfooted_Aa
							set_character_flag = clubfooted_aa
							}
							1 = {
							clr_character_flag = clubfooted_Bb
							set_character_flag = clubfooted_bb
							}
							1 = {
							clr_character_flag = clubfooted_Cc
							set_character_flag = clubfooted_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_AA
						}
						9 =  { 
						set_character_flag = clubfooted_Aa
						}
						2 = {
						set_character_flag = clubfooted_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_BB
						}
						9 = {
						set_character_flag = clubfooted_Bb
						}
						2 = {
						set_character_flag = clubfooted_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_CC
						}
						9 =  { 
						set_character_flag = clubfooted_Cc
						}
						2 = {
						set_character_flag = clubfooted_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = clubfooted_AA
							has_character_flag = clubfooted_Aa
							has_character_flag = clubfooted_aa
							has_character_flag = clubfooted_BB
							has_character_flag = clubfooted_Bb
							has_character_flag = clubfooted_bb
							has_character_flag = clubfooted_CC
							has_character_flag = clubfooted_Cc
							has_character_flag = clubfooted_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = clubfooted
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_aa
						}
						2 = {
						set_character_flag = clubfooted_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_bb
						}
						2 = {
						set_character_flag = clubfooted_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_cc
						}
						2 = {
						set_character_flag = clubfooted_Cc
						}
					}
				if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = clubfooted_aa
									has_character_flag = clubfooted_bb
									has_character_flag = clubfooted_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = clubfooted_Aa
							set_character_flag = clubfooted_aa
							}
							1 = {
							clr_character_flag = clubfooted_Bb
							set_character_flag = clubfooted_bb
							}
							1 = {
							clr_character_flag = clubfooted_Cc
							set_character_flag = clubfooted_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_AA
						}
						9 =  { 
						set_character_flag = clubfooted_Aa
						}
						2 = {
						set_character_flag = clubfooted_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_BB
						}
						9 = {
						set_character_flag = clubfooted_Bb
						}
						2 = {
						set_character_flag = clubfooted_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_CC
						}
						9 =  { 
						set_character_flag = clubfooted_Cc
						}
						2 = {
						set_character_flag = clubfooted_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				father = {
					has_character_flag = clubfooted_AA
				}
				mother = {
					has_character_flag = clubfooted_AA
				}
			}
			set_character_flag = clubfooted_AA
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = clubfooted_AA
				}
				mother = {
					has_character_flag = clubfooted_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_AA
			}
			50 = {
			set_character_flag = clubfooted_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_Aa
			}
			mother = {
				has_character_flag = clubfooted_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_AA
			}
			50 = {
			set_character_flag = clubfooted_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_Aa
			}
			mother = {
				has_character_flag = clubfooted_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = clubfooted_AA
			}
			50 = {
			set_character_flag = clubfooted_Aa
			}
			25 = {
			set_character_flag = clubfooted_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = clubfooted_AA
				}
				mother = {
					has_character_flag = clubfooted_aa
				}
				}
			set_character_flag = clubfooted_Aa
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_aa
			}
			mother = {
				has_character_flag = clubfooted_AA
			}
			}
			set_character_flag = clubfooted_Aa
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_Aa
			}
			mother = {
				has_character_flag = clubfooted_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Aa
			}
			50 = {
			set_character_flag = clubfooted_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_aa
			}
			mother = {
				has_character_flag = clubfooted_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Aa
			}
			50 = {
			set_character_flag = clubfooted_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_aa
			}
			mother = {
				has_character_flag = clubfooted_aa
			}
			}
			set_character_flag = clubfooted_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = clubfooted_Aa
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = clubfooted_BB
				}
				mother = {
					has_character_flag = clubfooted_BB
				}
			}
			set_character_flag = clubfooted_BB
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = clubfooted_BB
				}
				mother = {
					has_character_flag = clubfooted_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_BB
			}
			50 = {
			set_character_flag = clubfooted_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_Bb
			}
			mother = {
				has_character_flag = clubfooted_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_BB
			}
			50 = {
			set_character_flag = clubfooted_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_Bb
			}
			mother = {
				has_character_flag = clubfooted_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = clubfooted_BB
			}
			50 = {
			set_character_flag = clubfooted_Bb
			}
			25 = {
			set_character_flag = clubfooted_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_BB
			}
			mother = {
				has_character_flag = clubfooted_bb
			}
			}
			set_character_flag = clubfooted_Bb
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_bb
			}
			mother = {
				has_character_flag = clubfooted_BB
			}
			}
			set_character_flag = clubfooted_Bb
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_Bb
			}
			mother = {
				has_character_flag = clubfooted_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Bb
			}
			50 = {
			set_character_flag = clubfooted_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_bb
			}
			mother = {
				has_character_flag = clubfooted_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Bb
			}
			50 = {
			set_character_flag = clubfooted_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_bb
			}
			mother = {
				has_character_flag = clubfooted_bb
			}
			}
			set_character_flag = clubfooted_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = clubfooted_Bb
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = clubfooted_CC
				}
				mother = {
					has_character_flag = clubfooted_CC
				}
			}
			set_character_flag = clubfooted_CC
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = clubfooted_CC
				}
				mother = {
					has_character_flag = clubfooted_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_CC
			}
			50 = {
			set_character_flag = clubfooted_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_Cc
			}
			mother = {
				has_character_flag = clubfooted_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_CC
			}
			50 = {
			set_character_flag = clubfooted_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_Cc
			}
			mother = {
				has_character_flag = clubfooted_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = clubfooted_CC
			}
			50 = {
			set_character_flag = clubfooted_Cc
			}
			25 = {
			set_character_flag = clubfooted_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_CC
			}
			mother = {
				has_character_flag = clubfooted_cc
			}
			}
			set_character_flag = clubfooted_Cc
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_cc
			}
			mother = {
				has_character_flag = clubfooted_CC
			}
			}
			set_character_flag = clubfooted_Cc
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_Cc
			}
			mother = {
				has_character_flag = clubfooted_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Cc
			}
			50 = {
			set_character_flag = clubfooted_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_cc
			}
			mother = {
				has_character_flag = clubfooted_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Cc
			}
			50 = {
			set_character_flag = clubfooted_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = clubfooted_cc
			}
			mother = {
				has_character_flag = clubfooted_cc
			}
			}
			set_character_flag = clubfooted_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = clubfooted_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = clubfooted }
			}
			random_list = {
				75 = {
				add_trait = clubfooted
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = clubfooted }
			}
			random_list = {
				7.5 = {
				add_trait = clubfooted
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = clubfooted }
			}
			random_list = {
				1 = {
				add_trait = clubfooted
				}
				199 = {
				}
			}
		}
		else = {
		}
	character_event = {
			id = MT.11000
			
			}
}
}

## For hunchback
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.11000
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		father = {
			if = {
				limit = {
					trait = hunchback
					NOT = {
						OR = {
							has_character_flag = hunchback_aa
							has_character_flag = hunchback_bb
							has_character_flag = hunchback_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = hunchback_AA
				clr_character_flag = hunchback_BB
				clr_character_flag = hunchback_CC
				clr_character_flag = hunchback_Aa
				clr_character_flag = hunchback_Bb
				clr_character_flag = hunchback_Cc
				clr_character_flag = hunchback_aa
				clr_character_flag = hunchback_bb
				clr_character_flag = hunchback_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = hunchback
					NOT = {
						OR = {
							has_character_flag = hunchback_aa
							has_character_flag = hunchback_bb
							has_character_flag = hunchback_cc
						}
					}
				}
				clr_character_flag = hunchback_AA
				clr_character_flag = hunchback_BB
				clr_character_flag = hunchback_CC
				clr_character_flag = hunchback_Aa
				clr_character_flag = hunchback_Bb
				clr_character_flag = hunchback_Cc
				clr_character_flag = hunchback_aa
				clr_character_flag = hunchback_bb
				clr_character_flag = hunchback_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				father = {
					NOT = {
						OR = {
							has_character_flag = hunchback_AA
							has_character_flag = hunchback_Aa
							has_character_flag = hunchback_aa
							has_character_flag = hunchback_BB
							has_character_flag = hunchback_Bb
							has_character_flag = hunchback_bb
							has_character_flag = hunchback_CC
							has_character_flag = hunchback_Cc
							has_character_flag = hunchback_cc
						}
					}
				}
			}
				
			father = {
				if = {
					limit = {
						trait = hunchback
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_aa
						}
						2 = {
						set_character_flag = hunchback_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_bb
						}
						2 = {
						set_character_flag = hunchback_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_cc
						}
						2 = {
						set_character_flag = hunchback_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = hunchback_aa
									has_character_flag = hunchback_bb
									has_character_flag = hunchback_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = hunchback_Aa
							set_character_flag = hunchback_aa
							}
							1 = {
							clr_character_flag = hunchback_Bb
							set_character_flag = hunchback_bb
							}
							1 = {
							clr_character_flag = hunchback_Cc
							set_character_flag = hunchback_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = hunchback_AA
						}
						9 =  { 
						set_character_flag = hunchback_Aa
						}
						2 = {
						set_character_flag = hunchback_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = hunchback_BB
						}
						9 = {
						set_character_flag = hunchback_Bb
						}
						2 = {
						set_character_flag = hunchback_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = hunchback_CC
						}
						9 =  { 
						set_character_flag = hunchback_Cc
						}
						2 = {
						set_character_flag = hunchback_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = hunchback_AA
							has_character_flag = hunchback_Aa
							has_character_flag = hunchback_aa
							has_character_flag = hunchback_BB
							has_character_flag = hunchback_Bb
							has_character_flag = hunchback_bb
							has_character_flag = hunchback_CC
							has_character_flag = hunchback_Cc
							has_character_flag = hunchback_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = hunchback
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_aa
						}
						2 = {
						set_character_flag = hunchback_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_bb
						}
						2 = {
						set_character_flag = hunchback_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_cc
						}
						2 = {
						set_character_flag = hunchback_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = hunchback_aa
									has_character_flag = hunchback_bb
									has_character_flag = hunchback_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = hunchback_Aa
							set_character_flag = hunchback_aa
							}
							1 = {
							clr_character_flag = hunchback_Bb
							set_character_flag = hunchback_bb
							}
							1 = {
							clr_character_flag = hunchback_Cc
							set_character_flag = hunchback_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = hunchback_AA
						}
						9 =  { 
						set_character_flag = hunchback_Aa
						}
						2 = {
						set_character_flag = hunchback_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = hunchback_BB
						}
						9 = {
						set_character_flag = hunchback_Bb
						}
						2 = {
						set_character_flag = hunchback_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = hunchback_CC
						}
						9 =  { 
						set_character_flag = hunchback_Cc
						}
						2 = {
						set_character_flag = hunchback_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				father = {
					has_character_flag = hunchback_AA
				}
				mother = {
					has_character_flag = hunchback_AA
				}
			}
			set_character_flag = hunchback_AA
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = hunchback_AA
				}
				mother = {
					has_character_flag = hunchback_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_AA
			}
			50 = {
			set_character_flag = hunchback_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_Aa
			}
			mother = {
				has_character_flag = hunchback_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_AA
			}
			50 = {
			set_character_flag = hunchback_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_Aa
			}
			mother = {
				has_character_flag = hunchback_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = hunchback_AA
			}
			50 = {
			set_character_flag = hunchback_Aa
			}
			25 = {
			set_character_flag = hunchback_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = hunchback_AA
				}
				mother = {
					has_character_flag = hunchback_aa
				}
				}
			set_character_flag = hunchback_Aa
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_aa
			}
			mother = {
				has_character_flag = hunchback_AA
			}
			}
			set_character_flag = hunchback_Aa
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_Aa
			}
			mother = {
				has_character_flag = hunchback_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Aa
			}
			50 = {
			set_character_flag = hunchback_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_aa
			}
			mother = {
				has_character_flag = hunchback_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Aa
			}
			50 = {
			set_character_flag = hunchback_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_aa
			}
			mother = {
				has_character_flag = hunchback_aa
			}
			}
			set_character_flag = hunchback_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = hunchback_Aa
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = hunchback_BB
				}
				mother = {
					has_character_flag = hunchback_BB
				}
			}
			set_character_flag = hunchback_BB
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = hunchback_BB
				}
				mother = {
					has_character_flag = hunchback_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_BB
			}
			50 = {
			set_character_flag = hunchback_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_Bb
			}
			mother = {
				has_character_flag = hunchback_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_BB
			}
			50 = {
			set_character_flag = hunchback_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_Bb
			}
			mother = {
				has_character_flag = hunchback_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = hunchback_BB
			}
			50 = {
			set_character_flag = hunchback_Bb
			}
			25 = {
			set_character_flag = hunchback_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_BB
			}
			mother = {
				has_character_flag = hunchback_bb
			}
			}
			set_character_flag = hunchback_Bb
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_bb
			}
			mother = {
				has_character_flag = hunchback_BB
			}
			}
			set_character_flag = hunchback_Bb
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_Bb
			}
			mother = {
				has_character_flag = hunchback_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Bb
			}
			50 = {
			set_character_flag = hunchback_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_bb
			}
			mother = {
				has_character_flag = hunchback_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Bb
			}
			50 = {
			set_character_flag = hunchback_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_bb
			}
			mother = {
				has_character_flag = hunchback_bb
			}
			}
			set_character_flag = hunchback_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = hunchback_Bb
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = hunchback_CC
				}
				mother = {
					has_character_flag = hunchback_CC
				}
			}
			set_character_flag = hunchback_CC
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = hunchback_CC
				}
				mother = {
					has_character_flag = hunchback_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_CC
			}
			50 = {
			set_character_flag = hunchback_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_Cc
			}
			mother = {
				has_character_flag = hunchback_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_CC
			}
			50 = {
			set_character_flag = hunchback_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_Cc
			}
			mother = {
				has_character_flag = hunchback_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = hunchback_CC
			}
			50 = {
			set_character_flag = hunchback_Cc
			}
			25 = {
			set_character_flag = hunchback_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_CC
			}
			mother = {
				has_character_flag = hunchback_cc
			}
			}
			set_character_flag = hunchback_Cc
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_cc
			}
			mother = {
				has_character_flag = hunchback_CC
			}
			}
			set_character_flag = hunchback_Cc
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_Cc
			}
			mother = {
				has_character_flag = hunchback_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Cc
			}
			50 = {
			set_character_flag = hunchback_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_cc
			}
			mother = {
				has_character_flag = hunchback_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Cc
			}
			50 = {
			set_character_flag = hunchback_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = hunchback_cc
			}
			mother = {
				has_character_flag = hunchback_cc
			}
			}
			set_character_flag = hunchback_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = hunchback_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = hunchback }
			}
			random_list = {
				75 = {
				add_trait = hunchback
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = hunchback }
			}
			random_list = {
				7.5 =  {
				add_trait = hunchback
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = hunchback }
			}
			random_list = {
				1 = {
				add_trait = hunchback
				}
				199 = {
				}
			}
		}
		else = {
		}
	character_event = {
			id = MT.11100
			
			}
}
}

## For harelip
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.11100
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		father = {
			if = {
				limit = {
					trait = harelip
					NOT = {
						OR = {
							has_character_flag = harelip_aa
							has_character_flag = harelip_bb
							has_character_flag = harelip_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = harelip_AA
				clr_character_flag = harelip_BB
				clr_character_flag = harelip_CC
				clr_character_flag = harelip_Aa
				clr_character_flag = harelip_Bb
				clr_character_flag = harelip_Cc
				clr_character_flag = harelip_aa
				clr_character_flag = harelip_bb
				clr_character_flag = harelip_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = harelip
					NOT = {
						OR = {
							has_character_flag = harelip_aa
							has_character_flag = harelip_bb
							has_character_flag = harelip_cc
						}
					}
				}
				clr_character_flag = harelip_AA
				clr_character_flag = harelip_BB
				clr_character_flag = harelip_CC
				clr_character_flag = harelip_Aa
				clr_character_flag = harelip_Bb
				clr_character_flag = harelip_Cc
				clr_character_flag = harelip_aa
				clr_character_flag = harelip_bb
				clr_character_flag = harelip_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				father = {
					NOT = {
						OR = {
							has_character_flag = harelip_AA
							has_character_flag = harelip_Aa
							has_character_flag = harelip_aa
							has_character_flag = harelip_BB
							has_character_flag = harelip_Bb
							has_character_flag = harelip_bb
							has_character_flag = harelip_CC
							has_character_flag = harelip_Cc
							has_character_flag = harelip_cc
						}
					}
				}
			}
				
			father = {
				if = {
					limit = {
						trait = harelip
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_aa
						}
						2 = {
						set_character_flag = harelip_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_bb
						}
						2 = {
						set_character_flag = harelip_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_cc
						}
						2 = {
						set_character_flag = harelip_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = harelip_aa
									has_character_flag = harelip_bb
									has_character_flag = harelip_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = harelip_Aa
							set_character_flag = harelip_aa
							}
							1 = {
							clr_character_flag = harelip_Bb
							set_character_flag = harelip_bb
							}
							1 = {
							clr_character_flag = harelip_Cc
							set_character_flag = harelip_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = harelip_AA
						}
						9 =  { 
						set_character_flag = harelip_Aa
						}
						2 = {
						set_character_flag = harelip_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = harelip_BB
						}
						9 = {
						set_character_flag = harelip_Bb
						}
						2 = {
						set_character_flag = harelip_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = harelip_CC
						}
						9 =  { 
						set_character_flag = harelip_Cc
						}
						2 = {
						set_character_flag = harelip_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = harelip_AA
							has_character_flag = harelip_Aa
							has_character_flag = harelip_aa
							has_character_flag = harelip_BB
							has_character_flag = harelip_Bb
							has_character_flag = harelip_bb
							has_character_flag = harelip_CC
							has_character_flag = harelip_Cc
							has_character_flag = harelip_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = harelip
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_aa
						}
						2 = {
						set_character_flag = harelip_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_bb
						}
						2 = {
						set_character_flag = harelip_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_cc
						}
						2 = {
						set_character_flag = harelip_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = harelip_aa
									has_character_flag = harelip_bb
									has_character_flag = harelip_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = harelip_Aa
							set_character_flag = harelip_aa
							}
							1 = {
							clr_character_flag = harelip_Bb
							set_character_flag = harelip_bb
							}
							1 = {
							clr_character_flag = harelip_Cc
							set_character_flag = harelip_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = harelip_AA
						}
						9 =  { 
						set_character_flag = harelip_Aa
						}
						2 = {
						set_character_flag = harelip_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = harelip_BB
						}
						9 = {
						set_character_flag = harelip_Bb
						}
						2 = {
						set_character_flag = harelip_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = harelip_CC
						}
						9 =  { 
						set_character_flag = harelip_Cc
						}
						2 = {
						set_character_flag = harelip_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				father = {
					has_character_flag = harelip_AA
				}
				mother = {
					has_character_flag = harelip_AA
				}
			}
			set_character_flag = harelip_AA
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = harelip_AA
				}
				mother = {
					has_character_flag = harelip_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_AA
			}
			50 = {
			set_character_flag = harelip_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_Aa
			}
			mother = {
				has_character_flag = harelip_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_AA
			}
			50 = {
			set_character_flag = harelip_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_Aa
			}
			mother = {
				has_character_flag = harelip_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = harelip_AA
			}
			50 = {
			set_character_flag = harelip_Aa
			}
			25 = {
			set_character_flag = harelip_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = harelip_AA
				}
				mother = {
					has_character_flag = harelip_aa
				}
				}
			set_character_flag = harelip_Aa
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_aa
			}
			mother = {
				has_character_flag = harelip_AA
			}
			}
			set_character_flag = harelip_Aa
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_Aa
			}
			mother = {
				has_character_flag = harelip_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Aa
			}
			50 = {
			set_character_flag = harelip_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_aa
			}
			mother = {
				has_character_flag = harelip_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Aa
			}
			50 = {
			set_character_flag = harelip_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_aa
			}
			mother = {
				has_character_flag = harelip_aa
			}
			}
			set_character_flag = harelip_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = harelip_Aa
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = harelip_BB
				}
				mother = {
					has_character_flag = harelip_BB
				}
			}
			set_character_flag = harelip_BB
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = harelip_BB
				}
				mother = {
					has_character_flag = harelip_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_BB
			}
			50 = {
			set_character_flag = harelip_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_Bb
			}
			mother = {
				has_character_flag = harelip_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_BB
			}
			50 = {
			set_character_flag = harelip_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_Bb
			}
			mother = {
				has_character_flag = harelip_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = harelip_BB
			}
			50 = {
			set_character_flag = harelip_Bb
			}
			25 = {
			set_character_flag = harelip_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_BB
			}
			mother = {
				has_character_flag = harelip_bb
			}
			}
			set_character_flag = harelip_Bb
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_bb
			}
			mother = {
				has_character_flag = harelip_BB
			}
			}
			set_character_flag = harelip_Bb
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_Bb
			}
			mother = {
				has_character_flag = harelip_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Bb
			}
			50 = {
			set_character_flag = harelip_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_bb
			}
			mother = {
				has_character_flag = harelip_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Bb
			}
			50 = {
			set_character_flag = harelip_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_bb
			}
			mother = {
				has_character_flag = harelip_bb
			}
			}
			set_character_flag = harelip_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = harelip_Bb
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = harelip_CC
				}
				mother = {
					has_character_flag = harelip_CC
				}
			}
			set_character_flag = harelip_CC
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = harelip_CC
				}
				mother = {
					has_character_flag = harelip_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_CC
			}
			50 = {
			set_character_flag = harelip_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_Cc
			}
			mother = {
				has_character_flag = harelip_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_CC
			}
			50 = {
			set_character_flag = harelip_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_Cc
			}
			mother = {
				has_character_flag = harelip_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = harelip_CC
			}
			50 = {
			set_character_flag = harelip_Cc
			}
			25 = {
			set_character_flag = harelip_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_CC
			}
			mother = {
				has_character_flag = harelip_cc
			}
			}
			set_character_flag = harelip_Cc
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_cc
			}
			mother = {
				has_character_flag = harelip_CC
			}
			}
			set_character_flag = harelip_Cc
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_Cc
			}
			mother = {
				has_character_flag = harelip_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Cc
			}
			50 = {
			set_character_flag = harelip_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_cc
			}
			mother = {
				has_character_flag = harelip_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Cc
			}
			50 = {
			set_character_flag = harelip_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = harelip_cc
			}
			mother = {
				has_character_flag = harelip_cc
			}
			}
			set_character_flag = harelip_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = harelip_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = harelip }
			}
			random_list = {
				75 = {
				add_trait = harelip
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = harelip }
			}
			random_list = {
				7.5 =  {
				add_trait = harelip
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = harelip }
			}
			random_list = {
				1 = {
				add_trait = harelip
				}
				199 = {
				}
			}
		}
		else = {
		}
	character_event = {
			id = MT.11200
			
			}
}
}

## For lisp
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.11200
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		father = {
			if = {
				limit = {
					trait = lisp
					NOT = {
						OR = {
							has_character_flag = lisp_aa
							has_character_flag = lisp_bb
							has_character_flag = lisp_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = lisp_AA
				clr_character_flag = lisp_BB
				clr_character_flag = lisp_CC
				clr_character_flag = lisp_Aa
				clr_character_flag = lisp_Bb
				clr_character_flag = lisp_Cc
				clr_character_flag = lisp_aa
				clr_character_flag = lisp_bb
				clr_character_flag = lisp_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = lisp
					NOT = {
						OR = {
							has_character_flag = lisp_aa
							has_character_flag = lisp_bb
							has_character_flag = lisp_cc
						}
					}
				}
				clr_character_flag = lisp_AA
				clr_character_flag = lisp_BB
				clr_character_flag = lisp_CC
				clr_character_flag = lisp_Aa
				clr_character_flag = lisp_Bb
				clr_character_flag = lisp_Cc
				clr_character_flag = lisp_aa
				clr_character_flag = lisp_bb
				clr_character_flag = lisp_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				father = {
					NOT = {
						OR = {
							has_character_flag = lisp_AA
							has_character_flag = lisp_Aa
							has_character_flag = lisp_aa
							has_character_flag = lisp_BB
							has_character_flag = lisp_Bb
							has_character_flag = lisp_bb
							has_character_flag = lisp_CC
							has_character_flag = lisp_Cc
							has_character_flag = lisp_cc
						}
					}
				}
			}
				
			father = {
				if = {
					limit = {
						trait = lisp
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_aa
						}
						2 = {
						set_character_flag = lisp_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_bb
						}
						2 = {
						set_character_flag = lisp_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_cc
						}
						2 = {
						set_character_flag = lisp_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = lisp_aa
									has_character_flag = lisp_bb
									has_character_flag = lisp_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = lisp_Aa
							set_character_flag = lisp_aa
							}
							1 = {
							clr_character_flag = lisp_Bb
							set_character_flag = lisp_bb
							}
							1 = {
							clr_character_flag = lisp_Cc
							set_character_flag = lisp_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = lisp_AA
						}
						9 =  { 
						set_character_flag = lisp_Aa
						}
						2 = {
						set_character_flag = lisp_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = lisp_BB
						}
						9 = {
						set_character_flag = lisp_Bb
						}
						2 = {
						set_character_flag = lisp_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = lisp_CC
						}
						9 =  { 
						set_character_flag = lisp_Cc
						}
						2 = {
						set_character_flag = lisp_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = lisp_AA
							has_character_flag = lisp_Aa
							has_character_flag = lisp_aa
							has_character_flag = lisp_BB
							has_character_flag = lisp_Bb
							has_character_flag = lisp_bb
							has_character_flag = lisp_CC
							has_character_flag = lisp_Cc
							has_character_flag = lisp_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = lisp
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_aa
						}
						2 = {
						set_character_flag = lisp_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_bb
						}
						2 = {
						set_character_flag = lisp_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_cc
						}
						2 = {
						set_character_flag = lisp_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = lisp_aa
									has_character_flag = lisp_bb
									has_character_flag = lisp_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = lisp_Aa
							set_character_flag = lisp_aa
							}
							1 = {
							clr_character_flag = lisp_Bb
							set_character_flag = lisp_bb
							}
							1 = {
							clr_character_flag = lisp_Cc
							set_character_flag = lisp_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = lisp_AA
						}
						9 =  { 
						set_character_flag = lisp_Aa
						}
						2 = {
						set_character_flag = lisp_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = lisp_BB
						}
						9 = {
						set_character_flag = lisp_Bb
						}
						2 = {
						set_character_flag = lisp_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = lisp_CC
						}
						9 =  { 
						set_character_flag = lisp_Cc
						}
						2 = {
						set_character_flag = lisp_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				father = {
					has_character_flag = lisp_AA
				}
				mother = {
					has_character_flag = lisp_AA
				}
			}
			set_character_flag = lisp_AA
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = lisp_AA
				}
				mother = {
					has_character_flag = lisp_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_AA
			}
			50 = {
			set_character_flag = lisp_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_Aa
			}
			mother = {
				has_character_flag = lisp_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_AA
			}
			50 = {
			set_character_flag = lisp_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_Aa
			}
			mother = {
				has_character_flag = lisp_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = lisp_AA
			}
			50 = {
			set_character_flag = lisp_Aa
			}
			25 = {
			set_character_flag = lisp_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = lisp_AA
				}
				mother = {
					has_character_flag = lisp_aa
				}
				}
			set_character_flag = lisp_Aa
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_aa
			}
			mother = {
				has_character_flag = lisp_AA
			}
			}
			set_character_flag = lisp_Aa
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_Aa
			}
			mother = {
				has_character_flag = lisp_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Aa
			}
			50 = {
			set_character_flag = lisp_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_aa
			}
			mother = {
				has_character_flag = lisp_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Aa
			}
			50 = {
			set_character_flag = lisp_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_aa
			}
			mother = {
				has_character_flag = lisp_aa
			}
			}
			set_character_flag = lisp_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = lisp_Aa
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = lisp_BB
				}
				mother = {
					has_character_flag = lisp_BB
				}
			}
			set_character_flag = lisp_BB
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = lisp_BB
				}
				mother = {
					has_character_flag = lisp_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_BB
			}
			50 = {
			set_character_flag = lisp_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_Bb
			}
			mother = {
				has_character_flag = lisp_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_BB
			}
			50 = {
			set_character_flag = lisp_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_Bb
			}
			mother = {
				has_character_flag = lisp_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = lisp_BB
			}
			50 = {
			set_character_flag = lisp_Bb
			}
			25 = {
			set_character_flag = lisp_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_BB
			}
			mother = {
				has_character_flag = lisp_bb
			}
			}
			set_character_flag = lisp_Bb
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_bb
			}
			mother = {
				has_character_flag = lisp_BB
			}
			}
			set_character_flag = lisp_Bb
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_Bb
			}
			mother = {
				has_character_flag = lisp_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Bb
			}
			50 = {
			set_character_flag = lisp_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_bb
			}
			mother = {
				has_character_flag = lisp_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Bb
			}
			50 = {
			set_character_flag = lisp_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_bb
			}
			mother = {
				has_character_flag = lisp_bb
			}
			}
			set_character_flag = lisp_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = lisp_Bb
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = lisp_CC
				}
				mother = {
					has_character_flag = lisp_CC
				}
			}
			set_character_flag = lisp_CC
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = lisp_CC
				}
				mother = {
					has_character_flag = lisp_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_CC
			}
			50 = {
			set_character_flag = lisp_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_Cc
			}
			mother = {
				has_character_flag = lisp_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_CC
			}
			50 = {
			set_character_flag = lisp_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_Cc
			}
			mother = {
				has_character_flag = lisp_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = lisp_CC
			}
			50 = {
			set_character_flag = lisp_Cc
			}
			25 = {
			set_character_flag = lisp_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_CC
			}
			mother = {
				has_character_flag = lisp_cc
			}
			}
			set_character_flag = lisp_Cc
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_cc
			}
			mother = {
				has_character_flag = lisp_CC
			}
			}
			set_character_flag = lisp_Cc
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_Cc
			}
			mother = {
				has_character_flag = lisp_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Cc
			}
			50 = {
			set_character_flag = lisp_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_cc
			}
			mother = {
				has_character_flag = lisp_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Cc
			}
			50 = {
			set_character_flag = lisp_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = lisp_cc
			}
			mother = {
				has_character_flag = lisp_cc
			}
			}
			set_character_flag = lisp_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = lisp_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = lisp }
			}
			random_list = {
				75 = {
				add_trait = lisp
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = lisp }
			}
			random_list = {
				7.5 =  {
				add_trait = lisp
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = lisp }
			}
			random_list = {
				1 = {
				add_trait = lisp
				}
				199 = {
				}
			}
		}
		else = {
		}
	character_event = {
			id = MT.11300
			
			}
}
}

## For stutter
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.11300
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		father = {
			if = {
				limit = {
					trait = stutter
					NOT = {
						OR = {
							has_character_flag = stutter_aa
							has_character_flag = stutter_bb
							has_character_flag = stutter_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = stutter_AA
				clr_character_flag = stutter_BB
				clr_character_flag = stutter_CC
				clr_character_flag = stutter_Aa
				clr_character_flag = stutter_Bb
				clr_character_flag = stutter_Cc
				clr_character_flag = stutter_aa
				clr_character_flag = stutter_bb
				clr_character_flag = stutter_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = stutter
					NOT = {
						OR = {
							has_character_flag = stutter_aa
							has_character_flag = stutter_bb
							has_character_flag = stutter_cc
						}
					}
				}
				clr_character_flag = stutter_AA
				clr_character_flag = stutter_BB
				clr_character_flag = stutter_CC
				clr_character_flag = stutter_Aa
				clr_character_flag = stutter_Bb
				clr_character_flag = stutter_Cc
				clr_character_flag = stutter_aa
				clr_character_flag = stutter_bb
				clr_character_flag = stutter_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				father = {
					NOT = {
						OR = {
							has_character_flag = stutter_AA
							has_character_flag = stutter_Aa
							has_character_flag = stutter_aa
							has_character_flag = stutter_BB
							has_character_flag = stutter_Bb
							has_character_flag = stutter_bb
							has_character_flag = stutter_CC
							has_character_flag = stutter_Cc
							has_character_flag = stutter_cc
						}
					}
				}
			}
				
			father = {
				if = {
					limit = {
						trait = stutter
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_aa
						}
						2 = {
						set_character_flag = stutter_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_bb
						}
						2 = {
						set_character_flag = stutter_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_cc
						}
						2 = {
						set_character_flag = stutter_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = stutter_aa
									has_character_flag = stutter_bb
									has_character_flag = stutter_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = stutter_Aa
							set_character_flag = stutter_aa
							}
							1 = {
							clr_character_flag = stutter_Bb
							set_character_flag = stutter_bb
							}
							1 = {
							clr_character_flag = stutter_Cc
							set_character_flag = stutter_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = stutter_AA
						}
						9 =  { 
						set_character_flag = stutter_Aa
						}
						2 = {
						set_character_flag = stutter_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = stutter_BB
						}
						9 = {
						set_character_flag = stutter_Bb
						}
						2 = {
						set_character_flag = stutter_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = stutter_CC
						}
						9 =  { 
						set_character_flag = stutter_Cc
						}
						2 = {
						set_character_flag = stutter_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = stutter_AA
							has_character_flag = stutter_Aa
							has_character_flag = stutter_aa
							has_character_flag = stutter_BB
							has_character_flag = stutter_Bb
							has_character_flag = stutter_bb
							has_character_flag = stutter_CC
							has_character_flag = stutter_Cc
							has_character_flag = stutter_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = stutter
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_aa
						}
						2 = {
						set_character_flag = stutter_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_bb
						}
						2 = {
						set_character_flag = stutter_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_cc
						}
						2 = {
						set_character_flag = stutter_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = stutter_aa
									has_character_flag = stutter_bb
									has_character_flag = stutter_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = stutter_Aa
							set_character_flag = stutter_aa
							}
							1 = {
							clr_character_flag = stutter_Bb
							set_character_flag = stutter_bb
							}
							1 = {
							clr_character_flag = stutter_Cc
							set_character_flag = stutter_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = stutter_AA
						}
						9 =  { 
						set_character_flag = stutter_Aa
						}
						2 = {
						set_character_flag = stutter_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = stutter_BB
						}
						9 = {
						set_character_flag = stutter_Bb
						}
						2 = {
						set_character_flag = stutter_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = stutter_CC
						}
						9 =  { 
						set_character_flag = stutter_Cc
						}
						2 = {
						set_character_flag = stutter_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				father = {
					has_character_flag = stutter_AA
				}
				mother = {
					has_character_flag = stutter_AA
				}
			}
			set_character_flag = stutter_AA
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = stutter_AA
				}
				mother = {
					has_character_flag = stutter_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_AA
			}
			50 = {
			set_character_flag = stutter_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_Aa
			}
			mother = {
				has_character_flag = stutter_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_AA
			}
			50 = {
			set_character_flag = stutter_Aa
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_Aa
			}
			mother = {
				has_character_flag = stutter_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = stutter_AA
			}
			50 = {
			set_character_flag = stutter_Aa
			}
			25 = {
			set_character_flag = stutter_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = stutter_AA
				}
				mother = {
					has_character_flag = stutter_aa
				}
				}
			set_character_flag = stutter_Aa
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_aa
			}
			mother = {
				has_character_flag = stutter_AA
			}
			}
			set_character_flag = stutter_Aa
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_Aa
			}
			mother = {
				has_character_flag = stutter_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Aa
			}
			50 = {
			set_character_flag = stutter_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_aa
			}
			mother = {
				has_character_flag = stutter_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Aa
			}
			50 = {
			set_character_flag = stutter_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_aa
			}
			mother = {
				has_character_flag = stutter_aa
			}
			}
			set_character_flag = stutter_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = stutter_Aa
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = stutter_BB
				}
				mother = {
					has_character_flag = stutter_BB
				}
			}
			set_character_flag = stutter_BB
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = stutter_BB
				}
				mother = {
					has_character_flag = stutter_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_BB
			}
			50 = {
			set_character_flag = stutter_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_Bb
			}
			mother = {
				has_character_flag = stutter_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_BB
			}
			50 = {
			set_character_flag = stutter_Bb
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_Bb
			}
			mother = {
				has_character_flag = stutter_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = stutter_BB
			}
			50 = {
			set_character_flag = stutter_Bb
			}
			25 = {
			set_character_flag = stutter_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_BB
			}
			mother = {
				has_character_flag = stutter_bb
			}
			}
			set_character_flag = stutter_Bb
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_bb
			}
			mother = {
				has_character_flag = stutter_BB
			}
			}
			set_character_flag = stutter_Bb
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_Bb
			}
			mother = {
				has_character_flag = stutter_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Bb
			}
			50 = {
			set_character_flag = stutter_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_bb
			}
			mother = {
				has_character_flag = stutter_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Bb
			}
			50 = {
			set_character_flag = stutter_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_bb
			}
			mother = {
				has_character_flag = stutter_bb
			}
			}
			set_character_flag = stutter_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = stutter_Bb
		}
		
		if = {
			limit = {
				father = {
					has_character_flag = stutter_CC
				}
				mother = {
					has_character_flag = stutter_CC
				}
			}
			set_character_flag = stutter_CC
		}
		else_if = {
			limit = {
				father = {
					has_character_flag = stutter_CC
				}
				mother = {
					has_character_flag = stutter_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_CC
			}
			50 = {
			set_character_flag = stutter_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_Cc
			}
			mother = {
				has_character_flag = stutter_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_CC
			}
			50 = {
			set_character_flag = stutter_Cc
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_Cc
			}
			mother = {
				has_character_flag = stutter_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = stutter_CC
			}
			50 = {
			set_character_flag = stutter_Cc
			}
			25 = {
			set_character_flag = stutter_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_CC
			}
			mother = {
				has_character_flag = stutter_cc
			}
			}
			set_character_flag = stutter_Cc
		}
		
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_cc
			}
			mother = {
				has_character_flag = stutter_CC
			}
			}
			set_character_flag = stutter_Cc
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_Cc
			}
			mother = {
				has_character_flag = stutter_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Cc
			}
			50 = {
			set_character_flag = stutter_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_cc
			}
			mother = {
				has_character_flag = stutter_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Cc
			}
			50 = {
			set_character_flag = stutter_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			father = {
				has_character_flag = stutter_cc
			}
			mother = {
				has_character_flag = stutter_cc
			}
			}
			set_character_flag = stutter_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = stutter_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = stutter }
			}
			random_list = {
				75 = {
				add_trait = stutter
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = stutter }
			}
			random_list = {
				7.5 =  {
				add_trait = stutter
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = stutter }
			}
			random_list = {
				1 = {
				add_trait = stutter
				}
				199 = {
				}
			}
		}
		else = {
		}
		character_event = {
			id = MT.11400
			
			}
	}
}




## Second set of events for cuckolding

## For Intelligence
## Polygenic Inheritance
character_event = {

	hide_window = yes
	id = MT.20000
	
	is_triggered_only = yes
	
	immediate = {
	
	## 1. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
			
				real_father = {
					NOT = {
						OR = {
							has_character_flag = int_AA
							has_character_flag = int_Aa
							has_character_flag = int_aa
							has_character_flag = int_BB
							has_character_flag = int_Bb
							has_character_flag = int_bb
							has_character_flag = int_CC
							has_character_flag = int_Cc
							has_character_flag = int_cc
						}
					}
				}
			}
				
			real_father = {
				if = {
					limit = {
						trait = genius
					}
					random_list = {
						24 = {
						set_character_flag = int_AA
						set_character_flag = int_BB
						set_character_flag = int_CC
						}
						12 = {
						set_character_flag = int_AA
						set_character_flag = int_BB
						set_character_flag = int_Cc
						}
						12 = {
						set_character_flag = int_AA
						set_character_flag = int_Bb
						set_character_flag = int_CC
						}
						12 = {
						set_character_flag = int_Aa
						set_character_flag = int_BB
						set_character_flag = int_CC
						}
					}
				}
				else_if = {
					limit = {
						trait = quick
					}
					random_list = {
						2 =  { 
						set_character_flag = int_AA
						}
						2 = {
						set_character_flag = int_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_BB
						}
						2 = {
						set_character_flag = int_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_CC
						}
						2 = {
						set_character_flag = int_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = slow
					}
					random_list = {
						2 =  { 
						set_character_flag = int_Aa
						}
						2 = {
						set_character_flag = int_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_Bb
						}
						2 = {
						set_character_flag = int_bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_Cc
						}
						2 = {
						set_character_flag = int_cc
						}
					}
				}
				else_if = {
					limit = {
						trait = imbecile
					}
					random_list = {
						1 =  { 
						set_character_flag = int_Aa
						}
						2 = {
						set_character_flag = int_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_Bb
						}
						2 = {
						set_character_flag = int_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_Cc
						}
						2 = {
						set_character_flag = int_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = int_AA
						}
						4 =  { 
						set_character_flag = int_Aa
						}
						1 = {
						set_character_flag = int_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_BB
						}
						4 = {
						set_character_flag = int_Bb
						}
						1 = {
						set_character_flag = int_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_CC
						}
						4 =  { 
						set_character_flag = int_Cc
						}
						1 = {
						set_character_flag = int_cc
						}
					}
				}
				
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = int_AA
							has_character_flag = int_Aa
							has_character_flag = int_aa
							has_character_flag = int_BB
							has_character_flag = int_Bb
							has_character_flag = int_bb
							has_character_flag = int_CC
							has_character_flag = int_Cc
							has_character_flag = int_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = genius
					}
					random_list = {
						24 = {
						set_character_flag = int_AA
						set_character_flag = int_BB
						set_character_flag = int_CC
						}
						12 = {
						set_character_flag = int_AA
						set_character_flag = int_BB
						set_character_flag = int_Cc
						}
						12 = {
						set_character_flag = int_AA
						set_character_flag = int_Bb
						set_character_flag = int_CC
						}
						12 = {
						set_character_flag = int_Aa
						set_character_flag = int_BB
						set_character_flag = int_CC
						}
					}
				}
				else_if = {
					limit = {
						trait = quick
					}
					random_list = {
						2 =  { 
						set_character_flag = int_AA
						}
						2 = {
						set_character_flag = int_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_BB
						}
						2 = {
						set_character_flag = int_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = int_CC
						}
						2 = {
						set_character_flag = int_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = slow
					}
					random_list = {
						2 =  { 
						set_character_flag = int_Aa
						}
						2 = {
						set_character_flag = int_aa
						}
					}
					random_list = {
					## 4/13 chance genius IQ, 8/13 chance high IQ, 1/13 chance normal gene
						2 =  { 
						set_character_flag = int_Bb
						}
						2 = {
						set_character_flag = int_bb
						}
					}
					random_list = {
					## 4/13 chance genius IQ, 8/13 chance high IQ, 1/13 chance normal gene
						2 =  { 
						set_character_flag = int_Cc
						}
						2 = {
						set_character_flag = int_cc
						}
					}
				}
				else_if = {
					limit = {
						trait = imbecile
					}
					random_list = {
						24 = {
						set_character_flag = int_aa
						set_character_flag = int_bb
						set_character_flag = int_cc
						}
						12 = {
						set_character_flag = int_Aa
						set_character_flag = int_bb
						set_character_flag = int_cc
						}
						12 = {
						set_character_flag = int_aa
						set_character_flag = int_Bb
						set_character_flag = int_cc
						}
						12 = {
						set_character_flag = int_aa
						set_character_flag = int_bb
						set_character_flag = int_Cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = int_AA
						}
						4 =  { 
						set_character_flag = int_Aa
						}
						1 = {
						set_character_flag = int_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_BB
						}
						4 = {
						set_character_flag = int_Bb
						}
						1 = {
						set_character_flag = int_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = int_CC
						}
						4 =  { 
						set_character_flag = int_Cc
						}
						1 = {
						set_character_flag = int_cc
						}
					}
				}
				
			}
		}
		
	## 2. Genetic Inheritance
		
		set_variable = { which = alleles value = 0 }
		
		if = {
		
			limit = {
				real_father = {
					has_character_flag = int_AA
				}
				mother = {
					has_character_flag = int_AA
				}
			}
			set_character_flag = int_AA
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = int_AA
				}
				mother = {
					has_character_flag = int_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = int_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_Aa
			}
			mother = {
				has_character_flag = int_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_AA
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_Aa
			}
			mother = {
				has_character_flag = int_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = int_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = int_aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_AA
			}
			mother = {
				has_character_flag = int_aa
			}
			}
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_aa
			}
			mother = {
				has_character_flag = int_AA
			}
			}
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_Aa
			}
			mother = {
				has_character_flag = int_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_aa
			}
			mother = {
				has_character_flag = int_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_aa
			}
			mother = {
				has_character_flag = int_aa
			}
			}
			set_character_flag = int_aa
		}
		else = {
		set_character_flag = int_Aa
		change_variable = { which = alleles value = 1 }
		}
		
		
		if = {
			limit = {
				real_father = {
					has_character_flag = int_BB
				}
				mother = {
					has_character_flag = int_BB
				}
			}
			set_character_flag = int_BB
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = int_BB
				}
				mother = {
					has_character_flag = int_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = int_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_Bb
			}
			mother = {
				has_character_flag = int_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_Bb
			}
			mother = {
				has_character_flag = int_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = int_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = int_bb
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_BB
			}
			mother = {
				has_character_flag = int_bb
			}
			}
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_bb
			}
			mother = {
				has_character_flag = int_BB
			}
			}
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_Bb
			}
			mother = {
				has_character_flag = int_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_bb
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_bb
			}
			mother = {
				has_character_flag = int_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_bb
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_bb
			}
			mother = {
				has_character_flag = int_bb
			}
			}
			set_character_flag = int_bb
		}
		else = {
			set_character_flag = int_Bb
		change_variable = { which = alleles value = 1 }
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = int_CC
				}
				mother = {
					has_character_flag = int_CC
				}
			}
			set_character_flag = int_CC
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = int_CC
				}
				mother = {
					has_character_flag = int_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = int_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_Cc
			}
			mother = {
				has_character_flag = int_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_CC
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_Cc
			}
			mother = {
				has_character_flag = int_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = int_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = int_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_CC
			}
			mother = {
				has_character_flag = int_cc
			}
			}
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_cc
			}
			mother = {
				has_character_flag = int_CC
			}
			}
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_Cc
			}
			mother = {
				has_character_flag = int_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_cc
			}
			mother = {
				has_character_flag = int_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = int_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = int_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = int_cc
			}
			mother = {
				has_character_flag = int_cc
			}
			}
			set_character_flag = int_cc
		}
		else = {
		set_character_flag = int_Cc
		change_variable = { which = alleles value = 1 }

		}
		
	#### 3. Trait Assignment
		if = {
			limit = {
				check_variable = { which = alleles value = 6 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				30 = {
				add_trait = genius
				}
				50 = {
				add_trait = quick
				}
				20 = {
				add_trait = bright
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 5 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				5 = {
				add_trait = genius
				}
				20 = {
				add_trait = quick
				}
				50 = {
				add_trait = bright
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 4 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				2 = {
				add_trait = quick
				}
				8 = {
				add_trait = bright
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 3 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 2 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				2 = {
				add_trait = slow
				}
				8 = {
				add_trait = dim
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 1 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				5 = {
				add_trait = imbecile
				}
				20 = {
				add_trait = slow
				}
				50 = {
				add_trait = dim
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 0 }
				NOT = {
					OR = {
						trait = genius
						trait = quick
						trait = imbecile
						trait = slow
						trait = bright
						trait = dim
					}
				}
			}
			random_list = {
				30 = {
				add_trait = imbecile
				}
				50 = {
				add_trait = slow
				}
				20 = {
				add_trait = dim
				}
			}
		}
		else = {
		}
		
	character_event = {
			id = MT.20100
			
			}
}
}

## For Attractiveness
## Polygenic Inheritance
character_event = {

	hide_window = yes
	id = MT.20100
	
	is_triggered_only = yes
	
	immediate = {
	## 2. Initialization. Only executes for characters without flags
		if = {
			limit = {
				real_father = {
					NOT = {
						OR = {
							has_character_flag = attr_AA
							has_character_flag = attr_Aa
							has_character_flag = attr_aa
							has_character_flag = attr_BB
							has_character_flag = attr_Bb
							has_character_flag = attr_bb
							has_character_flag = attr_CC
							has_character_flag = attr_Cc
							has_character_flag = attr_cc
						}
					}
				}
			}
				
			real_father = {
				if = {
					limit = {
						trait = fair
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_AA
						}
						2 = {
						set_character_flag = attr_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_BB
						}
						2 = {
						set_character_flag = attr_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_CC
						}
						2 = {
						set_character_flag = attr_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = ugly
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_Aa
						}
						2 = {
						set_character_flag = attr_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_Bb
						}
						2 = {
						set_character_flag = attr_bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_Cc
						}
						2 = {
						set_character_flag = attr_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = attr_AA
						}
						4 = { 
						set_character_flag = attr_Aa
						}
						1 = {
						set_character_flag = attr_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = attr_BB
						}
						4 = {
						set_character_flag = attr_Bb
						}
						1 = {
						set_character_flag = attr_bb
						}
					}
					random_list = {
						1 = { 
						set_character_flag = attr_CC
						}
						4 = { 
						set_character_flag = attr_Cc
						}
						1 = {
						set_character_flag = attr_cc
						}
					}
				}
				
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = attr_AA
							has_character_flag = attr_Aa
							has_character_flag = attr_aa
							has_character_flag = attr_BB
							has_character_flag = attr_Bb
							has_character_flag = attr_bb
							has_character_flag = attr_CC
							has_character_flag = attr_Cc
							has_character_flag = attr_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = fair
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_AA
						}
						2 = {
						set_character_flag = attr_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_BB
						}
						2 = {
						set_character_flag = attr_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_CC
						}
						2 = {
						set_character_flag = attr_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = ugly
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_Aa
						}
						2 = {
						set_character_flag = attr_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = attr_Bb
						}
						2 = {
						set_character_flag = attr_bb
						}
					}
					random_list = {
					## 4/13 chance genius IQ, 8/13 chance high IQ, 1/13 chance normal gene
						2 =  { 
						set_character_flag = attr_Cc
						}
						2 = {
						set_character_flag = attr_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = attr_AA
						}
						4 =  { 
						set_character_flag = attr_Aa
						}
						1 = {
						set_character_flag = attr_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = attr_BB
						}
						4 = {
						set_character_flag = attr_Bb
						}
						1 = {
						set_character_flag = attr_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = attr_CC
						}
						4 =  { 
						set_character_flag = attr_Cc
						}
						1 = {
						set_character_flag = attr_cc
						}
					}
				}
				
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = alleles value = 0 }
		
		if = {
		
			limit = {
				real_father = {
					has_character_flag = attr_AA
				}
				mother = {
					has_character_flag = attr_AA
				}
			}
			set_character_flag = attr_AA
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = attr_AA
				}
				mother = {
					has_character_flag = attr_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = attr_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_Aa
			}
			mother = {
				has_character_flag = attr_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_AA
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_Aa
			}
			mother = {
				has_character_flag = attr_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = attr_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = attr_aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_AA
			}
			mother = {
				has_character_flag = attr_aa
			}
			}
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_aa
			}
			mother = {
				has_character_flag = attr_AA
			}
			}
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_Aa
			}
			mother = {
				has_character_flag = attr_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_aa
			}
			mother = {
				has_character_flag = attr_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_aa
			}
			mother = {
				has_character_flag = attr_aa
			}
			}
			set_character_flag = attr_aa
		}
		else = {
		set_character_flag = attr_Aa
		change_variable = { which = alleles value = 1 }
		}
		
		
		if = {
			limit = {
				real_father = {
					has_character_flag = attr_BB
				}
				mother = {
					has_character_flag = attr_BB
				}
			}
			set_character_flag = attr_BB
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = attr_BB
				}
				mother = {
					has_character_flag = attr_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = attr_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_Bb
			}
			mother = {
				has_character_flag = attr_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_BB
			}
			mother = {
				has_character_flag = attr_bb
			}
			}
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_bb
			}
			mother = {
				has_character_flag = attr_BB
			}
			}
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_Bb
			}
			mother = {
				has_character_flag = attr_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = attr_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = attr_bb
			
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_Bb
			}
			mother = {
				has_character_flag = attr_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_bb
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_bb
			}
			mother = {
				has_character_flag = attr_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_bb
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_bb
			}
			mother = {
				has_character_flag = attr_bb
			}
			}
			set_character_flag = attr_bb
		}
		else = {
			set_character_flag = attr_Bb
		change_variable = { which = alleles value = 1 }
			
		}
		if = {
			limit = {
				real_father = {
					has_character_flag = attr_CC
				}
				mother = {
					has_character_flag = attr_CC
				}
			}
			set_character_flag = attr_CC
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = attr_CC
				}
				mother = {
					has_character_flag = attr_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = attr_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_Cc
			}
			mother = {
				has_character_flag = attr_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_CC
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_Cc
			}
			mother = {
				has_character_flag = attr_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = attr_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = attr_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_CC
			}
			mother = {
				has_character_flag = attr_cc
			}
			}
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_cc
			}
			mother = {
				has_character_flag = attr_CC
			}
			}
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_Cc
			}
			mother = {
				has_character_flag = attr_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_cc
			}
			mother = {
				has_character_flag = attr_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = attr_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = attr_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = attr_cc
			}
			mother = {
				has_character_flag = attr_cc
			}
			}
			set_character_flag = attr_cc
		}
		else = {
		set_character_flag = attr_Cc
		change_variable = { which = alleles value = 1 }
		
		}
		
	#### 4. Trait Assignment
		if = {
			limit = {
				check_variable = { which = alleles value = 6 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				80 = {
				add_trait = fair
				}
				20 = {
				add_trait = comely
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 5 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				25 = {
				add_trait = fair
				}
				50 = {
				add_trait = comely
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 4 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				2 = {
				add_trait = fair
				}
				8 = {
				add_trait = comely
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 3 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 2 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				2 = {
				add_trait = ugly
				}
				8 = {
				add_trait = homely
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 1 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				25 = {
				add_trait = ugly
				}
				50 = {
				add_trait = homely
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 0 }
				NOT = {
					OR = {
						trait = fair
						trait = ugly
						trait = comely
						trait = homely
					}
				}
			}
			random_list = {
				80 = {
				add_trait = ugly
				}
				20 = {
				add_trait = homely
				}
			}
		}
		else = {
		}
		
	character_event = {
			id = MT.20200
			
			}
}
}

## For Strength
## Polygenic Inheritance
character_event = {

	hide_window = yes
	id = MT.20200
	
	is_triggered_only = yes
	
	immediate = {
	
	
	## 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
			
				real_father = {
					NOT = {
						OR = {
							has_character_flag = str_AA
							has_character_flag = str_Aa
							has_character_flag = str_aa
							has_character_flag = str_BB
							has_character_flag = str_Bb
							has_character_flag = str_bb
							has_character_flag = str_CC
							has_character_flag = str_Cc
							has_character_flag = str_cc
						}
					}
				}
			}
				
			real_father = {
				if = {
					limit = {
						trait = strong
					}
					random_list = {
						2 =  { 
						set_character_flag = str_AA
						}
						2 = {
						set_character_flag = str_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_BB
						}
						2 = {
						set_character_flag = str_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_CC
						}
						2 = {
						set_character_flag = str_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = weak
					}
					random_list = {
						2 =  { 
						set_character_flag = str_Aa
						}
						2 = {
						set_character_flag = str_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_Bb
						}
						2 = {
						set_character_flag = str_bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_Cc
						}
						2 = {
						set_character_flag = str_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = str_AA
						}
						4 =  { 
						set_character_flag = str_Aa
						}
						1 = {
						set_character_flag = str_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = str_BB
						}
						4 = {
						set_character_flag = str_Bb
						}
						1 = {
						set_character_flag = str_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = str_CC
						}
						4 =  { 
						set_character_flag = str_Cc
						}
						1 = {
						set_character_flag = str_cc
						}
					}
				}
				
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = str_AA
							has_character_flag = str_Aa
							has_character_flag = str_aa
							has_character_flag = str_BB
							has_character_flag = str_Bb
							has_character_flag = str_bb
							has_character_flag = str_CC
							has_character_flag = str_Cc
							has_character_flag = str_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = strong
					}
					random_list = {
						2 =  { 
						set_character_flag = str_AA
						}
						2 = {
						set_character_flag = str_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_BB
						}
						2 = {
						set_character_flag = str_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_CC
						}
						2 = {
						set_character_flag = str_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = weak
					}
					random_list = {
						2 =  { 
						set_character_flag = str_Aa
						}
						2 = {
						set_character_flag = str_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = str_Bb
						}
						2 = {
						set_character_flag = str_bb
						}
					}
					random_list = {
					## 4/13 chance genius IQ, 8/13 chance high IQ, 1/13 chance normal gene
						2 =  { 
						set_character_flag = str_Cc
						}
						2 = {
						set_character_flag = str_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = str_AA
						}
						4 =  { 
						set_character_flag = str_Aa
						}
						1 = {
						set_character_flag = str_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = str_BB
						}
						4 = {
						set_character_flag = str_Bb
						}
						1 = {
						set_character_flag = str_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = str_CC
						}
						4 =  { 
						set_character_flag = str_Cc
						}
						1 = {
						set_character_flag = str_cc
						}
					}
				}
				
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = alleles value = 0 }
		
		if = {
		
			limit = {
				real_father = {
					has_character_flag = str_AA
				}
				mother = {
					has_character_flag = str_AA
				}
			}
			set_character_flag = str_AA
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = str_AA
				}
				mother = {
					has_character_flag = str_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = str_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_Aa
			}
			mother = {
				has_character_flag = str_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_AA
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_Aa
			}
			mother = {
				has_character_flag = str_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = str_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = str_aa
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_AA
			}
			mother = {
				has_character_flag = str_aa
			}
			}
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_aa
			}
			mother = {
				has_character_flag = str_AA
			}
			}
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_Aa
			}
			mother = {
				has_character_flag = str_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_aa
			}
			mother = {
				has_character_flag = str_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_aa
			}
			}
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = str_aa
				}
				mother = {
					has_character_flag = str_aa
				}
				}
			set_character_flag = str_aa
		}
		else = {
		set_character_flag = str_Aa
		change_variable = { which = alleles value = 1 }
		}
		
		
		if = {
			limit = {
				real_father = {
					has_character_flag = str_BB
				}
				mother = {
					has_character_flag = str_BB
				}
			}
			set_character_flag = str_BB
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = str_BB
				}
				mother = {
					has_character_flag = str_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = str_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_Bb
			}
			mother = {
				has_character_flag = str_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_BB
			}
			mother = {
				has_character_flag = str_bb
			}
			}
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_bb
			}
			mother = {
				has_character_flag = str_BB
			}
			}
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_Bb
			}
			mother = {
				has_character_flag = str_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = str_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = str_bb
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_Bb
			}
			mother = {
				has_character_flag = str_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_bb
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_bb
			}
			mother = {
				has_character_flag = str_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_bb
			
			}
			}
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = str_bb
				}
				mother = {
					has_character_flag = str_bb
				}
				}
			set_character_flag = str_bb
		}
		else = {
			set_character_flag = str_Bb
		change_variable = { which = alleles value = 1 }
			
		}
		if = {
			limit = {
				real_father = {
					has_character_flag = str_CC
				}
				mother = {
					has_character_flag = str_CC
				}
			}
			set_character_flag = str_CC
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = str_CC
				}
				mother = {
					has_character_flag = str_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = str_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_Cc
			}
			mother = {
				has_character_flag = str_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_CC
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_Cc
			}
			mother = {
				has_character_flag = str_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = str_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = str_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_CC
			}
			mother = {
				has_character_flag = str_cc
			}
			}
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_cc
			}
			mother = {
				has_character_flag = str_CC
			}
			}
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_Cc
			}
			mother = {
				has_character_flag = str_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = str_cc
			}
			mother = {
				has_character_flag = str_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = str_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = str_cc
			
			}
			}
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = str_cc
				}
				mother = {
					has_character_flag = str_cc
				}
				}
			set_character_flag = str_cc
		}
		else = {
		set_character_flag = str_Cc
		change_variable = { which = alleles value = 1 }
		
		}
		
	#### 4. Trait Assignment
		if = {
			limit = {
				check_variable = { which = alleles value = 6 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				80 = {
				add_trait = strong
				}
				20 = {
				add_trait = burly
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 5 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				25 = {
				add_trait = strong
				}
				50 = {
				add_trait = burly
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 4 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				2 = {
				add_trait = strong
				}
				8 = {
				add_trait = burly
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 3 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 2 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				2 = {
				add_trait = weak
				}
				8 = {
				add_trait = delicate
				}
				97.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 1 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				25 = {
				add_trait = weak
				}
				50 = {
				add_trait = delicate
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 0 }
				NOT = {
					OR = {
						trait = strong
						trait = weak
						trait = burly
						trait = delicate
					}
				}
			}
			random_list = {
				80 = {
				add_trait = weak
				}
				20 = {
				add_trait = delicate
				}
			}
		}
		else = {
		}
		
	character_event = {
			id = MT.20300
			
			}
}
}


## For Height
## Polygenic Inheritance
character_event = {

	hide_window = yes
	id = MT.20300
	
	is_triggered_only = yes
	
	immediate = {
	
	
	## 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
			
				real_father = {
					NOT = {
						OR = {
							has_character_flag = hgt_AA
							has_character_flag = hgt_Aa
							has_character_flag = hgt_aa
							has_character_flag = hgt_BB
							has_character_flag = hgt_Bb
							has_character_flag = hgt_bb
							has_character_flag = hgt_CC
							has_character_flag = hgt_Cc
							has_character_flag = hgt_cc
						}
					}
				}
			}
				
			real_father = {
				if = {
					limit = {
						trait = giant
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_AA
						}
						2 = {
						set_character_flag = hgt_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_BB
						}
						2 = {
						set_character_flag = hgt_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_CC
						}
						2 = {
						set_character_flag = hgt_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = tiny
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_Aa
						}
						2 = {
						set_character_flag = hgt_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_Bb
						}
						2 = {
						set_character_flag = hgt_bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_Cc
						}
						2 = {
						set_character_flag = hgt_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = hgt_AA
						}
						4 =  { 
						set_character_flag = hgt_Aa
						}
						1 = {
						set_character_flag = hgt_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = hgt_BB
						}
						4 = {
						set_character_flag = hgt_Bb
						}
						1 = {
						set_character_flag = hgt_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = hgt_CC
						}
						4 =  { 
						set_character_flag = hgt_Cc
						}
						1 = {
						set_character_flag = hgt_cc
						}
					}
				}
				
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = hgt_AA
							has_character_flag = hgt_Aa
							has_character_flag = hgt_aa
							has_character_flag = hgt_BB
							has_character_flag = hgt_Bb
							has_character_flag = hgt_bb
							has_character_flag = hgt_CC
							has_character_flag = hgt_Cc
							has_character_flag = hgt_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = giant
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_AA
						}
						2 = {
						set_character_flag = hgt_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_BB
						}
						2 = {
						set_character_flag = hgt_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_CC
						}
						2 = {
						set_character_flag = hgt_Cc
						}
					}
				}
				else_if = {
					limit = {
						trait = tiny
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_Aa
						}
						2 = {
						set_character_flag = hgt_aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hgt_Bb
						}
						2 = {
						set_character_flag = hgt_bb
						}
					}
					random_list = {
					## 4/13 chance genius IQ, 8/13 chance high IQ, 1/13 chance normal gene
						2 =  { 
						set_character_flag = hgt_Cc
						}
						2 = {
						set_character_flag = hgt_cc
						}
					}
				}
				else = {
					random_list = {
						1 =  { 
						set_character_flag = hgt_AA
						}
						4 =  { 
						set_character_flag = hgt_Aa
						}
						1 = {
						set_character_flag = hgt_aa
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = hgt_BB
						}
						4 = {
						set_character_flag = hgt_Bb
						}
						1 = {
						set_character_flag = hgt_bb
						}
					}
					random_list = {
						1 =  { 
						set_character_flag = hgt_CC
						}
						4 =  { 
						set_character_flag = hgt_Cc
						}
						1 = {
						set_character_flag = hgt_cc
						}
					}
				}
				
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = alleles value = 0 }
		
		if = {
		
			limit = {
				real_father = {
					has_character_flag = hgt_AA
				}
				mother = {
					has_character_flag = hgt_AA
				}
			}
			set_character_flag = hgt_AA
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = hgt_AA
				}
				mother = {
					has_character_flag = hgt_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_Aa
			}
			mother = {
				has_character_flag = hgt_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_AA
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_Aa
			}
			mother = {
				has_character_flag = hgt_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = hgt_AA
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = hgt_aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_AA
			}
			mother = {
				has_character_flag = hgt_aa
			}
			}
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_aa
			}
			mother = {
				has_character_flag = hgt_AA
			}
			}
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_Aa
			}
			mother = {
				has_character_flag = hgt_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_aa
			}
			mother = {
				has_character_flag = hgt_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Aa
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_aa
			}
			mother = {
				has_character_flag = hgt_aa
			}
			}
			set_character_flag = hgt_aa
		}
		
		else = {
		set_character_flag = hgt_Aa
		change_variable = { which = alleles value = 1 }
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = hgt_BB
				}
				mother = {
					has_character_flag = hgt_BB
				}
			}
			set_character_flag = hgt_BB
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = hgt_BB
				}
				mother = {
					has_character_flag = hgt_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_Bb
			}
			mother = {
				has_character_flag = hgt_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_Bb
			}
			mother = {
				has_character_flag = hgt_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = hgt_BB
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = hgt_bb
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_BB
			}
			mother = {
				has_character_flag = hgt_bb
			}
			}
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_bb
			}
			mother = {
				has_character_flag = hgt_BB
			}
			}
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_Bb
			}
			mother = {
				has_character_flag = hgt_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_bb
		change_variable = { which = alleles value = 1 }
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_bb
			}
			mother = {
				has_character_flag = hgt_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Bb
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_bb
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_bb
			}
			mother = {
				has_character_flag = hgt_bb
			}
			}
			set_character_flag = hgt_bb
		}
		else = {
			set_character_flag = hgt_Bb
			
		}
		if = {
			limit = {
				real_father = {
					has_character_flag = hgt_CC
				}
				mother = {
					has_character_flag = hgt_CC
				}
			}
			set_character_flag = hgt_CC
			change_variable = { which = alleles value = 2 }
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = hgt_CC
				}
				mother = {
					has_character_flag = hgt_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_Cc
			}
			mother = {
				has_character_flag = hgt_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_CC
			change_variable = { which = alleles value = 2 }

			}
			50 = {
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_CC
			}
			mother = {
				has_character_flag = hgt_cc
			}
			}
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_cc
			}
			mother = {
				has_character_flag = hgt_CC
			}
			}
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_Cc
			}
			mother = {
				has_character_flag = hgt_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = hgt_CC
			change_variable = { which = alleles value = 2 }
			}
			50 = {
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
			}
			25 = {
			set_character_flag = hgt_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_Cc
			}
			mother = {
				has_character_flag = hgt_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_cc
			}
			mother = {
				has_character_flag = hgt_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = hgt_Cc
			change_variable = { which = alleles value = 1 }
			}
			50 = {
			set_character_flag = hgt_cc
			
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hgt_cc
			}
			mother = {
				has_character_flag = hgt_cc
			}
			}
			set_character_flag = hgt_cc
		}
		
		else = {
		set_character_flag = hgt_Cc
		change_variable = { which = alleles value = 1 }
		
		}
		
	#### 4. Trait Assignment
		if = {
			limit = {
				check_variable = { which = alleles value = 6 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				80 = {
				add_trait = giant
				}
				20 = {
				add_trait = tall
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 5 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				20 = {
				add_trait = giant
				}
				60 = {
				add_trait = tall
				}
				20 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 4 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				2 = {
				add_trait = giant
				}
				8 = {
				add_trait = tall
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 3 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 2 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				2 = {
				add_trait = tiny
				}
				8 = {
				add_trait = short
				}
				90 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 1 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				20 = {
				add_trait = tiny
				}
				60 = {
				add_trait = short
				}
				20 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = alleles value = 0 }
				NOT = {
					OR = {
						trait = tall
						trait = short
						trait = giant
						trait = tiny
					}
				}
			}
			random_list = {
				80 = {
				add_trait = tiny
				}
				20 = {
				add_trait = short
				}
			}
		}
		else = {
		}
		
	character_event = {
			id = MT.20400
			
			}
}
}

## For Dwarf
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.20400
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		real_father = {
			if = {
				limit = {
					trait = dwarf
					NOT = {
						OR = {
							has_character_flag = dwarf_aa
							has_character_flag = dwarf_bb
							has_character_flag = dwarf_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = dwarf_AA
				clr_character_flag = dwarf_BB
				clr_character_flag = dwarf_CC
				clr_character_flag = dwarf_Aa
				clr_character_flag = dwarf_Bb
				clr_character_flag = dwarf_Cc
				clr_character_flag = dwarf_aa
				clr_character_flag = dwarf_bb
				clr_character_flag = dwarf_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = dwarf
					NOT = {
						OR = {
							has_character_flag = dwarf_aa
							has_character_flag = dwarf_bb
							has_character_flag = dwarf_cc
						}
					}
				}
				clr_character_flag = dwarf_AA
				clr_character_flag = dwarf_BB
				clr_character_flag = dwarf_CC
				clr_character_flag = dwarf_Aa
				clr_character_flag = dwarf_Bb
				clr_character_flag = dwarf_Cc
				clr_character_flag = dwarf_aa
				clr_character_flag = dwarf_bb
				clr_character_flag = dwarf_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				real_father = {
					NOT = {
						OR = {
							has_character_flag = dwarf_AA
							has_character_flag = dwarf_Aa
							has_character_flag = dwarf_aa
							has_character_flag = dwarf_BB
							has_character_flag = dwarf_Bb
							has_character_flag = dwarf_bb
							has_character_flag = dwarf_CC
							has_character_flag = dwarf_Cc
							has_character_flag = dwarf_cc
						}
					}
				}
			}
				
			real_father = {
				if = {
					limit = {
						trait = dwarf
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_aa
						}
						2 = {
						set_character_flag = dwarf_Aa
						}
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_bb
						}
						2 = {
						set_character_flag = dwarf_Bb
						}
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_cc
						}
						2 = {
						set_character_flag = dwarf_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = dwarf_aa
									has_character_flag = dwarf_bb
									has_character_flag = dwarf_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = dwarf_Aa
							set_character_flag = dwarf_aa
							}
							1 = {
							clr_character_flag = dwarf_Bb
							set_character_flag = dwarf_bb
							}
							1 = {
							clr_character_flag = dwarf_Cc
							set_character_flag = dwarf_cc
							}
						}
					}
					
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = dwarf_AA
						}
						9 =  { 
						set_character_flag = dwarf_Aa
						}
						2 = {
						set_character_flag = dwarf_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = dwarf_BB
						}
						9 = {
						set_character_flag = dwarf_Bb
						}
						2 = {
						set_character_flag = dwarf_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = dwarf_CC
						}
						9 =  { 
						set_character_flag = dwarf_Cc
						}
						2 = {
						set_character_flag = dwarf_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = dwarf_AA
							has_character_flag = dwarf_Aa
							has_character_flag = dwarf_aa
							has_character_flag = dwarf_BB
							has_character_flag = dwarf_Bb
							has_character_flag = dwarf_bb
							has_character_flag = dwarf_CC
							has_character_flag = dwarf_Cc
							has_character_flag = dwarf_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = dwarf
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_aa
						}
						2 = {
						set_character_flag = dwarf_Aa
						}
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_bb
						}
						2 = {
						set_character_flag = dwarf_Bb
						}
					}
					random_list = {
						3 =  { 
						set_character_flag = dwarf_cc
						}
						2 = {
						set_character_flag = dwarf_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = dwarf_aa
									has_character_flag = dwarf_bb
									has_character_flag = dwarf_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = dwarf_Aa
							set_character_flag = dwarf_aa
							}
							1 = {
							clr_character_flag = dwarf_Bb
							set_character_flag = dwarf_bb
							}
							1 = {
							clr_character_flag = dwarf_Cc
							set_character_flag = dwarf_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = dwarf_AA
						}
						9 =  { 
						set_character_flag = dwarf_Aa
						}
						2 = {
						set_character_flag = dwarf_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = dwarf_BB
						}
						9 = {
						set_character_flag = dwarf_Bb
						}
						2 = {
						set_character_flag = dwarf_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = dwarf_CC
						}
						9 =  { 
						set_character_flag = dwarf_Cc
						}
						2 = {
						set_character_flag = dwarf_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				real_father = {
					has_character_flag = dwarf_AA
				}
				mother = {
					has_character_flag = dwarf_AA
				}
			}
			set_character_flag = dwarf_AA
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = dwarf_AA
				}
				mother = {
					has_character_flag = dwarf_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_AA
			}
			50 = {
			set_character_flag = dwarf_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_Aa
			}
			mother = {
				has_character_flag = dwarf_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_AA
			}
			50 = {
			set_character_flag = dwarf_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_Aa
			}
			mother = {
				has_character_flag = dwarf_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = dwarf_AA
			}
			50 = {
			set_character_flag = dwarf_Aa
			}
			25 = {
			set_character_flag = dwarf_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = dwarf_AA
				}
				mother = {
					has_character_flag = dwarf_aa
				}
				}
			set_character_flag = dwarf_Aa
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_aa
			}
			mother = {
				has_character_flag = dwarf_AA
			}
			}
			set_character_flag = dwarf_Aa
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_Aa
			}
			mother = {
				has_character_flag = dwarf_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Aa
			}
			50 = {
			set_character_flag = dwarf_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_aa
			}
			mother = {
				has_character_flag = dwarf_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Aa
			}
			50 = {
			set_character_flag = dwarf_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_aa
			}
			mother = {
				has_character_flag = dwarf_aa
			}
			}
			set_character_flag = dwarf_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = dwarf_Aa
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = dwarf_BB
				}
				mother = {
					has_character_flag = dwarf_BB
				}
			}
			set_character_flag = dwarf_BB
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = dwarf_BB
				}
				mother = {
					has_character_flag = dwarf_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_BB
			}
			50 = {
			set_character_flag = dwarf_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_Bb
			}
			mother = {
				has_character_flag = dwarf_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_BB
			}
			50 = {
			set_character_flag = dwarf_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_Bb
			}
			mother = {
				has_character_flag = dwarf_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = dwarf_BB
			}
			50 = {
			set_character_flag = dwarf_Bb
			}
			25 = {
			set_character_flag = dwarf_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_BB
			}
			mother = {
				has_character_flag = dwarf_bb
			}
			}
			set_character_flag = dwarf_Bb
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_bb
			}
			mother = {
				has_character_flag = dwarf_BB
			}
			}
			set_character_flag = dwarf_Bb
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_Bb
			}
			mother = {
				has_character_flag = dwarf_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Bb
			}
			50 = {
			set_character_flag = dwarf_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_bb
			}
			mother = {
				has_character_flag = dwarf_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Bb
			}
			50 = {
			set_character_flag = dwarf_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_bb
			}
			mother = {
				has_character_flag = dwarf_bb
			}
			}
			set_character_flag = dwarf_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = dwarf_Bb
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = dwarf_CC
				}
				mother = {
					has_character_flag = dwarf_CC
				}
			}
			set_character_flag = dwarf_CC
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = dwarf_CC
				}
				mother = {
					has_character_flag = dwarf_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_CC
			}
			50 = {
			set_character_flag = dwarf_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_Cc
			}
			mother = {
				has_character_flag = dwarf_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_CC
			}
			50 = {
			set_character_flag = dwarf_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_Cc
			}
			mother = {
				has_character_flag = dwarf_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = dwarf_CC
			}
			50 = {
			set_character_flag = dwarf_Cc
			}
			25 = {
			set_character_flag = dwarf_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_CC
			}
			mother = {
				has_character_flag = dwarf_cc
			}
			}
			set_character_flag = dwarf_Cc
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_cc
			}
			mother = {
				has_character_flag = dwarf_CC
			}
			}
			set_character_flag = dwarf_Cc
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_Cc
			}
			mother = {
				has_character_flag = dwarf_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Cc
			}
			50 = {
			set_character_flag = dwarf_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_cc
			}
			mother = {
				has_character_flag = dwarf_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = dwarf_Cc
			}
			50 = {
			set_character_flag = dwarf_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = dwarf_cc
			}
			mother = {
				has_character_flag = dwarf_cc
			}
			}
			set_character_flag = dwarf_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = dwarf_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = dwarf }
			}
			random_list = {
				75 = {
				add_trait = dwarf
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = dwarf }
			}
			random_list = {
				7.5 =  {
				add_trait = dwarf
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = dwarf }
			}
			random_list = {
				0 = {
				add_trait = dwarf
				}
				99.7 = {
				}
			}
		}
		else = {
		}
	character_event = {
			id = MT.20500
			
			}
}
}


## For clubfooted
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.20500
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		real_father = {
			if = {
				limit = {
					trait = clubfooted
					NOT = {
						OR = {
							has_character_flag = clubfooted_aa
							has_character_flag = clubfooted_bb
							has_character_flag = clubfooted_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = clubfooted_AA
				clr_character_flag = clubfooted_BB
				clr_character_flag = clubfooted_CC
				clr_character_flag = clubfooted_Aa
				clr_character_flag = clubfooted_Bb
				clr_character_flag = clubfooted_Cc
				clr_character_flag = clubfooted_aa
				clr_character_flag = clubfooted_bb
				clr_character_flag = clubfooted_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = clubfooted
					NOT = {
						OR = {
							has_character_flag = clubfooted_aa
							has_character_flag = clubfooted_bb
							has_character_flag = clubfooted_cc
						}
					}
				}
				clr_character_flag = clubfooted_AA
				clr_character_flag = clubfooted_BB
				clr_character_flag = clubfooted_CC
				clr_character_flag = clubfooted_Aa
				clr_character_flag = clubfooted_Bb
				clr_character_flag = clubfooted_Cc
				clr_character_flag = clubfooted_aa
				clr_character_flag = clubfooted_bb
				clr_character_flag = clubfooted_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				real_father = {
					NOT = {
						OR = {
							has_character_flag = clubfooted_AA
							has_character_flag = clubfooted_Aa
							has_character_flag = clubfooted_aa
							has_character_flag = clubfooted_BB
							has_character_flag = clubfooted_Bb
							has_character_flag = clubfooted_bb
							has_character_flag = clubfooted_CC
							has_character_flag = clubfooted_Cc
							has_character_flag = clubfooted_cc
						}
					}
				}
			}
				
			real_father = {
				if = {
					limit = {
						trait = clubfooted
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_aa
						}
						2 = {
						set_character_flag = clubfooted_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_bb
						}
						2 = {
						set_character_flag = clubfooted_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_cc
						}
						2 = {
						set_character_flag = clubfooted_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = clubfooted_aa
									has_character_flag = clubfooted_bb
									has_character_flag = clubfooted_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = clubfooted_Aa
							set_character_flag = clubfooted_aa
							}
							1 = {
							clr_character_flag = clubfooted_Bb
							set_character_flag = clubfooted_bb
							}
							1 = {
							clr_character_flag = clubfooted_Cc
							set_character_flag = clubfooted_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_AA
						}
						9 =  { 
						set_character_flag = clubfooted_Aa
						}
						2 = {
						set_character_flag = clubfooted_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_BB
						}
						9 = {
						set_character_flag = clubfooted_Bb
						}
						2 = {
						set_character_flag = clubfooted_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_CC
						}
						9 =  { 
						set_character_flag = clubfooted_Cc
						}
						2 = {
						set_character_flag = clubfooted_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = clubfooted_AA
							has_character_flag = clubfooted_Aa
							has_character_flag = clubfooted_aa
							has_character_flag = clubfooted_BB
							has_character_flag = clubfooted_Bb
							has_character_flag = clubfooted_bb
							has_character_flag = clubfooted_CC
							has_character_flag = clubfooted_Cc
							has_character_flag = clubfooted_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = clubfooted
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_aa
						}
						2 = {
						set_character_flag = clubfooted_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_bb
						}
						2 = {
						set_character_flag = clubfooted_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = clubfooted_cc
						}
						2 = {
						set_character_flag = clubfooted_Cc
						}
					}
				if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = clubfooted_aa
									has_character_flag = clubfooted_bb
									has_character_flag = clubfooted_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = clubfooted_Aa
							set_character_flag = clubfooted_aa
							}
							1 = {
							clr_character_flag = clubfooted_Bb
							set_character_flag = clubfooted_bb
							}
							1 = {
							clr_character_flag = clubfooted_Cc
							set_character_flag = clubfooted_cc
							}
						}
					}
				
				else = {
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_AA
						}
						9 =  { 
						set_character_flag = clubfooted_Aa
						}
						2 = {
						set_character_flag = clubfooted_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_BB
						}
						9 = {
						set_character_flag = clubfooted_Bb
						}
						2 = {
						set_character_flag = clubfooted_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = clubfooted_CC
						}
						9 =  { 
						set_character_flag = clubfooted_Cc
						}
						2 = {
						set_character_flag = clubfooted_cc
						}
					}
				}
			}
		}
	}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				real_father = {
					has_character_flag = clubfooted_AA
				}
				mother = {
					has_character_flag = clubfooted_AA
				}
			}
			set_character_flag = clubfooted_AA
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = clubfooted_AA
				}
				mother = {
					has_character_flag = clubfooted_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_AA
			}
			50 = {
			set_character_flag = clubfooted_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_Aa
			}
			mother = {
				has_character_flag = clubfooted_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_AA
			}
			50 = {
			set_character_flag = clubfooted_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_Aa
			}
			mother = {
				has_character_flag = clubfooted_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = clubfooted_AA
			}
			50 = {
			set_character_flag = clubfooted_Aa
			}
			25 = {
			set_character_flag = clubfooted_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = clubfooted_AA
				}
				mother = {
					has_character_flag = clubfooted_aa
				}
				}
			set_character_flag = clubfooted_Aa
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_aa
			}
			mother = {
				has_character_flag = clubfooted_AA
			}
			}
			set_character_flag = clubfooted_Aa
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_Aa
			}
			mother = {
				has_character_flag = clubfooted_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Aa
			}
			50 = {
			set_character_flag = clubfooted_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_aa
			}
			mother = {
				has_character_flag = clubfooted_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Aa
			}
			50 = {
			set_character_flag = clubfooted_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_aa
			}
			mother = {
				has_character_flag = clubfooted_aa
			}
			}
			set_character_flag = clubfooted_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = clubfooted_Aa
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = clubfooted_BB
				}
				mother = {
					has_character_flag = clubfooted_BB
				}
			}
			set_character_flag = clubfooted_BB
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = clubfooted_BB
				}
				mother = {
					has_character_flag = clubfooted_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_BB
			}
			50 = {
			set_character_flag = clubfooted_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_Bb
			}
			mother = {
				has_character_flag = clubfooted_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_BB
			}
			50 = {
			set_character_flag = clubfooted_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_Bb
			}
			mother = {
				has_character_flag = clubfooted_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = clubfooted_BB
			}
			50 = {
			set_character_flag = clubfooted_Bb
			}
			25 = {
			set_character_flag = clubfooted_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_BB
			}
			mother = {
				has_character_flag = clubfooted_bb
			}
			}
			set_character_flag = clubfooted_Bb
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_bb
			}
			mother = {
				has_character_flag = clubfooted_BB
			}
			}
			set_character_flag = clubfooted_Bb
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_Bb
			}
			mother = {
				has_character_flag = clubfooted_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Bb
			}
			50 = {
			set_character_flag = clubfooted_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_bb
			}
			mother = {
				has_character_flag = clubfooted_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Bb
			}
			50 = {
			set_character_flag = clubfooted_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_bb
			}
			mother = {
				has_character_flag = clubfooted_bb
			}
			}
			set_character_flag = clubfooted_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = clubfooted_Bb
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = clubfooted_CC
				}
				mother = {
					has_character_flag = clubfooted_CC
				}
			}
			set_character_flag = clubfooted_CC
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = clubfooted_CC
				}
				mother = {
					has_character_flag = clubfooted_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_CC
			}
			50 = {
			set_character_flag = clubfooted_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_Cc
			}
			mother = {
				has_character_flag = clubfooted_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_CC
			}
			50 = {
			set_character_flag = clubfooted_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_Cc
			}
			mother = {
				has_character_flag = clubfooted_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = clubfooted_CC
			}
			50 = {
			set_character_flag = clubfooted_Cc
			}
			25 = {
			set_character_flag = clubfooted_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_CC
			}
			mother = {
				has_character_flag = clubfooted_cc
			}
			}
			set_character_flag = clubfooted_Cc
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_cc
			}
			mother = {
				has_character_flag = clubfooted_CC
			}
			}
			set_character_flag = clubfooted_Cc
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_Cc
			}
			mother = {
				has_character_flag = clubfooted_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Cc
			}
			50 = {
			set_character_flag = clubfooted_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_cc
			}
			mother = {
				has_character_flag = clubfooted_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = clubfooted_Cc
			}
			50 = {
			set_character_flag = clubfooted_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = clubfooted_cc
			}
			mother = {
				has_character_flag = clubfooted_cc
			}
			}
			set_character_flag = clubfooted_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = clubfooted_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = clubfooted }
			}
			random_list = {
				75 = {
				add_trait = clubfooted
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = clubfooted }
			}
			random_list = {
				7.5 =  {
				add_trait = clubfooted
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = clubfooted }
			}
			random_list = {
				1 = {
				add_trait = clubfooted
				}
				199 = {
				}
			}
		}
		else = {
		}
	character_event = {
			id = MT.21000
			
			}
}
}

## For hunchback
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.21000
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		real_father = {
			if = {
				limit = {
					trait = hunchback
					NOT = {
						OR = {
							has_character_flag = hunchback_aa
							has_character_flag = hunchback_bb
							has_character_flag = hunchback_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = hunchback_AA
				clr_character_flag = hunchback_BB
				clr_character_flag = hunchback_CC
				clr_character_flag = hunchback_Aa
				clr_character_flag = hunchback_Bb
				clr_character_flag = hunchback_Cc
				clr_character_flag = hunchback_aa
				clr_character_flag = hunchback_bb
				clr_character_flag = hunchback_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = hunchback
					NOT = {
						OR = {
							has_character_flag = hunchback_aa
							has_character_flag = hunchback_bb
							has_character_flag = hunchback_cc
						}
					}
				}
				clr_character_flag = hunchback_AA
				clr_character_flag = hunchback_BB
				clr_character_flag = hunchback_CC
				clr_character_flag = hunchback_Aa
				clr_character_flag = hunchback_Bb
				clr_character_flag = hunchback_Cc
				clr_character_flag = hunchback_aa
				clr_character_flag = hunchback_bb
				clr_character_flag = hunchback_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				real_father = {
					NOT = {
						OR = {
							has_character_flag = hunchback_AA
							has_character_flag = hunchback_Aa
							has_character_flag = hunchback_aa
							has_character_flag = hunchback_BB
							has_character_flag = hunchback_Bb
							has_character_flag = hunchback_bb
							has_character_flag = hunchback_CC
							has_character_flag = hunchback_Cc
							has_character_flag = hunchback_cc
						}
					}
				}
			}
				
			real_father = {
				if = {
					limit = {
						trait = hunchback
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_aa
						}
						2 = {
						set_character_flag = hunchback_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_bb
						}
						2 = {
						set_character_flag = hunchback_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_cc
						}
						2 = {
						set_character_flag = hunchback_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = hunchback_aa
									has_character_flag = hunchback_bb
									has_character_flag = hunchback_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = hunchback_Aa
							set_character_flag = hunchback_aa
							}
							1 = {
							clr_character_flag = hunchback_Bb
							set_character_flag = hunchback_bb
							}
							1 = {
							clr_character_flag = hunchback_Cc
							set_character_flag = hunchback_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = hunchback_AA
						}
						9 =  { 
						set_character_flag = hunchback_Aa
						}
						2 = {
						set_character_flag = hunchback_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = hunchback_BB
						}
						9 = {
						set_character_flag = hunchback_Bb
						}
						2 = {
						set_character_flag = hunchback_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = hunchback_CC
						}
						9 =  { 
						set_character_flag = hunchback_Cc
						}
						2 = {
						set_character_flag = hunchback_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = hunchback_AA
							has_character_flag = hunchback_Aa
							has_character_flag = hunchback_aa
							has_character_flag = hunchback_BB
							has_character_flag = hunchback_Bb
							has_character_flag = hunchback_bb
							has_character_flag = hunchback_CC
							has_character_flag = hunchback_Cc
							has_character_flag = hunchback_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = hunchback
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_aa
						}
						2 = {
						set_character_flag = hunchback_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_bb
						}
						2 = {
						set_character_flag = hunchback_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = hunchback_cc
						}
						2 = {
						set_character_flag = hunchback_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = hunchback_aa
									has_character_flag = hunchback_bb
									has_character_flag = hunchback_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = hunchback_Aa
							set_character_flag = hunchback_aa
							}
							1 = {
							clr_character_flag = hunchback_Bb
							set_character_flag = hunchback_bb
							}
							1 = {
							clr_character_flag = hunchback_Cc
							set_character_flag = hunchback_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = hunchback_AA
						}
						9 =  { 
						set_character_flag = hunchback_Aa
						}
						2 = {
						set_character_flag = hunchback_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = hunchback_BB
						}
						9 = {
						set_character_flag = hunchback_Bb
						}
						2 = {
						set_character_flag = hunchback_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = hunchback_CC
						}
						9 =  { 
						set_character_flag = hunchback_Cc
						}
						2 = {
						set_character_flag = hunchback_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				real_father = {
					has_character_flag = hunchback_AA
				}
				mother = {
					has_character_flag = hunchback_AA
				}
			}
			set_character_flag = hunchback_AA
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = hunchback_AA
				}
				mother = {
					has_character_flag = hunchback_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_AA
			}
			50 = {
			set_character_flag = hunchback_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_Aa
			}
			mother = {
				has_character_flag = hunchback_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_AA
			}
			50 = {
			set_character_flag = hunchback_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_Aa
			}
			mother = {
				has_character_flag = hunchback_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = hunchback_AA
			}
			50 = {
			set_character_flag = hunchback_Aa
			}
			25 = {
			set_character_flag = hunchback_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = hunchback_AA
				}
				mother = {
					has_character_flag = hunchback_aa
				}
				}
			set_character_flag = hunchback_Aa
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_aa
			}
			mother = {
				has_character_flag = hunchback_AA
			}
			}
			set_character_flag = hunchback_Aa
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_Aa
			}
			mother = {
				has_character_flag = hunchback_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Aa
			}
			50 = {
			set_character_flag = hunchback_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_aa
			}
			mother = {
				has_character_flag = hunchback_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Aa
			}
			50 = {
			set_character_flag = hunchback_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_aa
			}
			mother = {
				has_character_flag = hunchback_aa
			}
			}
			set_character_flag = hunchback_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = hunchback_Aa
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = hunchback_BB
				}
				mother = {
					has_character_flag = hunchback_BB
				}
			}
			set_character_flag = hunchback_BB
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = hunchback_BB
				}
				mother = {
					has_character_flag = hunchback_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_BB
			}
			50 = {
			set_character_flag = hunchback_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_Bb
			}
			mother = {
				has_character_flag = hunchback_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_BB
			}
			50 = {
			set_character_flag = hunchback_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_Bb
			}
			mother = {
				has_character_flag = hunchback_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = hunchback_BB
			}
			50 = {
			set_character_flag = hunchback_Bb
			}
			25 = {
			set_character_flag = hunchback_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_BB
			}
			mother = {
				has_character_flag = hunchback_bb
			}
			}
			set_character_flag = hunchback_Bb
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_bb
			}
			mother = {
				has_character_flag = hunchback_BB
			}
			}
			set_character_flag = hunchback_Bb
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_Bb
			}
			mother = {
				has_character_flag = hunchback_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Bb
			}
			50 = {
			set_character_flag = hunchback_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_bb
			}
			mother = {
				has_character_flag = hunchback_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Bb
			}
			50 = {
			set_character_flag = hunchback_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_bb
			}
			mother = {
				has_character_flag = hunchback_bb
			}
			}
			set_character_flag = hunchback_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = hunchback_Bb
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = hunchback_CC
				}
				mother = {
					has_character_flag = hunchback_CC
				}
			}
			set_character_flag = hunchback_CC
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = hunchback_CC
				}
				mother = {
					has_character_flag = hunchback_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_CC
			}
			50 = {
			set_character_flag = hunchback_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_Cc
			}
			mother = {
				has_character_flag = hunchback_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_CC
			}
			50 = {
			set_character_flag = hunchback_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_Cc
			}
			mother = {
				has_character_flag = hunchback_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = hunchback_CC
			}
			50 = {
			set_character_flag = hunchback_Cc
			}
			25 = {
			set_character_flag = hunchback_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_CC
			}
			mother = {
				has_character_flag = hunchback_cc
			}
			}
			set_character_flag = hunchback_Cc
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_cc
			}
			mother = {
				has_character_flag = hunchback_CC
			}
			}
			set_character_flag = hunchback_Cc
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_Cc
			}
			mother = {
				has_character_flag = hunchback_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Cc
			}
			50 = {
			set_character_flag = hunchback_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_cc
			}
			mother = {
				has_character_flag = hunchback_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = hunchback_Cc
			}
			50 = {
			set_character_flag = hunchback_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = hunchback_cc
			}
			mother = {
				has_character_flag = hunchback_cc
			}
			}
			set_character_flag = hunchback_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = hunchback_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = hunchback }
			}
			random_list = {
				75 = {
				add_trait = hunchback
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = hunchback }
			}
			random_list = {
				7.5 =  {
				add_trait = hunchback
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = hunchback }
			}
			random_list = {
				1 = {
				add_trait = hunchback
				}
				199 = {
				}
			}
		}
		else = {
		}
	character_event = {
			id = MT.21100
			
			}
}
}

## For harelip
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.21100
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		real_father = {
			if = {
				limit = {
					trait = harelip
					NOT = {
						OR = {
							has_character_flag = harelip_aa
							has_character_flag = harelip_bb
							has_character_flag = harelip_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = harelip_AA
				clr_character_flag = harelip_BB
				clr_character_flag = harelip_CC
				clr_character_flag = harelip_Aa
				clr_character_flag = harelip_Bb
				clr_character_flag = harelip_Cc
				clr_character_flag = harelip_aa
				clr_character_flag = harelip_bb
				clr_character_flag = harelip_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = harelip
					NOT = {
						OR = {
							has_character_flag = harelip_aa
							has_character_flag = harelip_bb
							has_character_flag = harelip_cc
						}
					}
				}
				clr_character_flag = harelip_AA
				clr_character_flag = harelip_BB
				clr_character_flag = harelip_CC
				clr_character_flag = harelip_Aa
				clr_character_flag = harelip_Bb
				clr_character_flag = harelip_Cc
				clr_character_flag = harelip_aa
				clr_character_flag = harelip_bb
				clr_character_flag = harelip_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				real_father = {
					NOT = {
						OR = {
							has_character_flag = harelip_AA
							has_character_flag = harelip_Aa
							has_character_flag = harelip_aa
							has_character_flag = harelip_BB
							has_character_flag = harelip_Bb
							has_character_flag = harelip_bb
							has_character_flag = harelip_CC
							has_character_flag = harelip_Cc
							has_character_flag = harelip_cc
						}
					}
				}
			}
				
			real_father = {
				if = {
					limit = {
						trait = harelip
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_aa
						}
						2 = {
						set_character_flag = harelip_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_bb
						}
						2 = {
						set_character_flag = harelip_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_cc
						}
						2 = {
						set_character_flag = harelip_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = harelip_aa
									has_character_flag = harelip_bb
									has_character_flag = harelip_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = harelip_Aa
							set_character_flag = harelip_aa
							}
							1 = {
							clr_character_flag = harelip_Bb
							set_character_flag = harelip_bb
							}
							1 = {
							clr_character_flag = harelip_Cc
							set_character_flag = harelip_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = harelip_AA
						}
						9 =  { 
						set_character_flag = harelip_Aa
						}
						2 = {
						set_character_flag = harelip_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = harelip_BB
						}
						9 = {
						set_character_flag = harelip_Bb
						}
						2 = {
						set_character_flag = harelip_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = harelip_CC
						}
						9 =  { 
						set_character_flag = harelip_Cc
						}
						2 = {
						set_character_flag = harelip_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = harelip_AA
							has_character_flag = harelip_Aa
							has_character_flag = harelip_aa
							has_character_flag = harelip_BB
							has_character_flag = harelip_Bb
							has_character_flag = harelip_bb
							has_character_flag = harelip_CC
							has_character_flag = harelip_Cc
							has_character_flag = harelip_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = harelip
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_aa
						}
						2 = {
						set_character_flag = harelip_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_bb
						}
						2 = {
						set_character_flag = harelip_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = harelip_cc
						}
						2 = {
						set_character_flag = harelip_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = harelip_aa
									has_character_flag = harelip_bb
									has_character_flag = harelip_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = harelip_Aa
							set_character_flag = harelip_aa
							}
							1 = {
							clr_character_flag = harelip_Bb
							set_character_flag = harelip_bb
							}
							1 = {
							clr_character_flag = harelip_Cc
							set_character_flag = harelip_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = harelip_AA
						}
						9 =  { 
						set_character_flag = harelip_Aa
						}
						2 = {
						set_character_flag = harelip_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = harelip_BB
						}
						9 = {
						set_character_flag = harelip_Bb
						}
						2 = {
						set_character_flag = harelip_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = harelip_CC
						}
						9 =  { 
						set_character_flag = harelip_Cc
						}
						2 = {
						set_character_flag = harelip_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				real_father = {
					has_character_flag = harelip_AA
				}
				mother = {
					has_character_flag = harelip_AA
				}
			}
			set_character_flag = harelip_AA
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = harelip_AA
				}
				mother = {
					has_character_flag = harelip_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_AA
			}
			50 = {
			set_character_flag = harelip_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_Aa
			}
			mother = {
				has_character_flag = harelip_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_AA
			}
			50 = {
			set_character_flag = harelip_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_Aa
			}
			mother = {
				has_character_flag = harelip_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = harelip_AA
			}
			50 = {
			set_character_flag = harelip_Aa
			}
			25 = {
			set_character_flag = harelip_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = harelip_AA
				}
				mother = {
					has_character_flag = harelip_aa
				}
				}
			set_character_flag = harelip_Aa
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_aa
			}
			mother = {
				has_character_flag = harelip_AA
			}
			}
			set_character_flag = harelip_Aa
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_Aa
			}
			mother = {
				has_character_flag = harelip_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Aa
			}
			50 = {
			set_character_flag = harelip_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_aa
			}
			mother = {
				has_character_flag = harelip_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Aa
			}
			50 = {
			set_character_flag = harelip_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_aa
			}
			mother = {
				has_character_flag = harelip_aa
			}
			}
			set_character_flag = harelip_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = harelip_Aa
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = harelip_BB
				}
				mother = {
					has_character_flag = harelip_BB
				}
			}
			set_character_flag = harelip_BB
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = harelip_BB
				}
				mother = {
					has_character_flag = harelip_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_BB
			}
			50 = {
			set_character_flag = harelip_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_Bb
			}
			mother = {
				has_character_flag = harelip_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_BB
			}
			50 = {
			set_character_flag = harelip_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_Bb
			}
			mother = {
				has_character_flag = harelip_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = harelip_BB
			}
			50 = {
			set_character_flag = harelip_Bb
			}
			25 = {
			set_character_flag = harelip_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_BB
			}
			mother = {
				has_character_flag = harelip_bb
			}
			}
			set_character_flag = harelip_Bb
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_bb
			}
			mother = {
				has_character_flag = harelip_BB
			}
			}
			set_character_flag = harelip_Bb
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_Bb
			}
			mother = {
				has_character_flag = harelip_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Bb
			}
			50 = {
			set_character_flag = harelip_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_bb
			}
			mother = {
				has_character_flag = harelip_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Bb
			}
			50 = {
			set_character_flag = harelip_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_bb
			}
			mother = {
				has_character_flag = harelip_bb
			}
			}
			set_character_flag = harelip_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = harelip_Bb
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = harelip_CC
				}
				mother = {
					has_character_flag = harelip_CC
				}
			}
			set_character_flag = harelip_CC
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = harelip_CC
				}
				mother = {
					has_character_flag = harelip_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_CC
			}
			50 = {
			set_character_flag = harelip_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_Cc
			}
			mother = {
				has_character_flag = harelip_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_CC
			}
			50 = {
			set_character_flag = harelip_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_Cc
			}
			mother = {
				has_character_flag = harelip_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = harelip_CC
			}
			50 = {
			set_character_flag = harelip_Cc
			}
			25 = {
			set_character_flag = harelip_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_CC
			}
			mother = {
				has_character_flag = harelip_cc
			}
			}
			set_character_flag = harelip_Cc
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_cc
			}
			mother = {
				has_character_flag = harelip_CC
			}
			}
			set_character_flag = harelip_Cc
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_Cc
			}
			mother = {
				has_character_flag = harelip_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Cc
			}
			50 = {
			set_character_flag = harelip_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_cc
			}
			mother = {
				has_character_flag = harelip_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = harelip_Cc
			}
			50 = {
			set_character_flag = harelip_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = harelip_cc
			}
			mother = {
				has_character_flag = harelip_cc
			}
			}
			set_character_flag = harelip_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = harelip_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = harelip }
			}
			random_list = {
				75 = {
				add_trait = harelip
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = harelip }
			}
			random_list = {
				7.5 =  {
				add_trait = harelip
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = harelip }
			}
			random_list = {
				1 = {
				add_trait = harelip
				}
				199 = {
				}
			}
		}
		else = {
		}
	character_event = {
			id = MT.21200
			
			}
}
}

## For lisp
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.21200
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		real_father = {
			if = {
				limit = {
					trait = lisp
					NOT = {
						OR = {
							has_character_flag = lisp_aa
							has_character_flag = lisp_bb
							has_character_flag = lisp_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = lisp_AA
				clr_character_flag = lisp_BB
				clr_character_flag = lisp_CC
				clr_character_flag = lisp_Aa
				clr_character_flag = lisp_Bb
				clr_character_flag = lisp_Cc
				clr_character_flag = lisp_aa
				clr_character_flag = lisp_bb
				clr_character_flag = lisp_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = lisp
					NOT = {
						OR = {
							has_character_flag = lisp_aa
							has_character_flag = lisp_bb
							has_character_flag = lisp_cc
						}
					}
				}
				clr_character_flag = lisp_AA
				clr_character_flag = lisp_BB
				clr_character_flag = lisp_CC
				clr_character_flag = lisp_Aa
				clr_character_flag = lisp_Bb
				clr_character_flag = lisp_Cc
				clr_character_flag = lisp_aa
				clr_character_flag = lisp_bb
				clr_character_flag = lisp_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				real_father = {
					NOT = {
						OR = {
							has_character_flag = lisp_AA
							has_character_flag = lisp_Aa
							has_character_flag = lisp_aa
							has_character_flag = lisp_BB
							has_character_flag = lisp_Bb
							has_character_flag = lisp_bb
							has_character_flag = lisp_CC
							has_character_flag = lisp_Cc
							has_character_flag = lisp_cc
						}
					}
				}
			}
				
			real_father = {
				if = {
					limit = {
						trait = lisp
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_aa
						}
						2 = {
						set_character_flag = lisp_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_bb
						}
						2 = {
						set_character_flag = lisp_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_cc
						}
						2 = {
						set_character_flag = lisp_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = lisp_aa
									has_character_flag = lisp_bb
									has_character_flag = lisp_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = lisp_Aa
							set_character_flag = lisp_aa
							}
							1 = {
							clr_character_flag = lisp_Bb
							set_character_flag = lisp_bb
							}
							1 = {
							clr_character_flag = lisp_Cc
							set_character_flag = lisp_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = lisp_AA
						}
						9 =  { 
						set_character_flag = lisp_Aa
						}
						2 = {
						set_character_flag = lisp_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = lisp_BB
						}
						9 = {
						set_character_flag = lisp_Bb
						}
						2 = {
						set_character_flag = lisp_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = lisp_CC
						}
						9 =  { 
						set_character_flag = lisp_Cc
						}
						2 = {
						set_character_flag = lisp_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = lisp_AA
							has_character_flag = lisp_Aa
							has_character_flag = lisp_aa
							has_character_flag = lisp_BB
							has_character_flag = lisp_Bb
							has_character_flag = lisp_bb
							has_character_flag = lisp_CC
							has_character_flag = lisp_Cc
							has_character_flag = lisp_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = lisp
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_aa
						}
						2 = {
						set_character_flag = lisp_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_bb
						}
						2 = {
						set_character_flag = lisp_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = lisp_cc
						}
						2 = {
						set_character_flag = lisp_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = lisp_aa
									has_character_flag = lisp_bb
									has_character_flag = lisp_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = lisp_Aa
							set_character_flag = lisp_aa
							}
							1 = {
							clr_character_flag = lisp_Bb
							set_character_flag = lisp_bb
							}
							1 = {
							clr_character_flag = lisp_Cc
							set_character_flag = lisp_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = lisp_AA
						}
						9 =  { 
						set_character_flag = lisp_Aa
						}
						2 = {
						set_character_flag = lisp_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = lisp_BB
						}
						9 = {
						set_character_flag = lisp_Bb
						}
						2 = {
						set_character_flag = lisp_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = lisp_CC
						}
						9 =  { 
						set_character_flag = lisp_Cc
						}
						2 = {
						set_character_flag = lisp_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				real_father = {
					has_character_flag = lisp_AA
				}
				mother = {
					has_character_flag = lisp_AA
				}
			}
			set_character_flag = lisp_AA
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = lisp_AA
				}
				mother = {
					has_character_flag = lisp_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_AA
			}
			50 = {
			set_character_flag = lisp_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_Aa
			}
			mother = {
				has_character_flag = lisp_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_AA
			}
			50 = {
			set_character_flag = lisp_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_Aa
			}
			mother = {
				has_character_flag = lisp_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = lisp_AA
			}
			50 = {
			set_character_flag = lisp_Aa
			}
			25 = {
			set_character_flag = lisp_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = lisp_AA
				}
				mother = {
					has_character_flag = lisp_aa
				}
				}
			set_character_flag = lisp_Aa
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_aa
			}
			mother = {
				has_character_flag = lisp_AA
			}
			}
			set_character_flag = lisp_Aa
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_Aa
			}
			mother = {
				has_character_flag = lisp_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Aa
			}
			50 = {
			set_character_flag = lisp_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_aa
			}
			mother = {
				has_character_flag = lisp_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Aa
			}
			50 = {
			set_character_flag = lisp_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_aa
			}
			mother = {
				has_character_flag = lisp_aa
			}
			}
			set_character_flag = lisp_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = lisp_Aa
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = lisp_BB
				}
				mother = {
					has_character_flag = lisp_BB
				}
			}
			set_character_flag = lisp_BB
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = lisp_BB
				}
				mother = {
					has_character_flag = lisp_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_BB
			}
			50 = {
			set_character_flag = lisp_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_Bb
			}
			mother = {
				has_character_flag = lisp_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_BB
			}
			50 = {
			set_character_flag = lisp_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_Bb
			}
			mother = {
				has_character_flag = lisp_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = lisp_BB
			}
			50 = {
			set_character_flag = lisp_Bb
			}
			25 = {
			set_character_flag = lisp_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_BB
			}
			mother = {
				has_character_flag = lisp_bb
			}
			}
			set_character_flag = lisp_Bb
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_bb
			}
			mother = {
				has_character_flag = lisp_BB
			}
			}
			set_character_flag = lisp_Bb
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_Bb
			}
			mother = {
				has_character_flag = lisp_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Bb
			}
			50 = {
			set_character_flag = lisp_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_bb
			}
			mother = {
				has_character_flag = lisp_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Bb
			}
			50 = {
			set_character_flag = lisp_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_bb
			}
			mother = {
				has_character_flag = lisp_bb
			}
			}
			set_character_flag = lisp_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = lisp_Bb
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = lisp_CC
				}
				mother = {
					has_character_flag = lisp_CC
				}
			}
			set_character_flag = lisp_CC
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = lisp_CC
				}
				mother = {
					has_character_flag = lisp_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_CC
			}
			50 = {
			set_character_flag = lisp_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_Cc
			}
			mother = {
				has_character_flag = lisp_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_CC
			}
			50 = {
			set_character_flag = lisp_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_Cc
			}
			mother = {
				has_character_flag = lisp_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = lisp_CC
			}
			50 = {
			set_character_flag = lisp_Cc
			}
			25 = {
			set_character_flag = lisp_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_CC
			}
			mother = {
				has_character_flag = lisp_cc
			}
			}
			set_character_flag = lisp_Cc
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_cc
			}
			mother = {
				has_character_flag = lisp_CC
			}
			}
			set_character_flag = lisp_Cc
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_Cc
			}
			mother = {
				has_character_flag = lisp_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Cc
			}
			50 = {
			set_character_flag = lisp_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_cc
			}
			mother = {
				has_character_flag = lisp_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = lisp_Cc
			}
			50 = {
			set_character_flag = lisp_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = lisp_cc
			}
			mother = {
				has_character_flag = lisp_cc
			}
			}
			set_character_flag = lisp_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = lisp_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = lisp }
			}
			random_list = {
				75 = {
				add_trait = lisp
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = lisp }
			}
			random_list = {
				7.5 =  {
				add_trait = lisp
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = lisp }
			}
			random_list = {
				1 = {
				add_trait = lisp
				}
				199 = {
				}
			}
		}
		else = {
		}
	character_event = {
			id = MT.21300
			
			}
}
}

## For stutter
## Mendelian Inheritance
character_event = {

	hide_window = yes
	id = MT.21300
	
	is_triggered_only = yes
	
	immediate = {
	
	#### 1. Before we check flags for parents, check if they potentially have the wrong flag
	
		real_father = {
			if = {
				limit = {
					trait = stutter
					NOT = {
						OR = {
							has_character_flag = stutter_aa
							has_character_flag = stutter_bb
							has_character_flag = stutter_cc
						}
					}
				}
				## CLEAR ALL FLAGS.
				clr_character_flag = stutter_AA
				clr_character_flag = stutter_BB
				clr_character_flag = stutter_CC
				clr_character_flag = stutter_Aa
				clr_character_flag = stutter_Bb
				clr_character_flag = stutter_Cc
				clr_character_flag = stutter_aa
				clr_character_flag = stutter_bb
				clr_character_flag = stutter_cc
			}
		}
		mother = {
			if = {
				limit = {
					trait = stutter
					NOT = {
						OR = {
							has_character_flag = stutter_aa
							has_character_flag = stutter_bb
							has_character_flag = stutter_cc
						}
					}
				}
				clr_character_flag = stutter_AA
				clr_character_flag = stutter_BB
				clr_character_flag = stutter_CC
				clr_character_flag = stutter_Aa
				clr_character_flag = stutter_Bb
				clr_character_flag = stutter_Cc
				clr_character_flag = stutter_aa
				clr_character_flag = stutter_bb
				clr_character_flag = stutter_cc
			}
		}
	
	#### 2. Initialization. Only executes for characters without flags
		
		if = {
			limit = {
				real_father = {
					NOT = {
						OR = {
							has_character_flag = stutter_AA
							has_character_flag = stutter_Aa
							has_character_flag = stutter_aa
							has_character_flag = stutter_BB
							has_character_flag = stutter_Bb
							has_character_flag = stutter_bb
							has_character_flag = stutter_CC
							has_character_flag = stutter_Cc
							has_character_flag = stutter_cc
						}
					}
				}
			}
				
			real_father = {
				if = {
					limit = {
						trait = stutter
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_aa
						}
						2 = {
						set_character_flag = stutter_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_bb
						}
						2 = {
						set_character_flag = stutter_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_cc
						}
						2 = {
						set_character_flag = stutter_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = stutter_aa
									has_character_flag = stutter_bb
									has_character_flag = stutter_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = stutter_Aa
							set_character_flag = stutter_aa
							}
							1 = {
							clr_character_flag = stutter_Bb
							set_character_flag = stutter_bb
							}
							1 = {
							clr_character_flag = stutter_Cc
							set_character_flag = stutter_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = stutter_AA
						}
						9 =  { 
						set_character_flag = stutter_Aa
						}
						2 = {
						set_character_flag = stutter_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = stutter_BB
						}
						9 = {
						set_character_flag = stutter_Bb
						}
						2 = {
						set_character_flag = stutter_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = stutter_CC
						}
						9 =  { 
						set_character_flag = stutter_Cc
						}
						2 = {
						set_character_flag = stutter_cc
						}
					}
				}
			}
		}
		
		if = {
			limit = {
			
				mother = {
					NOT = {
						OR = {
							has_character_flag = stutter_AA
							has_character_flag = stutter_Aa
							has_character_flag = stutter_aa
							has_character_flag = stutter_BB
							has_character_flag = stutter_Bb
							has_character_flag = stutter_bb
							has_character_flag = stutter_CC
							has_character_flag = stutter_Cc
							has_character_flag = stutter_cc
						}
					}
				}
			}
				
			mother = {
				if = {
					limit = {
						trait = stutter
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_aa
						}
						2 = {
						set_character_flag = stutter_Aa
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_bb
						}
						2 = {
						set_character_flag = stutter_Bb
						}
					}
					random_list = {
						2 =  { 
						set_character_flag = stutter_cc
						}
						2 = {
						set_character_flag = stutter_Cc
						}
					}
					if = {
						limit = {
							NOT = {
								OR = {
									has_character_flag = stutter_aa
									has_character_flag = stutter_bb
									has_character_flag = stutter_cc
								}
							}
						}
						random_list = {
							1 =  { 
							clr_character_flag = stutter_Aa
							set_character_flag = stutter_aa
							}
							1 = {
							clr_character_flag = stutter_Bb
							set_character_flag = stutter_bb
							}
							1 = {
							clr_character_flag = stutter_Cc
							set_character_flag = stutter_cc
							}
						}
					}
				}
				else = {
					random_list = {
						9 =  { 
						set_character_flag = stutter_AA
						}
						9 =  { 
						set_character_flag = stutter_Aa
						}
						2 = {
						set_character_flag = stutter_aa
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = stutter_BB
						}
						9 = {
						set_character_flag = stutter_Bb
						}
						2 = {
						set_character_flag = stutter_bb
						}
					}
					random_list = {
						9 =  { 
						set_character_flag = stutter_CC
						}
						9 =  { 
						set_character_flag = stutter_Cc
						}
						2 = {
						set_character_flag = stutter_cc
						}
					}
				}
			}
		}
		
	#### 3. Genetic Inheritance
		
		set_variable = { which = recessive_alleles value = 0 }
		
		if = {
		
			limit = {
				real_father = {
					has_character_flag = stutter_AA
				}
				mother = {
					has_character_flag = stutter_AA
				}
			}
			set_character_flag = stutter_AA
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = stutter_AA
				}
				mother = {
					has_character_flag = stutter_Aa
				}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_AA
			}
			50 = {
			set_character_flag = stutter_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_Aa
			}
			mother = {
				has_character_flag = stutter_AA
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_AA
			}
			50 = {
			set_character_flag = stutter_Aa
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_Aa
			}
			mother = {
				has_character_flag = stutter_Aa
			}
			}
			random_list = {
			25 = {
			set_character_flag = stutter_AA
			}
			50 = {
			set_character_flag = stutter_Aa
			}
			25 = {
			set_character_flag = stutter_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = stutter_AA
				}
				mother = {
					has_character_flag = stutter_aa
				}
				}
			set_character_flag = stutter_Aa
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_aa
			}
			mother = {
				has_character_flag = stutter_AA
			}
			}
			set_character_flag = stutter_Aa
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_Aa
			}
			mother = {
				has_character_flag = stutter_aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Aa
			}
			50 = {
			set_character_flag = stutter_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_aa
			}
			mother = {
				has_character_flag = stutter_Aa
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Aa
			}
			50 = {
			set_character_flag = stutter_aa
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_aa
			}
			mother = {
				has_character_flag = stutter_aa
			}
			}
			set_character_flag = stutter_aa
			change_variable = { which = recessive_alleles value = 1 }
		}
		
		else = {
		set_character_flag = stutter_Aa
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = stutter_BB
				}
				mother = {
					has_character_flag = stutter_BB
				}
			}
			set_character_flag = stutter_BB
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = stutter_BB
				}
				mother = {
					has_character_flag = stutter_Bb
				}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_BB
			}
			50 = {
			set_character_flag = stutter_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_Bb
			}
			mother = {
				has_character_flag = stutter_BB
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_BB
			}
			50 = {
			set_character_flag = stutter_Bb
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_Bb
			}
			mother = {
				has_character_flag = stutter_Bb
			}
			}
			random_list = {
			25 = {
			set_character_flag = stutter_BB
			}
			50 = {
			set_character_flag = stutter_Bb
			}
			25 = {
			set_character_flag = stutter_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_BB
			}
			mother = {
				has_character_flag = stutter_bb
			}
			}
			set_character_flag = stutter_Bb
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_bb
			}
			mother = {
				has_character_flag = stutter_BB
			}
			}
			set_character_flag = stutter_Bb
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_Bb
			}
			mother = {
				has_character_flag = stutter_bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Bb
			}
			50 = {
			set_character_flag = stutter_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_bb
			}
			mother = {
				has_character_flag = stutter_Bb
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Bb
			}
			50 = {
			set_character_flag = stutter_bb
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_bb
			}
			mother = {
				has_character_flag = stutter_bb
			}
			}
			set_character_flag = stutter_bb
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = stutter_Bb
		}
		
		if = {
			limit = {
				real_father = {
					has_character_flag = stutter_CC
				}
				mother = {
					has_character_flag = stutter_CC
				}
			}
			set_character_flag = stutter_CC
		}
		else_if = {
			limit = {
				real_father = {
					has_character_flag = stutter_CC
				}
				mother = {
					has_character_flag = stutter_Cc
				}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_CC
			}
			50 = {
			set_character_flag = stutter_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_Cc
			}
			mother = {
				has_character_flag = stutter_CC
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_CC
			}
			50 = {
			set_character_flag = stutter_Cc
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_Cc
			}
			mother = {
				has_character_flag = stutter_Cc
			}
			}
			random_list = {
			25 = {
			set_character_flag = stutter_CC
			}
			50 = {
			set_character_flag = stutter_Cc
			}
			25 = {
			set_character_flag = stutter_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_CC
			}
			mother = {
				has_character_flag = stutter_cc
			}
			}
			set_character_flag = stutter_Cc
		}
		
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_cc
			}
			mother = {
				has_character_flag = stutter_CC
			}
			}
			set_character_flag = stutter_Cc
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_Cc
			}
			mother = {
				has_character_flag = stutter_cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Cc
			}
			50 = {
			set_character_flag = stutter_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_cc
			}
			mother = {
				has_character_flag = stutter_Cc
			}
			}
			random_list = {
			50 = {
			set_character_flag = stutter_Cc
			}
			50 = {
			set_character_flag = stutter_cc
			change_variable = { which = recessive_alleles value = 1 }
			}
			}
		}
		else_if = {
		limit = {
			real_father = {
				has_character_flag = stutter_cc
			}
			mother = {
				has_character_flag = stutter_cc
			}
			}
			set_character_flag = stutter_cc
			change_variable = { which = recessive_alleles value = 1 }
		}
		else = {
			set_character_flag = stutter_Cc
		}
		
	### 4. Trait Assignment
	
		if = {
			limit = {
				check_variable = { which = recessive_alleles value = 3 }
				NOT = { trait = stutter }
			}
			random_list = {
				75 = {
				add_trait = stutter
				}
				25 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 2 }
				NOT = { trait = stutter }
			}
			random_list = {
				7.5 =  {
				add_trait = stutter
				}
				92.5 = {
				}
			}
		}
		else_if = {
			limit = {
				check_variable = { which = recessive_alleles value = 1 }
				NOT = { trait = stutter }
			}
			random_list = {
				1 = {
				add_trait = stutter
				}
				199 = {
				}
			}
		}
		else = {
		}
	}
}
