Technology modding

From Crusader Kings II Wiki
Jump to navigation Jump to search

Definitions[edit | edit source]

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.

		modifier = {
			#List of modifiers 
		1 = {
			#Effects of level 1
		8 = {
			#Effects of level 8

Start date technology[edit | edit source]

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 = {
	1337 = {

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[edit | edit source]

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_AHEAD_PENALTY_INVEST : Percent increase in cost pre level ahead of ideal date