﻿je_fascism_1 = {
	icon = "gfx/interface/icons/event_icons/waving_flag.dds"
	
	group = je_group_internal_affairs

	scripted_progress_bar = fascism_progress_bar

	timeout = 1095

	status_desc = {
		first_valid = {
			triggered_desc = {
				desc = blank_tt
				trigger = {
					NOT = {
						has_journal_entry = je_fascism_1
					}
				}
			}
			triggered_desc = {
				desc = fascists_in_government_tt
				trigger = {
					any_interest_group = {
						is_in_government = yes
						leader = {
							OR = {
								has_ideology = ideology:ideology_fascist
								has_ideology = ideology:ideology_integralist
							}
						}
					}
				}
			}
			triggered_desc = {
				desc = fascists_out_of_government_tt
				trigger = {
					NOT = {
						any_interest_group = {
							is_in_government = yes
							leader = {
								OR = {
									has_ideology = ideology:ideology_fascist
									has_ideology = ideology:ideology_integralist
								}
							}
						}
					}
				}
			}
		}
	}

	is_shown_when_inactive = {
		NOT = { has_variable = completed_fascism_1_var }
		has_technology_researched = political_agitation
		NOT = { is_country_type = decentralized }
	}

	possible = {
		has_technology_researched = mass_propaganda
		OR = {
			any_interest_group = {
				OR = {
					is_powerful = yes
					is_in_government = yes
					is_insurrectionary = yes
				}
				OR = {
					has_ideology = ideology:ideology_socialist
					custom_tooltip = {
						text = has_socialist_ideology_tt
						leader = {
							has_socialist_ideology = yes
						}
					}
				}
			}
			custom_tooltip = {
				text = red_scare_unlock_tt
				any_in_global_list = {
					variable = aes_country_list
					has_diplomatic_relevance = root
					has_law = law_type:law_council_republic
				}
			}
		}
		radical_fraction = {
			value >= 0.1
		}
	}

	immediate = {
		if = {
			limit = {
				NOT = {
					any_scope_character = {
						OR = {
							has_ideology = ideology:ideology_fascist
							has_ideology = ideology:ideology_integralist
						}
					}
				}
			}
			generate_fascist_agitator = yes
		}
		if = {
			limit = {
				NOT = {
					any_political_movement = {
						is_political_movement_type = movement_fascist
					}
				}
			}
			create_political_movement = { type = movement_fascist }
		}
		every_scope_character = {
			limit = {
				OR = {
					has_role = politician
					has_role = agitator
				}
				OR = {
					has_ideology = ideology:ideology_fascist
					has_ideology = ideology:ideology_integralist
				}
			}
			set_variable = var_fascism_1_char_checked
		}
	}

	complete = {
		custom_tooltip = {
			text = je_fascism_1_complete_condition_tt
			scope:journal_entry = {
				"scripted_bar_progress(fascism_progress_bar)" >= 100
			}
		}
		custom_tooltip = {
			text = existent_fascist_character_tt
			any_scope_character = {
				OR = {
					has_ideology = ideology:ideology_fascist
					has_ideology = ideology:ideology_integralist
				}
			}
		}
    }

	on_complete = {
		set_variable = {
			name = completed_fascism_1_var
		}
		if = {
			limit = {
				NOT = {
					any_interest_group  = {
						leader = {
							OR = {
								has_ideology = ideology:ideology_fascist
								has_ideology = ideology:ideology_integralist
							}
						}
					}
				}
				any_scope_character = {
					OR = {
						has_ideology = ideology:ideology_fascist
						has_ideology = ideology:ideology_integralist
					}
				}
			}
			ordered_interest_group = {
				limit = {
					any_scope_character = {
						OR = {
							has_ideology = ideology:ideology_fascist
							has_ideology = ideology:ideology_integralist
						}
					}
				}
				order_by = ig_clout
	
				save_scope_as = fascist_ig
				random_scope_character = {
					limit = {
						OR = {
							has_ideology = ideology:ideology_fascist
							has_ideology = ideology:ideology_integralist
						}
					}
					save_scope_as = fascist_leader
				}
			}
			custom_tooltip = {
				text = fascist_leader_seizes_control_tt
				scope:fascist_leader = {
					add_character_role = politician
					set_as_interest_group_leader = yes
					if = {
						limit = {
							has_role = agitator
						}
						remove_character_role = politician
					}
				}
			}
		}
		trigger_event = { id = fascism_events.11 }
		custom_tooltip = {
			text = fascist_characters_stays_increased_tt
		}
	}

	fail = {
		custom_tooltip = {
			text = je_fascism_1_fail_condition_tt
			scope:journal_entry = {
				"scripted_bar_progress(fascism_progress_bar)" <= 0
			}
		}
	}

	on_fail = {
		trigger_event = { id = fascism_events.10 }
		custom_tooltip = {
			text = fascist_characters_return_to_normal_tt
		}
	}

	on_timeout = {
		trigger_event = { id = fascism_events.10 }
		custom_tooltip = {
			text = fascist_characters_return_to_normal_tt
		}
	}

	on_weekly_pulse = {
        effect = {
            if = {
                limit = {
					any_interest_group = {
						is_in_government = yes
						leader = {
							OR = {
								has_ideology = ideology:ideology_fascist
								has_ideology = ideology:ideology_integralist
							}
							NOT = {
								has_variable = var_fascism_1_char_checked
							}
						}
					}
                }
				trigger_event = { id = fascism_events.9 popup = yes }
            }
			every_interest_group = {
				limit = {
					is_in_government = no
				}
				leader = {
					set_variable = var_fascism_1_char_checked
				}
			}
        }
    }

	on_monthly_pulse = {
		random_events = {
			100 = 0
			10 = fascism_events.2
		}
	}

	invalid = {
		# pelly_says = no
	}

	weight = 10000
	can_deactivate = no
	should_be_pinned_by_default = yes
}

je_fascism_2 = {
	icon = "gfx/interface/icons/event_icons/waving_flag.dds"
	
	group = je_group_internal_affairs

	immediate = {
		random_interest_group = {
			limit = {
				is_in_government = yes
				leader = {
					OR = {
						has_ideology = ideology:ideology_fascist
						has_ideology = ideology:ideology_integralist
					}
				}
			}
			save_scope_as = fascist_ig
			set_variable = og_fascist_ig
		}
	}

	complete = {
		OR = {
			has_law = law_type:law_dedicated_police
			has_law = law_type:law_militarized_police
		}
		institution_investment_level = {
			institution = institution_police
			value >= 3
		}
		OR = {
			has_law = law_type:law_national_guard
			has_law = law_type:law_secret_police
		}
		OR = {
			has_law = law_type:law_autocracy
			has_law = law_type:law_oligarchy
			has_law = law_type:law_single_party_state
		}
		custom_tooltip = {
			text = fascism_2_tt
			trigger_if = {
				limit = {
					any_interest_group = {
						leader = {
							OR = {
								has_ideology = ideology:ideology_vanguardist
								has_ideology = ideology:ideology_communist
								has_ideology = ideology:ideology_anarchist
								has_ideology = ideology:ideology_radical
							}
						}
					}
				}
				any_interest_group = {
					filter = {
						leader = {
							OR = {
								has_ideology = ideology:ideology_vanguardist
								has_ideology = ideology:ideology_communist
								has_ideology = ideology:ideology_anarchist
								has_ideology = ideology:ideology_radical
							}
						}
					}
					is_marginal = yes
					count = all
				}
			}
		}
		custom_tooltip = {
			text = fascism_3_tt
			trigger_if = {
				limit = {
					any_political_movement = {
						OR = {
							is_political_movement_type = movement_radical
							is_political_movement_type = movement_socialist
							is_political_movement_type = movement_communist
							is_political_movement_type = movement_anarchist
						}
					}
				}
				any_political_movement = {
					filter = {
						OR = {
							is_political_movement_type = movement_radical
							is_political_movement_type = movement_socialist
							is_political_movement_type = movement_communist
							is_political_movement_type = movement_anarchist
						}
					}
					OR = {
						is_being_suppressed = yes
						political_movement_support <= 0.05
					}
					count = all
				}
			}
		}
	}
	on_complete = {
		trigger_event = { id = fascism_events.3 }
	}

	on_monthly_pulse = {
		random_events = {
			200 = 0
			50 = fascism_events.1
			10 = fascism_events.4
		}
	}

	invalid = {
		NOT = {
			any_interest_group = {
				custom_tooltip = {
					text = fascism_1_tt
					leader = {
						OR = {
							has_ideology = ideology:ideology_fascist
							has_ideology = ideology:ideology_integralist
						}
					}
				}
				is_in_government = yes
			}
		}
	}

	weight = 10000
	can_deactivate = no
	should_be_pinned_by_default = yes
}

je_modernization_program = {
	icon = "gfx/interface/icons/event_icons/event_newspaper.dds"
	
	group = je_group_internal_affairs

	immediate = {
		random_interest_group = {
			limit = {
				has_variable = og_fascist_ig
			}
			save_scope_as = fascist_ig
			leader = {
				save_scope_as = fascist_leader
			}
		}
	}

	complete = {
		NOT = { has_law = law_type:law_free_trade }
		custom_tooltip = {
			text = je_modernization_program_tt
			capital = {
				infrastructure >= 150
			}
		}
		any_scope_state = { 
			filter = {
				is_incorporated = yes
			}
			any_scope_building = {
				is_building_type = building_railway
				level >= 2
			}
			percent = 1
		}
		any_scope_state = {
			is_incorporated = yes
			has_building = building_port
			count >= 2
		}
	}

	on_complete = {
		trigger_event = { id = fascism_events.5 }
	}

	on_monthly_pulse = {
	}

	invalid = {
		NOT = {
			any_interest_group = {
				custom_tooltip = {
					text = fascism_1_tt
					leader = {
						OR = {
							has_ideology = ideology:ideology_fascist
							has_ideology = ideology:ideology_integralist
						}
					}
				}
				is_in_government = yes
			}
		}
	}

	weight = 10000
	can_deactivate = no
	should_be_pinned_by_default = yes
}

je_ethno_nationalist = {
	icon = "gfx/interface/icons/event_icons/event_military.dds"
	
	group = je_group_internal_affairs

	is_shown_when_inactive = {
		NOT = { has_variable = completed_ethno_nationalism_var }
		any_interest_group = {
			any_scope_character = {
				OR = {
					has_role = politician
					has_role = agitator
				}
				OR = {
					has_ideology = ideology:ideology_fascist
					has_ideology = ideology:ideology_ethno_nationalist
				}
			}
		}
		NOT = { is_country_type = unrecognized }
		NOT = { is_country_type = decentralized }
	}

	possible = {
		any_interest_group = {
			is_in_government = yes
			any_scope_character = {
				OR = {
					has_role = politician
					has_role = agitator
				}
				OR = {
					has_ideology = ideology:ideology_fascist
					has_ideology = ideology:ideology_ethno_nationalist
				}
			}
		}
	}

	complete = {
		has_law = law_type:law_ethnostate
		OR = {
			has_law = law_type:law_migration_controls
			has_law = law_type:law_closed_borders
		}
		custom_tooltip = {
			text = je_ethno_nationalist_tt
			NOT = {
				any_state = {
					is_homeland_of_country_cultures = ROOT
					NOT = { owner = ROOT }
				}
			}
		}
	}

	on_complete = {
		set_variable = {
			name = completed_ethno_nationalism_var
		}
		trigger_event = { id = fascism_events.6 }
	}

	invalid = {
		NOT = {
			any_interest_group = {
				custom_tooltip = {
					text = ethnonationalist_tt
					leader = {
						OR = {
							has_ideology = ideology:ideology_ethno_nationalist
							has_ideology = ideology:ideology_fascist
						}
					}
				}
				is_in_government = yes
			}
		}
	}

	weight = 10000
	can_deactivate = no
}
