Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: National Focus
Tree: mex_focus
Component: MEX_focus_blue_water_navy
Constructs: prerequisite, has_war_with, completion_reward, cancel_if_invalid, swap_ideas, remove_idea, add_idea, add_doctrine_cost_reduction
Source: game
File: common/national_focus/mexico.txt

Code:
focus = {
	id = MEX_focus_blue_water_navy
	icon = GFX_goal_generic_navy_battleship
	prerequisite = {
		focus = MEX_focus_brown_water_navy
	}
	mutually_exclusive = {
		focus = MEX_focus_raiding_navy
	}
	x = -1
	y = 1
	relative_position_id = MEX_focus_brown_water_navy
	cost = 10
	ai_will_do = {
		factor = 100
		modifier = {
			factor = 0.1
			has_war_with = USA
		} {
			factor = 10
			has_war_with = GER
		} {
			factor = 10
			has_war_with = SOV
		}
	}
	available = {

	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = yes
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
	completion_reward = {
		swap_ideas = {
			remove_idea = MEX_brown_water_navy
			add_idea = MEX_blue_water_navy
		}
		add_doctrine_cost_reduction = {
			name = naval_doctrine
			cost_reduction = 0.5
			uses = 1
			category = naval_doctrine
		}
		add_tech_bonus = {
			name = tooltip_capital_ships
			bonus = 1.0
			uses = 1
			category = ca_tech bb_tech
		}
	}
}
### Entity: Character
Component: BEL_georges_deffontaine
Constructs: has_dlc
Source: game
File: common/characters/BEL.txt

Code:
BEL_georges_deffontaine = {
	instance = {
		allowed = {
			NOT = {
				has_dlc = Gotterdammerung
			}
		}
		advisor = {
			cost = 100
			slot = theorist
			idea_token = BEL_georges_deffontaine
			ledger = navy
			allowed = {
				original_tag = BEL
			}
			traits = {
				naval_theorist
			}
		}
		name = BEL_georges_deffontaine
		portraits = {
			army = {
				small = GFX_idea_generic_navy_europe_1
			}
		}
	}
}
### Entity: Country History
Country: DNZ
Component: DNZ_misc
Constructs: limit, set_technology, set_research_slots, set_grand_doctrine, has_dlc
Source: game
File: history/countries/DNZ - Danzig.txt

Code:
# Misc for DNZ
capital = 85
set_research_slots = 3
set_grand_doctrine = new_mobile_warfare new_convoy_raiding
if = {
	limit = {
		NOT = {
			has_dlc = By Blood Alone
		}
	}
	set_technology = {
		early_fighter = 1
		fighter1 = 1
		early_bomber = 1
		strategic_bomber1 = 1
		naval_bomber1 = 1
	}
}
{
	limit = {
		NOT = {
			has_dlc = No Step Back
		}
	}
	set_technology = {
		gwtank = 1
		basic_light_tank = 1
		basic_heavy_tank = 1
		basic_medium_tank = 1
	}
}
{
	limit = {
		has_dlc = No Step Back
	}
	set_technology = {
		gwtank_chassis = 1
		basic_light_tank_chassis = 1
		basic_heavy_tank_chassis = 1
		basic_medium_tank_chassis = 1
	}
}
{
	limit = {
		not = {
			has_dlc = Man the Guns
		}
	}
	set_technology = {
		early_submarine = 1
		basic_submarine = 1
		early_destroyer = 1
		early_light_cruiser = 1
		early_heavy_cruiser = 1
		early_battleship = 1
		early_battlecruiser = 1
		transport = 1
	}
}
{
	limit = {
		has_dlc = Man the Guns
	}
	set_technology = {
		early_ship_hull_submarine = 1
		basic_ship_hull_submarine = 1
		early_ship_hull_light = 1
		early_ship_hull_cruiser = 1
		early_ship_hull_heavy = 1
		mtg_transport = 1
		basic_battery = 1
		basic_torpedo = 1
	}
}
### Entity: Event
Component: NSB_poland_events.401
Constructs: is_triggered_only, ai_chance, limit, has_government, owns_state, fire_only_once
Source: game
File: events/NSB_Poland.txt

Code:
country_event = {
	id = NSB_poland_events.401
	title = NSB_poland_events.401.t
	desc = {
		text = NSB_poland_events.401.desc.dem
		trigger = {
			POL = {
				NOT = {
					has_government = communism
				}
			}
		}
	} {
		text = NSB_poland_events.401.desc.com
		trigger = {
			POL = {
				has_government = communism
			}
		}
	}
	picture = GFX_report_event_generic_sign_treaty2
	is_triggered_only = yes
	fire_only_once = yes
	option = {
		name = NSB_poland_events.401.a
		ai_chance = {
			base = 10
		}
		transfer_state = 543
		if = {
			limit = {
				FROM = {
					owns_state = 708
					controls_state = 708
				}
			}
			transfer_state = 708
		} {
			limit = {
				FROM = {
					owns_state = 706
					controls_state = 706
				}
			}
			POL = {
				transfer_state = 706
			}
		}
	}
}
### Entity: Country History
Country: GNB
Component: GNB_misc
Constructs: set_technology, set_convoys, complete_national_focus, set_grand_doctrine, complete_special_project
Source: game
File: history/countries/GNB - Guinea-Bissau.txt

Code:
# Misc for GNB
capital = 296
set_convoys = 10
1939.1.1 = {
	complete_national_focus = army_effort equipment_effort motorization_effort aviation_effort naval_effort large_navy industrial_effort construction_effort production_effort
	set_technology = {
		tech_support = 1
		tech_recon = 1
		support_weapons = 1
		gw_artillery = 1
		electronic_mechanical_engineering = 1
		radio = 1
		mechanical_computing = 1
		computing_machine = 1
		basic_machine_tools = 1
		improved_machine_tools = 1
		advanced_machine_tools = 1
		construction1 = 1
		construction2 = 1
		dispersed_industry = 1
		dispersed_industry2 = 1
	}
	set_grand_doctrine = grand_battleplan new_fleet_in_being new_strategic_destruction
	complete_special_project = {
		project = sp:sp_air_radar
	}
}
### Entity: National Focus
Tree: chi_focus
Component: CHI_find_foreign_financiers
Constructs: prerequisite, limit, every_country, has_war_with, is_major, completion_reward, has_opinion, add_cic
Source: game
File: common/national_focus/china_nationalist_sea.txt

Code:
focus = {
	id = CHI_find_foreign_financiers
	icon = GFX_focus_generic_industrialists
	prerequisite = {
		focus = CHI_the_three_year_plan
	}
	mutually_exclusive = {
		focus = CHI_fund_the_plan_domestically
	}
	x = -2
	y = 1
	relative_position_id = CHI_the_three_year_plan
	cost = 10
	available = {
		any_other_country = {
			is_major = yes
			has_opinion = {
				target = ROOT
				value = > 19
			}
			NOT = {
				has_war_with = ROOT
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_HISTORICAL FOCUS_FILTER_INDUSTRY
	}
	ai_will_do = {
		factor = 30
	}
	completion_reward = {
		every_country = {
			limit = {
				is_major = yes
				NOT = {
					original_tag = JAP
				}
				has_opinion = {
					target = ROOT
					value = > 69
				}
			}
			ROOT = {
				add_cic = 1500
			}
		}
		custom_effect_tooltip = CHI_find_foreign_financiers_tt
		CHI_corrupt_administration_improvement = yes
		CHI_modify_administration_modifier = yes
		add_to_variable = {
			CHI_corruption_construction_speed = 0.05
			tooltip = production_speed_buildings_factor_tt
		} {
			CHI_corruption_economy_cost_factor = -0.1
			tooltip = economy_cost_factor_tt
		}
	}
}
### Entity: Idea
Component: POL_four_year_plan_complete_2
Constructs: production_speed_buildings_factor, removal_cost
Source: game
File: common/ideas/poland.txt

Code:
POL_four_year_plan_complete_2 = {
	allowed = {
		original_tag = POL
		always = no
	}
	allowed_civil_war = {
		always = no
	}
	removal_cost = -1
	picture = man_five_year_plan_industry
	modifier = {
		production_speed_buildings_factor = 0.1
		consumer_goods_factor = -0.075
	}
}
### Entity: National Focus
Tree: ger_focus
Component: GER_reorganize_nationale_volksarmee
Constructs: has_completed_focus, prerequisite, limit, add_war_support, has_country_flag, completion_reward, has_civil_war, add_days_mission_timeout
Source: game
File: common/national_focus/germany.txt

Code:
focus = {
	id = GER_reorganize_nationale_volksarmee
	icon = GFX_focus_generic_full_social_mobilization
	prerequisite = {
		focus = GER_ressurect_the_red_front_fighters_league
	}
	x = -1
	y = 1
	relative_position_id = GER_ressurect_the_red_front_fighters_league
	cost = 5
	available = {
		has_civil_war = no
	}
	search_filters = {
		FOCUS_FILTER_MILITARY_CHARACTER FOCUS_FILTER_WAR_SUPPORT
	}
	completion_reward = {
		if = {
			limit = {
				NOT = {
					has_completed_focus = GER_the_peoples_victory
				}
			}
			add_days_mission_timeout = {
				mission = GER_imminent_proletarian_revolution_mission
				days = 15
			}
			custom_effect_tooltip = generic_skip_one_line_tt
		} {
			limit = {
				NOT = {
					has_country_flag = GER_communist_civil_war_flag
				}
			}
			custom_effect_tooltip = GER_cannot_join_oppossing_civil_war_side_tt
		} {
			limit = {
				has_character = GER_maximilian_von_weichs
			}
			retire_character = GER_maximilian_von_weichs
		} {
			limit = {
				has_character = GER_ewald_von_kleist
			}
			retire_character = GER_ewald_von_kleist
		}
		add_war_support = 0.05
		add_command_power = 15
		custom_effect_tooltip = generic_skip_one_line_tt generic_skip_one_line_tt generic_skip_one_line_tt
		GER_modify_army_modifier = yes
		add_to_variable = {
			GER_military_planning_speed = -0.1
			tooltip = planning_speed_factor_tt
		} {
			GER_military_unit_leader_as_advisor_cp_cost_factor = -0.1
			tooltip = unit_leader_as_advisor_cp_cost_factor_tt
		}
		effect_tooltip = {
			add_field_marshal_role = {
				character = GER_vincenz_muller
				traits = {
					infantry_officer trait_reckless politically_connected offensive_doctrine
				}
				skill = 2
				attack_skill = 2
				defense_skill = 2
				planning_skill = 1
				logistics_skill = 2
			}
		}
		show_unit_leaders_tooltip = GER_hans_kahle GER_hans_marchwitza GER_arno_von_lenski
	}
}
### Entity: Character
Component: SPR_antonio_azarola_y_gresillon
Constructs: has_completed_focus, has_government, has_dlc
Source: game
File: common/characters/SPR.txt

Code:
SPR_antonio_azarola_y_gresillon = {
	instance = {
		allowed = {
			has_dlc = La Resistance
		}
		name = SPR_antonio_azarola_y_gresillon
		portraits = {
			army = {
				small = GFX_idea_SPR_antonio_azarola_y_gresillon
			}
		}
		advisor = {
			slot = high_command
			idea_token = SPR_antonio_azarola_y_gresillon
			ledger = army
			allowed = {
				has_dlc = La Resistance
				original_tag = SPR
			}
			visible = {
				NOT = {
					tag = SPA SPB
				}
			}
			available = {
				NOT = {
					has_completed_focus = SPR_masters_of_our_own_fate SPR_communists_in_the_government
				}
				custom_trigger_tooltip = {
					tooltip = SPR_not_nationalist_spain_tt
					NOT = {
						tag = SPA
					}
				}
			}
			traits = {
				navy_screen_2
			}
			cost = 100
		}
	} {
		allowed = {
			NOT = {
				has_dlc = La Resistance
			}
		}
		name = SPR_antonio_azarola_gresillon
		portraits = {
			army = {
				small = GFX_idea_generic_navy_europe_2
			}
		}
		advisor = {
			slot = high_command
			idea_token = SPR_antonio_azarola_gresillon
			ledger = navy
			name = SPR_antonio_azarola_gresillon
			allowed = {
				NOT = {
					has_dlc = La Resistance
				}
				original_tag = SPR
			}
			visible = {
				NOT = {
					has_government = fascism
				}
			}
			available = {
				NOT = {
					has_government = fascism
				}
			}
			traits = {
				navy_fleet_logistics_2
			}
			cost = 100
			ai_will_do = {
				factor = 1.0
			}
		}
	}
}
### Entity: Idea
Component: norfolk_naval_yard
Constructs: research_bonus
Source: game
File: common/ideas/usa.txt

Code:
norfolk_naval_yard = {
	allowed = {
		original_tag = USA
	}
	research_bonus = {
		naval_equipment = 0.15
	}
	traits = {
		coastal_defence_naval_manufacturer
	}
	modifier = {

	}
}
### Entity: Scripted Trigger
Component: NORDIC_at_war
Constructs: has_defensive_war
Source: game
File: common/scripted_triggers/NORDIC_scripted_triggers.txt

Code:
NORDIC_at_war = {
	any_other_country_with_original_tag_of = {
		target = constant:country_groups.nordics
		has_defensive_war = yes
	}
}
### Entity: National Focus
Component: samoa_focus
Constructs: shared_focus, add_equipment_to_stockpile, prerequisite, has_war, limit, add_ideas, has_government, owns_state
Source: game
File: common/national_focus/samoa.txt

Code:
focus_tree = {
	id = samoa_focus
	country = {
		factor = 0
		modifier = {
			add = 10
			tag = SAM
		}
	}
	default = no
	reset_on_civilwar = no
	shared_focus = GEN_State_Matter ABC_establish_a_general_staff GEN_Aviation_Effort GEN_Naval_Effort GEN_begin_industrial_buildup GEN_industrial_boom PLY_UNIFIED_polynesian_unifacation
	continuous_focus_position = {
		x = 0
		y = 900
	}
	focus = {
		id = SAM_aftermath_of_the_goodwill_mission
		icon = GFX_goal_befriend_samoa
		cost = 5
		x = 64
		y = 0
		available = {
			OR = {
				is_subject_of = NZL ENG
			}
		}
		ai_will_do = {
			factor = 5
			modifier = {
				add = 5
				is_historical_focus_on = yes
			}
		}
		completion_reward = {
			add_political_power = 75
		}
	} {
		id = SAM_with_the_crown
		icon = GFX_goal_tfv_strengthen_commonwealth_ties
		cost = 8
		x = -3
		y = 1
		relative_position_id = SAM_aftermath_of_the_goodwill_mission
		available = {
			OR = {
				is_subject_of = NZL ENG
			}
		}
		prerequisite = {
			focus = SAM_aftermath_of_the_goodwill_mission
		}
		ai_will_do = {
			factor = 5
			modifier = {
				add = 5
				is_subject_of = NZL
			}
		}
		completion_reward = {
			ROOT = {
				modify_tech_sharing_bonus = {
					id = commonwealth_research
					bonus = 0.03
				}
			}
			every_other_country = {
				limit = {
					OR = {
						tag = ENG
						is_subject_of = ENG
					}
				}
				add_opinion_modifier = {
					target = ROOT
					modifier = AST_R56_reaffirmed_commonwelth_commitments
				}
			}
		}
	} {
		id = SAM_reorganising_the_mandate
		icon = GFX_focus_generic_league_of_nations
		cost = 5
		x = 0
		y = 1
		relative_position_id = SAM_with_the_crown
		available = {

		}
		prerequisite = {
			focus = SAM_with_the_crown
		}
		ai_will_do = {
			factor = 5
			modifier = {
				add = 5
				is_historical_focus_on = yes
			}
		}
		completion_reward = {
			add_stability = 0.05
		}
	} {
		id = SAM_malietoa_leadership
		icon = GFX_focus_generic_home_defense
		cost = 8
		x = -3
		y = 1
		relative_position_id = SAM_reorganising_the_mandate
		available = {
			has_government = neutrality
			is_subject = yes
		}
		prerequisite = {
			focus = SAM_reorganising_the_mandate
		}
		mutually_exclusive = {
			focus = SAM_new_zealand_commisar
		}
		ai_will_do = {
			factor = 1
		}
		completion_reward = {
			retire_country_leader = yes
			drop_cosmetic_tag = yes
			set_party_name = {
				ideology = neutrality
				name = SAM_n
# ... (truncated)
### Entity: Scripted Effect
Component: EAI_MATH_complement
Constructs: limit
Source: game
File: common/scripted_effects/EAI_MATH_effects.txt

Code:
EAI_MATH_complement = {
	if = {
		limit = {
			EAI_MATH_TRIGGER_complement = yes
		}
	}
}
### Entity: Character
Component: PHI_ramon_a_alcaraz
Source: game
File: common/characters/PHI.txt

Code:
PHI_ramon_a_alcaraz = {
	advisor = {
		cost = 100
		slot = theorist
		idea_token = PHI_ramon_a_alcaraz
		ledger = air
		allowed = {
			original_tag = phi
		}
		traits = {
			air_warfare_theorist
		}
	}
	name = PHI_ramon_a_alcaraz
	portraits = {
		army = {
			small = GFX_idea_generic_air_asia_3
		}
	}
}
### Entity: National Focus
Tree: swe_focus
Component: SWE_prevent_a_red_dictatorship
Constructs: prerequisite, add_war_support, add_stability, completion_reward, has_game_rule, cancel_if_invalid, add_popularity
Source: game
File: common/national_focus/sweden.txt

Code:
focus = {
	id = SWE_prevent_a_red_dictatorship
	icon = GFX_goal_support_fascism
	x = 5
	y = 2
	cost = 10
	prerequisite = {
		focus = SWE_the_old_enemy_stirs
	}
	relative_position_id = SWE_the_old_enemy_stirs
	mutually_exclusive = {
		focus = SWE_the_nordic_defense_council
	}
	ai_will_do = {
		factor = 10
		modifier = {
			has_game_rule = {
				rule = SWE_AI_BEHAVIOR
				option = SWE_DEMOCRATIC_NORDIC_DEFENCE_COUNCIL
			}
			factor = 0
		}
	}
	available = {
		OR = {
			OR = {
				fascism = > 0.2
				neutrality = > 0.2
			}
			AND = {
				fascism = > 0.1
				neutrality = > 0.1
			}
		}
	}
	bypass = {

	}
	cancel_if_invalid = no
	continue_if_invalid = no
	available_if_capitulated = no
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_WAR_SUPPORT
	}
	completion_reward = {
		add_popularity = {
			ideology = neutrality
			popularity = 0.05
		} {
			ideology = fascism
			popularity = 0.05
		}
		add_war_support = 0.1
		add_stability = -0.05
	}
}
### Entity: Misc Config
Component: german_desired_states_achieved
Constructs: limit, is_core_of, is_controlled_by, is_subject_of
Source: game
File: common/collections/r56_collections.txt

Code:
german_desired_states_achieved = {
	input = game:all_states
	name = COLLECTION_GERMAN_SPHERE_TAKEN_STATES
	operators = {
		limit = {
			OR = {
				is_core_of = GER AUS CZE HUN POL LAT LIT EST BLR UKR BEL
				state = 773 777 546 768 769 895 894 541 893 743 647 1096 737 1138 684 633 634 646 726 725
			} {
				is_controlled_by = GER
				controller = {
					is_subject_of = GER
				}
			}
		}
	}
}
### Entity: National Focus
Tree: chl_focus
Component: CHL_enact_universal_suffrage
Constructs: prerequisite, add_war_support, add_stability, completion_reward, has_country_leader, is_historical_focus_on
Source: game
File: common/national_focus/chile.txt

Code:
focus = {
	id = CHL_enact_universal_suffrage
	icon = GFX_focus_generic_universal_suffrage
	relative_position_id = CHL_low_cost_housing
	x = -1
	y = 1
	cost = 10
	prerequisite = {
		focus = CHL_low_cost_housing CHL_privatize_national_industries
	}
	mutually_exclusive = {

	}
	ai_will_do = {
		base = 1.5
		modifier = {
			factor = 0.5
			has_country_leader = {
				character = CHL_gustavo_ross_santa_maria
				ruling_only = yes
			}
		} {
			factor = 1.5
			has_country_leader = {
				character = CHL_carlos_ibanez
				ruling_only = yes
			}
		} {
			factor = 0
			is_historical_focus_on = yes
		} {
			factor = 2
			has_country_leader = {
				character = CHL_elias_lafertte_gavino
				ruling_only = yes
			}
		}
	}
	available = {

	}
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL_CHARACTER
	}
	completion_reward = {
		add_stability = 0.05
		add_war_support = -0.1
		custom_effect_tooltip = CHL_skip_one_line_tt available_political_advisor
		show_ideas_tooltip = CHL_elena_caffarena CHL_maria_de_la_cruz CHL_rayen_quitral CHL_marta_vergara
	}
}
### Entity: Idea
Component: EAI_DD_9/light_tank_artillery_chassis_bonus
Constructs: equipment_bonus, build_cost_ic
Source: game
File: common/ideas/EAI_difficulty_ideas.txt

Code:
EAI_DD_9/light_tank_artillery_chassis_bonus = {
	allowed = {
		always = no
	}
	equipment_bonus = {
		light_tank_artillery_chassis = {
			build_cost_ic = -0.225
			instant = yes
		}
	}
}
### Entity: Character
Component: MAN_yuan_jinkai
Source: game
File: common/characters/MAN.txt

Code:
MAN_yuan_jinkai = {
	name = MAN_yuan_jinkai
	portraits = {
		army = {
			small = GFX_portrait_MAN_yuan_jinkai_small
		}
	}
	advisor = {
		slot = army_chief
		idea_token = MAN_yuan_jinkai
		allowed = {
			original_tag = MAN
		}
		traits = {
			army_chief_offensive_2
		}
		cost = 100
		ai_will_do = {
			factor = 1.0
		}
	}
}
### Entity: Event
Component: siam.21
Constructs: is_triggered_only, fire_only_once, create_wargoal, annex_everything
Source: game
File: events/TAOG_Siam.txt

Code:
country_event = {
	id = siam.21
	title = siam.21.t
	desc = siam.21.desc
	picture = GFX_report_event_ANZAC_day
	fire_only_once = no
	is_triggered_only = yes
	option = {
		name = siam.21.a
		effect_tooltip = {
			create_wargoal = {
				type = annex_everything
				target = FROM
			}
		}
	}
}
### Entity: Event
Component: mtg_news.52
Constructs: is_triggered_only
Source: game
File: events/MTG_NewsEvents.txt

Code:
news_event = {
	id = mtg_news.52
	title = mtg_news.52.t
	desc = mtg_news.52.desc
	picture = GFX_news_event_generic_usa_treaty
	major = yes
	is_triggered_only = yes
	option = {
		name = mtg_news.52.a
		trigger = {
			original_tag = HOL
		}
	} {
		name = mtg_news.52.b
		trigger = {
			original_tag = USA
		}
	} {
		name = mtg_news.52.c
		trigger = {
			NOT = {
				original_tag = HOL
			} {
				original_tag = USA
			}
		}
	}
}
### Entity: National Focus
Tree: fra_focus
Component: FRA_two_countries_two_crowns
Constructs: prerequisite, limit, has_war_with, add_stability, completion_reward, is_subject, is_in_faction, is_in_faction_with
Source: game
File: common/national_focus/france.txt

Code:
focus = {
	id = FRA_two_countries_two_crowns
	icon = GFX_goal_tripartite_pact
	x = 1
	y = 1
	prerequisite = {
		focus = FRA_secure_the_crown_of_spain
	}
	mutually_exclusive = {
		focus = FRA_unite_the_crowns
	}
	relative_position_id = FRA_secure_the_crown_of_spain
	cost = 10
	ai_will_do = {
		factor = 1
	}
	available = {
		is_subject = no
		country_exists = SPB
		SPB = {
			OR = {
				is_in_faction = no
				is_in_faction_with = ROOT
			}
			NOT = {
				has_war_with = ROOT
			}
		}
	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	completion_reward = {
		IF = {
			limit = {
				is_in_faction = no
			}
			set_rule = {
				can_create_factions = yes
			}
			create_faction_from_template = {
				template = faction_template_anti_communist
				name = FRA_legitimist_faction
				icon = GFX_faction_logo_generic_5
			}
		} {
			limit = {
				SPB = {
					is_in_faction = no
				}
			}
			add_to_faction = SPB
		}
		custom_effect_tooltip = generic_skip_one_line_tt generic_skip_one_line_tt
		add_stability = 0.1
		add_to_tech_sharing_group = FRA_legitimist_tech_sharing
		SPB = {
			add_to_tech_sharing_group = FRA_legitimist_tech_sharing
		}
	}
}
### Entity: Modifier Reference
Construct: scientist_breakthrough_bonus_factor
Source: vanilla_docs
File: documentation/modifiers_documentation.md

Doc:
## scientist_breakthrough_bonus_factor

* Number with 2 decimal places
* **Categories**: character
### Entity: Combat Tactic
Component: tactic_ambush
Constructs: is_attacker, has_trait
Source: game
File: common/combat_tactics.txt

Code:
tactic_ambush = {
	is_attacker = no
	trigger = {
		is_attacker = no
		phase = no
		OR = {
			skill_advantage = > 1
			skill = > 2
			has_trait = trickster
		}
	}
	active = yes
	base = {
		factor = 4
	}
	picture = ambush
	countered_by = tactic_breakthrough
	attacker = -0.25
}
### Entity: National Focus
Tree: vin_focus
Component: VIN_forts_and_guerrilla
Constructs: prerequisite, add_ideas, completion_reward
Source: game
File: common/national_focus/Vietnam.txt

Code:
focus = {
	id = VIN_forts_and_guerrilla
	icon = GFX_goal_generic_fortify_city
	cost = 10
	prerequisite = {
		focus = VIN_new_entrenchment_tactics
	} {
		focus = VIN_forest_expertise
	}
	completion_reward = {
		add_ideas = VIN_forts_and_guerrilla
	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY
	}
	x = 58
	y = 4
}