Attaque est la valeur de base qui determine les degats.
( Basé sur l'equipement )
La force intervient ensuite ( stats personnel )
Le defense est en réalité la dexterité.
Son influence est surtout lié aux réussite ( coup et/ou coup critique )
L'agilité sert à determiner l'ordre d'attaque.
( Tout le monde choisit ses attaques en même temps, mais l'ordre d'execution depend du type d'attaque et de l'agilité. )
Elle influe aussi sur les chances de fuites, de coup et d'esquive.
L'intelligence ne sert à rien ( euh, dans le jeu, evidement ), sauf si on met une valeur superieure à 0 dans la case " int " d'une competence.
La defense physique et magique ( basé sur l'equipement ) sert à reduire les degats reçus.
Les formules de combats sont dans le script " Game_battler 3 ", celle de fuite dans " Scene_Battle 2 ".
Si tu souhaite les modifier, teste d'abord dans un projet neutre, avant d'importer dans ton projet principal.
Ou demande conseille à un scripteur !!
Edition :
Ca y est, j'ai retrouvé ce maudit MP !!
Pour les formules de combats, niveau competence, voila comment ça fonctionne :
hit = skill.hit
if skill.atk_f > 0
hit *= user.hit / 100
end
hit_result = (rand(100) < hit)
Ca, c'est la premiere determination de la réussite.
On compare une valeur aléatoire comprise entre 0 et 99 à un pourcentage basé sur la precision de la competence et la valeur "hit" de l'utilisateur.
Cette valeur "hit" est de 100 mais elle est modifié par les effets des status ( la case "precision" ).
Si la valeur aléatoire est inferieur au resultat de l'utilisateur, l'attaque réussi.
Sinon echecs ...
power = skill.power + user.atk * skill.atk_f / 100
if power > 0
power -= self.pdef * skill.pdef_f / 200
power -= self.mdef * skill.mdef_f / 200
power = [power, 0].max
end
Ca, c'est le calcul normal des degats pour les competences.
Donc taux d'effet de la competence + attaque de l'utilisateur * valeur de la case attaque de la competence / 100
Si le resultat est superieure à 0, donc en cas de magie offensive, et non de soin, on compare au valeur defensive de la cible.
On retire le resultat de defense physique de la cible * valeur de la case "def phys" de la competence / 200.
( Donc si la valeur de la case " def phys " est 0, on ne retire rien ( impact maxi, pourrait-on dire ) )
On retire ensuite le resultat de def mag de la cible * valeur de la case "def mag" de la competence / 200
( Même remarque ... et plus la valeur est elevé, plus on retire de " puissance " ... ( impact reduit, pourrait-on dire ) )
rate = 20
rate += (user.str * skill.str_f / 100)
rate += (user.dex * skill.dex_f / 100)
rate += (user.agi * skill.agi_f / 100)
rate += (user.int * skill.int_f / 100)
# 基本ダメージを計算
self.damage = power * rate / 20
Ceci, c'est l'application des bonus des autres cases.
Si la valeur est superieure à 0, cela augmente l'effet de la competence, en proportion entre la valeur choisit et la stats correspondante de l'utilisateur.
Donc si la valeur de "force" est de 100, on ajoute 100% de la "force" à la puissance de la competence, même chose pour les valeurs def, agi et int.
Viens ensuite trois nouvelles modifications :
- l'effet des elements ( resistance pou faiblesse )
- l'effet de la garde ( divisé par 2 si garde sinon ... rien )
- l'effet de la variance ( si besoin est )
Derniere etapes, le second calcul de réussite.
eva = 8 * self.agi / user.dex + self.eva
hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
hit = self.cant_evade? ? 100 : hit
hit_result = (rand(100) < hit)
# 不確実なスキルの場合は有効フラグをセット
effective |= hit < 100
La valeur "eva" est 8 * l'agilité de la cible / par la dexterité de l'utilisateur ( ce qui est appellé "defense" dans le base de donnée ) + evasion de la cible.
L'evasion de la cible est l'esquive modifié par les effets eventuels des status qui l'affecte ( case "esquive" des status ).
Ensuite, cette valeur "eva" est modifié par un pourcentage selon la valeur de la case "esquive" de la competence.
Ceci, seulement en cas de puissance positive, les sorts de soin ont un taux de réussite de 100.
Le taux est egalement de 100 si la cible n'est pas capable d'esquiver ( sommeil, paralysie, ... )
Ensuite, même technique qu'au debut, si le resultat est inferieur à une valeur aléatoire comprise entre 0 et 99, l'attaque réussi.
C'est peut-etre plus clair que le manuel.
ASHKA
Ce message a été modifié par ASHKA - 04 juillet 2008 - 09:31 .