Game start modding

本页面部分全部内容上次核对于3.2版本
Pokewiz讨论 | 贡献2022年3月6日 (日) 23:30的版本 (merge from offical wiki)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

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
  • on_action on_game_start
  • 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!

帝国 帝国思潮政府 • 国民理念 • 起源承诺议程传统 • 飞升天赋法令政策遗珍科技自定义帝国
人口 岗位派系
领袖 领袖领袖特质
物种 物种物种特质
行星 行星行星特征 • 轨道矿藏建筑 • 区划行星决议
星系 星系恒星基地巨型结构虫洞 • 星门地图
舰队 舰队舰船 • 部件
地面战 陆军轰炸姿态
外交 外交 • 联邦 • 星海共同体评价修正宣战理由 • 战争目标
事件 事件异常现象特殊项目考古遗址
游玩 游玩定义研究 • 经济游戏开局
动态修改 动态指令效果触发条件作用域修正变量AI
媒体/本地化 Maya 导出器图形肖像旗帜事件图片界面图标音乐本地化
Other 控制台命令存档编辑Steam 创意工坊模组制作教程