Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: Country History
Country: RAR
Component: RAR_misc
Constructs: limit, set_technology, add_political_power, set_grand_doctrine, has_dlc, set_research_slots, set_convoys, add_command_power
Source: game
File: history/countries/RAR - Reichskommisariat Arabien.txt

Code:
# Misc for RAR
capital = 291
set_grand_doctrine = new_mobile_warfare new_convoy_raiding new_battlefield_support
if = {
	limit = {
		NOT = {
			has_dlc = By Blood Alone
		}
	}
	set_technology = {
		early_fighter = 1
		fighter1 = 1
		early_bomber = 1
		tactical_bomber1 = 1
		strategic_bomber1 = 1
		CAS1 = 1
		naval_bomber1 = 1
	}
}
{
	limit = {
		NOT = {
			has_dlc = No Step Back
		}
	}
	set_technology = {
		gwtank = 1
		basic_light_tank = 1
		improved_light_tank = 1
		basic_heavy_tank = 1
	}
}
{
	limit = {
		has_dlc = No Step Back
	}
	set_technology = {
		gwtank_chassis = 1
		basic_light_tank_chassis = 1
		improved_light_tank_chassis = 1
		basic_heavy_tank_chassis = 1
	}
}
{
	limit = {
		not = {
			has_dlc = Man the Guns
		}
	}
	set_technology = {
		transport = 1
	}
}
{
	limit = {
		has_dlc = Man the Guns
	}
	set_technology = {
		mtg_transport = 1
	}
}
set_research_slots = 3
set_convoys = 0
1939.1.1 = {
	add_political_power = 1197
	add_command_power = 100
	set_technology = {
		CAS2 = 1
		heavy_fighter1 = 1
		interwar_artillery = 1
		interwar_antitank = 1
		infantry_weapons2 = 1
		improved_infantry_weapons = 1
		support_weapons = 1
		support_weapons2 = 1
		paratroopers = 1
		electronic_mechanical_engineering = 1
		radio = 1
		cavity_magnatron = 1
		mechanical_computing = 1
		computing_machine = 1
		basic_encryption = 1
		basic_decryption = 1
		basic_machine_tools = 1
		improved_machine_tools = 1
		advanced_machine_tools = 1
		construction1 = 1
		construction2 = 1
		construction3 = 1
		construction4 = 1
		dispersed_industry = 1
		dispersed_industry2 = 1
		dispersed_industry3 = 1
		dispersed_industry4 = 1
	}
	set_grand_doctrine = new_mobile_warfare new_convoy_raiding new_battlefield_support
	complete_special_project = {
		project = sp:sp_air_radar
	}
}
### Entity: Order of Battle
Component: Seoul Imsi Heonbyeong
Constructs: division_template
Source: game
File: history/units/KOR_liberated_south.txt

Code:
division = {
	name = Seoul Imsi Heonbyeong
	location = 7125
	division_template = Imsi Heonbyeongdae
	start_experience_factor = 0.1
	start_equipment_factor = 0.75
}
### Entity: Character
Component: USA_joseph_stilwell
Constructs: has_country_flag, is_literally_china
Source: game
File: common/characters/USA.txt

Code:
USA_joseph_stilwell = {
	name = USA_joseph_stilwell
	portraits = {
		army = {
			small = GFX_idea_joseph_stilwell
		} {
			large = GFX_portrait_USA_joseph_stilwell
		}
	}
	advisor = {
		slot = high_command
		idea_token = joseph_stilwell
		ledger = army
		allowed = {
			OR = {
				is_literally_china = yes
				original_tag = USA
			}
		}
		available = {
			NOT = {
				has_country_flag = joseph_stilwell_sent_to_china
			}
		}
		traits = {
			army_logistics_2
		}
		cost = 100
		ai_will_do = {
			factor = 1.0
		}
	}
	corps_commander = {
		traits = {
			career_officer harsh_leader infantry_officer politically_connected
		}
		skill = 1
		attack_skill = 1
		defense_skill = 1
		planning_skill = 1
		logistics_skill = 1
		legacy_id = 601
	}
}
### Entity: National Focus
Tree: chi_focus
Component: CHI_sea_executive_yuan
Constructs: prerequisite, add_ideas, completion_reward, cancel_if_invalid
Source: game
File: common/national_focus/china_nationalist_warlord_TSR.txt

Code:
focus = {
	id = CHI_sea_executive_yuan
	icon = GFX_goal_generic_demand_territory
	prerequisite = {
		focus = CHI_sea_democracy
	}
	x = 1
	y = 1
	relative_position_id = CHI_sea_democracy
	cost = 10
	ai_will_do = {
		factor = 1
	}
	available = {

	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
	completion_reward = {
		add_ideas = CHI_executive_yuan
	}
}
### Entity: State History
Component: 496
Constructs: add_core_of, add_to_array
Source: game
File: history/states/496-Minas Gerais.txt

Code:
state = {
	id = 496
	name = STATE_496
	manpower = 3480321
	state_category = town
	resources = {
		steel = 2
	}
	history = {
		owner = BRA
		victory_points = {
			7476 3
		} {
			10945 5
		}
		buildings = {
			infrastructure = 2
			industrial_complex = 1
		}
		add_core_of = BRA
		add_to_array = {
			state_victory_points = 7476
		} {
			state_victory_points = 10945
		}
	}
	provinces = {
		4570 5223 7589 8233 10931 12903 12909 12938 10945 12977 2167 7476 8148 12923 2190 2218 12438 10360 8210 12479 2185 8226 12334
	}
	local_supplies = 0.0
}
### Entity: National Focus
Tree: cos_focus
Component: COS_celebrate_our_triumph
Constructs: prerequisite, add_ideas, add_war_support, completion_reward, add_political_power, is_historical_focus_on
Source: game
File: common/national_focus/costa_rica.txt

Code:
focus = {
	id = COS_celebrate_our_triumph
	icon = GFX_focus_generic_fascist_propaganda
	prerequisite = {
		focus = COS_our_own_brownshirts
	} {
		focus = COS_revenge_for_the_coto_war
	}
	available = {
		controls_state = 937
	}
	cost = 10
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_WAR_SUPPORT
	}
	x = -1
	y = 5
	relative_position_id = COS_approach_the_nazistas
	ai_will_do = {
		factor = 5
		modifier = {
			factor = 0
			is_historical_focus_on = yes
		}
	}
	completion_reward = {
		add_war_support = 0.1
		add_political_power = 100
		add_ideas = LIT_fascist_propaganda
	}
}
### Entity: Trigger Reference
Construct: has_war_with_major
Source: vanilla_docs
File: documentation/triggers_documentation.md

Doc:
## has_war_with_major

* Supported Scopes: COUNTRY
* Supported Targets: THIS, ROOT, PREV, FROM, OWNER, CONTROLLER, OCCUPIED, CAPITAL

```
is country at war with a major
```
### Entity: AI Strategy
Component: FRA_abandon_RUT_because_its_RUT
Constructs: has_government, is_ai
Source: game
File: common/ai_strategy/r56_FRA.txt

Code:
FRA_abandon_RUT_because_its_RUT = {
	allowed = {
		original_tag = FRA
	}
	enable = {
		FRA = {
			has_government = democratic
		}
		country_exists = RUT
		RUT = {
			is_ai = yes
		}
	}
	abort = {
		NOT = {
			country_exists = RUT
		}
	}
	ai_strategy = {
		type = befriend
		id = RUT
		value = -1500
	} {
		type = alliance
		id = RUT
		value = -175
	} {
		type = diplo_action_desire
		id = RUT
		target = guarantee
		value = -25
	}
}
### Entity: National Focus
Tree: ice_focus
Component: ICE_sub
Constructs: prerequisite, completion_reward, add_tech_bonus
Source: game
File: common/national_focus/r56_iceland.txt

Code:
focus = {
	id = ICE_sub
	icon = GFX_goal_generic_navy_submarine
	cost = 10
	ai_will_do = {
		factor = 1
	}
	prerequisite = {
		focus = ICE_build_dock
	}
	x = 47
	y = 2
	completion_reward = {
		add_tech_bonus = {
			name = ICE_subs_tech
			bonus = 1
			uses = 2
			category = ss_tech
		}
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
}
### Entity: Character
Component: banking_magnate
Constructs: production_speed_buildings_factor
Source: game
File: common/country_leader/r56_traits.txt

Code:
banking_magnate = {
	random = no
	sprite = 10
	consumer_goods_factor = -0.15
	production_speed_buildings_factor = 0.05
}
### Entity: Event
Component: INS_revolution_events.34
Constructs: is_triggered_only
Source: game
File: events/TAOG_Indonesia.txt

Code:
country_event = {
	id = INS_revolution_events.34
	title = INS_revolution_events.34.t
	desc = INS_revolution_events.34.desc
	picture = GFX_report_event_generic_sign_treaty1
	is_triggered_only = yes
	option = {
		name = INS_revolution_events.34.a
		activate_mission = INS_renville_timer_mission_republic
	}
}
### Entity: Event
Component: AFG_political_events.61
Constructs: is_triggered_only, ai_chance, add_to_faction, clr_country_flag
Source: game
File: events/GOE_Afghanistan.txt

Code:
country_event = {
	id = AFG_political_events.61
	title = AFG_political_events.61.t
	desc = AFG_political_events.61.desc
	is_triggered_only = yes
	picture = GFX_report_event_generic_sign_treaty2
	option = {
		name = AFG_political_events.61.a
		ai_chance = {
			base = 10
		}
		add_to_faction = FROM
		clr_country_flag = AFG_invite_to_faction_in_progress
	}
}
### Entity: National Focus
Tree: nzl_focus
Component: NZL_2nzef
Constructs: prerequisite, add_ideas, completion_reward, cancel_if_invalid
Source: game
File: common/national_focus/new_zealand.txt

Code:
focus = {
	id = NZL_2nzef
	icon = GFX_goal_generic_position_armies
	prerequisite = {
		focus = NZL_strengthen_the_commonwealth
	}
	x = 0
	y = 1
	relative_position_id = NZL_strengthen_the_commonwealth
	cost = 10
	ai_will_do = {
		factor = 25
	}
	available = {

	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	completion_reward = {
		add_ideas = NZL_2nzef
	}
}
### Entity: AI Strategy
Component: DOCTRINE_MA_large_front_operations_ratios
Constructs: has_completed_subdoctrine
Source: game
File: common/ai_strategy/doctrines.txt

Code:
DOCTRINE_MA_large_front_operations_ratios = {
	enable = {
		has_completed_subdoctrine = deep_battle
	}
	abort = {
		always = no
	}
	ai_strategy = {
		type = role_ratio
		id = infantry
		value = 5
	} {
		type = role_ratio
		id = armor
		value = 2
	}
}
### Entity: Event
Component: BBA_ethiopia_communist_events.56
Constructs: is_triggered_only, ai_chance
Source: game
File: events/BBA_Ethiopia.txt

Code:
country_event = {
	id = BBA_ethiopia_communist_events.56
	title = BBA_ethiopia_communist_events.56.t
	desc = BBA_ethiopia_communist_events.56.desc
	is_triggered_only = yes
	picture = GFX_report_event_japanese_soldiers_01
	option = {
		name = BBA_ethiopia_communist_events.56.a
		ai_chance = {
			base = 5
		}
	} {
		name = BBA_ethiopia_communist_events.56.b
		ai_chance = {
			base = 10
		}
		ETH = {
			country_event = {
				id = BBA_ethiopia_communist_events.54
				days = 7
			}
		}
	}
}
### Entity: Modifier Reference
Component: DEN_industrial_capability_dynamic_modifier_max_improved
Constructs: industrial_capacity_factory, refit_speed
Source: game
File: common/dynamic_modifiers/aat_dynamic_modifiers.txt

Code:
DEN_industrial_capability_dynamic_modifier_max_improved = {
	enable = {
		always = yes
	}
	icon = GFX_idea_generic_improved_industries
	local_resources_factor = DEN_industrial_capability_local_resources
	consumer_goods_factor = DEN_industrial_capabilities_consumer_goods
	global_building_slots_factor = DEN_industrial_capabilities_global_building_slots
	line_change_production_efficiency_factor = DEN_industrial_capabilities_retention_efficiency
	industrial_capacity_factory = DEN_industrial_capabilities_factory_output
	industrial_capacity_dockyard = DEN_industrial_capabilities_dockyard_output
	industry_repair_factor = DEN_industrial_capabilities_industry_repair
	equipment_conversion_speed = DEN_industrial_capabilities_equipment_conversion
	license_production_speed = DEN_industrial_capabilities_license_production
	refit_speed = DEN_industrial_capabilities_refit_speed
	repair_speed_factor = DEN_industrial_capabilities_ship_repair
	min_export = DEN_industrial_capability_resources_to_market
}
### Entity: AI Strategy
Component: EAI_PROD_EQUIP_MIN_amphibious_mechanized_15
Constructs: is_major
Source: game
File: common/ai_strategy/EAI_PRODUCTION_equipment_strategies.txt

Code:
EAI_PROD_EQUIP_MIN_amphibious_mechanized_15 = {
	enable = {
		is_major = yes
		num_of_military_factories = > 200
		EAI_DESIGN_MARINE_amphibious_mechanized_production_focus = yes
	}
	abort = {
		NOT = {
			AND = {
				is_major = yes
				num_of_military_factories = > 190
				EAI_DESIGN_MARINE_amphibious_mechanized_production_focus = yes
			}
		}
	}
	ai_strategy = {
		type = equipment_production_min_factories_archetype
		id = amphibious_mechanized_equipment
		value = 5
	} {
		type = equipment_production_min_factories_archetype
		id = mechanized_equipment
		value = -2
	}
}
### Entity: Idea
Component: POL_political_commissars2
Constructs: has_government, removal_cost
Source: game
File: common/ideas/r56_poland.txt

Code:
POL_political_commissars2 = {
	name = POL_political_commissars
	allowed = {
		always = no
	}
	allowed_civil_war = {
		OR = {
			has_government = communism democratic
		}
	}
	removal_cost = -1
	picture = generic_morale_bonus
	modifier = {
		army_morale_factor = 0.2
		generate_wargoal_tension = -0.2
	}
}
### Entity: National Focus
Tree: mex_focus
Component: MEX_focus_aerial_artillery
Constructs: prerequisite, has_war, add_ideas, is_major, completion_reward, cancel_if_invalid
Source: game
File: common/national_focus/mexico.txt

Code:
focus = {
	id = MEX_focus_aerial_artillery
	icon = GFX_goal_generic_occupy_start_war
	prerequisite = {
		focus = MEX_focus_army_expansion_programme
	}
	mutually_exclusive = {
		focus = MEX_focus_heavy_artillery
	}
	x = 1
	y = 1
	relative_position_id = MEX_focus_army_expansion_programme
	cost = 10
	ai_will_do = {
		factor = 100
		modifier = {
			factor = 10
			has_war = yes
		} {
			factor = 0.1
			any_enemy_country = {
				is_major = yes
			}
		}
	}
	available = {

	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = yes
	completion_reward = {
		add_ideas = MEX_aerial_artillery
	}
}
### Entity: Idea
Component: GRE_pitsos
Constructs: has_completed_focus, has_dlc, research_bonus
Source: game
File: common/ideas/greece.txt

Code:
GRE_pitsos = {
	picture = gre_pitsos
	allowed = {
		original_tag = GRE
		has_dlc = Battle for the Bosporus
	}
	available = {
		has_completed_focus = GRE_crack_down_on_foreign_monopolies
	}
	research_bonus = {
		electronics = 0.05
	}
	traits = {
		electronics_developer
	}
	modifier = {
		consumer_goods_factor = -0.2
	}
}
### Entity: Order of Battle
Component: air_wing_378
Source: game
File: history/units/USA_1936_air_bba.txt

Code:
air_wings = {
	378 = {
		medium_plane_airframe_0 = {
			owner = USA
			amount = 72
			version_name = P2Y
		}
	}
}
### Entity: Event
Component: venezuela.13
Constructs: is_triggered_only, fire_only_once
Source: game
File: events/venezuela.txt

Code:
country_event = {
	id = venezuela.13
	picture = GFX_report_event_germany_politician_handshake
	title = venezuela.13.t
	desc = venezuela.13.d
	fire_only_once = yes
	is_triggered_only = yes
	option = {
		name = venezuela.13.a
	}
}
### Entity: Event
Component: MUN_the_fall_of_the_republic.1
Constructs: is_triggered_only, add_timed_idea
Source: game
File: events/MUN_Czechoslovakia.txt

Code:
country_event = {
	id = MUN_the_fall_of_the_republic.1
	title = MUN_the_fall_of_the_republic.1.t
	desc = MUN_the_fall_of_the_republic.1.d
	picture = GFX_report_event_gathering_protest
	immediate = {
		hidden_effect = {
			country_event = {
				id = MUN_the_fall_of_the_republic.2
				days = 6
			}
			add_timed_idea = {
				idea = CZE_widespread_protests
				days = 180
			}
		}
	}
	is_triggered_only = yes
	option = {
		name = MUN_the_fall_of_the_republic.1.a
		custom_effect_tooltip = generic_skip_one_line_tt generic_has_happen_tt
		effect_tooltip = {
			add_timed_idea = {
				idea = CZE_widespread_protests
				days = 180
			}
		}
	}
}
### Entity: National Focus
Tree: cze_focus
Component: CZE_the_second_fortification_program
Constructs: prerequisite, limit, add_ideas, completion_reward, is_controlled_by, unlock_decision_category_tooltip, has_dlc, add_breakthrough_progress
Source: game
File: common/national_focus/czechoslovakia_mu.txt

Code:
focus = {
	id = CZE_the_second_fortification_program
	icon = GFX_focus_CZE_second_fortification_program
	relative_position_id = CZE_redirect_the_fortification_councils_funds
	prerequisite = {
		focus = CZE_raise_more_industrial_funds
	}
	x = 3
	y = 0
	cost = 5
	mutually_exclusive = {
		focus = CZE_redirect_the_fortification_councils_funds
	}
	available = {
		any_core_state = {
			is_controlled_by = ROOT
		}
	}
	ai_will_do = {
		factor = 10
	}
	completion_reward = {
		unlock_decision_category_tooltip = CZE_the_second_fortification_program_category
		custom_effect_tooltip = generic_skip_one_line_tt generic_skip_one_line_tt available_political_advisor generic_skip_one_line_tt
		if = {
			limit = {
				has_dlc = Gotterdammerung
			}
			add_ideas = CZE_directorate_of_fortification_works_gd_idea
		}
		else = {
			add_ideas = CZE_directorate_of_fortification_works_no_gd_idea
		}
		show_unit_leaders_tooltip = CZE_karel_husarek
		show_ideas_tooltip = CZE_karel_husarek
		add_breakthrough_progress = {
			specialization = specialization_land
			value = 0.25
		}
	}
	search_filters = {
		FOCUS_FILTER_HISTORICAL FOCUS_FILTER_POLITICAL_CHARACTER
	}
}
### Entity: AI Strategy
Component: GER_endsieg_front
Constructs: has_government, has_war_with, has_country_flag
Source: game
File: common/ai_strategy/r56_GER.txt

Code:
GER_endsieg_front = {
	allowed = {
		original_tag = GER
	}
	enable = {
		ROOT = {
			has_government = fascism
			has_country_flag = r56_GER_endsieg_event_happened
			surrender_progress = > 0.1
			has_war_with = SOV
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = area_priority
		id = germany_endsieg_front
		value = 775
	} {
		type = front_unit_request
		area = germany_endsieg_front
		value = 775
	} {
		type = front_armor_score
		id = SOV
		value = 125
	} {
		type = front_unit_request
		area = yugo_front
		value = -75
	} {
		type = front_unit_request
		area = metropolitan_france
		value = -75
	} {
		type = front_unit_request
		area = den_nor_front
		value = 75
	} {
		type = area_priority
		id = den_nor_front
		value = 75
	}
}
### Entity: Event
Component: CZE.438
Constructs: is_triggered_only, limit, remove_ideas, add_stability, add_political_power, has_idea, swap_ideas, remove_idea
Source: game
File: events/CZE_Czechoslovakia.txt

Code:
country_event = {
	id = CZE.438
	title = CZE.438.t
	desc = CZE.438.d
	picture = GFX_CZKE_runciman_mission_report
	is_triggered_only = yes
	option = {
		name = CZE.438.a
		custom_effect_tooltip = CZE_petition_league_of_nations_tooltip_reward
		if = {
			limit = {
				has_idea = CZE_divided_nation
			}
			custom_effect_tooltip = CHL_skip_one_line_tt
			add_political_power = -50
			add_stability = -0.05
			swap_ideas = {
				remove_idea = CZE_divided_nation
				add_idea = CZE_divided_nation_2
			}
		} {
			limit = {
				has_idea = CZE_divided_nation_2
			}
			custom_effect_tooltip = CHL_skip_one_line_tt
			add_political_power = -50
			add_stability = -0.05
			remove_ideas = CZE_divided_nation_2
		}
	}
}
### Entity: Modifier Reference
Component: ITA_regio_esercito_3_dynamic_modifier
Constructs: army_attack_factor, conscription_factor
Source: game
File: common/dynamic_modifiers/bba_dynamic_modifiers.txt

Code:
ITA_regio_esercito_3_dynamic_modifier = {
	enable = {
		always = yes
	}
	icon = GFX_idea_ITA_regio_esercito_3
	max_dig_in_factor = ITA_re_army_max_dig_in_factor
	land_doctrine_cost_factor = ITA_re_land_doctrine_cost_factor
	army_speed_factor = ITA_re_army_speed_factor
	army_org_factor = ITA_re_army_army_org_factor
	org_loss_when_moving = ITA_re_org_loss_when_moving
	army_morale_factor = ITA_re_army_morale_factor
	army_leader_cost_factor = ITA_re_army_leader_cost_factor
	experience_gain_factor = ITA_re_experience_gain_factor
	modifier_army_sub_unit_infantry_defence_factor = ITA_re_modifier_army_sub_unit_infantry_defence_factor
	army_core_defence_factor = ITA_re_army_core_defence_factor
	modifier_army_sub_unit_cavalry_speed_factor = ITA_re_modifier_army_sub_unit_cavalry_speed_factor
	modifier_army_sub_unit_cavalry_attack_factor = ITA_re_modifier_army_sub_unit_cavalry_attack_factor
	unit_cavalry_design_cost_factor = ITA_re_unit_cavalry_design_cost_factor
	unit_camelry_design_cost_factor = ITA_re_unit_camelry_design_cost_factor
	special_forces_cap = ITA_re_special_forces_cap
	special_forces_attack_factor = ITA_re_special_forces_attack_factor
	special_forces_defence_factor = ITA_re_special_forces_defence_factor
	modifier_army_sub_unit_mountaineers_defence_factor = ITA_re_modifier_army_sub_unit_mountaineers_defence_factor
	modifier_army_sub_unit_mountaineers_max_org_factor = ITA_re_modifier_army_sub_unit_mountaineers_max_org_factor
	modifier_army_sub_unit_paratrooper_max_org_factor = ITA_re_modifier_army_sub_unit_paratrooper_max_org_factor
	modifier_army_sub_unit_militia_max_org_factor = ITA_re_modifier_army_sub_unit_militia_max_org_factor
	modifier_army_sub_unit_militia_defence_factor = ITA_re_modifier_army_sub_unit_militia_defence_factor
	modifier_army_sub_unit_militia_attack_factor = ITA_re_modifier_army_sub_unit_militia_attack_factor
	modifier_army_sub_unit_militia_speed_factor = ITA_re_modifier_army_sub_unit_militia_speed_factor
	special_forces_out_of_supply_factor = ITA_re_special_forces_out_of_supply_factor
	conscription_factor = ITA_re_conscription_factor
	promote_cost_factor = ITA_re_promote_cost_factor
	command_power_gain_mult = ITA_re_command_power_gain_mult
	non_core_manpower = ITA_re_non_core_manpower
	army_attack_factor = ITA_re_army_attack_factor
	modifier_army_sub_unit_cavalry_defence_factor = ITA_re_modifier_army_sub_unit_cavalry_defence_factor
	m
# ... (truncated)
### Entity: National Focus
Tree: nor_focus
Component: NOR_convoy_defense
Constructs: prerequisite, completion_reward, add_to_variable
Source: game
File: common/national_focus/norway.txt

Code:
focus = {
	id = NOR_convoy_defense
	icon = GFX_focus_generic_coastal_fort
	prerequisite = {
		focus = NOR_expand_merchant_marine
	}
	x = 0
	y = 1
	relative_position_id = NOR_expand_merchant_marine
	available_if_capitulated = yes
	cost = 10
	available = {
		NOR_broken_gun_trigger = yes
	}
	search_filters = {

	}
	completion_reward = {
		custom_effect_tooltip = NOR_modify_royal_navy_dmod_TT
		add_to_variable = {
			var = NOR.NOR_royal_navy_dmod_convoy_escort_efficiency
			value = 0.3
			tooltip = convoy_escort_efficiency_tt
		}
	}
}
### Entity: National Focus
Tree: ita_focus
Component: ITA_secure_the_borders
Constructs: every_owned_state, prerequisite, limit, completion_reward, add_to_variable, is_fully_controlled_by, is_in_faction_with, every_neighbor_state
Source: game
File: common/national_focus/italy.txt

Code:
focus = {
	id = ITA_secure_the_borders
	icon = GFX_goal_fortify_the_westwall
	prerequisite = {
		focus = ITA_scientific_cooperation
	}
	x = -1
	y = 1
	relative_position_id = ITA_scientific_cooperation
	cost = 10
	available = {

	}
	search_filters = {

	}
	completion_reward = {
		add_to_variable = {
			ITA_re_army_core_defence_factor = 0.05
		}
		custom_effect_tooltip = ITA_secure_the_borders_re_tt ITA_secure_the_borders_forts_tt
		every_owned_state = {
			limit = {
				is_fully_controlled_by = ROOT
				any_neighbor_state = {
					controller = {
						NOT = {
							is_in_faction_with = ROOT
						}
					}
					impassable = no
				}
				impassable = no
			}
			every_neighbor_state = {
				limit = {
					controller = {
						NOT = {
							is_in_faction_with = ROOT
						}
					}
					impassable = no
				}
				if = {
					limit = {
						NOT = {
							is_in_array = {
								ROOT.targetcountries = THIS.controller
							}
						}
					}
					PREV = {
						add_building_construction = {
							type = bunker
							level = 2
							instant_build = yes
							province = {
								all_provinces = yes
								limit_to_border_country = PREV.controller
							}
						}
					}
					add_to_array = {
						ROOT.targetcountries = THIS.controller
					}
				}
			}
			clear_array = ROOT.targetcountries
		}
	}
}