Balderstorm, I am also not yet decided on the initial assignment if iCollateralStrength. Returning the *collateralDamage() may be a good idea there, more feedback on that is certainly welcome.
Giving non-native units 50% of their strength as iCollateralStrength isn't clean, though, it does, as it turns out, make such units more powerful than they were in 3.13 - certainly not the intention. Collateral protection, though, is actually supposed to work the way it does with these changes, I think. Another tweak to the initial iCollateralStrength may be a good idea, giving the reduction back.
Let's wait a bit, I want to do it well in the end...