anchor.diff:  	UpdatedBcCollision = bc_collision:move(Direction, OriginalBcCollision),
   	case bc_map:update_collision(BcMap, OriginalBcCollision, UpdatedBcCollision) of
   		ok ->
  +			OrientedBcEntity =
  +				case bc_entity:orientation(BcEntity) =:= Direction of
  +					true -> BcEntity;
  +					false -> reorient_entity(Direction, BcEntity, BcEntities)
  +				end,
   			UpdatedBcVertices = bc_collision:vertices(UpdatedBcCollision),
  -			UpdatedBcEntity = bc_entity:set_vertices(UpdatedBcVertices, BcEntity),
  -			{ok, UpdatedBcEntity};
  +			MovedBcEntity = bc_entity:set_vertices(UpdatedBcVertices, OrientedBcEntity),
  +			{ok, MovedBcEntity};
   		{error, _} = Error ->
   			Error
   	end.
  +
  +reorient_entity(Orientation, BcEntity, BcEntities) ->
  +	UpdatedBcEntity = bc_entity:set_orientation(Orientation, BcEntity),
  +	bc_entities:insert(UpdatedBcEntity, BcEntities),
  +	UpdatedBcEntity.
  
positive.code: 	AttackSpeed = bc_entity_config:attack_speed(BcEntityConfig),
  	TimerRef = send_action_complete(AttackSpeed),
  	{next_state, attacking, UpdatedState#state{timer = TimerRef}}.
  
  calculate_damage(BcEntityConfig, EnemyBcEntity, BcEntities) ->
  	EnemyEntityType = bc_entity:entity_type(EnemyBcEntity),
  
negative.code: 	gen_event:notify(EntitiesEventPid, {entity_attacking, BcEntity}),
  	UpdatedState =
  		case EventHandler of
  			undefined ->
  				EntityUuid = bc_entity:uuid(BcEntity),
  				EnemyUuid = bc_entity:uuid(InRangeEnemyBcEntity),
  				EntitiesEventPid = bc_entities:event(BcEntities),
  