When laying siege to a city is it possible to predict how much it is going to heal for on the enemies turn? Is it always a percentage of the city's maximum health or does it have some random element to it? How do defensive enhancements modify it?
I had a city build a wall while I was besieging it. It was at half health, and appeared to heal ~25 health. So, I believe building a defensive structure causes the health to remain at the same percent, which means healing some. From what I saw, the city was healing 20 health per turn both before and after the construction of the wall. Since walls boost max health, I find it most likely that healing is simply the flat 20 health (not percentage base), and instead of increasing the heal amount, the defenses are increasing the value of that healing, by decreasing the damage taken.