Losa10/PreTrain-HOI4-Modding-Assistant huggingface dataset:
### Entity: Event
Component: NSB_soviet_civil_war_common.103
Constructs: is_triggered_only, ai_chance, add_equipment_to_stockpile, has_war, limit, has_government, set_variable, has_idea
Source: game
File: events/NSB_Soviet.txt

Code:
country_event = {
	id = NSB_soviet_civil_war_common.103
	title = NSB_soviet_civil_war_common.103.t
	desc = {
		text = NSB_soviet_civil_war_common.103.desc_exiles
		trigger = {
			SOV_is_exiles = yes
		}
	} {
		text = NSB_soviet_civil_war_common.103.desc
		trigger = {
			NOT = {
				SOV_is_exiles = yes
			}
		}
	}
	picture = [GetJapaneseNegotiationsPicture]
	immediate = {
		set_variable = {
			SOV.SOV_japanese_rifles = JAP.num_equipment@infantry_equipment
		} {
			SOV.SOV_japanese_guns = JAP.num_equipment@artillery_equipment
		} {
			SOV.SOV_japanese_fighters = JAP.num_equipment@small_plane_airframe
		}
		clamp_variable = {
			var = SOV.SOV_japanese_rifles
			min = 0
			max = 4000
		} {
			var = SOV.SOV_japanese_guns
			min = 0
			max = 1000
		} {
			var = SOV.SOV_japanese_fighters
			min = 0
			max = 200
		}
	}
	is_triggered_only = yes
	option = {
		name = NSB_soviet_civil_war_common.103.a
		ai_chance = {
			base = 2
			modifier = {
				factor = 5
				JAP = {
					has_government = fascism
				}
			} {
				factor = 1.5
				FROM = {
					SOV_is_opposition = yes
					has_idea = SOV_maksim_litvinov
				}
			} {
				factor = 1.2
				FROM = {
					SOV_is_opposition = yes
					has_idea = SOV_vyacheslav_molotov
				}
			}
		}
		trigger = {
			has_equipment = {
				infantry_equipment = > 400
			}
		}
		IF = {
			limit = {
				SOV_soviet_civil_war_not_started = yes
			}
			set_temp_variable = {
				temp_rifles = SOV.SOV_japanese_rifles
			} {
				temp_guns = SOV.SOV_japanese_guns
			} {
				temp_fighters = SOV.SOV_japanese_fighters
			}
			multiply_temp_variable = {
				temp_rifles = -1
			} {
				temp_guns = -1
			} {
				temp_fighters = -1
			}
			add_equipment_to_stockpile = {
				type = infantry_equipment
				amount = var:temp_rifles
			} {
				type = artillery_equipment
				amount = var:temp_guns
			} {
				type = small_plane_airframe
				amount = var:temp_fighters
			}
		}
		ELSE = {
			send_equipment = {
				equipment = infantry_equipment
				amount = SOV.SOV_japanese_rifles
				target = SOV
			} {
				equipment = artillery_equipment
				amount = SOV.SOV_japanese_guns
				target = SOV
			} {
				equipment = small_plane_airframe
				amount = SOV.SOV_japanese_fighters
				target = SOV
			}
		}
		FROM = {
			set_country_flag = SOV_CSW_transfer_sakhalin_flag
			country_event = {
				id = NSB_soviet_civil_war_common.104
				hours = 8
				random_hours = 12
			}
		}
	
# ... (truncated)
### Entity: National Focus
Tree: per_focus
Component: PER_develop_qorkhaneh
Constructs: prerequisite, limit, completion_reward, has_dlc, add_mio_size
Source: game
File: common/national_focus/persia.txt

Code:
focus = {
	id = PER_develop_qorkhaneh
	icon = GFX_focus_PER_develop_qorkhaneh
	prerequisite = {
		focus = PER_bolster_infantry PER_swedish_artillery
	}
	x = 1
	y = 1
	relative_position_id = PER_bolster_infantry
	cost = 10
	ai_will_do = {
		factor = 15
	}
	search_filters = {

	}
	completion_reward = {
		IF = {
			limit = {
				has_dlc = Arms Against Tyranny
			}
			mio:PER_qorkhaneh_organization = {
				add_mio_size = 2
			}
		}
		ELSE = {
			custom_effect_tooltip = available_designer
			show_ideas_tooltip = PER_qorkhaneh
		}
	}
}
### Entity: National Focus
Tree: sov_focus
Component: SOV_found_the_jet_institute
Constructs: prerequisite, completion_reward, add_breakthrough_progress, add_tech_bonus
Source: game
File: common/national_focus/soviet.txt

Code:
focus = {
	id = SOV_found_the_jet_institute
	icon = GFX_SOV_found_the_jet_institute_ccp_2d_sov_compatibility
	prerequisite = {
		focus = SOV_the_ussr_academy_of_sciences
	} {
		focus = SOV_merge_aircraft_plants
	}
	x = 0
	y = 2
	relative_position_id = SOV_merge_aircraft_plants
	cost = 10
	available = {

	}
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
	completion_reward = {
		add_breakthrough_progress = {
			specialization = specialization_air
			value = 0.75
		}
		add_tech_bonus = {
			name = SOV_found_the_jet_institute
			bonus = 0.5
			uses = 2
			category = jet_technology
		}
	}
}
### Entity: Idea
Component: EAI_DD_15/heavy_tank_flame_chassis_bonus
Constructs: equipment_bonus, build_cost_ic
Source: game
File: common/ideas/EAI_difficulty_ideas.txt

Code:
EAI_DD_15/heavy_tank_flame_chassis_bonus = {
	allowed = {
		always = no
	}
	equipment_bonus = {
		heavy_tank_flame_chassis = {
			build_cost_ic = -0.375
			instant = yes
		}
	}
}
### Entity: Technology
Component: stronghold_network_tech
Constructs: enable_building
Source: game
File: common/technologies/special_projects_tech.txt

Code:
technology = {
	allow = {
		always = no
	}
	start_year = 1936
	enable_building = {
		building = stronghold_network
		level = 1
	}
}
### Entity: AI Strategy
Component: default_stockpile_management
Source: game
File: common/ai_strategy/default.txt

Code:
default_stockpile_management = {
	enable = {
		num_divisions = > 150
	}
	abort = {
		num_divisions = < 130
	}
	ai_strategy = {
		type = equipment_stockpile_surplus_ratio
		value = 35
	}
}
### Entity: Modifier Reference
Construct: unit__desig
Source: vanilla_docs
File: documentation/modifiers_documentation.md

Doc:
##  <span id="unit__design_cost_factor"></span>unit_<Unit>_design_cost_factor

* **Description**: Unit design cost factor.
* Number with 2 decimal places
* **Categories**: naval, country, army

* **Modified types**: airborne_light_armor, amphibious_armor, amphibious_heavy_armor, amphibious_light_armor, amphibious_mechanized, amphibious_medium_armor, anti_air, anti_air_battery, anti_air_brigade, anti_tank, anti_tank_battery, anti_tank_brigade, armored_car, armored_car_recon, armored_engineer, armored_maintenance, armored_signal, artillery, artillery_brigade, assault_engineer, ballistic_missile, battle_cruiser, battleship, bicycle_battalion, blackshirt_assault_battalion, bus, camelry, carrier, cas, cavalry, cv_cas, cv_fighter, cv_nav_bomber, cv_suicide_craft, destroyer, elephantry, engineer, explosive_ammo, fake_intel_unit, field_guns, field_hospital, fighter, fire_support, guided_missile, heavy_armor, heavy_cruiser, heavy_fighter, heavy_flame_tank, heavy_sp_anti_air_brigade, heavy_sp_anti_air_support, heavy_sp_artillery_brigade, heavy_tank_destroyer_brigade, heavy_tank_destroyer_support, helicopter_brigade, helicopter_field_hospital, helicopter_recon, helicopter_transport, hq_air_liaison, hq_engineer, hq_field_hospital, hq_heavy_armor, hq_infantry, hq_light_armor, hq_logistics, hq_maintenance, hq_medium_armor, hq_military_police, hq_motorized, hq_naval_liaison, hq_paratrooper, hq_recon, hq_signal, hq_specops, hq_support_company, infantry, irregular_infantry, jet_fighter, jet_strat_bomber, jet_tac_bomber, jungle_pioneers_support, land_cruiser, light_armor, light_cruiser, light_flame_tank, light_sp_anti_air_brigade, light_sp_anti_air_support, light_sp_artillery_brigade, light_tank_destroyer_brigade, light_tank_destroyer_support, light_tank_recon, logistics_company, long_range_patrol_support, maintenance_company, marine, marine_commando, maritime_patrol_plane, mechanized, medium_armor, medium_flame_tank, medium_sp_anti_air_brigade, medium_sp_anti_air_support, medium_sp_artillery_brigade, medium_tank_destroyer_brigade, medium_tank_destroyer_support, military_police, militia, modern_armor, modern_sp_anti_air_brigade, modern_sp_anti_air_support, modern_sp_artillery_brigade, modern_tank_destroyer_brigade, modern_tank_destroyer_support, mot_anti_air_brigade, mot_anti_tank_brigade, mot_artillery_brigade, mot_fire_support, mot_recon, mot_rocket_artillery_brigade, mothe
# ... (truncated)
### Entity: Event
Component: SEA_japan_popup_events.35
Constructs: is_triggered_only, ai_chance, fire_only_once, add_political_power, set_politics, add_popularity
Source: game
File: events/SEA_Japan.txt

Code:
country_event = {
	id = SEA_japan_popup_events.35
	title = SEA_japan_popup_events.35.t
	desc = SEA_japan_popup_events.35.desc
	picture = GFX_report_event_japanese_army_parade
	is_triggered_only = yes
	fire_only_once = yes
	option = {
		name = SEA_japan_popup_events.35.a
		ai_chance = {
			base = 100
		}
		set_politics = {
			ruling_party = fascism
			elections_allowed = no
		}
		add_popularity = {
			ideology = fascism
			popularity = 0.3
		}
		add_political_power = 100
	} {
		name = SEA_japan_popup_events.35.b
		ai_chance = {
			base = 0
		}
	}
}
### Entity: Wiki Documentation
Construct: rendertype
Source: paradoxwiki
File: documentation/web/paradoxwiki/Console_commands.html

Doc:
rendertype
|
Reports what render backend is used
|

|
### Entity: Name List
Component: LUX
Source: game
File: common/names/00_names.txt

Code:
LUX = {
	male = {
		names = {
			Albert Alexandre Alexis Alphonse André Antoine Auguste Barthélémy Baudouin Blaise Camille Clément Charles Constant Damien David Désiré Didier Edmond Édouard Emmanuel Émile Etienne Eugène Félix Fernand Feullien Florent François Frédéric Georges Gérard Gilles Guillaume Gustave Henri Hercule Hubert Ignace Isidore Jacques Jean Jean-Baptiste Jean-François Jean-Louis Jean-Jacques Joseph Jules Lambert Laurent Léon Léonard Léopold Louis Lucien Mathieu Maxime Maximilien Nicolas Olivier Pascal Patrice Paul Philippe Philippe-Joseph Pierre Pierre-Guillaume Sébastien Sylvain Théophile Victor Vincent Werner
		}
	}
	female = {
		names = {
			Marie
		}
	}
	surnames = {
		Allard Barbanson Barthélémy Baugniet Beaucarne Berger Berthels Beyts Biver Blargnies Brialmont Bredart Cauvin Collet Cols Claus Clerix Coquilhat d'Arenberg d'Huart d'Omalius d'Oreye d'Oultremont David Davignon de Baillet de Beaufort de Behr de Bocarmé de Bousies de Brouckère de Broqueville de Burlet de Celles de Chasteler de Coppin de Falaen de Croÿ de Decker de Dixmude de Gerlache de Grez de Hemptinne de Labbeville de Lannoy de Ligne de Leuze de Melin de Mérode de Pelichy de Quarre de Riquet de Robaulx de Rouille de Sauvage de Sécus de Selys Longchamps de Stassart de Stockem de Theux de Meylandt de Trazegnies de Trooz de Viron de Waha Defacqz Deguise Delacroix Desmanet de Biesme Destriveaux Dethier Devaux Deville Dewandre Dhanis Dreze du Bois du Bus du Pont du Val de Beaulieu Dumont Fallon Fendius Figeys Fleury-Dubay Fleussu Forgeur Frison Fuchs Gendebien Goffint Henry Huysman d'Annecroix Jacques Joos Jottrand Lahure Lardinois le Cocq le Hon Lebeau Leclercq Lefebvre Leman Malou Marcq Marlet Masbourg Nagelmackers Nalinne Nothomb Orban Pétillon Picquet Pirmez Pirson Raikem Roeser Rogier Rouen Rouppe Seron Thonus Thorn van Snick Wahis Wangermée Wyvekens Zoude
	}
	callsigns = {

	}
}
### Entity: Order of Battle
Component: 1st Sinha Regiment
Constructs: division_template
Source: game
File: history/units/SRL_1936.txt

Code:
division = {
	name = 1st Sinha Regiment
	location = 10287
	division_template = Sinha Regiment
	start_experience_factor = 0.4
	start_equipment_factor = 0.6
}
### Entity: Character
Component: PRC_supreme_chairman_3
Constructs: industrial_capacity_factory
Source: game
File: common/country_leader/00_traits.txt

Code:
PRC_supreme_chairman_3 = {
	random = no
	political_power_factor = 0.05
	production_speed_arms_factory_factor = 0.05
	industrial_capacity_factory = 0.025
}
### Entity: Event
Component: new_ger.35
Constructs: is_triggered_only, limit, has_country_flag, set_country_flag, retire_character, clr_country_flag, set_capital
Source: game
File: events/r56_Germany.txt

Code:
country_event = {
	id = new_ger.35
	title = new_ger.35.t
	desc = new_ger.35.d
	picture = GFX_report_event_chinese_soldiers_city_ruin
	is_triggered_only = yes
	immediate = {
		IF = {
			limit = {
				has_country_flag = GER_dortmund_secured
			}
			set_country_flag = GER_crazy_commie_germany
		}
	}
	option = {
		name = new_ger.35.a
		retire_character = GER_walter_ulbricht
		clr_country_flag = GER_ulbricht_kpd
		set_country_flag = GER_pieck_kpd
		promote_character = {
			character = GER_wilhelm_pieck
			ideology = stalinism
		}
		set_capital = {
			state = 57
		}
		hidden_effect = {
			IF = {
				limit = {
					has_country_flag = GER_dortmund_secured
				}
				country_event = {
					id = new_ger.36
					hours = 5
				}
			}
		}
	}
}
### Entity: Event
Component: ww_BEL_event_diplomatic.31
Constructs: is_triggered_only, ai_chance, add_to_faction
Source: game
File: events/WUW_Belgium.txt

Code:
country_event = {
	id = ww_BEL_event_diplomatic.31
	title = ww_BEL_event_diplomatic.31.t
	desc = ww_BEL_event_diplomatic.31.desc
	picture = GFX_report_event_generic_handshake
	is_triggered_only = yes
	option = {
		name = ww_BEL_event_diplomatic.31.a
		ai_chance = {
			base = 10
		}
		FROM = {
			add_to_faction = ROOT
		}
	}
}
### Entity: Music Config
Component: base_music/a_scandinavian_summer_suite
Source: game
File: music/aat_songs.txt

Code:
music = {
	song = a_scandinavian_summer_suite
	chance = {
		factor = 1
	}
}
### Entity: Decision
Component: SOV_propaganda_campaigns
Constructs: has_completed_focus, research_speed_factor, has_war, limit, has_government, every_country, has_war_with, has_country_flag
Source: game
File: common/decisions/SOV.txt

Code:
SOV_propaganda_campaigns = {
	SOV_debug_unlock_slot = {
		priority = 59
		icon = eng_ally_imperialist_coup
		allowed = {
			original_tag = SOV
		}
		available = {
			OR = {
				check_variable = {
					SOV_poster_left_icon_frame = SOV_propaganda_locked_slot_index
				} {
					SOV_poster_center_icon_frame = SOV_propaganda_locked_slot_index
				} {
					SOV_poster_right_icon_frame = SOV_propaganda_locked_slot_index
				}
			}
		}
		visible = {
			OR = {
				check_variable = {
					SOV_poster_left_icon_frame = SOV_propaganda_locked_slot_index
				} {
					SOV_poster_center_icon_frame = SOV_propaganda_locked_slot_index
				} {
					SOV_poster_right_icon_frame = SOV_propaganda_locked_slot_index
				}
			}
			is_debug = yes
		}
		cost = 0
		complete_effect = {
			SOV_unlock_propaganda_campaign_slot_effect = yes
		}
	}
	SOV_debug_MAKE_CAMPAIGNS_FASTER_HERE = {
		priority = 51
		icon = eng_ally_imperialist_coup
		allowed = {
			original_tag = SOV
		}
		available = {
			always = yes
		}
		visible = {
			NOT = {
				has_country_flag = SOV_debug_fast_propaganda_campaigns_flag
			}
			is_debug = yes
		}
		cost = 0
		complete_effect = {
			set_country_flag = SOV_debug_fast_propaganda_campaigns_flag
			set_variable = {
				SOV_default_propaganda_campaign_duration = 5
			} {
				SOV_default_propaganda_campaign_cooldown = 1
			} {
				SOV_default_propaganda_campaign_old_days = 2
			}
		}
	}
	SOV_debug_REGULAR_CAMPAIGN_DURATION_HERE = {
		priority = 51
		icon = eng_ally_imperialist_coup
		allowed = {
			original_tag = SOV
		}
		available = {
			always = yes
		}
		visible = {
			has_country_flag = SOV_debug_fast_propaganda_campaigns_flag
			is_debug = yes
		}
		cost = 0
		complete_effect = {
			clr_country_flag = SOV_debug_fast_propaganda_campaigns_flag
			set_variable = {
				SOV_default_propaganda_campaign_duration = 180
			} {
				SOV_default_propaganda_campaign_cooldown = 90
			} {
				SOV_default_propaganda_campaign_old_days = 150
			}
		}
	}
	SOV_debug_UNLOCK_ALL_CAMPAIGNS = {
		priority = 50
		icon = eng_ally_imperialist_coup
		allowed = {
			original_tag = SOV
		}
		available = {
			always = yes
		}
		visible = {
			NOT = {
				has_country_flag = SOV_debug_unlock_propaganda_campaigns_flag
			}
			is_debug = yes
		}
		cost = 0
		complete_effect = {
			set_country_flag = SOV_debug_unlock_propaganda_campaigns_flag
		}
	}
	SOV_propaganda_motherland_calls = {
		priority = 2
# ... (truncated)
### Entity: AI Strategy
Component: EAI_MILITARY_COMBINED_operations_region_179
Constructs: check_variable, is_in_array
Source: game
File: common/ai_strategy/EAI_MILITARY_strategies.txt

Code:
EAI_MILITARY_COMBINED_operations_region_179 = {
	enable = {
		check_variable = {
			EAI_MILITARY_COMBINED_regions^num = > 0
		}
		is_in_array = {
			EAI_MILITARY_COMBINED_regions = 179
		}
	}
	abort_when_not_enabled = yes yes
	ai_strategy = {
		type = strike_force_home_base
		id = 179
		value = 10000
	} {
		type = naval_avoid_region
		id = 179
		value = -200
	} {
		type = strategic_air_importance
		id = 179
		value = 25000
	}
}
### Entity: Modifier Reference
Component: agricultural_subsidies
Constructs: remove_trigger, mobilization_speed
Source: game
File: common/dynamic_modifiers/RAJ.txt

Code:
agricultural_subsidies = {
	enable = {
		always = yes
	}
	remove_trigger = {
		controller = {
			NOT = {
				OR = {
					tag = RAJ PAK BAN
				}
			}
		}
	}
	icon = GFX_modifier_communist_peasent
	local_supplies_for_controller = 0.1
	local_resources = 0.2
	mobilization_speed = 0.25
}
### Entity: AI Strategy
Component: EAI_PROD_EQUIP_MIN_medium_tank_flame_chassis_6
Constructs: has_country_flag
Source: game
File: common/ai_strategy/EAI_PRODUCTION_equipment_strategies.txt

Code:
EAI_PROD_EQUIP_MIN_medium_tank_flame_chassis_6 = {
	enable = {
		has_country_flag = EAI_PROD_EQUIP_MIN_medium_tank_flame_chassis_6
	}
	abort_when_not_enabled = yes
	ai_strategy = {
		type = equipment_production_min_factories_archetype
		id = medium_tank_flame_chassis
		value = 0
	}
}
### Entity: National Focus
Tree: bra_focus
Component: BRA_R56_department_of_press_and_propaganda
Constructs: prerequisite, completion_reward, add_political_power, has_country_leader, is_historical_focus_on, add_popularity
Source: game
File: common/national_focus/r56_brazil.txt

Code:
focus = {
	id = BRA_R56_department_of_press_and_propaganda
	icon = GFX_focus_BRA_department_of_propaganda
	prerequisite = {
		focus = BRA_R56_embrace_populism
	}
	mutually_exclusive = {
		focus = BRA_R56_the_second_communist_putsch
	}
	available = {
		has_country_leader = {
			character = BRA_getulio_vargas
			ruling_only = yes
		}
	}
	relative_position_id = BRA_R56_embrace_populism
	x = 1
	y = 1
	ai_will_do = {
		factor = 25
		modifier = {
			is_historical_focus_on = yes
			factor = 1
		}
	}
	cost = 5
	bypass = {
		NOT = {
			has_country_leader = {
				character = BRA_getulio_vargas
				ruling_only = yes
			}
		}
	}
	completion_reward = {
		custom_effect_tooltip = available_political_advisor generic_skip_one_line_tt generic_skip_one_line_tt
		show_ideas_tooltip = BRA_filinto_muller
		add_popularity = {
			ideology = neutrality
			popularity = 0.125
		}
		add_political_power = 150
	}
	search_filters = {
		FOCUS_FILTER_HISTORICAL
	}
}
### Entity: Scripted Trigger
Component: AST_comintern_communist_ai
Constructs: has_country_flag, has_game_rule
Source: game
File: common/scripted_triggers/AST_scripted_triggers.txt

Code:
AST_comintern_communist_ai = {
	OR = {
		has_country_flag = AST_COMINTERN_COMMUNIST_TAOG_AI
		has_game_rule = {
			rule = AST_AI_BEHAVIOR
			option = COMINTERNCOMMUNIST
		}
	}
}
### Entity: National Focus
Tree: phi_focus
Component: PHI_air_modernisations_program
Constructs: prerequisite, add_ideas, completion_reward, add_doctrine_cost_reduction, add_tech_bonus, add_breakthrough_progress
Source: game
File: common/national_focus/r56_philippines.txt

Code:
focus = {
	id = PHI_air_modernisations_program
	icon = GFX_goal_generic_air_doctrine
	prerequisite = {
		focus = PHI_light_bomber_focus PHI_medium_bomber_focus
	}
	relative_position_id = PHI_light_bomber_focus
	x = -1
	y = 1
	cost = 10
	ai_will_do = {
		factor = 10
	}
	completion_reward = {
		air_experience = 25
		add_doctrine_cost_reduction = {
			name = air_doc_bonus
			cost_reduction = 0.5
			uses = 2
			category = air_doctrine
		}
		add_tech_bonus = {
			name = radar_focus
			bonus = 1
			uses = 1
			category = radar_tech
		}
		add_ideas = arg_aviation_schools
		add_breakthrough_progress = {
			specialization = specialization_air
			value = 0.5
		}
	}
	search_filters = {
		FOCUS_FILTER_RESEARCH FOCUS_FILTER_AIR_XP
	}
}
### Entity: National Focus
Tree: egy_focus
Component: EGY_emphasise_the_need_for_reform
Constructs: prerequisite, has_government, completion_reward, has_country_leader
Source: game
File: common/national_focus/egypt.txt

Code:
focus = {
	id = EGY_emphasise_the_need_for_reform
	icon = GFX_goal_generic_repeal_opressive_law
	relative_position_id = EGY_restore_the_khedive
	x = 12
	y = 0
	cost = 10
	available = {
		has_country_leader = {
			character = EGY_farouk_i
			ruling_only = yes
		}
	}
	prerequisite = {
		focus = EGY_sever_the_ties
	}
	mutually_exclusive = {
		focus = EGY_end_the_regency EGY_restore_the_khedive EGY_emphasise_the_need_for_reform
	}
	bypass = {
		OR = {
			has_government = democratic
			has_country_leader = {
				character = EGY_gamal_abdel_nasser
				ruling_only = yes
			}
		}
	}
	select_effect = {
		country_event = {
			id = egypt.40
			days = 5
		}
	}
	search_filters = {
		FOCUS_FILTER_POLITICAL
	}
	ai_will_do = {
		factor = 10
	}
	completion_reward = {
		country_event = {
			id = egypt.59
			hours = 6
		}
	}
}
### Entity: National Focus
Tree: jap_focus
Component: JAP_modern_bombers
Constructs: prerequisite, limit, completion_reward, cancel_if_invalid, has_dlc, add_mio_research_bonus, add_tech_bonus, add_breakthrough_progress
Source: game
File: common/national_focus/japan.txt

Code:
focus = {
	id = JAP_modern_bombers
	icon = GFX_goal_generic_air_bomber
	prerequisite = {
		focus = JAP_establish_showa_aircraft_idnsutry
	}
	relative_position_id = JAP_establish_showa_aircraft_idnsutry
	x = 1
	y = 1
	cost = 10
	ai_will_do = {
		factor = 3
	}
	available = {

	}
	bypass = {

	}
	cancel_if_invalid = yes
	continue_if_invalid = no
	available_if_capitulated = no
	search_filters = {
		FOCUS_FILTER_RESEARCH
	}
	completion_reward = {
		IF = {
			limit = {
				has_dlc = Arms Against Tyranny
			}
			mio:JAP_kawasaki_aircraft_industries_organization = {
				add_mio_research_bonus = 0.05
			}
			mio:JAP_nakajima_organization = {
				add_mio_research_bonus = 0.05
			}
			custom_effect_tooltip = generic_skip_one_line_tt
		}
		add_tech_bonus = {
			name = JAP_modern_bombers
			bonus = 1
			category = medium_air
		}
		custom_effect_tooltip = generic_skip_one_line_tt generic_skip_one_line_tt
		add_breakthrough_progress = {
			specialization = specialization_air
			value = 0.25
		}
		JAP_add_or_modify_army_and_naval_air_services = yes
		add_to_variable = {
			JAP_airforce_air_cas_efficiency = 0.1
			tooltip = air_cas_efficiency_tt
		}
	}
}
### Entity: Character
Component: SMI_war_industrialist
Constructs: removal_cost
Source: game
File: common/characters/SMI.txt

Code:
SMI_war_industrialist = {
	portraits = {
		civilian = {
			small = GFX_portrait_generic_sami_political_fascist
		}
	}
	advisor = {
		slot = political_advisor
		idea_token = SMI_war_industrialist
		cost = 150
		removal_cost = 150
		allowed = {
			original_tag = SMI
		}
		traits = {
			war_industrialist
		}
		ai_will_do = {
			factor = 1
		}
	}
}
### Entity: Character
Component: GER_paul_von_lettow_vorbeck
Constructs: has_government, has_global_flag
Source: game
File: common/characters/GER.txt

Code:
GER_paul_von_lettow_vorbeck = {
	name = GER_paul_von_lettow_vorbeck
	portraits = {
		army = {
			large = GFX_portrait_ger_von_lettow_vorbeck
			small = GFX_idea_GER_von_lettow_vorbeck
		}
	}
	corps_commander = {
		skill = 4
		attack_skill = 3
		defense_skill = 3
		planning_skill = 2
		logistics_skill = 5
		legacy_id = -1
		traits = {
			trickster war_hero media_personality jungle_rat militias_officer
		}
		visible = {
			has_global_flag = von_lettow_is_in_a_country
		}
	}
	advisor = {
		slot = high_command
		idea_token = GER_paul_von_lettow_vorbeck
		allowed = {
			original_tag = GER
		}
		visible = {
			has_government = neutrality
			has_global_flag = von_lettow_is_in_a_country
		}
		available = {
			has_government = neutrality
		}
		traits = {
			army_concealment_2
		}
		ai_will_do = {
			factor = 1
		}
	}
}