Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: National Focus
Tree: cze_focus
Component: CZE_legacy_of_the_kriegsmarine
Constructs: prerequisite, completion_reward, is_coastal, is_controlled_by, cancel_if_invalid, add_mastery_bonus, add_to_variable, add_tech_bonus
Source: game
File: common/national_focus/czechoslovakia_mu.txt

Code:
focus = {
	id = CZE_legacy_of_the_kriegsmarine
	icon = GFX_focus_generic_large_navy
	prerequisite = {
		focus = CZE_skoda_naval_yards
	}
	mutually_exclusive = {
		focus = CZE_leverage_gunboat_experience CZE_wolfs_of_bohemia
	}
	relative_position_id = CZE_skoda_naval_yards
	x = -3
	y = 1
	cost = 5
	ai_will_do = {
		factor = 1
	}
	available = {
		any_state = {
			is_coastal = yes
			is_controlled_by = ROOT
		}
	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	completion_reward = {
		add_mastery_bonus = {
			name = CZE_legacy_of_the_kriegsmarine
			bonus = 0.25
			days = 365
			track = capital_ships
		}
		custom_effect_tooltip = generic_skip_one_line_tt generic_skip_one_line_tt CZE_modify_ceskoslovenske_alecne_lodstvo_dynamic_modifier_tt generic_skip_one_line_tt
		navy_experience = 25
		add_to_variable = {
			CZE_ceskoslovenske_alecne_lodstvo_navy_capital_ship_attack_factor = 0.1
			tooltip = navy_capital_ship_attack_factor_tt
		} {
			CZE_ceskoslovenske_alecne_lodstvo_screening_without_screens = 0.1
			tooltip = screening_without_screens_tt
		}
		add_tech_bonus = {
			name = CZE_legacy_of_the_kriegsmarine
			bonus = 0.25
			uses = 1
			category = bb_tech
		}
		add_doctrine_cost_reduction = {
			name = CZE_legacy_of_the_kriegsmarine
			cost_reduction = 0.25
			uses = 2
			category = fleet_in_being_tree
		}
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH FOCUS_FILTER_NAVY_XP
	}
}
### Entity: Order of Battle
Component: air_wing_46
Source: game
File: history/units/ROM_1936_air_legacy.txt

Code:
air_wings = {
	46 = {
		fighter_equipment_0 = {
			owner = ROM
			creator = POL
			amount = 48
		}
	}
}
### Entity: National Focus
Tree: prc_focus
Component: PRC_strengthen_the_central_secretariat
Constructs: completion_reward, add_political_power, cancel_if_invalid
Source: game
File: common/national_focus/china_communist.txt

Code:
focus = {
	id = PRC_strengthen_the_central_secretariat
	icon = GFX_goal_generic_intelligence_exchange
	x = 2
	y = 0
	cost = 10
	ai_will_do = {
		factor = 4
	}
	available = {

	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
	completion_reward = {
		add_political_power = 120
	}
}
### Entity: AI Strategy
Component: r56_com_hate_anti_com_GER
Constructs: has_government, has_country_leader_with_trait, send_volunteers_desire
Source: game
File: common/ai_strategy/r56_default.txt

Code:
r56_com_hate_anti_com_GER = {
	allowed = {
		ROOT = {
			exists = yes
		}
	}
	enable = {
		ROOT = {
			has_government = communism
			exists = yes
		}
		GER = {
			exists = yes
			OR = {
				has_country_leader_with_trait = r56_trait_opposed_to_communism anti_communist
			}
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = send_volunteers_desire
		id = GER
		value = -800
	} {
		type = support
		id = GER
		value = -25
	} {
		type = befriend
		id = GER
		value = -25
	} {
		type = alliance
		id = GER
		value = -75
	}
}
### Entity: Scripted Effect
Component: ITA_missiolinis_add_to_successful_missions
Constructs: add_to_variable
Source: game
File: common/scripted_effects/ITA_scripted_effects.txt

Code:
ITA_missiolinis_add_to_successful_missions = {
	add_to_variable = {
		ITA_missiolinis_successful_missions = 1
	}
	career_profile_step_missiolini = yes
}
### Entity: Event
Component: DOD_hungary.160
Constructs: is_triggered_only, ai_chance, limit, has_tech, has_dlc
Source: game
File: events/DOD_Hungary.txt

Code:
country_event = {
	id = DOD_hungary.160
	title = DOD_hungary.160.t
	desc = DOD_hungary.160.desc
	picture = GFX_report_event_generic_bombers
	is_triggered_only = yes
	option = {
		name = DOD_hungary.160.a
		trigger = {
			OR = {
				GER = {
					is_available_cas_HUN = yes
				}
				FRA = {
					is_available_cas_HUN = yes
				}
				ITA = {
					is_available_cas_HUN = yes
				}
				ENG = {
					is_available_cas_HUN = yes
				}
				USA = {
					is_available_cas_HUN = yes
				}
			}
		}
		ai_chance = {
			factor = 50
			modifier = {
				has_tech = CAS1
				add = -10
			} {
				has_tech = CAS2
				add = -10
			} {
				has_tech = CAS3
				factor = 0
			} {
				has_tech = basic_small_airframe
				add = -10
			} {
				has_tech = improved_small_airframe
				add = -10
			} {
				has_tech = advanced_small_airframe
				factor = 0
			}
		}
		if = {
			limit = {
				NOT = {
					has_dlc = By Blood Alone
				}
			}
			country_event = DOD_hungary.161
		}
		else = {
			country_event = DOD_hungary.1611
		}
	} {
		name = DOD_hungary.160.b
		trigger = {
			OR = {
				GER = {
					is_available_tac_HUN = yes
				}
				FRA = {
					is_available_tac_HUN = yes
				}
				ITA = {
					is_available_tac_HUN = yes
				}
				ENG = {
					is_available_tac_HUN = yes
				}
				USA = {
					is_available_tac_HUN = yes
				}
			}
		}
		ai_chance = {
			factor = 50
			modifier = {
				has_tech = tactical_bomber1
				add = -10
			} {
				has_tech = tactical_bomber2
				add = -10
			} {
				has_tech = tactical_bomber3
				factor = 0
			} {
				has_tech = basic_medium_airframe
				add = -10
			} {
				has_tech = improved_medium_airframe
				add = -10
			} {
				has_tech = advanced_medium_airframe
				factor = 0
			}
		}
		if = {
			limit = {
				NOT = {
					has_dlc = By Blood Alone
				}
			}
			country_event = DOD_hungary.162
		}
		else = {
			country_event = DOD_hungary.1621
		}
	}
}
### Entity: National Focus
Tree: per_focus
Component: PER_luftwaffe_planes
Constructs: add_equipment_to_stockpile, prerequisite, limit, completion_reward, has_dlc, add_equipment_subsidy
Source: game
File: common/national_focus/persia.txt

Code:
focus = {
	id = PER_luftwaffe_planes
	icon = GFX_focus_PER_luftwaffe_planes
	prerequisite = {
		focus = PER_pilot_training
	}
	x = 1
	y = 1
	relative_position_id = PER_pilot_training
	mutually_exclusive = {
		focus = PER_raf_planes
	}
	cost = 5
	ai_will_do = {
		factor = 15
	}
	search_filters = {
		FOCUS_FILTER_INTERNATIONAL_TRADE
	}
	completion_reward = {
		IF = {
			limit = {
				has_dlc = Arms Against Tyranny
			}
			add_equipment_subsidy = {
				cic = 1000
				equipment_type = small_plane_airframe
				seller_tags = {
					GER
				}
			} {
				cic = 1000
				equipment_type = medium_plane_airframe
				seller_tags = {
					GER
				}
			} {
				cic = 1000
				equipment_type = large_plane_airframe
				seller_tags = {
					GER
				}
			}
			custom_effect_tooltip = generic_skip_one_line_tt
		}
		if = {
			limit = {
				has_dlc = By Blood Alone
			}
			add_equipment_to_stockpile = {
				type = small_plane_airframe_0
				amount = 25
				producer = GER
			} {
				type = small_plane_cas_airframe_0
				amount = 25
				producer = GER
			} {
				type = medium_plane_airframe_0
				amount = 25
				producer = GER
			}
		}
		else = {
			add_equipment_to_stockpile = {
				type = fighter_equipment_0
				amount = 25
				producer = GER
			} {
				type = CAS_equipment_1
				amount = 25
				producer = GER
			} {
				type = tac_bomber_equipment_0
				amount = 25
				producer = GER
			}
		}
	}
}
### Entity: Faction
Component: faction_template_italy_empire_faction
Constructs: change_leader_rule_manifest_below_35, change_leader_rule_industry
Source: game
File: common/factions/templates/italian_factions.txt

Code:
faction_template_italy_empire_faction = {
	name = italy_empire_faction
	icon = GFX_faction_logo_generic_fascist
	manifest = faction_manifest_pax_romana
	goals = {
		faction_goal_secure_european_continent faction_goal_resource_control
	}
	default_rules = {
		joining_rule_non_communist faction_peace_rule_conquest_focus change_leader_rule_manifest_below_35 change_leader_rule_industry
	}
}
### Entity: National Focus
Tree: eth_focus
Component: ETH_urban_factories
Constructs: prerequisite, completion_reward, random_owned_controlled_state, add_extra_state_shared_building_slots, add_building_construction
Source: game
File: common/national_focus/r56_ethiopia.txt

Code:
focus = {
	id = ETH_urban_factories
	icon = GFX_focus_generic_industry_2
	prerequisite = {
		focus = ETH_land_development
	}
	relative_position_id = ETH_land_development
	x = 0
	y = 1
	cost = 10
	ai_will_do = {
		factor = 0.6
	}
	completion_reward = {
		random_owned_controlled_state = {
			prioritize = {
				271
			}
			add_extra_state_shared_building_slots = 2
			add_building_construction = {
				type = industrial_complex
				level = 2
				instant_build = yes
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY
	}
}
### Entity: Idea
Component: COG_cattle_chiefs
Constructs: removal_cost
Source: game
File: common/ideas/congo.txt

Code:
COG_cattle_chiefs = {
	picture = generic_agrarian_society
	allowed = {
		original_tag = COG
	}
	allowed_civil_war = {
		always = yes
	}
	removal_cost = -1
	modifier = {
		supply_consumption_factor = -0.1
		consumer_goods_factor = -0.1
	}
}
### Entity: Character
Component: COS_roberto_juarez_camposino
Source: game
File: common/characters/COS.txt

Code:
COS_roberto_juarez_camposino = {
	advisor = {
		slot = navy_chief
		idea_token = COS_roberto_juarez_camposino
		allowed = {
			original_tag = COS
		}
		traits = {
			navy_chief_decisive_battle_2
		}
		cost = 100
		ai_will_do = {
			factor = 1.0
		}
	}
	name = Roberto Juarez Camposino
	portraits = {
		army = {
			small = GFX_idea_generic_navy_south_america_3
		}
	}
}
### Entity: National Focus
Tree: bul_focus
Component: BUL_acquire_modern_tools
Constructs: add_ideas, completion_reward, add_tech_bonus
Source: game
File: common/national_focus/bulgaria.txt

Code:
focus = {
	id = BUL_acquire_modern_tools
	icon = GFX_goal_generic_production2
	x = 12
	y = 0
	cost = 5
	available = {

	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY FOCUS_FILTER_RESEARCH
	}
	completion_reward = {
		add_ideas = BUL_national_industry_01
		add_tech_bonus = {
			name = BUL_acquire_modern_tools
			bonus = 0.5
			uses = 1
			category = industry
		}
	}
}
### Entity: Unit Template
Component: LIB_BC_HISTORICAL
Source: game
File: common/units/names_ships/LIB_ship_names.txt

Code:
LIB_BC_HISTORICAL = {
	name = NAME_THEME_HISTORICAL_BC
	for_countries = {
		LIB
	}
	type = ship
	ship_types = {
		ship_hull_heavy battle_cruiser
	}
	prefix = LRS 
	fallback_name = Battlecruiser %d
	unique = {
		Monrovia Freedom
	}
}
### Entity: National Focus
Tree: ast_focus
Component: AST_a_rational_request
Constructs: prerequisite, completion_reward, is_in_faction_with, random_days, add_trait_to_theorist_tt, remove_trait, add_trait
Source: game
File: common/national_focus/australia_taog.txt

Code:
focus = {
	id = AST_a_rational_request
	icon = GFX_focus_generic_singapore_2
	prerequisite = {
		focus = AST_ratify_westminster_adoption_act
	}
	relative_position_id = AST_ratify_westminster_adoption_act
	x = 1
	y = 1
	cost = 10
	available = {
		ENG = {
			controls_state = 1021
		}
		is_in_faction_with = ENG
		compare_autonomy_progress_ratio = > 0.5
	}
	bypass = {

	}
	available_if_capitulated = no
	completion_reward = {
		ENG = {
			country_event = {
				id = AST_diplomatic_events.4
				days = 7
				random_days = 3
			}
		}
		custom_effect_tooltip = if_they_accept_tt generic_skip_one_line_tt add_trait_to_theorist_tt
		effect_tooltip = {
			1021 = {
				transfer_state_to = AST
			}
			711 = {
				transfer_state_to = AST
			}
			712 = {
				transfer_state_to = AST
			}
		}
		hidden_effect = {
			remove_trait = {
				character = AST_henry_wynter
				slot = theorist
				trait = military_theorist
			}
		}
		add_trait = {
			character = AST_henry_wynter
			slot = theorist
			trait = AST_vindicated_realist
		}
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_MILITARY_CHARACTER
	}
}
### Entity: Idea
Component: CZE_german_mon_infiltration_1
Constructs: removal_cost, neutrality_drift
Source: game
File: common/ideas/r56_czechoslovakia.txt

Code:
CZE_german_mon_infiltration_1 = {
	removal_cost = -1
	picture = HUN_hungarian_monarchy_habsburg
	allowed = {
		TAG = ROM
		always = no
	}
	allowed_civil_war = {
		always = yes
	}
	modifier = {
		neutrality_drift = 0.15
		stability_weekly = -0.001
		drift_defence_factor = -0.1
	}
}
### Entity: Unit Leader
Component: SWE_promoted_away_from_power
Source: game
File: common/unit_leader/SWE_traits.txt

Code:
SWE_promoted_away_from_power = {
	type = {
		land
	}
	trait_type = personality_trait
	allowed = {
		FROM = {
			original_tag = SWE
		}
	}
	new_commander_weight = {
		factor = 0
	}
	logistics_skill = -1
	planning_skill = -1
	modifier = {
		attrition = 0.04
		supply_consumption_factor = 0.05
	}
}
### Entity: Event
Component: SEA_warlords.54
Constructs: is_triggered_only, has_completed_focus, limit, set_country_flag, has_country_leader
Source: game
File: events/SEA_Warlords.txt

Code:
country_event = {
	id = SEA_warlords.54
	title = SEA_warlords.54.t
	desc = SEA_warlords.54.desc
	picture = GFX_report_event_chinese_officers
	is_triggered_only = yes
	option = {
		name = SEA_warlords.54.a
		1032 = {
			transfer_state_to = ROOT
		}
		set_country_flag = PRC_has_yanan_flag
		if = {
			limit = {
				CHI = {
					has_completed_focus = CHI_strengthening_our_resolve
					OR = {
						NOT = {
							has_country_leader = {
								ruling_only = yes
								character = CHI_chiang_kaishek
							}
						}
						fascism = > 0.2
					}
				}
			}
			CHI = {
				country_event = {
					id = SEA_warlords.100
					days = 1
				}
			}
		}
	}
}
### Entity: Event
Component: news.227
Constructs: has_war_with, fire_only_once, has_capitulated
Source: game
File: events/NewsEvents.txt

Code:
news_event = {
	id = news.227
	title = news.227.t
	desc = news.227.d
	picture = GFX_news_event_generic_sign_treaty1
	fire_only_once = yes
	trigger = {
		tag = USA
		has_war_with = GER
		divisions_in_state = {
			state = 64
			size = > 0
		}
		NOT = {
			GER = {
				has_capitulated = yes
			}
		} {
			SOV = {
				divisions_in_state = {
					state = 64
					size = > 0
				}
			}
		}
	}
	mean_time_to_happen = {
		months = 60
	}
	option = {
		name = news.227.a
	}
}
### Entity: National Focus
Tree: fin_focus
Component: FIN_finnish_irredentism
Constructs: prerequisite, completion_reward, is_subject, add_to_variable, add_claim_by
Source: game
File: common/national_focus/finland.txt

Code:
focus = {
	id = FIN_finnish_irredentism
	icon = GFX_focus_generic_attack_finland
	prerequisite = {
		focus = FIN_finnish_legion_of_honor
	} {
		focus = FIN_tactical_wargaming_department
	}
	x = 1
	y = 1
	relative_position_id = FIN_finnish_legion_of_honor
	cost = 10
	available = {
		is_subject = no
	}
	search_filters = {
		FOCUS_FILTER_WAR_SUPPORT FOCUS_FILTER_POLITICAL_CHARACTER FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY
	}
	completion_reward = {
		FIN_bop_very_low_increase_effect = yes
		custom_effect_tooltip = FIN_modify_fascist_regime_ns_intro FIN_finnish_irredentism_take_states_tt FIN_heimosodat_dec_tt available_political_advisor
		add_to_variable = {
			FIN_fascist_regime_war_support_factor = 0.05
			tooltip = war_support_factor_tt
		} {
			FIN_fascist_regime_justify_war_goal_time = -0.35
			tooltip = justify_war_goal_time_tt
		}
		213 = {
			add_claim_by = ROOT
		}
		215 = {
			add_claim_by = ROOT
		}
		216 = {
			add_claim_by = ROOT
		}
		show_ideas_tooltip = FIN_ilmari_kianto
	}
}
### Entity: Scripted Effect
Component: EAI_MAP_set_province_neighbors
Constructs: add_to_array
Source: game
File: common/scripted_effects/EAI_MAP_province_neighbors.txt

Code:
EAI_MAP_set_province_neighbors = {
	add_to_array = {
		global.EAI_MAP_province_neighbors_5834 = 13254
	} {
		global.EAI_MAP_province_neighbors_5834 = 5860
	} {
		global.EAI_MAP_province_neighbors_5834 = 5808
	} {
		global.EAI_MAP_province_neighbors_13254 = 5834
	} {
		global.EAI_MAP_province_neighbors_13254 = 8662
	} {
		global.EAI_MAP_province_neighbors_13254 = 8608
	} {
		global.EAI_MAP_province_neighbors_13254 = 13204
	} {
		global.EAI_MAP_province_neighbors_13254 = 5860
	} {
		global.EAI_MAP_province_neighbors_8662 = 13254
	} {
		global.EAI_MAP_province_neighbors_8662 = 7855
	} {
		global.EAI_MAP_province_neighbors_8662 = 8608
	} {
		global.EAI_MAP_province_neighbors_8662 = 8688
	} {
		global.EAI_MAP_province_neighbors_8662 = 2556
	} {
		global.EAI_MAP_province_neighbors_8662 = 8636
	} {
		global.EAI_MAP_province_neighbors_7855 = 8662
	} {
		global.EAI_MAP_province_neighbors_7855 = 13069
	} {
		global.EAI_MAP_province_neighbors_7855 = 3052
	} {
		global.EAI_MAP_province_neighbors_7855 = 1830
	} {
		global.EAI_MAP_province_neighbors_7855 = 8688
	} {
		global.EAI_MAP_province_neighbors_7855 = 2991
	} {
		global.EAI_MAP_province_neighbors_7855 = 8713
	} {
		global.EAI_MAP_province_neighbors_7855 = 8383
	} {
		global.EAI_MAP_province_neighbors_7855 = 8513
	} {
		global.EAI_MAP_province_neighbors_7855 = 2706
	} {
		global.EAI_MAP_province_neighbors_13069 = 7855
	} {
		global.EAI_MAP_province_neighbors_13069 = 7869
	} {
		global.EAI_MAP_province_neighbors_13069 = 1830
	} {
		global.EAI_MAP_province_neighbors_13069 = 10679
	} {
		global.EAI_MAP_province_neighbors_13069 = 4848
	} {
		global.EAI_MAP_province_neighbors_13069 = 13091
	} {
		global.EAI_MAP_province_neighbors_7869 = 13069
	} {
		global.EAI_MAP_province_neighbors_7869 = 3606
	} {
		global.EAI_MAP_province_neighbors_7869 = 4848
	} {
		global.EAI_MAP_province_neighbors_7869 = 7891
	} {
		global.EAI_MAP_province_neighbors_7869 = 10707
	} {
		global.EAI_MAP_province_neighbors_7869 = 1872
	} {
		global.EAI_MAP_province_neighbors_7869 = 13203
	} {
		global.EAI_MAP_province_neighbors_3606 = 7869
	} {
		global.EAI_MAP_province_neighbors_3606 = 10703
	} {
		global.EAI_MAP_province_neighbors_3606 = 7891
	} {
		global.EAI_MAP_province_neighbors_10703 = 3606
	} {
		global.EAI_MAP_province_neighbors_10703 = 7696
	} {
		global.EAI_MAP_province_neighbors_10703 = 7891
	} {
		global.EAI_MAP_province_neighbors_10703 = 
# ... (truncated)
### Entity: Modding Documentation
Construct: air_experience
Source: vanilla_docs
File: documentation/dynamic_variables_documentation.md

Doc:
### air_experience
* description: air experience of a country
### Entity: Character
Component: GRE_marinos_mitralexis
Constructs: has_dlc
Source: game
File: common/characters/GRE.txt

Code:
GRE_marinos_mitralexis = {
	name = GRE_marinos_mitralexis
	portraits = {
		army = {
			small = GFX_idea_generic_air_warfare_theorist_southamerican_2d
		}
	}
	advisor = {
		cost = 100
		slot = theorist
		idea_token = GRE_marinos_mitralexis
		ledger = air
		allowed = {
			original_tag = GRE
			has_dlc = Battle for the Bosporus
		}
		traits = {
			air_warfare_theorist
		}
	}
}
### Entity: Country History
Country: DON
Component: DON_misc
Constructs: limit, set_technology, set_research_slots, has_dlc
Source: game
File: history/countries/DON - Don Republic.txt

Code:
# Misc for DON
capital = 218
set_research_slots = 2
if = {
	limit = {
		NOT = {
			has_dlc = By Blood Alone
		}
	}
	set_technology = {
		early_fighter = 1
	}
}
{
	limit = {
		NOT = {
			has_dlc = No Step Back
		}
	}
	set_technology = {
		gwtank = 1
		basic_light_tank = 1
	}
}
{
	limit = {
		has_dlc = No Step Back
	}
	set_technology = {
		gwtank_chassis = 1
		basic_light_tank_chassis = 1
	}
}
{
	limit = {
		not = {
			has_dlc = Man the Guns
		}
	}
	set_technology = {
		early_destroyer = 1
		early_light_cruiser = 1
		early_submarine = 1
	}
}
{
	limit = {
		has_dlc = Man the Guns
	}
	set_technology = {
		early_ship_hull_submarine = 1
		early_ship_hull_light = 1
		early_ship_hull_cruiser = 1
		basic_battery = 1
		basic_torpedo = 1
	}
}
### Entity: Idea
Component: BAY_wi
Source: game
File: common/ideas/bavaria.txt

Code:
BAY_wi = {
	picture = generic_political_advisor_europe_3
	allowed = {
		original_tag = BAY
	}
	traits = {
		war_industrialist
	}
}
### Entity: Event
Component: AUS_political_events.67
Constructs: is_triggered_only, ai_chance
Source: game
File: events/WUW_Austria.txt

Code:
country_event = {
	id = AUS_political_events.67
	title = AUS_political_events.67.t
	desc = AUS_political_events.67.desc
	picture = GFX_report_event_generic_handshake
	is_triggered_only = yes
	option = {
		name = AUS_political_events.67.a
		ai_chance = {
			base = 10
		}
		puppet = FROM
		FROM = {
			AUS_set_danubian_cosmetic_for_country = yes
		}
	}
}
### Entity: National Focus
Component: italian_east_africa
Constructs: shared_focus, division_template, add_equipment_to_stockpile, prerequisite, limit, add_ideas, has_country_flag, completion_reward
Source: game
File: common/national_focus/r56_italian_east_africa.txt

Code:
focus_tree = {
	id = italian_east_africa
	country = {
		factor = 0
		modifier = {
			add = 20
			original_tag = AOI
		}
	}
	default = no
	reset_on_civilwar = no
	continuous_focus_position = {
		x = 1400
		y = 1000
	}
	shared_focus = GEN_Aviation_Effort GEN_Naval_Effort GEN_begin_industrial_buildup
	focus = {
		id = AOI_securing_east_africa
		icon = GFX_focus_ITA_ministry_of_italian_africa
		x = 5
		y = 0
		cost = 5
		ai_will_do = {
			factor = 50
		}
		available_if_capitulated = yes
		completion_reward = {
			add_political_power = 150
			custom_effect_tooltip = ITA_ministry_of_italian_africa_occupation_law_tt
			show_ideas_tooltip = ITA_fake_colonial_police_law
			ROOT = {
				set_occupation_law_where_available = colonial_police
			}
			if = {
				limit = {
					AND = {
						ROOT = {
							has_war_with_major = no
						}
						550 = {
							is_fully_controlled_by = ROOT
						}
						842 = {
							is_fully_controlled_by = ROOT
						}
						843 = {
							is_fully_controlled_by = ROOT
						}
						271 = {
							is_fully_controlled_by = ROOT
						}
					}
				}
				build_railway = {
					path = {
						12766 13287 2072 7944 5097 13288 5010
					}
				}
			}
			hidden_effect = {
				add_equipment_to_stockpile = {
					type = infantry_equipment
					amount = 12500
					producer = AOI
				}
				every_controlled_state = {
					limit = {
						has_resistance = yes
					}
					add_compliance = 5
					set_garrison_strength = 0.91
				}
			}
		}
		search_filters = {
			FOCUS_FILTER_POLITICAL
		}
	} {
		id = AOI_warm_climate_equipment
		icon = GFX_goal_ARG_sun
		prerequisite = {
			focus = AOI_securing_east_africa
		}
		relative_position_id = AOI_securing_east_africa
		x = 0
		y = 1
		cost = 5
		ai_will_do = {
			factor = 30
		}
		available_if_capitulated = yes
		completion_reward = {
			add_equipment_to_stockpile = {
				type = infantry_equipment
				amount = 500
			}
			add_tech_bonus = {
				name = special_forces_bonus
				bonus = 3
				uses = 1
				category = r56_desert_infantry_tech
			} {
				name = land_doc_bonus
				bonus = 1
				uses = 1
				category = summer_clothing_tech
			}
		}
		search_filters = {
			FOCUS_FILTER_RESEARCH
		}
	} {
		id = AOI_establish_a_general_staff
		icon = GFX_focus_por_luso_tropicalism
		prerequisite = {
			focus = AOI_warm_climate_equipment
		}
		relative_position_id = AOI_warm_climate_equipment
		x = 0
		y = 1
		text = ABC_e
# ... (truncated)