# Robos

### Resumen del Comando 'robar'

#### Funcionalidad Principal

El comando 'robar' es una mecánica de juego que permite a los usuarios intentar obtener recursos de otros usuarios en un entorno competitivo. Este comando incluye varias validaciones y condiciones para asegurar una experiencia equilibrada y justa.

#### Proceso del Comando

1. **Recepción del Comando:**
   * El sistema recibe el comando 'robar' y confirma su recepción.
2. **Verificación del Usuario Remitente:**
   * Se busca al usuario que intenta realizar el robo en la base de datos.
   * Si el usuario no existe, se envía un mensaje de error y se detiene el proceso.
3. **Control de Límite de Robos:**
   * Se verifica si el usuario ha alcanzado su límite diario de robos.
   * Si se ha alcanzado el límite, se calcula el tiempo restante hasta el próximo reinicio diario y se informa al usuario.
4. **Verificación de Recursos:**
   * Se comprueba si el usuario tiene suficientes diamantes (mínimo 10) para intentar el robo.
   * Si no tiene los diamantes requeridos, se envía un mensaje de error.
5. **Selección de Destinatario:**
   * Se busca a otros usuarios disponibles para robar, excluyendo al remitente.
   * Se filtran los usuarios que tienen recursos (rocas) disponibles para ser robados.
6. **Intento de Robo:**
   * Se selecciona aleatoriamente un destinatario de entre los usuarios que tienen recursos.
   * Se calcula la probabilidad de éxito del robo en función de la defensa del destinatario, que se basa en su experiencia.
7. **Determinación del Resultado del Robo:**
   * Si la probabilidad de robo es menor que la defensa del destinatario, el intento de robo falla y se informa al usuario.
   * Si el robo tiene éxito, se procede a restar el recurso del destinatario y a descontar los diamantes del remitente.

#### Sistema de Premios

En caso de un robo exitoso, el remitente puede obtener recursos adicionales. Los premios se asignan basándose en probabilidades predefinidas. A continuación, se detallan los diferentes recursos disponibles y sus respectivas probabilidades:

* **Agua:**
  * **Probabilidad 40%**: 3 unidades
  * **Probabilidad 30%**: 1 unidad
* **Energía:**
  * **Probabilidad 40%**: 3 unidades
  * **Probabilidad 30%**: 1 unidad
* **Semillas de Manzanilla:**
  * **Probabilidad 20%**: 1 unidad
* **Semillas de Sábila:**
  * **Probabilidad 20%**: 1 unidad
* **Sábila:**
  * **Probabilidad 10%**: 1 unidad
* **Manzanilla:**
  * **Probabilidad 10%**: 1 unidad
* **Aloe Vera:**
  * **Probabilidad 30%**: 1 unidad
* **Madera:**
  * **Probabilidad 30%**: 1 unidad
* **Concreto:**
  * **Probabilidad 20%**: 1 unidad
* **Pico:**
  * **Probabilidad 30%**: 1 unidad
* **Pez:**
  * **Probabilidad 30%**: 1 unidad
* **Ladrillo:**
  * **Probabilidad 30%**: 1 unidad

#### Notificación del Robo

Al finalizar el proceso, se envía un mensaje al canal de comunicación del juego, informando sobre el éxito del robo, los recursos obtenidos y los diamantes restantes del remitente. Esto crea un sentido de comunidad y competencia entre los usuarios.

#### Manejo de Errores

El sistema cuenta con un robusto manejo de errores que proporciona retroalimentación clara al usuario en caso de problemas, como:

* Usuario no encontrado.
* Límite de robos alcanzado.
* Falta de recursos suficientes para intentar el robo.
* No hay otros usuarios disponibles para robar.

Este comando está diseñado para fomentar la interacción entre los usuarios y crear un ambiente de competencia dinámica, mientras se asegura de que el juego se mantenga equilibrado y justo. Si necesitas más detalles o información adicional, ¡no dudes en preguntar!
