本文整理汇总了C++中CvCity::GetExtraBuildingMaintenance方法的典型用法代码示例。如果您正苦于以下问题:C++ CvCity::GetExtraBuildingMaintenance方法的具体用法?C++ CvCity::GetExtraBuildingMaintenance怎么用?C++ CvCity::GetExtraBuildingMaintenance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CvCity
的用法示例。
在下文中一共展示了CvCity::GetExtraBuildingMaintenance方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetBuildingGoldMaintenance
/// What are our gold maintenance costs because of Buildings?
int CvTreasury::GetBuildingGoldMaintenance() const
{
int iMaintenance = GetBaseBuildingGoldMaintenance();
// Player modifier
iMaintenance *= (100 + m_pPlayer->GetBuildingGoldMaintenanceMod());
iMaintenance /= 100;
#if defined(MOD_BALANCE_CORE)
iMaintenance *= (100 + m_pPlayer->GetBuildingMaintenanceMod());
iMaintenance /= 100;
#endif
// Modifier for difficulty level
CvHandicapInfo& playerHandicap = m_pPlayer->getHandicapInfo();
//iMaintenance *= playerHandicap->getBuildingCostPercent();
//iMaintenance /= 100;
// Human bonus for Building maintenance costs
if(m_pPlayer->isHuman())
{
iMaintenance *= playerHandicap.getBuildingCostPercent();
iMaintenance /= 100;
}
// AI bonus for Building maintenance costs
else if(!m_pPlayer->IsAITeammateOfHuman())
{
iMaintenance *= GC.getGame().getHandicapInfo().getAIBuildingCostPercent();
iMaintenance /= 100;
}
// Start Era mod
iMaintenance *= GC.getGame().getStartEraInfo().getBuildingMaintenancePercent();
iMaintenance /= 100;
#if defined(MOD_BALANCE_CORE)
if(MOD_BALANCE_CORE_BUILDING_RESOURCE_MAINTENANCE)
{
CvCity* pLoopCity;
int iLoop;
for(pLoopCity = m_pPlayer->firstCity(&iLoop); pLoopCity != NULL; pLoopCity = m_pPlayer->nextCity(&iLoop))
{
if(pLoopCity->GetExtraBuildingMaintenance() > 0)
{
iMaintenance *= (100 + pLoopCity->GetExtraBuildingMaintenance());
iMaintenance /= 100;
}
}
}
#endif
return iMaintenance;
}