Bazaar developer reference

CvPlot::getNumResourceForPlayer(PlayerTypes) const

Defined in
CvPlot.cpp, line 6507
Class
CvPlot
Hook name
CivHooks::CvPlot_getNumResourceForPlayer

Hooks

static bool BeforeCvPlot_getNumResourceForPlayer(const CvPlot* self, PlayerTypes ePlayer, int& result);static void AfterCvPlot_getNumResourceForPlayer(const CvPlot* self, PlayerTypes ePlayer, int& result);static int ReplaceCvPlot_getNumResourceForPlayer(int (*original)(const CvPlot*, PlayerTypes), const CvPlot* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvPlot_getNumResourceForPlayer>(host, &BeforeCvPlot_getNumResourceForPlayer);CivRegisterAfter<CivHooks::CvPlot_getNumResourceForPlayer>(host, &AfterCvPlot_getNumResourceForPlayer);CivRegisterReplace<CivHooks::CvPlot_getNumResourceForPlayer>(host, &ReplaceCvPlot_getNumResourceForPlayer);

Code

6507int CvPlot::getNumResourceForPlayer(PlayerTypes ePlayer) const6508{6509	int iRtnValue = m_iResourceNum;65106511	ResourceTypes eResource = getResourceType(getTeam());6512	if(eResource != NO_RESOURCE)6513	{6514		CvResourceInfo *pkResource = GC.getResourceInfo(eResource);6515		if (pkResource)6516		{6517			if (GET_TEAM(getTeam()).GetTeamTechs()->HasTech((TechTypes) pkResource->getTechReveal()) && 6518				(pkResource->getPolicyReveal() == NO_POLICY || GET_PLAYER(ePlayer).GetPlayerPolicies()->HasPolicy((PolicyTypes)pkResource->getPolicyReveal())))6519			{6520				if(pkResource->getResourceUsage() == RESOURCEUSAGE_STRATEGIC)6521				{6522					int iQuantityMod = GET_PLAYER(ePlayer).GetPlayerTraits()->GetStrategicResourceQuantityModifier(getTerrainType());6523					iRtnValue *= 100 + iQuantityMod;6524					iRtnValue /= 100;6525				}65266527				else if(pkResource->getResourceUsage() == RESOURCEUSAGE_LUXURY)6528				{6529					CvCity* pCity = getWorkingCity();6530					if(pCity)6531					{6532						if(pCity->IsExtraLuxuryResources())6533						{6534							iRtnValue++;6535						}6536					}6537				}65386539				if(GET_PLAYER(ePlayer).GetPlayerTraits()->GetResourceQuantityModifier(eResource) > 0)6540				{6541					int iQuantityMod = GET_PLAYER(ePlayer).GetPlayerTraits()->GetResourceQuantityModifier(eResource);6542					iRtnValue *= 100 + iQuantityMod;6543					iRtnValue /= 100;6544				}6545			}6546		}6547	}65486549	return iRtnValue;6550}

Calls

Called by