Bazaar developer reference

CvPlayer::IsPlotConnectedToPlot(CvPlot *, CvPlot *, RouteTypes, bool)

Defined in
CvPlayer.cpp, line 5844
Class
CvPlayer
Hook name
CivHooks::CvPlayer_IsPlotConnectedToPlot

Hooks

static bool BeforeCvPlayer_IsPlotConnectedToPlot(CvPlayer* self, CvPlot* pFromPlot, CvPlot* pToPlot, RouteTypes eRestrictRoute, bool bIgnoreHarbors, bool& result);static void AfterCvPlayer_IsPlotConnectedToPlot(CvPlayer* self, CvPlot* pFromPlot, CvPlot* pToPlot, RouteTypes eRestrictRoute, bool bIgnoreHarbors, bool& result);static bool ReplaceCvPlayer_IsPlotConnectedToPlot(bool (*original)(CvPlayer*, CvPlot*, CvPlot*, RouteTypes, bool), CvPlayer* self, CvPlot* pFromPlot, CvPlot* pToPlot, RouteTypes eRestrictRoute, bool bIgnoreHarbors);CivRegisterBefore<CivHooks::CvPlayer_IsPlotConnectedToPlot>(host, &BeforeCvPlayer_IsPlotConnectedToPlot);CivRegisterAfter<CivHooks::CvPlayer_IsPlotConnectedToPlot>(host, &AfterCvPlayer_IsPlotConnectedToPlot);CivRegisterReplace<CivHooks::CvPlayer_IsPlotConnectedToPlot>(host, &ReplaceCvPlayer_IsPlotConnectedToPlot);

Code

5844bool CvPlayer::IsPlotConnectedToPlot(CvPlot* pFromPlot, CvPlot* pToPlot, RouteTypes eRestrictRoute, bool bIgnoreHarbors)5845{5846	// IMPORTANT NOTE: This is the IsCityConnectedToCity() code from above5847	5848	int iPathfinderFlags = GetID() | MOVE_ROUTE_ALLOW_UNEXPLORED;	// Since we just want to know if we are connected or not, allow the check to search unexplored terrain.5849	if(eRestrictRoute == NO_ROUTE)5850	{5851		iPathfinderFlags |= MOVE_ANY_ROUTE;5852	}5853	else5854	{5855		// assuming that there are fewer than 256 players5856		int iRouteValue = eRestrictRoute + 1;5857		iPathfinderFlags |= (iRouteValue << 8);5858	}58595860	if (bIgnoreHarbors)5861	{5862		GC.getRouteFinder().SetNumExtraChildrenFunc(NULL);5863		GC.getRouteFinder().SetExtraChildGetterFunc(NULL);5864	}58655866	GC.getRouteFinder().ForceReset();5867	bool bReturnValue = GC.getRouteFinder().GeneratePath(pFromPlot->getX(), pFromPlot->getY(), pToPlot->getX(), pToPlot->getY(), iPathfinderFlags, false);58685869	if (bIgnoreHarbors)5870	{5871		// reconnect the land route pathfinder water methods5872		GC.getRouteFinder().SetNumExtraChildrenFunc(RouteGetNumExtraChildren);5873		GC.getRouteFinder().SetExtraChildGetterFunc(RouteGetExtraChild);5874	}58755876	return bReturnValue;5877}

Calls

Called by