Code
139CvPlayer::CvPlayer() :140 m_syncArchive(*this)141 , m_iStartingX("CvPlayer::m_iStartingX", m_syncArchive)142 , m_iStartingY("CvPlayer::m_iStartingY", m_syncArchive)143 , m_iTotalPopulation("CvPlayer::m_iTotalPopulation", m_syncArchive, true)144 , m_iTotalLand("CvPlayer::m_iTotalLand", m_syncArchive)145 , m_iTotalLandScored("CvPlayer::m_iTotalLandScored", m_syncArchive)146 , m_iJONSCulturePerTurnForFree("CvPlayer::m_iJONSCulturePerTurnForFree", m_syncArchive)147 , m_iJONSCulturePerTurnFromMinorCivs("CvPlayer::m_iJONSCulturePerTurnFromMinorCivs", m_syncArchive)148 , m_iJONSCultureCityModifier("CvPlayer::m_iJONSCultureCityModifier", m_syncArchive)149 , m_iJONSCulture("CvPlayer::m_iJONSCulture", m_syncArchive, true)150 , m_iJONSCultureEverGenerated("CvPlayer::m_iJONSCulture", m_syncArchive)151 , m_iCulturePerWonder("CvPlayer::m_iCulturePerWonder", m_syncArchive)152 , m_iCultureWonderMultiplier("CvPlayer::m_iCultureWonderMultiplier", m_syncArchive)153 , m_iCulturePerTechResearched("CvPlayer::m_iCulturePerTechResearched", m_syncArchive)154 , m_iFaith(0)155 , m_iFaithEverGenerated(0)156 , m_iHappiness("CvPlayer::m_iHappiness", m_syncArchive)157 , m_iUprisingCounter("CvPlayer::m_iUprisingCounter", m_syncArchive)158 , m_iExtraHappinessPerLuxury("CvPlayer::m_iExtraHappinessPerLuxury", m_syncArchive)159 , m_iUnhappinessFromUnits("CvPlayer::m_iUnhappinessFromUnits", m_syncArchive)160 , m_iUnhappinessFromUnitsMod("CvPlayer::m_iUnhappinessFromUnitsMod", m_syncArchive)161 , m_iUnhappinessMod("CvPlayer::m_iUnhappinessMod", m_syncArchive)162 , m_iCityCountUnhappinessMod("CvPlayer::m_iCityCountUnhappinessMod", m_syncArchive)163 , m_iOccupiedPopulationUnhappinessMod("CvPlayer::m_iOccupiedPopulationUnhappinessMod", m_syncArchive)164 , m_iCapitalUnhappinessMod("CvPlayer::m_iCapitalUnhappinessMod", m_syncArchive)165 , m_iCityRevoltCounter("CvPlayer::m_iCityRevoltCounter", m_syncArchive)166 , m_iHappinessPerGarrisonedUnitCount("CvPlayer::m_iHappinessPerGarrisonedUnitCount", m_syncArchive)167 , m_iHappinessPerTradeRouteCount("CvPlayer::m_iHappinessPerTradeRouteCount", m_syncArchive)168 , m_iHappinessPerXPopulation(0)169 , m_iHappinessFromLeagues(0)170 , m_iEspionageModifier(0)171 , m_iSpyStartingRank(0)172#if defined(MOD_RELIGION_CONVERSION_MODIFIERS)173 , m_iConversionModifier(0)174#endif175 , m_iExtraLeagueVotes(0)176 , m_iSpecialPolicyBuildingHappiness("CvPlayer::m_iSpecialPolicyBuildingHappiness", m_syncArchive)177 , m_iWoundedUnitDamageMod("CvPlayer::m_iWoundedUnitDamageMod", m_syncArchive)178 , m_iUnitUpgradeCostMod("CvPlayer::m_iUnitUpgradeCostMod", m_syncArchive)179 , m_iBarbarianCombatBonus("CvPlayer::m_iBarbarianCombatBonus", m_syncArchive)180 , m_iAlwaysSeeBarbCampsCount("CvPlayer::m_iAlwaysSeeBarbCampsCount", m_syncArchive)181 , m_iHappinessFromBuildings("CvPlayer::m_iHappinessFromBuildings", m_syncArchive)182 , m_iHappinessPerCity("CvPlayer::m_iHappinessPerCity", m_syncArchive)183 , m_iHappinessPerXPolicies(0)184 , m_iAdvancedStartPoints("CvPlayer::m_iAdvancedStartPoints", m_syncArchive)185 , m_iAttackBonusTurns("CvPlayer::m_iAttackBonusTurns", m_syncArchive)186 , m_iCultureBonusTurns(0)187 , m_iTourismBonusTurns(0)188 , m_iGoldenAgeProgressMeter("CvPlayer::m_iGoldenAgeProgressMeter", m_syncArchive, true)189 , m_iGoldenAgeMeterMod("CvPlayer::m_iGoldenAgeMeterMod", m_syncArchive)190 , m_iNumGoldenAges("CvPlayer::m_iNumGoldenAges", m_syncArchive)191 , m_iGoldenAgeTurns("CvPlayer::m_iGoldenAgeTurns", m_syncArchive)192 , m_iNumUnitGoldenAges("CvPlayer::m_iNumUnitGoldenAges", m_syncArchive)193 , m_iStrikeTurns("CvPlayer::m_iStrikeTurns", m_syncArchive)194 , m_iGoldenAgeModifier("CvPlayer::m_iGoldenAgeModifier", m_syncArchive)195#if defined(MOD_GLOBAL_TRULY_FREE_GP)196 , m_iFreeGreatPeopleCreated(0)197 , m_iFreeGreatGeneralsCreated(0)198 , m_iFreeGreatAdmiralsCreated(0)199#if defined(MOD_GLOBAL_SEPARATE_GP_COUNTERS)200 , m_iFreeGreatMerchantsCreated(0)201 , m_iFreeGreatScientistsCreated(0)202 , m_iFreeGreatEngineersCreated(0)203#endif204 , m_iFreeGreatWritersCreated(0)205 , m_iFreeGreatArtistsCreated(0)206 , m_iFreeGreatMusiciansCreated(0)207#endif208 , m_iGreatPeopleCreated("CvPlayer::m_iGreatPeopleCreated", m_syncArchive)209 , m_iGreatGeneralsCreated("CvPlayer::m_iGreatGeneralsCreated", m_syncArchive)210 , m_iGreatAdmiralsCreated(0)211#if defined(MOD_GLOBAL_SEPARATE_GP_COUNTERS)212 , m_iGreatMerchantsCreated(0)213 , m_iGreatScientistsCreated(0)214 , m_iGreatEngineersCreated(0)215#endif216 , m_iGreatWritersCreated(0)217 , m_iGreatArtistsCreated(0)218 , m_iGreatMusiciansCreated(0)219 , m_iMerchantsFromFaith(0)220 , m_iScientistsFromFaith(0)221 , m_iWritersFromFaith(0)222 , m_iArtistsFromFaith(0)223 , m_iMusiciansFromFaith(0)224 , m_iGeneralsFromFaith(0)225 , m_iAdmiralsFromFaith(0)226 , m_iEngineersFromFaith(0)227 , m_iGreatPeopleThresholdModifier("CvPlayer::m_iGreatPeopleThresholdModifier", m_syncArchive)228 , m_iGreatGeneralsThresholdModifier("CvPlayer::m_iGreatGeneralsThresholdModifier", m_syncArchive)229 , m_iGreatAdmiralsThresholdModifier(0)230 , m_iGreatGeneralCombatBonus(0)231 , m_iAnarchyNumTurns("CvPlayer::m_iAnarchyNumTurns", m_syncArchive)232 , m_iPolicyCostModifier("CvPlayer::m_iPolicyCostModifier", m_syncArchive)233 , m_iGreatPeopleRateModifier("CvPlayer::m_iGreatPeopleRateModifier", m_syncArchive)234 , m_iGreatPeopleRateModFromBldgs("CvPlayer::m_iGreatPeopleRateModFromBldgs", m_syncArchive)235 , m_iGreatGeneralRateModifier("CvPlayer::m_iGreatGeneralRateModifier", m_syncArchive)236 , m_iGreatGeneralRateModFromBldgs("CvPlayer::m_iGreatGeneralRateModFromBldgs", m_syncArchive)237 , m_iDomesticGreatGeneralRateModifier("CvPlayer::m_iDomesticGreatGeneralRateModifier", m_syncArchive)238 , m_iDomesticGreatGeneralRateModFromBldgs("CvPlayer::m_iDomesticGreatGeneralRateModFromBldgs", m_syncArchive)239 , m_iGreatScientistBeakerModifier(0)240 , m_iGreatPersonExpendGold(0)241 , m_iMaxGlobalBuildingProductionModifier("CvPlayer::m_iMaxGlobalBuildingProductionModifier", m_syncArchive)242 , m_iMaxTeamBuildingProductionModifier("CvPlayer::m_iMaxTeamBuildingProductionModifier", m_syncArchive)243 , m_iMaxPlayerBuildingProductionModifier("CvPlayer::m_iMaxPlayerBuildingProductionModifier", m_syncArchive)244 , m_iFreeExperience("CvPlayer::m_iFreeExperience", m_syncArchive)245 , m_iFreeExperienceFromBldgs("CvPlayer::m_iFreeExperienceFromBldgs", m_syncArchive)246 , m_iFreeExperienceFromMinors("CvPlayer::m_iFreeExperienceFromMinors", m_syncArchive)247 , m_iFeatureProductionModifier("CvPlayer::m_iFeatureProductionModifier", m_syncArchive)248 , m_iWorkerSpeedModifier("CvPlayer::m_iWorkerSpeedModifier", m_syncArchive)249 , m_iImprovementCostModifier("CvPlayer::m_iImprovementCostModifier", m_syncArchive)250 , m_iImprovementUpgradeRateModifier("CvPlayer::m_iImprovementUpgradeRateModifier", m_syncArchive)251 , m_iSpecialistProductionModifier("CvPlayer::m_iSpecialistProductionModifier", m_syncArchive)252 , m_iMilitaryProductionModifier("CvPlayer::m_iMilitaryProductionModifier", m_syncArchive)253 , m_iSpaceProductionModifier("CvPlayer::m_iSpaceProductionModifier", m_syncArchive)254 , m_iCityDefenseModifier("CvPlayer::m_iCityDefenseModifier", m_syncArchive)255 , m_iUnitFortificationModifier("CvPlayer::m_iUnitFortificationModifier", m_syncArchive)256 , m_iUnitBaseHealModifier("CvPlayer::m_iUnitBaseHealModifier", m_syncArchive)257 , m_iWonderProductionModifier("CvPlayer::m_iWonderProductionModifier", m_syncArchive)258 , m_iSettlerProductionModifier("CvPlayer::m_iSettlerProductionModifier", m_syncArchive)259 , m_iCapitalSettlerProductionModifier("CvPlayer::m_iCapitalSettlerProductionModifier", m_syncArchive)260 , m_iUnitProductionMaintenanceMod("CvPlayer::m_iUnitProductionMaintenanceMod", m_syncArchive)261 , m_iPolicyCostBuildingModifier("CvPlayer::m_iPolicyCostBuildingModifier", m_syncArchive)262 , m_iPolicyCostMinorCivModifier("CvPlayer::m_iPolicyCostMinorCivModifier", m_syncArchive)263 , m_iInfluenceSpreadModifier(0)264 , m_iExtraVotesPerDiplomat(0)265 , m_iNumNukeUnits("CvPlayer::m_iNumNukeUnits", m_syncArchive)266 , m_iNumOutsideUnits("CvPlayer::m_iNumOutsideUnits", m_syncArchive, true)267 , m_iBaseFreeUnits("CvPlayer::m_iBaseFreeUnits", m_syncArchive)268 , m_iBaseFreeMilitaryUnits("CvPlayer::m_iBaseFreeMilitaryUnits", m_syncArchive)269 , m_iFreeUnitsPopulationPercent("CvPlayer::m_iFreeUnitsPopulationPercent", m_syncArchive)270 , m_iFreeMilitaryUnitsPopulationPercent("CvPlayer::m_iFreeMilitaryUnitsPopulationPercent", m_syncArchive)271 , m_iGoldPerUnit("CvPlayer::m_iGoldPerUnit", m_syncArchive)272 , m_iGoldPerMilitaryUnit("CvPlayer::m_iGoldPerMilitaryUnit", m_syncArchive)273 , m_iRouteGoldMaintenanceMod("CvPlayer::m_iRouteGoldMaintenanceMod", m_syncArchive)274 , m_iBuildingGoldMaintenanceMod("CvPlayer::m_iBuildingGoldMaintenanceMod", m_syncArchive)275 , m_iUnitGoldMaintenanceMod("CvPlayer::m_iUnitGoldMaintenanceMod", m_syncArchive)276 , m_iUnitSupplyMod("CvPlayer::m_iUnitSupplyMod", m_syncArchive)277 , m_iExtraUnitCost("CvPlayer::m_iExtraUnitCost", m_syncArchive)278 , m_iNumMilitaryUnits("CvPlayer::m_iNumMilitaryUnits", m_syncArchive)279 , m_iHappyPerMilitaryUnit("CvPlayer::m_iHappyPerMilitaryUnit", m_syncArchive)280 , m_iHappinessToCulture("CvPlayer::m_iHappinessToCulture", m_syncArchive)281 , m_iHappinessToScience("CvPlayer::m_iHappinessToScience", m_syncArchive)282 , m_iHalfSpecialistUnhappinessCount("CvPlayer::m_iHalfSpecialistUnhappinessCount", m_syncArchive)283 , m_iHalfSpecialistFoodCount("CvPlayer::m_iHalfSpecialistFoodCount", m_syncArchive)284 , m_iMilitaryFoodProductionCount("CvPlayer::m_iMilitaryFoodProductionCount", m_syncArchive)285 , m_iGoldenAgeCultureBonusDisabledCount(0)286 , m_iSecondReligionPantheonCount(0)287 , m_iEnablesSSPartHurryCount(0)288 , m_iEnablesSSPartPurchaseCount(0)289 , m_iConscriptCount("CvPlayer::m_iConscriptCount", m_syncArchive)290 , m_iMaxConscript("CvPlayer::m_iMaxConscript", m_syncArchive)291 , m_iHighestUnitLevel("CvPlayer::m_iHighestUnitLevel", m_syncArchive)292 , m_iOverflowResearch("CvPlayer::m_iOverflowResearch", m_syncArchive, true)293 , m_iExpModifier("CvPlayer::m_iExpModifier", m_syncArchive)294 , m_iExpInBorderModifier("CvPlayer::m_iExpInBorderModifier", m_syncArchive)295 , m_iLevelExperienceModifier("CvPlayer::m_iLevelExperienceModifier", m_syncArchive)296 , m_iMinorQuestFriendshipMod("CvPlayer::m_iMinorQuestFriendshipMod", m_syncArchive)297 , m_iMinorGoldFriendshipMod("CvPlayer::m_iMinorGoldFriendshipMod", m_syncArchive)298 , m_iMinorFriendshipMinimum("CvPlayer::m_iMinorFriendshipMinimum", m_syncArchive)299 , m_iMinorFriendshipDecayMod("CvPlayer::m_iMinorFriendshipDecayMod", m_syncArchive)300 , m_iMinorScienceAlliesCount("CvPlayer::m_iMinorScienceAlliesCount", m_syncArchive)301 , m_iMinorResourceBonusCount("CvPlayer::m_iMinorResourceBonusCount", m_syncArchive)302 , m_iAbleToAnnexCityStatesCount(0)303 , m_iFreeSpecialist("CvPlayer::m_iFreeSpecialist", m_syncArchive)304 , m_iCultureBombTimer("CvPlayer::m_iCultureBombTimer", m_syncArchive)305 , m_iConversionTimer("CvPlayer::m_iConversionTimer", m_syncArchive)306 , m_iCapitalCityID("CvPlayer::m_iCapitalCityID", m_syncArchive)307 , m_iCitiesLost("CvPlayer::m_iCitiesLost", m_syncArchive)308 , m_iMilitaryMight("CvPlayer::m_iMilitaryMight", m_syncArchive)309 , m_iEconomicMight("CvPlayer::m_iEconomicMight", m_syncArchive)310 , m_iTurnMightRecomputed("CvPlayer::m_iTurnMightRecomputed", m_syncArchive)311 , m_iNewCityExtraPopulation("CvPlayer::m_iNewCityExtraPopulation", m_syncArchive)312 , m_iFreeFoodBox("CvPlayer::m_iFreeFoodBox", m_syncArchive)313 , m_iScenarioScore1("CvPlayer::m_iScenarioScore1", m_syncArchive)314 , m_iScenarioScore2("CvPlayer::m_iScenarioScore2", m_syncArchive)315 , m_iScenarioScore3("CvPlayer::m_iScenarioScore3", m_syncArchive)316 , m_iScenarioScore4("CvPlayer::m_iScenarioScore4", m_syncArchive)317 , m_iScoreFromFutureTech("CvPlayer::m_iScoreFromFutureTech", m_syncArchive)318 , m_iCombatExperience("CvPlayer::m_iCombatExperience", m_syncArchive)319 , m_iLifetimeCombatExperience(0)320 , m_iNavalCombatExperience(0)321#if defined(MOD_UNITS_XP_TIMES_100)322 , m_iCombatExperienceTimes100(0)323 , m_iLifetimeCombatExperienceTimes100(0)324 , m_iNavalCombatExperienceTimes100(0)325#endif326 , m_iPopRushHurryCount("CvPlayer::m_iPopRushHurryCount", m_syncArchive)327 , m_iTotalImprovementsBuilt("CvPlayer::m_iTotalImprovementsBuilt", m_syncArchive)328 , m_iNextOperationID("CvPlayer::m_iNextOperationID", m_syncArchive)329 , m_iCostNextPolicy("CvPlayer::m_iCostNextPolicy", m_syncArchive)330 , m_iNumBuilders("CvPlayer::m_iNumBuilders", m_syncArchive, true)331 , m_iMaxNumBuilders("CvPlayer::m_iMaxNumBuilders", m_syncArchive)332 , m_iCityStrengthMod("CvPlayer::m_iCityStrengthMod", m_syncArchive)333 , m_iCityGrowthMod("CvPlayer::m_iCityGrowthMod", m_syncArchive)334 , m_iCapitalGrowthMod("CvPlayer::m_iCapitalGrowthMod", m_syncArchive)335 , m_iNumPlotsBought("CvPlayer::m_iNumPlotsBought", m_syncArchive)336 , m_iPlotGoldCostMod("CvPlayer::m_iPlotGoldCostMod", m_syncArchive)337#if defined(MOD_TRAITS_CITY_WORKING) || defined(MOD_BUILDINGS_CITY_WORKING) || defined(MOD_POLICIES_CITY_WORKING) || defined(MOD_TECHS_CITY_WORKING)338 , m_iCityWorkingChange(0)339#endif340#if defined(MOD_TRAITS_CITY_AUTOMATON_WORKERS) || defined(MOD_BUILDINGS_CITY_AUTOMATON_WORKERS) || defined(MOD_POLICIES_CITY_AUTOMATON_WORKERS) || defined(MOD_TECHS_CITY_AUTOMATON_WORKERS)341 , m_iCityAutomatonWorkersChange(0)342#endif343 , m_iPlotCultureCostModifier("CvPlayer::m_iPlotCultureCostModifier", m_syncArchive)344 , m_iPlotCultureExponentModifier(0)345 , m_iNumCitiesPolicyCostDiscount(0)346 , m_iGarrisonedCityRangeStrikeModifier(0)347 , m_iGarrisonFreeMaintenanceCount(0)348 , m_iNumCitiesFreeCultureBuilding(0)349 , m_iNumCitiesFreeFoodBuilding(0)350 , m_iUnitPurchaseCostModifier("CvPlayer::m_iUnitPurchaseCostModifier", m_syncArchive)351 , m_iAllFeatureProduction("CvPlayer::m_iAllFeatureProduction", m_syncArchive)352 , m_iCityDistanceHighwaterMark("CvPlayer::m_iCityDistanceHighwaterMark", m_syncArchive)353 , m_iOriginalCapitalX("CvPlayer::m_iOriginalCapitalX", m_syncArchive)354 , m_iOriginalCapitalY("CvPlayer::m_iOriginalCapitalY", m_syncArchive)355 , m_iNumWonders("CvPlayer::m_iNumWonders", m_syncArchive)356 , m_iNumPolicies("CvPlayer::m_iNumPolicies", m_syncArchive)357 , m_iNumGreatPeople("CvPlayer::m_iNumGreatPeople", m_syncArchive)358 , m_uiStartTime("CvPlayer::m_uiStartTime", m_syncArchive) // XXX save these?359 , m_bHasBetrayedMinorCiv("CvPlayer::m_bHasBetrayedMinorCiv", m_syncArchive)360 , m_bAlive("CvPlayer::m_bAlive", m_syncArchive)361 , m_bEverAlive("CvPlayer::m_bEverAlive", m_syncArchive)362 , m_bBeingResurrected(false)363 , m_bTurnActive("CvPlayer::m_bTurnActive", m_syncArchive, false, true)364 , m_bAutoMoves("CvPlayer::m_bAutoMoves", m_syncArchive, false, true)365 , m_bEndTurn("CvPlayer::m_bEndTurn", m_syncArchive, false, true)366 , m_bDynamicTurnsSimultMode(true)367 , m_bPbemNewTurn("CvPlayer::m_bPbemNewTurn", m_syncArchive)368 , m_bExtendedGame("CvPlayer::m_bExtendedGame", m_syncArchive)369 , m_bFoundedFirstCity("CvPlayer::m_bFoundedFirstCity", m_syncArchive)370 , m_iNumCitiesFounded(0)371 , m_bStrike("CvPlayer::m_bStrike", m_syncArchive)372 , m_bCramped("CvPlayer::m_bCramped", m_syncArchive)373 , m_bLostCapital("CvPlayer::m_bLostCapital", m_syncArchive)374 , m_eConqueror(NO_PLAYER)375 , m_bHasAdoptedStateReligion("CvPlayer::m_bHasAdoptedStateReligion", m_syncArchive)376 , m_bAlliesGreatPersonBiasApplied("CvPlayer::m_bAlliesGreatPersonBiasApplied", m_syncArchive)377 , m_eID("CvPlayer::m_eID", m_syncArchive)378 , m_ePersonalityType("CvPlayer::m_ePersonalityType", m_syncArchive)379 , m_aiCityYieldChange("CvPlayer::m_aiCityYieldChange", m_syncArchive)380 , m_aiCoastalCityYieldChange("CvPlayer::m_aiCoastalCityYieldChange", m_syncArchive)381 , m_aiCapitalYieldChange("CvPlayer::m_aiCapitalYieldChange", m_syncArchive)382 , m_aiCapitalYieldPerPopChange("CvPlayer::m_aiCapitalYieldPerPopChange", m_syncArchive)383 , m_aiSeaPlotYield("CvPlayer::m_aiSeaPlotYield", m_syncArchive)384 , m_aiYieldRateModifier("CvPlayer::m_aiYieldRateModifier", m_syncArchive)385 , m_aiCapitalYieldRateModifier("CvPlayer::m_aiCapitalYieldRateModifier", m_syncArchive)386 , m_aiExtraYieldThreshold("CvPlayer::m_aiExtraYieldThreshold", m_syncArchive)387 , m_aiSpecialistExtraYield("CvPlayer::m_aiSpecialistExtraYield", m_syncArchive)388 , m_aiProximityToPlayer("CvPlayer::m_aiProximityToPlayer", m_syncArchive, true)389 , m_aiResearchAgreementCounter("CvPlayer::m_aiResearchAgreementCounter", m_syncArchive)390 , m_aiIncomingUnitTypes("CvPlayer::m_aiIncomingUnitTypes", m_syncArchive, true)391 , m_aiIncomingUnitCountdowns("CvPlayer::m_aiIncomingUnitCountdowns", m_syncArchive, true)392 , m_aiMinorFriendshipAnchors("CvPlayer::m_aiMinorFriendshipAnchors", m_syncArchive, true)393 , m_aOptions("CvPlayer::m_aOptions", m_syncArchive, true)394 , m_strReligionKey("CvPlayer::m_strReligionKey", m_syncArchive)395 , m_strScriptData("CvPlayer::m_strScriptData", m_syncArchive)396 , m_paiNumResourceUsed("CvPlayer::m_paiNumResourceUsed", m_syncArchive)397 , m_paiNumResourceTotal("CvPlayer::m_paiNumResourceTotal", m_syncArchive)398 , m_paiResourceGiftedToMinors("CvPlayer::m_paiResourceGiftedToMinors", m_syncArchive)399 , m_paiResourceExport("CvPlayer::m_paiResourceExport", m_syncArchive)400 , m_paiResourceImport("CvPlayer::m_paiResourceImport", m_syncArchive)401 , m_paiResourceFromMinors("CvPlayer::m_paiResourceFromMinors", m_syncArchive)402 , m_paiResourcesSiphoned("CvPlayer::m_paiResourcesSiphoned", m_syncArchive)403 , m_paiImprovementCount("CvPlayer::m_paiImprovementCount", m_syncArchive)404 , m_paiFreeBuildingCount("CvPlayer::m_paiFreeBuildingCount", m_syncArchive)405 , m_paiFreePromotionCount("CvPlayer::m_paiFreePromotionCount", m_syncArchive)406 , m_paiUnitCombatProductionModifiers("CvPlayer::m_paiUnitCombatProductionModifiers", m_syncArchive)407 , m_paiUnitCombatFreeExperiences("CvPlayer::m_paiUnitCombatFreeExperiences", m_syncArchive)408 , m_paiUnitClassCount("CvPlayer::m_paiUnitClassCount", m_syncArchive, true)409 , m_paiUnitClassMaking("CvPlayer::m_paiUnitClassMaking", m_syncArchive, true)410 , m_paiBuildingClassCount("CvPlayer::m_paiBuildingClassCount", m_syncArchive)411 , m_paiBuildingClassMaking("CvPlayer::m_paiBuildingClassMaking", m_syncArchive, true)412 , m_paiProjectMaking("CvPlayer::m_paiProjectMaking", m_syncArchive)413 , m_paiHurryCount("CvPlayer::m_paiHurryCount", m_syncArchive)414 , m_paiHurryModifier("CvPlayer::m_paiHurryModifier", m_syncArchive)415 , m_pabLoyalMember("CvPlayer::m_pabLoyalMember", m_syncArchive)416 , m_pabGetsScienceFromPlayer("CvPlayer::m_pabGetsScienceFromPlayer", m_syncArchive)417 , m_ppaaiSpecialistExtraYield("CvPlayer::m_ppaaiSpecialistExtraYield", m_syncArchive)418#if defined(MOD_API_UNIFIED_YIELDS)419 , m_piGoldenAgeGreatPersonRateModifier(NULL)420 , m_piYieldFromKills(NULL)421 , m_piYieldFromBarbarianKills(NULL)422 , m_piYieldChangeTradeRoute(NULL)423 , m_piYieldChangesNaturalWonder(NULL)424 , m_piYieldChangeWorldWonder(NULL)425 , m_ppiBuildingClassYieldChange("CvPlayer::m_ppaaiBuildingClassYieldChange", m_syncArchive)426#endif427 , m_ppaaiImprovementYieldChange("CvPlayer::m_ppaaiImprovementYieldChange", m_syncArchive)428 , m_ppaaiBuildingClassYieldMod("CvPlayer::m_ppaaiBuildingClassYieldMod", m_syncArchive)429 , m_UnitCycle(this)430 , m_bEverPoppedGoody("CvPlayer::m_bEverPoppedGoody", m_syncArchive)431 , m_bEverTrainedBuilder("CvPlayer::m_bEverTrainedBuilder", m_syncArchive)432 , m_iCityConnectionHappiness("CvPlayer::m_iCityConnectionHappiness", m_syncArchive)433 , m_iHolyCityID("CvPlayer::m_iHolyCityID", m_syncArchive)434 , m_iTurnsSinceSettledLastCity("CvPlayer::m_iTurnsSinceSettledLastCity", m_syncArchive)435 , m_iNumNaturalWondersDiscoveredInArea("CvPlayer::m_iNumNaturalWondersDiscoveredInArea", m_syncArchive)436 , m_iStrategicResourceMod("CvPlayer::m_iStrategicResourceMod", m_syncArchive)437 , m_iSpecialistCultureChange("CvPlayer::m_iSpecialistCultureChange", m_syncArchive)438 , m_iGreatPeopleSpawnCounter("CvPlayer::m_iGreatPeopleSpawnCounter", m_syncArchive)439 , m_iFreeTechCount("CvPlayer::m_iFreeTechCount", m_syncArchive, true)440 , m_iMedianTechPercentage(50)441 , m_iNumFreePolicies("CvPlayer::m_iNumFreePolicies", m_syncArchive)442 , m_iNumFreePoliciesEver("CvPlayer::m_iNumFreePoliciesEver", m_syncArchive)443 , m_iNumFreeTenets(0)444 , m_iMaxEffectiveCities(1)445 , m_iLastSliceMoved(0)446 , m_eEndTurnBlockingType(NO_ENDTURN_BLOCKING_TYPE)447 , m_iEndTurnBlockingNotificationIndex(0)448 , m_activeWaitingForEndTurnMessage(false)449 , m_endTurnBusyUnitUpdatesLeft(0)450 , m_lastGameTurnInitialAIProcessed(-1)451 , m_iNumFreeGreatPeople(0)452 , m_iNumMayaBoosts(0)453 , m_iNumFaithGreatPeople(0)454 , m_iNumArchaeologyChoices(0)455 , m_eFaithPurchaseType(NO_AUTOMATIC_FAITH_PURCHASE)456 , m_iFaithPurchaseIndex(0)457 , m_bProcessedAutoMoves(false)458 , m_kPlayerAchievements(*this)459{460 m_pPlayerPolicies = FNEW(CvPlayerPolicies, c_eCiv5GameplayDLL, 0);461 m_pEconomicAI = FNEW(CvEconomicAI, c_eCiv5GameplayDLL, 0);462 m_pMilitaryAI = FNEW(CvMilitaryAI, c_eCiv5GameplayDLL, 0);463 m_pCitySpecializationAI = FNEW(CvCitySpecializationAI, c_eCiv5GameplayDLL, 0);464 m_pWonderProductionAI = FNEW(CvWonderProductionAI(this, GC.GetGameBuildings()), c_eCiv5GameplayDLL, 0);465 m_pGrandStrategyAI = FNEW(CvGrandStrategyAI, c_eCiv5GameplayDLL, 0);466 m_pDiplomacyAI = FNEW(CvDiplomacyAI, c_eCiv5GameplayDLL, 0);467 m_pReligions = FNEW(CvPlayerReligions, c_eCiv5GameplayDLL, 0);468 m_pReligionAI = FNEW(CvReligionAI, c_eCiv5GameplayDLL, 0);469 m_pPlayerTechs = FNEW(CvPlayerTechs, c_eCiv5GameplayDLL, 0);470 m_pFlavorManager = FNEW(CvFlavorManager, c_eCiv5GameplayDLL, 0);471 m_pTacticalAI = FNEW(CvTacticalAI, c_eCiv5GameplayDLL, 0);472 m_pHomelandAI = FNEW(CvHomelandAI, c_eCiv5GameplayDLL, 0);473 m_pMinorCivAI = FNEW(CvMinorCivAI, c_eCiv5GameplayDLL, 0);474 m_pDealAI = FNEW(CvDealAI, c_eCiv5GameplayDLL, 0);475 m_pBuilderTaskingAI = FNEW(CvBuilderTaskingAI, c_eCiv5GameplayDLL, 0);476 m_pDangerPlots = FNEW(CvDangerPlots, c_eCiv5GameplayDLL, 0);477 m_pCityConnections = FNEW(CvCityConnections, c_eCiv5GameplayDLL, 0);478 m_pTreasury = FNEW(CvTreasury, c_eCiv5GameplayDLL, 0);479 m_pTraits = FNEW(CvPlayerTraits, c_eCiv5GameplayDLL, 0);480 m_pEspionage = FNEW(CvPlayerEspionage, c_eCiv5GameplayDLL, 0);481 m_pEspionageAI = FNEW(CvEspionageAI, c_eCiv5GameplayDLL, 0);482 m_pTrade = FNEW(CvPlayerTrade, c_eCiv5GameplayDLL, 0);483 m_pTradeAI = FNEW(CvTradeAI, c_eCiv5GameplayDLL, 0);484 m_pLeagueAI = FNEW(CvLeagueAI, c_eCiv5GameplayDLL, 0);485 m_pCulture = FNEW(CvPlayerCulture, c_eCiv5GameplayDLL, 0);486487 m_pNotifications = NULL;488#if defined(MOD_API_PLAYER_LOGS)489 m_pDiplomacyLog = NULL;490 m_pMilitaryLog = NULL;491#endif492 m_pDiplomacyRequests = NULL;493494 m_iNextOperationID = 0;495496 m_aiPlots.clear();497 m_bfEverConqueredBy.ClearAll();498499 m_aiGreatWorkYieldChange.clear();500 m_aiSiphonLuxuryCount.clear();501502 reset(NO_PLAYER, true);503}