Bazaar developer reference

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

Called by