One suggestion for the negative happiness bonuses, they should be cummulative from city size to city size.
Currently the first level where they get a happiness penalty they get -2 if they don't have a farm. At the next level the penalty is -2 if they don't have a farm+1.
So in the governors villa you have:
Code:
happiness_bonus bonus -2 requires building_present_min_level core_building governors_villa and not building_present_min_level hinterland_farms farms
And at the governors palace you have:
Code:
happiness_bonus bonus -2 requires building_present_min_level core_building governors_palace and not building_present_min_level hinterland_farms farms+1
I think for the governors palace it should be:
Code:
happiness_bonus bonus -2 requires building_present_min_level core_building governors_palace and not building_present_min_level hinterland_farms farms
happiness_bonus bonus -2 requires building_present_min_level core_building governors_palace and not building_present_min_level hinterland_farms farms+1
This way they are penalized for whatever they should have built at lower levels but didn't build.
Also I'm pretty sure you can leave out the part of the condition that is about the core_building since you are putting it in the core_building tree so that condition is not needed.
i.e.
Code:
happiness_bonus bonus -2 requires building_present_min_level core_building governors_villa and not building_present_min_level hinterland_farms farms