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
- CvCity::IsExtraLuxuryResources()
- CvGlobals::getResourceInfo(ResourceTypes)
- CvPlayer::GetPlayerPolicies() const
- CvPlayer::GetPlayerTraits() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerPolicies::HasPolicy(PolicyTypes) const
- CvPlayerTraits::GetResourceQuantityModifier(ResourceTypes) const
- CvPlayerTraits::GetStrategicResourceQuantityModifier(TerrainTypes) const
- CvPlot::getResourceType(TeamTypes) const
- CvPlot::getTeam() const
- CvPlot::getTerrainType() const
- CvPlot::getWorkingCity() const
- CvResourceInfo::getPolicyReveal() const
- CvResourceInfo::getResourceUsage() const
- CvResourceInfo::getTechReveal() const
- CvTeam::getTeam(TeamTypes)
- CvTeam::GetTeamTechs() const
- CvTeamTechs::HasTech(TechTypes) const
Called by
- CvCity::PreKill(bool)
- CvCity::init(int, PlayerTypes, int, int, bool, bool, ReligionTypes, const char *)
- CvCity::processBuilding(BuildingTypes, int, bool, bool, bool)
- CvPlot::SetImprovementPillaged(bool, bool)
- CvPlot::setImprovementType(ImprovementTypes, PlayerTypes)
- CvPlot::setOwner(PlayerTypes, int, bool, bool)
- CvTeam::setHasTech(TechTypes, bool, PlayerTypes, bool, bool)