Afforess
The White Wizard
You need to add a call to CvTeam::getTechBuildingHappiness/Health(eBuilding) in CvCity::getBuildingHappiness(BuildingTypes eBuilding). Same for health.
Something like this?
Code:
for (iI = 0; iI < GC.getNumTechInfos(); iI++)
{
iHappiness += getNumActiveBuilding((BuildingTypes)iI) * GC.getBuildingInfo((BuildingTypes) iI).getTechHappinessChanges(eTech);
}