The short: Barracks only make a new unit for every 1k people working there, no matter what the manpower value is in 00_combat_unit_groups.txt
The long:
So, I've been losing my mind on how to reduce the size of units to be less than 1k. I noticed in \common\combat_unit_groups\00_combat_unit_groups.txt there's an entry for manpower_max. In addition, the barracks building's production method has its usual building_employment_soldiers_add which can be anything. Also, I noticed a define
NMilitary.COMBAT_UNITS_PER_LEVEL = 1.
Here's the weird thing I notice; none of this matters when it comes to raising new units for an army. For an army, a new unit is only created every time the associated barrack hits a a new 1k employed soldiers, completely disconnected from manpower_max.
So for the sake of experimentation, let's say manpower_max is 200, and so is the PMs building_employment_soldiers_add = 300, and NMilitary.COMBAT_UNITS_PER_LEVEL = 2. And now for an army you build 4 new barracks, then the associated army will only get 1 new unit, consisting of 200 manpower, even tho the barracks would be level 4 and contain 1.2k soldiers.
What makes it even weirder, if let's say I have a one PM that has the vanilla building_employment_soldiers_add = 2000 soldiers and fill the level 4 barracks with 8k soldiers. The army will have 8 units with 200 manpower. But if I then switch to the 300 soldier PM; the army is now down to 6 units with 200 manpower each, using a level 4 barracks with 1.2k soldiers in it... which it what it should be from the beginning.
Now different PMs with 2000 and 200 soldiers is silly and just a test, and this is a relatively niche situation. But it just tells me that units are only added to an army, when an associated barracks hit's a new 1k employees... which then makes me wonder what the point is to have a manpower_max entry in the first place (I also did some tests to have the manpower_max = 2000 which also didn't work and units stayed at 1k with a new unit being created for every 1k workers in the barracks).
I guess this entire post is just the most longwinded way of asking; why is it hardcoded like this? I looked around everywhere in the files and the entirety of the defines and the barracks and barracks PMs, and there's a non-zero chance I'm missing something, but it really doesn't look like it. This really seems to be a huge inconsistency, especially considering that unit types literally have a manpower_max value, that currently makes little sense.
Example inpictures:
Switching PM to a lower worker one, once the 4 units are made:
The long:
So, I've been losing my mind on how to reduce the size of units to be less than 1k. I noticed in \common\combat_unit_groups\00_combat_unit_groups.txt there's an entry for manpower_max. In addition, the barracks building's production method has its usual building_employment_soldiers_add which can be anything. Also, I noticed a define
NMilitary.COMBAT_UNITS_PER_LEVEL = 1.
Here's the weird thing I notice; none of this matters when it comes to raising new units for an army. For an army, a new unit is only created every time the associated barrack hits a a new 1k employed soldiers, completely disconnected from manpower_max.
So for the sake of experimentation, let's say manpower_max is 200, and so is the PMs building_employment_soldiers_add = 300, and NMilitary.COMBAT_UNITS_PER_LEVEL = 2. And now for an army you build 4 new barracks, then the associated army will only get 1 new unit, consisting of 200 manpower, even tho the barracks would be level 4 and contain 1.2k soldiers.
What makes it even weirder, if let's say I have a one PM that has the vanilla building_employment_soldiers_add = 2000 soldiers and fill the level 4 barracks with 8k soldiers. The army will have 8 units with 200 manpower. But if I then switch to the 300 soldier PM; the army is now down to 6 units with 200 manpower each, using a level 4 barracks with 1.2k soldiers in it... which it what it should be from the beginning.
Now different PMs with 2000 and 200 soldiers is silly and just a test, and this is a relatively niche situation. But it just tells me that units are only added to an army, when an associated barracks hit's a new 1k employees... which then makes me wonder what the point is to have a manpower_max entry in the first place (I also did some tests to have the manpower_max = 2000 which also didn't work and units stayed at 1k with a new unit being created for every 1k workers in the barracks).
I guess this entire post is just the most longwinded way of asking; why is it hardcoded like this? I looked around everywhere in the files and the entirety of the defines and the barracks and barracks PMs, and there's a non-zero chance I'm missing something, but it really doesn't look like it. This really seems to be a huge inconsistency, especially considering that unit types literally have a manpower_max value, that currently makes little sense.
Example inpictures:
- 4k soldiers
- 200 manpower sized units
- Result: 4 units


Switching PM to a lower worker one, once the 4 units are made:
- 600 soldiers
- 200 manpower units
- Result: 3 units

- 1
- 1