Hi all,
after some discussions on the MP forum, I decided to look into the db files once more to get a better grip on how morale works, and share.
This is a short explanation of how the morale system works and gives a list of the morale effects and their values.
Some of these effects are known, for some I have to take an educated guess, and some few I really don't know.
The Morale System
The general system works like this:
We all know every unit has a "morale" value. During battle, a unit will come under several effects modifying their morale; some of these are displayed in the mouse-over hover info window.
The color bar underneath a unit flag encodes the general state of a unit: eager, steady, confident and so on. These states are defined by the following morale ranges.
As you can see, these states overlap. The reason for this is to make the states more stable and keep a unit from toggling between two if it's on the edge.
For instance, a unit with morale 4 is in state "Steady". If it gets influenced by -3, its morale becomes 1, but although this is also in the "shaken" range, it will stay in its current state.
Now, if another influence of -2 comes into effect, the morale becomes -1. This is out of the Steady range, so the unit becomes "shaken".
If the effect disappears again, the morale will be 1 again, but the state will still be "shaken".
There is also the special state of "wavering":
Wavering: -5 to 1
Timeout: 40
I think this state will always be entered if the unit's value come into its range, and the unit will switch out of it automatically after the timeout.
Actually, in the example above, the unit will become "wavering" after the first morale drop to 1.
From there, it can enter either "Steady" or "Shaken", I'm not sure which one will take; I'm guessing the lower one ("Shaken"). This would make units easier to route overall.
The wavering state gives you a last minute opportunity to save a unit from routing (if it comes between -5 and -2).
Morale Effects and Values
Now, for the effects themselves and their values. I tried to partition them into manageable chunks.
These are from the original .pack file, they may have been changed in one or several of the patches.
Disclaimer:
Since I don't have access to the code, the mechanics explanation is not guaranteed to be correct; it's what I have deducted after several years of playing.
I think it's pretty consistent, but if you have any other theories, feel free to post them.
There are some things that are a bit odd; for example, with the number above, it will be very hard to get a unit into Impetuous (which I definitely have seen though):
even an elite with base morale 12, on a hill +4, in column formation +5, with secure flanks +4, inspired by a nearby unit +6, only comes up to 31; still quite far from 50.
Also, there are some effects missing; for instance, the "general still alive" sometimes shows up as a positive effect.
I used the PackFileManager for NTW and looked into the _kv_morale table.
Here's the raw data.
Table Content
EDIT:
The xml files have been published now, containing descriptions for each table column.
I added them in throughout the post.








