// Returns a pointer to an AIs circleable FlamePot link, if a valid link 
// exists.  Returns NULL if there is no valid link.
static AINavMeshLinkAbstract* GetCircleableFlamePotLink( CAI* pAI )
{
	// Fail if the target is not a character.
	
	if ( !pAI->HasTarget( kTarget_Character ) )
	{
		return NULL;
	}

	CCharacter* pChar = CCharacter::DynamicCast( pAI->GetAIBlackBoard()->GetBBTargetObject() );
	if ( NULL == pChar )
	{
		return NULL;
	}

	// Fail if the target is not in a flame pot poly.

	AINavMeshLinkAbstract* pLink = g_pAINavMesh->GetNMLink( pChar->GetCurrentNavMeshLink() );
	if ( !pLink 
		|| kLink_FlamePot != pLink->GetNMLinkType() 
		|| NULL == pLink->GetHOBJECT() )
	{
		return NULL;
	}

	// Fail if the link is not active.

	if ( !pLink->IsNMLinkActiveToAI( pAI ) )
	{
		return NULL;
	}

	return pLink;
}