Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: Idea
Component: CHI_warlord_state_idea_2
Constructs: research_speed_factor, stability_factor, removal_cost, conscription_factor
Source: game
File: common/ideas/china_warlord.txt

Code:
CHI_warlord_state_idea_2 = {
	allowed = {
		always = no
	} {

	}
	allowed_civil_war = {
		always = yes
	}
	name = CHI_warlord_state_idea
	picture = chi_warlord_integration
	removal_cost = -1
	modifier = {
		stability_factor = -0.05
		research_speed_factor = -0.03
		conscription_factor = 0.05
		attrition = -0.05
		supply_consumption_factor = -0.05
		production_factory_max_efficiency_factor = -0.1
		custom_modifier_tooltip = CHI_warlord_state_idea_tt
	}
}
### Entity: National Focus
Tree: por_focus
Component: POR_continue_the_national_electrification
Constructs: prerequisite, completion_reward, has_tech, add_offsite_building, set_state_category
Source: game
File: common/national_focus/r56_portugal.txt

Code:
focus = {
	id = POR_continue_the_national_electrification
	prerequisite = {
		focus = POR_import_foreign_machinery
	} {
		focus = POR_subsidize_rolling_stock_production
	}
	icon = GFX_focus_generic_energy
	cost = 10
	x = -1
	y = 1
	relative_position_id = POR_subsidize_rolling_stock_production
	ai_will_do = {
		base = 20
	}
	available = {
		OR = {
			has_tech = concentrated_industry3 dispersed_industry3
		}
		112 = {
			is_controlled_by_ROOT_or_ally = yes
		}
		180 = {
			is_controlled_by_ROOT_or_ally = yes
		}
	}
	completion_reward = {
		add_offsite_building = {
			type = industrial_complex
			level = 2
		}
		custom_effect_tooltip = CHL_skip_one_line_tt
		112 = {
			set_state_category = metropolis
		}
		180 = {
			set_state_category = city
		}
	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY
	}
}
### Entity: Modifier Reference
Component: CHI_ROCAF
Source: game
File: common/dynamic_modifiers/SEA_dynamic_modifiers.txt

Code:
CHI_ROCAF = {
	icon = GFX_idea_CHI_air_force
	experience_gain_air_factor = CHI_ROCAF_experience_gain_air_factor
	air_accidents_factor = CHI_ROCAF_air_accidents_factor
	air_wing_xp_loss_when_killed_factor = CHI_ROCAF_air_wing_xp_loss_when_killed_factor
	air_training_xp_gain_factor = CHI_ROCAF_air_training_xp_gain_factor
	air_power_projection_factor = CHI_ROCAF_air_power_projection_factor
	air_home_defence_factor = CHI_ROCAF_air_home_defence_factor
	air_bombing_targetting = CHI_ROCAF_air_bombing_targetting
	air_escort_efficiency = CHI_ROCAF_air_escort_efficiency
	air_strategic_bomber_bombing_factor = CHI_ROCAF_air_strategic_bomber_bombing_factor
	air_strategic_bomber_night_penalty = CHI_ROCAF_air_strategic_bomber_night_penalty
	air_manpower_requirement_factor = CHI_ROCAF_air_manpower_requirement_factor
	air_interception_detect_factor = CHI_ROCAF_air_interception_detect_factor
	air_intercept_efficiency = CHI_ROCAF_air_intercept_efficiency
	army_bonus_air_superiority_factor = CHI_ROCAF_air_superiority_bonus_in_combat
	air_range_factor = CHI_ROCAF_air_range_factor
	sp_tag_rocket_speed_factor = CHI_ROCAF_sp_tag_rocket_speed_factor
	sp_tag_jet_speed_factor = CHI_ROCAF_sp_tag_jet_speed_factor
	sp_tag_helicopter_speed_factor = CHI_ROCAF_sp_air_helicopter_speed_factor
	custom_modifier_tooltip = CHI_an_appropriate_design_tt
}
### Entity: Idea
Component: NOR_crush_stalin_ns
Constructs: war_support_factor, removal_cost, communism_drift
Source: game
File: common/ideas/norway.txt

Code:
NOR_crush_stalin_ns = {
	name = NOR_crush_stalin
	picture = SOV_factionalism_modifier
	allowed = {
		NOR_AAT = yes
	}
	removal_cost = -1
	targeted_modifier = {
		tag = SOV
		attack_bonus_against = 0.3
		breakthrough_bonus_against = 0.3
	}
	modifier = {
		weekly_manpower = 500
		communism_drift = 0.07
		war_stability_factor = 0.1
		war_support_factor = 0.2
	}
}
### Entity: Character
Component: SWE_suffragette
Constructs: stability_factor, production_speed_buildings_factor
Source: game
File: common/country_leader/00_traits.txt

Code:
SWE_suffragette = {
	random = no
	sprite = 13
	stability_factor = -0.05
	production_speed_buildings_factor = 0.05
}
### Entity: Idea
Component: POL_Divided_Nation
Constructs: has_completed_focus, stability_factor, removal_cost
Source: game
File: common/ideas/r56_poland.txt

Code:
POL_Divided_Nation = {
	allowed = {
		always = no
	}
	available = {
		NOT = {
			has_completed_focus = POL_Phase_V_Equalize_Poland_A_and_B
		}
	}
	allowed_civil_war = {
		always = yes
	}
	removal_cost = -1
	picture = POL_divided_nation
	modifier = {
		political_power_factor = -0.1
		stability_factor = -0.05
	}
}
### Entity: Scripted Trigger
Component: EAI_DIFFICULTY_tac_bonus_trigger
Constructs: set_temp_variable, has_deployed_air_force_size
Source: game
File: common/scripted_triggers/EAI_DIFFICULTY_triggers.txt

Code:
EAI_DIFFICULTY_tac_bonus_trigger = {
	set_temp_variable = {
		tmp = num_of_military_factories
	}
	multiply_temp_variable = {
		tmp = 10
	}
	OR = {
		has_deployed_air_force_size = {
			type = tactical_bomber
			size = < 400
		}
		meta_trigger = {
			text = {
				has_deployed_air_force_size = {
					type = tactical_bomber
					size = < [x]
				}
			}
			x = [?tmp|.0]
		}
	}
}
### Entity: National Focus
Tree: swi_focus
Component: SWI_naval_air
Constructs: prerequisite, completion_reward, add_tech_bonus
Source: game
File: common/national_focus/r56_switzerland.txt

Code:
focus = {
	id = SWI_naval_air
	icon = GFX_goal_generic_air_naval_bomber
	cost = 10
	ai_will_do = {
		factor = 1
	}
	prerequisite = {
		focus = SWI_naval_catchup
	} {
		focus = SWI_other_air
	}
	x = 48
	y = 5
	completion_reward = {
		add_tech_bonus = {
			name = SWI_naval_air
			bonus = 1
			uses = 2
			category = naval_air
		}
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
}
### Entity: Event
Component: r56.soviet.42
Constructs: is_triggered_only, fire_only_once
Source: game
File: events/r56_Soviet.txt

Code:
country_event = {
	id = r56.soviet.42
	title = r56.soviet.42.t
	desc = r56.soviet.42.d
	picture = GFX_report_event_soviet_tanks
	fire_only_once = yes
	is_triggered_only = yes
	option = {
		name = r56.soviet.42.a
	}
}
### Entity: Event
Component: mtg_britain.23
Constructs: is_triggered_only, ai_chance, has_war, limit, is_in_faction_with, remove_from_faction, add_ai_strategy, send_volunteers_desire
Source: game
File: events/MTG_Britain.txt

Code:
country_event = {
	id = mtg_britain.23
	title = mtg_britain.23.t
	desc = mtg_britain.23.d
	picture = GFX_report_event_generic_sign_treaty1
	is_triggered_only = yes
	option = {
		name = mtg_britain.23.a
		if = {
			limit = {
				ITA = {
					is_in_faction_with = GER
				} {
					has_war = no
				}
				has_war = no
			}
			GER = {
				remove_from_faction = ITA
			}
		}
		FROM = {
			country_event = {
				id = mtg_britain.24
				hours = 6
			}
		}
		ITA = {
			country_event = {
				id = mtg_britain.25
				hours = 6
			}
		}
		hidden_effect = {
			GER = {
				add_ai_strategy = {
					type = befriend
					id = ITA
					value = -200
				} {
					type = protect
					id = ITA
					value = -200
				} {
					type = send_volunteers_desire
					id = ITA
					value = -200
				} {
					type = support
					id = ITA
					value = -200
				} {
					type = alliance
					id = ITA
					value = -200
				}
			}
			set_country_flag = ENG_ditched_the_italians_flag
			ITA = {
				set_country_flag = ENG_ditched_by_the_germans_flag
			}
		}
	} {
		name = mtg_britain.23.b
		ai_chance = {
			factor = 0
		}
		FROM = {
			country_event = {
				id = mtg_britain.26
				hours = 6
			}
		}
	}
}
### Entity: Trigger Reference
Construct: longest_war_length
Source: vanilla_docs
File: documentation/triggers_documentation.md

Doc:
## longest_war_length

* Supported Scopes: COUNTRY
* Supported Targets: none

```
Check number of months the country has been at war
```
### Entity: Character
Component: NIC_leonardo_arguello_vargas
Source: game
File: common/characters/NIC.txt

Code:
NIC_leonardo_arguello_vargas = {
	advisor = {
		slot = political_advisor
		idea_token = NIC_leonardo_arguello_vargas
		allowed = {
			original_tag = NIC
		}
		traits = {
			armaments_organizer
		}
	}
	name = Leonardo Argüello Vargas
	portraits = {
		army = {
			small = GFX_idea_generic_political_advisor_south_america_1
		}
	}
}
### Entity: National Focus
Tree: spr_focus
Component: SPR_the_peoples_fleet
Constructs: prerequisite, completion_reward, add_tech_bonus, add_mastery_bonus
Source: game
File: common/national_focus/spain.txt

Code:
focus = {
	id = SPR_the_peoples_fleet
	available = {

	}
	bypass = {

	}
	prerequisite = {
		focus = SPR_repair_and_expand_the_dockyards
	}
	icon = GFX_goal_generic_navy_doctrines_tactics
	x = 0
	y = 1
	relative_position_id = SPR_repair_and_expand_the_dockyards
	cost = 10
	available_if_capitulated = yes
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
	completion_reward = {
		navy_experience = 75
		add_tech_bonus = {
			name = SPR_the_peoples_fleet
			bonus = 1
			uses = 1
			category = ca_tech
		} {
			name = SPR_the_peoples_fleet
			bonus = 1
			uses = 1
			category = dd_tech
		} {
			name = SPR_the_peoples_fleet
			bonus = 1
			uses = 1
			category = ss_tech
		}
		add_mastery_bonus = {
			name = SPR_the_peoples_fleet
			bonus = 0.2
			days = 180
			track = submarines
		}
	}
}
### Entity: Modifier Reference
Construct: naval_invasion_planning_bonus_speed
Source: vanilla_docs
File: documentation/modifiers_documentation.md

Doc:
## naval_invasion_planning_bonus_speed

* Number with 0 decimal places
* **Categories**: army, aggressive
### Entity: AI Strategy
Component: EAI_MILITARY_INVASION_naval_avoid_47
Constructs: check_variable, is_in_array
Source: game
File: common/ai_strategy/EAI_MILITARY_naval_strategies.txt

Code:
EAI_MILITARY_INVASION_naval_avoid_47 = {
	enable = {
		check_variable = {
			EAI_MILITARY_INVASION_objectives^num = > 0
		}
		is_in_array = {
			EAI_MILITARY_INVASION_sea_regions = 47
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = naval_avoid_region
		id = 47
		value = -10000
	}
}
### Entity: National Focus
Tree: nor_focus
Component: NOR_weathering_the_storm_to_come
Constructs: every_owned_state, prerequisite, limit, has_government, add_war_support, has_country_flag, completion_reward, has_idea
Source: game
File: common/national_focus/norway.txt

Code:
focus = {
	id = NOR_weathering_the_storm_to_come
	icon = GFX_focus_NOR_weathering_the_storm_to_come
	prerequisite = {
		focus = NOR_continue_nygaardsvold_government NOR_vote_of_no_confidence
	}
	x = -4
	y = 1
	relative_position_id = NOR_continue_nygaardsvold_government
	cost = 5
	ai_will_do = {
		factor = 1
	}
	available = {
		has_government = democratic
		NOT = {
			has_idea = NOR_complacent_cabinet_ns
		}
	}
	bypass = {

	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY FOCUS_FILTER_WAR_SUPPORT
	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	completion_reward = {
		every_owned_state = {
			limit = {
				free_building_slots = {
					building = arms_factory
					size = > 0
					include_locked = yes
				}
				NOT = {
					state = 914
				}
			}
			random_select_amount = 2
			add_extra_state_shared_building_slots = 1
			add_building_construction = {
				type = arms_factory
				level = 1
				instant_build = yes
			}
		}
		add_war_support = 0.1
		if = {
			limit = {
				has_country_flag = NOR_going_dem_allied
			}
			custom_effect_tooltip = NOR_unlocking_prep_deploy_allied_dem_TT
			unlock_decision_tooltip = {
				decision = NOR_alt_dem_expedite_training
				show_effect_tooltip = yes
				show_modifiers = yes
			} {
				decision = NOR_alt_dem_prioritize_production
				show_effect_tooltip = yes
				show_modifiers = yes
			} {
				decision = NOR_alt_dem_offensive_push
				show_effect_tooltip = yes
				show_modifiers = yes
			} {
				decision = NOR_alt_dem_focus_on_defense
				show_effect_tooltip = yes
				show_modifiers = yes
			}
		}
		else = {
			custom_effect_tooltip = NOR_unlocking_prep_deploy_dem_his_TT
		}
	}
}
### Entity: Event
Component: wuw_GER_mutual_guarantees.1
Constructs: is_triggered_only, ai_chance, limit, has_opinion, random_days, give_guarantee, add_to_tech_sharing_group
Source: game
File: events/WUW_Germany.txt

Code:
country_event = {
	id = wuw_GER_mutual_guarantees.1
	title = wuw_GER_mutual_guarantees.1.t
	desc = wuw_GER_mutual_guarantees.1.desc
	picture = GFX_report_event_generic_sign_treaty2
	is_triggered_only = yes
	option = {
		name = wuw_GER_mutual_guarantees.1.a
		ai_chance = {
			base = 80
			modifier = {
				factor = 2
				ROOT = {
					has_opinion = {
						target = FROM
						value = > 50
					}
				}
			}
		}
		FROM = {
			country_event = {
				id = wuw_GER_mutual_guarantees.2
				days = 1
				random_days = 2
			}
		}
		effect_tooltip = {
			give_guarantee = FROM
			FROM = {
				give_guarantee = ROOT
			}
			IF = {
				limit = {
					original_tag = FRA
				}
				FROM = {
					add_to_tech_sharing_group = ger_fra_research
				}
				ROOT = {
					add_to_tech_sharing_group = ger_fra_research
				}
			}
		}
	} {
		name = wuw_GER_mutual_guarantees.1.b
		ai_chance = {
			base = 20
		}
		FROM = {
			country_event = {
				id = wuw_GER_mutual_guarantees.3
				days = 1
				random_days = 2
			}
		}
	}
}
### Entity: National Focus
Tree: mex_focus
Component: MEX_focus_confederation_of_mexican_workers
Constructs: prerequisite, completion_reward, add_political_power, cancel_if_invalid
Source: game
File: common/national_focus/mexico.txt

Code:
focus = {
	id = MEX_focus_confederation_of_mexican_workers
	icon = GFX_goal_generic_national_unity
	prerequisite = {
		focus = MEX_focus_agricultural_credit_bank
	}
	x = -2
	y = 1
	relative_position_id = MEX_focus_agricultural_credit_bank
	cost = 10
	ai_will_do = {
		factor = 100
	}
	available = {

	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = yes
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
	completion_reward = {
		add_political_power = 120
		custom_effect_tooltip = available_political_advisor
		show_ideas_tooltip = MEX_vicente_lombardo
	}
}
### Entity: Country History
Country: MAL
Component: MAL_characters
Constructs: recruit_character
Source: game
File: history/countries/MAL - Malaysia.txt

Code:
# Leaders & Characters for MAL
recruit_character = MAL_shenton_thomas MAL_onn_jaafar MAL_lai_teck MAL_ibrahim_hj_yaacob MAL_winston_tyron
### Entity: Idea
Component: HAW_stc
Source: game
File: common/ideas/hawaii.txt

Code:
HAW_stc = {
	picture = generic_political_advisor_asia_3
	allowed = {
		original_tag = HAW
	}
	traits = {
		smooth_talking_charmer
	}
}
### Entity: Idea
Component: idea_RAJ_kingmaker
Constructs: set_rule, send_volunteer_divisions_required, send_volunteer_size, send_volunteers_tension
Source: game
File: common/ideas/british_raj_goe.txt

Code:
idea_RAJ_kingmaker = {
	picture = RAJ_kingmaker
	on_add = {
		set_rule = {
			can_send_volunteers = yes
		}
	}
	modifier = {
		special_forces_cap = 0.04
		air_volunteer_cap = 3
		send_volunteer_divisions_required = -0.5
		send_volunteer_size = 5
		send_volunteers_tension = -1
		embargo_threshold_factor = -5
	}
}
### Entity: Event
Component: AUS_political_events.53
Constructs: is_triggered_only, ai_chance, fire_only_once, annex_country
Source: game
File: events/WUW_Austria.txt

Code:
country_event = {
	id = AUS_political_events.53
	title = AUS_political_events.53.t
	desc = AUS_political_events.53.desc
	picture = GFX_report_event_royal_parade
	is_triggered_only = yes
	fire_only_once = yes
	option = {
		name = AUS_political_events.53.a
		ai_chance = {
			base = 10
		}
		annex_country = {
			target = FROM
			transfer_troops = yes
		}
		hidden_effect = {
			news_event = {
				id = AUS_news_events.8
				hours = 24
			}
		}
	}
}
### Entity: AI Strategy
Component: DOCTRINE_MA_aifc_operational_concentration
Constructs: has_completed_track, force_concentration_factor
Source: game
File: common/ai_strategy/doctrines.txt

Code:
DOCTRINE_MA_aifc_operational_concentration = {
	enable = {
		has_completed_track = armor
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = force_concentration_factor
		value = 20
	}
}
### Entity: National Focus
Tree: pol_focus
Component: POL_hel_fortified_area
Constructs: has_completed_focus, prerequisite, limit, completion_reward, add_building_construction
Source: game
File: common/national_focus/poland.txt

Code:
focus = {
	id = POL_hel_fortified_area
	icon = GFX_goal_fortify_the_westwall
	prerequisite = {
		focus = POL_plan_west
	}
	x = 3
	y = 1
	relative_position_id = POL_the_prusya_line
	cost = 10
	available = {
		NOT = {
			has_completed_focus = POL_complete_plan_west
		}
		OR = {
			ROOT = {
				controls_state = 85
			} {
				controls_state = 807
			}
		}
	}
	ai_will_do = {
		factor = 10
	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY
	}
	completion_reward = {
		IF = {
			limit = {
				ROOT = {
					controls_state = 807
				}
			}
			807 = {
				add_building_construction = {
					type = coastal_bunker
					province = 9263
					level = 2
					instant_build = yes
				} {
					type = bunker
					province = 9263
					level = 3
					instant_build = yes
				} {
					type = bunker
					province = 334
					level = 2
					instant_build = yes
				} {
					type = bunker
					province = 279
					level = 2
					instant_build = yes
				} {
					type = bunker
					province = 389
					level = 2
					instant_build = yes
				} {
					type = bunker
					province = 3324
					level = 2
					instant_build = yes
				}
			}
		} {
			limit = {
				ROOT = {
					controls_state = 85
				}
			}
			85 = {
				add_building_construction = {
					type = bunker
					province = 362
					level = 2
					instant_build = yes
				} {
					type = coastal_bunker
					province = 362
					level = 2
					instant_build = yes
				}
			}
		}
	}
}
### Entity: National Focus
Tree: pol_focus
Component: POL_foreign_army_support
Constructs: prerequisite, has_war_with, completion_reward, has_capitulated, is_in_faction, add_manpower, add_offsite_building
Source: game
File: common/national_focus/poland.txt

Code:
focus = {
	id = POL_foreign_army_support
	icon = GFX_focus_generic_manpower
	prerequisite = {
		focus = POL_foreign_air_support
	}
	available = {
		OR = {
			has_capitulated = yes
			AND = {
				OR = {
					has_war_with = GER SOV
				}
				is_in_faction = yes
				surrender_progress = > 0.7
			}
		}
	}
	x = 0
	y = 1
	relative_position_id = POL_foreign_air_support
	cost = 10
	ai_will_do = {
		factor = 10
	}
	available_if_capitulated = yes
	search_filters = {
		FOCUS_FILTER_INDUSTRY
	}
	completion_reward = {
		army_experience = 75
		add_manpower = 9700
		add_offsite_building = {
			type = arms_factory
			level = 2
		}
	}
}
### Entity: Character
Component: NIU_patu_iki_council
Source: game
File: common/characters/NIU.txt

Code:
NIU_patu_iki_council = {
	name = NIU_patu_iki_council
	portraits = {
		civilian = {
			large = gfx/leaders/r56_generic/r56_generic_collective.dds
		}
	}
	country_leader = {
		ideology = constitutional_monarchy
		traits = {
			pacifist_isolationist
		}
		expire = 1967.1.1
		id = -1
	}
}
### Entity: Order of Battle
Component: division_unit
Constructs: division_template, is_name_ordered
Source: game
File: history/units/MAN_1939.txt

Code:
division = {
	division_name = {
		is_name_ordered = yes
		name_order = 4
	}
	location = 4809
	division_template = Qu Jun
	start_experience_factor = 0.1
	start_equipment_factor = 0.9
}
### Entity: Order of Battle
Component: division_unit
Constructs: division_template, is_name_ordered
Source: game
File: history/units/KUB_cossack_host.txt

Code:
division = {
	division_name = {
		is_name_ordered = yes
		name_order = 1
	}
	location = 735
	division_template = Kavaleriyskaya Diviziya
	start_experience_factor = 0.1
	start_equipment_factor = 1
}
### Entity: Event
Component: bftb_greece.67
Constructs: is_triggered_only, ai_chance, limit, has_government, is_in_faction, create_faction_from_template, add_to_faction, is_faction_leader
Source: game
File: events/BFTB_Greece.txt

Code:
country_event = {
	id = bftb_greece.67
	title = bftb_greece.67.t
	desc = bftb_greece.67.desc
	picture = GFX_report_event_gre_george_ii_victorious
	is_triggered_only = yes
	option = {
		name = bftb_greece.67.a
		ai_chance = {
			factor = 20
			modifier = {
				GRE = {
					has_government = fascism
				}
				add = 50
			}
		}
		if = {
			limit = {
				is_in_faction = no
			}
			create_faction_from_template = {
				template = faction_template_ITA_italian_league
				name = spazio_vitale
			}
			add_to_faction = GRE
		}
		else_if = {
			limit = {
				is_in_faction = yes
				is_faction_leader = no
			}
			remove_from_faction = ROOT
			create_faction_from_template = {
				template = faction_template_ITA_italian_league
				name = spazio_vitale
			}
			add_to_faction = GRE
		}
		else = {
			add_to_faction = GRE
		}
	} {
		name = bftb_greece.67.b
		ai_chance = {
			factor = 1
			modifier = {
				any_owned_state = {
					is_core_of = GRE
					is_claimed_by = ITA
				}
				add = 35
			}
		}
		GRE = {
			country_event = {
				id = bftb_greece.69
				days = 1
			}
		}
	}
}
### Entity: Shared Focus
Tree: gen_focus
Component: GEN_modern_electronic_devices
Constructs: shared_focus, prerequisite, completion_reward, add_tech_bonus, add_breakthrough_progress
Source: game
File: common/national_focus/r56_gen_shared.txt

Code:
shared_focus = {
	id = GEN_modern_electronic_devices
	icon = GFX_goal_generic_control_the_radio
	prerequisite = {
		focus = GEN_modernize_railway_system
	} {
		focus = GEN_nation_wide_industrial_expansion
	}
	x = 1
	y = 1
	relative_position_id = GEN_nation_wide_industrial_expansion
	cost = 5
	available_if_capitulated = yes
	ai_will_do = {
		factor = 10
	}
	completion_reward = {
		add_tech_bonus = {
			name = GEN_modern_electronic_devices
			bonus = 1
			uses = 2
			category = electronics
		}
		custom_effect_tooltip = generic_skip_one_line_tt
		add_breakthrough_progress = {
			specialization = specialization_air
			value = 0.25
		}
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
}
### Entity: National Focus
Tree: ger_focus
Component: GER_build_the_eastern_bulwark
Constructs: prerequisite, limit, owns_state, has_war_with, completion_reward, is_guaranteed_by, is_in_faction_with, is_neighbor_of
Source: game
File: common/national_focus/germany.txt

Code:
focus = {
	id = GER_build_the_eastern_bulwark
	icon = GFX_focus_SWE_hedgehog_defense
	prerequisite = {
		focus = GER_safeguard_the_baltic_ww GER_tributes_for_guarantees GER_danzig_for_guarantees_ww GER_safeguard_poland
	}
	x = 1
	y = 1
	relative_position_id = GER_safeguard_poland
	cost = 5
	available = {
		any_other_country = {
			OR = {
				is_guaranteed_by = ROOT
				is_in_faction_with = ROOT
			}
			is_neighbor_of = SOV
		}
	}
	dynamic = yes
	search_filters = {

	}
	completion_reward = {
		custom_effect_tooltip = GER_build_the_eastern_bulwark_tt generic_skip_one_line_tt
		hidden_effect = {
			every_state = {
				limit = {
					OR = {
						is_owned_and_controlled_by = ROOT
						any_country = {
							is_guaranteed_by = ROOT
							owns_state = PREV
							controls_state = PREV
						} {
							is_in_faction_with = ROOT
							owns_state = PREV
							controls_state = PREV
						} {
							is_subject_of = ROOT
							owns_state = PREV
							controls_state = PREV
						}
					}
				}
				add_building_construction = {
					type = bunker
					level = 2
					instant_build = yes
					province = {
						all_provinces = yes
						limit_to_border = yes
						limit_to_border_country = SOV
						level = < 3
					}
				}
			}
		}
		IF = {
			limit = {
				has_war_with = SOV
			}
			add_timed_idea = {
				idea = GER_the_eastern_bulwark_ns
				days = 365
			}
			set_global_flag = GER_eastern_bulwark_already_triggered_flag
		}
		ELSE = {
			custom_effect_tooltip = GER_build_the_eastern_bulwark_ns_tt
			effect_tooltip = {
				add_timed_idea = {
					idea = GER_the_eastern_bulwark_ns
					days = 365
				}
			}
		}
	}
}
### Entity: Order of Battle
Component: air_wing_6
Source: game
File: history/units/BEL_1936_air_bba.txt

Code:
air_wings = {
	6 = {
		small_plane_airframe_0 = {
			owner = BEL
			amount = 43
			creator = ENG
			version_name = Hawker Fury
		}
	}
}