Actuellement le calcul est en fait en 3 cas distinct :
-
Si un personnage n'est pas 7* : Seul les étoiles sont prises en comptes
-
Perso est 7* mais pas G13 : on prend en compte Gear et l'objectif Reliques.
-
Perso est G13 : On prend en compte que les reliques.
-
Incohérence entre perso 6* et 7* :
ça peut donner, pour les joueurs plus modestes n'ayant pas encore les pré-requis 7*, une mauvaise vision de là ou ils sont en réellement :
Exemple :
Un perso 6* G1 est a 60% d'avancement. On le up 7* : il passe à 6%, le progrès global de la GL recule.
Autre cas : Un perso 6* G1 et un perso 6* G11 sont au même niveau (ce qui n'est pas vrai) et cette distinction ne sera visible qu'une fois la 7* étoile atteinte pour les 2.
- Les progressions (étoiles, gear & reliques) ont autant d'impacte quelque soit le niveau atteint.
Par exemple : passer de la 2e a la 3e étoile à autant de poids que de la 6e à la 7e.
même principe pour les Gear et Reliques, mais on sait bien que plus on monte plus c'est long.
Propositions :
Ne faire qu'un seul calcul prenant en compte les 3 (étoiles - Gear - Reliques) en 1 coup.
Je vais envoyer le code pour une PR mais voici le principe :
-
Au début du fichier Tools.js on ajoute 3 tableau de "Pondération"
Pour les étoiles : Le nombre de Shard (cumulés) requis.
Pour les Gear et Reliques : Une valeur arbitraire de difficulté, cumulé toujours. Plus le pas est important plus on considère qu'il est dur de passer de l'un à l'autre.
-
Plus bas dans le fichier, lors du calcul du progress :
On commence par calculer la "part" de pourcentage alloué au étoiles, gear et relique en fonction des requis. Les étoiles sont fixes a 25%.
Les reliques sont sur 20 % * niveau requis / 9 (ici on permet de distinguer entre un perso qui a besoin de R3 ou R5 ou R8)
Le Gear prend ce qu'il reste pour arriver a 100%
-
On enchaîne par Le calcul en soit :
(Nombre de fragments cumulées acquis pour l'étoile actuel / nombre de fragments cumulées pour le niveau 7) * pondération de la partie des étoiles.
- (Poids du niveau actuel de Gear / Poids du niveau de Gear Requis) * pondération du Gear
- si Relic > 0 (sinon sert à rien de calculer) : (Poids du niveau de Relique actuel / poids du niveau de Relique souhaitée) * pondération de la partie relique.
Le reste du code ne change pas pour afficher les messages en fonction de la ou on en est (étoiles ou Gear ou Relique), mais le % d'avancement ne sera pas recalculé.
PS : Sur le discord je suis Hhaseo (j'avais évoqué ça y a quelque semaines).
Actuellement il tourne sur mon serveur perso et est branché à un discord de test et un vieux discord de ma guilde (plus utilisé) pour avoir l'avis d'autre membre. Ils semblent assez content du changement pour ceux que ça concerne (les lvl comme moi avec un inventaire pas trop fourni de perso 7*)
Si tu veux aller tester le comportement sans forcément devoir redéployer chez toi hésite pas à me contacter je t'inviterais sur mon serveur de test.
PS : Maintenant faut que je regarde comment faire une PR sur un dépôt publique qui est pas le miens, j'arrive^^)
PS Bis : Bien sur toutes les valeurs (pondération de la difficulté des étoiles / gear / reliques et répartition du % global entre étoiles, Gear et Reliques sont des valeurs arbitraire que j'ai mis qui m'inspirait, mais cela peut s'ajuster comme on veux :)