Bazaar developer reference

FindValidDestinationPathValid(CvAStarNode *, CvAStarNode *, int, const void *, CvAStar *)

Defined in
CvAStar.cpp, line 3764
Hook name
CivHooks::FindValidDestinationPathValid

Hooks

static bool BeforeFindValidDestinationPathValid(CvAStarNode* parent, CvAStarNode* node, int data, const void* pointer, CvAStar* finder, int& result);static void AfterFindValidDestinationPathValid(CvAStarNode* parent, CvAStarNode* node, int data, const void* pointer, CvAStar* finder, int& result);static int ReplaceFindValidDestinationPathValid(int (*original)(CvAStarNode*, CvAStarNode*, int, const void*, CvAStar*), CvAStarNode* parent, CvAStarNode* node, int data, const void* pointer, CvAStar* finder);CivRegisterBefore<CivHooks::FindValidDestinationPathValid>(host, &BeforeFindValidDestinationPathValid);CivRegisterAfter<CivHooks::FindValidDestinationPathValid>(host, &AfterFindValidDestinationPathValid);CivRegisterReplace<CivHooks::FindValidDestinationPathValid>(host, &ReplaceFindValidDestinationPathValid);

Code

3764int FindValidDestinationPathValid(CvAStarNode* parent, CvAStarNode* node, int data, const void* pointer, CvAStar* finder)3765{3766	CvUnit* pUnit = ((CvUnit*)pointer);3767	CvPlot* pToPlot = GC.getMap().plotUnchecked(node->m_iX, node->m_iY);37683769	if(!pUnit->canEnterTerrain(*pToPlot, CvUnit::MOVEFLAG_PRETEND_CORRECT_EMBARK_STATE))3770	{3771		return FALSE;3772	}37733774	if(!PathValid(parent,node,data,pointer,finder))3775	{3776		return FALSE;3777	}37783779	if(node->m_iData2 > 3)3780	{3781		return FALSE;3782	}37833784	return TRUE;3785}

Calls

Called by