Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: National Focus
Tree: eng_focus
Component: ENG_pre_empt_spanish_alignment
Constructs: prerequisite, has_war, limit, random_country, has_government, has_war_with, completion_reward, is_subject
Source: game
File: common/national_focus/uk.txt

Code:
focus = {
	id = ENG_pre_empt_spanish_alignment
	prerequisite = {
		focus = ENG_secure_the_italian_alliance
	}
	mutually_exclusive = {
		focus = ENG_gibraltar_for_spanish_support
	}
	available = {
		is_subject = no
		if = {
			limit = {
				NOT = {
					has_dlc = La Resistance
				}
			}
			any_country = {
				original_tag = SPR
				has_government = fascism
				exists = yes
				NOT = {
					is_in_faction_with = ENG
				} {
					has_war_with = ENG
				}
			}
		} {
			limit = {
				has_dlc = La Resistance
			}
			SPA = {
				exists = yes
				NOT = {
					is_in_faction_with = ENG
				} {
					has_war_with = ENG
				}
			}
		}
		has_global_flag = scw_over
	}
	bypass = {
		if = {
			limit = {
				NOT = {
					has_dlc = La Resistance
				}
			}
			NOT = {
				any_country = {
					original_tag = SPR
					has_government = fascism
					exists = yes
				}
			}
		} {
			limit = {
				has_dlc = La Resistance
			}
			NOT = {
				country_exists = SPA
			}
		}
		has_global_flag = scw_over
	}
	icon = GFX_goal_generic_more_territorial_claims
	x = 1
	y = 1
	relative_position_id = ENG_secure_the_italian_alliance
	cost = 10
	ai_will_do = {
		factor = 1
		modifier = {
			factor = 0
			has_war = yes
		} {
			factor = 0
			if = {
				limit = {
					NOT = {
						has_dlc = La Resistance
					}
				}
				any_country = {
					original_tag = SPR
					has_government = fascism
					exists = yes
					is_in_faction_with = GER
				}
			} {
				limit = {
					has_dlc = La Resistance
				}
				SPA = {
					exists = yes
					is_in_faction_with = GER
				}
			}
		}
	}
	completion_reward = {
		ENG_mosley_pacifism_level_down = yes
		if = {
			limit = {
				NOT = {
					has_dlc = La Resistance
				}
			}
			random_country = {
				limit = {
					original_tag = SPR
					has_government = fascism
				}
				ENG = {
					create_wargoal = {
						type = puppet_wargoal_focus
						target = PREV
						expire = 0
					}
				}
			}
		} {
			limit = {
				has_dlc = La Resistance
			}
			ENG = {
				create_wargoal = {
					type = puppet_wargoal_focus
					target = SPA
					expire = 0
				}
			}
		}
	}
}
### Entity: Scripted Effect
Component: ITA_manage_national_spirits_in_civil_war
Constructs: limit, add_dynamic_modifier, has_dynamic_modifier, set_variable, every_state, is_initial_ethiopian_state, add_to_array
Source: game
File: common/scripted_effects/ITA_scripted_effects.txt

Code:
ITA_manage_national_spirits_in_civil_war = {
	add_dynamic_modifier = {
		modifier = ITA_ricostruzione_industriale_dynamic_modifier
	} {
		modifier = ITA_military_industry_dynamic_modifier
	}
	if = {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modifier = ITA_regio_esercito_dynamic_modifier
				}
			}
		}
		add_dynamic_modifier = {
			modifier = ITA_regio_esercito_alt_dynamic_modifier
		}
	} {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modifier = ITA_regia_aeronautica_dynamic_modifier
				}
			}
		}
		add_dynamic_modifier = {
			modifier = ITA_regia_aeronautica_alt_dynamic_modifier
		}
	} {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modifier = ITA_regia_marina_dynamic_modifier
				}
			}
		}
		add_dynamic_modifier = {
			modifier = ITA_regia_marina_alt_dynamic_modifier
		}
	}
	else_if = {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modifier = ITA_regio_esercito_2_dynamic_modifier
				}
			}
		}
		add_dynamic_modifier = {
			modifier = ITA_regio_esercito_2_alt_dynamic_modifier
		}
	} {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modifier = ITA_regio_esercito_3_dynamic_modifier
				}
			}
		}
		add_dynamic_modifier = {
			modifier = ITA_regio_esercito_3_alt_dynamic_modifier
		}
	} {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modifier = ITA_regio_esercito_alt_dynamic_modifier
				}
			}
		}
		add_dynamic_modifier = {
			modifier = ITA_regio_esercito_dynamic_modifier
		}
	} {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modifier = ITA_regio_esercito_2_alt_dynamic_modifier
				}
			}
		}
		add_dynamic_modifier = {
			modifier = ITA_regio_esercito_2_dynamic_modifier
		}
	} {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modifier = ITA_regio_esercito_3_alt_dynamic_modifier
				}
			}
		}
		add_dynamic_modifier = {
			modifier = ITA_regio_esercito_3_dynamic_modifier
		}
	} {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modifier = ITA_regia_aeronautica_2_dynamic_modifier
				}
			}
		}
		add_dynamic_modifier = {
			modifier = ITA_regia_aeronautica_2_alt_dynamic_modifier
		}
	} {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modifier = ITA_regia_aeronautica_3_dynamic_modifier
				}
			}
		}
		add_dynamic_modifier = {
			modifier = ITA_regia_aeronautica_3_alt_dynamic_modifier
		}
	} {
		limit = {
			ITA = {
				has_dynamic_modifier = {
					modif
# ... (truncated)
### Entity: Event
Component: BBA_italy_missiolinis.213
Constructs: is_triggered_only
Source: game
File: events/BBA_Italy.txt

Code:
country_event = {
	id = BBA_italy_missiolinis.213
	title = BBA_italy_missiolinis.213.t
	desc = BBA_italy_missiolinis.213.desc
	picture = GFX_report_event_military_planning
	is_triggered_only = yes
	trigger = {
		ITA_missiolinis_system_available = yes
	}
	immediate = {
		hidden_effect = {
			ITA_missiolinis_finalize_mission_effect = yes
			ITA_missiolinis_add_to_successful_missions = yes
		}
	}
	option = {
		name = BBA_italy_missiolinis.213.a
		ITA_missiolini_bolster_military_high_command_success_effect = yes
	}
}
### Entity: AI Strategy
Component: EAI_MILITARY_AREA_garrison_state_wake
Constructs: has_country_flag, is_in_array
Source: game
File: common/ai_strategy/EAI_MILITARY_strategies.txt

Code:
EAI_MILITARY_AREA_garrison_state_wake = {
	enable = {
		has_country_flag = EAI_MILITARY_garrison_state_strategies
		NOT = {
			is_in_array = {
				EAI_MILITARY_INVASION_staging_areas = 632
				 = .id
			}
		}
		controls_state = 632
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = put_unit_buffers
		ratio = 0.25
		order_id = 998
		states = {
			632
		}
		subtract_invasions_from_need = no
		subtract_fronts_from_need = no
	}
}
### Entity: National Focus
Tree: sov_focus
Component: SOV_regional_development
Constructs: every_owned_state, prerequisite, limit, completion_reward, add_political_power, has_dlc, add_extra_state_shared_building_slots
Source: game
File: common/national_focus/soviet.txt

Code:
focus = {
	id = SOV_regional_development
	icon = GFX_focus_generic_soviet_politics
	prerequisite = {
		focus = SOV_all_power_to_the_soviets
	}
	x = 0
	y = 1
	relative_position_id = SOV_all_power_to_the_soviets
	mutually_exclusive = {
		focus = SOV_strengthen_the_trade_unions
	}
	offset = {
		x = -1
		y = 0
		trigger = {
			NOT = {
				has_dlc = No Step Back
			}
		}
	}
	cost = 10
	available = {

	}
	search_filters = {
		FOCUS_FILTER_POLITICAL FOCUS_FILTER_INDUSTRY
	}
	completion_reward = {
		add_political_power = 150
		every_owned_state = {
			limit = {
				OR = {
					state = 202 229 230 231 405 408 584 586 654 732 743 206
				}
				free_building_slots = {
					building = industrial_complex
					size = > 1
					include_locked = yes
				}
			}
			add_extra_state_shared_building_slots = 2
		}
	}
}
### Entity: Technology
Component: mtg_tank_landing_craft
Constructs: has_war, has_war_with, research_cost
Source: game
File: common/technologies/MTG_naval_Support.txt

Code:
technology = {
	amphibious_invasion = 0.25
	amphibious_invasion_defence = 0.5
	naval_invasion_prep_days = -10
	naval_invasion_division_cap = 5
	naval_invasion_plan_cap = 4
	research_cost = 2
	start_year = 1944
	folder = {
		name = mtgnavalsupportfolder
		position = {
			x = 0
			y = 19
		}
	}
	ai_will_do = {
		factor = 2
		modifier = {
			factor = 0.5
			has_war = no
		} {
			factor = 20
			tag = USA
		} {
			factor = 2
			has_war_with = JAP
		} {
			factor = 3
			tag = JAP
		} {
			factor = 2
			tag = ENG
		}
	}
	categories = {
		naval_equipment tp_tech
	}
	special_project_specialization = {
		specialization_naval
	}
}
### Entity: AI Strategy
Component: GER_SWE_nils_flyg_is_in_charge_and_he_is_a_weird_communist_that_does_not_like_stalin_so_we_like_him
Constructs: has_government, has_country_leader
Source: game
File: common/ai_strategy/GER.txt

Code:
GER_SWE_nils_flyg_is_in_charge_and_he_is_a_weird_communist_that_does_not_like_stalin_so_we_like_him = {
	allowed = {
		original_tag = GER
	}
	enable = {
		country_exists = SWE
		SWE = {
			has_country_leader = {
				ruling_only = yes
				character = SWE_nils_flyg
			}
			has_government = communism
		}
	}
	abort = {
		SWE = {
			NOT = {
				has_government = communism
				has_country_leader = {
					ruling_only = yes
					character = SWE_nils_flyg
				}
			}
		}
	}
	ai_strategy = {
		type = avoid_starting_wars
		id = SWE
		value = 200
	} {
		type = befriend
		id = SWE
		value = 200
	} {
		type = alliance
		id = SWE
		value = 1000
	}
}
### Entity: Event
Component: AFG_political_events.111
Constructs: is_triggered_only, ai_chance, limit, has_country_flag, every_state, is_owned_by, clr_country_flag
Source: game
File: events/GOE_Afghanistan.txt

Code:
country_event = {
	id = AFG_political_events.111
	title = AFG_political_events.111.t
	desc = AFG_political_events.111.desc
	picture = GFX_report_event_generic_sign_treaty2
	is_triggered_only = yes
	option = {
		name = AFG_political_events.111.a
		ai_chance = {
			base = 10
		}
		IF = {
			limit = {
				has_country_flag = AFG_is_demanding_balochistan
			}
			every_state = {
				limit = {
					is_owned_by = FROM
					OR = {
						state = 988 444 410
					}
				}
				transfer_state_to = ROOT
			}
		} {
			limit = {
				has_country_flag = AFG_is_demanding_balochistan
			}
			clr_country_flag = AFG_is_demanding_balochistan
		}
		ELSE_IF = {
			limit = {
				has_country_flag = AFG_durand_line_demand
			}
			every_state = {
				limit = {
					is_owned_by = FROM
					OR = {
						state = 987 442
					}
				}
				transfer_state_to = ROOT
			}
		} {
			limit = {
				has_country_flag = AFG_durand_line_demand
			}
			clr_country_flag = AFG_durand_line_demand
		}
	}
}
### Entity: Event
Component: luxembourg.276
Constructs: is_triggered_only
Source: game
File: events/r56_luxembourg.txt

Code:
country_event = {
	id = luxembourg.276
	title = luxembourg.276.t
	desc = luxembourg.276.d
	picture = GFX_report_event_generic_sign_treaty2
	is_triggered_only = yes
	option = {
		name = luxembourg.276.a
	}
}
### Entity: AI Strategy
Component: BRA_communist_plan
Constructs: has_government, has_country_flag, has_dlc, has_game_rule, is_puppet
Source: game
File: common/ai_strategy_plans/BRA_R56_alternate_strategy_plan.txt

Code:
BRA_communist_plan = {
	name = BRA: Brazilian Communist AI Plan
	desc = Communist behavior for Brazil.
	allowed = {
		original_tag = BRA
		NOT = {
			has_dlc = Trial of Allegiance
		}
	}
	enable = {
		OR = {
			has_country_flag = ARG_AI_RANDOM_COMMUNIST
			has_game_rule = {
				rule = BRA_ai_behavior
				option = BRA_COMMUNIST_STALINISM
			} {
				rule = BRA_ai_behavior
				option = BRA_COMMUNIST_INDEPENDENT
			}
		}
	}
	abort = {
		is_puppet = yes
		NOT = {
			has_government = communism
		}
	}
	ai_national_focuses = {
		BRA_R56_the_voice_of_brazil BRA_R56_national_security_law BRA_R56_institute_the_polaca BRA_R56_embrace_populism BRA_R56_the_second_communist_putsch
	}
	focus_factors = {

	}
	weight = {
		factor = 1.0
		modifier = {
			factor = 1.0
		}
	}
}
### Entity: Event
Component: new_ger.49
Constructs: is_triggered_only, add_political_power, retire_character, add_popularity
Source: game
File: events/r56_Germany.txt

Code:
country_event = {
	id = new_ger.49
	title = new_ger.49.t
	desc = new_ger.49.d
	picture = GFX_report_event_soviet_purge_politicians
	is_triggered_only = yes
	option = {
		name = new_ger.49.a
		retire_character = GER_heinrich_brandler GER_august_thalheimer
		add_popularity = {
			ideology = communism
			popularity = 0.03
		}
	} {
		name = new_ger.49.b
		add_political_power = -50
	}
}
### Entity: Character
Component: TZN_aco2
Source: game
File: common/characters/TZN.txt

Code:
TZN_aco2 = {
	advisor = {
		slot = army_chief
		idea_token = TZN_aco2
		allowed = {
			original_tag = TZN
		}
		traits = {
			army_chief_organizational_2
		}
		ai_will_do = {
			factor = 1.0
		}
	}
	portraits = {
		army = {
			small = GFX_idea_generic_army_african_4
		}
	}
}
### Entity: Country History
Country: RKO
Component: RKO_politics
Constructs: set_stability, add_ideas, set_war_support, set_politics, set_popularities
Source: game
File: history/countries/RKO - Reichskommisariat Ostland.txt

Code:
# Politics & Parties for RKO
set_stability = 0.4
set_war_support = 0.7
set_politics = {
	ruling_party = fascism
	last_election = 1936.1.1
	election_frequency = 48
	elections_allowed = no
}
set_popularities = {
	neutrality = 0
	democratic = 15
	fascism = 80
	communism = 5
}
add_ideas = {
	war_economy extensive_conscription
}
### Entity: Shared Focus
Tree: chi_focus
Component: CHI_sea_reach_out_to_france
Constructs: shared_focus, prerequisite, has_government, has_war_with, add_opinion_modifier, completion_reward, has_capitulated, cancel_if_invalid
Source: game
File: common/national_focus/china_shared_TSR.txt

Code:
shared_focus = {
	id = CHI_sea_reach_out_to_france
	icon = GFX_focus_chi_reach_out_to_france
	mutually_exclusive = {
		focus = CHI_sea_british_cooperation
	}
	prerequisite = {
		focus = CHI_sea_invite_foreign_investors
	}
	x = 5
	y = 0
	relative_position_id = CHI_sea_mission_to_the_soviet_union
	cost = 5
	ai_will_do = {
		factor = 1
	}
	available = {
		OR = {
			has_government = neutrality
			FRA = {
				has_government = ROOT
			}
		}
		FRA_will_support = yes
		NOT = {
			has_war_with = FRA
		}
		FRA = {
			has_capitulated = no
		}
	}
	bypass = {

	}
	cancel_if_invalid = no
	continue_if_invalid = yes
	available_if_capitulated = no
	completion_reward = {
		FRA = {
			add_opinion_modifier = {
				target = ROOT
				modifier = CHI_reach_out_to_france
			}
			add_ai_strategy = {
				type = alliance
				id = ROOT
				value = 100
			} {
				type = protect
				id = ROOT
				value = 100
			} {
				type = send_volunteers_desire
				id = ROOT
				value = 100
			} {
				type = support
				id = ROOT
				value = 100
			}
		}
	}
}
### Entity: Idea
Component: PRC_finalize_industrial_plan_idea
Constructs: production_speed_buildings_factor, has_dlc
Source: game
File: common/ideas/comchina.txt

Code:
PRC_finalize_industrial_plan_idea = {
	picture = PRC_finalize_industrial_plan_idea
	allowed = {
		original_tag = PRC
		has_dlc = No Compromise, No Surrender
	}
	modifier = {
		production_factory_start_efficiency_factor = 0.075
		production_factory_max_efficiency_factor = 0.05
		production_factory_efficiency_gain_factor = 0.05
		production_speed_buildings_factor = 0.1
	}
}
### Entity: Event
Component: ww_BEL_event_political.3
Constructs: is_triggered_only, ai_chance, remove_ideas, add_country_leader_role, set_party_name, complete_national_focus, set_politics, add_popularity
Source: game
File: events/WUW_Belgium.txt

Code:
country_event = {
	id = ww_BEL_event_political.3
	title = ww_BEL_event_political.3.t
	desc = ww_BEL_event_political.3.desc
	picture = GFX_report_event_BEL_leopold
	is_triggered_only = yes
	option = {
		name = ww_BEL_event_political.3.a
		ai_chance = {
			base = 20
			modifier = {
				factor = 100
				OR = {
					BEL_historical_ai = yes
				}
			}
		}
		add_country_leader_role = {
			character = BEL_paul_emile_janson
			promote_leader = yes
			country_leader = {
				ideology = conservatism
				expire = 1965.1.1.1
				traits = {
					BEL_royal_appointee
				}
			}
		}
		set_party_name = {
			ideology = democratic
			long_name = BEL_liberal_party_long
			name = BEL_liberal_party
		}
		remove_ideas = BEL_collapsing_government_ns
		complete_national_focus = BEL_paul_emile_janson
	} {
		name = ww_BEL_event_political.3.b
		ai_chance = {
			base = 5
			modifier = {
				factor = 100
				OR = {
					BEL_nationalist_fascist_ai = yes
					BEL_expansionist_fascist_ai = yes
					BEL_defensive_democrat_ai = yes
				}
			}
		}
		add_country_leader_role = {
			character = BEL_leon_degrelle
			promote_leader = yes
			country_leader = {
				ideology = rexism
				expire = 1965.1.1.1
				traits = {
					BEL_belgian_inquisitor
				}
			}
		}
		set_politics = {
			ruling_party = fascism
			elections_allowed = no
		}
		remove_ideas = BEL_collapsing_government_ns
		complete_national_focus = BEL_degrelle
		add_popularity = {
			ideology = fascism
			popularity = 0.15
		}
		custom_effect_tooltip = generic_skip_one_line_tt BEL_modify_corruption_dynamic_modifier_tt
		add_to_variable = {
			BEL_corruption_political_power_gain = 0.05
			tooltip = political_power_gain_tt
		} {
			BEL_corruption_stability_factor = 0.05
			tooltip = stability_factor_tt
		}
	}
}
### Entity: Effect Reference
Construct: clamp_variable
Source: vanilla_docs
File: documentation/effects_documentation.md

Doc:
## clamp_variable

* Supported Scopes: any
* Supported Targets: none

```
Clamps a variable between two values or variables.
Note that either min or max can be omitted.
The order in which the operations are applied is Max( Min( var, max ), min ).
An error will be logged if max < min as the result will be more often than not undesired (requires the game to run in debug mode).
Example: clamp_variable = {
    var = num_dogs
    min = 0
    max = num_cats
}

```
### Entity: National Focus
Tree: jap_focus
Component: JAP_protect_the_manchurians
Constructs: prerequisite, has_government, has_war_with, completion_reward, is_subject, is_ally_with, cancel_if_invalid, create_wargoal
Source: game
File: common/national_focus/japan.txt

Code:
focus = {
	id = JAP_protect_the_manchurians
	icon = GFX_focus_JAP_protect_the_manchurians
	x = -1
	y = 1
	relative_position_id = JAP_ignite_the_korean_peninsula
	prerequisite = {
		focus = JAP_ignite_the_korean_peninsula
	}
	cost = 5
	ai_will_do = {
		factor = 1
	}
	available = {
		has_government = communism
		is_subject = no
		MAN = {
			exists = yes
			NOT = {
				is_ally_with = ROOT
				has_war_with = ROOT
			}
		}
	}
	bypass = {
		MAN = {
			OR = {
				exists = no
				is_ally_with = ROOT
				has_war_with = ROOT
			}
		}
	}
	will_lead_to_war_with = MAN
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	search_filters = {
		FOCUS_FILTER_ANNEXATION
	}
	completion_reward = {
		create_wargoal = {
			type = puppet_wargoal_focus
			target = MAN
			expire = 0
		}
		custom_effect_tooltip = generic_skip_one_line_tt
		add_timed_idea = {
			idea = JAP_cleaning_up_our_own_mess
			days = 425
		}
	}
}
### Entity: AI Strategy
Component: r56_GER_attack_austria_later
Constructs: has_war_with, has_country_flag
Source: game
File: common/ai_strategy/r56_GER.txt

Code:
r56_GER_attack_austria_later = {
	allowed = {
		original_tag = GER
	}
	enable = {
		exists = yes
		has_country_flag = GER_backed_down_anschluss
		AUS = {
			exists = yes
			has_country_flag = AUS_anschluss_rejected
		}
		OR = {
			date = > 1940.1.1
			AND = {
				AUS = {
					has_country_flag = AUS_west_allied
				}
				OR = {
					has_war_with = FRA ENG
				}
			} {
				AUS = {
					has_country_flag = AUS_italy_allied
				}
				has_war_with = ITA
			}
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = conquer
		id = AUS
		value = 500
	} {
		type = consider_weak
		id = AUS
		value = 500
	}
}
### Entity: Special Project
Component: sp_r56_advance_tank_optical_rangefinder
Constructs: limit, set_technology, breakthrough_cost, resource_cost, enable_equipment_modules, has_dlc
Source: game
File: common/special_projects/projects/r56_land_projects.txt

Code:
sp_r56_advance_tank_optical_rangefinder = {
	specialization = specialization_land
	icon = GFX_sp_advance_tank_optical_rangefinder
	project_tags = {
		sp_tag_tank
	}
	special_project_parent = {
		sp_r56_tank_optical_rangefinder
	}
	prototype_time = sp_time.prototype.medium
	complexity = sp_complexity.medium
	breakthrough_cost = {
		specialization_land = 1
	}
	resource_cost = {
		resources = {
			aluminium = 2
			steel = 2
		}
	}
	project_output = {
		country_effects = {
			custom_effect_tooltip = {
				localization_key = SP_UNLOCK_TECH
				TECH = r56_improved_optics_tech_2
			}
			custom_override_tooltip = {
				tooltip = tech_effect|r56_improved_optics_tech_2
				set_technology = {
					r56_improved_optics_tech_1 = 1
					popup = no
				}
			}
		}
		enable_equipment_modules = {
			limit = {
				has_dlc = No Step Back
			}
			 = r56_tank_advanced_rangefinder
		}
	}
	generic_prototype_rewards = {
		sp_land_generic_reward_scientist_xp_1 sp_land_generic_reward_scientist_xp_2 sp_land_generic_reward_army_xp_1 sp_land_generic_reward_army_xp_2 sp_land_generic_reward_major_progress_1 sp_land_generic_reward_test_failure_1 sp_land_generic_reward_resource_scarcity
	}
	unique_prototype_rewards = {

	}
}
### Entity: Modifier Reference
Construct: resource_trade_cost_bonus_per_factory
Source: vanilla_docs
File: documentation/modifiers_documentation.md

Doc:
## resource_trade_cost_bonus_per_factory

* Number with 0 decimal places
* **Categories**: country
### Entity: AI Strategy
Component: EAI_BUILDING_construction_CIC_21
Constructs: has_country_flag
Source: game
File: common/ai_strategy/EAI_BUILDING_construction_strategies.txt

Code:
EAI_BUILDING_construction_CIC_21 = {
	enable = {
		has_country_flag = {
			flag = EAI_BUILDING_build_num_CIC
			value = 21
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = building_target
		id = industrial_complex
		value = 21
	}
}
### Entity: Idea
Component: EAI_DD_19/heavy_tank_flame_chassis_bonus
Constructs: equipment_bonus, build_cost_ic
Source: game
File: common/ideas/EAI_difficulty_ideas.txt

Code:
EAI_DD_19/heavy_tank_flame_chassis_bonus = {
	allowed = {
		always = no
	}
	equipment_bonus = {
		heavy_tank_flame_chassis = {
			build_cost_ic = -0.475
			instant = yes
		}
	}
}
### Entity: AI Strategy
Component: SOV_khakimov_proposal_sau
Constructs: has_completed_focus, has_idea, is_subject, has_capitulated, is_in_faction_with
Source: game
File: common/ai_strategy/SOV.txt

Code:
SOV_khakimov_proposal_sau = {
	allowed = {
		original_tag = SAU
	}
	enable = {
		SOV = {
			has_idea = SOV_maksim_litvinov
			has_completed_focus = SOV_the_khakimov_proposal
			is_subject = no
		}
		is_subject = no
	}
	abort = {
		OR = {
			SOV = {
				NOT = {
					has_idea = SOV_maksim_litvinov
				}
			} {
				has_capitulated = yes
			}
			is_in_faction_with = SOV
			is_subject = yes
		}
	}
	ai_strategy = {
		type = diplo_action_desire
		id = SOV
		target = befriend
		value = 25
	}
}