online faq recherche accueil
 

Il y a 237 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

formule de calcul des "dm34" de skills.txt

 
n°5874
Ulmo
Posté le 11-05-2005 à 14:29:46  profilanswer
 

J'ai fait des essais avec Fanatisme, et la formule indiquée dans SkillCalc.txt ne redonne pas exactement ce qu'indique le jeu.
Je me demandais si quelqu'un savait quelle est la formule exacte, ou en quoi les arrondis du jeu ne correspondent pas aux calculs que je peux faire.

n°5877
Acrerune
Tavernier trembleur (¯`·._.·»
Posté le 11-05-2005 à 15:48:00  profilanswer
 

euh juste pour savoir c'est koi dm34?
 
thx


---------------
[:acrerune:4][:acrerune:5][:acrerune:6][:acrerune:7]  
 ¤  L’Oracle des runes  ¤   Wikirune  ¤   Le savoir ne vaut que s'il est partagé par tous  ¤   Mon weblog
"Sicarios, con la ayuda de otros zelotas [...] cometieron una serie de atrocidades, para forzar a la población a luchar."
n°5885
Ulmo
Posté le 11-05-2005 à 18:09:17  profilanswer
 

c'est un abrégé pour faire un calcul, comme LN12, qui calcule param1 + param2 * level.
DM fait du "diminushing return", et la formule indiquée est du type :
10 + (330 * level) / (600 + 100 * level)
Sauf que ça ne me donne pas les bonus de vitesse indiqués par le jeu...

n°5889
Joel
Every day it's workload
Posté le 11-05-2005 à 20:04:39  profilanswer
 

(level-1) attention

n°5908
Ulmo
Posté le 12-05-2005 à 13:14:48  profilanswer
 

Exact.
Mais mon problème ici est une histoire d'arrondi qui est parfois fait à l'entier inférieur sans que j'en comprenne la raison.

n°5946
Myrdinn
ollydebugger
Posté le 13-05-2005 à 22:13:44  profilanswer
 

Je n'ai pas la réponse mais je peux te donner 2 3 généralité qui t'aideront peut être à comprendre

  • En général les opérations en assembleur sont tronquées par nature (Enfin sur les nombres entiers comme sous D2) et donc le résultat est toujours arrondis à l'inférieur à chaque étapes de l'opération.

Les seules exceptions c'est quand nous inversons la formule pour la comprendre comme pour la plupart des vitesses du jeu.

  • Les divisions étant les opérations les plus lentes en assembleur, on préfère les éviter (je dis on, je parle des programmeur et des compilateurs ;) ). Si cela est possible on les fait en dernier, et si c'est possible on utilise une division par un multiple de 2 ce qui se fait par un Shift vers la droite qui lui est très rapide.


Ensuite il faudrait regarder le code qui fait le calcul des fonctions DM pour mieux cibler la différence que tu peux voir.


Message édité par Myrdinn le 13-05-2005 à 22:14:35

---------------
Le savoir ne vaut que s'il est partagé :Lien vers les posts techniques Diablo2/LOD
n°5959
Ulmo
Posté le 14-05-2005 à 14:13:04  profilanswer
 

Citation :

Ensuite il faudrait regarder le code qui fait le calcul des fonctions DM pour mieux cibler la différence que tu peux voir.

Et u as une adresse pour cela ?

n°5969
Myrdinn
ollydebugger
Posté le 14-05-2005 à 21:29:01  profilanswer
 

Hum j'avais analysé cela au début de la 1.10 sans approfondir.
De mémoire c'est une suite de fonction exportée de strom puis de D2common.dll, je vais te retrouver cela.


---------------
Le savoir ne vaut que s'il est partagé :Lien vers les posts techniques Diablo2/LOD

Aller à :
Ajouter une réponse