Addon WoW Retail oriente groupe / raid qui observe ENCOUNTER_LOOT_RECEIVED, estime si un item de boss est interessant pour la specialisation active et aide a voir rapidement quoi garder, quoi demander et quoi ignorer.
- Detecte les loots de boss.
- Verifie si l'item est equipable par le joueur local.
- Rejette les pieces d'armure qui ne correspondent pas a l'armure principale de la classe.
- Score l'objet avec l'ilvl et les stats secondaires pour la spe active.
- Compare ce score avec l'equipement actuellement porte.
- Marque un item en
BiSsi sonitemIDest enregistre pour la spe active. - Partage les interets des joueurs ayant aussi l'addon via
CHAT_MSG_ADDON. - Affiche une fenetre de loot avec verdict visuel, filtres et actions rapides.
- Permet d'utiliser
Need!,Roll,Fast MPetMPdirectement depuis la ligne d'un item. - Memorise les whispers deja envoyes et applique un cooldown court sur
Fast MP. - Separe l'historique des instances par personnage tout en gardant les parametres partages.
- Peut charger des priorites de stats et listes BiS depuis un addon compagnon
WhoNeeds_Data.
- Pour voir la liste complete des joueurs interesses, il faut que les autres membres aient aussi l'addon.
- Les poids de stats par defaut sont generiques par role/categorie de spe. Ce n'est pas encore une base BiS complete par classe/spe.
- Sans
WhoNeeds_Data, l'addon fonctionne en mode fallback avec des poids generiques. Un message explique au login comment installer le pack de donnees. - Les objets tres particuliers (trinkets a proc, effets uniques, armes avec logique speciale) ne sont pas encore evalues finement.
- La cle de regroupement des loots est simple. Deux items strictement identiques lootes par le meme joueur sur le meme boss peuvent se fusionner dans l'affichage.
/whoneeds: affiche ou masque la fenetre./whoneeds data: affiche l'etat du pack de donnees./whoneeds msg <texte>: change le message utilise parMPetFast MP./whoneeds bis add <itemID>: ajoute un item a la liste BiS de la spe actuelle./whoneeds bis remove <itemID>: retire un item de la liste BiS de la spe actuelle.
- Copier le dossier
WhoNeedsdansWorld of Warcraft\_retail_\Interface\AddOns\. - Copier le dossier
WhoNeeds_Dataau meme endroit si tu veux les priorites de stats et BiS packages. - Verifier que chaque dossier contient bien son fichier
.toca la racine. - Lancer le jeu puis activer les addons.
WhoNeeds/
|- WhoNeeds/
| |- WhoNeeds.toc
| |- Data.lua
| |- Analyzer.lua
| |- UI.lua
| `- Core.lua
|- WhoNeeds_Data/
| |- WhoNeeds_Data.toc
| `- WhoNeeds_Data.lua
`- scripts/
|- generate_whoneeds_data.py
`- update_whoneeds_data.cmd
WhoNeedscontient la logique de scan, de scoring, l'UI et la communication de groupe.WhoNeeds_Datacontient les priorites de stats et les listes BiS.- Si
WhoNeeds_Datamanque,WhoNeedsaffiche un message explicatif et continue en mode fallback.
WhoNeedsDBcontient les options partagees entre tes personnages.WhoNeedsCharDBcontient l'historique des instances et l'etat de vue par personnage.- Les filtres et preferences restent communs, mais les loots affiches ne sont plus partages entre tes rerolls.
- Les priorites de stats et les listes BiS de
WhoNeeds_Datasont generees automatiquement depuismurlok.io. - Le script
scripts/generate_whoneeds_data.pyvisite les pages PvE de chaque spe, extrait les priorites de stats secondaires et les items de gear, puis reecritWhoNeeds_Data/WhoNeeds_Data.lua. - Le fichier genere expose ces donnees dans
_G.WhoNeedsExternalData. - La metadonnee
sourcedu pack genere vaut actuellementmurlok.io live scrape.
Schema simplifie :
murlok.io
|
v
scripts/generate_whoneeds_data.py
|
v
WhoNeeds_Data/WhoNeeds_Data.lua
|
v
_G.WhoNeedsExternalData
|
v
WhoNeeds charge les donnees au login
En pratique :
WhoNeedscharge_G.WhoNeedsExternalDataau login.- Si le pack est present, les donnees par spe ecrasent les poids generiques de base.
- Si le pack est absent, l'addon reste utilisable avec des poids fallback plus simples.
Le systeme fonctionne en 3 couches :
- Une base generique par grande famille de spe :
TANKHEALERCASTERRANGEDMELEE
- Une surcharge optionnelle venant de
WhoNeeds_Datapour la spe exacte. - Une surcharge locale optionnelle depuis la base sauvegardee (
WhoNeedsDB) si tu modifies manuellement des poids.
La stat principale utilisee est detectee automatiquement depuis la spe active :
STRENGTHAGILITYINTELLECT
Donc, pour une spe donnee, l'addon construit des weights finaux en partant d'un profil generique, puis en appliquant les donnees specifiques de la spe si elles existent.
Chaque item recoit un score numerique. Ce score sert uniquement a comparer l'objet loote a ton equipement actuel.
Schema simplifie :
Spe active
|
+--> role/categorie -> poids generiques
|
+--> WhoNeeds_Data -> surcharge de poids par spe
|
+--> DB locale -> surcharge manuelle eventuelle
|
v
weights finaux
Item loot
|
+--> item level
|
+--> stats (main stat, stamina, haste, mastery, crit, vers)
|
v
score item = (ilvl * poids_ILVL) + (stats_ponderees / 12)
Formule :
score = (itemLevel * poids_ILVL) + (somme_des_stats_ponderees / 12)
La somme des stats ponderees inclut :
- la stat principale (
Strength,AgilityouIntellect) StaminaHasteMasteryCritVers
Exemple conceptuel :
- si une spe prefere
HasteaCrit, alors 100 Haste rapporteront plus de score que 100 Crit. - l'
item levelgarde un poids important, donc un objet plus haut ilvl monte vite dans le classement.
Le diviseur / 12 sert simplement a garder la contribution des stats dans une echelle raisonnable par rapport a l'ilvl.
Une fois le score calcule :
- L'addon verifie d'abord si l'item est equipable par la classe et si l'armure correspond bien au type principal de la classe.
- Il identifie le slot a remplacer.
- Il compare le score du loot au score de l'objet actuellement equipe dans ce slot.
- Il calcule
delta = score_nouveau - score_actuel.
Le resultat affiche suit cette logique :
BiS: l'itemIDest present dans la liste BiS de la spe active.Upgrade: il n'y a rien equipe dans le slot, oudelta >= majorUpgrade.Sidegrade:delta >= minUpgrade.Pass: sinon.
Par defaut :
minUpgrade = 3majorUpgrade = 12
Ces seuils sont stockes dans la configuration et peuvent etre ajustes.
Schema simplifie :
Item loot
|
+--> equipable ? non -> PASS
|
+--> oui
|
+--> item dans la liste BiS de la spe ? oui -> BIS
|
+--> non
|
+--> calcul du score du loot
+--> calcul du score de l'item equipe
+--> delta = nouveau - actuel
|
+--> delta >= majorUpgrade -> UPGRADE
+--> delta >= minUpgrade -> SIDEGRADE
+--> sinon -> PASS
- Anneaux, bijoux et armes a une main : l'addon compare contre le moins bon des deux slots concernes.
- Arme 2M : l'addon compare contre la somme du score main main + off hand actuellement equipes.
- Si l'objet n'est pas equipable, il est classe
Passavec une raison explicite.
- Le score est un heuristique simple, pas une simulation.
- Les trinkets a proc, effets uniques, bonus de set, embellishments, armes speciales et interactions de talents ne sont pas modelises finement.
- Une liste
BiSpeut forcer l'etatBiSmeme si la formule de score brute ne rend pas l'objet visiblement superieur. - Les donnees
murlok.iorepresentent une source externe orientee meta, pas une verite absolue pour tous les joueurs.
- Le script
scripts/generate_whoneeds_data.pyrecupere automatiquement les priorites de stats et les items BiS depuismurlok.io. - Il decouvre les spes tout seul, telecharge les pages PvE, puis reecrit
WhoNeeds_Data/WhoNeeds_Data.lua. - Tu peux le lancer directement avec Python :
python scripts/generate_whoneeds_data.py- Ou via le lanceur Windows :
scripts\update_whoneeds_data.cmd- Pour generer les donnees raid au lieu de Mythic+ :
scripts\update_whoneeds_data.cmd --content raid- Pour tester une seule spe :
python scripts/generate_whoneeds_data.py --spec paladin/protection --stdout- La source actuelle du pack genere est
murlok.io, et le fichier produit contientupdatedAt,contentTypeetseason.
- Ajouter une vraie configuration en UI pour les stat weights par spe.
- Importer des listes BiS par saison et par specialisation.
- Gerer des templates de whisper differents selon le contexte.
- Afficher l'emplacement remplace et la difference exacte de score dans l'interface.