Le nom du résultat et les outils débordaient de la fiche (largeur de 800
de la fiche camelot normale) : ils suivent la règle de la fiche réduite de
camelot, 250 de large sur plusieurs lignes, et ce qui suit descend sous eux
quand ils dépassent sa place. Les composants passent au pas de 163 pour que
la deuxième colonne reste dans la fiche de 360. Écart noté dans NOTES.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
« Reagents: » venait de la table de textes de ForeverUI (anglais et
français seulement) : la page affiche SPELL_REAGENTS, le libellé de la
fenêtre de 3.3.5, sans le saut de ligne prévu pour les infobulles de sorts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Le client 3.3.5 refuse un texte comme propriétaire d'infobulle
(« GameTooltip:SetOwner(): Wrong object type, expected frame ») : la ligne
de recette en devient propriétaire, et l'infobulle est placée sur le nom
comme ANCHOR_RIGHT le faisait.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pendant le chargement des objets d'un métier, le client envoie un
TRADE_SKILL_UPDATE par objet reçu (433 mesurés sur la Forge), et chacun
refaisait toute la page. Le premier appel d'une image rafraîchit tout de
suite ; les suivants de la même image donnent un seul rafraîchissement à
l'image suivante. UpdateButtons reçoit le résultat de la boucle des
réactifs au lieu de les relire.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sans aucun groupe (guerrier, voleur, prêtre, chaman, chevalier de la mort,
bas niveaux), le menu volant n'avait aucun fils protégé : sa poignée était
refusée en combat (« Invalid frame handle »), et chaque onglet, page,
réglage ou fermeture du grimoire levait une erreur. Il est désormais
explicitement protégé (SecureFrameTemplate).
En combat, l'ouverture du grimoire masquait depuis l'addon SpellButton1..12,
que le client vient de réafficher et qui sont protégés : action bloquée à
chaque ouverture. Ils ne sont plus que rendus transparents en combat. Le
bouton de taille, sécurisé, était ancré au bouton de fermeture du client,
qui devenait protégé alors que son niveau est reposé à chaque ouverture :
il s'ancre au livre, au même endroit.
L'environnement restreint garde chaque extrait exécuté, compilé, toute la
session (clés chaînes jamais collectées) : les données publiées, plusieurs
centaines de kilo-octets, ne partent plus que si elles changent, l'état
dans un petit extrait à part. UNIT_PET des autres membres du groupe ne
recalcule plus le grimoire.
Métiers : un enchantement n'a pas de compteur, et le compteur caché gardait
le nombre de la recette précédente (0 si elle n'était pas faisable) ; la
création en lance un, comme le champ caché de 3.3.5.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KxRZNHkq453dyUMcWsyUf1
La page d'artisanat montrait une ligne par recette (des centaines),
toutes replacées à chaque image quand la fenêtre bougeait ou défilait.
Seuls les éléments dans la zone visible reçoivent désormais une ligne.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Traduction
- Identifiants en anglais dans tout le module : addon, ecrans d'accueil,
outils Python, banc d'essai et patcheur C#.
- Fichiers au nom francais renommes (Gabarits.lua -> Templates.lua,
Textes_*.lua -> Texts_*.lua, deployer.py -> deploy.py,
tools/patcheur -> tools/patcher, etc.).
- Commandes /fui et options de deploy.py en anglais (--check, --server,
--remove-dbc).
- Cles des variables sauvegardees et de data/dbc/statistics.json
traduites, sans reprise des anciennes cles.
- API de la micro-barre : ForeverUI.AddMicroButton(def) avec les champs
name, atlasSet, after, tooltip, onClick, ready, et
ForeverUI.UpdateMicro(name, isOpen).
- Commentaires reecrits en anglais, courts, sans dates ni historique ;
les fonctions au nom peu parlant et leurs parametres sont expliques.
Code mort
- Exports, fonctions et variables jamais lus retires.
- Retires a la demande des modules : ForeverUI.PvPJauge, les exports
FondEntete / TuilerEntete / Polices de TradeSkill, l'art legacy-up-c60,
honorfill(half)blue et inv_misc_book_09, leurs entrees d'atlas et les
parties d'outils correspondantes.
Verifications : liaisons des noms comparees avant et apres, banc vert,
chemins de textures inchanges, generateurs reproduisant les fichiers,
patcheur identique octet pour octet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Onglet Statistics (StatisticsTab.lua, nouveau)
- Le StatisticsFrame de camelot sur les statistiques de hauts faits du
client (GetStatisticsCategoryList, GetCategoryInfo, GetStatistic) :
categories repliables, sous-categories au bouton campaign_headericon,
survol, barre de camelot masquee si inutile, mise a jour sur
CRITERIA_UPDATE ; l'etat replie survit aux mises a jour.
- Valeurs telles que le client les rend (noms des statistiques
« ... most », montants d'or avec leurs pieces), « -- » sans valeur ;
colonne de la valeur elargie a ce qu'elle porte.
Statistiques de camelot ajoutees aux hauts faits (data/dbc/statistiques.json)
- 14 boss de donjons classiques et 4 statistiques de raids a 20 / 40
joueurs (entrees ; morts, en somme des morts sur les cartes de cette
taille), suivies par le coeur.
- deployer.py, etape dbc (--dbc, --retirer-dbc, --serveur) : lignes
ajoutees au DBC du client dans patch-Z, DBC du serveur recopie du client,
lignes d'achievement_criteria_data (une creature tuee n'est comptee que
si son critere y a une ligne) ; --verifier les controle.
- tools/foreverui/dbc.py : ajout et retrait de ses seules lignes DBC.
Micro-menu et exports pour les autres addons (session Progression)
- BottomBar.lua : ForeverUI.AjouterMicroBouton(def) et
ForeverUI.MajMicro(nom, ouvert) ; ForeverUI ne connait plus aucun
addon qui y ajoute un bouton.
- ForeverUI.PvPJauge (jauge circulaire, textures au choix),
ForeverUI.StatusBarsPoser, exports de TradeSkill.lua.
- Art : legacy-up-c60 (et son masque), honorfill(half)blue,
inv_misc_book_09 ; cuire_masque.py, cuire_portrait.py,
decouper_elements.py.
Banc : essais de l'onglet Statistics et d'un micro-bouton d'un autre addon.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Etape 3
- Maitre (Trainer.lua, nouveau) : liste de camelot (categories
professions-recipe-header, lignes TrainerTextures), filtre, rang de
metier lu dans les competences.
- Maitre de vol (Taxi.lua, nouveau) : TaxiFrame de camelot 590 x 608,
cadre bronze, images de vol 1463 / 1464 (positions reportees du carre
3.3.5), boutons et traits de camelot ; zones BC, Outreterre et Norfendre
sur l'image de 3.3.5.
- Etable (Stable.lua, nouveau) : scene de camelot, fond selon la
specialisation, rangee de 5 centree.
- Sertissage (Socketing.lua, nouveau) : decor et chasses de camelot.
- Boites de dialogue (Dialogues.lua, nouveau) : StaticPopup1-4 aux
contours de camelot (fond sombre, bordure en losanges, croix).
- Gabarits : Gb.CadreSimple (repris de la banque de guilde), Gb.MenuFiltre.
Etape 4 (metiers, disposition de camelot)
- Fabrication (TradeSkill.lua, nouveau) : 673 x 594, liste en arbre,
filtre, recherche, rang, fiche (carte du metier, resultat, reactifs),
boutons ; noms mesures sur un texte a part (une ligne reutilisee coupait
le nom suivant) ; eclat du rang rogne a la largeur du masque.
- Micro-bouton Professions (BottomBar.lua) apres la feuille de personnage.
- Livre des metiers (ProfessionsBook.lua, nouveau) : cartes de camelot,
rangs, sorts securises, oubli ; plus de deux metiers principaux (zone a
defilement, colonnes reduites) ; portrait cuit rond ; onglets lateraux
(ensemble + metiers a fabrication, retrecis s'ils sont trop nombreux) ;
fenetre deplacable (place commune livre / fabrication).
- DropDown : liste du filtre des metiers elargie a ses entrees.
- Art : feuilles et elements des metiers, icones d'onglets cuites
(cuire_masque.py), portrait rond (cuire_portrait.py, nouveau).
- Banc : essais des etapes 3 et 4 ; micro-menu a neuf boutons.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>