[Wiki] Les formules de calcul dans Dofus

Répondre
Partager Rechercher
Est-ce que la formule de réduction des armures (sorts) est toujours correct?

Après avoir fait un essai de prévention (lvl 5 réduction de 23) sur mon coffre lvl 1 (enu 170), je réduis de 644 les effets de type eau, j'ai pas fait le test, mais à priori le coffre n'a pas d'intel. Donc

644=23*(1+0/100+X/200)
=>644/23-1=X/200
=>200*(644/23-1)=X
=>X=5400 chance

Ca fait une chance de base de :
5400 = X*(1+170/100)
=>5400=X*2.7
=>X=2000

Ca me parait vraiment beaucoup, ca voudrait dire que mon coffre à 540pp de base...

Il me semblait que la formule de réduction avait été modifiée pour que l'impact de la caractéristique affiliée au dégat soit égale à celle de l'intelligence soit

Reduction=Réduction_de_base*(1+Intelligence/100+Caractéristique_des_dégats/100)
Ce qui m'amènerait à une chance de base de 1000 et donc 100pp de base pour le coffre (et donc 270 au lvl 170) et qui est la valeur dont je me souvenais.
Le coffre a bien 1000 Chance de base.

Depuis la version 1.27, la formule de réduction des armures fixes est :

Réduction=Réduction_de_base*Max(1+Caractéristique_des_dégats/100 , 1+Intelligence/200+Caractéristique_des_dégats/200)


EDIT : Wiki mis à jour
Il y a deux façons de calculer une résistance :

Si Intelligence [Ine] > Élément de l'armure [Élé]
[Réduction finale]=[Réduction initiale]*(1+([Ine]+[Élé])/200)

Si Intelligence [Ine] < Élément de l'armure [Élé]
[Réduction finale]=[Réduction initiale]*(1+[Élé])/100)

De ce fait :
[Élé]=100*([Réduction finale]/[Réduction initiale]-1)

Dans ton cas :
Chance=100*(644/23-1)=100*(28-1)=2.700 de chance.

Si le coffre possède 1.000 de chance de base, ça voudrais dire qu'il y a augmentation de +170% de sa chance :
- Est-ce que l'Enutrof est de niveau 170 ?

J'ai répondu car ta formule était fausse (Mao-Dum-Dum même si tu retrouves le même résultat) et que celle d'Orphi pourrait ne pas être compréhensible pour une personne non avertie (avec la formule Max(x,y), qui est en fait : je prend la valeur la plus élevé entre x et y pour le calcul).
Bonjour c'est une question ouverte à ceux qui maitrisent bien les diverses formules de ce wiki.

Ayant recommencé dofus je n'aime pas perdre mon temps à refaire 20 fois les même calculs.

Pour cela je compte créer un petit logiciel permettant d'automatiser les calculs principaux voir plus pointus.

J'aimerai donc savoir quelles formules sont encore valides dans ce wiki.

Merci d'avance pour vos réponses.
(Vous pouvez me répondre en MP si vous ne voulez pas flooder le post)
Bonjour, je me pose des questions sur l'initiative. J'ai un twink et je n'ai pas beaucoup d'initiative, je joue toujours après. (Donc je me prend les taupes, les cinglantes les etcs ) Je me suis dis qu'il sera préférable de le passer en full vita, hors d'après la formule seul la vie compte mais d'après l'exemple il prend en compte les caractéristiques et uniquement les caractéristiques. Ne voulant pas faire une bétise je fait appel à vous pour savoir comment se calcule l'initiative.

(En outre mon personnage a 86 de chance de base, en full vita il aurait +245 points de base, et vive les 75% de dom qui donne 0 d'ini :s)
sauf erreur de ma part, ou alors je confonds avec la version 2.0, on prend dans un cas ou ta vie est au max, tu dois ajouter tes stats en force, chance, feu et agi (en sachant que 1 init = 1 force ou feu ou chance ou air) puis l'init du matos (le bonus init).

Tu obtiens une init max en fonction de cette init et du % de ta vie restant tu peux savoir l'init que tu auras si tu rendre en combat avec 75% de ta vie, à titre d'exemple, en sachant que les intems -200 intel (anneau satisfaction) te retire de l'init.
Je n'ai pas vraiment le temps ni l'envie de me taper les 14 pages, mais quelqu'un connaît-il la formule pour calculer les chances de dropper un objet en fonction de sa prospection et du taux de drop de base de l'objet en question ?
Citation :
Publié par Moprok
Je n'ai pas vraiment le temps ni l'envie de me taper les 14 pages, mais quelqu'un connaît-il la formule pour calculer les chances de dropper un objet en fonction de sa prospection et du taux de drop de base de l'objet en question ?
C'est très simple :

chances de dropper un objet = taux de drop de base de l'objet * Prospection / 100
je reprendrai ce qu'à dit da geek à la page 4 de ce sujet :

Citation :
Citation :
Code:

Probabilité de drop réel=(Prospection/100)*Probabilité de drop initial
Ce qui m'énerve dans cette formule c'est que si on prend des objet a forte probabilité de tombé (certaine ressources bouftou a 40 et 60%) si on combine ces valeurs a des niveau de prospection élevé on a une probabilité supérieur à 1 (ce qui m'ennuie énormément en temps qu'étudiant en math)
si on prend la formule ci dessous et qu'on considère quelqu'un qui a 260 en prospection pour une ressource à 40% de chance de tomber cela donnerait.

(4/10) * 260 / 100 = 1.04 ( donc >1) ce qui en probabilité est impossible.

Comme il le suggérait, il est possible qu'une fois la le '1' dépassé ils tronquent mais ça ferait bidouillage et pas du tout formule de math
Citation :
Publié par |NoE|-Attila-
je reprendrai ce qu'à dit da geek à la page 4 de ce sujet :



si on prend la formule ci dessous et qu'on considère quelqu'un qui a 260 en prospection pour une ressource à 40% de chance de tomber cela donnerait.

(4/10) * 260 / 100 = 1.04 ( donc >1) ce qui en probabilité est impossible.

Comme il le suggérait, il est possible qu'une fois la le '1' dépassé ils tronquent mais ça ferait bidouillage et pas du tout formule de math
Bidouillage ? C'est simplement un bridage à 0.9. La formule que donne Orphi est vraie.
Je ferais peut-être juste une correction, avec :

Taux de drop de base * (1 + Bonus challenge/100) *Prospection / 100 = Chance de drop final

Par exemple, une ressource taux de base 15% avec un challenge +75% et 270 de pp ->
15% * (1 + 75/100) * 270 / 100 = 70.875%
l'info pour le bridage à 0,9 tu le trouves où ?

et après qu'on appelle cela bridage ou bidouillage c'est la même chose une proba >1 ça n'existe pas en math

par contre si ils brident à 0,9 effectivement la formule que tu viens d'écrire est bonne (avec mise à jour des challenges bien sur )
L'info venait d'un dev, pas contre pas moyen de retrouver le bon message (voir limite il l'a éditer suite à une petit relecture de son poste), mais j'ai souvenir que le bridage était de 95% et non 90%.

Fin bref tout comme la formule de l'esquive, et qui sait l'esquive du tacle (oui j'accuse les devs de pas nous avoir prévenu , ou alors j'ai pas de chance) , y a un bridage obligatoire pour tomber dans des valeurs justes.
Si quelqu'un retrouve les chiffres du bridage ça m'intéresse sinon ma formule ne sera pas bonne



Citation :
Taux de Coup Critique selon l'Agilité
Formule
La Formule de Calcul pour connaître le taux de CC effectif selon l'Agilité est :

CC Effectif = BaseCC * 2.9901 / Ln(Agilité +12)

Remarque : ça ne marche qu'a partir de Agilité = 8, en dessous pas d'effet.


Exemple
Avec une arme 1/30 cc, un équipement donnant au total +10cc (donc 1/20 cc), et une Agilité de 150, le résultat sera de :

20 * 2.9901 / Ln(150 +12) = 11,75 (toujours arrondi à l'inférieur, donc 1/11)

En ajoutant un équipement qui donne 10cc de plus (donc 1/10 cc), le calcul devient :

10 * 2.9901 / Ln(150 +12) = 5,87 (toujours arrondi à l'inférieur, donc 1/5)

Remarque : Si vous utilisez la calculatrice de Windows, passez en vue scientifique pour avoir accès à la fonction [Ln].

Remarque pour les matheux : j'utilise 2.9901 comme approximation de E *1.1


Trouver l'agilité requise pour être à 1/X CC

La formule ci-dessous donne l'agilité requise pour être à 1/X CC sans aller voir des tableaux comme celui de Barbok ( qui ne sont même pas précis je rappelle ) :



Juste pour ceux qui seront surpris en regardant exposants -1, il faut savoir que si on a une arme avec un taux de CC 1/30, alors le taux de CC c'est 1/30 et pas 30, 30 c'est l'inverse du taux de CC et pas le taux de CC comme le traite abusivement la majorité des joueurs .

Remarque : ajoutez toujours 0,99 à l'inverse du taux de CC effectif que vous voulez avoir, par exemple si vous voulez être à 1/2 sur une arme, alors n'entrez pas 1/2 mais plutôt 1/2.99 , c'est juste pour profiter un peu plus de l'arrondissement fait par Dofus
PS : pour voir la deuxième formule voir le wiki initial

Je reprend cette partie du wiki pour poser une question.
J'ai essayé de mettre en pratique ces formules. or J'arrive à retrouver les première valeurs (premier calcul) .
Pour : Avec une arme 1/30 cc, un équipement donnant au total +10cc (donc 1/20 cc), et une Agilité de 150, le résultat sera de : je trouve bien 11
Avec une arme 1/30 cc, un équipement donnant au total +20cc (donc 1/10 cc), et une Agilité de 150, le résultat sera de : je trouve bien 5

Or celà ce complique lorsque je veux programmer la deuxieme formule.
J'ai réussi à la programmer comme la première vu qu'elle utilise la même logique (je parle des -1)
Or en utilisant en entrée comme valeur
CC de base de l'arme 1/30 (donc 30 dans la formule vu le -1)
CC bonus de l'équipement 20 cc (donc 20 dans la formule)
CC effectif (ou CC voulu) : 1/5 (donc je rentre 5 dans la formule du au -1)

Mon résultat est 383
il y a une marge entre les 2 résultats alors que la formule est la même.

le résultat d'aggrave si on diminue le CC voulu (cc effectif)
Si par exemple on veut comme CC voulu 1/4, la première formule nous dira que 384 agilité suffisent (après quelques essai pour trouver la valeur agilité ou celà passe de 1/5 à 1/4 soit 384 agilité en gardant les autres valeurs).

La deuxieme formule elle sortira comme agilité requise : 1751

Je me suis alors dis que p-e à un moment de la formule il fallait arrondir les nombres à l'entier inférieur pour réussir à avoir le bon résultat.
Or après avoir essayé certains nombres sont proches mais pour d'autre ils sont complètement différent.
Quelqu'un aurait il essayé et à réussir à faire marcher la formule inverse ?

Pour info j'ai utlisé le javascript : Math.log qui correspond au logarythme népérien et Math.exp à la fonction exponentielle.
Justement quand je repart sur la première formule j'obtiens exactement la même formule pour trouver l'agilité que dans le post initial.

Je vais donc faire un exemple ce sera plus parlant.

Pour la première formule :
CC Effectif = BaseCC * 2.9901 / Ln(Agilité +12)

Ce qu'entend l'auteur par BaseCC c'est le CC de l'arme - le bonus des équipements donc si on veut être réglo la formule normale est :

CC Effectif = (CCarme - CCbonus) * 2.9901 / Ln(Agilité +12)
ou CCarme - CCbonus = BaseCC

Donc dans mon cas si je reprend le post initial.
Un mec veut calculer son CC effectif grâce à une arme à 1/30 CC et un bonus de 10CC et 150 en agilité.
donc CC effectif = (30 - 10) * 2.9901 / Ln (150 + 2) = 11,75 (toujours arrondi à l'inférieur, donc 1/11)

Or maintenant si je prend la deuxième formule =

Agilité = Exp ( ( CCarme - CC bonus) *2.9901 / CC effectif) -12

en prenant comme valeurs qu'on veut 1/11 donc 11 en C effectif cela donnerai :
Agilité = Exp ( ( 30 - 10) * 2.9901 / 11) -12

Or ici agilité ne sera pas du tout égale à 150 et sera même de loin supérieure.
Et comme on travaille avec la fonction exponentielle, plus on choisira un CC effectif petit (di genre 1/2 ou 1/3 (rentrer 2 ou 3 dans la formule) et plus l'écart se creusera entre la formule 1 et 2.

Je me demande donc pourquoi cet écart énorme sachant que si il est possible d'avoir un CC effectif voulu pour 400 d'agi par exemple pourquoi la formule nous dit qu'il nous en faudrait plus de 1000 ?

J'espère que quelqu'un à l'aise avec les math saura me trouver ce qui cloche dans ces formules

J'avoue que je n'ai pas encore testé de mettre 11,99 au lieu de 11 quand je veux 1/11 pour bénéficier de l'arrondi de la formule mais je ne pense pas que ça réduira un écart de plus de 600 agilité entre 2 formules.
Comme tu l'as dit, le résultat est tronqué pour le calcul de CC. De ce fait, la valeur que tu as trouvé pour le 1/11, il te suffit juste d'ajouter un seul point en agilité et tu te retrouves en 1/10 (Car Ent(10,9999999999...)=10).
De ce fait, pour passer de 1/x à 1/2 par exemple, il suffit de calculer le minimum d'agilité pour passer de 1/X à 1/3 et de rajouter 1 d'agilité.

De ce fait, si tu veux vraiment connaître l'agilité minimum pour passer de 1/x à 1/y voici la formule :
Agilité = Ent ( Exp ( ( CCarme - CC bonus) *2.9901 / (CC effectif+1)) -11 )
Si on prend CCarme=30, CCbonus=10, CCeffectif=11 alors
Agilité = Ent ( Exp ( ( 30 - 10) *2.9901 / (11 + 1)) -11 ) = 134.
Il te faut donc au minimum 134 d'agilité pour passer de 1/20 (30-10) à 1/11.
Et si on cherche pour faire passer à 1/10, il te faut 218 d'agilité. C'est à dire qu'entre 134 d'agilité et 218, tu passe de 1/20 à 1/11.
De ce fait, on peut trouver :
1/3 à 1/2 : 8 d'agilité.
1/4 à 1/2 : 42 d'agilité.
1/5 à 1/2 : 134 d'agilité.
1/6 à 1/2 : 384 d'agilité.
1/7 à 1/2 : 1060 d'agilité.
1/8 à 1/2 : 2892 d'agilité.
1/9 à 1/2 : 7854 d'agilité.
1/10 à 1/2 : 21300 d'agilité.

Donc prend cette formule pour calculer l'agilité minimum requis (et tu enlèves le +1 du CC effectif et tu enlèves 1 au score finale et ça te donne la valeur maximal d'agilité avant de passer de 1/x à 1/(x-1) (genre de 1/11 à 1/10) :
Agilité = Ent ( Exp ( ( 30 - 10) *2.9901 / (11 + 1)) -11 ) = 134.

(Ent(x) c'est la valeur tronqués de x. Si x=2,95, alors Ent(x)=2. Sur les tableurs, la fonction ENT() existe, mais sur les calculatrices, on retrouve INT() qui fait la même chose).

|NoE|-Attila- : Me semble que ça soit bon.
juste une petite réaction à chaud en lisant le post. Je reviens de manger donc je n'ai pas encore essayé ta formule.

Mais quand tu dis qu'il faut rajouter un point à 'agi ce ne serait pas plutot en retirer un ?
car pour moi si on ajoute un point on aura toujours un 1/11
En revanche si par exemple pour passer à 1/11 il fallait 384 agi alors si la personne met 383 elle aura tjr 1/12.
en passant à 384 elle aura 1/11 car justement on passe à 11,999 et quelques.

Edit : en relisant ton post je m'aperçois juste que c'est au niveau de l'explication qu'il y a un couak. car c'est au CC effectif que tu rajoutes le +1

Je vais tenter

Avant manger j'avais testé ma formule en mettant tjr 2,99 pour 2 ou 7,99 pour 7 et là je tombais des fois sur le résultat exacte mais des fois il y avait quelques points d'agilité en trop sur le minimum requis.

P-e que ta formule va corriger cette petite marge de quelques points.

(je vérifie tjr avec la première formule quand on passe de 1/X à 1/(x-1) ce qui me permet de voir quand la deuxieme me sort un résultat un petit peu supérieur.

Je met en place ta formule et je dis ce que ça donne

j'utilise le javascript pour tester et il ya un fonction Math.floor qui remet à l'entier inférieur tout chiffre flottant



Citation :
Et si on cherche pour faire passer à 1/10, il te faut 218 d'agilité. C'est à dire qu'entre 134 d'agilité et 218, tu passe de 1/20 à 1/11.
Tu ne voulais pas dire qu'entre 134 et 218 tu passes de 1/11 à 1/10 plutôt ?
(pour une un cc initial de 1/20 (30-10)) et un cc voulu de 1/10.

Dans tous les cas ta formule marche parfaitement. je viens de faire plusieurs tests avec les 2 formules pour vérifier l'exactitude du +1 -1 agilité et le changement de CC.

Je reviens sur ce que j'ai dis sur le post précédent. Tes explications sont bonnes. en me penchant dessus avec un papier j'ai fini par comprendre ce que tu voulais dire.

Dis moi si je me trompe.
En gros pour 1/20 (30-10) de basse CC et 1/10 de cc voulu par exemple
On s'arrangera pour calculer le maximum d'agilité possible pour passer non pas de 1/20 à 1/10 mais de 1/20 à 1/11.
Ce résultat nous donnera le maximum d'agilité possible pour avoir 1/11 (si on laissais le -12).
sachant que par exemple si l'agilité maximum est 150 pour garder 1/11 cela vaudra dire que pour 149 on aura tjr 1/11 et ainsi de suite jusqu'à passer à 1/12.

Le fait que tu ne soustrait pas -12 et seulement -11 permet de passer le pallier du 1/11 pour passer au 1/10 grâce à un point supplémentaire.

Je me trompe dans mon raisonnement ou la façon de l'expliquer ?

dans tous les cas merci pour la formule, je n'avais concrètement pas envisagé le calcul comme ça



Pour ceux que ça intéresse, voici la version 1 de mon simulateur Javascript :

Lien site : Simulateur formules Dofus

Toutes les formules n'y sont pas encore mais celles présentes marchent parfaitement.

Le tout en une page HTML/Javascript qui peut donc soit être utilisée sur le site ci dessus, soit téléchargée et à utiliser Hors ligne.
Le code est ouvert et commenté (décrivant la logique utilisée) pour ceux qui voudraient le réutiliser.
Toutefois un petit message en MP est toujours apprécié si vous le réutilisez

Le simulateur actuel permet de calculer les choses suivantes :

- Dégâts des sorts
- Dégâts des armes
- Soins rendus grâce à un sort
- Soins rendus grâce à une arme
- Taux de critique selon l'agilité
- Combien faut il d'agilité pour être à 1/X CC
- % de drop

dans la version 2 il y aura d'autres formules (comme le % de tacle, l'initiative ou bien d'autres). Je n'ai toutefois pas le temps de m'en occuper avant le w-e prochain.

Bon jeu
Bonjour.

Dans l'idée de créer un xel original je me demandais dans quel ordre les calculs de dégât reçus sont positionner?

genre : dégât réel = Dégât theo - résistance - réduction - renvoie.

Ou dans un autre sens? car si on place les res après ou avant le reste ça peut tout changer, enfin je pense j'ai pas pris le temps de faire des essaie de calcul xD.

Si quelqu'un serait m'éclairer a ce sujet ça m'aiderais bcp.

Merci et bye.
Pouk'
en début de réponse je dirai que déjà tu as ce sens là : dégât = dégâts théoriques - résistance

(les résistances sont calculées tjr à la fin)

Ensuite si je prend en compte le vol de vie qui intervient encore après la résistance je dirait que le renvoi va se faire à la fin de la formule.
en tout cas ce serait logique que tu ne renvoie qu'à la fin en fonction des dégâts reçus

Pareil pour les réduction. Avant ou après les résistances ce n'est pas du tout pareil. Si tu mettais les réduction après avoir réduit de 30% ça serait énorme alors que la logique voudrait que tu réduise les dégat dabord par tes réductions puis ensuite par la résistance.

donc je mettrai plutôt ta formule dans ce sens
Dégâts reçus = Dégât theo - réduction - résistance - renvoie.

A confirmer si quelqu'un a fait des tests
Oui, la formule n'est pas à jour, désormais ce sont les caractéristiques élémentaires (chance, agi, intel, force) qui influe sur l'initiative.

Enfin la vita influe toujours, mais uniquement si tu n'as pas tout tes points de vie quand tu rentres en combat.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés