No es ningún secreto que tratar de entender las fórmulas de batalla en RMXP es un dolor de cabeza. Principalmente con un pensamiento d20 como el mío. Así que tuve que acomodar un poco las cosas y buscar diferentes explicaciones para entender las fórmulas, luego modificar un poco los scripts para acercarlo al sistema d20.
Veamos primero la fórmula del ataque (que tan probable es que un ataque tenga éxito). Expresado en el archivo de ayuda de RMXP como el segundo ataque (el primero es flat-footed y su probabilidad de éxito es generalmente 100%).
ATTACK ROLL
100 - (8 × Target's agility ÷ Attacker's dexterity + Target's evasion modifier)
Variance: Percentage
>> En palabras más fáciles:
100% de pegar - (8 × AGI ÷ DEX + EVASION [casi nada da evasion])
es como decir en D&D...
100% de pegar - (8 × AC ÷ ATK + Miss Chance)
Todo esto significa que la base del AC en RMXP es 8 y que el attack bonus divide el AC del oponente en vez de sumar a las probabilidades (como en d20).
La manera menos complicada de solucionar esta discordancia es modificar directamente el script en la clase Game_Battler 3 para cambiar la base de 8 a 5 (simplemente haga CTRL+F y busque "8"), hacer que reste la DEX en vez de usarla de divisor para la AGI (está en la misma línea que el 8) y finalmente multiplicando la DEX por 5.
Luego de todo esto, la línea 73 de Game_Battler 3 quedaría:
Ya con el script modificado, las siguientes son las equivalentes de RMXP al sistema d20:
ATK BONUS: DEX
AC: AGI
MISS CHANCE: Evasion.
LISTO!
Para los skills es algo diferente:
SKILLS:
100 - ((8 × Target's agility ÷ Attacker's dexterity + Target's evasion modifier) * (skill's EVA-F ÷ 100))
La única diferencia en los skills es que si en el skill, el valor EVA-F es 0 entonces el skill siempre es exitoso, si EVA-F es 100 entonces se tiene que tirar attack roll normal como si fuera un ataque.
Y todavía falta el DAÑO
DAMAGE
Damage Done = (Attacker's attack power - (Target's physical defense ÷ 2)) * (20 + Attacker's strength) / 20
Variance: 15
En otras palabras:
DMG= (Weapon - (DR/2) x 20 + STR) / 20
Esto se puede cambiar a:
DMG= Weapon - DR + STR
SKILLS:
damage = (20 + (User's STR + Skills STR-F)/100 + (User's DEX + Skill's DEX-F)/100 + (User's AGI + Skill's AGI-F)/100 + (User's INT + Skill's INT-F)/100) * ((Skill's Power + (User's ATK * Skill's ATK-F)/100) - (Target's PDEF * Skill's PDEF-F)/100 - (Target's MDEF * Skill's MDEF-F)/100)
Esto usa una extraña y difusa fórmula que es mejor no tratar de entender. Así que mejor borrar una parte de ella para simplificarla.
damage = (Skill's Power + (User's ATK * Skill's ATK-F)/100) - (Target's PDEF * Skill's PDEF-F)/100 - (Target's MDEF * Skill's MDEF-F)/100)
DMG = Power + (ATK * ATK-F)/100 - (PDEF * PDEF-F)/100 - (MDEF * MDEF-F)/100
esto signifca:
Skill Damage = Power + Weapon (if applicable) - DR (if applicable) - Magic Defense (if applicable)
Veamos primero la fórmula del ataque (que tan probable es que un ataque tenga éxito). Expresado en el archivo de ayuda de RMXP como el segundo ataque (el primero es flat-footed y su probabilidad de éxito es generalmente 100%).
ATTACK ROLL
100 - (8 × Target's agility ÷ Attacker's dexterity + Target's evasion modifier)
Variance: Percentage
>> En palabras más fáciles:
100% de pegar - (8 × AGI ÷ DEX + EVASION [casi nada da evasion])
es como decir en D&D...
100% de pegar - (8 × AC ÷ ATK + Miss Chance)
Todo esto significa que la base del AC en RMXP es 8 y que el attack bonus divide el AC del oponente en vez de sumar a las probabilidades (como en d20).
La manera menos complicada de solucionar esta discordancia es modificar directamente el script en la clase Game_Battler 3 para cambiar la base de 8 a 5 (simplemente haga CTRL+F y busque "8"), hacer que reste la DEX en vez de usarla de divisor para la AGI (está en la misma línea que el 8) y finalmente multiplicando la DEX por 5.
Luego de todo esto, la línea 73 de Game_Battler 3 quedaría:
# Second hit detection
eva = 5 * self.agi - (attacker.dex*5) + self.eva
Ya con el script modificado, las siguientes son las equivalentes de RMXP al sistema d20:
ATK BONUS: DEX
AC: AGI
MISS CHANCE: Evasion.
LISTO!
Para los skills es algo diferente:
SKILLS:
100 - ((8 × Target's agility ÷ Attacker's dexterity + Target's evasion modifier) * (skill's EVA-F ÷ 100))
La única diferencia en los skills es que si en el skill, el valor EVA-F es 0 entonces el skill siempre es exitoso, si EVA-F es 100 entonces se tiene que tirar attack roll normal como si fuera un ataque.
Y todavía falta el DAÑO
DAMAGE
Damage Done = (Attacker's attack power - (Target's physical defense ÷ 2)) * (20 + Attacker's strength) / 20
Variance: 15
En otras palabras:
DMG= (Weapon - (DR/2) x 20 + STR) / 20
Esto se puede cambiar a:
DMG= Weapon - DR + STR
SKILLS:
damage = (20 + (User's STR + Skills STR-F)/100 + (User's DEX + Skill's DEX-F)/100 + (User's AGI + Skill's AGI-F)/100 + (User's INT + Skill's INT-F)/100) * ((Skill's Power + (User's ATK * Skill's ATK-F)/100) - (Target's PDEF * Skill's PDEF-F)/100 - (Target's MDEF * Skill's MDEF-F)/100)
Esto usa una extraña y difusa fórmula que es mejor no tratar de entender. Así que mejor borrar una parte de ella para simplificarla.
damage = (Skill's Power + (User's ATK * Skill's ATK-F)/100) - (Target's PDEF * Skill's PDEF-F)/100 - (Target's MDEF * Skill's MDEF-F)/100)
DMG = Power + (ATK * ATK-F)/100 - (PDEF * PDEF-F)/100 - (MDEF * MDEF-F)/100
esto signifca:
Skill Damage = Power + Weapon (if applicable) - DR (if applicable) - Magic Defense (if applicable)
Comentarios