Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: National Focus
Tree: per_focus
Component: PER_revive_the_jungle_movement
Constructs: has_completed_focus, limit, add_ideas, completion_reward, is_historical_focus_on, allow_branch, has_game_rule
Source: game
File: common/national_focus/r56_persia.txt

Code:
focus = {
	id = PER_revive_the_jungle_movement
	icon = GFX_focus_generic_join_comintern
	cost = 10
	mutually_exclusive = {
		focus = PER_continue_government_purges PER_restore_constitutionalism PER_appoint_zahedi
	}
	x = 10
	y = 0
	ai_will_do = {
		factor = 15
		modifier = {
			factor = 0
			is_historical_focus_on = yes
		}
	}
	allow_branch = {
		if = {
			limit = {
				has_game_rule = {
					rule = obsolete_focus_branches_visibility
					option = HIDE
				}
			}
			NOT = {
				has_completed_focus = PER_restore_constitutionalism PER_continue_government_purges PER_appoint_zahedi
			}
		}
	}
	completion_reward = {
		add_ideas = PER_revive_the_jungle_movement
		custom_effect_tooltip = available_political_advisor
		show_ideas_tooltip = PER_soleyman_mirza_eskandari
		mark_focus_tree_layout_dirty = yes
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
}
### Entity: National Focus
Tree: ita_focus
Component: ITA_power_to_the_king
Constructs: prerequisite, add_ideas, completion_reward, add_political_power, add_popularity, unlock_decision_tooltip
Source: game
File: common/national_focus/italy.txt

Code:
focus = {
	id = ITA_power_to_the_king
	icon = GFX_focus_ITA_king_vittorio
	prerequisite = {
		focus = ITA_monarchia_d_italia
	}
	mutually_exclusive = {
		focus = ITA_revoke_the_acerbo_law
	}
	x = 5
	y = 0
	relative_position_id = ITA_revoke_the_acerbo_law
	cost = 5
	available = {
		neutrality = > 0.5
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY FOCUS_FILTER_INDUSTRY FOCUS_FILTER_BALANCE_OF_POWER
	}
	completion_reward = {
		add_political_power = 75
		add_ideas = ITA_political_reforms_monarchist
		add_popularity = {
			ideology = neutrality
			popularity = 0.1
		}
		unlock_decision_tooltip = ITA_vittorio_abdicate ITA_bop_privileges_for_the_elites ITA_bop_revoke_the_lateran_treaty
		custom_effect_tooltip = available_political_advisor
		show_ideas_tooltip = ITA_alberto_de_stefani
	}
}
### Entity: National Focus
Component: GERK_revitalize_old_traditions
Constructs: limit, add_ideas, completion_reward, has_idea, swap_ideas, add_idea, remove_idea, add_doctrine_cost_reduction
Source: game
File: common/national_focus/r56_ger_shared.txt

Code:
focus = {
	id = GERK_revitalize_old_traditions
	icon = GFX_goal_generic_officers
	x = 2
	y = 0
	cost = 10
	ai_will_do = {
		factor = 5000
	}
	available_if_capitulated = yes
	completion_reward = {
		if = {
			limit = {
				has_idea = general_staff
			}
			swap_ideas = {
				add_idea = general_staff_2
				remove_idea = general_staff
			}
		}
		else = {
			add_ideas = general_staff_2
		}
		add_doctrine_cost_reduction = {
			name = GERK_revitalize_old_traditions
			cost_reduction = 0.5
			uses = 2
			category = land_doctrine
		}
	}
	search_filters = {
		FOCUS_FILTER_ARMY_XP FOCUS_FILTER_RESEARCH
	}
}
### Entity: National Focus
Tree: lux_focus
Component: LUX_found_lnp
Constructs: prerequisite, completion_reward, set_party_name, add_timed_idea, unlock_decision_tooltip, add_power_balance_value
Source: game
File: common/national_focus/r56_luxembourg.txt

Code:
focus = {
	id = LUX_found_lnp
	icon = GFX_focus_generic_fascist_propaganda
	cost = 5
	x = -1
	y = 1
	relative_position_id = LUX_contest_election_results
	prerequisite = {
		focus = LUX_contest_election_results
	}
	completion_reward = {
		set_party_name = {
			ideology = fascism
			long_name = LUX_lnp_party_long
			name = LUX_lnp_party
		}
		custom_effect_tooltip = generic_skip_one_line_tt generic_skip_one_line_tt generic_skip_one_line_tt
		add_timed_idea = {
			idea = r56_LUX_political_support
			days = 365
		}
		unlock_decision_tooltip = LUX_fascist_balance_lobby_for_political_support
		add_power_balance_value = {
			id = LUX_fascist_balance
			value = -0.05
		}
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY
	}
}
### Entity: Character
Component: JAP_kijuro_shidehara
Constructs: has_completed_focus, limit, has_government, has_dlc, has_autonomy_state
Source: game
File: common/characters/JAP.txt

Code:
JAP_kijuro_shidehara = {
	instance = {
		allowed = {
			NOT = {
				has_dlc = No Compromise, No Surrender
			}
		}
		name = JAP_kijuro_shidehara
		portraits = {
			civilian = {
				small = GFX_idea_kijuro_shidehara
			}
		}
		advisor = {
			slot = political_advisor
			idea_token = kijuro_shidehara
			available = {
				if = {
					limit = {
						has_dlc = Waking the Tiger
					}
					has_completed_focus = JAP_strengthen_civilian_government
				} {
					limit = {
						has_dlc = Man the Guns
					}
					NOT = {
						has_autonomy_state = autonomy_supervised_state
					}
				}
			}
			allowed = {
				original_tag = JAP
			}
			traits = {
				democratic_reformer
			}
			do_effect = {
				NOT = {
					has_government = democratic
				}
			}
			ai_will_do = {
				base = 0.5
			}
		}
	} {
		allowed = {
			has_dlc = No Compromise, No Surrender
		}
		name = JAP_kijuro_shidehara
		portraits = {
			civilian = {
				small = GFX_idea_kijuro_shidehara
			}
		}
		advisor = {
			slot = political_advisor
			idea_token = kijuro_shidehara
			allowed = {
				original_tag = JAP
			}
			visible = {
				NOT = {
					has_government = fascism communism
					has_completed_focus = JAP_revere_the_emperor_destroy_the_traitors
				}
			}
			available = {
				has_government = democratic
			}
			traits = {
				JAP_pacifist_baron
			}
			ai_will_do = {
				base = 0.5
			}
		}
	}
}
### Entity: National Focus
Tree: mpl_focus
Component: MPL_research_doctrines
Constructs: prerequisite, completion_reward, add_doctrine_cost_reduction
Source: game
File: common/national_focus/mandate_of_palestine.txt

Code:
focus = {
	id = MPL_research_doctrines
	icon = GFX_goal_generic_army_doctrines
	relative_position_id = MPL_modernize_army
	x = 0
	y = 2
	prerequisite = {
		focus = MPL_modernize_army
	}
	cost = 10
	completion_reward = {
		add_doctrine_cost_reduction = {
			category = land_doctrine
			cost_reduction = 0.5
			name = MPL_research_doctrines
			uses = 2
		}
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
}
### Entity: Character
Component: food_distributor
Source: game
File: common/country_leader/00_traits.txt

Code:
food_distributor = {
	random = no
	ai_will_do = {
		factor = 1
	}
}
### Entity: Shared Focus
Tree: abc_focus
Component: ABC_special_forces
Constructs: shared_focus, prerequisite, add_ideas, completion_reward, add_tech_bonus, set_country_flag, unlock_decision_tooltip
Source: game
File: common/national_focus/ABC_shared.txt

Code:
shared_focus = {
	id = ABC_special_forces
	icon = GFX_goal_generic_special_forces
	prerequisite = {
		focus = ABC_equipment_effort_3
	} {
		focus = ABC_doctrine_effort_2
	} {
		focus = ABC_equipment_effort_2
	}
	x = 0
	y = 1
	relative_position_id = ABC_equipment_effort_3
	cost = 10
	available_if_capitulated = yes
	completion_reward = {
		add_ideas = special_forces
		add_tech_bonus = {
			name = special_forces_bonus
			bonus = 2
			uses = 1
			category = r56_desert_infantry_tech r56_jaeger_infantry_tech r56_jungle_infantry_tech r56_marines_infantry_tech r56_mountain_infantry_tech r56_paratroops_infantry_tech r56_shock_infantry_tech
		} {
			name = special_forces_bonus
			bonus = 1.0
			uses = 2
			category = r56_special_forces_training_tech
		}
		hidden_effect = {
			set_country_flag = cite_an_airborne_unit_flag
		}
		unlock_decision_tooltip = {
			decision = cite_an_airborne_unit
			show_effect_tooltip = yes
		}
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
}
### Entity: AI Strategy
Component: EAI_BUILDING_construction_SILO_42
Constructs: has_country_flag
Source: game
File: common/ai_strategy/EAI_BUILDING_construction_strategies.txt

Code:
EAI_BUILDING_construction_SILO_42 = {
	enable = {
		has_country_flag = {
			flag = EAI_BUILDING_build_num_SILO
			value = 42
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = building_target
		id = fuel_silo
		value = 42
	}
}
### Entity: Idea
Component: YUG_idea_macedonian_opposition_1
Constructs: removal_cost
Source: game
File: common/ideas/yugoslavia.txt

Code:
YUG_idea_macedonian_opposition_1 = {
	picture = generic_volunteer_expedition_bonus
	allowed = {
		always = no
		country_exists = BUL
	}
	allowed_civil_war = {
		always = yes
	}
	removal_cost = -1
	modifier = {
		political_advisor_cost_factor = 0.1
		trade_laws_cost_factor = 0.1
		mobilization_laws_cost_factor = 0.1
		economy_cost_factor = 0.1
	}
}
### Entity: Character
Component: SOV_vasily_chuykov
Constructs: has_character_flag
Source: game
File: common/characters/SOV.txt

Code:
SOV_vasily_chuykov = {
	name = SOV_vasily_chuykov
	portraits = {
		army = {
			large = GFX_portrait_SOV_vasily_chuykov
			small = GFX_portrait_SOV_vasily_chuykov_small
		}
	}
	corps_commander = {
		traits = {
			brilliant_strategist career_officer
		}
		skill = 1
		attack_skill = 1
		defense_skill = 1
		planning_skill = 1
		logistics_skill = 1
		legacy_id = 0
		visible = {
			NOT = {
				has_character_flag = SOV_exiled_flag
			}
		}
	}
}
### Entity: Event
Component: rt56.romania.3
Constructs: is_triggered_only, add_political_power
Source: game
File: events/r56_romania.txt

Code:
country_event = {
	id = rt56.romania.3
	title = rt56.romania.3.t
	desc = rt56.romania.3.d
	picture = GFX_report_event_generic_read_write
	is_triggered_only = yes
	option = {
		name = rt56.romania.3.a
		add_political_power = 10
	}
}
### Entity: Event
Component: cityfall.72
Constructs: is_triggered_only, set_state_flag, save_event_target_as
Source: game
File: events/CFM_city_events.txt

Code:
news_event = {
	id = cityfall.72
	title = cityfall.72.t
	desc = cityfall.72.desc
	picture = GFX_news_event_fall_of_rio
	major = yes
	is_triggered_only = yes
	immediate = {
		500 = {
			set_state_flag = state_has_fallen
		}
		FROM.FROM = {
			save_event_target_as = old_controller
		}
		ROOT = {
			save_event_target_as = new_controller
		}
	}
	option = {
		name = cityfall.72.a
		trigger = {
			tag = event_target:old_controller
		}
	} {
		name = cityfall.72.b
		trigger = {
			tag = event_target:new_controller
		}
	} {
		name = cityfall.72.c
		trigger = {
			NOT = {
				tag = event_target:old_controller event_target:new_controller
			}
		}
	}
}
### Entity: Idea
Component: MPL_civil_war_isr
Constructs: removal_cost
Source: game
File: common/ideas/mandate_of_palestine.txt

Code:
MPL_civil_war_isr = {
	allowed = {
		always = no
	}
	removal_cost = -1
	picture = MEX_politicised_army_2
	targeted_modifier = {
		tag = PAL
		attack_bonus_against = 0.1
		defense_bonus_against = 0.1
		breakthrough_bonus_against = 0.1
	}
}
### Entity: National Focus
Tree: can_focus
Component: CAN_crown_corporations
Constructs: has_completed_focus, completion_reward, cancel_if_invalid
Source: game
File: common/national_focus/canada.txt

Code:
focus = {
	id = CAN_crown_corporations
	icon = GFX_goal_generic_construct_civ_factory
	x = 3
	y = 0
	relative_position_id = CAN_rowell_sirois_commission
	cost = 5
	ai_will_do = {
		factor = 25
		modifier = {
			factor = 3
			has_completed_focus = CAN_rowell_sirois_commission
		}
	}
	available = {

	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = yes
	completion_reward = {
		custom_effect_tooltip = available_political_advisor
		show_ideas_tooltip = CAN_c_d_howe
	}
}
### Entity: Character
Component: INS_achmad_soebardjo
Constructs: has_completed_focus, limit, has_cosmetic_tag
Source: game
File: common/characters/INS.txt

Code:
INS_achmad_soebardjo = {
	name = INS_achmad_soebardjo
	portraits = {
		army = {
			small = GFX_portrait_INS_achmad_soebardjo_small
		}
	}
	advisor = {
		slot = political_advisor
		cost = 100
		idea_token = INS_achmad_soebardjo
		allowed = {
			OR = {
				original_tag = INS HOL
			}
		}
		visible = {
			OR = {
				original_tag = INS
				AND = {
					original_tag = HOL
					has_cosmetic_tag = INS_UNION
				}
			} {
				INS_character_republic_founded_check_VISIBLE = yes
				has_completed_focus = INSHOL_nationalist_coallition
			}
		}
		available = {
			if = {
				limit = {
					original_tag = INS
				}
				OR = {
					has_completed_focus = INS_the_declaration_of_independence INSHOL_nationalist_coallition
				}
			}
		}
		traits = {
			TAOG_republic_foreign_minister
		}
	}
}
### Entity: National Focus
Tree: sia_focus
Component: SIA_the_songsuradet_rebellion
Constructs: has_completed_focus, prerequisite, limit, completion_reward
Source: game
File: common/national_focus/siam.txt

Code:
focus = {
	id = SIA_the_songsuradet_rebellion
	icon = GFX_focus_SIA_the_songsuradet_rebellion
	x = -1
	y = 1
	relative_position_id = SIA_look_to_european_fascism
	prerequisite = {
		focus = SIA_look_to_european_fascism
	}
	cost = 10
	ai_will_do = {
		factor = 10
	}
	available = {

	}
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
	completion_reward = {
		if = {
			limit = {
				has_completed_focus = SIA_support_songsuradets_military_clique
			}
			country_event = {
				id = siam.6
				hours = 2
			}
			custom_effect_tooltip = SIA_the_songsuradet_rebellion_alt_tt
		}
		else = {
			country_event = {
				id = siam.3
				hours = 2
			}
			custom_effect_tooltip = SIA_the_songsuradet_rebellion_historical_tt SIA_the_songsuradet_rebellion_historical_tt3 newline_tt SIA_the_songsuradet_rebellion_historical_tt2
			show_ideas_tooltip = idea_SIA_purged_senior_military idea_SIA_cemented_control
		}
	}
}
### Entity: National Focus
Tree: raj_focus
Component: RAJ_the_punjab_accord
Constructs: prerequisite, completion_reward, add_timed_idea, add_ace, unlock_decision_tooltip
Source: game
File: common/national_focus/india_goe.txt

Code:
focus = {
	id = RAJ_the_punjab_accord
	icon = GFX_focus_RAJ_sikh_religious_guarantees
	prerequisite = {
		focus = RAJ_the_indian_parliament RAJ_the_integrity_of_india_act
	}
	x = 1
	y = 1
	relative_position_id = RAJ_the_indian_parliament
	cost = 10
	search_filters = {
		FOCUS_FILTER_ARMY_XP FOCUS_FILTER_TFV_AUTONOMY FOCUS_FILTER_MILITARY_CHARACTER FOCUS_FILTER_POLITICAL_CHARACTER FOCUS_FILTER_MANPOWER
	}
	completion_reward = {
		add_timed_idea = {
			idea = idea_sikh_inclusivity_policies
			days = 180
		}
		custom_effect_tooltip = generic_skip_one_line_tt available_political_advisor generic_skip_one_line_tt generic_skip_one_line_tt
		show_ideas_tooltip = RAJ_GOE_tara_singh
		show_unit_leaders_tooltip = RAJ_GOE_ishar_singh RAJ_GOE_parkash_singh
		add_ace = {
			type = fighter_good
			name = Mohinder
			surname = Pujji
			callsign = Singh
		}
		unlock_decision_tooltip = RAJ_GOE_sikh_recruitment
	}
}
### Entity: Character
Component: NOR_hans_ystgaard
Constructs: has_completed_focus, has_government
Source: game
File: common/characters/NOR.txt

Code:
NOR_hans_ystgaard = {
	name = NOR_hans_ystgaard
	portraits = {
		civilian = {
			small = GFX_portrait_generic_nordic_political_1_small
		}
	}
	allowed_civil_war = {
		NOR_char_cw_labor_only = yes
	}
	advisor = {
		slot = political_advisor
		idea_token = NOR_hans_ystgaard
		allowed = {
			NOR_AAT = yes
		}
		visible = {
			OR = {
				has_government = democratic
				has_completed_focus = NOR_prosecute_the_nkp
			}
		}
		available = {
			OR = {
				has_government = democratic
				has_completed_focus = NOR_prosecute_the_nkp
			}
		}
		traits = {
			NOR_minister_of_agriculture
		}
	}
}
### Entity: Order of Battle
Component: 30th Vodka Division
Constructs: division_template
Source: game
File: history/units/r56w_WHY.txt

Code:
division = {
	name = 30th Vodka Division
	location = 3513
	division_template = Vodka and Crumpets
	start_experience_factor = 0.75
}
### Entity: Event
Component: bftb_bulgaria_balkan_federation.1
Constructs: is_triggered_only
Source: game
File: events/BFTB_Bulgaria.txt

Code:
country_event = {
	id = bftb_bulgaria_balkan_federation.1
	title = bftb_bulgaria_balkan_federation.1.t
	desc = bftb_bulgaria_balkan_federation.1.desc
	picture = GFX_report_event_bul_soviet_army_sofia
	is_triggered_only = yes
	option = {
		name = bftb_bulgaria_balkan_federation.1.a
		custom_effect_tooltip = bftb_bulgaria_balkan_federation_project_ready_tt
	}
}
### Entity: Event
Component: malaysia.25
Constructs: is_triggered_only, ai_chance, add_political_power, declare_war_on, puppet_wargoal_focus
Source: game
File: events/malaysia.txt

Code:
country_event = {
	id = malaysia.25
	title = malaysia.25.t
	desc = malaysia.25.desc
	is_triggered_only = yes
	option = {
		name = malaysia.25.a
		ai_chance = {
			base = 60
		}
		add_political_power = -75
	} {
		name = malaysia.25.b
		ai_chance = {
			base = 40
		}
		declare_war_on = {
			target = MAL
			type = puppet_wargoal_focus
		}
	}
}
### Entity: Idea
Component: MAN_mobilization
Constructs: removal_cost
Source: game
File: common/ideas/manchukou.txt

Code:
MAN_mobilization = {
	allowed = {
		always = no
	}
	removal_cost = -1
	picture = generic_war_preparation
	modifier = {
		experience_gain_army = 0.1
		conscription = 0.01
	}
}
### Entity: Idea
Component: BEL_maritime_phoenix_ns
Constructs: removal_cost, equipment_bonus
Source: game
File: common/ideas/belgium.txt

Code:
BEL_maritime_phoenix_ns = {
	removal_cost = -1
	picture = BEL_maritime_phoenix
	allowed = {
		OR = {
			original_tag = BEL COG
		}
	}
	equipment_bonus = {

	}
	modifier = {
		industrial_capacity_dockyard = 0.2
		navy_max_range_factor = 0.25
		naval_morale = 0.15
		naval_coordination = 0.1
		repair_speed_factor = 0.1
	}
}
### Entity: National Focus
Tree: isr_focus
Component: ISR_proffesional_army_training
Constructs: prerequisite, limit, add_ideas, completion_reward, has_rule, set_rule
Source: game
File: common/national_focus/israel.txt

Code:
focus = {
	id = ISR_proffesional_army_training
	icon = GFX_goal_generic_army_professionalism
	prerequisite = {
		focus = ISR_formalize_military
	}
	text = MPL_elite_soldier_training
	relative_position_id = ISR_formalize_military
	x = 0
	y = 1
	cost = 10
	completion_reward = {
		add_ideas = MPL_professional_army
		if = {
			limit = {
				NOT = {
					has_rule = can_send_volunteers
				}
			}
			set_rule = {
				can_send_volunteers = yes
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_MILITARY_IMPROVEMENT
	}
}
### Entity: National Focus
Tree: ger_focus
Component: GER_shared_rd_programs
Constructs: prerequisite, limit, completion_reward, is_subject, add_to_tech_sharing_group, every_other_country, is_in_faction_with
Source: game
File: common/national_focus/germany.txt

Code:
focus = {
	id = GER_shared_rd_programs
	icon = GFX_goal_tfv_generic_tech_sharing
	prerequisite = {
		focus = GER_reverse_the_brain_drain
	} {
		focus = GER_central_european_alliance
	}
	available = {
		is_subject = no
	}
	x = 7
	y = 1
	relative_position_id = GER_central_european_alliance
	cost = 5
	ai_will_do = {
		factor = 3
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
	completion_reward = {
		add_to_tech_sharing_group = ger_dem_research
		every_other_country = {
			limit = {
				is_in_faction_with = GER
			}
			add_to_tech_sharing_group = ger_dem_research
		}
	}
}
### Entity: Character
Component: former_leader_of_red_finland
Constructs: war_support_factor
Source: game
File: common/country_leader/00_traits.txt

Code:
former_leader_of_red_finland = {
	random = no
	sprite = 13
	production_speed_industrial_complex_factor = 0.1
	production_speed_dockyard_factor = 0.1
	war_support_factor = 0.05
}
### Entity: National Focus
Tree: den_focus
Component: DEN_Icelandic_path_to_Socialism
Constructs: prerequisite, has_government, has_war_with, completion_reward, is_subject, add_popularity, add_timed_idea
Source: game
File: common/national_focus/r56_denmark.txt

Code:
focus = {
	id = DEN_Icelandic_path_to_Socialism
	icon = GFX_focus_ICE_embrace_the_workers_revolution
	cost = 5
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_ALLIANCE
	}
	ai_will_do = {
		factor = 1
	}
	prerequisite = {
		focus = DEN_Defy_Russia DEN_Alliegence_to_Moscow
	}
	bypass = {
		ICE = {
			OR = {
				has_government = communism
				exists = no
				has_war_with = DEN
				DEN = {
					is_subject = yes
				}
			}
		}
	}
	x = -4
	y = 2
	relative_position_id = DEN_DKP_Takeover
	completion_reward = {
		ICE = {
			add_popularity = {
				ideology = communism
				popularity = 0.15
			}
			add_timed_idea = {
				idea = communist_influence
				days = 270
			}
		}
	}
}
### Entity: Order of Battle
Component: instant_effect
Constructs: add_equipment_production
Source: game
File: history/units/YUG_1939.txt

Code:
instant_effect = {
	add_equipment_production = {
		equipment = {
			type = infantry_equipment_1
			creator = YUG
		}
		requested_factories = 1
		progress = 0.6
		efficiency = 100
		industrial_manufacturer = mio:YUG_zastava_arms_organization
	} {
		equipment = {
			type = support_equipment_1
			creator = YUG
		}
		requested_factories = 1
		progress = 0.8
		efficiency = 100
	}
}
### Entity: Unit Leader
Component: unpopular
Constructs: gain_xp, is_army_leader, has_idea, is_navy_leader
Source: game
File: common/unit_leader/r56_traits.txt

Code:
unpopular = {
	type = land
	trait_type = personality_trait
	allowed = {
		always = no
	}
	gain_xp = {
		always = no
	}
	modifier = {
		promote_cost_factor = 0.5
		reassignment_duration_factor = -0.5
	}
	new_commander_weight = {
		factor = 1
		modifier = {
			is_army_leader = yes
			FROM = {
				has_idea = best_of_the_best_spirit
			}
			factor = 0
		} {
			is_navy_leader = yes
			FROM = {
				has_idea = best_of_the_best_naval_academy_spirit
			}
			factor = 0
		} {
			FROM = {
				has_idea = academy_scholarships_spirit
			}
			factor = 0
		} {
			FROM = {
				has_idea = naval_academy_scholarships_spirit
			}
			factor = 0
		}
	}
}
### Entity: Character
Component: ELS_humbert_aberle
Source: game
File: common/characters/ELS.txt

Code:
ELS_humbert_aberle = {
	advisor = {
		slot = air_chief
		idea_token = ELS_humbert_aberle
		allowed = {
			original_tag = ELS
		}
		traits = {
			air_chief_night_operations_2
		}
		cost = 100
		ai_will_do = {
			factor = 1.0
		}
	}
	name = Humbert Aberle
	portraits = {
		army = {
			small = GFX_idea_generic_air_south_america_3
		}
	}
}
### Entity: Shared Focus
Tree: chi_focus
Component: CHI_sea_hire_chennault
Constructs: shared_focus, prerequisite, limit, completion_reward, is_subject, cancel_if_invalid, has_character, set_nationality
Source: game
File: common/national_focus/china_shared_TSR.txt

Code:
shared_focus = {
	id = CHI_sea_hire_chennault
	icon = GFX_focus_generic_military_mission
	prerequisite = {
		focus = CHI_sea_mission_to_the_us
	}
	x = -3
	y = 3
	relative_position_id = CHI_sea_mission_to_the_us
	cost = 5
	ai_will_do = {
		factor = 1
		modifier = {
			factor = 4
			tag = CHI
		}
	}
	available = {
		USA_will_support = yes
		is_subject = no
	}
	bypass = {

	}
	cancel_if_invalid = no
	continue_if_invalid = yes
	available_if_capitulated = no
	completion_reward = {
		IF = {
			limit = {
				NOT = {
					has_character = CHI_claire_lee_chennault
				}
			}
			CHI = {
				CHI_claire_lee_chennault = {
					set_nationality = ROOT
				}
			}
		}
		custom_effect_tooltip = available_theorist available_chief_of_airforce
		CHI = {
			show_ideas_tooltip = CHI_claire_lee_chennault_theorist
		} {
			show_ideas_tooltip = CHI_claire_lee_chennault_ground_support
		}
	}
}