It can be confusing, especially to new modders, how exactly the game sets up a new Galaxy and how to modify anything during Game Setup. Here is a quick reference for everything that the Vanilla game does when setting up a new game.
To understand this page, it is recommended you familiarize yourself with Events and On Actions.
Game Start Modding[编辑 | 编辑源代码]
The most-compatible way to mod game setup is to add custom events that file after the built-in game events. It is also possible to fire events before built-in events. The reason that events are the most compatible way to do this is that they don't overwrite any of the built-in effects or effects, and thus won't conflict with other mods that also want to edit the game setup process.
For adding technologies, use the on_action empire_init_add_technologies
which is called once per country. This is the intended place to grant free technologies as part of an origin, civic, or other custom startup conditions. Here is a sample event:
country_event = {
id = my_event.1
is_triggered_only = yes
hide_window = yes
trigger = {
# your conditions go here
is_regular_empire = yes
OR = {
has_valid_civic = civic_corporate_dominion
is_megacorp = yes
has_valid_civic = civic_merchant_guilds
}
}
immediate = {
# grant technologies here
give_technology = {
tech = tech_space_trading
message = no
}
}
}
For adjusting the starting conditions on an empire's homeworld, use the on_action empire_init_capital_planet
which is called once per country in the scope of that empire's capital planet. Here is a sample event:
planet_event = {
id = my_event.2
is_triggered_only = yes
hide_window = yes
pre_triggers = {
has_owner = yes
}
trigger = {
# your conditions go here - notice how it scopes to the planet's owner
owner = {
is_regular_empire = yes
OR = {
has_valid_civic = civic_corporate_dominion
is_megacorp = yes
has_valid_civic = civic_merchant_guilds
}
}
free_building_slots > 0 # this checks that the planet has space for a building
}
immediate = {
# make changes to the capital planet here, you can scope to the solar system like this: solar_system = { <code here> }
add_building = building_galactic_stock_exchange
}
}
A special case for game setup is creating a new origin or civic with a secondary species. The built-in code will not correctly spawn secondary Pops. Instead, it is recommended to follow this template that uses an on_action to disable the built-in setup event for the relevant empire(s), and then spawns Pops as desired for the primary and secondary species but also executes the built-in capital district/building/blocker, and so on code.
Review the Game Start Execution Order section for the full details of the when code executes as a new game is starting.
Game Start Execution Order[编辑 | 编辑源代码]
After pressing PLAY on the Game Details screen to begin a new game, scripts execute in the following order:
- Galaxy is created, using common/solar_system_initializers (See System modding)
- generate_empire_home_planet
- generate_home_system_resources
- on_action empire_init_technologies is called
- event game_start.8 - Adds starting resources to Empires and some techs for specific Origins and Civics
- on_action empire_init_capital_planet
- event game_start.12 - Sets up capital planets by calling the following scripted effects:
- (excludes set_planet_flag = special_start_planet from solar_system_initializers)
- generate_start_deposits_and_blockers
- generate_start_buildings_and_districts
- generate_start_pops
- generate_home_planet_final_pass
- void_dweller_home_planet_setup
- on_action empire_init_create_ships
- event game_start.9 - Creates beginning ships for Empires
- on_action on_initialize_advanced_colony
- Only for the extra colonies of AI empires that were flagged as Advanced Starts by the engine during Galaxy creation.
- events game_start.20 through game_start.23 - Sets up the additional colonies and creates their pops
- on_action on_become_advanced_empire
- event game_start.6 - adds more starting Resources, technologies, and builds more Mining and Research stations
- event game_start.1 - Lots of necessary things that the engine requires, as well as setting up flavor events for the player and/or certain Origins/Civics
- event game_start.2 - Clears Planet Modifiers from Capital planets
- event game_start.3 - Sets up Advisor and Tutorial
- event game_start.5 - Sets up the Nomad Fleet (If Megacorp is NOT active)
- event game_start.31 - Spawns Wormholes
- If DLC Distant Stars is active:
- event distar.290 - Create Corrupted Avatar system
- event distar.252 - Setup Phaseshifting Planet (if Galaxy creation spawned it from solar_system_initializers)
- event distar.295 - If Ratling systems spawned, make sure they have Hyperlane connections
- event distar.8000 - Randomize L-Gate outcome
- event colony_mod.100 - Adds Titanic Life blocker to planets with the Planet Modifier
- event game_start.50 - Setup Nebula effects for systems in Nebulas
- event galactic_features.406 - spawn VLUUR
- event clones.1 - Make Clone Army pops unable to be Genetically Modified
- event central.1 - Chance to initialize the Central Crystal event chain for Void Dwellers
- event akx.8000 - Chance to initialize the Horizon Signal system
- on_action on_game_start_country
- event game_start.33 - Setup conditions for specific Origins/Civics, and build starting home system Mining and Research Stations
- event game_start.10 - Setup orbital stations and customizations for Fallen Empires
- event necroids.4 - Switch Guaranteed Habitable Planets to Primitives for Necrophage Origin
- event clones.2 - Give Cloning techs to Clone Army Origins
- event clones.3 - Initialize Clone Vats for Clone Army Origins
- Galaxy loads for Player
- Intro Window displayed to player
- Contents of Intro Window broken into three parts (location = 0/1/2) and pulled from common/start_screen_messages/
- on_action on_game_press_begin
- events tutorial.104 and advisor.1 to start the Tutorial and/or Advisor messages.
The Game has BEGUN![编辑 | 编辑源代码]