hold_genoese_elections = {
	any_realm_character = {
		limit = { is_patrician = yes }
		set_character_flag = genoese_patrician
	}
	
	if = {
		limit = {
			liege = {
				current_heir = {
					NOR = {
						has_character_modifier = mandate_ended
						has_character_flag = substitute_doge
						dynasty = PREV
					} 
				}
			}
		}
		current_heir = {
			custom_tooltip = {
				text = EVTOPTATOOLTIPrepublican.0
				any_title = {
					limit = { has_title_flag = republican_genoese_title }
					grant_title_no_opinion = PREV
				}
			}
			hidden_tooltip = {
				character_event = { id = republican.1 }
				narrative_event = { id = republican.3 }
				set_character_flag = first_year_doge
			}
		}
		any_landed_title = {
			limit = {
				has_title_flag = dogal_title
			}
			grant_title_no_opinion = ROOT
			holder_scope = {
				set_government_type = merchant_republic_government
				set_defacto_liege = k_genoa
				character_event = { id = republican.2 }
			}
		}
	}

	else = {
		most_popular_vassal = {
			limit = {
				is_patrician = yes
				is_adult = yes
				NOR = {
					has_character_modifier = mandate_ended
					has_character_flag = substitute_doge
					dynasty = ROOT
				}
			}
			custom_tooltip = {
				text = EVTOPTATOOLTIPrepublican.0
				any_title = {
					limit = { has_title_flag = republican_genoese_title }
					grant_title_no_opinion = PREV
				}
			}
			hidden_tooltip = {
				character_event = { id = republican.1 }
				narrative_event = { id = republican.3 }
				set_character_flag = first_year_doge
			}
		}
		ROOT = {
			any_landed_title = { 
				limit = { has_title_flag = dogal_title }
				grant_title_no_opinion = PREV
			}
			character_event = { id = republican.2 }
			set_government_type = merchant_republic_government
			set_defacto_liege = k_genoa
		}
	}

	hidden_tooltip = {
		if = {
			limit = { k_genoa = { has_law = term_prolongation_0 } }
			add_character_modifier = {
				name = mandate_ended
				years = 2
			}
		}
		else_if = {
			limit = { k_genoa = { has_law = term_prolongation_1 } }
			add_character_modifier = {
				name = mandate_ended
				years = 3
			}
		}
		else_if = {
			limit = { k_genoa = { has_law = term_prolongation_2 } }
			add_character_modifier = {
				name = mandate_ended
				years = 4
			}
		}
		else_if = {
			limit = { k_genoa = { has_law = term_prolongation_3 } }
			add_character_modifier = {
				name = mandate_ended
				years = 5
			}
		}
		clr_character_flag = support_shown
		clr_character_flag = genoese_consul
		clr_character_flag = first_genoese_doge
		remove_character_modifier = first_year_half
		remove_character_modifier = first_year_doge
		remove_character_modifier = second_year_half
		remove_character_modifier = second_year_doge
		remove_character_modifier = third_year_half
		remove_character_modifier = third_year_doge
		remove_character_modifier = fourth_year_half
		remove_character_modifier = fourth_year_doge
	}
	k_genoa = {
		revoke_law = term_prolongation_0
		add_law = term_prolongation_1
		revoke_law = term_prolongation_2
		revoke_law = term_prolongation_3
	}
}