Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: National Focus
Tree: hol_focus
Component: HOL_modernize_our_infantry_equipment
Constructs: prerequisite, has_war, limit, completion_reward, has_dlc, has_game_rule, is_historical_focus_on, has_capitulated
Source: game
File: common/national_focus/netherlands.txt

Code:
focus = {
	id = HOL_modernize_our_infantry_equipment
	prerequisite = {
		focus = HOL_appoint_new_supreme_commander
	}
	mutually_exclusive = {
		focus = HOL_production_under_license
	}
	icon = GFX_goal_generic_small_arms
	x = -1
	y = 1
	offset = {
		x = 1
		y = 0
		trigger = {
			NOT = {
				has_dlc = Death or Dishonor
			}
		}
	}
	relative_position_id = HOL_appoint_new_supreme_commander
	cost = 10
	ai_will_do = {
		base = 1
		modifier = {
			factor = 0.3
			has_dlc = Thunder at Our Gates
			has_game_rule = {
				rule = HOL_ai_behavior
				option = DEFAULT
			}
			is_historical_focus_on = yes
		} {
			factor = 1.75
			has_war = yes
			has_dlc = Thunder at Our Gates
			has_game_rule = {
				rule = HOL_ai_behavior
				option = DEFAULT
			}
			is_historical_focus_on = yes
		} {
			factor = 5
			has_capitulated = yes
			has_dlc = Thunder at Our Gates
			has_game_rule = {
				rule = HOL_ai_behavior
				option = DEFAULT
			}
			is_historical_focus_on = yes
		}
	}
	available_if_capitulated = yes
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
	completion_reward = {
		add_tech_bonus = {
			name = HOL_modernize_our_infantry_equipment
			bonus = 1.0
			uses = 1
			category = infantry_weapons
		} {
			name = HOL_modernize_our_infantry_equipment
			bonus = 1.0
			uses = 1
			category = artillery
		}
		if = {
			limit = {
				has_dlc = Death or Dishonor
			}
			custom_effect_tooltip = HOL_modernize_our_infantry_equipment_tt
		}
	}
}
### Entity: Character
Component: devoted_trotskyist
Constructs: war_support_factor
Source: game
File: common/country_leader/00_traits.txt

Code:
devoted_trotskyist = {
	random = no
	war_support_factor = 0.05
	subversive_activites_upkeep = -0.25
	ai_will_do = {
		factor = 1
	}
}
### Entity: Character
Component: CHI_civilian_unifier_upgraded
Constructs: annex_subject_cost_factor
Source: game
File: common/country_leader/00_traits.txt

Code:
CHI_civilian_unifier_upgraded = {
	sprite = 10
	random = no
	subjects_autonomy_gain = -0.04
	political_power_factor = 0.05
	annex_subject_cost_factor = -0.15
	surrender_limit = 0.05
	ai_will_do = {
		factor = 1
	}
}
### Entity: Unit Template
Component: OMA_BB_HISTORICAL
Source: game
File: common/units/names_ships/OMA_ship_names.txt

Code:
OMA_BB_HISTORICAL = {
	name = NAME_THEME_HISTORICAL_BB
	for_countries = {
		OMA
	}
	type = ship
	ship_types = {
		ship_hull_heavy battleship
	}
	prefix = SNV 
	fallback_name = Battleship %d
	unique = {
		Masqat Matrah
	}
}
### Entity: Modding Documentation
Construct: ai_strategy_invade
Source: vanilla_docs
File: documentation/dynamic_variables_documentation.md

Doc:
### ai_strategy_invade
* description: ai strategy value invade against country. Example: GER.ai_strategy_invade@ENG
### Entity: National Focus
Tree: pol_focus
Component: POL_reach_out_to_underground_state
Constructs: has_completed_focus, prerequisite, limit, completion_reward, add_timed_idea, complete_national_focus
Source: game
File: common/national_focus/poland.txt

Code:
focus = {
	id = POL_reach_out_to_underground_state
	icon = GFX_focus_POL_reach_out_to_underground_state
	prerequisite = {
		focus = POL_german_staff POL_polish_shock_battallions
	}
	mutually_exclusive = {
		focus = POL_request_autonomous_status
	}
	relative_position_id = POL_polish_shock_battallions
	available = {
		NOT = {
			has_completed_focus = POL_support_global_falangism
		}
	}
	x = 0
	y = 1
	cost = 10
	ai_will_do = {
		factor = 2.5
	}
	available_if_capitulated = yes
	search_filters = {
		FOCUS_FILTER_MANPOWER FOCUS_FILTER_INDUSTRY
	}
	completion_reward = {
		add_timed_idea = {
			idea = POL_underground_conscripts
			days = 365
		}
		if = {
			limit = {
				OR = {
					NOT = {
						has_completed_focus = POL_plan_east
					}
					has_completed_focus = POL_complete_plan_east
				}
			}
			complete_national_focus = POL_plan_west
		}
	}
}
### Entity: AI Strategy
Component: EAI_MILITARY_AREA_garrison_state_marcus
Constructs: has_country_flag, is_in_array
Source: game
File: common/ai_strategy/EAI_MILITARY_strategies.txt

Code:
EAI_MILITARY_AREA_garrison_state_marcus = {
	enable = {
		has_country_flag = EAI_MILITARY_garrison_state_strategies
		NOT = {
			is_in_array = {
				EAI_MILITARY_INVASION_staging_areas = 648
				 = .id
			}
		}
		controls_state = 648
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = put_unit_buffers
		ratio = 0.25
		order_id = 998
		states = {
			648
		}
		subtract_invasions_from_need = no
		subtract_fronts_from_need = no
	}
}
### Entity: Idea
Component: LUX_minister_labour_PRL_nsb
Constructs: industrial_capacity_factory
Source: game
File: common/ideas/r56_luxembourg.txt

Code:
LUX_minister_labour_PRL_nsb = {
	modifier = {
		military_industrial_organization_funds_gain = 0.25
		industrial_capacity_factory = -0.1
	}
}
### Entity: Idea
Component: ROM_white_squadron
Constructs: removal_cost
Source: game
File: common/ideas/romania.txt

Code:
ROM_white_squadron = {
	picture = generic_air_bonus
	removal_cost = -1
	allowed = {
		original_tag = ROM
	}
	allowed_civil_war = {

	}
	modifier = {
		experience_loss_factor = -0.1
	}
}
### Entity: National Focus
Tree: chl_focus
Component: CHL_align_with_the_russian_soviet
Constructs: prerequisite, limit, random_country, has_government, add_war_support, completion_reward, is_in_faction, is_subject
Source: game
File: common/national_focus/chile.txt

Code:
focus = {
	id = CHL_align_with_the_russian_soviet
	icon = GFX_focus_chi_mission_to_the_soviet_union
	relative_position_id = CHL_support_for_the_international_revolution
	x = 4
	y = 0
	cost = 5
	prerequisite = {
		focus = CHL_the_future_of_Chile
	}
	mutually_exclusive = {
		focus = CHL_support_for_the_international_revolution
	}
	ai_will_do = {
		base = 2
	}
	available = {
		has_government = communism
		is_in_faction = no
		is_subject = no
		SOU = {
			exists = yes
			has_government = communism
			is_faction_leader = yes
		}
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_WAR_SUPPORT
	}
	completion_reward = {
		add_popularity = {
			ideology = communism
			popularity = 0.1
		}
		add_war_support = 0.05
		custom_effect_tooltip = CHL_skip_one_line_tt
		random_country = {
			limit = {
				original_tag = SOV
				is_faction_leader = yes
				has_government = communism
			}
			country_event = {
				id = CHL_political_events.22
				days = 2
			}
		}
	}
}
### Entity: Scripted Effect
Component: DEN_develop_state_effect
Constructs: limit, add_extra_state_shared_building_slots, check_variable, set_variable, add_to_variable
Source: game
File: common/scripted_effects/DEN_scripted_effects.txt

Code:
DEN_develop_state_effect = {
	add_extra_state_shared_building_slots = 1
	if = {
		limit = {
			check_variable = {
				DEN_times_state_was_developed = < 1
			}
		}
		custom_effect_tooltip = DEN_repeatable_three_times_tt
		hidden_effect = {
			set_variable = {
				DEN_times_state_was_developed = 1
			}
		}
	}
	else = {
		add_to_variable = {
			DEN_times_state_was_developed = 1
		}
		custom_effect_tooltip = DEN_times_state_has_been_developed_tt
	}
}
### Entity: National Focus
Tree: que_focus
Component: QUE_greater_quebec_concept
Constructs: prerequisite, completion_reward, is_subject, is_fully_controlled_by, add_state_core
Source: game
File: common/national_focus/quebec.txt

Code:
focus = {
	id = QUE_greater_quebec_concept
	icon = GFX_goal_QUE_quebec_invade
	prerequisite = {
		focus = QUE_free_the_canadian_workers
	}
	relative_position_id = QUE_a_bright_future_ahead
	x = -1
	y = 3
	cost = 10
	available_if_capitulated = yes
	available = {
		is_subject = no
		276 = {
			is_fully_controlled_by = ROOT
			compliance = > 30
			resistance = < 10
		}
		682 = {
			is_fully_controlled_by = ROOT
			compliance = > 30
			resistance = < 10
		}
		866 = {
			is_fully_controlled_by = ROOT
			compliance = > 30
			resistance = < 10
		}
	}
	ai_will_do = {
		factor = 8
	}
	completion_reward = {
		add_state_core = 276 682 866
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
}
### Entity: Scripted Trigger
Component: ITA_is_protestant_or_orthodox_country_in_europe_for_pope
Source: game
File: common/scripted_triggers/ITA_scripted_triggers.txt

Code:
ITA_is_protestant_or_orthodox_country_in_europe_for_pope = {
	OR = {
		original_tag = ENG DEN NOR SWE FIN GER HOL LAT LIT EST SOV ALB GRE ROM BUL YUG SER MNT KOS BOS HRZ MAC TRA MOL UKR BLR CRI KAR
	}
}
### Entity: Event
Component: new_ger.26
Constructs: is_triggered_only, ai_chance, set_politics
Source: game
File: events/r56_Germany.txt

Code:
country_event = {
	id = new_ger.26
	title = new_ger.26.t
	desc = new_ger.26.d
	picture = GFX_report_event_election_vote
	is_triggered_only = yes
	option = {
		name = new_ger.26.a
		set_politics = {
			ruling_party = ROOT
			elections_allowed = yes
			election_frequency = 24
			last_election = 1936.09.01
		}
	} {
		name = new_ger.26.b
		set_politics = {
			ruling_party = ROOT
			elections_allowed = yes
			election_frequency = 48
			last_election = 1936.09.01
		}
	} {
		name = new_ger.26.c
		set_politics = {
			ruling_party = ROOT
			elections_allowed = yes
			election_frequency = 72
			last_election = 1936.09.01
		}
		ai_chance = {
			base = 5
		}
	}
}
### Entity: National Focus
Tree: jap_focus
Component: JAP_gather_royal_pacifists_support
Constructs: has_completed_focus, prerequisite, limit, completion_reward, has_country_leader, cancel_if_invalid, add_popularity, has_trait
Source: game
File: common/national_focus/japan.txt

Code:
focus = {
	id = JAP_gather_royal_pacifists_support
	icon = GFX_focus_JAP_gather_royal_pacifists_support
	x = 1
	y = 1
	relative_position_id = JAP_build_an_anti_army_coalition
	prerequisite = {
		focus = JAP_build_an_anti_army_coalition
	}
	cost = 5
	ai_will_do = {
		factor = 1
	}
	available = {
		NOT = {
			has_country_leader = {
				ruling_only = yes
				character = JAP_abe_isoo
			}
		} {
			has_completed_focus = JAP_revoke_the_peace_preservation_law
		}
	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_MILITARY_CHARACTER FOCUS_FILTER_IMPERIAL_INFLUENCE
	}
	completion_reward = {
		custom_effect_tooltip = JAP_gather_royal_pacifists_support_tt generic_skip_one_line_tt
		add_popularity = {
			ideology = democratic
			popularity = 0.05
		}
		IF = {
			limit = {
				JAP_tadaichi_wakamatsu = {
					NOT = {
						has_trait = JAP_government_supporter
					}
				}
			}
			JAP_tadaichi_wakamatsu = {
				remove_trait = {
					trait = JAP_IJA_loyalist
				}
				add_trait = {
					trait = JAP_government_supporter
				}
			}
			custom_effect_tooltip = generic_skip_one_line_tt
		}
		JAP_small_government_faction_gain = yes
		hidden_effect = {
			mark_focus_tree_layout_dirty = yes
			set_country_flag = JAP_will_replace_hirohito_with_nobuhito_flag
		}
	}
}
### Entity: Decision
Component: GER_aid_hun_rom_democratic_civil_war
Constructs: limit, random_country, has_government, has_war_with, has_civil_war, complete_effect, is_in_faction_with, remove_from_faction
Source: game
File: common/decisions/GER.txt

Code:
GER_aid_hun_rom_democratic_civil_war = {
	GER_aid_hun_democratic_civil_war = {
		icon = generic_prepare_civil_war
		available = {
			HUN = {
				NOT = {
					has_government = democratic
				} {
					has_war_with = GER
				}
				has_civil_war = yes
				exists = yes
				any_enemy_country = {
					original_tag = HUN
					has_government = democratic
				}
			}
		}
		cost = 0
		ai_will_do = {
			factor = 200
		}
		visible = {
			HUN = {
				has_civil_war = yes
			}
			GER = {
				has_government = democratic
			}
		}
		complete_effect = {
			if = {
				limit = {
					HUN = {
						is_in_faction_with = GER
					}
				}
				remove_from_faction = HUN
				random_country = {
					limit = {
						original_tag = HUN
						has_government = democratic
						has_war_with = HUN
					}
					GER = {
						add_to_faction = PREV
					}
				}
			}
			random_country = {
				limit = {
					original_tag = HUN
					has_government = democratic
					has_war_with = HUN
				}
				GER = {
					add_to_war = {
						targeted_alliance = PREV
						enemy = HUN
						hostility_reason = asked_to_join
					}
				}
			}
		}
	}
	GER_aid_rom_democratic_civil_war = {
		icon = generic_prepare_civil_war
		available = {
			ROM = {
				NOT = {
					has_government = democratic
				} {
					has_war_with = GER
				}
				has_civil_war = yes
				exists = yes
				any_enemy_country = {
					original_tag = ROM
					has_government = democratic
				}
			}
		}
		cost = 0
		ai_will_do = {
			factor = 200
		}
		visible = {
			ROM = {
				has_civil_war = yes
			}
			GER = {
				has_government = democratic
			}
		}
		complete_effect = {
			if = {
				limit = {
					ROM = {
						is_in_faction_with = GER
					}
				}
				remove_from_faction = ROM
				random_country = {
					limit = {
						original_tag = ROM
						has_government = democratic
						has_war_with = ROM
					}
					GER = {
						add_to_faction = PREV
					}
				}
			}
			random_country = {
				limit = {
					original_tag = ROM
					has_government = democratic
					has_war_with = ROM
				}
				GER = {
					add_to_war = {
						targeted_alliance = PREV
						enemy = ROM
						hostility_reason = asked_to_join
					}
				}
			}
		}
	}
}
### Entity: Event
Component: liechtenstein.9
Constructs: is_triggered_only, has_completed_focus, limit, fire_only_once, set_autonomy, set_politics, set_popularities
Source: game
File: events/Liechtenstein.txt

Code:
country_event = {
	id = liechtenstein.9
	picture = GFX_report_event_SWI_guisan_soldiers
	title = liechtenstein.9.t
	desc = liechtenstein.9.d
	fire_only_once = yes
	is_triggered_only = yes
	option = {
		name = liechtenstein.9.a
		army_experience = 10 2
		if = {
			limit = {
				original_tag = AUS
				has_completed_focus = AUS_intervention_in_liechtenstein_schuschnigg
			}
			set_autonomy = {
				target = LIE
				autonomy_state = autonomy_satellite
			}
			LIE = {
				set_politics = {
					ruling_party = neutrality
					elections_allowed = no
				}
				hidden_effect = {
					set_popularities = {
						democratic = 10
						neutrality = 90
					}
				}
			}
		}
		else_if = {
			limit = {
				original_tag = AUS
				has_completed_focus = AUS_intervention_in_liechtenstein_nazi
			}
			set_autonomy = {
				target = LIE
				autonomy_state = autonomy_satellite
			}
		}
		else = {
			set_autonomy = {
				target = LIE
				autonomy_state = autonomy_protectorate
			}
		}
	}
}
### Entity: AI Strategy
Component: USA_now_we_shall_strike
Constructs: has_war_with
Source: game
File: common/ai_strategy/USA.txt

Code:
USA_now_we_shall_strike = {
	allowed = {
		original_tag = JAP
	}
	enable = {
		country_exists = JAP
	}
	abort = {
		OR = {
			has_war_with = USA
			NOT = {
				country_exists = USA
			}
		}
	}
	ai_strategy = {
		type = consider_weak
		id = USA
		value = 75
	}
}
### Entity: National Focus
Tree: isr_focus
Component: ISR_watch_yishuv_leaders
Constructs: prerequisite, limit, has_country_flag, add_stability, completion_reward, add_political_power, add_popularity, has_active_mission
Source: game
File: common/national_focus/israel.txt

Code:
focus = {
	id = ISR_watch_yishuv_leaders
	icon = GFX_goal_generic_secret_police
	relative_position_id = ISR_consolidate_power
	x = 3
	y = 1
	bypass = {
		hidden_trigger = {
			has_country_flag = ISR_jabotinsky_dying
		}
		has_country_flag = ISR_jabotinsky_died
	}
	available = {
		if = {
			limit = {
				has_country_flag = ISR_jabotinsky_dying
			}
			NOT = {
				has_country_flag = ISR_jabotinsky_died
			}
		}
	}
	prerequisite = {
		focus = ISR_consolidate_power
	}
	cost = 7.2
	completion_reward = {
		add_political_power = 50
		add_stability = 0.05
		add_popularity = {
			ideology = communism
			popularity = -0.05
		} {
			ideology = democratic
			popularity = -0.05
		}
		if = {
			limit = {
				has_active_mission = ISR_jabotinsky_dying_mission
			}
			add_days_mission_timeout = {
				mission = ISR_jabotinsky_dying_mission
				days = -35
			}
		}
	}
}
### Entity: National Focus
Tree: alg_focus
Component: ALG_battleship_focus
Constructs: prerequisite, completion_reward, add_tech_bonus
Source: game
File: common/national_focus/algeria.txt

Code:
focus = {
	id = ALG_battleship_focus
	icon = GFX_goal_generic_navy_battleship
	prerequisite = {
		focus = ALG_submarine_focus
	} {
		focus = ALG_cruiser_focus
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
	mutually_exclusive = {
		focus = ALG_carrier_focus
	}
	x = 49
	y = 5
	cost = 10
	ai_will_do = {
		factor = 5
	}
	completion_reward = {
		add_tech_bonus = {
			name = capital_ships_bonus
			ahead_reduction = 1
			bonus = 1.0
			uses = 1
			category = bb_tech
		}
	}
}
### Entity: Character
Component: BAN_aco2
Source: game
File: common/characters/BAN.txt

Code:
BAN_aco2 = {
	advisor = {
		slot = army_chief
		idea_token = BAN_aco2
		allowed = {
			original_tag = BAN
		}
		traits = {
			army_chief_organizational_2
		}
		ai_will_do = {
			factor = 1.0
		}
	}
	portraits = {
		army = {
			small = GFX_idea_generic_army_asia_4
		}
	}
}
### Entity: National Focus
Tree: cog_focus
Component: COG_french_as_martial_language
Constructs: prerequisite, add_war_support, completion_reward, is_historical_focus_on, has_global_flag, add_to_variable
Source: game
File: common/national_focus/congo.txt

Code:
focus = {
	id = COG_french_as_martial_language
	icon = GFX_focus_chi_reach_out_to_france
	x = 0
	y = 1
	prerequisite = {
		focus = COG_standardize_military_production COG_academie_militaire_de_kananga
	}
	relative_position_id = COG_standardize_military_production
	mutually_exclusive = {
		focus = COG_adopt_lingala_and_swahili_as_martial_languages
	}
	cost = 10
	ai_will_do = {
		base = 5
		modifier = {
			factor = 0
			is_historical_focus_on = yes
		}
	}
	bypass = {

	}
	available = {
		has_global_flag = COG_force_publique_reformed_flag
	}
	completion_reward = {
		add_war_support = -0.05
		custom_effect_tooltip = generic_skip_one_line_tt modify_COG_COG_armee_nationale_congolaise_modifier_tt
		add_to_variable = {
			COG_armee_nationale_congolaise_modifier_training_time_factor = 0.15
			tooltip = training_time_factor_tt
		} {
			COG_armee_nationale_congolaise_modifier_army_org_factor = 0.05
			tooltip = army_org_factor_tt
		}
	}
}
### Entity: Scripted Trigger
Component: congress_high_support_trigger
Constructs: check_variable
Source: game
File: common/scripted_triggers/MTG_congress_scripted_triggers.txt

Code:
congress_high_support_trigger = {
	custom_trigger_tooltip = {
		tooltip = congress_high_support_trigger_tt
		check_variable = {
			var = senators_support
			value = quorum_high
			compare = greater_than_or_equals
		} {
			var = representatives_support
			value = 261
			compare = greater_than_or_equals
		}
	}
}
### Entity: National Focus
Tree: bra_focus
Component: BRA_estado_novo
Constructs: prerequisite, limit, every_country, completion_reward, is_on_continent, retire_country_leader, add_country_leader_role, set_politics
Source: game
File: common/national_focus/brazil.txt

Code:
focus = {
	id = BRA_estado_novo
	icon = GFX_focus_BRA_estado_novo
	prerequisite = {
		focus = BRA_ensure_continued_military_support
	} {
		focus = BRA_cohen_plan
	}
	mutually_exclusive = {
		focus = BRA_estado_moderno
	}
	x = 0
	y = 2
	relative_position_id = BRA_ensure_continued_military_support
	cost = 5
	ai_will_do = {
		factor = 10
	}
	available = {

	}
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY FOCUS_FILTER_HISTORICAL
	}
	completion_reward = {
		hidden_effect = {
			every_country = {
				limit = {
					any_owned_state = {
						OR = {
							is_on_continent = south_america north_america
						}
					}
				}
				news_event = {
					id = south_american_news.50
					hours = 1
				}
			}
			retire_country_leader = yes
			BRA_getulio_vargas = {
				add_country_leader_role = {
					country_leader = {
						ideology = despotism
						expire = 1965.1.1.1
						traits = {
							BRA_authoritarian_populist
						}
					}
				}
				promote_leader = yes
			}
		} {
			retire_country_leader = yes
		}
		set_politics = {
			ruling_party = neutrality
			last_election = 1934.3.26
			election_frequency = 48
			elections_allowed = no
		}
		remove_dynamic_modifier = {
			modifier = BRA_aftermath_of_the_coup
		}
		add_dynamic_modifier = {
			modifier = BRA_estado_novo_modifier
		}
	}
}
### Entity: Character
Component: GER_gotthard_heinrici
Source: game
File: common/characters/GER.txt

Code:
GER_gotthard_heinrici = {
	name = GER_gotthard_heinrici
	portraits = {
		army = {
			large = GFX_portrait_GER_gotthard_heinrici
			small = GFX_portrait_GER_gotthard_heinrici_small
		}
	}
	corps_commander = {
		traits = {
			old_guard infantry_officer inflexible_strategist
		}
		skill = 4
		attack_skill = 3
		defense_skill = 4
		planning_skill = 4
		logistics_skill = 2
		legacy_id = 33
	}
}
### Entity: Character
Component: GRE_konstantinos_tsaldaris
Constructs: has_dlc, check_variable
Source: game
File: common/characters/GRE.txt

Code:
GRE_konstantinos_tsaldaris = {
	instance = {
		allowed = {
			has_dlc = Battle for the Bosporus
		}
		name = GRE_konstantinos_tsaldaris
		portraits = {
			army = {
				small = GFX_idea_gre_konstantinos_tsaldaris
			}
		}
		advisor = {
			slot = political_advisor
			idea_token = GRE_konstantinos_tsaldaris
			allowed = {
				original_tag = GRE
				has_dlc = Battle for the Bosporus
			}
			available = {
				custom_trigger_tooltip = {
					tooltip = GRE_monarchists_friendly_or_loyal
					check_variable = {
						var = GRE_monarchist_loyalty
						value = 1.0
						compare = greater_than_or_equals
					}
				}
			}
			traits = {
				sharp_tongued_lawyer
			}
		}
	} {
		allowed = {
			NOT = {
				has_dlc = Battle for the Bosporus
			}
		}
		name = GRE_konstantinos_tsaldaris
		portraits = {
			civilian = {
				large = GFX_portrait_GRE_konstantinos_tsaldaris
			}
		}
		country_leader = {
			ideology = conservatism
			expire = 1965.1.1.1
			id = -1
		}
	}
}
### Entity: National Focus
Tree: est_focus
Component: EST_reach_out_to_germany
Constructs: prerequisite, limit, has_government, has_war_with, completion_reward, is_in_faction_with, is_subject, is_in_faction
Source: game
File: common/national_focus/estonia.txt

Code:
focus = {
	id = EST_reach_out_to_germany
	icon = GFX_focus_chi_mission_to_germany
	prerequisite = {
		focus = EST_veterans_government
	}
	mutually_exclusive = {
		focus = EST_anti_communist_militia
	}
	x = 1
	y = 1
	relative_position_id = EST_veterans_government
	cost = 5
	ai_will_do = {
		factor = 1
	}
	available = {
		has_government = fascism
		NOT = {
			has_war_with = GER
		} {
			any_other_country = {
				is_in_faction_with = GER
				has_war_with = HUN
			}
		}
		is_subject = no
		is_in_faction = no
		GER = {
			is_faction_leader = yes
			has_government = fascism
			is_subject = no
		}
	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
	completion_reward = {
		if = {
			limit = {
				GER = {
					exists = yes
					has_capitulated = no
					has_government = fascism
					is_faction_leader = yes
				}
			}
			GER = {
				country_event = EST_events.1
			}
		}
		else = {
			get_best_alliance_match_fascism_effect = yes
			var:best_leader = {
				country_event = EST_events.1
			}
		}
	}
}
### Entity: Trigger Reference
Construct: has_air_experience
Source: vanilla_docs
File: documentation/triggers_documentation.md

Doc:
## has_air_experience

* Supported Scopes: COUNTRY
* Supported Targets: none

```
Compares current country's air experience with right side value.
 has_air_experience < <value>
```