Total War: WARHAMMER III

Total War: WARHAMMER III

New Unit Caps for All
furoba  [developer] 7 Jun, 2024 @ 5:31pm
Balance suggestions
If you have any balance suggestion please post it here. I can't promise I will 100% follow your suggestions, but I will keep them in mind for next mod's updates.
< >
Showing 1-15 of 17 comments
Babarigo 8 Jun, 2024 @ 11:01am 
I agree with the comment from AwwHEEEALNaw about high tier units. I think not only the building tier but also the unit tier should be taken into account. For instance, you get 1 ice guard of each category with the tier 5 building but those are only tier 3 units. The tier 5 bear building gives 1 bear cavalry and one elemental bear. When we look at the tier of those units (tier 4) and their price, it feel it's underwhelming to get only 2 ice guards which are tier 3 units with a tier 5 building. 3 or 4 would be more fair imo. I also think getting only 1 little grom from the tier 4 building isn't much even it's more caused by the lack of artillery units from Kislev.
furoba  [developer] 9 Jun, 2024 @ 2:26am 
Thanks for the feedback, next mod's update will include additional unit caps for tier 4 and 5 buildings.
@furoba

I noticed men-at-arms variants in their barracks building have no unit caps as well as mounted yeo-men (forgive if misspelled but it is their basic cavalry). Was this intentional or oversight? Besides that all units seem to have proper caps. Excellent work! Been playing with this and it is great :)

Also last question: do WAAGH armies of greenskins share caps or circumvent?
furoba  [developer] 11 Jun, 2024 @ 1:53am 
Thanks! For Bretonnians, I thought peasant units should not be capped so yes this is intentional.
I have to admit I did not think about the WAAAGH so I did not try yet, but most likely their units will share caps.
@furoba

Just for clarification: men-at-arms are separate units from peasants. The men-at-arms have sword and shield variant as well as spearmen-at-arms with shield variant and a men-at-arms (polearm variant). All of these variants is what I am referring too. They are roughly the equivalent of state troops for the empire. The peasant unit is entirely separate.
furoba  [developer] 11 Jun, 2024 @ 4:37pm 
I see, I thought men-at-arms were just armed peasants but I just checked their lore and actually they are professionnal soldiers. Thanks for the notice, next update will add caps for them (although caps will be quite generous since they are cheap units)
Sadok 25 Dec, 2024 @ 5:56pm 
I noticed for Khorne that the Chaos Warriors have no unit caps at all? then I saw in the comment section how they're a 'tier 0' unit. How's that possible when khorne marauders exist too though? At the same time the halberd variant does have a cap. Maybe it would be better to put caps on the standard warriors aswell, just like Vacuity did, so that there's a reason to bring marauders in the first place
furoba  [developer] 25 Dec, 2024 @ 11:55pm 
@Sadok: Thanks for the feedback! Keep in mind that Khorne Marauders can only be recruited if you own the Champions of Chaos DLC. Players without that DLC would be at a disadvantage if they didn’t have unlimited access to tier 0 and tier 1 units, as other factions do.

On the other hand, Khorne Chaos Warriors with halberds are tier 2 units, which is why they are capped.
Sadok 26 Dec, 2024 @ 12:29am 
You're right about that, didnt realize such an integral unit was DLC-locked.
Not trying to be mean though, but doesn't it make more sense to balance the mod around the full roster of factions? Because as of right now, there is almost zero reason to bring Marauders instead of Warriors, which is one of the main selling points of unit caps mods ofcourse. And I would assume most players, especially the ones who use mods, would own CoC by now.
furoba  [developer] 26 Dec, 2024 @ 2:52am 
@Sadok: I understand your perspective, but my goal is to design this mod to be balanced and fair across all factions, regardless of whether players own specific DLCs. Since no factions have caps for tier 0 and tier 1 units, making an exception for Khorne wouldn’t align with that design philosophy.

Regarding Marauders, while they’re weaker than Chaos Warriors, they serve a unique role—they’re cheaper and have a lower upkeep cost, which makes them a practical choice, especially in the early game. If you feel they aren’t strong enough compared to Chaos Warriors, I suggest sharing your feedback on the official Total War forums so CA might consider adjusting them in future patches.

That said, if you’d like to add caps for Khorne Chaos Warriors to suit your preferences, creating a submod is a straightforward process. I’ve written a tutorial on how to do this, which you can find in the discussions section.

For this specific case, it’s particularly easy because the cap for Khorne Chaos Warriors already exists (it’s used for the Daemon Prince faction). You’d just need to:

Edit the units_allowance table: Add the existing cap to Khorne factions.
Edit the buildings_effects_junction table: Modify Khorne military buildings to increase the available caps.
If you need assistance with this, feel free to reach out—I’m happy to help!
chris_sansom 31 Dec, 2024 @ 5:47am 
Hey Furoba (and this might also apply to Sadok and his thread above). I'm interested in making a unit caps submod to compliment some of my other Khorne mods. I wanted to make Khorne factions work well within the warband upgrade system, so I would make it so that marauders and Warriors of Khorne belong to the same unit cap group (if I cap them at all).

However, I'm reluctant to bother if I can't exclude Blood Host units from caps - as I feel that you then as the player are completely at the whim of what gets spawned in Blood Hosts.

I feel like it should be possible to do, since e.g. Chaos Dwarf convoys don't count towards their own unit caps, but it'll be a deadend for my modding skills if such an exclusion would require any LUA scripts haha.

Do you have any ideas on how I would configure blood host armies to not count towards unit caps? No worries if not, and thanks in advance for any help!
furoba  [developer] 31 Dec, 2024 @ 6:24pm 
Hi @chris_sansom, thanks for your interest in creating a submod! I’ve been exploring something similar for Cathay’s caravans. Honestly, I’m not sure how the Chaos Dwarfs’ convoys bypass the unit cap system, unlike the rest of the faction. It could be hardcoded or require advanced scripting, as you mentioned.

If you check the DB/main_units table, you’ll notice the Chaos Dwarfs have a unique type of Lord for convoys (wh3_dlc23_chd_cha_convoy_overseer). It’s possible that this Lord has a hidden, innate skill or mechanic that excludes his convoy's army from the unit caps system. However, I haven’t had time to investigate further, as my to-do list for the mod is already pretty extensive.

As a workaround, one idea I’ve considered is creating a copy of the existing units, changing only their unit key. This method is already seen in the database—for example:

wh3_main_kho_mon_bloodthirster_0
wh3_main_kho_mon_bloodthirster_summoned_0.
It should be doable to create similar uncapped copies for specific units. Then, you would need to edit the script for Blood Hosts (or similar mechanics), so they spawn these uncapped versions instead of the standard ones.

The main downside is that this approach would make it impossible to remove the mod after starting a campaign. If the mod is removed, the game won’t load the newly added unit copies, leading to crashes.

I wish I could help more, but this is a bit beyond my current modding expertise. However, if you manage to make this work, I’d be very interested to hear how you achieved it! Best of luck, and feel free to reach out if there’s anything else I can assist with.
Thanks for your reply!

Despite all my digging, I can't work out how it's done.

I had hoped it might have been as simple as adding entries to
military_force_type_feature_junctions_tables
for the
DISCIPLE_ARMY
force type but no success.

I've followed through
wh3_dlc23_chd_cha_convoy_overseer
like you suggested along with a few other related keys and my current best guess is that it's driven from
script/campaign/wh3_dlc23_campaign_chd_hellforge.lua
, in particular the
get_unit_counts_per_set
and
modify_unit_cap
functions. I can see no direct call from one function to the other though.

I agree that the idea of using `dummy` units would likely work but I'm reluctant to make such a mod, as I think such an approach is likely to require lots of maintenance if any changes are made to any of the vanilla units. It would, like you say, likely also require me to overwrite
script/campaign/wh3_campaign_khorne_skulls.lua

Thankyou for your help and let me know if you have any more success with this problem e.g. for Cathay caravans.
Last edited by chris_sansom; 2 Jan @ 4:53am
furoba  [developer] 8 Jan @ 5:15am 
@chris_sansom:

Your message gave me the idea to look into the script file located at script/campaign/wh3_dlc23_campaign_chd_hellforge.lua, and I can confirm your intuition was correct!

I asked ChatGPT to analyze the script and identify how Convoy units for the Chaos Dwarfs are excluded from the unit cap system. Here’s the reply I received:

hellforge = {
convoy_commander_key = "wh3_dlc23_chd_lord_convoy_overseer",
unit_sets = {
"wh3_dlc23_chd_category_chaos_dwarf_melee_infantry",
"wh3_dlc23_chd_category_chaos_dwarf_missile_infantry",
"wh3_dlc23_chd_category_bull_centaurs",
"wh3_dlc23_chd_category_flying_beasts",
"wh3_dlc23_chd_category_kdaai"
}
}

function hellforge:get_unit_counts_per_set(faction_interface)
local unit_set_to_count = {}

for i = 1, #self.unit_sets do
local unit_set = self.unit_sets[i]
local units_in_set = faction_interface:units_recruited_in_set(unit_set)
unit_set_to_count[unit_set] = units_in_set:num_items()

for j = 0, units_in_set:num_items() - 1 do
local unit = units_in_set:item_at(j)
local force_commander = unit:force_commander()

if force_commander then
local character_type_key = force_commander:character_subtype_key()
if character_type_key == self.convoy_commander_key then
unit_set_to_count[unit_set] = unit_set_to_count[unit_set] - 1
end
end
end
end

return unit_set_to_count
end
Following the same structure, I managed to create a script that excludes units in Cathay’s Caravans from the unit cap system. Here’s the script I made:

caravans = {
caravan_master_key = "wh3_main_cth_cha_lord_caravan_master", -- Identifier for Cathay's caravan master
unit_keys = {
"vcap_cathay_wh3_dlc24_cth_inf_onyx_crowmen",
"vcap_cathay_wh3_dlc24_cth_mon_celestial_lion",
"vcap_cathay_wh3_dlc24_cth_mon_great_moon_bird",
"vcap_cathay_wh3_dlc24_cth_mon_jade_lion",
"vcap_cathay_wh3_dlc24_cth_mon_jet_lion",
"vcap_cathay_wh3_dlc24_cth_veh_zhangu_war_drum",
"vcap_cathay_wh3_main_cth_art_fire_rain_rocket_battery_0",
"vcap_cathay_wh3_main_cth_art_grand_cannon_0",
"vcap_cathay_wh3_main_cth_cav_jade_lancers_0",
"vcap_cathay_wh3_main_cth_cav_jade_longma_riders_0",
"vcap_cathay_wh3_main_cth_inf_crane_gunners_0",
"vcap_cathay_wh3_main_cth_inf_dragon_guard_0",
"vcap_cathay_wh3_main_cth_inf_dragon_guard_crossbowmen_0",
"vcap_cathay_wh3_main_cth_inf_iron_hail_gunners_0",
"vcap_cathay_wh3_main_cth_inf_jade_warrior_crossbowmen_0",
"vcap_cathay_wh3_main_cth_inf_jade_warrior_crossbowmen_1",
"vcap_cathay_wh3_main_cth_inf_jade_warriors_1",
"vcap_cathay_wh3_main_cth_mon_terracotta_sentinel_0",
"vcap_cathay_wh3_main_cth_veh_sky_junk_0",
"vcap_cathay_wh3_main_cth_veh_sky_lantern_0",
"vcap_cathay_wh3_main_cth_veh_war_compass_0"
}
}

function caravans:get_unit_counts_per_set(faction_interface)
local unit_key_to_count = {}

for _, unit_key in ipairs(self.unit_keys) do
local unit_count = faction_interface:unit_count(unit_key) or 0
unit_key_to_count[unit_key] = unit_count

local units = faction_interface:units_of_type(unit_key)
for i = 0, units:num_items() - 1 do
local unit = units:item_at(i)
local force_commander = unit:force_commander()

if force_commander then
local character_type_key = force_commander:character_subtype_key()
if character_type_key == self.caravan_master_key then
unit_key_to_count[unit_key] = unit_key_to_count[unit_key] - 1
end
end
end
end

return unit_key_to_count
end

Changes Made:
- I updated the Lord key to Cathay’s Caravan Master
- I replaced the unit sets with Cathay-specific cap keys


I guess this approach could work for Blood Hosts too. Let me know if you’re successful in implementing it. I’d love to hear about your results!
Last edited by furoba; 8 Jan @ 5:40am
Isn't 1 Lothern Seaguard with Shields for every tier 3 barracks a bit harsh? Same for Silverin Guard. Shared cap for Lothern Seaguard types and slightly higher for Silverin would feel balanced compared to the Dwarf caps for Longbeards for instance that are significantly better.
< >
Showing 1-15 of 17 comments
Per page: 1530 50