Configservermu.net

General => Guias => SSEMU => Mensaje publicado por: Configservermu.net en Nov 19, 2024, 03:04 AM

Título: CalCharacter.lua Explicacion Tecnica
Publicado por: Configservermu.net en Nov 19, 2024, 03:04 AM

### **Funciones de cálculo de daño**
#### Daño físico y mágico:
1. **Dark Wizard (DW):**
   - **`DWPhysiDamageCalculate`**: Calcula el daño físico mínimo y máximo para las dos manos. Depende de la estadística de **Fuerza (Strength)**. 
   - **`DWMagicDamageCalculate`**: Calcula el daño mágico mínimo y máximo, también incluyendo el daño por **maldiciones**. Basado en la estadística de **Energía (Energy)**.

2. **Dark Knight (DK):**
   - **`DKPhysiDamageCalculate`**: Similar al DW, pero con un factor de escalado diferente para la estadística de **Fuerza**.
   - **`DKMagicDamageCalculate`**: Calcula daño mágico de manera análoga al DW, aunque el DK no es principalmente una clase mágica.

3. **Fairy Elf (FE):**
   - **`FEPhysiDamageCalculate`**: Calcula el daño físico mínimo y máximo, teniendo en cuenta si se usa un arco (Bow) o no. Usa **Fuerza** y **Destreza (Dexterity)** para el cálculo.
   - **`FEMagicDamageCalculate`**: Similar al DW, se enfoca en el daño mágico derivado de la **Energía**.

4. **Magic Gladiator (MG):**
   - **`MGPhysiDamageCalculate`**: Combina **Fuerza** y **Energía** para determinar el daño físico, destacándose como una clase híbrida.
   - **`MGMagicDamageCalculate`**: Calcula el daño mágico de forma similar a las otras clases.

5. **Dark Lord (DL):**
   - **`DLPhysiDamageCalculate`**: Usa **Fuerza** y **Energía** para determinar el daño físico, pero con escalado único debido a su rol de líder.
   - **`DLMagicDamageCalculate`**: Similar al DW, centrado en la **Energía**.

6. **Summoner (SU):**
   - **`SUPhysiDamageCalculate`**: Similar al DW, con daño físico basado en **Fuerza** y **Destreza**.
   - **`SUMagicDamageCalculate`**: Basado completamente en **Energía**, como es una clase mágica pura.

7. **Rage Fighter (RF):**
   - **`RFPhysiDamageCalculate`**: Combina **Fuerza** y **Vitalidad (Vitality)**, mostrando su rol como una clase cuerpo a cuerpo de alto impacto.
   - **`RFMagicDamageCalculate`**: Aunque no es su enfoque principal, usa **Energía** para calcular el daño mágico.

---

### **Funciones de cálculo de tasas de éxito**
Estas funciones determinan la probabilidad de que los ataques tengan éxito, tanto en combates contra monstruos (PvM) como entre jugadores (PvP).

1. **`CalcAttackSuccessRate` (PvM):**
   - Depende de estadísticas como **Nivel**, **Destreza**, y **Fuerza**. Cada clase tiene una fórmula específica para reflejar su rol en el juego.

2. **`CalcAttackSuccessRatePvP`:**
   - Similar al PvM, pero ajustado para el combate entre jugadores.

---

### **Funciones de cálculo de defensa**
1. **`CalcDefenseSuccessRate` (PvM):**
   - Determina qué tan bien un personaje puede evitar recibir daño de monstruos. Basado principalmente en la **Destreza**, pero varía según la clase.

2. **`CalcDefenseSuccessRatePvP`:**
   - Similar al PvM, pero enfocado en evitar ataques de otros jugadores.

3. **`CalcDefense`:**
   - Calcula el valor de defensa base del personaje, que se combina con la tasa de éxito de defensa.

4. **`CalcBonusDefense`:**
   - Añade bonificaciones defensivas según el nivel del set de equipo equipado (+10 a +15).

---

### **Velocidad de ataque**
1. **`CalcAttackSpeed`:**
   - Calcula la velocidad de ataque físico y mágico según la **Destreza** del personaje y su clase. Afecta la frecuencia con la que un personaje puede lanzar ataques o hechizos.

---

### **Daño especial y ajustes**
1. **`PhysiDamageRight` y `PhysiDamageLeft`:**
   - Ajustan el daño físico para armas específicas (como staffs) que reducen el daño físico a la mitad.

2. **`PhysiDamageSpecial`:**
   - Calcula ajustes para personajes que usan dos armas, reduciendo el daño para balancear esta ventaja.

---

### **Usos principales**
- **Balance del juego:** Estas fórmulas permiten ajustar cómo cada clase inflige daño o se defiende, manteniendo un equilibrio en el sistema de combate.
- **Interacción con el cliente:** Los valores calculados en estas funciones se reflejan en el HUD del jugador, mostrando los valores de daño, defensa, éxito de ataque, etc.
- **Optimización del personaje:** Los jugadores pueden usar esta información para distribuir sus puntos de estadísticas de manera óptima.

En resumen, este archivo es crucial para manejar las mecánicas de combate y estadísticas de las diferentes clases en un servidor de **MU Online**, asegurando un juego justo y balanceado.