Hmm... More like:
1) Higher chance to score a hit and less chance to receive a hit
2) WILL do more damage on a successful hit and take less damage when hit. (though some modifiers can adjust this final amount.)
3) The weaker unit will LIKELY lose hp faster and everything else you mentioned there will continue as you stated.
Not much difference to what you said. Just clarifying if there's still a little misunderstanding on those minor differences.
And processing. Yes.
If you look at a similar battle in vanilla, you'll see that it's almost impossible for a 3 str unit to go to battle with a str 20 unit and not do a little damage to the str 20 unit. Conversely, in C2C, its more realistic. It's almost impossible for the str 3 unit to ever injure a str 20 unit to any amount. Thus, we've gone from 'it's almost impossible for an attack by overwhelming amounts of units to fail as long as the unit count is at a particular ratio to the enemy's unit count' to 'it's almost impossible for underwhelming units to even make a dent in the enemy's defenses when the enemy units are far stronger than yours regardless of how many more units you have'. But the programming to assess those large scale chances haven't changed.
Hmm if you say that the minimum damage is gone, then that opens up mathematical possibilities to speed up combat calculations.
I never looked at the code, so I have no idea how combat is calculated exactly other than your remarks above. Let me speculate wildly on how it is done and how it could be improved.
Suppose the following statements are true:
1) assuming equal hitpoints, the outcome of the battle depends solely on the ratio of strenghts. In other words: a strength 4 unit fighting a strength 2 unit (ratio 2:1) would have the same average outcome as a strength 6 unit fighting a strength 3 unit (also ratio 2:1).
2) assuming the same ratio in strength, the battle depends solely on the ratio of hitpoints. In other words: a 100 hp unit attacking a 50 hp unit has the same AVERAGE chance of winning as a 50 hp unit attacking a 25 hp unit. N.B. smaller amounts of hitpoints would cause a higher average "overkill" (damage wasted because the target unit is already dead) but let's neglect that.
3) the AVERAGE outcome is one of these: a) defender dies, attacker gets x amount of damage. b) attacker dies, defender gets x amount of damage, or c) both die. If you depict (a) as a positive number (i.e. +x) and (b) as a negative number (i.e. -x) and zero if both die, then the average outcome can be rendered in a single number (which can be either positive or negative).
..then the outcome of all battles can be plotted in the following formula:
Average combat outcome = function of (input ratio of strengths; input ratio of hitpoints)
This is a 3 dimensional plot: on the X axis you plot the ratio of strengths, on the Y axis you plot the ratio of hitpoints, and on the Z axis you plot the average battle outcome.
The result will be a curved 2 dimensional plane in this 3 dimensional plot.
Now you can run a lot of simulated battles to construct this 2 dimensional plane. Make sure that you space out the possibilities: 1-100 hitpoints vs 1-100 hitpoints gives 10,000 possibilities, but if you go in increments of 5 hitpoints, then it is only 20x20 = 400 possibilities, less if you remove duplicates, like 100 hp vs 50 hp is the same as 50 hp vs 25 hp. Size Matters increases the range of hitpoints, and if I remember correctly, every level of the unit gives another 1 hp, but the principle is the same.
Since you only have to construct this plot once, calculation time is less critical (just let it run overnight) so you can e.g. take into account that the weaker unit drops strength faster than the stronger unit so the stronger unit has an extra advantage.
Once you have this 2 dimensional plane sufficiently mapped out (in the form of many, many calculated values in a table: input x, input y, and calculated result z) then you enter this table into a statistics program, and let it calculate a formula that is "best fit" in the form
Average combat outcome (z axis) = formula (input x axis which is ratio of strengths; input y axis which is ratio of hitpoints)
It is a lot of work and computer calculation time, but once it is done, calculating average battle odds would be much faster for the AI; it only has to put ratio of strengths and ratio of hitpoints into a single formula and out rolls the average combat outcome.
Three things complicate this: 1) ranged attacks 2) first strikes 3) withdrawal chance.
The first two are straight damage dealers that can be calculated before calculating the ratio of hitpoints. The third one, withdrawal, happens not that often and if it happens, it happens when most of the battle is already done. So for stack vs stack attack, it won't be much difference if you leave out withdrawal chance.