Formule de calcul des PV(constit;niveau)

Ce forum est destiné à recueillir les idées des joueurs en vue de prochaines évolutions.
Répondre
Avatar de l’utilisateur
Gertrude
Petit joueur
Messages : 15
Inscription : 16 févr. 2010 23:38

Formule de calcul des PV(constit;niveau)

Message par Gertrude » 30 juil. 2023 18:42

Je pose cela ici.
Cette formule permet de déterminer par un calcul simple les PV moyens maximum atteignables en fonction de la constitution et du niveau.
(pv moyen dans le sens où les jets de dés sont moyens, maximum dans le sens où on aura pris la constitution dès que possible pour profiter de meilleures augmentation)
-> en pratique, cela doit bien refléter les PV d'un personnage qui aura réellement pris la constitution dès que possible.

Cela pourra être éventuellement utilisé pour revaloriser la prise tardive de constitution, ou pour les outils de recréation de personnage. (je ne sais pas très bien de quoi il s'agit, ne les ayant jamais testés)
(ou alors, ca peut être utilisé pour les admins monstres pour rapidement créer des personnages from scratch)

PV_MAX(Niv;Constit) = Niv*1.5 + Constit/4*(Niv/2+11) - Constit*Constit/8 + k

Exemple :
PV_MAX(50;20) = 75 + 5*(25+11) - 50 + k

k est un terme fixe, qui dépends de la constitution du personnage à sa création.
Si le personnage a été créé avec 6 de constitution, la valeur de k est -5
Si le personnage a été créé avec 16 de constitution, il a profité de sa constitution pour gagner des pv en plus, et la valeur de k est alors de 16,5

Voilà toutes les valeurs en fonction des 11 valeurs de constitution de départ possible :
6 -5
7 -6
8 -0,5
9 -1,5
10 -2,5
11 -3,5
12 6
13 5
14 4
15 3
16 16,5

Maintenant, celle formule n'est exacte que pour les constitutions multiple de 4.
Pour avoir la valeur exacte pour une constitution non multiple de 4, il faut faire le calcul avec la constitution multiple de 4 inférieure (donc, de 31, il faut passer à 28), et ensuite ajouter 3pv par point de constit manquant (en l'occurrence, 3, donc 3*3 = 9)


Du coup, cette formule permet de recalculer le gain exact de pv qu'aurait du faire prendre un point de constitution sur un palier de 4 pour rattraper les pv qu'il aurait eu s'il avait pris cette amélioration avant :
Il est simplement de niveau/2 - Constitution + 3,5 (au lieu de 3 actuellement, à moins que cela n'ait changé)

Exemple en prenant la 24ieme amélioration de constitution en passant au niveau 47 :
47/2 - 24 + 3,5 = 23,5 -24 + 3,5 = 3.
(en effet, on ne peut pas prendre l'amélioration de constitution avant le niveau 47, +3 était donc déjà le maximum)
Y'en a qui bossent ici
Avatar de l’utilisateur
Naikikoul
Maître des dieux du forum
Messages : 3705
Inscription : 05 juil. 2003 18:59
Contact :

Re: Formule de calcul des PV(constit;niveau)

Message par Naikikoul » 02 août 2023 19:04

J'aime bien tout calculer, j'ai même des formules de calcul de dégâts des sorts et aussi des formules pour les soins mais ça, j'avoue ne jamais avoir songé à la faire.

D'autant qu'on obtient des jets max aux passage de niveaux, à priori, tant qu'on est sous la moyenne des jets de PV, du coup, tôt ou tard, on va atteindre la moyenne, à moins d'être un maniaque et de vouloir 60 en constit au niveau 120 et de toujours prendre une amélioration de constit quand c'est possible.

Enfin, merci d'avoir partagé ça, j'imagine. :ange:
Dernière modification par Naikikoul le 08 août 2023 09:11, modifié 1 fois.
Image
Avatar de l’utilisateur
Gertrude
Petit joueur
Messages : 15
Inscription : 16 févr. 2010 23:38

Re: Formule de calcul des PV(constit;niveau)

Message par Gertrude » 04 août 2023 15:26

Veuillez excuser le fil en doublon
Naikikoul a écrit :
02 août 2023 19:04
D'autant qu'on obtient des jets max aux passage de niveaux, à priori, tant qu'on est sous la moyenne des jets de PV
Est ce bien sûr ?
Car le calcul permettant de savoir si on est sous la moyenne, justement, c'est celui que j'indique ici.
(Ou alors le serveur renouvelle une simulation dédiée à chaque passage de niveau ?
Ce ne serait pas très long, mais cela nécessite d'avoir conservé la valeur de constitution de départ.)

J'irais voir le code à l'occasion.
Y'en a qui bossent ici
Avatar de l’utilisateur
Naikikoul
Maître des dieux du forum
Messages : 3705
Inscription : 05 juil. 2003 18:59
Contact :

Re: Formule de calcul des PV(constit;niveau)

Message par Naikikoul » 04 août 2023 20:36

Gertrude a écrit :
04 août 2023 15:26
Naikikoul a écrit :
02 août 2023 19:04
D'autant qu'on obtient des jets max aux passage de niveaux, à priori, tant qu'on est sous la moyenne des jets de PV
Est ce bien sûr ?
C'est inscrit dans le wiki il me semble (il est hors ligne actuellement) ou j'ai obtenu l'info d'un vil optimisateur comme PN ou un autre (oui, il y en a quelques uns) et c'est aussi ce que j'ai pu vérifier depuis mon retour avec tous mes persos et même les familiers.
Oui, il y a un rattrapage et qui se fait avec un calcul bien plus simple à mon avis qui doit être du genre :

(CONSTIT actuelle *2)** + [1+Arrondi inférieur (CONSTIT/4)]/2 x (Niveau -1) = PV max moyen
Si PV max inférieur à PV max moyen gain de PV = jet max au passage de niveau.

**Pas sûr que ce soit ce qui est pris en compte pour le rattrapage, par contre, il se pourrait que la formule actuellement utilisée soit fausse et que cette partie en jeu soit CON de départ x2

Donc, oui, il y a un rattrapage mais pour la formule, faut la chercher sur github :P
Image
Avatar de l’utilisateur
Marlyza
Dieu du forum
Messages : 2595
Inscription : 15 déc. 2017 09:48

Re: Formule de calcul des PV(constit;niveau)

Message par Marlyza » 06 août 2023 17:12

Gertrude a écrit :
04 août 2023 15:26
Veuillez excuser le fil en doublon
Naikikoul a écrit :
02 août 2023 19:04
D'autant qu'on obtient des jets max aux passage de niveaux, à priori, tant qu'on est sous la moyenne des jets de PV
Est ce bien sûr ?

Oui, c'est sûr:

La portion code qui le dit:

Code : Tout sélectionner

    temp := round(floor(v_con / 4));
    gain_pv := lancer_des(1, temp);
    gain_pv := gain_pv + 1;
    pv_max_theorique := cast((2 * v_con + (v_niveau_actu - 1) * (v_con + 12) / 8) as integer);
    if pv_max_actuel + temp + 1 < pv_max_theorique then
        gain_pv := max(gain_pv, temp);
    end if;
~~ Le monde est partagé en 10 catégories de personnes, ceux qui comprennent le binaire et les autres. ~~
Avatar de l’utilisateur
Naikikoul
Maître des dieux du forum
Messages : 3705
Inscription : 05 juil. 2003 18:59
Contact :

Re: Formule de calcul des PV(constit;niveau)

Message par Naikikoul » 09 août 2023 13:05

Marlyza a écrit :
06 août 2023 17:12
Gertrude a écrit :
04 août 2023 15:26
Veuillez excuser le fil en doublon
Naikikoul a écrit :
02 août 2023 19:04
D'autant qu'on obtient des jets max aux passage de niveaux, à priori, tant qu'on est sous la moyenne des jets de PV
Est ce bien sûr ?

Oui, c'est sûr:

La portion code qui le dit:

Code : Tout sélectionner

    temp := round(floor(v_con / 4));
    gain_pv := lancer_des(1, temp);
    gain_pv := gain_pv + 1;
    pv_max_theorique := cast((2 * v_con + (v_niveau_actu - 1) * (v_con + 12) / 8) as integer);
    if pv_max_actuel + temp + 1 < pv_max_theorique then
        gain_pv := max(gain_pv, temp);
    end if;
Il y a une erreur quelque part, potentiellement deux même.

Le wiki:
La Constitution
Cette caractéristique représente la résistance physique d'un personnage. Meilleure sera sa constitution et meilleure sera sa capacité à encaisser les coups, à résister aux poisons et à la fatigue en général.

Les PV max d'origine de votre personnage seront égaux à (Constitution x 2).
Chaque point de constitution ajouté par la suite lors d'un passage de niveau offrira un gain immédiat de 3 PV aux PV actuels du personnage ainsi qu'à ses PV max.
A chaque passage de niveau, votre personnage gagnera un nombre de point de vie aléatoire dont la fourchette dépendra directement de sa constitution. Plus concrètement, il gagnera exactement 1DX +1 PV max, où X = (Constitution / 4).
Je ne sais plus comment ça fonctionne ety si c'est +2 ou +3 PV mais du coup, ça ne coincide pas avec la formule indiquée plus haut qui prend en compte CON x 2 et non pas CON initiale x2 + bonus CON x3.


Pour la seconde: (pas certain mais je vérifierai)

A vérifier mais il me semble que le bonus de rattrapage ne prend pas en compte le +1 dans la formule de gain de PV aka gain au passage de niveau = 1+ 1DX
X étant arrondi inférieur de CON/4
Image
Avatar de l’utilisateur
Gertrude
Petit joueur
Messages : 15
Inscription : 16 févr. 2010 23:38

Re: Formule de calcul des PV(constit;niveau)

Message par Gertrude » 09 août 2023 22:40

Ah, je n'avais pas vu les deux derniers messages.
Alors, effectivement, si github est à jour, il y a effectivement un problème.
Je trouve aussi que la fonction de maximisation ne semble pas donner la valeur maximum, mais la valeur maximum -1. Du coup, pour les constitutions inférieures à 12, ca ne fait rien. (mais elle est sympa, elle offre de prendre le maximum du jet de dé ou du rattrapage, sans quoi les constitutions inférieures à 8 auraient même eu des augmentations limitées à 1pv)

Pour le fait de prendre la constitution x2, ce n'est pas étonnant, la constitution de départ étant probablement perdue. Globalement, la formule avantage un peu tout le monde (puisque la formule considère que l'on a commencé avec notre constitution actuelle), mais certains plus que d'autres (à 1 ou 2 points près ...)
A noter aussi que la formule étant linéaire, il n'y a plus d'effet de seuil, et les pv d'un personnage de 15 de constitution sont beaucoup plus proche de ceux d'un personnage ayant 16 que d'un personnage ayant 12. (en gros, pas besoin de monter à 16 : les des sont moins intéressants, mais on se fait rattraper en permanence)

Et je peux le confirmer par l'experience, puisque sur un personnage ayant moins de 12, j'ai bien des augmentations de pv de 2. (tout en étant en deça du seuil)

En tout cas, une chose est sûre, la formule que j'ai donnée au dessus n'est donc pas correcte. (d'autant que les augmentations de constitution potentielles sont bien plus fréquentes pour les constitutions inférieures à 30, alors que j'avais estimé une augmentation tous les deux niveaux)
Y'en a qui bossent ici
Avatar de l’utilisateur
Marlyza
Dieu du forum
Messages : 2595
Inscription : 15 déc. 2017 09:48

Re: Formule de calcul des PV(constit;niveau)

Message par Marlyza » 10 août 2023 09:22

Naikikoul a écrit :
09 août 2023 13:05
A vérifier mais il me semble que le bonus de rattrapage ne prend pas en compte le +1 dans la formule de gain de PV aka gain au passage de niveau = 1+ 1DX
X étant arrondi inférieur de CON/4
Oui, j'ai peut-être été un peu vite en disant qu'il y avait un rattrapage avec la valeur max:

:arrow: On a X = Constit / 4 (arrondi à l'inférieur)
:arrow: on lance 1DX

Si le perso à un max de PV normal pour sa constit:
:arrow: augmentation est 1DX+1
Exemple, avec constit = 16, X=4 l'augmentation de PV sera une valeur de 2 à 5!

Si les pv max du perso sont en deça de la moyenne:
:arrow: augmentation est la plus grande des 2 valeurs entre X et 1DX+1
Exemple, avec constit = 16, X=4 l'augmentation de PV sera de 4 et avec de la chance de 5!
~~ Le monde est partagé en 10 catégories de personnes, ceux qui comprennent le binaire et les autres. ~~
Avatar de l’utilisateur
pnarcade
Ami des souterrains de Delain
Messages : 2963
Inscription : 25 avr. 2012 14:28
Localisation : Dresden

Re: Formule de calcul des PV(constit;niveau)

Message par pnarcade » 13 août 2023 12:58

Naikikoul a écrit :
04 août 2023 20:36

C'est inscrit dans le wiki il me semble (il est hors ligne actuellement) ou j'ai obtenu l'info d'un vil optimisateur comme PN ou un autre (oui, il y en a quelques uns) et c'est aussi ce que j'ai pu vérifier depuis mon retour avec tous mes persos et même les familiers.
Mdr bien possible, je viens de republier sur le doublon sans faire attention de la file en double 🤣

Je ferai le calcul à l'occasion sur mes persos si le rattrapage de consti à bien fonctionné :-)
Thenshirock vous couche tous avec sa grosse arbalète.

-Qu'est ce que je vous sers?
-Causette!
Répondre