Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: National Focus
Tree: bul_focus
Component: BUL_the_salonika_agreement
Constructs: prerequisite, limit, every_country, has_war_with, add_opinion_modifier, completion_reward, is_subject, has_capitulated
Source: game
File: common/national_focus/bulgaria.txt

Code:
focus = {
	id = BUL_the_salonika_agreement
	prerequisite = {
		focus = BUL_legislative_elections
	}
	icon = GFX_focus_generic_befriend_greece
	relative_position_id = BUL_legislative_elections
	x = -3
	y = 1
	cost = 10
	bypass = {
		OR = {
			NOT = {
				country_exists = GRE
			}
			GRE = {
				is_subject = yes
			} {
				has_capitulated = yes
			}
		}
	}
	available = {
		country_exists = GRE
		NOT = {
			has_war_with = GRE
		}
		GRE = {
			NOT = {
				is_justifying_wargoal_against = ROOT
			}
			has_opinion = {
				target = ROOT
				value = > 24
			}
		}
		OR = {
			is_in_faction = no
			is_in_faction_with = GRE
		}
	}
	completion_reward = {
		GRE = {
			country_event = {
				id = bftb_bulgaria_greek_influence.1
				hours = 4
				random_hours = 4
			}
		} {
			add_ai_strategy = {
				type = befriend
				id = ROOT
				value = 20
			}
		}
		custom_effect_tooltip = BUL_the_salonika_agreement_event_effects_tt
		effect_tooltip = {
			GRE = {
				diplomatic_relation = {
					country = ROOT
					relation = non_aggression_pact
					active = yes
				}
				add_opinion_modifier = {
					target = ROOT
					modifier = BUL_strengthened_relations_with_us
				}
			}
			add_opinion_modifier = {
				target = GRE
				modifier = BUL_strengthened_relations_with_us
			}
			every_country = {
				limit = {
					BUL_country_can_influence_bulgaria = yes
					NOT = {
						is_in_faction_with = ROOT
					} {
						is_in_faction_with = GRE
					}
				}
				add_opinion_modifier = {
					target = ROOT
					modifier = BUL_approached_greece
				}
			}
		}
		add_ai_strategy = {
			type = befriend
			id = GRE
			value = 20
		}
	}
}
### Entity: National Focus
Tree: cub_focus
Component: CUB_air_base_expansion
Constructs: limit, completion_reward, random_owned_controlled_state, add_building_construction, add_doctrine_cost_reduction
Source: game
File: common/national_focus/Cuba.txt

Code:
focus = {
	id = CUB_air_base_expansion
	icon = GFX_goal_CUB_air_force
	relative_position_id = CUB_maximo_gomez_command_academy
	x = 6
	y = 0
	cost = 5
	ai_will_do = {
		factor = 1
	}
	available_if_capitulated = yes
	completion_reward = {
		random_owned_controlled_state = {
			limit = {
				free_building_slots = {
					building = air_base
					size = > 1
				}
			}
			add_building_construction = {
				type = air_base
				level = 2
				instant_build = yes
			}
		}
		air_experience = 10
		add_doctrine_cost_reduction = {
			name = CUB_air_base_expansion
			cost_reduction = 0.5
			uses = 1
			category = air_doctrine
		}
	}
	search_filters = {
		FOCUS_FILTER_AIR_XP FOCUS_FILTER_RESEARCH
	}
}
### Entity: National Focus
Tree: irq_focus
Component: IRQ_demand_british_territories
Constructs: prerequisite, limit, has_war_with, completion_reward, is_subject, every_state, add_core_of
Source: game
File: common/national_focus/r56_iraq.txt

Code:
focus = {
	id = IRQ_demand_british_territories
	icon = GFX_focus_generic_attack_palestine
	prerequisite = {
		focus = IRQ_proclaim_the_neo_assyrian_empire
	}
	relative_position_id = IRQ_proclaim_the_neo_assyrian_empire
	x = 0
	y = 1
	cost = 10
	ai_will_do = {
		factor = 10
	}
	available = {
		is_subject = no
	}
	available_if_capitulated = yes
	completion_reward = {
		every_state = {
			limit = {
				OR = {
					state = 454 1016 1017 949 966 455 1021 1022 453 656
				}
			}
			add_core_of = ROOT
		}
		if = {
			limit = {
				ENG = {
					exists = yes
					NOT = {
						has_war_with = ROOT
					}
				}
			}
			ENG = {
				country_event = {
					id = r56_iraq.6
					hours = 12
				}
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_ANNEXATION
	}
}
### Entity: Idea
Component: fascist_influence
Constructs: has_government, removal_cost, fascism_drift
Source: game
File: common/ideas/zzz_generic.txt

Code:
fascist_influence = {
	allowed = {
		always = no
	}
	allowed_civil_war = {
		has_government = fascism
	}
	removal_cost = -1
	picture = generic_fascism_drift_bonus
	modifier = {
		fascism_drift = 0.1
		fascism_acceptance = 65
	}
}
### Entity: Event
Component: AAT_finland_diplomacy.27
Constructs: is_triggered_only, fire_only_once, give_military_access, give_guarantee, give_resource_rights
Source: game
File: events/AAT_Finland.txt

Code:
country_event = {
	id = AAT_finland_diplomacy.27
	title = AAT_finland_diplomacy.27.t
	desc = AAT_finland_diplomacy.27.desc
	picture = GFX_report_event_FIN_finnish_german_pact
	is_triggered_only = yes
	fire_only_once = yes
	option = {
		name = AAT_finland_diplomacy.27.a
		give_military_access = FROM
		diplomatic_relation = {
			country = FROM
			relation = docking_rights
			active = yes
		} {
			country = FROM
			relation = non_aggression_pact
			active = yes
		}
		FROM = {
			give_guarantee = ROOT
		}
		give_resource_rights = {
			receiver = FROM
			state = 148
		}
	}
}
### Entity: Technology
Component: sp_rockets_dual_chamber_rocket_engine_2
Constructs: limit, is_special_project_completed, is_special_project_tech, enable_equipments, has_dlc, enable_equipment_modules, research_cost
Source: game
File: common/technologies/electronic_mechanical_engineering.txt

Code:
technology = {
	allow = {
		ROOT = {
			is_special_project_completed = sp:sp_rocket_interceptor
		}
	}
	special_project_specialization = {
		specialization_air
	}
	is_special_project_tech = yes
	enable_equipments = {
		limit = {
			NOT = {
				has_dlc = By Blood Alone
			}
		}
		 = rocket_interceptor_equipment_3
	}
	enable_equipment_modules = {
		rocket_engine_3
	}
	research_cost = 1.5
	start_year = 1946
	folder = {
		name = electronics_folder
		position = {
			x = -2
			y = @rockets_1946
		}
	}
	ai_will_do = {
		factor = 1
	}
	categories = {
		rocketry
	}
}
### Entity: National Focus
Tree: den_focus
Component: DEN_Devalue_the_Krone
Constructs: has_completed_focus, prerequisite, completion_reward, add_extra_state_shared_building_slots, add_building_construction
Source: game
File: common/national_focus/r56_denmark.txt

Code:
focus = {
	id = DEN_Devalue_the_Krone
	icon = GFX_goal_CAN_depression_recovery
	cost = 10
	cancel = {
		has_completed_focus = DEN_King_Christian_Coup
	}
	ai_will_do = {
		factor = 1
	}
	available = {
		den_cancel_intro_trigger = yes
	}
	bypass = {
		has_completed_focus = DEN_Increased_Protectionism
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_INDUSTRY
	}
	prerequisite = {
		focus = DEN_Strengthen_the_Labour_Unions
	}
	x = 1
	y = 1
	relative_position_id = DEN_Strengthen_the_Labour_Unions
	completion_reward = {
		964 = {
			add_extra_state_shared_building_slots = 1
			add_building_construction = {
				type = industrial_complex
				level = 1
			}
		}
		99 = {
			add_extra_state_shared_building_slots = 2
			add_building_construction = {
				type = industrial_complex
				level = 2
			}
		}
		activate_mission = den_devalued_krone
		custom_effect_tooltip = den_devalue_krone_tt
		den_remove_conservative_ideas = yes
	}
}
### Entity: Effect Reference
Construct: complete_national_focus
Source: vanilla_docs
File: documentation/effects_documentation.md

Doc:
## complete_national_focus

* Supported Scopes: COUNTRY
* Supported Targets: none

```
completes a focus for a country
```
### Entity: Character
Component: LAT_martinsh_penikis
Source: game
File: common/characters/LAT.txt

Code:
LAT_martinsh_penikis = {
	name = LAT_martinsh_penikis
	portraits = {
		army = {
			large = GFX_portrait_LAT_martins_penikis
			small = GFX_idea_LAT_martins_penikis
		}
	}
	field_marshal = {
		traits = {
			old_guard
		}
		skill = 3
		attack_skill = 4
		defense_skill = 1
		planning_skill = 2
		logistics_skill = 2
		legacy_id = -1
	}
}
### Entity: Shared Focus
Tree: kmt_focus
Component: KMT_the_great_purge_successful
Constructs: shared_focus, prerequisite, remove_ideas, has_government, add_stability, completion_reward, add_popularity
Source: game
File: common/national_focus/the_national_catastrophe_shared.txt

Code:
shared_focus = {
	id = KMT_the_great_purge_successful
	icon = GFX_focus_SOV_the_last_purge
	prerequisite = {
		focus = KMT_ensure_party_purity
	} {
		focus = KMT_crackdown_on_the_confucianists
	} {
		focus = KMT_purge_of_the_generals
	}
	available = {
		has_government = communism
	}
	x = 0
	y = 3
	cost = 10
	ai_will_do = {
		factor = 2.1
	}
	search_filters = {
		FOCUS_FILTER_STABILITY
	}
	relative_position_id = KMT_a_great_purge
	completion_reward = {
		add_stability = 0.1
		add_popularity = {
			ideology = communism
			popularity = 0.1
		}
		custom_effect_tooltip = generic_skip_one_line_tt
		remove_ideas = KMT_great_purge
	}
}
### Entity: Idea
Component: PRC_peoples_volunteer_army
Constructs: removal_cost, send_volunteer_size, send_volunteers_tension, send_volunteer_divisions_required
Source: game
File: common/ideas/comchina.txt

Code:
PRC_peoples_volunteer_army = {
	picture = generic_morale_bonus
	allowed = {
		original_tag = PRC
	}
	removal_cost = -1
	modifier = {
		send_volunteer_size = 5
		send_volunteers_tension = -1
		send_volunteer_divisions_required = -1
	}
}
### Entity: National Focus
Tree: lie_focus
Component: LIE_alpine_specialization
Constructs: prerequisite, limit, completion_reward, has_dlc, add_doctrine_cost_reduction, add_tech_bonus
Source: game
File: common/national_focus/liechtenstein.txt

Code:
focus = {
	id = LIE_alpine_specialization
	icon = GFX_goal_generic_mountain_warfare2
	prerequisite = {
		focus = LIE_liechtenstein_on_the_offensive LIE_on_the_back
	}
	x = 3
	y = 1
	relative_position_id = LIE_liechtenstein_on_the_offensive
	cost = 10
	ai_will_do = {
		factor = 1
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
	completion_reward = {
		if = {
			limit = {
				has_dlc = Arms Against Tyranny
			}
			add_doctrine_cost_reduction = {
				name = LIE_alpine_specialization
				cost_reduction = 0.5
				uses = 1
				category = special_forces_doctrine
			}
		}
		else = {
			add_tech_bonus = {
				name = LIE_alpine_specialization
				bonus = 0.5
				uses = 1
				category = r56_special_forces_training_tech
			}
		}
		add_tech_bonus = {
			name = LIE_alpine_specialization
			bonus = 1
			uses = 1
			category = mountaineers_tech
		}
	}
}
### Entity: Event
Component: NSB_poland_events.102
Constructs: is_triggered_only, ai_chance, fire_only_once, create_wargoal, annex_everything
Source: game
File: events/NSB_Poland.txt

Code:
country_event = {
	id = NSB_poland_events.102
	title = NSB_poland_events.102.t
	desc = NSB_poland_events.102.desc
	picture = GFX_report_event_poland_rejects
	is_triggered_only = yes
	fire_only_once = yes
	option = {
		name = NSB_poland_events.102.a
		ai_chance = {
			base = 10
		}
		create_wargoal = {
			type = annex_everything
			target = FROM
		}
	}
}
### Entity: State History
Component: 1040
Constructs: add_core_of, add_to_array
Source: game
File: history/states/1040-Mikkeli.txt

Code:
state = {
	id = 1040
	name = STATE_1040
	manpower = 204200
	state_category = rural
	history = {
		owner = FIN
		add_core_of = FIN
		add_to_array = {
			state_victory_points = 165
		} {
			state_victory_points = 37
		}
		victory_points = {
			165 1
		} {
			37 1
		}
		buildings = {
			infrastructure = 1
		}
	}
	provinces = {
		37 165 3013 3131 9056 9073 9163 11043 11138 13104 13108
	}
	local_supplies = 0.0
}
### Entity: Event
Component: britain.16
Constructs: add_ideas, remove_ideas, fire_only_once, has_start_date, set_country_flag
Source: game
File: events/Britain.txt

Code:
country_event = {
	id = britain.16
	title = britain.16.t
	desc = britain.16.d
	picture = GFX_report_event_europe_funeral
	trigger = {
		tag = ENG
		date = > 1936.1.19
		has_start_date = < 1936.01.02
	}
	fire_only_once = yes
	mean_time_to_happen = {
		days = 7
	}
	immediate = {
		hidden_effect = {
			set_country_flag = ENG_king_died
			remove_ideas = george_v
			add_ideas = ENG_king_edward
		}
	}
	option = {
		name = britain.16.a
		effect_tooltip = {
			remove_ideas = george_v
			add_ideas = ENG_king_edward
		}
	}
}
### Entity: Character
Component: GER_enemy_of_the_state
Constructs: stability_factor, fascism_drift
Source: game
File: common/country_leader/r56_traits.txt

Code:
GER_enemy_of_the_state = {
	sprite = 13
	random = no
	fascism_drift = 0.02
	stability_factor = -0.1
	political_power_cost = 0.1
}
### Entity: National Focus
Tree: urg_focus
Component: URG_colorado_victory
Constructs: has_completed_focus, has_country_flag, completion_reward, add_popularity
Source: game
File: common/national_focus/uruguay.txt

Code:
focus = {
	id = URG_colorado_victory
	available = {

	} {
		has_country_flag = URG_terra_election
		NOT = {
			has_completed_focus = URG_accion_revisionista_del_uruguay
		}
	}
	icon = GFX_focus_URG_colorados
	x = -11
	y = 0
	cost = 5
	relative_position_id = URG_accion_revisionista_del_uruguay
	mutually_exclusive = {
		focus = URG_blanco_victory URG_accion_revisionista_del_uruguay
	}
	search_filters = {
		FOCUS_FILTER_HISTORICAL FOCUS_FILTER_POLITICAL
	}
	completion_reward = {
		add_popularity = {
			ideology = democratic
			popularity = 0.15
		}
	}
}
### Entity: AI Strategy
Component: ai_historical_focus_list_AFG
Source: game
File: common/ai_focuses/AFG.txt

Code:
ai_historical_focus_list_AFG = {
	ai_national_focuses = {
		AFG_first_loya_jirga AFG_begin_westernization AFG_rural_schools AFG_aquire_foreign_machinery AFG_power_to_the_king AFG_the_regency AFG_appoint_hashim AFG_visit_berlin AFG_afghan_royal_army AFG_army_modernization AFG_improve_national_infra AFG_bolster_the_textile_industry AFG_treaty_of_saadabad_hist AFG_build_up_roads AFG_enact_censorship AFG_institutionalize_pashto AFG_monopolize_the_karakul_trade AFG_start_the_second_seven_year_plan AFG_invite_wehrmacht_officers AFG_expand_university AFG_royal_air_force AFG_redesign_military_curriculum AFG_train_our_personnel_abroad AFG_develop_hydroelectric_power AFG_purge_the_nationalists AFG_stabilize_the_currency AFG_afghanistan_bank AFG_expand_the_directorate_of_mines AFG_german_investments_program AFG_intensify_copper_mining AFG_rejuvenate_the_gold_mines AFG_fund_the_army AFG_purhcase_czech_weaponry AFG_victory_through_firepower AFG_improve_our_logistics AFG_modernize_military_hospitals AFG_introduce_new_uniforms AFG_prussians_orient AFG_import_planes AFG_afghan_miracle AFG_import_italian_fighters AFG_import_british_fighters AFG_invite_foreign_instructors AFG_kabul_air_college AFG_expand_military_airports AFG_neutrality_reaffirmed AFG_acquire_german_radios AFG_deterrence_focus AFG_implement_autarky AFG_begin_rearmament AFG_kabul_arsenal AFG_establish_ammunition_factories AFG_combat_foreign_influence
	}
}
### Entity: Decision
Component: political_actions
Constructs: political_power_gain, has_country_flag, fire_only_once, is_core_of, is_claimed_by, is_controlled_by, is_in_faction_with, is_subject_of
Source: game
File: common/decisions/r56_POL_decisions.txt

Code:
political_actions = {
	POL_recruit_german_nationals = {
		state_target = yes
		target_trigger = {
			FROM = {
				OR = {
					is_core_of = GER PRE WGR DDR
					is_claimed_by = GER PRE
					region = 38
				}
				is_controlled_by = ROOT
			}
		}
		icon = generic_military
		cost = 25
		fire_only_once = yes
		on_map_mode = map_only
		visible = {
			OR = {
				is_in_faction_with = GER PRE WGR DDR
				is_subject_of = GER PRE WGR DDR
			}
		}
		allowed = {
			original_tag = POL
		}
		available = {
			NOT = {
				has_country_flag = POL_german_minority_recruitment_in_progress
			}
		}
		days_remove = 21
		complete_effect = {
			set_country_flag = POL_german_minority_recruitment_in_progress
		}
		modifier = {
			political_power_gain = -0.05
		}
		remove_effect = {
			clr_country_flag = POL_german_minority_recruitment_in_progress
			FROM = {
				add_dynamic_modifier = {
					modifier = r56_volksdeutscher_selbstschutz_recruitment
					scope = POL
				}
			}
		}
	}
}
### Entity: Event
Component: SEA_japan_popup_events.16
Constructs: is_triggered_only, ai_chance, limit, has_country_flag, fire_only_once, add_political_power, has_game_rule, has_country_leader
Source: game
File: events/SEA_Japan.txt

Code:
country_event = {
	id = SEA_japan_popup_events.16
	title = SEA_japan_popup_events.16.t
	desc = SEA_japan_popup_events.16.desc
	picture = GFX_report_event_japanese_army_parade
	is_triggered_only = yes
	fire_only_once = yes
	option = {
		name = SEA_japan_popup_events.16.a
		ai_chance = {
			base = 50
			modifier = {
				factor = 0
				OR = {
					has_country_flag = JAP_AI_RANDOM_COMMUNIST JAP_AI_RANDOM_COMMUNIST_2
					has_game_rule = {
						rule = JAP_ai_behavior
						option = COMMUNIST
					} {
						rule = JAP_ai_behavior
						option = COMMUNIST_2
					}
				}
			}
		}
		IF = {
			limit = {
				NOT = {
					has_country_leader = {
						ruling_only = yes
						character = JAP_machida_chuuji
					}
				}
			}
			add_country_leader_role = {
				character = JAP_machida_chuuji
				promote_leader = yes
				country_leader = {
					ideology = liberalism
					expire = 1989.1.1.1
					traits = {
						HUN_popular_liberal
					}
				}
			}
			set_party_name = {
				ideology = democratic
				long_name = JAP_unity_cabinet_party_long
				name = JAP_unity_cabinet_party
			}
		}
		ELSE = {
			add_popularity = {
				ideology = democratic
				popularity = 0.05
			}
			add_political_power = 75
			set_party_name = {
				ideology = democratic
				long_name = JAP_unity_cabinet_party_long
				name = JAP_unity_cabinet_party
			}
		}
		custom_effect_tooltip = generic_skip_one_line_tt
		country_event = {
			id = SEA_japan_popup_events.17
			days = 7
		}
	} {
		name = SEA_japan_popup_events.16.b
		ai_chance = {
			base = 30
			modifier = {
				factor = 0
				OR = {
					has_country_flag = JAP_AI_RANDOM_DEMOCRATIC
					has_game_rule = {
						rule = JAP_ai_behavior
						option = DEMOCRATIC
					}
				}
			}
		}
		add_country_leader_role = {
			character = JAP_abe_isoo
			promote_leader = yes
			country_leader = {
				ideology = socialism
				expire = 1989.1.1.1
				traits = {
					JAP_socialist_politician
				}
			}
		}
		set_party_name = {
			ideology = democratic
			long_name = JAP_unity_cabinet_party_long
			name = JAP_unity_cabinet_party
		}
		custom_effect_tooltip = generic_skip_one_line_tt
		country_event = {
			id = SEA_japan_popup_events.17
			days = 7
		}
	} {
		name = SEA_japan_popup_events.16.c
		ai_chance = {
			base = 20
			modifier = {
				factor = 0
				OR = {
					has_country_flag = JAP_AI_RANDOM_COMMUNIST JAP_AI_RANDOM_COMMUNIST_2
					has_game_rule = {
						rule
# ... (truncated)
### Entity: AI Strategy
Component: EAI_BUILDING_construction_CIC_86
Constructs: has_country_flag
Source: game
File: common/ai_strategy/EAI_BUILDING_construction_strategies.txt

Code:
EAI_BUILDING_construction_CIC_86 = {
	enable = {
		has_country_flag = {
			flag = EAI_BUILDING_build_num_CIC
			value = 86
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = building_target
		id = industrial_complex
		value = 86
	}
}
### Entity: National Focus
Tree: ukr_focus
Component: UKR_azovstal
Constructs: prerequisite, limit, completion_reward, set_technology, random_owned_controlled_state, has_full_control_of_state, add_extra_state_shared_building_slots, add_building_construction
Source: game
File: common/national_focus/ukraine.txt

Code:
focus = {
	id = UKR_azovstal
	icon = GFX_focus_generic_steel
	prerequisite = {
		focus = UKR_industrial_technologies
	}
	cost = 10
	relative_position_id = UKR_industrial_technologies
	x = 2
	y = 1
	ai_will_do = {
		factor = 2
	}
	completion_reward = {
		random_owned_controlled_state = {
			prioritize = {
				227
			}
			limit = {
				ROOT = {
					has_full_control_of_state = PREV
				}
				free_building_slots = {
					building = industrial_complex
					size = > 1
					include_locked = yes
				}
			}
			add_extra_state_shared_building_slots = 3
			add_building_construction = {
				type = industrial_complex
				level = 1
				instant_build = yes
			} {
				type = steel_mill
				level = 2
				instant_build = yes
			}
		}
		if = {
			limit = {
				NOT = {
					has_tech = steel_production_1
				}
			}
			set_technology = {
				steel_production_1 = 1
			}
			else = {
				add_tech_bonus = {
					name = construction_tech_bonus
					bonus = 1
					uses = 1
					category = steel_tech
				}
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY FOCUS_FILTER_STEEL
	}
}
### Entity: Decision
Component: war_measures
Constructs: has_completed_focus, has_war, limit, has_government, has_war_with, fire_only_once, add_political_power, has_navy_experience
Source: game
File: common/decisions/r56_ENG_decisions.txt

Code:
war_measures = {
	r56_ENG_decision_recall_gilbert_stephenson = {
		icon = generic_naval
		fire_only_once = yes
		days_remove = 10
		custom_cost_text = gilbert_stephenson_decision_cost
		custom_cost_trigger = {
			has_navy_experience = > 24
			has_political_power = > 24
		}
		allowed = {
			tag = ENG
		}
		available = {
			has_war = yes
			has_navy_experience = > 24
			has_political_power = > 24
			has_completed_focus = uk_destroyer_focus
		}
		visible = {
			tag = ENG
		}
		remove_effect = {

		}
		complete_effect = {
			navy_experience = -25
			add_political_power = -25
			country_event = {
				id = r56_eng.10
			}
		}
	}
	r56_ENG_decision_support_percy_hobart = {
		icon = generic_tank
		cost = 50
		fire_only_once = yes
		days_remove = 30
		custom_cost_text = percy_hobart_decision_cost
		custom_cost_trigger = {
			has_army_experience = > 99
			has_political_power = > 49
		}
		allowed = {
			OR = {
				tag = ENG CAN
			}
		}
		available = {
			hidden_trigger = {
				has_army_experience = > 99
			}
			ROOT = {
				is_special_project_completed = sp:sp_land_military_engineering_vehicles
				NOT = {
					has_global_flag = r56_ENG_decision_support_percy_hobart_recruited
				}
				if = {
					limit = {
						tag = CAN
					}
					OR = {
						is_puppet_of = ENG
						AND = {
							has_war_with = ENG
							has_government = ENG
							is_in_faction_with = ENG
						}
					}
				}
			}
		}
		visible = {
			OR = {
				tag = ENG CAN
			}
			NOT = {
				has_global_flag = r56_ENG_decision_support_percy_hobart_recruited
			}
			if = {
				limit = {
					tag = ENG
					has_character = ENG_r56_percy_hobart
				}
			}
		}
		remove_effect = {
			if = {
				limit = {
					tag = CAN
				}
				create_corps_commander = {
					name = Percy Hobart
					portrait_path = gfx/leaders/ENG/r56_portrait_ENG_percy_hobart.dds
					traits = {
						unpopular funnies_inventor panzer_leader trait_engineer fortress_buster expert_improviser
					}
					skill = 5
					attack_skill = 6
					defense_skill = 3
					planning_skill = 5
					logistics_skill = 2
				}
				ROOT = {
					add_breakthrough_points = {
						specialization = specialization_land
						value = 1
					}
				}
				ENG = {
					if = {
						limit = {
							ENG = {
								has_character = ENG_r56_percy_hobart
							}
						}
						ENG = {
							ENG_r56_percy_hobart = {
								add_scientist_xp = {
									experience = 500
			
# ... (truncated)
### Entity: National Focus
Tree: cog_focus
Component: COG_fortify_congo_mouth
Constructs: prerequisite, completion_reward, add_building_construction
Source: game
File: common/national_focus/r56_congo.txt

Code:
focus = {
	id = COG_fortify_congo_mouth
	icon = GFX_goal_generic_construct_military
	x = 39
	y = 3
	prerequisite = {
		focus = COG_modernize_tactics
	}
	available = {
		controls_state = 295
	}
	cost = 10
	ai_will_do = {
		factor = 2
	}
	completion_reward = {
		295 = {
			add_building_construction = {
				type = bunker
				level = 1
				province = 10968
				instant_build = yes
			} {
				type = coastal_bunker
				level = 1
				province = 10968
				instant_build = yes
			} {
				type = bunker
				level = 1
				province = 12925
				instant_build = yes
			} {
				type = bunker
				level = 1
				province = 5117
				instant_build = yes
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY
	}
}