Bazaar developer reference

CvCitySiteEvaluator::ComputeTradeableResourceValue(CvPlot *, CvPlayer *)

Defined in
CvSiteEvaluationClasses.cpp, line 1002
Class
CvCitySiteEvaluator
Hook name
CivHooks::CvCitySiteEvaluator_ComputeTradeableResourceValue

Hooks

static bool BeforeCvCitySiteEvaluator_ComputeTradeableResourceValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static void AfterCvCitySiteEvaluator_ComputeTradeableResourceValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static int ReplaceCvCitySiteEvaluator_ComputeTradeableResourceValue(int (*original)(CvCitySiteEvaluator*, CvPlot*, CvPlayer*), CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::CvCitySiteEvaluator_ComputeTradeableResourceValue>(host, &BeforeCvCitySiteEvaluator_ComputeTradeableResourceValue);CivRegisterAfter<CivHooks::CvCitySiteEvaluator_ComputeTradeableResourceValue>(host, &AfterCvCitySiteEvaluator_ComputeTradeableResourceValue);CivRegisterReplace<CivHooks::CvCitySiteEvaluator_ComputeTradeableResourceValue>(host, &ReplaceCvCitySiteEvaluator_ComputeTradeableResourceValue);

Code

1001/// Value of plot for providing tradeable resources1002int CvCitySiteEvaluator::ComputeTradeableResourceValue(CvPlot* pPlot, CvPlayer* pPlayer)1003{1004	int rtnValue = 0;10051006	CvAssert(pPlot);1007	if(!pPlot) return rtnValue;10081009	// If we already own this Tile then we already have access to the Strategic Resource1010	if(pPlot->isOwned())1011	{1012		return rtnValue;1013	}10141015	TeamTypes eTeam = NO_TEAM;1016	if(pPlayer != NULL)1017	{1018		eTeam = pPlayer->getTeam();1019	}10201021	ResourceTypes eResource;1022	eResource = pPlot->getResourceType(eTeam);10231024	if(eResource != NO_RESOURCE)1025	{1026		ResourceUsageTypes eResourceUsage = GC.getResourceInfo(eResource)->getResourceUsage();10271028		// Multiply number of tradeable resources by flavor value1029		if(eResourceUsage == RESOURCEUSAGE_LUXURY || eResourceUsage == RESOURCEUSAGE_STRATEGIC)1030		{1031			rtnValue += pPlot->getNumResource() * m_iFlavorMultiplier[SITE_EVALUATION_RESOURCES];10321033			if(pPlayer)1034			{1035				// If we don't have this resource yet, increase it's value1036				if(pPlayer->getNumResourceTotal(eResource) == 0)1037					rtnValue *= 3;1038			}1039		}1040	}10411042	return rtnValue;1043}

Calls

Called by