I havn't noticed this before, so this should be result of the 1.2 patch. So far too many generals in the game has got Cruelly Scarred trait. I started to research this, and found some inconsistences
1) there are two rules that assign BattleScarred trait first is for everyone and second is for romans, but since for everyone means for romans too, this gives roman generals additional chance to get a scar.
2) There is an identifier GeneralHPLostRatioinBattle which determines whether general got scare or not, somewhere it's percents like (80) in heroic saviour for example, and somewhere it's rate like 0.3 in BattleScar assignment. So obviuosly this is a bug.
Then I started to research what is the correct value and what is not, so for test purpose i set chance to get scare to 100 and strarted to test it on Julii campaign start.
I suspected that this identifier means how much hp general lost after the battle, this seems pretty logical. But after one battle my general got Cruelly Scarred trait (threshhold 4) after only 1 battle, and general was standing during all battle, so this is obviously not related to the generals hp. Then looking at the fact that threshhold gone from 0 to at least 4, this means that the trigger was tested several times, i.e. probably for every group that was under this general command or for both sides (romans and barbarians)
If you change the number from 0.3 to 30 (it should mean 30%) this means trigger will stop to work at all, after 6 battle replays my general hasn't got any scare (don't forget I set chance to 100).
Then it's clear that you have no chance to get Heroic Saviour or Shieldbearer to your character since they are test GeneralHPLostRatioinBattle with numbers more then 1, i.e. percents. (I also run several tests with GeneralHP... set at 1 and got the same results as with 30).
So does anybody have an idea how to make this GeneralHP... work correctly? Since I suspect that chance to get scar should be related to generals lost hp.
Bookmarks