Bazaar developer reference

CvPlayer::uninit()

Defined in
CvPlayer.cpp, line 720
Class
CvPlayer
Hook name
CivHooks::CvPlayer_uninit

Hooks

static bool BeforeCvPlayer_uninit(CvPlayer* self);static void AfterCvPlayer_uninit(CvPlayer* self);static void ReplaceCvPlayer_uninit(void (*original)(CvPlayer*), CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_uninit>(host, &BeforeCvPlayer_uninit);CivRegisterAfter<CivHooks::CvPlayer_uninit>(host, &AfterCvPlayer_uninit);CivRegisterReplace<CivHooks::CvPlayer_uninit>(host, &ReplaceCvPlayer_uninit);

Code

720void CvPlayer::uninit()721{722	m_paiNumResourceUsed.clear();723	m_paiNumResourceTotal.clear();724	m_paiResourceGiftedToMinors.clear();725	m_paiResourceExport.clear();726	m_paiResourceImport.clear();727	m_paiResourceFromMinors.clear();728	m_paiResourcesSiphoned.clear();729	m_paiImprovementCount.clear();730	m_paiFreeBuildingCount.clear();731	m_paiFreePromotionCount.clear();732	m_paiUnitCombatProductionModifiers.clear();733	m_paiUnitCombatFreeExperiences.clear();734	m_paiUnitClassCount.clear();735	m_paiUnitClassMaking.clear();736	m_paiBuildingClassCount.clear();737	m_paiBuildingClassMaking.clear();738	m_paiProjectMaking.clear();739	m_paiHurryCount.clear();740	m_paiHurryModifier.clear();741742	m_pabLoyalMember.clear();743	m_pabGetsScienceFromPlayer.clear();744745	m_pPlayerPolicies->Uninit();746	m_pEconomicAI->Uninit();747	m_pMilitaryAI->Uninit();748	m_pCitySpecializationAI->Uninit();749	m_pWonderProductionAI->Uninit();750	m_pGrandStrategyAI->Uninit();751	m_pDiplomacyAI->Uninit();752	m_pReligions->Uninit();753	m_pReligionAI->Uninit();754	m_pEspionage->Uninit();755	m_pEspionageAI->Uninit();756	m_pTrade->Uninit();757	m_pTradeAI->Uninit();758	m_pLeagueAI->Uninit();759	m_pPlayerTechs->Uninit();760	m_pFlavorManager->Uninit();761	m_pTacticalAI->Uninit();762	m_pHomelandAI->Uninit();763	m_pMinorCivAI->Uninit();764	m_pDealAI->Uninit();765	m_pBuilderTaskingAI->Uninit();766	m_pCityConnections->Uninit();767	if(m_pNotifications)768	{769		m_pNotifications->Uninit();770	}771#if defined(MOD_API_PLAYER_LOGS)772	if(m_pDiplomacyLog)773	{774		m_pDiplomacyLog->Uninit();775	}776	if(m_pMilitaryLog)777	{778		m_pMilitaryLog->Uninit();779	}780#endif781	if(m_pDiplomacyRequests)782	{783		m_pDiplomacyRequests->Uninit();784	}785	m_pTreasury->Uninit();786	m_pTraits->Uninit();787788	if(m_pDangerPlots)789	{790		m_pDangerPlots->Uninit();791	}792793	m_ppaaiSpecialistExtraYield.clear();794#if defined(MOD_API_UNIFIED_YIELDS) && defined(MOD_API_PLOT_YIELDS)795	m_ppiPlotYieldChange.clear();796#endif797#if defined(MOD_API_UNIFIED_YIELDS)798	m_ppiFeatureYieldChange.clear();799	m_ppiResourceYieldChange.clear();800	m_ppiTerrainYieldChange.clear();801	m_ppiTradeRouteYieldChange.clear();802	m_ppiSpecialistYieldChange.clear();803	m_ppiGreatPersonExpendedYield.clear();804	m_piGoldenAgeGreatPersonRateModifier.clear();805	m_ppiUnimprovedFeatureYieldChange.clear();806	m_ppiCityYieldFromUnimprovedFeature.clear();807	m_piYieldFromKills.clear();808	m_piYieldFromBarbarianKills.clear();809	m_ppiBuildingClassYieldChange.clear();810#endif811	m_ppaaiImprovementYieldChange.clear();812	m_ppaaiBuildingClassYieldMod.clear();813814	m_UnitCycle.Clear();815816	m_researchQueue.clear();817818	m_cityNames.clear();819820	m_cities.Uninit();821822	m_units.Uninit();823824	// loop through all entries freeing them up825	std::map<int , CvAIOperation*>::iterator iter;826	for(iter = m_AIOperations.begin(); iter != m_AIOperations.end(); ++iter)827	{828		delete(iter->second);829	}830	m_AIOperations.clear();831832	m_aiPlots.clear();833	m_bfEverConqueredBy.ClearAll();834835	FAutoArchive& archive = getSyncArchive();836	archive.clearDelta();837838	m_iStartingX = INVALID_PLOT_COORD;839	m_iStartingY = INVALID_PLOT_COORD;840	m_iTotalPopulation = 0;841	m_iTotalLand = 0;842	m_iTotalLandScored = 0;843	m_iCityConnectionHappiness = 0;844	m_iJONSCulturePerTurnForFree = 0;845	m_iJONSCulturePerTurnFromMinorCivs = 0;846	m_iJONSCultureCityModifier = 0;847	m_iJONSCulture = 0;848	m_iJONSCultureEverGenerated = 0;849	m_iCulturePerWonder = 0;850	m_iCultureWonderMultiplier = 0;851	m_iCulturePerTechResearched = 0;852	m_iFaith = 0;853	m_iFaithEverGenerated = 0;854	m_iHappiness = 0;855	m_iUprisingCounter = 0;856	m_iExtraHappinessPerLuxury = 0;857	m_iUnhappinessFromUnits = 0;858	m_iUnhappinessFromUnitsMod = 0;859	m_iUnhappinessMod = 0;860	m_iCityCountUnhappinessMod = 0;861	m_iOccupiedPopulationUnhappinessMod = 0;862	m_iCapitalUnhappinessMod = 0;863	m_iCityRevoltCounter = 0;864	m_iHappinessPerGarrisonedUnitCount = 0;865	m_iHappinessPerTradeRouteCount = 0;866	m_iHappinessPerXPopulation = 0;867	m_iHappinessFromLeagues = 0;868	m_iEspionageModifier = 0;869	m_iSpyStartingRank = 0;870#if defined(MOD_RELIGION_CONVERSION_MODIFIERS)871	m_iConversionModifier = 0;872#endif873	m_iExtraLeagueVotes = 0;874	m_iSpecialPolicyBuildingHappiness = 0;875	m_iWoundedUnitDamageMod = 0;876	m_iUnitUpgradeCostMod = 0;877	m_iBarbarianCombatBonus = 0;878	m_iAlwaysSeeBarbCampsCount = 0;879	m_iHappinessFromBuildings = 0;880	m_iHappinessPerCity = 0;881	m_iHappinessPerXPolicies = 0;882	m_iAdvancedStartPoints = -1;883	m_iAttackBonusTurns = 0;884	m_iCultureBonusTurns = 0;885	m_iTourismBonusTurns = 0;886	m_iGoldenAgeProgressMeter = 0;887	m_iGoldenAgeMeterMod = 0;888	m_iNumGoldenAges = 0;889	m_iGoldenAgeTurns = 0;890	m_iNumUnitGoldenAges = 0;891	m_iStrikeTurns = 0;892	m_iGoldenAgeModifier = 0;893#if defined(MOD_GLOBAL_TRULY_FREE_GP)894	m_iFreeGreatPeopleCreated = 0;895	m_iFreeGreatGeneralsCreated = 0;896	m_iFreeGreatAdmiralsCreated = 0;897#if defined(MOD_GLOBAL_SEPARATE_GP_COUNTERS)898	m_iFreeGreatMerchantsCreated = 0;899	m_iFreeGreatScientistsCreated = 0;900	m_iFreeGreatEngineersCreated = 0;901#endif902	m_iFreeGreatWritersCreated = 0;903	m_iFreeGreatArtistsCreated = 0;904	m_iFreeGreatMusiciansCreated = 0;905#endif906	m_iGreatPeopleCreated = 0;907	m_iGreatGeneralsCreated = 0;908	m_iGreatAdmiralsCreated = 0;909#if defined(MOD_GLOBAL_SEPARATE_GP_COUNTERS)910	m_iGreatMerchantsCreated = 0;911	m_iGreatScientistsCreated = 0;912	m_iGreatEngineersCreated = 0;913#endif914	m_iGreatWritersCreated = 0;915	m_iGreatArtistsCreated = 0;916	m_iGreatMusiciansCreated = 0;917	m_iMerchantsFromFaith = 0;918	m_iScientistsFromFaith = 0;919	m_iWritersFromFaith = 0;920	m_iArtistsFromFaith = 0;921	m_iMusiciansFromFaith = 0;922	m_iGeneralsFromFaith = 0;923	m_iAdmiralsFromFaith = 0;924	m_iEngineersFromFaith = 0;925	m_iGreatPeopleThresholdModifier = 0;926	m_iGreatGeneralsThresholdModifier = 0;927	m_iGreatAdmiralsThresholdModifier = 0;928	m_iGreatGeneralCombatBonus = 0;929	m_iAnarchyNumTurns = 0;930	m_iPolicyCostModifier = 0;931	m_iGreatPeopleRateModifier = 0;932	m_iGreatPeopleRateModFromBldgs = 0;933	m_iGreatGeneralRateModifier = 0;934	m_iGreatGeneralRateModFromBldgs = 0;935	m_iDomesticGreatGeneralRateModifier = 0;936	m_iDomesticGreatGeneralRateModFromBldgs = 0;937	m_iGreatAdmiralRateModifier = 0;938	m_iGreatWriterRateModifier = 0;939	m_iGreatArtistRateModifier = 0;940	m_iGreatMusicianRateModifier = 0;941	m_iGreatMerchantRateModifier = 0;942	m_iGreatScientistRateModifier = 0;943	m_iGreatScientistBeakerModifier = 0;944	m_iGreatEngineerRateModifier = 0;945	m_iGreatPersonExpendGold = 0;946	m_iMaxGlobalBuildingProductionModifier = 0;947	m_iMaxTeamBuildingProductionModifier = 0;948	m_iMaxPlayerBuildingProductionModifier = 0;949	m_iFreeExperience = 0;950	m_iFreeExperienceFromBldgs = 0;951	m_iFreeExperienceFromMinors = 0;952	m_iFeatureProductionModifier = 0;953	m_iWorkerSpeedModifier = 0;954	m_iImprovementCostModifier = 0;955	m_iImprovementUpgradeRateModifier = 0;956	m_iSpecialistProductionModifier = 0;957	m_iMilitaryProductionModifier = 0;958	m_iSpaceProductionModifier = 0;959	m_iCityDefenseModifier = 0;960	m_iUnitFortificationModifier = 0;961	m_iUnitBaseHealModifier = 0;962	m_iWonderProductionModifier = 0;963	m_iSettlerProductionModifier = 0;964	m_iCapitalSettlerProductionModifier = 0;965	m_iUnitProductionMaintenanceMod = 0;966	m_iPolicyCostBuildingModifier = 0;967	m_iPolicyCostMinorCivModifier = 0;968	m_iInfluenceSpreadModifier = 0;969	m_iExtraVotesPerDiplomat = 0;970	m_iNumNukeUnits = 0;971	m_iNumOutsideUnits = 0;972	m_iBaseFreeUnits = 0;973	m_iBaseFreeMilitaryUnits = 0;974	m_iFreeUnitsPopulationPercent = 0;975	m_iFreeMilitaryUnitsPopulationPercent = 0;976	m_iGoldPerUnit = 0;977	m_iGoldPerMilitaryUnit = 0;978	m_iRouteGoldMaintenanceMod = 0;979	m_iBuildingGoldMaintenanceMod = 0;980	m_iUnitGoldMaintenanceMod = 0;981	m_iUnitSupplyMod = 0;982	m_iExtraUnitCost = 0;983	m_iNumMilitaryUnits = 0;984	m_iHappyPerMilitaryUnit = 0;985	m_iHappinessToCulture = 0;986	m_iHappinessToScience = 0;987	m_iHalfSpecialistUnhappinessCount = 0;988	m_iHalfSpecialistFoodCount = 0;989	m_iMilitaryFoodProductionCount = 0;990	m_iGoldenAgeCultureBonusDisabledCount = 0;991	m_iSecondReligionPantheonCount = 0;992	m_iEnablesSSPartHurryCount = 0;993	m_iEnablesSSPartPurchaseCount = 0;994	m_iConscriptCount = 0;995	m_iMaxConscript = 0;996	m_iHighestUnitLevel = 1;997	m_iOverflowResearch = 0;998	m_iExpModifier = 0;999	m_iExpInBorderModifier = 0;1000	m_iLevelExperienceModifier = 0;1001	m_iMinorQuestFriendshipMod = 0;1002	m_iMinorGoldFriendshipMod = 0;1003	m_iMinorFriendshipMinimum = 0;1004	m_iMinorFriendshipDecayMod = 0;1005	m_iMinorScienceAlliesCount = 0;1006	m_iMinorResourceBonusCount = 0;1007	m_iAbleToAnnexCityStatesCount = 0;1008	m_iCultureBombTimer = 0;1009	m_iConversionTimer = 0;1010	m_iCapitalCityID = FFreeList::INVALID_INDEX;1011	m_iCitiesLost = 0;1012	m_iMilitaryMight = 0;1013	m_iEconomicMight = 0;1014	m_iTurnMightRecomputed = -1;1015	m_iNewCityExtraPopulation = 0;1016	m_iFreeFoodBox = 0;1017	m_iScenarioScore1 = 0;1018	m_iScenarioScore2 = 0;1019	m_iScenarioScore3 = 0;1020	m_iScenarioScore4 = 0;1021	m_iScoreFromFutureTech = 0;1022	m_iCombatExperience = 0;1023	m_iLifetimeCombatExperience = 0;1024	m_iNavalCombatExperience = 0;1025#if defined(MOD_UNITS_XP_TIMES_100)1026	m_iCombatExperienceTimes100 = 0;1027	m_iLifetimeCombatExperienceTimes100 = 0;1028	m_iNavalCombatExperienceTimes100 = 0;1029#endif1030	m_iBorderObstacleCount = 0;1031	m_iPopRushHurryCount = 0;1032	m_uiStartTime = 0;1033	m_iTotalImprovementsBuilt = 0;1034	m_iNextOperationID = 0;1035	m_iCostNextPolicy = 0;1036	m_iNumBuilders = 0;1037	m_iMaxNumBuilders = 0;1038	m_iCityStrengthMod = 0;1039	m_iCityGrowthMod = 0;1040	m_iCapitalGrowthMod = 0;1041	m_iNumPlotsBought = 0;1042	m_iPlotGoldCostMod = 0;1043#if defined(MOD_TRAITS_CITY_WORKING) || defined(MOD_BUILDINGS_CITY_WORKING) || defined(MOD_POLICIES_CITY_WORKING) || defined(MOD_TECHS_CITY_WORKING)1044	m_iCityWorkingChange = 0;1045#endif1046#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)1047	m_iCityAutomatonWorkersChange = 0;1048#endif1049	m_iPlotCultureCostModifier = 0;1050	m_iPlotCultureExponentModifier = 0;1051	m_iNumCitiesPolicyCostDiscount = 0;1052	m_iGarrisonedCityRangeStrikeModifier = 0;1053	m_iGarrisonFreeMaintenanceCount = 0;1054	m_iNumCitiesFreeCultureBuilding = 0;1055	m_iNumCitiesFreeFoodBuilding = 0;1056	m_iUnitPurchaseCostModifier = 0;1057	m_iAllFeatureProduction = 0;1058	m_iCityDistanceHighwaterMark = 1;1059	m_iOriginalCapitalX = -1;1060	m_iOriginalCapitalY = -1;1061	m_iNumWonders = 0;1062	m_iNumPolicies = 0;1063	m_iNumGreatPeople = 0;1064	m_iHolyCityID = -1;1065	m_iTurnsSinceSettledLastCity = -1;1066	m_iNumNaturalWondersDiscoveredInArea = 0;1067	m_iStrategicResourceMod = 0;1068	m_iSpecialistCultureChange = 0;1069	m_iGreatPeopleSpawnCounter = 0;1070	m_iFreeTechCount = 0;1071	m_iMedianTechPercentage = 50;1072	m_iNumFreePolicies = 0;1073	m_iNumFreePoliciesEver = 0;1074	m_iNumFreeTenets = 0;1075	m_iNumFreeGreatPeople = 0;1076	m_iNumMayaBoosts = 0;1077	m_iNumFaithGreatPeople = 0;1078	m_iNumArchaeologyChoices = 0;1079	m_eFaithPurchaseType = NO_AUTOMATIC_FAITH_PURCHASE;1080	m_iFaithPurchaseIndex = 0;1081	m_iMaxEffectiveCities = 1;1082	m_iLastSliceMoved = 0;10831084	m_bHasBetrayedMinorCiv = false;1085	m_bAlive = false;1086	m_bEverAlive = false;1087	m_bBeingResurrected = false;1088	m_bTurnActive = false;1089	m_bAutoMoves = false;1090	m_bProcessedAutoMoves = false;1091	m_bEndTurn = false;1092	m_bDynamicTurnsSimultMode = true;1093	m_bPbemNewTurn = false;1094	m_bExtendedGame = false;1095	m_bFoundedFirstCity = false;1096	m_iNumCitiesFounded = 0;1097	m_bStrike = false;1098	m_bCramped = false;1099	m_bLostCapital = false;1100	m_eConqueror = NO_PLAYER;1101	m_bHasAdoptedStateReligion = false;1102	m_bAlliesGreatPersonBiasApplied = false;1103	m_lastGameTurnInitialAIProcessed = -1;11041105	m_eID = NO_PLAYER;1106}

Calls

Called by