Actualiser Contraintes

Esenjin_Asakha 2024-11-07 15:35:22 +00:00
parent 86b444dcfd
commit 2d9125c888

@ -1,4 +1,51 @@
Liste des contraintes à garder en tête lors du développement du bot.
### Liste des contraintes à garder en tête lors du développement du bot.
- N'utiliser que des valeurs en nombres entiers (tout arrondir si nécessaire), pour les statistiques.
- Temps souhaité pour une personne ayant une activité "normale" pour passer d'un rang à un autre : 1★ à 2★ une journée, 2★ à 3★ deux semaines, 3★ à 4★ deux mois, 4★ à 5★ six mois, puis neuf mois pour chaque constellation au-delà.
### Utilisateur moyen
Nous considérons (actuellement) l'activité d'un "utilisateur moyen" comme suit :
- Il reste 1 heure par jour en vocal (12 x 5 min).
- Il publie 50 messages "normaux" (dans un salon avec une activité dite "normale").
- N'est pas donateur Nitro/Tipeee.
### Valeurs d'xp
- 1★ à 2★ : 1.000 xp (200 xp par quart de ☽)
- 2★ à 3★ : 15.000 xp (3.000 xp par quart de ☽)
- 4★ à 5★ : 80.000 xp (16.000 xp par quart de ☽)
- Constellation : 125.000 xp pour chacune
- 1 message "normal" : 7 xp
- 5 min en vocal : 55 xp
L'xp donné est toujours un nombre entier.
### Activité des salons
- On considère 100 messages pour un salon "actif", en dessous "peu actif", au-dessus "très actif".
### Taille des messages
- On considère 100 caractères pour un message "normal", en dessous "court", au-dessus "long".
## Toutes les formules
### Calcul de l'xp d'un message
- Le **nombre de messages sur les dernières 24h** dans un salon donné est noté « δ ».
- Le **coefficient d'activité du salon**, noté « λ », se calcul ainsi :
Si `δ ≤ 100` alors utiliser cette formule : `λ = 2 - ( δ / 100 )`, si `δ [ 101 ; 285 ]` alors utiliser cette formule `λ = ( δ / 100 ) ^ -1`, et si `δ > 285` alors prendre `λ = 0,35`.
On arrondit tout à deux décimales.
- La **longueur d'un message** est noté « ρ ».
- Le **coefficient de longueur du message**, noté « ε », se calcul avec exactement les mêmes formules :
Si `ρ ≤ 100` alors utiliser cette formule : `ε = 2 - ( ρ / 100 )`, si `ρ [ 101 ; 285 ]` alors utiliser cette formule `ε = ( ρ / 100 ) ^ -1`, et si `ρ > 285` alors prendre `ε = 0,35`.
On arrondit tout à deux décimales.
- Le **coefficient d'xp P2W** (boost Nitro/dons Tipeee) est noté « μ ».
Pas de formule, on a : `μa = 1,5` pour les boosts Nitro, pour les donateurs Tipeee : "Le Potionnier Amateur" `μb = 1,1`, "Le Pixel Artiste Philanthrope" `μb = 1,2`, "Le Joueur Engagé " `μb = 1,5`, "Le Gardien de la Sagesse " `μb = 2` (les rôles Discord portent le même noms).
Si quelqu'un boost avec Nitro en plus de donner sur Tipeee, on additionne les deux valeurs, on a alors `μ = μa + μb`.
- Le **coefficient final** est noté « α » et est calculé ainsi :
`α = λ + ε + μ`
### Attaque/défense
Pour chaque rôle on calcul ainsi :
- **Protecteur d'Adamant** : attaque en Astral, `dégâts infligés = ( ( Astral + Impact ) x bonus/malus élémentaire ) - ( Aura ennemi x bonus/malus élémentaire )`.
- **Gardien d'Obsidienne** : attaque en Impact, `dégâts infligés = ( ( Impact + Astral ) x bonus/malus élémentaire ) - ( Égide ennemi x bonus/malus élémentaire )`.
- **Comète de l'Aube** : attaque avec la valeur Astral, `dégâts infligés = ( ( Astral + 50% Impact ) x bonus/malus élémentaire ) - ( Aura ennemi x bonus/malus élémentaire )`.
- **Éclipse du Crépuscule** ; attaque avec la valeur Impact, `dégâts infligés = ( ( Impact + 50% Astral ) x bonus/malus élémentaire ) - ( Égide ennemi x bonus/malus élémentaire )`.
- **Archimage Céleste** ; attaque en Astral, `dégâts infligés = ( Astral x bonus/malus élémentaire ) - ( Aura ennemi x bonus/malus élémentaire )`.
- **Lame Stellaire** ; attaque en Impact, `dégâts infligés = ( Impact x bonus/malus élémentaire ) - ( Aura ennemi x bonus/malus élémentaire )`.