Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: Idea
Component: ITA_aiding_the_spanish_republic
Constructs: has_completed_focus, removal_cost, has_global_flag, send_volunteer_divisions_required, send_volunteer_size, send_volunteers_tension
Source: game
File: common/ideas/italy.txt

Code:
ITA_aiding_the_spanish_republic = {
	name = ITA_the_garibaldi_legion
	removal_cost = -1
	picture = SPA_maquis
	allowed = {
		original_tag = ITA
	}
	allowed_civil_war = {
		has_completed_focus = ITA_aid_for_the_spanish_republic
	}
	cancel = {
		has_global_flag = scw_over
	}
	modifier = {
		send_volunteer_divisions_required = -0.75
		send_volunteer_size = 3
		send_volunteers_tension = -1
		experience_gain_army_factor = 0.1
		experience_gain_air_factor = 0.1
	}
}
### Entity: National Focus
Tree: ser_focus
Component: SER_domestic_artillery_production
Constructs: prerequisite, completion_reward, add_tech_bonus
Source: game
File: common/national_focus/serbia.txt

Code:
focus = {
	id = SER_domestic_artillery_production
	icon = GFX_goal_generic_construct_military
	prerequisite = {
		focus = SER_small_arms
	}
	x = 1
	y = 1
	relative_position_id = SER_small_arms
	cost = 10
	ai_will_do = {
		factor = 2
	}
	completion_reward = {
		add_tech_bonus = {
			name = SER_domestic_artillery_production
			bonus = 10
			uses = 1
			category = artillery
		}
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
}
### Entity: National Focus
Component: uk_protect_suez
Constructs: prerequisite, limit, completion_reward, is_subject_of, add_building_construction
Source: game
File: common/national_focus/uk.txt

Code:
focus = {
	id = uk_protect_suez
	prerequisite = {
		focus = uk_mediterranean_focus
	}
	icon = GFX_goal_generic_defence
	x = 0
	y = 2
	relative_position_id = uk_mediterranean_focus
	cost = 10
	ai_will_do = {
		factor = 1
	}
	available = {
		447 = {
			CONTROLLER = {
				OR = {
					tag = ENG
					is_subject_of = ENG
				}
			}
		}
	}
	available_if_capitulated = yes
	bypass = {
		447 = {
			free_building_slots = {
				building = coastal_bunker
				size = < 2
				province = 4076
			} {
				building = anti_air_building
				size = < 2
			} {
				building = air_base
				size = < 3
			} {
				building = bunker
				size = < 2
				province = 1071
			}
		}
	}
	completion_reward = {
		447 = {
			IF = {
				limit = {
					447 = {
						free_building_slots = {
							building = coastal_bunker
							size = > 1
							province = 4076
						}
					}
				}
				add_building_construction = {
					type = coastal_bunker
					level = 2
					province = 4076
					instant_build = yes
				}
			} {
				limit = {
					447 = {
						free_building_slots = {
							building = anti_air_building
							size = > 2
						}
					}
				}
				add_building_construction = {
					type = air_base
					level = 3
					instant_build = yes
				}
			} {
				limit = {
					free_building_slots = {
						building = bunker
						size = > 1
						province = 1071
					}
				}
				add_building_construction = {
					type = bunker
					level = 2
					province = 1071
					instant_build = yes
				}
			} {
				limit = {
					free_building_slots = {
						building = anti_air_building
						size = > 1
					}
				}
				add_building_construction = {
					type = anti_air_building
					level = 2
					instant_build = yes
				}
			}
		}
	}
}
### Entity: Shared Focus
Tree: chi_focus
Component: CHI_sea_influence_mongolia
Constructs: shared_focus, prerequisite, limit, has_war_with, completion_reward, is_faction_leader, is_subject, cancel_if_invalid
Source: game
File: common/national_focus/china_shared_TSR.txt

Code:
shared_focus = {
	id = CHI_sea_influence_mongolia
	icon = GFX_goal_generic_neutrality_focus
	prerequisite = {
		focus = CHI_sea_indian_cooperation
	}
	x = 0
	y = 1
	relative_position_id = CHI_sea_indian_cooperation
	cost = 10
	ai_will_do = {
		factor = 1
	}
	available = {
		OR = {
			is_faction_leader = yes
			MON = {
				is_subject = yes
			}
		}
		MON = {
			NOT = {
				has_war_with = ROOT
			}
		}
	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	completion_reward = {
		if = {
			limit = {
				ROOT = {
					is_faction_leader = yes
				}
				MON = {
					is_subject = no
				}
			}
			MON = {
				country_event = {
					id = generic.5
				}
			}
		}
		else = {
			MON = {
				country_event = wtt_china_shared.1
			}
		}
	}
}
### Entity: National Focus
Tree: mon_focus
Component: MON_adopt_tsogs_methods
Constructs: prerequisite, completion_reward, add_doctrine_cost_reduction
Source: game
File: common/national_focus/mongolia.txt

Code:
focus = {
	id = MON_adopt_tsogs_methods
	icon = GFX_goal_superior_firepower
	prerequisite = {
		focus = MON_favour_young_officers MON_support_old_officers_corps
	}
	x = -1
	y = 1
	relative_position_id = MON_favour_young_officers
	cost = 10
	ai_will_do = {
		factor = 10
	}
	mutually_exclusive = {
		focus = MON_revive_forgotten_doctrines MON_rely_on_soviet_tactics MON_the_grand_stratagem MON_experimental_mobility
	}
	completion_reward = {
		add_doctrine_cost_reduction = {
			name = land_doc_bonus
			cost_reduction = 0.5
			uses = 2
			category = cat_superior_firepower
		}
	}
	search_filters = {
		FOCUS_FILTER_MILITARY_IMPROVEMENT
	}
}
### Entity: Character
Component: USA_dwight_d_eisenhower
Constructs: has_country_flag, is_literally_china
Source: game
File: common/characters/USA.txt

Code:
USA_dwight_d_eisenhower = {
	name = USA_dwight_d_eisenhower
	portraits = {
		army = {
			large = GFX_portrait_USA_dwight_d_eisenhower
		} {
			small = GFX_idea_dwight_eisenhower
		}
	}
	advisor = {
		slot = army_chief
		idea_token = dwight_eisenhower
		allowed = {
			OR = {
				original_tag = USA
				is_literally_china = yes
			}
		}
		available = {
			USA = {
				NOT = {
					has_country_flag = dwight_d_eisenhower_sent_to_china
				}
			}
		}
		traits = {
			army_chief_offensive_2
		}
		cost = 100
		ai_will_do = {
			factor = 1.0
		}
	}
	corps_commander = {
		traits = {
			trait_cautious armor_officer politically_connected organizer
		}
		skill = 3
		attack_skill = 2
		defense_skill = 1
		planning_skill = 4
		logistics_skill = 3
		legacy_id = 602
	}
}
### Entity: Order of Battle
Component: instant_effect
Constructs: add_equipment_production
Source: game
File: history/units/PAN_1939.txt

Code:
instant_effect = {
	add_equipment_production = {
		equipment = {
			type = infantry_equipment_1
			creator = PAN
		}
		requested_factories = 1
		progress = 0.32
		efficiency = 100
	}
}
### Entity: National Focus
Tree: jap_focus
Component: JAP_a_truly_righteous_army
Constructs: prerequisite, completion_reward, cancel_if_invalid, add_to_variable
Source: game
File: common/national_focus/japan.txt

Code:
focus = {
	id = JAP_a_truly_righteous_army
	icon = GFX_focus_generic_advanced_military_studies
	x = 1
	y = 1
	relative_position_id = JAP_sea_supremacy_of_will
	prerequisite = {
		focus = JAP_sea_supremacy_of_will
	}
	cost = 10
	ai_will_do = {
		factor = 1
	}
	available = {
		JAP_army_faction_is_at_least_influential = yes
	}
	bypass = {

	}
	cancel_if_invalid = no
	continue_if_invalid = yes
	available_if_capitulated = no
	search_filters = {
		FOCUS_FILTER_MANPOWER
	}
	completion_reward = {
		JAP_add_or_modify_imperial_army = yes
		add_to_variable = {
			JAP_army_conscription = 0.01
			tooltip = conscription_tt
		} {
			JAP_army_army_core_defence_factor = 0.05
			tooltip = army_core_defence_factor_tt
		} {
			JAP_army_army_morale_factor = 0.05
			tooltip = army_morale_factor_tt
		}
	}
}
### Entity: National Focus
Tree: ita_focus
Component: ITA_army_modernization
Constructs: prerequisite, completion_reward, add_command_power, add_doctrine_cost_reduction
Source: game
File: common/national_focus/italy.txt

Code:
focus = {
	id = ITA_army_modernization
	icon = GFX_focus_generic_tank_air_support
	prerequisite = {
		focus = ITA_appease_the_military ITA_political_commissars ITA_empower_the_carabinieri
	}
	x = 0
	y = 1
	relative_position_id = ITA_appease_the_military
	cost = 5
	available = {

	}
	search_filters = {
		FOCUS_FILTER_ARMY_XP FOCUS_FILTER_AIR_XP FOCUS_FILTER_NAVY_XP
	}
	completion_reward = {
		army_experience = 25
		air_experience = 25
		navy_experience = 25
		add_command_power = 50
		add_doctrine_cost_reduction = {
			name = ITA_army_modernization
			cost_reduction = 0.75
			uses = 3
			category = land_doctrine air_doctrine naval_doctrine
		}
	}
}
### Entity: Character
Component: EGY_ahmed_bek_badr
Source: game
File: common/characters/EGY.txt

Code:
EGY_ahmed_bek_badr = {
	name = Ahmed Bek Badr
	portraits = {
		army = {
			large = GFX_Portrait_Arabia_Generic_navy_1
			small = GFX_Portrait_Arabia_Generic_navy_1_small
		}
	}
	navy_leader = {
		traits = {

		}
		skill = 1
		attack_skill = 1
		defense_skill = 1
		maneuvering_skill = 1
		coordination_skill = 2
		legacy_id = -1
	}
}
### Entity: Character
Component: CZE_overly_pragmatic_diplomat
Source: game
File: common/country_leader/00_traits.txt

Code:
CZE_overly_pragmatic_diplomat = {
	sprite = 13
	random = no
	civilian_intel_to_others = 5
	min_export = -0.1
	faction_trade_opinion_factor = 0.1
	improve_relations_maintain_cost_factor = -0.25
	democratic_acceptance = 25
	fascism_acceptance = 25
}
### Entity: National Focus
Tree: raj_focus
Component: RAJ_local_recruitment_offices
Constructs: completion_reward, is_raj_or_raj_inheritor, has_dynamic_modifier, cancel_if_invalid, remove_agrarian_society_if_void
Source: game
File: common/national_focus/india_goe.txt

Code:
focus = {
	id = RAJ_local_recruitment_offices
	icon = GFX_focus_SWE_varnplikt
	x = 6
	y = 0
	relative_position_id = RAJ_military_pensions
	cost = 5
	ai_will_do = {
		factor = 1
	}
	available = {
		is_raj_or_raj_inheritor = yes
	}
	bypass = {
		NOT = {
			has_dynamic_modifier = {
				modifier = idea_RAJ_agrarian_society
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_MANPOWER
	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	completion_reward = {
		custom_effect_tooltip = RAJ_local_recruitment_offices_tt
		remove_agrarian_society_if_void = yes
	}
}
### Entity: AI Strategy
Component: EAI_BUILDING_construction_MIC_260
Constructs: has_country_flag
Source: game
File: common/ai_strategy/EAI_BUILDING_construction_strategies.txt

Code:
EAI_BUILDING_construction_MIC_260 = {
	enable = {
		has_country_flag = {
			flag = EAI_BUILDING_build_num_MIC
			value = 260
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = building_target
		id = arms_factory
		value = 260
	}
}
### Entity: Scripted Effect
Component: EAI_PC_AIRBASE_get_airbase_balance_score
Constructs: limit, has_country_flag, set_temp_variable, add_to_temp_variable, add_to_temp_array
Source: game
File: common/scripted_effects/EAI_CONSTRUCTION_PRIORITY_strategies_airbase.txt

Code:
EAI_PC_AIRBASE_get_airbase_balance_score = {
	@EAI_PC_AIRBASE_get_airbase_balance_score_divisor = 50
	set_temp_variable = {
		balance_score_factor = 0
	}
	for_each_scope_loop = {
		array = _AIRBASE_get_airbase_balance_score_targets
		add_to_temp_variable = {
			balance_score_factor = airbase_balance_@THIS
		}
	}
	multiply_temp_variable = {
		balance_score_factor = -1
	}
	divide_temp_variable = {
		balance_score_factor = @EAI_PC_AIRBASE_get_airbase_balance_score_divisor
	}
	clamp_temp_variable = {
		var = balance_score_factor
		min = 0.0
		max = 1.0
	}
	add_to_temp_array = {
		modifier_score_factors = balance_score_factor
	} {
		modifier_score_weights = EAI_PC_AIRBASE_get_airbase_balance_score_WEIGHT
	}
	if = {
		limit = {
			ROOT = {
				has_country_flag = EAI_PC_AIRBASE_score_logging
			}
		}
		log = [this.getname] - balance_score_factor [?balance_score_factor] - weight [?EAI_PC_AIRBASE_get_airbase_balance_score_WEIGHT]
	}
}
### Entity: Idea
Component: NCY_acas
Source: game
File: common/ideas/northcyprus.txt

Code:
NCY_acas = {
	ledger = air
	picture = generic_air_europe_2
	allowed = {
		original_tag = NCY
	}
	traits = {
		air_close_air_support_2
	}
	ai_will_do = {
		factor = 1
	}
}
### Entity: National Focus
Tree: aus_focus
Component: AUS_heimwehr_support
Constructs: division_template, prerequisite, limit, add_ideas, completion_reward, has_country_leader, random_owned_controlled_state, has_full_control_of_state
Source: game
File: common/national_focus/austria.txt

Code:
focus = {
	id = AUS_heimwehr_support
	icon = GFX_focus_ITA_generic_fascist_workers
	prerequisite = {
		focus = AUS_integrate_dnsap_remnants
	}
	mutually_exclusive = {

	}
	x = 0
	y = 1
	relative_position_id = AUS_integrate_dnsap_remnants
	search_filters = {
		FOCUS_FILTER_MILITARY_CHARACTER
	}
	cost = 10
	ai_will_do = {
		factor = 10
	}
	available = {

	}
	bypass = {

	}
	available_if_capitulated = no
	completion_reward = {
		IF = {
			limit = {
				NOT = {
					has_country_leader = {
						ruling_only = yes
						character = AUS_ernst_rudiger_starhemberg
					}
				}
			}
			show_unit_leaders_tooltip = AUS_ernst_rudiger_starhemberg
			custom_effect_tooltip = generic_skip_one_line_tt
		}
		add_ideas = AUS_militia_support
		division_template = {
			name = Heimwehr Division
			priority = 1
			division_names_group = AUS_INF_04
			regiments = {
				militia = {
					x = 0
					y = 0
				} {
					x = 0
					y = 1
				} {
					x = 0
					y = 2
				} {
					x = 1
					y = 0
				} {
					x = 1
					y = 1
				} {
					x = 1
					y = 2
				}
			}
			support = {
				engineer = {
					x = 0
					y = 0
				}
			}
		}
		random_owned_controlled_state = {
			limit = {
				PREV = {
					has_full_control_of_state = PREV
				}
			}
			create_unit = {
				division = name = "1. Heimwehr Division" division_template = "Heimwehr Division" start_experience_factor = 0.6
				owner = PREV
			}
		} {
			limit = {
				PREV = {
					has_full_control_of_state = PREV
				}
			}
			create_unit = {
				division = name = "2. Heimwehr Division" division_template = "Heimwehr Division" start_experience_factor = 0.6
				owner = PREV
			}
		}
		hidden_effect = {
			country_event = {
				id = AUS_political_events.35
				hours = 3
			}
		}
	}
}
### Entity: Event
Component: GOE_RAJ.27
Constructs: is_triggered_only, ai_chance, is_core_of, is_fully_controlled_by, white_peace
Source: game
File: events/GOE_Raj.txt

Code:
country_event = {
	id = GOE_RAJ.27
	title = GOE_RAJ.27.t
	desc = GOE_RAJ.27.desc
	picture = GFX_report_event_generic_sign_treaty2
	is_triggered_only = yes
	option = {
		ai_chance = {
			base = 0
			modifier = {
				any_state = {
					is_core_of = RAJ
					is_fully_controlled_by = ROOT
				}
				add = 1
			}
		}
		name = GOE_RAJ.27.a
		FROM = {
			country_event = {
				id = GOE_RAJ.28
				hours = 2
			}
		}
	} {
		ai_chance = {
			base = 1
		}
		name = GOE_RAJ.27.b
		white_peace = {
			tag = RAJ
		}
	}
}
### Entity: National Focus
Tree: swe_focus
Component: SWE_return_to_germany
Constructs: prerequisite, has_government, completion_reward, is_subject, is_in_faction_with, create_wargoal
Source: game
File: common/national_focus/r56_sweden.txt

Code:
focus = {
	id = SWE_return_to_germany
	icon = GFX_goal_GER_great_black_menace
	relative_position_id = SWE_host_fascist_exiles
	mutually_exclusive = {

	}
	prerequisite = {
		focus = SWE_host_fascist_exiles
	}
	x = 0
	y = 2
	cost = 5
	available = {
		is_subject = no
		has_government = fascism
		NOT = {
			is_in_faction_with = GER
		}
		GER = {
			NOT = {
				has_government = fascism
			}
		}
		country_exists = GER
	}
	completion_reward = {
		create_wargoal = {
			target = GER
			type = topple_government
			expire = 0
		}
	}
	search_filters = {
		FOCUS_FILTER_ALLIANCE
	}
}
### Entity: Scripted Trigger
Component: JAP_civilian_government_faction_is_at_least_influential
Constructs: has_idea
Source: game
File: common/scripted_triggers/JAP_scripted_triggers.txt

Code:
JAP_civilian_government_faction_is_at_least_influential = {
	custom_trigger_tooltip = {
		tooltip = JAP_civilian_government_is_at_least_influential_tt
		OR = {
			has_idea = JAP_government_faction_tier_3 JAP_government_faction_tier_4
		}
	}
}
### Entity: Order of Battle
Component: Comando Navale Libia
Source: game
File: history/units/ITA_1936_naval_legacy.txt

Code:
fleet = {
	name = Comando Navale Libia
	naval_base = 1130
	task_force = {
		name = Squadra di Libia
		location = 1130
		ship = {
			name = RCT Aquilone
			definition = destroyer
			equipment = {
				destroyer_1 = {
					amount = 1
					owner = ITA
					version_name = Navigatori Class
				}
			}
		} {
			name = RCT Euro
			definition = destroyer
			equipment = {
				destroyer_1 = {
					amount = 1
					owner = ITA
					version_name = Navigatori Class
				}
			}
		} {
			name = RCT Nembo
			definition = destroyer
			equipment = {
				destroyer_1 = {
					amount = 1
					owner = ITA
					version_name = Navigatori Class
				}
			}
		} {
			name = RCT Turbine
			definition = destroyer
			equipment = {
				destroyer_1 = {
					amount = 1
					owner = ITA
					version_name = Navigatori Class
				}
			}
		}
	} {
		name = V Gruppo Sommergibili
		location = 1130
		ship = {
			name = RSmg Delfino
			definition = submarine
			equipment = {
				submarine_1 = {
					amount = 1
					owner = ITA
					version_name = Bandiera Class
				}
			}
		} {
			name = RSmg Narvalo
			definition = submarine
			equipment = {
				submarine_1 = {
					amount = 1
					owner = ITA
					version_name = Bandiera Class
				}
			}
		} {
			name = RSmg Squalo
			definition = submarine
			equipment = {
				submarine_1 = {
					amount = 1
					owner = ITA
					version_name = Bandiera Class
				}
			}
		} {
			name = RSmg Tricheco
			definition = submarine
			equipment = {
				submarine_1 = {
					amount = 1
					owner = ITA
					version_name = Bandiera Class
				}
			}
		}
	}
}
### Entity: National Focus
Tree: cze_focus
Component: CZE_powerhouse_of_europe
Constructs: prerequisite, limit, add_ideas, completion_reward, cancel_if_invalid, add_to_variable, random_owned_controlled_state, is_in_home_area
Source: game
File: common/national_focus/czechoslovakia_mu.txt

Code:
focus = {
	id = CZE_powerhouse_of_europe
	icon = GFX_focus_CZE_skoda_menace
	overlay = GFX_focus_overlay_cze_industry_focus
	prerequisite = {
		focus = CZE_an_industrial_legacy
	}
	relative_position_id = CZE_an_industrial_legacy
	x = 0
	y = 1
	cost = 20
	available = {
		CZE_has_a_skoda_no_focus = yes
	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	completion_reward = {
		custom_effect_tooltip = CZE_modify_skoda_works_ns_intro_tt generic_skip_one_line_tt generic_skip_one_line_tt
		add_to_variable = {
			CZE_skoda_works_dynamic_modifier_production_lack_of_resource_penalty_factor = -0.05
			tooltip = production_lack_of_resource_penalty_factor_tt
		} {
			CZE_skoda_works_dynamic_modifier_out_of_power_impact_factor = 0.05
			tooltip = modifier_out_of_power_impact_factor_tt
		}
		random_owned_controlled_state = {
			prioritize = {
				9
			}
			limit = {
				free_building_slots = {
					building = industrial_complex
					size = > 1
					include_locked = yes
				}
				OR = {
					is_in_home_area = yes
					NOT = {
						owner = {
							any_owned_state = {
								free_building_slots = {
									building = industrial_complex
									size = > 0
									include_locked = yes
								}
								is_in_home_area = yes
							}
						}
					}
				}
			}
			add_extra_state_shared_building_slots = 1
		} {
			prioritize = {
				75
			}
			limit = {
				free_building_slots = {
					building = industrial_complex
					size = > 1
					include_locked = yes
				}
				OR = {
					is_in_home_area = yes
					NOT = {
						owner = {
							any_owned_state = {
								free_building_slots = {
									building = industrial_complex
									size = > 0
									include_locked = yes
								}
								is_in_home_area = yes
							}
						}
					}
				}
			}
			add_extra_state_shared_building_slots = 1
		}
		if = {
			limit = {
				NOT = {
					has_idea = CZE_an_industrial_legacy_idea
				}
			}
			add_ideas = CZE_powerhouse_of_europe_idea
			custom_effect_tooltip = generic_skip_one_line_tt
		}
		else = {
			swap_ideas = {
				remove_idea = CZE_an_industrial_legacy_idea
				add_idea = CZE_powerhouse_of_europe_idea
			}
		}
	}
	search_filters = {
		FOCUS_FILTER_INDUSTRY
	}
}
### Entity: Scripted Effect
Component: ITA_add_improved_light_tank_templates
Constructs: create_equipment_variant
Source: game
File: common/scripted_effects/ITA_scripted_effects.txt

Code:
ITA_add_improved_light_tank_templates = {
	create_equipment_variant = {
		name = L6/40
		type = light_tank_chassis_2
		parent_version = 0
		modules = {
			main_armament_slot = tank_auto_cannon
			turret_type_slot = tank_light_one_man_tank_turret
			suspension_type_slot = tank_bogie_suspension
			armor_type_slot = tank_riveted_armor
			engine_type_slot = tank_gasoline_engine
		}
		upgrades = {
			tank_nsb_engine_upgrade = 2
			tank_nsb_armor_upgrade = 4
		}
		icon = GFX_ITA_improved_light_tank_medium
	} {
		name = Semovente L40 da 47/32
		type = light_tank_destroyer_chassis_2
		parent_version = 0
		modules = {
			main_armament_slot = tank_medium_cannon
			turret_type_slot = tank_light_fixed_superstructure_turret
			suspension_type_slot = tank_bogie_suspension
			armor_type_slot = tank_riveted_armor
			engine_type_slot = tank_gasoline_engine
		}
		upgrades = {
			tank_nsb_engine_upgrade = 2
			tank_nsb_armor_upgrade = 4
		}
	}
}
### Entity: Order of Battle
Component: air_wing_99
Source: game
File: history/units/DEN_1936_air_legacy.txt

Code:
air_wings = {
	99 = {
		fighter_equipment_0 = {
			owner = DEN
			amount = 12
		}
	}
}
### Entity: AI Strategy
Component: EAI_GER_artillery
Constructs: has_war, has_army_manpower, check_variable
Source: game
File: common/ai_strategy/GER_EAI.txt

Code:
EAI_GER_artillery = {
	allowed = {
		tag = GER
	}
	enable = {
		date = < 1940.1.1
		has_war = no
		has_army_manpower = {
			size = < 1200000
		}
		check_variable = {
			EAI_FOCUS/LAND/infantry_design = > global.EAI_A_INF_DESIGN
		}
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = equipment_production_min_factories_archetype
		id = artillery_equipment
		value = 5
	}
}
### Entity: Idea
Component: mazagon_dock_limited
Constructs: has_dlc, research_bonus
Source: game
File: common/ideas/british_raj.txt

Code:
mazagon_dock_limited = {
	allowed = {
		has_dlc = Together for Victory
		original_TAG = RAJ
	}
	picture = generic_naval_manufacturer_1
	research_bonus = {
		naval_equipment = 0.15
	}
	traits = {
		convoy_escort_naval_manufacturer
	}
}