How to Add Unit to Warband Upgrade System

Requirement

You will need RPFM + a basic knowledge in db table. Also grab this mod: Warband Upgrade Extended.

This mod won't be required for your unit mod. But unless you only want to add to Warrior of Chaos, this provides a basic framework to work with & for the upgrade to appear for other races.

Let me know if you have success & I can add your unit mods to the compatible lists of my upgrade mod.

Limitations

The main limitation is UI. There are only 5 UI tabs right now, so some races share the same tab. When a mod enables cross-race units in the units_to_groupings_military permission table, the UI can be clustered & multiple unit cards can overlap.

Rule No.1: Please do not make your modded units available to multi-race in your mod, nor make vanilla units available to other race (e.g., ogre to human). You can always make them recruit-able via allied outpost, without adding to the permission table.

Rule No 2: again, there are only 5 UI. As you can see in the Warband extension mod, the vanilla units already take many UI spaces. So please consider carefully which unit groups you would like to add to & whether that can cause UI clustering issue.

Now, if someone can help me figure out how to add new UI tabs to this file: warband_upgrades.twui.xml. Then the above limitations can be lifted.

The Simple Way

The simplest way is to add to existing upgrade groups. In this case, there are two tables involved:

table 1: unit_to_unit_group_junctions_tables

table 2: unit_upgrade_groups_table

Example 1:

To add units to existing chaos groups, all you need is table 1:

1. find a suitable group from the CA db in table 1;

2. create a new db under table 1 folder, and add in the unit name | unit group.

Say you made another exalted daemon, called my_cute_daemon. The proper group from table 1 would be wh3_main_chs_daemonette_exalted.

So, create a new db under table 1, name it uniquely (e.g., cute_table), and add the following row to the new db:

my_cute_daemon | wh3_main_chs_daemonette_exalted

Done! Now the upgrade will appear in game.

Example 2:

To add units in non-chaos race, locate the race db under table 1 in Warband Extended Mod, find a proper group, and add your unit id | group in a unique table 1 db.

I will use what I did for Lily's Bretonnia Overhaul as example: it has a new longbow variant called zayli_royal_longbow.

Locate table 1 folder in the extended mod, find TLA_upgrade_brt db. Find the proper group you would like to add to. I used the yeomen archer group there, called "TLA_brt_elite_bow".

Next, in your unit mod, create a new db under table 1 folder with unique name (say Zayli_brt). Then add the following row:

zayli_royal_longbow | TLA_brt_elite_bow

Then, go to table 2 folder, and create a db of same name (Zayli_brt). Then add the unit group

TLA_brt_elite_bow

into the entry. (This step is needed so your mod do not throw error without the Warband Extension mod.)

Done! Your unit mod will work by itself; and with the upgrade mod subscribed, there will be an upgrade path to your unit.

The Tricky Way

Now, if you would like to create a new group and / or new upgrade path (rather than existing ones in vanilla or my mod),

you will also need

table 3: unit_upgrade_group_ui_infos_tables

table 4: unit_upgrade_group_ui_links_tables

table 5: unit_upgrade_to_unit_groups_tables

You will need to create new group via table 2, associate your units to the group in table 1;

then, add your group ui info in table 3, create new upgrade link in table 5, and specify the link directions in table 4.

If you are doing unit variant swapping, then table 4 is not needed.

If you are looking into this, I believe you are an db expert & can figure out the remaining on your own by looking at my mod & how it works in game --- or ask me here in this guide if you have any trouble.

Source: https://steamcommunity.com/sharedfiles/filedetails/?id=2855889682					

More Total War: WARHAMMER III guilds