Bazaar developer reference

CvPlot::IsFriendlyTerritory(PlayerTypes) const

Defined in
CvPlot.cpp, line 3822
Class
CvPlot
Hook name
CivHooks::CvPlot_IsFriendlyTerritory

Hooks

static bool BeforeCvPlot_IsFriendlyTerritory(const CvPlot* self, PlayerTypes ePlayer, bool& result);static void AfterCvPlot_IsFriendlyTerritory(const CvPlot* self, PlayerTypes ePlayer, bool& result);static bool ReplaceCvPlot_IsFriendlyTerritory(bool (*original)(const CvPlot*, PlayerTypes), const CvPlot* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvPlot_IsFriendlyTerritory>(host, &BeforeCvPlot_IsFriendlyTerritory);CivRegisterAfter<CivHooks::CvPlot_IsFriendlyTerritory>(host, &AfterCvPlot_IsFriendlyTerritory);CivRegisterReplace<CivHooks::CvPlot_IsFriendlyTerritory>(host, &ReplaceCvPlot_IsFriendlyTerritory);

Code

3821/// Is this a plot that's friendly to our team? (owned by us or someone we have Open Borders with)3822bool CvPlot::IsFriendlyTerritory(PlayerTypes ePlayer) const3823{3824	// No friendly territory for barbs!3825	if(GET_PLAYER(ePlayer).isBarbarian())3826	{3827		return false;3828	}38293830	TeamTypes eTeam = GET_PLAYER(ePlayer).getTeam();3831	TeamTypes ePlotOwner = getTeam();38323833	// Nobody owns this plot3834	if(ePlotOwner == NO_TEAM)3835	{3836		return false;3837	}38383839	// Our territory3840	if(ePlotOwner == eTeam)3841	{3842		return true;3843	}38443845	// City State's territory we've earned OB with3846	if(!GET_PLAYER(ePlayer).isMinorCiv())3847	{3848		if(GET_TEAM(ePlotOwner).isMinorCiv())3849		{3850			PlayerTypes eCityState = GET_TEAM(ePlotOwner).getLeaderID();38513852			if(GET_PLAYER(eCityState).GetMinorCivAI()->IsPlayerHasOpenBorders(ePlayer))3853			{3854				return true;3855			}3856		}3857	}38583859	// Major's territory we have OB with3860	if(GET_TEAM(ePlotOwner).IsAllowsOpenBordersToTeam(eTeam))3861	{3862		return true;3863	}38643865	return false;3866}

Calls

Called by