CvPlayerPolicies::HasPolicyEncouragingGarrisons() const
- Defined in
- CvPolicyClasses.cpp, line 3288
- Class
- CvPlayerPolicies
- Hook name
CivHooks::CvPlayerPolicies_HasPolicyEncouragingGarrisons
Hooks
static bool BeforeCvPlayerPolicies_HasPolicyEncouragingGarrisons(const CvPlayerPolicies* self, bool& result);static void AfterCvPlayerPolicies_HasPolicyEncouragingGarrisons(const CvPlayerPolicies* self, bool& result);static bool ReplaceCvPlayerPolicies_HasPolicyEncouragingGarrisons(bool (*original)(const CvPlayerPolicies*), const CvPlayerPolicies* self);CivRegisterBefore<CivHooks::CvPlayerPolicies_HasPolicyEncouragingGarrisons>(host, &BeforeCvPlayerPolicies_HasPolicyEncouragingGarrisons);CivRegisterAfter<CivHooks::CvPlayerPolicies_HasPolicyEncouragingGarrisons>(host, &AfterCvPlayerPolicies_HasPolicyEncouragingGarrisons);CivRegisterReplace<CivHooks::CvPlayerPolicies_HasPolicyEncouragingGarrisons>(host, &ReplaceCvPlayerPolicies_HasPolicyEncouragingGarrisons);
Code
3287/// Does any policy owned give benefit for garrisons?3288bool CvPlayerPolicies::HasPolicyEncouragingGarrisons() const3289{3290 for(int i = 0; i < m_pPolicies->GetNumPolicies(); i++)3291 {3292 // Do we have this policy?3293 if(m_pabHasPolicy[i] && !IsPolicyBlocked((PolicyTypes)i))3294 {3295 CvPolicyEntry* pPolicy = m_pPolicies->GetPolicyEntry(i);3296 if(pPolicy->GetGarrisonedCityRangeStrikeModifier() > 0)3297 {3298 return true;3299 }3300 else if(pPolicy->GetCulturePerGarrisonedUnit() > 0)3301 {3302 return true;3303 }3304 else if(pPolicy->GetHappinessPerGarrisonedUnit() > 0)3305 {3306 return true;3307 }3308 else if(pPolicy->IsGarrisonFreeMaintenance())3309 {3310 return true;3311 }3312 }3313 }33143315 return false;3316}
Calls
- CvPlayerPolicies::IsPolicyBlocked(PolicyTypes) const
- CvPolicyEntry::GetCulturePerGarrisonedUnit() const
- CvPolicyEntry::GetGarrisonedCityRangeStrikeModifier() const
- CvPolicyEntry::GetHappinessPerGarrisonedUnit() const
- CvPolicyEntry::IsGarrisonFreeMaintenance() const
- CvPolicyXMLEntries::GetNumPolicies()
- CvPolicyXMLEntries::GetPolicyEntry(int)