Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: Idea
Component: ITA_papal_support_strengthened
Constructs: has_completed_focus, stability_factor, removal_cost, neutrality_drift
Source: game
File: common/ideas/italy.txt

Code:
ITA_papal_support_strengthened = {
	name = ITA_papal_support
	picture = ITA_papal_state_ns
	removal_cost = -1
	allowed = {
		original_tag = ITA
	}
	allowed_civil_war = {
		has_completed_focus = ITA_strengthen_the_papacy
	}
	modifier = {
		political_power_factor = 0.1
		neutrality_drift = 0.02
		stability_factor = 0.08
		operative_slot = 1
		intel_network_gain_factor = 0.1
		compliance_growth = 0.05
	}
}
### Entity: National Focus
Tree: sau_focus
Component: SAU_force_tribes_to_settle
Constructs: prerequisite, add_stability, completion_reward, add_timed_idea
Source: game
File: common/national_focus/saudi_arabia.txt

Code:
focus = {
	id = SAU_force_tribes_to_settle
	icon = GFX_focus_generic_population_growth
	cost = 8
	prerequisite = {
		focus = SAU_introduce_the_constitution SAU_seek_german_arms SAU_continue_hakimovs_legacy
	}
	ai_will_do = {
		factor = 41
	}
	completion_reward = {
		add_stability = -0.05
		add_timed_idea = {
			idea = SAU_force_tribes_to_settle
			days = 1095
		}
	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY
	}
	x = -1
	y = 2
	relative_position_id = SAU_seek_german_arms
}
### Entity: Character
Component: DEN_poul_sommer
Constructs: has_dlc
Source: game
File: common/characters/DEN.txt

Code:
DEN_poul_sommer = {
	instance = {
		allowed = {
			has_dlc = Arms Against Tyranny
		}
		name = DEN_poul_sommer
		portraits = {
			army = {
				small = GFX_portrait_DEN_poul_sommer_small
			}
		}
		advisor = {
			slot = high_command
			idea_token = DEN_poul_sommer
			ledger = air
			allowed = {
				original_tag = DEN
			}
			traits = {
				air_air_combat_training_2
			}
			cost = 100
			ai_will_do = {
				base = 1.0
			}
		}
	} {
		allowed = {
			NOT = {
				has_dlc = Arms Against Tyranny
			}
		}
		name = DEN_poul_sommer
		portraits = {
			army = {
				small = GFX_idea_generic_air_europe_1
			}
		}
		advisor = {
			slot = high_command
			idea_token = DEN_poul_sommer
			ledger = air
			allowed = {
				original_tag = DEN
			}
			traits = {
				air_air_combat_training_2
			}
			cost = 100
			ai_will_do = {
				base = 1.0
			}
		}
	}
}
### Entity: Scripted Effect
Component: GER_create_operative_norman_stewart
Constructs: create_operative_leader
Source: game
File: common/scripted_effects/GER_scripted_effects.txt

Code:
GER_create_operative_norman_stewart = {
	create_operative_leader = {
		name = GER_norman_stewart
		GFX = GFX_portrait_GER_norman_baillie_stewart
		traits = {
			operative_natural_orator operative_tough
		}
		bypass_recruitment = no
		available_to_spy_master = yes
		nationalities = {
			ENG SCO
		}
		gender = male
	}
}
### Entity: Operation
Component: coordinated_strike_sabotage_communications
Source: game
File: common/operation_phases/lar_coordinated_strike.txt

Code:
coordinated_strike_sabotage_communications = {
	name = coordinated_strike_sabotage_communications
	desc = coordinated_strike_sabotage_communications_desc
	outcome = coordinated_strike_sabotage_communications_outcome
	picture = GFX_phase_coordinated_strike_sabotage_communications
	icon = GFX_phase_coordinated_strike_sabotage_communications_small
	requirements = {

	}
	equipment = {
		support_equipment = 100
	}
}
### Entity: AI Strategy
Component: ENG_industry_we_on_an_island_bruv
Constructs: has_war, has_government
Source: game
File: common/ai_strategy/ENG.txt

Code:
ENG_industry_we_on_an_island_bruv = {
	allowed = {
		original_tag = ENG
	}
	enable = {
		has_government = democratic
		has_war = no
		date = > 1937.10.1
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = building_target
		id = arms_factory
		value = 50
	} {
		type = building_target
		id = dockyard
		value = 50
	} {
		type = air_factory_balance
		value = 30
	}
}
### Entity: Event
Component: axis_minors_vichy_france.20
Constructs: is_triggered_only, ai_chance, set_state_owner_to, limit, is_in_faction_with, every_state, is_controlled_by, set_state_controller_to
Source: game
File: events/r56_vichy_france.txt

Code:
country_event = {
	id = axis_minors_vichy_france.20
	title = axis_minors_vichy_france.20.t
	desc = axis_minors_vichy_france.20.desc
	picture = GFX_report_event_pierre_laval
	is_triggered_only = yes
	option = {
		name = axis_minors_vichy_france.20.a
		ai_chance = {
			base = 95
		}
		if = {
			limit = {
				NOT = {
					tag = VIC
				}
				controls_state = 1 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 735
				OR = {
					tag = GER
					AND = {
						is_in_faction_with = GER
						NOT = {
							tag = VIC
						}
					}
				}
			}
			else = {
				every_state = {
					limit = {
						OR = {
							state = 1 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 735
						}
						is_controlled_by = VIC
					}
					set_state_owner_to = FRA
					set_state_controller_to = GER
				}
			}
		}
		custom_effect_tooltip = GAME_OVER_TT
	} {
		name = axis_minors_vichy_france.20.b
		ai_chance = {
			base = 0
		}
	} {
		name = axis_minors_vichy_france.20.c
		ai_chance = {
			base = 5
		}
		FRA = {
			annex_country = {
				target = VIC
			}
			every_state = {
				limit = {
					is_core_of = VIC
				}
				remove_core_of = VIC
			}
		}
		custom_effect_tooltip = GAME_OVER_TT
	} {
		name = axis_minors_vichy_france.20.d
		ai_chance = {
			base = 0
		}
	}
}
### Entity: National Focus
Tree: irq_focus
Component: IRQ_a_true_republic
Constructs: prerequisite, limit, add_ideas, has_government, add_opinion_modifier, completion_reward
Source: game
File: common/national_focus/r56_iraq.txt

Code:
focus = {
	id = IRQ_a_true_republic
	icon = GFX_goal_generic_democracy
	prerequisite = {
		focus = IRQ_allied_support
	} {
		focus = IRQ_join_the_allies
	}
	relative_position_id = IRQ_the_secular_movement
	x = 0
	y = 4
	cost = 10
	ai_will_do = {
		factor = 10
	}
	available_if_capitulated = yes
	completion_reward = {
		add_ideas = IRQ_true_republic
		if = {
			limit = {
				ENG = {
					has_government = democratic
				}
			}
			ENG = {
				add_opinion_modifier = {
					target = ROOT
					modifier = POL_draw_closer_to_britain
				}
			}
			add_opinion_modifier = {
				target = ENG
				modifier = POL_draw_closer_to_britain
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_MANPOWER
	}
}
### Entity: National Focus
Tree: nor_focus
Component: NOR_pressure_finland
Constructs: prerequisite, has_war, has_government, owns_state, add_war_support, completion_reward, is_puppet, has_civil_war
Source: game
File: common/national_focus/r56_norway.txt

Code:
focus = {
	id = NOR_pressure_finland
	icon = GFX_goal_generic_dangerous_deal
	prerequisite = {
		focus = NOR_unite_the_scandinavian_workers
	}
	x = -1
	y = 1
	relative_position_id = NOR_unite_the_scandinavian_workers
	cost = 10
	ai_will_do = {
		base = 25
	}
	will_lead_to_war_with = FIN
	bypass = {
		FIN = {
			OR = {
				exists = no
				is_puppet = yes
			}
		}
	}
	available = {
		has_civil_war = no
		has_government = communism
		has_war = no
		has_army_manpower = {
			size = > 149999
		}
		OR = {
			SWE = {
				is_subject_of = NOR
			}
			owns_state = 141
		} {
			DEN = {
				is_subject_of = NOR
			}
			owns_state = 37
		}
	}
	completion_reward = {
		FIN = {
			country_event = naw_norway.29
		}
		custom_effect_tooltip = NOR_pressure_finland_tt
		add_war_support = 0.05
	}
	search_filters = {
		FOCUS_FILTER_ANNEXATION FOCUS_FILTER_WAR_SUPPORT
	}
}
### Entity: Character
Component: PRU_hilarión_lynch
Source: game
File: common/characters/PRU.txt

Code:
PRU_hilarión_lynch = {
	name = Hilarión Lynch
	portraits = {
		civilian = {
			large = GFX_portrait_Hilarion_Lynch
		}
	}
	country_leader = {
		ideology = stalinism
		traits = {
			ideological_crusader
		}
		expire = 1943.1.1.12
		id = -1
	}
}
### Entity: Modifier Reference
Component: CHI_reorganized_administration
Constructs: political_power_gain, production_speed_buildings_factor
Source: game
File: common/dynamic_modifiers/SEA_dynamic_modifiers.txt

Code:
CHI_reorganized_administration = {
	icon = GFX_idea_chi_warlord_integration5
	political_power_gain = CHI_corruption_pp_gain
	consumer_goods_factor = CHI_corruption_consumer_goods
	production_speed_buildings_factor = CHI_corruption_construction_speed
	cic_construction_boost_factor = CHI_corruption_cic_construction_boost_factor
	industry_free_repair_factor = CHI_corruption_free_repair_factor
	production_speed_arms_factory_factor = CHI_corruption_production_speed_arms_factory_factor
	conversion_cost_civ_to_mil_factor = CHI_corruption_conversion_cost_civ_to_mil_factor
	economy_cost_factor = CHI_corruption_economy_cost_factor
}
### Entity: National Focus
Tree: sia_focus
Component: SIA_war_material_substitutions
Constructs: prerequisite, add_ideas, completion_reward, add_to_variable
Source: game
File: common/national_focus/siam.txt

Code:
focus = {
	id = SIA_war_material_substitutions
	icon = GFX_focus_GER_factories_for_resources
	x = 0
	y = 1
	relative_position_id = SIA_prepare_for_the_next_blockade
	prerequisite = {
		focus = SIA_prepare_for_the_next_blockade SIA_domestic_arms_industry
	}
	cost = 10
	ai_will_do = {
		factor = 10
	}
	available = {

	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
	completion_reward = {
		add_ideas = idea_SIA_war_material_substitutions
		custom_effect_tooltip = idea_SIA_agrarian_economical_policy_modify
		add_to_variable = {
			SIA_aep_production_factory_start_efficiency_factor = 0.05
			tooltip = production_factory_start_efficiency_factor_tt
		}
	}
}
### Entity: Shared Focus
Tree: trk_focus
Component: TRK_secondary_roads
Constructs: shared_focus, prerequisite, limit, completion_reward, random_owned_controlled_state, add_building_construction
Source: game
File: common/national_focus/r56_turkestan_shared.txt

Code:
shared_focus = {
	id = TRK_secondary_roads
	icon = GFX_goal_generic_road
	x = 1
	y = 1
	relative_position_id = TRK_railway
	cost = 10
	prerequisite = {
		focus = TRK_railway
	}
	available = {

	}
	ai_will_do = {
		factor = 5
	}
	completion_reward = {
		random_owned_controlled_state = {
			limit = {
				free_building_slots = {
					building = infrastructure
					size = > 0
				}
			}
			add_building_construction = {
				type = infrastructure
				level = 1
				instant_build = yes
			}
		} {
			prioritize = {
				588
			}
			limit = {
				free_building_slots = {
					building = infrastructure
					size = > 0
				}
			}
			add_building_construction = {
				type = infrastructure
				level = 1
				instant_build = yes
			}
		} {
			prioritize = {
				586
			}
			limit = {
				free_building_slots = {
					building = infrastructure
					size = > 0
				}
			}
			add_building_construction = {
				type = infrastructure
				level = 1
				instant_build = yes
			}
		}
	}
}
### Entity: Event
Component: men.28
Constructs: is_triggered_only, set_country_flag, add_doctrine_cost_reduction, unlock_national_focus
Source: game
File: events/MEN.txt

Code:
country_event = {
	id = men.28
	title = men.28.t
	desc = men.28.d
	picture = GFX_report_event_r56_suiyuan
	is_triggered_only = yes
	option = {
		name = men.28.a
		set_country_flag = MEN_suiyuan_ended
		army_experience = 20
		add_doctrine_cost_reduction = {
			cost_reduction = 0.5
			uses = 1
			category = land_doctrine
		}
		effect_tooltip = {
			unlock_national_focus = MEN_rebuilding_the_disaster_of_suiyan
		}
	}
}
### Entity: National Focus
Tree: sov_focus
Component: SOV_support_the_kuomintang
Constructs: has_completed_focus, prerequisite, limit, has_war_with, add_opinion_modifier, completion_reward, has_civil_war, is_ally_with
Source: game
File: common/national_focus/soviet.txt

Code:
focus = {
	id = SOV_support_the_kuomintang
	icon = GFX_focus_chi_cooperation_with_the_nationalists
	prerequisite = {
		focus = SOV_the_threat_from_the_land_of_the_rising_sun
	}
	x = 2
	y = 0
	relative_position_id = SOV_two_red_flags
	cost = 5
	ai_will_do = {
		factor = 1
		modifier = {
			factor = 0
			has_civil_war = yes
		} {
			factor = 0
			is_ally_with = SIK
			NOT = {
				is_ally_with = CHI
			}
		}
	}
	historical_ai = {
		OR = {
			country_exists = CHI
			NOT = {
				has_subject = SIK
			}
		}
	}
	mutually_exclusive = {
		focus = SOV_the_gobi_gambit SOV_two_red_flags
	}
	bypass = {
		NOT = {
			country_exists = CHI
		}
	}
	available = {
		NOT = {
			has_completed_focus = SOV_the_left_opposition
		} {
			has_war_with = CHI
		}
		is_subject = no
	}
	search_filters = {

	}
	completion_reward = {
		CHI = {
			add_opinion_modifier = {
				target = ROOT
				modifier = SOV_cooperating_with_us
			}
			add_relation_modifier = {
				target = ROOT
				modifier = SOV_soviet_chinese_relations
			}
			every_other_country = {
				limit = {
					SOV_is_free_chinese_tag = yes
				}
				add_opinion_modifier = {
					target = ROOT
					modifier = SOV_cooperating_with_other
				}
			}
		}
		activate_targeted_decision = {
			target = CHI
			decision = SOV_send_infantry_equipment_asia
		}
		custom_effect_tooltip = SOV_volunteers_allowed_kuomintang_tt
	}
}
### Entity: Scripted Effect
Component: PHI_usa_focus_done
Constructs: add_to_variable
Source: game
File: common/scripted_effects/PHI_scripted_effects.txt

Code:
PHI_usa_focus_done = {
	add_to_variable = {
		PHI_amount_of_usa_focus_done = 1
	}
}
### Entity: Event
Component: mtg_britain.8
Constructs: is_triggered_only, ai_chance, limit, remove_ideas, has_country_flag, add_stability, add_popularity, random_days
Source: game
File: events/MTG_Britain.txt

Code:
country_event = {
	id = mtg_britain.8
	title = mtg_britain.8.t
	desc = mtg_britain.8.d
	picture = GFX_report_event_journalists_speech
	is_triggered_only = yes
	trigger = {
		NOT = {
			has_country_flag = ENG_abdication_crisis_changed_mind
		} {
			has_country_flag = edward_viii_married_wallis_simpson
		}
	}
	option = {
		name = mtg_britain.8.a
		add_popularity = {
			ideology = neutrality
			popularity = -0.02
		}
		add_stability = -0.05
		hidden_effect = {
			country_event = {
				id = mtg_britain.6
				days = 20
				random_days = 10
			}
		}
		clr_country_flag = ENG_newspapers_in_favor ENG_prime_minister_tight_leash ENG_parliament_opposition ENG_upper_classes_oppose_marriage ENG_working_classes_support_marriage
		set_country_flag = ENG_newspapers_against
	} {
		name = mtg_britain.2.b
		trigger = {
			NOT = {
				has_country_flag = ENG_abdication_crisis_government_fell
			}
		}
		ai_chance = {
			factor = 0
		}
		country_event = {
			id = mtg_britain.14
			days = 40
			random_days = 10
		}
		set_country_flag = ENG_abdication_crisis_changed_mind
		if = {
			limit = {
				has_idea = ENG_support_for_the_king_idea
			}
			remove_ideas = ENG_support_for_the_king_idea
		}
	}
}
### Entity: Order of Battle
Component: Comando Navale Metropolitana
Source: game
File: history/units/ITA_1939_naval_mtg.txt

Code:
fleet = {
	name = Comando Navale Metropolitana
	naval_base = 11837
	task_force = {
		name = Squadra di Alto Tirreno
		location = 6973
		ship = {
			name = RCT Vega
			definition = destroyer
			start_experience_factor = 0.25
			equipment = {
				ship_hull_light_1 = {
					amount = 1
					owner = ITA
					version_name = Maestrale Class
				}
			}
		} {
			name = RCT Sagittario
			definition = destroyer
			start_experience_factor = 0.25
			equipment = {
				ship_hull_light_1 = {
					amount = 1
					owner = ITA
					version_name = Maestrale Class
				}
			}
		} {
			name = RCT Perseo
			definition = destroyer
			start_experience_factor = 0.25
			equipment = {
				ship_hull_light_1 = {
					amount = 1
					owner = ITA
					version_name = Maestrale Class
				}
			}
		} {
			name = RCT Sirio
			definition = destroyer
			start_experience_factor = 0.25
			equipment = {
				ship_hull_light_1 = {
					amount = 1
					owner = ITA
					version_name = Maestrale Class
				}
			}
		} {
			name = RCT Calatafimi
			definition = destroyer
			start_experience_factor = 0.25
			equipment = {
				ship_hull_light_1 = {
					amount = 1
					owner = ITA
					version_name = Curtatone Class
				}
			}
		} {
			name = RCT Castelfidardo
			definition = destroyer
			start_experience_factor = 0.25
			equipment = {
				ship_hull_light_1 = {
					amount = 1
					owner = ITA
					version_name = Curtatone Class
				}
			}
		} {
			name = RCT Curtatone
			definition = destroyer
			start_experience_factor = 0.25
			equipment = {
				ship_hull_light_1 = {
					amount = 1
					owner = ITA
					version_name = Curtatone Class
				}
			}
		} {
			name = RCT Monzambano
			definition = destroyer
			start_experience_factor = 0.25
			equipment = {
				ship_hull_light_1 = {
					amount = 1
					owner = ITA
					version_name = Curtatone Class
				}
			}
		}
	} {
		name = Squadra di Basso Tirreno
		location = 819
		ship = {
			name = RCT Generale Marcello Prestinari
			definition = destroyer
			start_experience_factor = 0.25
			equipment = {
				ship_hull_light_1 = {
					amount = 1
					owner = ITA
					version_name = Curtatone Class
				}
			}
		} {
			name = RCT Generale Antonio Cantore
			definition = destroyer
			start_experience_factor = 0.25
			equipment = {
				ship_hull_light_1 = {
					amount = 1
					owner = ITA
					version_name = Curtatone Class
				}
			}
		} {
			name = RCT Giuseppe La Masa

# ... (truncated)
### Entity: National Focus
Tree: est_focus
Component: EST_election_boycotts
Constructs: remove_ideas, has_country_flag, completion_reward
Source: game
File: common/national_focus/r56_estonia.txt

Code:
focus = {
	id = EST_election_boycotts
	icon = GFX_goal_generic_election_rigged
	mutually_exclusive = {
		focus = EST_national_assembly_election
	}
	x = 36
	y = 0
	cost = 10
	ai_will_do = {
		factor = 3
	}
	available = {
		NOT = {
			has_country_flag = EST_election_rigged_flag
		}
	}
	bypass = {

	}
	completion_reward = {
		custom_effect_tooltip = EST_election_tt
		hidden_effect = {
			country_event = {
				id = est.18
			}
			remove_ideas = EST_student_protests
		}
	}
}
### Entity: Scripted Effect
Component: den_generic_diplomacy
Constructs: add_opinion_modifier, add_ai_strategy, send_volunteers_desire
Source: game
File: common/scripted_effects/r56_danish_scripted_effects.txt

Code:
den_generic_diplomacy = {
	add_opinion_modifier = {
		target = ROOT
		modifier = DEN_GEN_Correspondence
	}
	custom_effect_tooltip = den_approach_tt
	add_ai_strategy = {
		type = alliance
		id = ROOT
		value = 25
	} {
		type = protect
		id = ROOT
		value = 75
	} {
		type = send_volunteers_desire
		id = ROOT
		value = 100
	} {
		type = support
		id = ROOT
		value = 75
	}
}
### Entity: Unit Template
Component: URG_BC_HISTORICAL
Source: game
File: common/units/names_ships/URG_ship_names.txt

Code:
URG_BC_HISTORICAL = {
	name = NAME_THEME_HISTORICAL_BC
	for_countries = {
		URG
	}
	type = ship
	ship_types = {
		ship_hull_heavy battle_cruiser
	}
	prefix = ROU 
	fallback_name = Crucero de Batalla %d
	unique = {
		General Artigas General Don Claudio
	}
}
### Entity: Military Industrial Organization
Component: ENG_crewe_works_organization
Constructs: has_completed_focus, production_bonus, add_trait, equipment_bonus, maximum_speed
Source: game
File: common/military_industrial_organization/organizations/ENG_organization.txt

Code:
ENG_crewe_works_organization = {
	include = generic_train_organization
	icon = GFX_idea_ENG_crewe
	allowed = {
		original_tag = ENG
	}
	equipment_type = {
		train_equipment railway_gun_equipment support_equipment mio_cat_eq_all_medium_tank
	}
	research_categories = {
		train_tech support_tech
	}
	tree_header_text = {
		text = mio_header_tank_production
		x = 0.11
	} {
		text = mio_header_design_and_production
		x = 6
	} {
		text = mio_header_support
		x = 3
	} {
		text = mio_header_weapons
		x = 8.97
	}
	initial_trait = {
		name = generic_mio_initial_trait_generic_train_manufacturer
		limit_to_equipment_type = {
			train_equipment
		}
		production_bonus = {
			production_efficiency_cap_factor = 0.03
		}
		organization_modifier = {
			military_industrial_organization_research_bonus = 0
		}
	}
	override_trait = {
		token = generic_mio_trait_material_improvements
		position = {
			x = 5
			y = 0
		}
	} {
		token = generic_mio_trait_joint_stock_scheme
		position = {
			x = 7
			y = 0
		}
	} {
		token = generic_mio_trait_improved_axle_fitting
		any_parent = {
			generic_mio_trait_material_improvements ENG_mio_trait_experienced_manufacturer_crewe_works generic_mio_trait_joint_stock_scheme
		}
	} {
		token = generic_mio_trait_improved_wagon_design
		position = {
			x = -3
			y = 1
		}
		relative_position_id = generic_mio_trait_improved_axle_fitting
		all_parents = {
			ENG_mio_trait_lms_logistical_expertise
		}
	} {
		token = generic_mio_trait_improved_loading
		position = {
			x = 0
			y = 1
		}
		relative_position_id = generic_mio_trait_improved_wagon_design
	} {
		token = generic_mio_trait_ugly_ducklings
		any_parent = {
			generic_mio_trait_improved_axle_fitting ENG_mio_trait_lms_class_stanier_class_5_black_five
		}
	}
	add_trait = {
		token = generic_mio_trait_compulsory_tank_designer
		name = generic_mio_trait_compulsory_tank_designer
		icon = GFX_generic_mio_department_icon_tank_medium_tank_production
		special_trait_background = yes
		position = {
			x = 0
			y = 0
		}
		visible = {
			FROM = {
				original_tag = ENG
			}
		}
		available = {
			FROM = {
				has_completed_focus = shadow_scheme_focus
			}
		}
		limit_to_equipment_type = {
			mio_cat_eq_all_medium_tank
		}
		equipment_bonus = {
			maximum_speed = 0.05
			reliability = -0.05
			armor_value = 0.05
		}
		production_bonus = {
			production_efficiency_gain_factor = 0.02
		}
	} {
		token = generic_m
# ... (truncated)
### Entity: Idea
Component: POR_unstable_monarchy
Constructs: political_power_gain, production_speed_buildings_factor, removal_cost
Source: game
File: common/ideas/portugal.txt

Code:
POR_unstable_monarchy = {
	picture = por_monarchist_uprising
	allowed = {
		original_tag = POR
	}
	allowed_civil_war = {
		tag = POR
	}
	removal_cost = -1
	modifier = {
		political_power_gain = -0.5
		stability_weekly = -0.003
		production_speed_buildings_factor = -0.1
	}
}
### Entity: National Focus
Tree: nor_focus
Component: NOR_join_axis
Constructs: prerequisite, limit, has_government, has_war_with, add_opinion_modifier, completion_reward, is_faction_leader, unlock_national_focus
Source: game
File: common/national_focus/r56_norway.txt

Code:
focus = {
	id = NOR_join_axis
	icon = GFX_focus_chi_mission_to_germany
	prerequisite = {
		focus = NOR_support_radical_nationalism
	}
	mutually_exclusive = {
		focus = NOR_norway_first NOR_german_puppet
	}
	x = -2
	y = 1
	relative_position_id = NOR_support_radical_nationalism
	cost = 10
	ai_will_do = {
		base = 120
	}
	available = {
		OR = {
			has_government = fascism
			AND = {
				has_war_with = ENG
				GER = {
					has_war_with = ENG
				}
			} {
				has_war_with = FRA
				GER = {
					has_war_with = FRA
				}
			}
		}
		GER = {
			is_faction_leader = yes
			NOT = {
				has_war_with = ROOT
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
	completion_reward = {
		add_opinion_modifier = {
			target = GER
			modifier = axis_leanings_focus
		}
		GER = {
			add_opinion_modifier = {
				target = ROOT
				modifier = axis_leanings_focus
			}
			hidden_effect = {
				if = {
					limit = {
						focus_progress = {
							focus = GER_operation_weserubung
							progress = > 0
						}
					}
					unlock_national_focus = GER_operation_weserubung
				}
			}
			add_ai_strategy = {
				type = befriend
				id = NOR
				value = 125
			} {
				type = alliance
				id = NOR
				value = 125
			} {
				type = befriend
				id = ICE
				value = 125
			} {
				type = alliance
				id = ICE
				value = 125
			}
			if = {
				limit = {
					NOT = {
						is_in_faction_with = ROOT
					}
				}
				country_event = {
					id = generic.2
					hours = 6
				}
			}
		}
		hidden_effect = {
			news_event = {
				id = naw_norway.101
				days = 2
			}
		}
	}
}