I promise to make a short overview of all the components and especially all mods I made myself as soon as possible.
but the question is whether the AI will *decide* whether to take the damage or not
I know that's a problem. I haven't solved it yet but my damages are small (5%) and so it doesn't matter. I've just reworked the AIs decision to heal or not. But as I've seen last night it's still buggy. Made a bad mistake. At small damage units heal in most cases while they nearly never heal at hugh damages.
Also I have thought of making certain promotions only available when the unit is in a city with a specific building; maybe your promotion system will help.
What you desire is no big problem but it's not what I have done.
I reworked the structure of the promotions and even reworked the character of some. Furthermore there is a limit of promotions for each unit to avoid super units. The limit is 6 + 2. Each unit can have 6 normal promotions and 2 leader promotions. Free promotions and bonus promotions don't rank with the limit. In CCV the costs for promotions are more equal. It goes 5/10/20/30/40/50//60/70. I nerver liked the idea that the same promotion can be given to a newbe for 2 XP while the best soldiers need 10 XP or even much more to learn it. Barracks give you now 10 XP (other buildings also reworked), Great Generals in cities 5 XP, leading Generals 20 XP.
I also reworked the unit upgrade. In BTS you lose all XP over 10 XP but keep all promotions. That's so silly and even a small human exploit. In CCV you loose 50% of XP over 10XP (25% with leader) and you will also loose promotions. But this is done intelligent! I've wrote some code to analyse the character of a unit. So the new unit will have the same character (for example city defender) as the old one but for example it will only be a level II if the old was a level III.
Let's have a look at a simple example.
Musketman, level 6, 36 XP, Combat I/Combat II/Combat III/Garrison I/Garrison II/CityRaider I; aggressive and charismatic civ leader, no leading general
As we have got an charismatic leader it goes 4/8/16/24/32/40//48/56. And we have got no leading general, so we loose 50% over 8 XP (!). So the new unit will have 8 + 14 XP = 22 XP.
So we start we with a rifleman of 22 XP left and a first free promotion Combat I from the aggressive leader. Attention - the level is still 1 and not 2. So the first real promotion will require 4 XP! Because of the idea behind the structure of the CCV promotion system a unit must loose it's highest Combat promotion but not Combat I. So if the upgrade unit has got enough XP the Combat Promotions are given first.
So your musketman will get Combat I first but for free, after that Combat II because he has got the required 4 XP but not Comabat III because he must loose it. So now there are still 18 XP left. And now the game start to analyse. It sees that the unit has got a level 2 promotion but no level 3 promotion (Combat doesn't count) so this must be the character of the unit. And that's the reason why the new Garrison promotions are set now. Garrison III if existing wouldn't be available because it requires Combat III. But Garrison I and II can be set if there are Combat I and II and if the unit has got enough XP left. And so the rifleman gets Garrison I for 4 XP and Garrison II for 8 XP. So there are now 6 XP left. And that's not enough for the CityRaider I promotion which would have been next.
So the result of our upgrade from musketman to riffleman is a unit with
Combat I/Combat II/Garrison I/Garrison II, level 4, 22/24 XP