科技模組製作

本頁面所適用的版本可能已經過時,最後更新於2.8


Definitions

Technologies are defined inside /common/technology.txt. Leaving out the modifier or any of the tiers is logged as an error, so those should always be included even if blank.

TECH_GROUP_NAME = {
	TECH_NAME = {
		modifier = {
			#List of modifiers 
		}
		1 = {
			#Effects of level 1
		}
		...
		8 = {
			#Effects of level 8
		}
	}
}

Start date technology

The Technology advancement screen (v. 2.8)

The game will process technology starting at year NDefines.NTechnology.DONT_EXECUTE_TECH_BEFORE. It should be set to the earliest starting year of the mod (769 in vanilla), otherwise technology history will not be processed, and some default starting technology will be used.

The technology level can be set per start date and per duchies inside /history/technology/ folder. The structure is:

technology = {
	titles = {
		#List of applicable duchy titles
	}
	769 = {
		military = xx #All military technologies
		economy = xx #All economic technologies
		culture = xx #All culture technologies
		TECH_xx = xx #Specific technology
	}
	867 = {
		#Same
	}
	1337 = {
		#Same
	}
}

Important: make sure there is always a date entry defined for the year configured in NDefines.NTechnology.DONT_EXECUTE_TECH_BEFORE, otherwise the game will crash. For instance, if NDefines.NTechnology.DONT_EXECUTE_TECH_BEFORE = 400, then you need a 400 = { } block in ALL technology history files.

Ahead penalty

The game uses the concept of "ideal year" to balance technological advancement, defined in defines.lua:

  • IDEAL_YEAR_LEVEL_0: Chance to get a progress to this level will increase after this date and decrease before it
  • IDEAL_YEAR_LEVEL_8
  • IDEAL_YEAR_AHEAD_PENALTY_INVEST : Percent increase in cost pre level ahead of ideal date