anchor.diff:  %% Behavioural functions
   %% ====================================================================
   
  +-spec init(Args :: term()) -> Result when
  +	Result :: {ok, StateName, StateData}
  +			| {ok, StateName, StateData, Timeout}
  +			| {ok, StateName, StateData, hibernate}
  +			| {stop, Reason}
  +			| ignore,
  +	StateName :: atom(),
  +	StateData :: term(),
  +	Timeout :: non_neg_integer() | infinity,
  +	Reason :: term().
   init([BcEntity, BcEntities, BcMap]) ->
   	UpdatedBcEntity = bc_entity:set_ai_fsm(self(), BcEntity),
   	EntityType = bc_entity:entity_type(UpdatedBcEntity),
  
positive.code: 					BaseQueryRes = bc_map:query_ids(BcMap, BaseUuid),
  					BaseBcVertices = 
  						lists:map(
  						  fun(QueryRes) ->
  							maps:get(vertex, QueryRes)
  						  end, BaseQueryRes),
  					UpdatedBaseBcEntity = 
  						bc_entity:set_vertices(BaseBcVertices, BaseBcEntity),
  					InRangeEnemyBcEntityDict = 
  
negative.code: 					bc_entity_util:vertex_distance(BcEntity, BcVertex),
  				{Distance, BcVertex} 
  			end, InRangeBcVertices),
  	lists:sort(
  		fun({Dist1, _}, 
  			{Dist2, _}) -> 
  				Dist1 =< Dist2
  		end, DistBcVertices).
  
  compute_path(BcEntity, BcVertex, OccupiedBcVertices, #state{map = BcMap} = State) ->
  	ClosestEntityBcVertex = 
  