科技模组制作

本页面所适用的版本可能已经过时,最后更新于2.8
咯咯炀讨论 | 贡献2020年12月25日 (五) 22:53的版本 (20:14, 31 July 2018‎ Chrispim)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)


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