Bazaar developer reference

CvHandicapInfo::CacheResults(Database::Results &, CvDatabaseUtility &)

Defined in
CvInfos.cpp, line 3176
Class
CvHandicapInfo
Hook name
CivHooks::CvHandicapInfo_CacheResults
Overrides
CvBaseInfo::CacheResults(Database::Results &, CvDatabaseUtility &)

Hooks

static bool BeforeCvHandicapInfo_CacheResults(CvHandicapInfo* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static void AfterCvHandicapInfo_CacheResults(CvHandicapInfo* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static bool ReplaceCvHandicapInfo_CacheResults(bool (*original)(CvHandicapInfo*, Database::Results&, CvDatabaseUtility&), CvHandicapInfo* self, Database::Results& kResults, CvDatabaseUtility& kUtility);CivRegisterBefore<CivHooks::CvHandicapInfo_CacheResults>(host, &BeforeCvHandicapInfo_CacheResults);CivRegisterAfter<CivHooks::CvHandicapInfo_CacheResults>(host, &AfterCvHandicapInfo_CacheResults);CivRegisterReplace<CivHooks::CvHandicapInfo_CacheResults>(host, &ReplaceCvHandicapInfo_CacheResults);

Code

3176bool CvHandicapInfo::CacheResults(Database::Results& kResults, CvDatabaseUtility& kUtility)3177{3178	if(!CvBaseInfo::CacheResults(kResults, kUtility))3179		return false;31803181	m_iStartingLocationPercent = kResults.GetInt("StartingLocPercent");3182	m_iAdvancedStartPointsMod = kResults.GetInt("AdvancedStartPointsMod");3183	m_iStartingPolicyPoints = kResults.GetInt("StartingPolicyPoints");3184	m_iHappinessDefault = kResults.GetInt("HappinessDefault");3185	m_iExtraHappinessPerLuxury = kResults.GetInt("ExtraHappinessPerLuxury");3186	m_iNumCitiesUnhappinessMod = kResults.GetInt("NumCitiesUnhappinessMod");3187	m_iPopulationUnhappinessMod = kResults.GetInt("PopulationUnhappinessMod");3188	m_iStartingGold = kResults.GetInt("Gold");3189	m_iGoldFreeUnits = kResults.GetInt("GoldFreeUnits");3190	m_iProductionFreeUnits = kResults.GetInt("ProductionFreeUnits");3191	m_iProductionFreeUnitsPerCity = kResults.GetInt("ProductionFreeUnitsPerCity");3192	m_iProductionFreeUnitsPopulationPercent = kResults.GetInt("ProductionFreeUnitsPopulationPercent");3193	m_iRouteCostPercent = kResults.GetInt("RouteCostPercent");3194	m_iUnitCostPercent = kResults.GetInt("UnitCostPercent");3195	m_iBuildingCostPercent = kResults.GetInt("BuildingCostPercent");3196	m_iResearchPercent = kResults.GetInt("ResearchPercent");3197	m_iPolicyPercent = kResults.GetInt("PolicyPercent");3198	m_iImprovementCostPercent = kResults.GetInt("ImprovementCostPercent");3199	m_iCityProductionNumOptions = kResults.GetInt("CityProductionNumOptionsConsidered");3200	m_iTechNumOptions = kResults.GetInt("TechNumOptionsConsidered");3201	m_iPolicyNumOptions = kResults.GetInt("PolicyNumOptionsConsidered");3202	m_iInflationPercent = kResults.GetInt("InflationPercent");3203	m_iFreeCulturePerTurn = kResults.GetInt("FreeCulturePerTurn");3204	m_iAttitudeChange = kResults.GetInt("AttitudeChange");3205	m_iNoTechTradeModifier = kResults.GetInt("NoTechTradeModifier");3206	m_iTechTradeKnownModifier = kResults.GetInt("TechTradeKnownModifier");3207	m_iBarbCampGold = kResults.GetInt("BarbCampGold");3208	m_iBarbSpawnMod = kResults.GetInt("BarbSpawnMod");3209	m_iBarbarianCombatModifier = kResults.GetInt("BarbarianBonus");3210	m_iAIBarbarianCombatModifier = kResults.GetInt("AIBarbarianBonus");3211	m_iEarliestBarbarianReleaseTurn = kResults.GetInt("EarliestBarbarianReleaseTurn");3212	m_iBarbarianLandTargetRange = kResults.GetInt("BarbarianLandTargetRange");3213	m_iBarbarianSeaTargetRange = kResults.GetInt("BarbarianSeaTargetRange");3214	m_iStartingDefenseUnits = kResults.GetInt("StartingDefenseUnits");3215	m_iStartingWorkerUnits = kResults.GetInt("StartingWorkerUnits");3216	m_iStartingExploreUnits = kResults.GetInt("StartingExploreUnits");3217	m_iAIStartingUnitMultiplier = kResults.GetInt("AIStartingUnitMultiplier");3218	m_iAIStartingDefenseUnits = kResults.GetInt("AIStartingDefenseUnits");3219	m_iAIStartingWorkerUnits = kResults.GetInt("AIStartingWorkerUnits");3220	m_iAIStartingExploreUnits = kResults.GetInt("AIStartingExploreUnits");3221	m_iAIDeclareWarProb = kResults.GetInt("AIDeclareWarProb");3222	m_iAIWorkRateModifier = kResults.GetInt("AIWorkRateModifier");3223	m_iAIUnhappinessPercent = kResults.GetInt("AIUnhappinessPercent");3224	m_iAIGrowthPercent = kResults.GetInt("AIGrowthPercent");3225	m_iAITrainPercent = kResults.GetInt("AITrainPercent");3226	m_iAIWorldTrainPercent = kResults.GetInt("AIWorldTrainPercent");3227	m_iAIConstructPercent = kResults.GetInt("AIConstructPercent");3228	m_iAIWorldConstructPercent = kResults.GetInt("AIWorldConstructPercent");3229	m_iAICreatePercent = kResults.GetInt("AICreatePercent");3230	m_iAIWorldCreatePercent = kResults.GetInt("AIWorldCreatePercent");3231	m_iAIBuildingCostPercent = kResults.GetInt("AIBuildingCostPercent");3232	m_iAIUnitCostPercent = kResults.GetInt("AIUnitCostPercent");3233	m_iAIUnitSupplyPercent = kResults.GetInt("AIUnitSupplyPercent");3234	m_iAIUnitUpgradePercent = kResults.GetInt("AIUnitUpgradePercent");3235	m_iAIInflationPercent = kResults.GetInt("AIInflationPercent");3236	m_iAIPerEraModifier = kResults.GetInt("AIPerEraModifier");3237	m_iAIAdvancedStartPercent = kResults.GetInt("AIAdvancedStartPercent");3238	m_iAIFreeXP = kResults.GetInt("AIFreeXP");3239	m_iAIFreeXPPercent = kResults.GetInt("AIFreeXPPercent");32403241	//Arrays3242	const char* szHandicapType = GetType();32433244	//Goodies3245	{3246		//First find out how many goodies there are.3247		Database::SingleResult kCount("count(*)");3248		if(DB.SelectAt(kCount, "HandicapInfo_Goodies", "HandicapType", szHandicapType))3249		{3250			m_iNumGoodies = kCount.GetInt(0);32513252		}32533254		m_piGoodies = FNEW(int[m_iNumGoodies], c_eCiv5GameplayDLL, 0);3255		Database::Results kArrayResults;3256		char szSQL[512];3257		sprintf_s(szSQL, "select GoodyHuts.ID from HandicapInfo_Goodies inner join GoodyHuts on GoodyType = GoodyHuts.Type where HandicapType = '%s';", szHandicapType);32583259		if(DB.Execute(kArrayResults, szSQL))3260		{3261			int i = 0;3262			while(kArrayResults.Step())3263			{3264				m_piGoodies[i++] = kArrayResults.GetInt(0);3265			}3266		}32673268	}32693270	kUtility.PopulateArrayByExistence(m_pbFreeTechs, "Technologies", "HandicapInfo_FreeTechs", "TechType", "HandicapType", szHandicapType);3271	kUtility.PopulateArrayByExistence(m_pbAIFreeTechs, "Technologies", "HandicapInfo_AIFreeTechs", "TechType", "HandicapType", szHandicapType);32723273	return true;3274}

Calls