Turns Per Year and Seasons
Total War: THREE KINGDOMS Assembly Kit Tutorial

In previous Total War titles, Turns per Year were changed by editing the startpos.esf file which acts like a save game for any new campaigns that are started. It governs many starting settings and has to be edited as a whole, thus making compatibility a big issue since it overrides any other startpos being used. However, in Three Kingdoms that has changed and only basic table edits are required. This change allows for Turns per Year (TPY) mods to be much more compatible with other mods and with game updates. This tutorial will begin by explaining the basics of editing TPY and season settings. The more involved and complex changes will be detailed at the end. It will also serve as a basic overview of some of the kit's features. Note that many of these changes can also be made using PFM or RPFM and may be easier to do with those programs. This tutorial also assumes you have installed the assembly kit (or one of the PFM programs to edit these tables).


Part One - Turns Per Year, Seasons Per Year

The first change we will look at is Turns Per Year (TPY) settings. In Three Kingdoms, you don’t actually change the TPY number like you would in previous titles contained in the startpos. Instead, the number of season entries per year is what will be edited with each season entry lasting 1 turn. Look through the tables until you find campaign_rounds and double click:



This will bring up the table that governs how many season entries occur in one year and, therefore, how many turns will be contained within that 1 year. There are 4 columns in this table: Index, Text, Season and Round Set.
⦁ The Index column sets the order in which the seasons for a given round set will occur. Each season entry requires its own unique number that follows the previous season entry.
⦁ The Text column is the localization option for the season entry.
⦁ The Season column designates which season will be used for that entry.
⦁ The Round Set column allows you to create entirely custom season sets. However, if a set other than the wu_xing_five_seasons set is used, you will need to make changes to the startpos file. This will be covered later in the tutorial.



As you can see in the above image, previously edited tables show up with yellow entries. In my example I have edited this table before so for any new table all entries will be white. Green will denote new entries while red will represent deleted entries. You also have the option in the bottom right to Discard Changes before they are saved, thus reverting to any previous table state before you began editing. Lastly, you can save your changes there by using the Apply Changes button.

For this tutorial, we will set the turns per year to 10 by adding entries so that each season lasts 2 turns. However, most any setting should work. For example, you could have it so that the harvest lasts 1 turn but winters lasts 3 turns.

In order to change the Turns per Year, you will need to add new entries for each new season turn you want. For example, for 10 TPY you will need to add 5 more entries in the wu_xing_five_seasons set grouping. Each entry will need a progressively higher Index number in order to tell the game the order of the seasons. In order to do this:
⦁ Click Add Record at the bottom left of the table 5 times. This will add 5 new blank entries. They should be green colored.
⦁ Change the Round Set column to be wu_xing_five_seasons for all 5 new entries.
⦁ Add 5 new Index numbers for each new entry. In this example you will add 17, 18, 19, 20, and 21 to the new rows.
⦁ Rearrange the Season entries so that the seasons are ordered how you want them. For this example each season will get 2 turns in normal progression. So it will be spring, spring, summer, summer, harvest, harvest, autumn, autumn, winter, winter covering Index numbers 12-21.
⦁ Set the Text entry to match the Season entry.
⦁ Click Apply Changes in the bottom right of the table.


In order to use your new table in the game, you will have to export it into a mod pack using BOB or simply save it in your own mod pack if you are editing the table directly with PFM.


Part Two - Seasons and Effects

Now that we have covered the basics of how to edit TPY and season rotations in Three Kingdoms, let’s look at custom season entries and effects. Go back to Tweak’s Table Launcher and find the seasons table. This table has columns that reference the season id key, such as season_autumn, localization for the season name, index values, default settings for battles, and options to convert rain to snow and snow to rain depending on the season type.




These entries are also referenced in multiple other tables governing various aspects of the seasons including battle climates, campaign tree settings, time of day intervals, and province effect bundles. There are even some tables that are not used in the base game that could possibly be used by mods. Select Show Dependency Graph in the top right and you will get an idea of what tables are involved and required for making more extensive changes to this table.



For the purposes of this tutorial, we will limit ourselves to province effects from seasons. Open the season_province_effect_bundles table and you will see what effect bundle each season uses depending on the province in question. This table has an entry for each season in various provinces that can be assigned specific effects through an effect bundle. You can also change the option to have snow in battles here as well for each season entry.




You can either change the effect bundle being applied here or create an entirely new one in the effect_bundles table. Each effect bundle is assigned specific effects in the effect_bundles_to_effects_junction table. If you wish to add more effects to the existing effect bundles for each season, you can add those effects in that table:




If you want to make custom season entries instead of using the basic seasons already found in the game, you will need to edit all of the tables seen in the Dependency Chart and add new entries for each of your new seasons. Each new entry should reference whatever new season id key you chose to add in the seasons table. Remember that you will also need to localize your new seasons with text entries for their names. These changes are much more complex than changing basic rotations or effects and will require more time and testing to properly implement.


Part Three - Advanced - Entirely Custom Round Sets

The above tutorial will allow you to change almost anything with turns per year and season settings. However, you may wish to create an entirely custom set of seasons that exist outside the base game’s set. If you remember, the normal set of seasons is referred to as a Round Set and is referenced as wu_xing_five_seasons in the files. If you open the campaign_round_sets table you will notice there is another entry that exists that is not used in the base game but references a twelve month cycle. This entry is an example of how to create your own set of seasons, although it is most likely not necessary for most modding purposes.

To create your own Round Set you will need to add a new entry to the campaign_round_sets table and then assign seasons as we did above to that new Round Set in the campaign_rounds table. You can use existing seasons or entirely new ones. However, in order to have your new set of seasons work in game you will need to now edit the startpos file. The Round Set is referenced there and will need to be altered in order to use your new settings.

Open startpos_calendars and you will find entries that reference the start year, starting season, and the Round Set. You will need to change the entry from wu_xing_five_seasons to your new Round Set and click Apply Changes. When you go to export your changed tables you will also need to export a startpos file along with your database files in BoB under campaigns/3k_main_campaign_map/. You can choose a historical or romance startpos (or both) and export it into your new pack. Place that new pack in your Three Kingdoms data directory and activate it in the game's Mod Manager. You new season settings should now work in game.