anchor.diff:  			attack_entity(InRangeEnemyBcEntity, State)
   	end.
   
  -attack_entity(InRangeEnemyBcEntity, #state{entity = BcEntity,
  +attack_entity(EnemyBcEntity, #state{entity = BcEntity,
   										   entity_config = BcEntityConfig,
   										   entities = BcEntities,
   										   entity_event_handler = EventHandler} = State) ->
  -	Orientation = determine_orientation(BcEntity, InRangeEnemyBcEntity),
  +	Orientation = determine_orientation(BcEntity, EnemyBcEntity),
   	ReorientedEntity = reorient_entity(Orientation, BcEntity, BcEntities),
   	EntitiesEventPid = bc_entities:event(BcEntities),
   	gen_event:notify(EntitiesEventPid, {entity_attacking, ReorientedEntity}),
  
positive.code:     {next_state, StateName, StateData}.
  
  terminate(Reason, StateName, StatData) ->
  	io:format("BcAiFsm crashed with reason: ~p~n", [Reason]),
      ok.
  
  code_change(OldVsn, StateName, StateData, Extra) ->
  
negative.code: 			_ ->
  				State
  		end,
  	EnemyBcAiFsm = bc_entity:ai_fsm(EnemyBcEntity),
  	Damage = calculate_damage(BcEntityConfig, EnemyBcEntity, BcEntities),
  	bc_ai_fsm:damage_entity(EnemyBcAiFsm, Damage),
  	AttackSpeed = bc_entity_config:attack_speed(BcEntityConfig),
  	TimerRef = send_action_complete(AttackSpeed),
  	lager:info("~p (~p) is attacking ~p (~p)", [bc_entity:uuid_str(BcEntity), 
  												bc_entity:vertices(BcEntity), 
  												bc_entity:uuid_str(EnemyBcEntity), 
  												bc_entity:vertices(EnemyBcEntity)]),
  	{next_state, attacking, UpdatedState#state{timer = TimerRef}}.
  
  determine_orientation(BcEntity, EnemyBcEntity) ->
  