Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: Shared Focus
Tree: spa_focus
Component: SPA_r56_spanish_austrian_diplomatic_unity
Constructs: shared_focus, prerequisite, limit, random_country, has_government, completion_reward, is_puppet, is_in_faction
Source: game
File: common/national_focus/r56_political_spain_nationalist_shared.txt

Code:
shared_focus = {
	id = SPA_r56_spanish_austrian_diplomatic_unity
	available = {
		has_government = neutrality
		is_puppet = no
		is_in_faction = no
		any_country = {
			has_government = neutrality
			has_cosmetic_tag = HUN_EMPIRE
			custom_trigger_tooltip = {
				tooltip = is_AH_tt
			}
			is_faction_leader = yes
			NOT = {
				is_puppet = yes
			}
		}
	}
	mutually_exclusive = {
		focus = SPR_stay_out_of_conflicts SPR_british_alignment ITA_align_with_italy SPA_r56_alliance_with_the_kaiserreich SPA_r56_carlist_diplomacy
	}
	prerequisite = {
		focus = SPR_king_javier_I
	}
	icon = GFX_focus_proclaim_the_restauration_of_Austria_Hungary
	x = 5
	y = 1
	relative_position_id = SPR_king_javier_I
	cost = 10
	available_if_capitulated = yes
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
	completion_reward = {
		random_country = {
			limit = {
				has_government = neutrality
				has_cosmetic_tag = HUN_EMPIRE
				is_faction_leader = yes
				NOT = {
					is_puppet = yes
				}
			}
			country_event = {
				id = generic.2
			}
		}
		set_rule = {
			can_create_factions = yes
		}
	}
}
### Entity: Character
Component: AST_george_wootten
Constructs: has_completed_focus
Source: game
File: common/characters/AST.txt

Code:
AST_george_wootten = {
	name = AST_george_wootten
	portraits = {
		army = {
			large = GFX_portrait_AST_george_wootten
			small = GFX_portrait_AST_george_wootten_small
		}
	}
	corps_commander = {
		visible = {
			has_completed_focus = AST_second_australian_imperial_force
		}
		traits = {
			infantry_expert expeditionary_leader_trait
		}
		skill = 3
		attack_skill = 3
		defense_skill = 3
		planning_skill = 2
		logistics_skill = 2
		legacy_id = -1
	}
}
### Entity: Idea
Component: HUN_orion
Constructs: research_bonus
Source: game
File: common/ideas/hungary.txt

Code:
HUN_orion = {
	picture = HUN_orion
	allowed = {
		original_tag = HUN
	}
	research_bonus = {
		electronics = 0.15
	}
	ai_will_do = {
		base = 0.5
	}
	traits = {
		electronics_concern
	}
}
### Entity: Faction
Component: faction_goal_control_cyprus
Constructs: limit, has_war_with, is_in_faction_with, complete_effect, add_faction_power_projection, every_faction_member, add_faction_initiative, add_building_construction
Source: game
File: common/factions/goals/faction_goals_medium_term.txt

Code:
faction_goal_control_cyprus = {
	name = control_cyprus_goal_name
	description = control_cyprus_goal_desc
	category = medium_term
	group = FOCUS_FILTER_ANNEXATION
	allowed = {

	}
	visible = {
		FROM = {
			NOT = {
				original_tag = ENG
				is_in_faction_with = ENG
			}
		}
		any_collection_element = {
			collection = {
				input = game:scope
				operators = {
					faction_members controlled_states
				}
				name = FACTION_CONTROLLED_STATES
			}
			distance_to = {
				target = 183
				value = < 2000
			}
		}
	}
	available = {

	}
	completed = {
		183 = {
			is_controlled_by_ROOT_or_ally = yes
		}
	}
	complete_effect = {
		add_faction_power_projection = 100
		custom_effect_tooltip = generic_skip_one_line_tt TARGET_STATE_CONTROLLERS
		every_faction_member = {
			visible_when_empty = yes
			limit = {
				controls_state = 183
			}
			add_faction_initiative = 1
		}
		183 = {
			add_building_construction = {
				type = anti_air_building
				level = 1
				instant_build = yes
			} {
				type = air_base
				level = 1
				instant_build = yes
			} {
				type = naval_base
				level = 1
				instant_build = yes
				province = {
					all_provinces = yes
					limit_to_naval_base = yes
				}
			}
		}
	}
	ai_will_do = {
		base = 1
		modifier = {
			factor = 2
			182 = {
				owner = {
					has_war_with = ROOT
				}
			}
		} {
			add = 2
			convoy_threat = > 0.5
			collection_size = {
				input = {
					input = game:all_states
					operators = {
						limit = {
							is_controlled_by_ROOT_or_ally = yes
							is_on_continent = europe
						}
					}
					name = COLLECTION_FACTION_STATES_IN_NORTH_AMERICA
				}
				value = > 0
			} {
				input = {
					input = game:all_states
					operators = {
						limit = {
							is_controlled_by_ROOT_or_ally = yes
							OR = {
								is_on_continent = middle_east africa
							}
						}
					}
					name = COLLECTION_FACTION_STATES_IN_EUROPE
				}
				value = > 0
			}
		} {
			add = 1
			has_navy_size = {
				size = > 5
				type = capital_ship
			}
		} {
			add = 1
			OR = {
				original_tag = TUR
			}
		} {
			add = 1
			is_historical_focus_on = yes
			OR = {
				original_tag = ITA GER
			}
		}
	}
}
### Entity: Unit Leader
Component: 3
Source: game
File: common/unit_leader/00_attack_skills.txt

Code:
3 = {
	cost = 400
	type = navy
	modifier = {
		naval_damage_factor = 0.15
	}
	building_module_modifier = {
		spotting_chance = 0.06
		ships_at_battle_start = 0.06
	}
}
### Entity: Idea
Component: PAL_cooperate_with_husseinis
Constructs: removal_cost, mobilization_speed
Source: game
File: common/ideas/palestine.txt

Code:
PAL_cooperate_with_husseinis = {
	picture = generic_deal_with_the_devil2
	allowed = {
		tag = PAL
	}
	available = {

	}
	cancel = {

	}
	allowed_civil_war = {
		always = yes
	}
	removal_cost = -1
	modifier = {
		resistance_growth = -0.15
		mobilization_speed = 0.15
	}
}
### Entity: AI Strategy
Component: ITA_attack_north
Constructs: has_war_with, has_active_mission
Source: game
File: common/ai_strategy/ITA.txt

Code:
ITA_attack_north = {
	allowed = {
		original_tag = ITA
	}
	enable = {
		has_war_with = ETH
		has_active_mission = ITA_conquer_the_north_mission
		ITA_is_communist_ai = no
		ITA_is_socialist_ai = no
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = front_control
		state = 841
		ratio = 0.2
		priority = 100
		ordertype = front
		execution_type = rush
		execute_order = yes
	}
}
### Entity: Country History
Country: UGA
Component: UGA_technology
Constructs: set_technology
Source: game
File: history/countries/UGA - Uganda.txt

Code:
# Starting Technologies for UGA
set_technology = {
	infantry_weapons = 1
}
### Entity: Character
Component: SER_awt
Source: game
File: common/characters/SER.txt

Code:
SER_awt = {
	advisor = {
		slot = theorist
		idea_token = SER_awt
		ledger = air
		allowed = {
			original_tag = SER
		}
		traits = {
			air_warfare_theorist
		}
	}
	portraits = {
		army = {
			small = GFX_idea_generic_air_europe_2
		}
	}
}
### Entity: Character
Component: POL_Polish_Red_Cross
Constructs: equipment_bonus, build_cost_ic
Source: game
File: common/country_leader/r56_traits.txt

Code:
POL_Polish_Red_Cross = {
	sprite = 6
	random = no
	equipment_bonus = {
		support_equipment = {
			build_cost_ic = -0.05
			instant = yes
		}
	}
}
### Entity: National Focus
Tree: mpl_focus
Component: MPL_denounce_balfour
Constructs: prerequisite, limit, every_country, add_stability, add_opinion_modifier, completion_reward, add_political_power, is_on_continent
Source: game
File: common/national_focus/mandate_of_palestine.txt

Code:
focus = {
	id = MPL_denounce_balfour
	icon = GFX_goal_generic_repeal_opressive_law
	relative_position_id = MPL_middle_eastern_focus
	x = -3
	y = 1
	prerequisite = {
		focus = MPL_middle_eastern_focus
	}
	cost = 10
	completion_reward = {
		add_stability = 0.05
		add_political_power = 100
		custom_effect_tooltip = generic_skip_one_line_tt
		every_country = {
			limit = {
				capital_scope = {
					is_on_continent = middle_east
				}
			}
			add_opinion_modifier = {
				target = MPL
				modifier = large_increase
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL
	}
}
### Entity: National Focus
Tree: cze_focus
Component: CZE_national_defense_act
Constructs: prerequisite, limit, add_ideas, add_war_support, completion_reward, is_controlled_by, has_war_support, has_defensive_war
Source: game
File: common/national_focus/czechoslovakia_mu.txt

Code:
focus = {
	id = CZE_national_defense_act
	icon = GFX_focus_SWE_defense_act
	prerequisite = {
		focus = CZE_continue_armed_force_reform
	}
	relative_position_id = CZE_continue_armed_force_reform
	x = -7
	y = 1
	cost = 5
	available = {
		any_core_state = {
			is_controlled_by = ROOT
		}
		OR = {
			has_war_support = > 0.4
			has_defensive_war = yes
			any_neighbor_country = {
				has_added_tension_amount = > 5
			}
		}
	}
	cancel_if_invalid = no
	continue_if_invalid = yes
	completion_reward = {
		add_war_support = 0.03
		custom_effect_tooltip = generic_skip_one_line_tt
		add_ideas = CZE_national_defense_act_idea
		if = {
			limit = {
				has_power_balance = {
					id = CZE_bop_army_readiness
				}
			}
			custom_effect_tooltip = generic_skip_one_line_tt generic_skip_one_line_tt
			CZE_bop_very_low_increase_effect = yes
			effect_tooltip = {
				remove_decision = CZE_redirect_military_discretionary_spending CZE_focus_on_export_designs
			}
			unlock_decision_tooltip = CZE_state_defense_loans CZE_seize_rail_lines
		}
	}
	search_filters = {
		FOCUS_FILTER_HISTORICAL FOCUS_FILTER_WAR_SUPPORT FOCUS_FILTER_BALANCE_OF_POWER
	}
}
### Entity: Military Industrial Organization
Component: mio_policy_general_mechanical_genius
Constructs: has_mio_size, equipment_bonus
Source: game
File: common/military_industrial_organization/policies/_general_policies.txt

Code:
mio_policy_general_mechanical_genius = {
	icon = GFX_mio_policy_mechanical_genius
	allowed = {
		always = yes
	}
	available = {
		has_mio_size = > 5
	}
	equipment_bonus = {
		same_as_mio = {
			reliability = 0.1
		}
	}
}
### Entity: National Focus
Tree: swi_focus
Component: SWI_switzerland_on_the_offense
Constructs: prerequisite, completion_reward, is_power_balance_in_range, cancel_if_invalid, add_command_power, swap_ideas, remove_idea, add_idea
Source: game
File: common/national_focus/switzerland.txt

Code:
focus = {
	id = SWI_switzerland_on_the_offense
	icon = GFX_focus_SWI_neutrality_on_the_move
	prerequisite = {
		focus = SWI_gotthard_union
	}
	mutually_exclusive = {
		focus = SWI_neutral_entente
	}
	relative_position_id = SWI_gotthard_union
	x = 0
	y = 1
	cost = 10
	ai_will_do = {
		factor = 1
	}
	available = {
		democratic = < 0.8
		fascism = < 0.2
		is_power_balance_in_range = {
			id = SWI_centralization_bop
			range = < SWI_centralization_bop_very_council
		}
	}
	bypass = {

	}
	cancel_if_invalid = no
	continue_if_invalid = no
	available_if_capitulated = no
	search_filters = {
		FOCUS_FILTER_MANPOWER FOCUS_FILTER_SWI_MILITARY_READINESS FOCUS_FILTER_ARMY_XP
	}
	completion_reward = {
		custom_effect_tooltip = SWI_neutrality_decisions_disabled_TT
		army_experience = 50
		add_command_power = 50
		SWI_remove_militia_recruitment_law = yes
		SWI_turn_militias_into_regulars = yes
		country_lock_all_division_template = no
		swap_ideas = {
			remove_idea = SWI_swiss_neutrality
			add_idea = SWI_democratic_unrest
		}
	}
}
### Entity: Idea
Component: DEN_social_democratic_policies_4
Constructs: political_power_gain, industrial_capacity_factory, removal_cost
Source: game
File: common/ideas/r56_denmark.txt

Code:
DEN_social_democratic_policies_4 = {
	removal_cost = -1
	picture = BEL_union_agreements
	modifier = {
		industrial_capacity_factory = 0.15
		consumer_goods_factor = -0.2
		line_change_production_efficiency_factor = 0.15
		political_power_gain = 0.1
	}
}
### Entity: Event
Component: liechtenstein.20
Constructs: is_triggered_only, limit, remove_ideas, has_government, has_war_with, add_stability, fire_only_once, has_capitulated
Source: game
File: events/Liechtenstein.txt

Code:
country_event = {
	id = liechtenstein.20
	picture = GFX_report_event_generic_communist_congress
	title = liechtenstein.20.t
	desc = liechtenstein.20.d
	fire_only_once = yes
	is_triggered_only = yes
	option = {
		name = liechtenstein.20.a
		trigger = {
			OR = {
				SWI = {
					NOT = {
						AND = {
							has_government = communism
							has_capitulated = yes
							has_war_with = ROOT
						}
					}
				}
				CZE = {
					NOT = {
						AND = {
							has_government = communism
							has_capitulated = yes
							has_war_with = ROOT
						}
					}
				}
			}
		}
		if = {
			limit = {
				has_idea = LIE_franz_i
			}
			remove_ideas = LIE_franz_i
		} {
			limit = {
				SWI = {
					NOT = {
						has_war_with = ROOT
						has_government = communism
					}
					has_capitulated = no
				}
			}
			SWI = {
				country_event = {
					id = liechtenstein.21
					hours = 6
				}
			}
		}
		else = {
			remove_ideas = LIE_franz_ii
		}
		else_if = {
			limit = {
				CZE = {
					NOT = {
						has_war_with = ROOT
						has_government = communism
					}
					has_capitulated = no
				}
			}
			CZE = {
				country_event = {
					id = liechtenstein.21
					hours = 6
				}
			}
		}
	} {
		name = liechtenstein.20.b
		add_stability = -0.1
		retire_character = LIE_franz_i LIE_franz_ii
	}
}
### Entity: Character
Component: fast_tank_manufacturer
Constructs: equipment_bonus, maximum_speed
Source: game
File: common/country_leader/00_traits.txt

Code:
fast_tank_manufacturer = {
	random = no
	equipment_bonus = {
		armor = {
			maximum_speed = 0.05
			reliability = 0.1
		}
	}
	ai_will_do = {
		factor = 1
	}
}
### Entity: Event
Component: mtg_usa_secure_asia.8
Constructs: is_triggered_only
Source: game
File: events/MTG_USA.txt

Code:
country_event = {
	id = mtg_usa_secure_asia.8
	title = mtg_usa_secure_asia.8.t
	desc = mtg_usa_secure_asia.8.desc
	picture = GFX_report_event_generic_conference
	is_triggered_only = yes
	option = {
		name = mtg_usa_secure_asia.8.a
		transfer_state = 671 670 286 1017 741 1069 1068 1066 1067
	}
}
### Entity: Scripted GUI
Component: scripted_gui
Source: game
File: common/scripted_guis/GER_rk_scripted_gui.txt

Code:
scripted_gui = {
	ger_rk_ui = {
		context_type = decision_category
		window_name = ger_rk_ui_window
	}
}
### Entity: Character
Component: YUG_charismatic_opportunist
Constructs: stability_factor, neutrality_drift
Source: game
File: common/country_leader/r56_traits.txt

Code:
YUG_charismatic_opportunist = {
	sprite = 13
	random = no
	neutrality_drift = 0.01
	stability_factor = 0.05
}
### Entity: National Focus
Tree: afg_focus
Component: AFG_ban_political_parties
Constructs: prerequisite, add_ideas, has_government, completion_reward
Source: game
File: common/national_focus/r56_afghanistan.txt

Code:
focus = {
	id = AFG_ban_political_parties
	icon = GFX_focus_usa_voter_registration_act
	x = -1
	y = 1
	cost = 5
	available = {
		has_government = neutrality
	}
	prerequisite = {
		focus = AFG_the_generals_coup
	}
	relative_position_id = AFG_the_generals_coup
	ai_will_do = {
		factor = 1
	}
	completion_reward = {
		add_ideas = AFG_banned_political_parties
	}
	search_filters = {
		FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL
	}
}
### Entity: Decision
Component: CHL_mapuche_reconcilliation_decisions
Constructs: has_dlc
Source: game
File: common/decisions/categories/CHL_decision_categories.txt

Code:
CHL_mapuche_reconcilliation_decisions = {
	icon = GFX_decision_category_CHL_mapuche_reconcilliation_decisions
	priority = 30
	picture = GFX_decision_cat_picture_government_in_exile
	visible_when_empty = no
	allowed = {
		original_tag = CHL
	}
	visible = {
		has_dlc = Trial of Allegiance
	}
}
### Entity: AI Strategy
Component: EAI_ENG_ignore_RAJ
Constructs: is_on_continent, has_capitulated
Source: game
File: common/ai_strategy/ENG_EAI.txt

Code:
EAI_ENG_ignore_RAJ = {
	allowed = {
		tag = ENG
	}
	enable = {
		any_enemy_country = {
			capital_scope = {
				is_on_continent = europe
			}
			has_capitulated = no
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = dont_defend_ally_borders
		id = RAJ
		value = 500
	} {
		type = dont_defend_ally_borders
		id = AST
		value = 500
	} {
		type = dont_defend_ally_borders
		id = INS
		value = 500
	}
}
### Entity: Idea
Component: CAT_acas
Source: game
File: common/ideas/catalonia.txt

Code:
CAT_acas = {
	ledger = air
	picture = generic_air_europe_2
	allowed = {
		original_tag = CAT
	}
	traits = {
		air_close_air_support_2
	}
	ai_will_do = {
		factor = 1
	}
}
### Entity: AI Strategy
Component: GER_r56_mirco_state_lol_part_2
Constructs: is_historical_focus_on, is_puppet
Source: game
File: common/ai_strategy/r56_GER.txt

Code:
GER_r56_mirco_state_lol_part_2 = {
	allowed = {
		original_tag = GER
	}
	enable = {
		is_historical_focus_on = yes
		date = < 1946.1.1
		country_exists = LIE
		LIE = {
			is_puppet = no
		}
	}
	abort = {
		NOT = {
			country_exists = LIE
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = ignore
		id = LIE
		value = 100
	}
}
### Entity: National Focus
Tree: hoa_focus
Component: HOA_warrior_tradition
Constructs: division_template, prerequisite, completion_reward, is_locked, create_unit
Source: game
File: common/national_focus/horn_of_africa.txt

Code:
focus = {
	id = HOA_warrior_tradition
	icon = GFX_focus_RAJ_lions_of_the_great_war
	prerequisite = {
		focus = HOA_the_adjective_armed_forces
	}
	x = 0
	y = 1
	relative_position_id = HOA_the_adjective_armed_forces
	cost = 10
	available = {

	}
	search_filters = {

	}
	completion_reward = {
		division_template = {
			name = East African Irregulars
			is_locked = yes
			regiments = {
				irregular_infantry = {
					x = 0
					y = 0
				} {
					x = 0
					y = 1
				} {
					x = 0
					y = 2
				} {
					x = 1
					y = 0
				} {
					x = 1
					y = 1
				} {
					x = 1
					y = 2
				}
			}
		}
		capital_scope = {
			create_unit = {
				division = name = "Irregular Infantry" division_template = "East African Irregulars" start_experience_factor = 0.05 start_equipment_factor = 1 start_manpower_factor = 1
				owner = ROOT
				count = 3
			}
		}
	}
}
### Entity: Unit Template
Component: BUL
Source: game
File: common/units/names/00_names.txt

Code:
BUL = {
	submarine = {
		prefix = 
		generic = {
			Podvodnitsa
		}
		unique = {
			Druzki Smeli Khrabri Strogi Letyashchi Shumni
		}
	}
	destroyer = {
		prefix = 
		generic = {
			Razrushitel
		}
		unique = {
			Druzki Smeli Khrabri Strogi Letyashchi Shumni
		}
	}
	light_cruiser = {
		prefix = 
		generic = {
			Svetlina Kraitser
		}
		unique = {
			Sofija Pernik Svoge Slivnica Breznik Radomir
		}
	}
	heavy_cruiser = {
		prefix = 
		generic = {
			Tezhuk Kraitser
		}
		unique = {
			Sofija Pernik Svoge Slivnica Breznik Radomir
		}
	}
	battle_cruiser = {
		prefix = 
		generic = {
			Boen Kraitser
		}
		unique = {
			Drzki Zheleznjakov
		}
	}
	battleship = {
		prefix = 
		generic = {
			Lineen Korab
		}
		unique = {
			Drzki Zheleznjakov
		}
	}
	carrier = {
		prefix = 
		generic = {
			Samoletonosach
		}
		unique = {
			Nadezhda Struma Sofija Plovdiv Varna Burgas Ruse Stara Zagora Pleven
		}
	}
	air_wing_names_template = AIR_WING_NAME_BUL_FALLBACK
	small_plane_airframe = {
		prefix = 
		generic = {
			Iztrebitelen polk Vyzdushen polk
		}
		generic_pattern = AIR_WING_NAME_BUL_GENERIC
		unique = {

		}
	}
	jet_fighter_equipment = {
		prefix = 
		generic = {
			Iztrebitelen polk Vyzdushen polk
		}
		generic_pattern = AIR_WING_NAME_BUL_GENERIC
		unique = {

		}
	}
	medium_plane_fighter_airframe = {
		prefix = 
		generic = {
			Iztrebitelen polk Vyzdushen polk
		}
		generic_pattern = AIR_WING_NAME_BUL_GENERIC
		unique = {

		}
	}
	small_plane_cas_airframe = {
		prefix = 
		generic = {
			Shturmovi polk
		}
		generic_pattern = AIR_WING_NAME_BUL_GENERIC
		unique = {

		}
	}
	cv_small_plane_airframe = {
		prefix = 
		generic = {
			Iztrebitelen polk Vyzdushen polk
		}
		generic_pattern = AIR_WING_NAME_BUL_GENERIC
		unique = {

		}
	}
	cv_small_plane_cas_airframe = {
		prefix = 
		generic = {
			Shturmovi polk
		}
		generic_pattern = AIR_WING_NAME_BUL_GENERIC
		unique = {

		}
	}
	cv_small_plane_naval_bomber_airframe = {
		prefix = 
		generic = {
			Vodosamoleten orljak Vodosamoleten polk
		}
		generic_pattern = AIR_WING_NAME_BUL_GENERIC
		unique = {

		}
	}
	medium_plane_airframe = {
		prefix = 
		generic = {
			Lineen polk Bombardirovatchen polk
		}
		generic_pattern = AIR_WING_NAME_BUL_GENERIC
		unique = {

		}
	}
	jet_tac_bomber_equipment = {
		prefix = 
		generic = {
			Lineen polk Bombardirovatchen polk
		}
		generic_pattern = AIR_WING_NAME_BUL_GENERIC
		unique =
# ... (truncated)
### Entity: AI Strategy
Component: SOV_unit_production
Source: game
File: common/ai_strategy/SOV.txt

Code:
SOV_unit_production = {
	allowed = {
		original_tag = SOV
	}
	enable = {
		always = yes
	}
	abort = {
		always = no
	}
	ai_strategy = {
		type = role_ratio
		id = garrison
		value = 1
	} {
		type = role_ratio
		id = paratroopers
		value = 0
	} {
		type = role_ratio
		id = mountaineers
		value = 2
	} {
		type = role_ratio
		id = marines
		value = 0
	} {
		type = role_ratio
		id = cavalry
		value = 0
	} {
		type = role_ratio
		id = motorized
		value = -10
	} {
		type = role_ratio
		id = mechanized
		value = 0
	} {
		type = role_ratio
		id = armor
		value = -10
	} {
		type = role_ratio
		id = heavy_armor
		value = -5
	} {
		type = role_ratio
		id = infantry
		value = 75
	} {
		type = unit_ratio
		id = fighter
		value = 20
	} {
		type = unit_ratio
		id = cas
		value = 2
	} {
		type = unit_ratio
		id = tactical_bomber
		value = 5
	} {
		type = unit_ratio
		id = strategic_bomber
		value = 0
	} {
		type = unit_ratio
		id = naval_bomber
		value = 4
	} {
		type = unit_ratio
		id = capital_ship
		value = 1
	} {
		type = unit_ratio
		id = carrier
		value = 1
	} {
		type = unit_ratio
		id = submarine
		value = 30
	} {
		type = unit_ratio
		id = screen_ship
		value = 20
	} {
		type = unit_ratio
		id = convoy
		value = 20
	} {
		type = equipment_production_min_factories
		id = convoy
		value = 2
	} {
		type = equipment_production_factor
		id = tactical_bomber
		value = -20
	} {
		type = equipment_production_factor
		id = strategic_bomber
		value = -20
	} {
		type = equipment_production_factor
		id = fighter
		value = -60
	} {
		type = equipment_production_factor
		id = cas
		value = -30
	} {
		type = equipment_production_factor
		id = naval_bomber
		value = -100
	} {
		type = equipment_production_factor
		id = infantry
		value = 25
	} {
		type = equipment_production_factor
		id = artillery
		value = 80
	} {
		type = equipment_production_min_factories_archetype
		id = artillery_equipment
		value = 4
	} {
		type = equipment_production_factor
		id = armor
		value = 8
	}
}
### Entity: Shared Focus
Tree: chi_focus
Component: CHI_sea_collaboration_with_the_japanese
Constructs: shared_focus, prerequisite, has_government, has_war_with, add_opinion_modifier, completion_reward, has_wargoal_against, has_capitulated
Source: game
File: common/national_focus/china_shared_TSR.txt

Code:
shared_focus = {
	id = CHI_sea_collaboration_with_the_japanese
	icon = GFX_focus_chi_collaboration_with_the_japanese
	prerequisite = {
		focus = CHI_sea_invite_foreign_investors
	}
	mutually_exclusive = {
		focus = CHI_sea_mission_to_the_us
	}
	x = 2
	y = 0
	relative_position_id = CHI_sea_mission_to_the_us
	cost = 5
	ai_will_do = {
		factor = 1
	}
	available = {
		OR = {
			JAP = {
				AND = {
					has_government = ROOT
					exists = yes
				}
			}
			JAP_will_support = yes
		}
		NOT = {
			has_wargoal_against = JAP
		} {
			has_war_with = JAP
		}
		JAP = {
			has_capitulated = no
		}
	}
	bypass = {

	}
	cancel_if_invalid = no
	continue_if_invalid = yes
	available_if_capitulated = no
	completion_reward = {
		JAP = {
			add_opinion_modifier = {
				target = ROOT
				modifier = CHI_collaboration_with_the_japanese
			}
			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: HAN_acd
Source: game
File: common/ideas/hanover.txt

Code:
HAN_acd = {
	picture = generic_army_europe_2
	allowed = {
		original_tag = HAN
	}
	traits = {
		army_chief_defensive_2
	}
	ai_will_do = {
		factor = 1
	}
}