Bienvenue, au départ, je voulais nommer le topic « Toi aussi apprend les mathématiques avec Monster Hunter ! » mais je me suis dit que c’était plus vendeur de dire que ça parlait de statut plutôt que de maths.
Bon, tout d’abord, je ne suis pas un mathématicien, je suis sujet à l’erreur, et j’ai plus vu de suites depuis des plombes, donc je risque de me planter allègrement et de ne pas être super rigoureux, reprenez-moi s’il y a quelque chose à redire s’il-vous-plaît (critiques constructive si possible hein, pas de « t’as pas précisé que "n" appartient à l’ensemble des entiers naturels privé de 0 pauvre clampin, va mourir ! », ça serait cool, merci) !
Bon, et bien commençons.
I. Base mathématique
Le statut s’applique environ une fois tous les trois coups sur le monstre tapé, cela inflige ce que l’on appellera des dégâts de statut qui seront équivalent au score de statut affiché sur l’arme divisé par 10. Il ne ‘agit pas de dégâts réelle, ils ne feront pas diminuer la barre de vie du monstre. On peut plutôt les visualiser comme le remplissage d’une barre de tolérance, sachez aussi que cette « barre » commencera à se vider si vous n’infligez plus de dégâts statut pendant un certain laps de temps.
Nous considérerons que vous tapez assez le monstre pour que les dégâts de statut appliqués sur le monstre ne diminuent. J’espère que vous êtes skillés !
Exemple : arme à 300 de statut, 300/10=30 dégâts de statut par application. Or nous avons environ une application par coup tous les trois coups, nous devons don diviser par 3 ce score pour obtenir la quantité de dégât statut moyen infligé par coup, 30/3=10 de dégâts statut infligé en moyenne par les coups de notre arme.
C’est « dégâts de statut ne feront pas de dommage au monstres mais vont se cumuler jusqu’à atteindre le seuil de tolérance de celui-là. On obtient donc :
[nombre de coups] × [application par coup] = [dégâts de statut appliqués]
On cherche à ce que :
[dégât de statut appliqué] = [tolérance du monstre]
Donc :
[nombre de coup] × [application par coup] = [tolérance du monstre]
Ici l’inconnu est le paramètre [nombre de coup], c’est ça que nous allons chercher, on obtient donc :
[nombre de coup] = [tolérance du monstre] / [application par coup].
Exemple : prenons la même arme que précédemment contre un monstre ayant une tolérance initiale de 100, il faudra, en moyenne, 100/30≈3.
Maintenant, que se passe-t-il après application du statut ? Bah le monstre à une augmentation de tolérance qui vient s’appliquer.
Exemple : monstre avec une tolérance initiale de 100 au statut, avec une augmentation de tolérance de 50 (vous aurez reconnus la tolérance du basarios au sleep, bien entendu), après le première effet de statut obtenu sur le monstre, on a donc, un nouveau seuil de 100+50=150 de dégâts statut à appliquer afin d’infliger une seconde fois le statut. Après le deuxième statut infligé, on obtient : 150+50=200 de tolérance, etc.
On peut modéliser ceci à l’aide d’une suite arithmétique de raison r = [augmentation de tolérance] et de premier terme u(0) = [tolérance initiale]. On peut alors la définir de deux manières :
- u(1) = [tolérance initiale] ; u(n+1) = u(n) + [augmentation de tolérance] (définition par récurrence)
- u(n) = u(1) + (n-1) × [augmentation de tolérance] = [tolérance initiale] + (n-1) × [augmentation de tolérance] (définition explicite)
Où n est le nombre de fois où le statut a été infligé au monstre et u(n), la tolérance du monstre en fonction du nombre de fois où le statut lui a été appliqué.
Je ne sais pas si en toute rigueur je devrais démontrer mathématiquement ces relations, mais je vous l’ai déjà dit, je ne suis pas mathématicien, donc je me servirai de la démonstration suivante : « c’est trivial ».
Exemple : Reprenons notre Basarios auquel nous infligeons le statut « sleep », pour rappel, [tolérance initiale]=100 et [augmentation de tolérance] = 50
-On cherche la tolérance du monstre pour lui avoir infligé le statut « sleep » :
u(1) = (1-1) × 50+100=100 (cohérent n’est-ce pas)
Cette tolérance augmente jusqu’à la tolérance limite du monstre.
Exemple : la tolérance limite de notre monstre est de 300, nous allons chercher à partir de quelle valeur de n=nmax, u(n=nmax)=300.
u(n) = 300 = (n-1) × 50 + 100 ⇔ n-1 = (300-100)/50 = 200/50 = 4 ⇔ n =nmax = 4+1 = 5
Donc, le 5ème sleep et les suivant requerront donc d’infliger 300 dégâts de statut à chaque fois.
De manière plus générale :
nmax = ([tolérance maximale] - [tolérance initiale])/ [augmentation de tolérance] + 1
Il existe des talents pour améliorer les dégâts statut infligés aux monstres. L’un des plus populaire (si ce n’est le plus populaire) est affliction+2 (que je risque d’appeler statut+2, veuillez m’en excuser).
Affliction+2 permet d’infliger 1.225 fois plus de dégât statut par application.
Donc, voilà, fin de l’intro, rien de révolutionnaire ici, n’est-ce pas ? Mais une question se pose et à fait débat sur ce forum : affliction+2 est-il vraiment rentable ? Et dans quelle mesure ? Est-ce que je serai plus efficace avec ? Serai-je enfin utile si j’investis pour inclure ce talent dans mon mix ? Mes amis arrêteront ils de me dénigrer ? Ma femme / Mon mari (ne soyons pas sectaire, il y a aussi des homosexuels qui jouent aux jeux vidéo !) reviendra-t-elle/il ? Tant de questions restant sans réponses…
Et donc, l’intro au-dessus, elle nous sert à pas grand-chose en fait (enfin, si parce que toute la suite va se baser dessus mais je ne m’en étais pas rendu compte à ce moment en fait XD)! Parce que ce qui va nous intéresser dans l’absolue c’est le nombre de fois qu’il sera possible d’infliger un statut durant une quête. Et pour ça, il faut travailler autrement !
Donc comment faire ?
II. Développement du modèle
Bah, en gros, on va chercher la quantité de statut au total pour atteindre le n-ième effet de statut.
Nous allons donc créer une « supertolérance » (que l’on nommera &, parce que j’ai pas d’autre idée)qui sera la somme de la tolérance du monstre Pour atteindre le n-ième effet de statut, et des tolérances précédentes, vous visualisez l’idée ?
Exemple : Basarios, 100 de tolérance initial et 50 d’augmentation de tolérance.
On a donc une tolérance de u(2) = 150 après le premier sleep, MAIS, une « supertolérance » :
&(2) = u(1) + u(2) = 100 + (100 + (2-1) × 50) = 250
Et pour atteindre le troisième sleep, la « supertolérance » :
&(3) = u(1) + u(2) + u(3) = 250 + (100 + (3-1) × 50) = 450
Globalement : &(n)= ∑ u(i) avec i entier naturel variant de 1 à n
Donc, &(n) = u(1) + u(2) + u(3) + … + u(n-1) = [tolérance initiale] + (1-1) × [augmentation de tolérance] + [tolérance initiale] + (2-1) × [augmentation de tolérance] + [tolérance initiale] + (3-1) × [augmentation de tolérance] + … + [tolérance initiale] + (n-1) × [augmentation de tolérance]
&(n) = n × [tolérance initiale] + (0 + 1 + 2 + … + n-1) × [augmentation de tolérance]
0 + 1 + 2 + … + n-1 est la somme des entier naturelle de 0 à n-1, il s’agit d’une somme connue.
La somme des entiers naturels de 0 à n s’exprime de la manière suivante :
S(n) = n(n+1)/2, soit, S(n-1) = (n-1)n/2
Donc, &(n) = n × [tolérance initiale] + (n-1)n/2 × [augmentation de tolérance]
Exemple : on veut endormir le Basarios 5 fois. On a donc
&(5) = 5 × 100 + (5-1) × 5/2 × 50 = 500 + 10 × 50 = 1000 de dégât de statut à infliger pour obtenir le 5ème sleep.
Cohérence : 1er sleep – 100 ; 2ème – 150 ; 3ème – 200 ; 4ème – 250 ; 5ème – 300
Or 100+150+200+250+300 = 1000
Donc le résultat est bon, notre formule semble cohérente et utilisable ! Vous commencez à voir l’intérêt du machin ? Non parce que le premier calcul était beaucoup moins chiant à faire finalement, suffit de mettre les valeurs dans les petites cases !
Ca semble bien fonctionner, mais ceci n’est valble que tant que la tolérance maximale n’est pas atteinte, il faudra donc calculer &max=&(nmax) puis adopter une autre description pour continuer par la suite.
Pour calculer &max, il faut d’abord trouver nmax, or, on a vu que :
nmax = ([tolérance maximale] - [tolérance initiale])/ [augmentation de tolérance] + 1
Ainsi, une fois la tolérance max atteinte, la « supertolérance » &’(m), avec m>nmax, s’exprime sous la forme d’une suite arithmétique de raison r = [tolérance maximale] et de premier terme &’(m=nmax) = &max, on peut donc la définir ainsi :
- &’(m=nmax) = &max ; &’(m+1) = &’(m) + [tolérance maximale] (définition par récurrence)
- &’(m>nmax) = (m-nmax) × [tolérance maximale] + &max (définition explicite)
Exemple : On veut endormir 7 fois le Basarios
On a nmax = 5 donc &max = &(n=5) = 1000
&’(7) = (7-5) × 300 + 1000 = 1600 de sleep à infliger
Cohérence : 1000+300+300 = 1600, je pense que c’est bon là, hein.
Voilà, on a un truc plutôt classe qui semble bien marcher, cool non ?
III. Conclusion(s) ?
Bon, et affliction+2 dans tout ça ? Bah maintenant, on va pouvoir s‘en occuper.
Il est évident que pour appliquer n fois l’effet d’un même statut :
[nombre de coups nécessaire] = [supertolérance du monstre] / [statut appliqué par coup]
(Sisi, je vous assure !)
Et justement, [statut appliqué par coup] est le paramètre qui varie en fonction du talent affliction !
Donc, on y arrive !
Application :
Prenons un Basarios (un avec ENORMEMENT de pv, non, vraiment), on veut l’endormir 12 fois pendant la quête
nmax = (300 – 100)/50 + 1 = 5 ; or 5<12, donc la tolérance max sera dépassée
&(12) = &’(m=12)
&(12) = (12-5) × 300 + 5 × 100 + (5-1) × 5/2 × 50
&(12) = 7 × 300 + 500 + 10 × 50
&(12) = 2100 + 1000
&(12) = 3100
On devra donc appliquer 3100 de statut
Notre arme affiche un statut à 300, 300/(10 × 3) = 10, elle inflige donc 10 de statut par coup en moyenne sans affliction+2.
Or : [nombre de coups nécessaire] = [supertolérance du monstre] / [statut appliqué par coup]
Donc, il faudra donner 3100/10 = 310 coups, en moyenne pour l’endormir 12 fois, sans affliction+2
Avec affliction+2, notre arme inflige 1.225 fois son statut, donc, elle inflige 12.25 dégâts de statut par coup.
Donc, il faudra alors donner 3100/12.25 = 253 coups pour l’endormir 12 fois.
Soit une différence de 310-253 = 57 coups
Voilà enfin des chiffres concrets quant à l’utilité de affliction+2.
C’était un peu long.
Maintenant, voyons si nous pouvons calculer le nombre maximum de fois où nous pouvons endormir le basarios en utilisant la SnS.
Pointe Plesiperce +
322 Raw
330 Som
0% Affinité
Nous supposerons que nous avons tranchant+1 comme talent actif et que le tranchant blanc est équivalent au tranchant violet. Au vu de la taille du tranchant violet de l’arme, nous n’aiguiserons qu’à la fin du tranchant blanc. Nous taperons donc autant en tranchant violet qu’en tranchant blanc.
Nous ne taperons pas non plus pendant le sommeil (on veut maxer le nombre de sleep pour une étude théorique, si vous voulez faire plus réaliste, allez-y, j’ai la flemme pour le moment, je fais tout ça en one-shoot et c’est plutôt long… Désolé si ça manque de rigueur).
(1.44+1.32)/2=1.38 de multiplicateur moyen dû au tranchant.
Multiplicateur de la SnS : 1.4
En prenant en compte le « motion value » du combo « X,X,A,A » de la SnS (pas sûr que ce soit le plus opti niveau dps mais c’est ce qui me semble être le combo généralement utilisé en speedrun, merci de me corriger si je me trompe), on arrive à un motion value d’environ 17.
Nous supposerons que nous visons les pattes du Basarios (25%) durant toute la quête.
Nous infligeons donc 322/1.4 × 0.17*0.25 × 1.38 ≈ 13.5 points de dégâts par coup.
Le Basarios G a 2904hp
2904/13.5 ≈ 215 coups pour tuer un bassarios G avec cette SnS
Travaillons d’abord sans affliction+2
On applique 330/30=11 de sleep par coup sans affliction+2
Soit 11 × 215 = 2365 de dégât sleep sur toute la quête
&max = 1000, on a donc dépassé la tolérance maximale.
Donc &’(m)=2365
m = (&’(m)-&max)/ [tolérance maximale] +nmax
m = (2365-1000) / 300 + 5
m = 9.55
On troncature le résultat
m = 9 sleep sur une quête sans affliction +2
On applique 11×1.225 ≈ 13.5 de sleep par coup avec affliction+2
Soit 13 × 215 = 2795 de sleep sur la quête
De la même manière :
m’=(2795-1000) / 300 + 5
m’= 11 (on va être sympa)
On gagne ainsi 2 sleep sur toute la quête dans de conditions où nous cherchons absolument à infliger du statut.
Le calcul peut-être fait pour d’autre monstres, notament, un plus résistant au statut. Par exemple, le Brachydios à qui nous tenterons d’infliger le statut « poison »
Nous prendrons la SnS Rathian dorée en faisant les mêmes approximations que précédement, de plus nous négligerons l’effet du poison. Nous viserons les pattes arrières (30%).
(Désolé du manque de rigueur mais je n’ai vraiment pas le courage d’essayer de prendre en compte ces 60 points de dégâts à chaque application, de plus, je ne sais pas vraiment comment faire pour le moment.)
Rose Lunatique
406 Raw
310 Psn
0% Affinité
[Dégâts par coup] = 406/1.4 × 0.17*0.3 × 1.38 ≈ 20
Le Brachy G a 4600 × 1.21 = 5566hp (ça fait une belle collection de calculette !)
Soit 5566/20 = 278 coups à donner en moyenne pour le tuer
Sans affli+2
On inflige 310/30 ≈ 10.33 psn par coup
Soit 10.33 × 278 ≈ 2876 de psn sur la quête
nmax = (750 – 150) / 150 +1 = 5
m = (2365 – (5 × 150 + 10 × 150)) / 750 + 5 ≈ 5
Avec affli+2
10.33 × 1.225 = 12.65
12.65 × 278 ≈ 3518
nmax = 5
m = (3518 – (5 × 150 + 10 × 150)) / 750 + 5 ≈ 6.7
Par rigueur, on troncature le résultat
Donc 6 empoisonnement, soit un empoisonnement bonus à l’aide d’affliction+2
Pour ce qui est de la rentabilité, je pense que le mieux reste d’étudier d’autres cas et d’en discuter dans les commentaires, vous ne pensez pas ?
Formulaire :
- [nombre de coups nécessaire] = [supertolérance du monstre] / [statut appliqué par coup]
- nmax = ([tolérance maximale] - [tolérance initiale])/ [augmentation de tolérance] + 1
- &(n⩽nmax) = n × [tolérance initiale] + (n-1)n/2 × [augmentation de tolérance]
- &’(m>nmax) = (m-nmax) × [tolérance maximale] + &max
Voilà, n'hésitez pas à critiquer, poser des question, vous offrir une longue séance de plaisir solitaire pour assouvir vos bas instinct éveillés par la magnificence de cet article. N'hésitez pas à me corriger s'il vous semble qu'il y a des erreurs.