Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: Joint Focus
Component: CONGO_expand_ndolo_and_elisabethville_airports
Constructs: prerequisite, limit, joint_focus, has_war_with, completion_reward, is_subject_of, has_global_flag, is_in_faction_with
Source: game
File: common/national_focus/congo_shared.txt

Code:
joint_focus = {
	id = CONGO_expand_ndolo_and_elisabethville_airports
	dynamic = yes
	icon = GFX_focus_generic_air_bases
	prerequisite = {
		focus = CONGO_aviation_militaire_de_la_force_publique
	}
	relative_position_id = CONGO_force_publique
	x = 4
	y = 2
	cost = 10
	text_icon = CONGO_BEL_COG_focus_style
	joint_trigger = {
		CONGO_is_a_congo_viable_nation = yes
	}
	available = {
		OR = {
			AND = {
				original_tag = BEL
				BEL = {
					any_subject_country = {
						original_tag = COG
					}
				}
			} {
				original_tag = COG
				COG = {
					is_subject_of = BEL
				}
			}
		}
		NOT = {
			OR = {
				has_war_with = BEL COG
				has_global_flag = CONGO_independence_war_ongoing
			}
		}
	}
	available_if_capitulated = yes
	completion_reward = {

	}
	completion_reward_joint_originator = {
		IF = {
			limit = {
				AND = {
					original_tag = COG
					NOT = {
						is_in_faction_with = USA
					}
				}
			}
			custom_effect_tooltip = modify_COG_force_publique_tt CONGO_expand_ndolo_and_elisabethville_airports_tt generic_skip_one_line_tt
			add_to_variable = {
				BEL.COG_force_publique_production_speed_air_base_factor = 0.1
				tooltip = production_speed_air_base_factor_tt
			}
			IF = {
				limit = {
					295 = {
						is_controlled_by = PREV
						free_building_slots = {
							building = air_base
							size = > 1
						}
					}
				}
				295 = {
					add_building_construction = {
						type = air_base
						level = 2
						instant_build = yes
					}
				}
			} {
				limit = {
					889 = {
						is_controlled_by = PREV
						free_building_slots = {
							building = air_base
							size = > 1
						}
					}
				}
				889 = {
					add_building_construction = {
						type = air_base
						level = 2
						instant_build = yes
					}
				}
			}
		} {
			limit = {
				AND = {
					original_tag = COG
					is_in_faction_with = USA
				}
			}
			custom_effect_tooltip = modify_COG_force_publique_tt
			add_to_variable = {
				BEL.COG_force_publique_production_speed_air_base_factor = 0.25
				tooltip = production_speed_air_base_factor_tt
			}
		} {
			limit = {
				AND = {
					original_tag = BEL
					NOT = {
						is_in_faction_with = USA
					}
				}
			}
			custom_effect_tooltip = modify_BEL_belgian_congo_colonial_returns_dynamic_modifier_tt CONGO_expand_ndolo_and_elisabethville_airports_tt
			add_to_variable = {
				BEL.BEL_belgian_congo_colonial_returns_dynamic_modif
# ... (truncated)
### Entity: National Focus
Tree: tur_focus
Component: TUR_military_first_policies
Constructs: prerequisite, limit, add_ideas, remove_ideas, completion_reward, add_political_power, has_idea, swap_ideas
Source: game
File: common/national_focus/r56_turkey.txt

Code:
focus = {
	id = TUR_military_first_policies
	icon = GFX_goal_generic_multinational_army
	prerequisite = {
		focus = TUR_continue_military_rule
	}
	x = 1
	y = 1
	relative_position_id = TUR_continue_military_rule
	cost = 10
	ai_will_do = {
		factor = 10
	}
	completion_reward = {
		add_political_power = 70
		if = {
			limit = {
				has_idea = TUR_traumatized_nation
			}
			swap_ideas = {
				remove_idea = TUR_traumatized_nation
				add_idea = TUR_traumatized_nation_2
			}
		}
		else_if = {
			limit = {
				has_idea = TUR_traumatized_nation_2
			}
			swap_ideas = {
				remove_idea = TUR_traumatized_nation_2
				add_idea = TUR_traumatized_nation_3
			}
		}
		else = {
			remove_ideas = TUR_traumatized_nation_3
		}
		add_ideas = TUR_military_first_idea
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_TUR_TRADITIONALISM
	}
}
### Entity: AI Strategy
Component: ask_foreign_manpower_as_major
Constructs: is_major
Source: game
File: common/ai_strategy/default.txt

Code:
ask_foreign_manpower_as_major = {
	enable = {
		is_major = yes
		garrison_manpower_need = > 200000
	}
	abort = {
		garrison_manpower_need = < 100000
	}
	ai_strategy = {
		type = asking_foreign_garrison
		value = 100
	}
}
### Entity: National Focus
Component: ah_militarism
Constructs: prerequisite, limit, add_ideas, remove_ideas, completion_reward, has_idea, set_rule
Source: game
File: common/national_focus/austro_hungarian_releasable_shared.txt

Code:
focus = {
	id = ah_militarism
	icon = GFX_goal_generic_political_pressure
	prerequisite = {
		focus = ah_nationalism_focus
	}
	x = 0
	y = 1
	relative_position_id = ah_nationalism_focus
	cost = 10
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
	available_if_capitulated = yes
	completion_reward = {
		if = {
			limit = {
				has_idea = neutrality_idea
			}
			remove_ideas = neutrality_idea
		}
		add_ideas = militarism_focus
		army_experience = 20
		set_rule = {
			can_send_volunteers = yes
		}
	}
}
### Entity: Trigger Reference
Construct: has_intelligence_agency
Source: vanilla_docs
File: documentation/triggers_documentation.md

Doc:
## has_intelligence_agency

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

```
has country created an Intelligence Agency
```
### Entity: National Focus
Tree: que_focus
Component: QUE_rocket_research
Constructs: prerequisite, add_ideas, completion_reward, add_tech_bonus, add_breakthrough_progress
Source: game
File: common/national_focus/quebec.txt

Code:
focus = {
	id = QUE_rocket_research
	icon = GFX_focus_rocketry
	relative_position_id = QUE_fund_an_air_force
	x = 0
	y = 4
	cost = 10
	available_if_capitulated = yes
	prerequisite = {
		focus = QUE_naval_support_focus QUE_ground_support_focus
	} {
		focus = QUE_focus_on_anti_air
	}
	ai_will_do = {
		factor = 5
	}
	completion_reward = {
		add_tech_bonus = {
			name = QUE_rocket_research
			bonus = 0.5
			uses = 2
			category = rocketry jet_technology
		}
		custom_effect_tooltip = generic_skip_one_line_tt generic_skip_one_line_tt
		add_breakthrough_progress = {
			specialization = specialization_air
			value = 0.5
		}
		add_ideas = r56_generic_rocket_idea
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
}
### Entity: Event
Component: mtg_netherlands.53
Constructs: is_triggered_only, add_timed_idea, random_days
Source: game
File: events/MTG_Netherlands.txt

Code:
country_event = {
	id = mtg_netherlands.53
	title = mtg_netherlands.53.t
	desc = mtg_netherlands.53.d
	picture = GFX_report_event_hol_prins_bernhard
	is_triggered_only = yes
	option = {
		name = mtg_netherlands.53.a
		add_timed_idea = {
			idea = HOL_bernhard_bad_intelligence
			days = 30
		}
		hidden_effect = {
			country_event = {
				id = mtg_netherlands.44
				days = 60
				random_days = 60
			}
		}
	}
}
### Entity: National Focus
Tree: per_focus
Component: PER_establish_nuclear_program
Constructs: prerequisite, limit, completion_reward, has_facility_specialization, is_fully_controlled_by, add_building_construction, add_breakthrough_progress, random_owned_controlled_state
Source: game
File: common/national_focus/persia.txt

Code:
focus = {
	id = PER_establish_nuclear_program
	icon = GFX_focus_wonderweapons
	prerequisite = {
		focus = PER_negotiate_with_america
	}
	x = 0
	y = 1
	relative_position_id = PER_negotiate_with_america
	cost = 10
	available = {
		num_of_owned_factories = > 50
	}
	ai_will_do = {
		factor = 15
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
	completion_reward = {
		IF = {
			limit = {
				NOT = {
					has_facility_specialization = specialization_nuclear
				}
			}
			IF = {
				limit = {
					266 = {
						is_fully_controlled_by = ROOT
						can_construct_building = nuclear_facility
					}
				}
				266 = {
					add_building_construction = {
						type = nuclear_facility
						level = 1
						instant_build = yes
						province = 10768
					}
				}
				custom_effect_tooltip = generic_skip_one_line_tt
				add_breakthrough_progress = {
					specialization = specialization_nuclear
					value = 0.5
				}
			}
			ELSE = {
				random_owned_controlled_state = {
					limit = {
						can_construct_building = nuclear_facility
					}
					construct_building_in_random_province = {
						nuclear_facility = 1
					}
				}
				custom_effect_tooltip = generic_skip_one_line_tt
				add_breakthrough_progress = {
					specialization = specialization_nuclear
					value = 0.5
				}
			}
		}
		ELSE = {
			add_breakthrough_progress = {
				specialization = specialization_nuclear
				value = 1
			}
		}
	}
}
### Entity: Event
Component: NSB_poland_events.303
Constructs: is_triggered_only, ai_chance, limit, owns_state, fire_only_once, has_army_size, set_rule, create_faction_from_template
Source: game
File: events/NSB_Poland.txt

Code:
country_event = {
	id = NSB_poland_events.303
	title = NSB_poland_events.303.t
	desc = NSB_poland_events.303.desc
	picture = GFX_report_event_generic_parliament
	is_triggered_only = yes
	fire_only_once = yes
	option = {
		name = NSB_poland_events.303.a
		ai_chance = {
			factor = 30
			modifier = {
				add = -25
				GER = {
					has_army_size = {
						size = < 40
					}
				}
			} {
				add = 100
				GER = {
					has_army_size = {
						size = > 39
					}
				}
			}
		}
		set_rule = {
			can_create_factions = yes
		}
		create_faction_from_template = {
			template = faction_template_GER_mitteleuropa_alliance
			name = POL_GER_ALLIANCE
		}
		add_to_faction = GER
		if = {
			limit = {
				owns_state = 807
			}
			807 = {
				add_core_of = GER
			}
			GER = {
				transfer_state = 807
			}
		} {
			limit = {
				owns_state = 85
			}
			85 = {
				add_core_of = GER
			}
			GER = {
				transfer_state = 85
			}
		}
	} {
		name = germany.86.b
		ai_chance = {
			factor = 40
		}
		effect_tooltip = {
			GER = {
				create_wargoal = {
					type = take_state
					target = POL
					generator = {
						85 807
					}
				}
			}
		}
		hidden_effect = {
			GER = {
				country_event = {
					id = NSB_poland_events.304
					days = 2
				}
			}
		}
	}
}
### Entity: National Focus
Tree: sov_focus
Component: SOV_progress_cult_old
Constructs: has_completed_focus, prerequisite, limit, add_ideas, completion_reward, add_research_slot, add_timed_idea, modify_timed_idea
Source: game
File: common/national_focus/soviet_old.txt

Code:
focus = {
	id = SOV_progress_cult_old
	text = SOV_progress_cult
	icon = GFX_focus_generic_socialist_science
	prerequisite = {
		focus = SOV_Education_Initiative
	} {
		focus = SOV_Mass_Immunizations_old
	}
	x = 5
	y = 2
	cost = 10
	ai_will_do = {
		factor = 7
	}
	available = {
		num_of_factories = > 105
	}
	available_if_capitulated = yes
	completion_reward = {
		add_ideas = progress_cult_focus
		add_research_slot = 1
		if = {
			limit = {
				has_completed_focus = SOV_Invest_in_Engineering_old
			}
			add_timed_idea = {
				idea = SOV_engineering_push
				days = 30
			}
		}
		modify_timed_idea = {
			idea = SOV_revolutionized_industry_1
			days = 100
		} {
			idea = SOV_revolutionized_industry_2
			days = 100
		}
		add_breakthrough_progress = {
			specialization = specialization_land
			value = 0.25
		} {
			specialization = specialization_naval
			value = 0.25
		} {
			specialization = specialization_air
			value = 0.25
		} {
			specialization = specialization_nuclear
			value = 0.25
		}
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
}
### Entity: Character
Component: KMT_savior_of_all_china
Constructs: stability_factor, war_support_factor
Source: game
File: common/country_leader/r56_traits.txt

Code:
KMT_savior_of_all_china = {
	random = no
	sprite = 13
	stability_factor = 0.1
	war_support_factor = 0.1
	army_core_attack_factor = 0.1
}
### Entity: Balance of Power
Component: ETH_centralization_balance
Constructs: research_speed_factor, limit, war_support_factor, has_country_flag, add_stability, set_variable, has_stability, check_variable
Source: game
File: common/bop/ETH.txt

Code:
ETH_centralization_balance = {
	initial_value = -0.25
	left_side = ETH_mesafint_side
	right_side = ETH_mekwanint_side
	decision_category = ETH_centralization_balance_of_power_category
	range = {
		id = ETH_balance_range
		min = -0.15
		max = 0.15
		modifier = {
			war_support_factor = 0
			research_speed_factor = 0
			political_power_factor = 0
			max_command_power_mult = 0
			consumer_goods_factor = 0
			custom_modifier_tooltip = ETH_balance_range_tt
		}
		on_activate = {
			set_variable = {
				ETH_state_decentralization_building_slots = 0
			} {
				ETH_state_decentralization_infrastructure = 0.0
			} {
				ETH_state_decentralization_resources = 0
			} {
				ETH_state_decentralization_defence = 0
			} {
				ETH_state_decentralization_attack = 0
			} {
				ETH_state_decentralization_recruitable_population = 0
			} {
				ETH_state_decentralization_army_speed = 0
			} {
				ETH_decentralist_advisor_cost = 150
			} {
				ETH_centralist_advisor_cost = 150
			}
		}
		on_deactivate = {

		}
	}
	side = {
		id = ETH_mesafint_side
		icon = GFX_bop_ETH_decentralisation_side
		range = {
			id = ETH_mesafint_total_control_range
			min = -1
			max = -0.9
			modifier = {
				war_support_factor = 0.1
				research_speed_factor = -0.1
				political_power_factor = -0.15
				max_command_power_mult = 0.1
				consumer_goods_factor = 0.2
				custom_modifier_tooltip = ETH_mesafint_total_control_range_state_modifiers_tt
			}
			on_activate = {
				set_variable = {
					ETH_state_decentralization_building_slots = -0.25
				} {
					ETH_state_decentralization_infrastructure = -0.2
				} {
					ETH_state_decentralization_resources = -0.2
				} {
					ETH_state_decentralization_defence = 0.2
				} {
					ETH_state_decentralization_attack = 0.2
				} {
					ETH_state_decentralization_recruitable_population = -0.25
				} {
					ETH_state_decentralization_army_speed = 0.1
				} {
					ETH_decentralist_advisor_cost = 50
				} {
					ETH_centralist_advisor_cost = 250
				}
				custom_effect_tooltip = ETH_risk_of_disintegration_tt ETH_risk_of_demoralized_ras_tt
				IF = {
					limit = {
						AND = {
							has_stability = < 0.15
							check_variable = {
								ROOT.party_popularity@ruling_party = < 0.4
							}
						}
						NOT = {
							has_country_flag = ETH_disintegration_happened_flag
						}
					}
					country_event = {
						id = BBA_ethiopia_balance_of_power_events.10
						ho
# ... (truncated)
### Entity: Event
Component: lar_news.14
Constructs: is_triggered_only, has_country_flag
Source: game
File: events/LAR_NewsEvents.txt

Code:
news_event = {
	id = lar_news.14
	title = lar_news.14.t
	desc = lar_news.14.desc
	picture = GFX_news_event_soldiers_marching
	major = yes
	is_triggered_only = yes
	option = {
		name = lar_news.14.a
		trigger = {
			original_tag = SPR
		}
	} {
		name = lar_news.14.b
		trigger = {
			original_tag = FRA
			has_country_flag = surrendered_french_north_africa
		}
	} {
		name = lar_news.14.c
		trigger = {
			original_tag = FRA
			NOT = {
				has_country_flag = surrendered_french_north_africa
			}
		}
	} {
		name = lar_news.14.d
		trigger = {
			tag = GER
		}
	} {
		name = lar_news.14.e
		trigger = {
			NOT = {
				original_tag = SPR FRA
				tag = GER
			}
		}
	}
}
### Entity: Shared Focus
Tree: cel_focus
Component: CEL_increase_naval_production
Constructs: shared_focus, prerequisite, limit, completion_reward, random_owned_controlled_state, add_extra_state_shared_building_slots, add_building_construction
Source: game
File: common/national_focus/r56_celtic_shared.txt

Code:
shared_focus = {
	id = CEL_increase_naval_production
	prerequisite = {
		focus = CEL_destroyer_focus
	} {
		focus = CEL_cruiser_focus
	}
	icon = GFX_focus_generic_refit_civilian_ships
	x = 0
	y = 1
	relative_position_id = CEL_cruiser_focus
	cost = 10
	ai_will_do = {
		factor = 1
	}
	available_if_capitulated = yes
	completion_reward = {
		random_owned_controlled_state = {
			limit = {
				free_building_slots = {
					building = dockyard
					size = > 1
					include_locked = yes
				}
			}
			add_extra_state_shared_building_slots = 1
			add_building_construction = {
				type = dockyard
				level = 1
				instant_build = yes
			}
		} {
			limit = {
				free_building_slots = {
					building = dockyard
					size = > 1
					include_locked = yes
				}
			}
			add_extra_state_shared_building_slots = 1
			add_building_construction = {
				type = dockyard
				level = 1
				instant_build = yes
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY
	}
}
### Entity: Character
Component: mussolini_minister_of_foreign_affairs
Source: game
File: common/country_leader/00_traits.txt

Code:
mussolini_minister_of_foreign_affairs = {
	random = no
	sprite = 13
	opinion_gain_monthly_factor = 0.07
	resistance_damage_to_garrison = -0.07
}
### Entity: Event
Component: treaty_org.4
Constructs: is_triggered_only, limit, add_ideas, is_in_faction_with, has_idea
Source: game
File: events/treaty_orgs.txt

Code:
news_event = {
	id = treaty_org.4
	title = treaty_org.3.t
	desc = treaty_org.4.desc
	picture = GFX_news_event_generic_sign_treaty3
	is_triggered_only = yes
	major = yes
	option = {
		name = treaty_org.4.a
		trigger = {
			NOT = {
				OR = {
					tag = SOV
					is_in_faction_with = SOV
				}
			}
		}
		effect_tooltip = {
			if = {
				limit = {
					has_idea = TO_nato_ratified
				}
				add_ideas = TO_nato_ratified
			}
		}
	} {
		name = treaty_org.4.b
		trigger = {
			OR = {
				tag = SOV
				is_in_faction_with = SOV
			}
		}
	}
}
### Entity: Idea
Component: GER_the_shield_of_democracy_idea
Constructs: has_government, removal_cost
Source: game
File: common/ideas/GER.txt

Code:
GER_the_shield_of_democracy_idea = {
	allowed = {
		always = no
	}
	allowed_civil_war = {
		has_government = democratic
	}
	removal_cost = -1
	picture = GER_the_shield_of_democracy
	modifier = {
		drift_defence_factor = 0.2
	}
}
### Entity: Country History
Country: SAD
Component: SAD_politics
Constructs: set_stability, set_war_support, set_politics, set_popularities
Source: game
File: history/countries/SAD - Sardinia.txt

Code:
# Politics & Parties for SAD
set_stability = 0.6
set_war_support = 0.7
set_politics = {
	ruling_party = neutrality
	last_election = 1934.3.26
	election_frequency = 60
	elections_allowed = no
}
set_popularities = {
	democratic = 19
	fascism = 36
	communism = 2
	neutrality = 43
}
### Entity: State History
Component: 433
Constructs: add_core_of, add_to_array, has_dlc
Source: game
File: history/states/433-Manipur.txt

Code:
state = {
	id = 433
	name = STATE_433
	provinces = {
		1199 1908 2054 4149 4915 4971 4984 7905 7998 10847 10866 12041 12718 12743 12829 12844 12876 12886
	}
	history = {
		owner = RAJ
		add_core_of = RJP
		add_to_array = {
			state_victory_points = 1908
		}
		buildings = {
			infrastructure = 1
			4915 = {
				landmark_taj_mahal = {
					level = 1
					allowed = {
						has_dlc = Graveyard of Empires
					}
				}
			}
		}
		victory_points = {
			1908 5
		}
	}
	state_category = rural town
	manpower = 12786000
	buildings_max_level_factor = 1.0
	local_supplies = 9.0
}
### Entity: AI Strategy
Component: EAI_PROD_ARMY_marine_spec_ops_army_production_strategy
Constructs: has_country_flag, check_variable, build_army
Source: game
File: common/ai_strategy/EAI_PRODUCTION_division_strategies.txt

Code:
EAI_PROD_ARMY_marine_spec_ops_army_production_strategy = {
	enable = {
		OR = {
			has_country_flag = EAI_TEMPLATE_marine_template_upgrade EAI_TEMPLATE_amphibious_template_upgrade
		}
		check_variable = {
			EAI_FOCUS/LAND/spec_ops = global.EAI_MAR_SPEC_OPS
		}
		NOT = {
			has_country_flag = EAI_default_army_production_strategy_reset_2
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = build_army
		id = marine
		value = 500
	}
}
### Entity: Event
Component: wtt_japan.130
Constructs: is_triggered_only, limit, owns_state, is_literally_china, set_party_name, is_controlled_by, is_subject_of, set_autonomy
Source: game
File: events/WTT_Japan.txt

Code:
country_event = {
	id = wtt_japan.130
	title = wtt_japan.127.t
	desc = wtt_japan.127.desc
	picture = GFX_report_event_japanese_chinese_surrender
	is_triggered_only = yes
	option = {
		name = wtt_japan.127.a
		if = {
			limit = {
				NOT = {
					any_country = {
						is_literally_china = yes
						controls_state = 525 527 1029 1031 1030 1028
					}
				}
				JAP = {
					owns_state = 525 527 1029 1031 1030 1028
				}
			}
			FROM = {
				release = KOR
			}
			KOR = {
				transfer_state = 525 527 1029 1031 1030 1028
			} {
				set_party_name = {
					ideology = neutrality
					long_name = KOR_neutrality_party
					name = KOR_neutrality_party
				} {
					ideology = democratic
					long_name = KOR_democratic_party
					name = KOR_democratic_party
				}
			}
			MAN = {
				puppet = KOR
			}
		} {
			limit = {
				524 = {
					is_controlled_by = JAP
				}
			}
			MAN = {
				transfer_state = 524
			}
		}
		else_if = {
			limit = {
				KOR = {
					exists = yes
					is_subject_of = JAP
				}
			}
			JAP = {
				set_autonomy = {
					target = KOR
					autonomy_state = autonomy_free
					end_wars = yes
					end_civil_wars = yes
				}
			}
			MAN = {
				puppet = KOR
			}
			KOR = {
				set_party_name = {
					ideology = neutrality
					long_name = KOR_neutrality_party
					name = KOR_neutrality_party
				} {
					ideology = democratic
					long_name = KOR_democratic_party
					name = KOR_democratic_party
				}
				retire_character = KOR_jiro_minami
			}
		}
		MAN = {
			every_controlled_state = {
				limit = {
					OR = {
						is_owned_by = JAP
						AND = {
							is_owned_by = MEN
							MEN = {
								is_subject_of = JAP
							}
						}
					}
				}
				MAN = {
					transfer_state = PREV
				}
			}
			white_peace = ROOT
		}
	}
}
### Entity: Modifier Reference
Construct: modifier_army_sub_unit_blackshirt_assault_battalion_attack_f
Source: vanilla_docs
File: documentation/modifiers_documentation.md

Doc:
## modifier_army_sub_unit_blackshirt_assault_battalion_attack_factor

* Number with 2 decimal places
* **Categories**: army
### Entity: Technology
Component: rangers_fire_support_integration
Constructs: force_use_small_tech_layout, research_cost
Source: game
File: common/technologies/special_forces_doctrine.txt

Code:
technology = {
	xp_research_type = army
	xp_unlock_cost = 60
	force_use_small_tech_layout = yes
	xor = {
		rangers_recon_terrain_training
	}
	path = {
		leads_to_tech = rangers_urban_combat
		research_cost_coeff = 1
	}
	categories = {
		special_forces_doctrine cat_rangers_doctrine
	}
	artillery = {
		battalion_mult = {
			category = category_rangers
			defense = 0.05
			breakthrough = 0.05
		}
	}
	rangers_support = {
		battalion_mult = {
			category = category_line_artillery
			defense = 0.15
			breakthrough = 0.15
		}
	}
	doctrine = yes
	research_cost = 2.25
	folder = {
		name = special_forces_doctrine_folder
		position = {
			x = 1
			y = 6
		}
	}
}
### Entity: National Focus
Tree: lie_focus
Component: LIE_ministry_of_public_enlightenment
Constructs: prerequisite, add_ideas, has_government, completion_reward, add_popularity
Source: game
File: common/national_focus/liechtenstein.txt

Code:
focus = {
	id = LIE_ministry_of_public_enlightenment
	icon = GFX_goal_generic_propaganda
	prerequisite = {
		focus = LIE_eliminate_the_vestiges
	}
	x = 2
	y = 1
	relative_position_id = LIE_eliminate_the_vestiges
	cost = 10
	ai_will_do = {
		factor = 1
	}
	available = {
		has_government = fascism
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY FOCUS_FILTER_WAR_SUPPORT
	}
	completion_reward = {
		add_popularity = {
			ideology = fascism
			popularity = 0.1
		}
		add_ideas = GEN_why_we_fight_I
		custom_effect_tooltip = generic_skip_one_line_tt available_political_advisor
		show_ideas_tooltip = LIE_carl_freiherr_von_vogelsang
	}
}
### Entity: Trigger Reference
Construct: has_war_with_wargoal_against
Constructs: has_war_with_wargoal_against, take_state
Source: vanilla_docs
File: documentation/triggers_documentation.md

Doc:
## has_war_with_wargoal_against

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

```
Checks if country has a war started with a wargoal against the target.
Example 1:
has_war_with_wargoal_against = {
  target = GER
  type = take_state  # (optional: if not specified any wargoal will do)
}
Example 2:
has_war_with_wargoal_against = GER  # (any wargoal will do)
```