File Details
MenaceMeter 3.3.0.zip
- R
- Dec 18, 2025
- 43.35 KB
- 381
- 1.15.8
- Classic
File Name
MenaceMeter 3.3.0.zip
Supported Versions
- 1.15.8
### ๐ Version Majeure - Refonte Complète
Cette version représente une refonte majeure de l'addon avec des améliorations significatives en termes de fonctionnalités, de performance, de stabilité et d'architecture. L'addon a été entièrement restructuré pour offrir une expérience utilisateur optimale et une base solide pour les futures améliorations.
---
## โจ Nouvelles Fonctionnalités Majeures
### ๐ Support Multilingue Complet
- **Système de localisation intégré** : L'addon détecte automatiquement la langue du jeu
- **Support français (frFR)** : Interface complètement traduite en français
- **Support anglais (enUS/enGB)** : Interface complètement traduite en anglais
- **Détection automatique** : Changement de langue sans intervention de l'utilisateur
- **Fallback intelligent** : Retour automatique vers l'anglais si la langue n'est pas supportée
- **Tous les textes traduits** : Interface, tooltips, messages, options, tout est localisé
### ๐ฏ Gestion Multi-Cible Avancée
- **Surveillance simultanée de plusieurs cibles** : L'addon peut maintenant suivre la menace sur différentes cibles
- **Support de la cible principale (target)** : Suivi standard de la cible sélectionnée
- **Support de la cible focus (focus)** : Suivi automatique si aucune cible principale n'est disponible
- **Support du survol de souris (mouseover)** : Détection automatique des unités survolées
- **Priorité intelligente** : Système de priorité automatique target → focus → mouseover
- **Basculement automatique** : Changement de cible suivi sans intervention
- **Validation robuste** : Vérification de la validité des cibles avant traitement
### ๐จ Système d'Alertes Visuelles Avancé
#### Bordure Rouge - Alerte Critique (1er joueur)
- **Apparition précoce** : Bordure visible dès 90% de menace (avant l'aggro complet)
- **Confirmation à 100%** : Reste visible à 100% pour confirmer l'aggro total
- **Design double couche** : Bordure extérieure épaisse (2px) + bordure intérieure brillante (1px)
- **Couleur optimisée** : Rouge vif pur pour une visibilité maximale
- **Effet visuel** : Bordure intérieure plus claire pour un effet de profondeur
- **Disparition automatique** : Se cache automatiquement quand les conditions ne sont plus remplies
#### Bordure Orange - Alerte Préventive (2e joueur)
- **Alerte précoce** : Apparition dès 80% de menace pour le 2e joueur
- **Design discret** : Bordure fine (1px) pour ne pas distraire
- **Couleur orange** : Visuellement distincte mais moins agressive que le rouge
- **Prévention proactive** : Permet de réagir avant que la situation ne devienne critique
- **Gestion automatique** : Disparition automatique quand la menace baisse
### ๐ Contrôle Sonore Intuitif
- **Bouton dédié** : Icône de haut-parleur directement sur l'interface principale
- **Accès rapide** : Activation/désactivation en un clic sans ouvrir les options
- **Feedback visuel** :
- Transparent (alpha 0.4) quand le son est désactivé
- Opaque (alpha 1.0) quand le son est activé
- **Tooltip informatif** : Indication claire de l'état actuel (activé/désactivé)
- **Persistance** : L'état est sauvegardé entre les sessions de jeu
- **Synchronisation** : L'état visuel est restauré au chargement de l'addon
### ๐ฌ Système d'Animations Professionnel
#### Animations de Transition
- **Fade In** : Apparition en fondu pour les nouvelles lignes (durée 0.3s)
- **Fade Out** : Disparition en fondu pour les lignes supprimées (durée 0.2s)
- **Slide** : Animation de glissement lors des changements de position (durée 0.25s)
- **Easing** : Fonction d'accélération/décélération pour des mouvements naturels
#### Animations de Barres
- **Remplissage progressif** : Les barres se remplissent progressivement depuis 0%
- **Transitions de couleur** : Changement de couleur fluide selon le niveau de menace
- Vert vif (0-50%)
- Jaune brillant (50-80%)
- Rouge vif (80-100%)
- **Lissage adaptatif** : Vitesse de transition plus rapide pour les valeurs élevées
- **Animation à 100%** : Passage immédiat au rouge à 100% d'aggro (pas de délai)
#### Performance d'Animation
- **60 FPS** : Toutes les animations tournent à 60 images par seconde
- **Optimisation CPU** : Système d'animation centralisé et efficace
- **Gestion intelligente** : Annulation automatique des animations en conflit
- **Pas de clignotement** : Prévention des animations simultanées qui causent des artefacts visuels
### ๐งช Mode Test Amélioré et Réaliste
#### Simulation de Combat Réaliste
- **Évolution progressive** : Les valeurs de menace évoluent progressivement comme dans un vrai combat
- **Système de cache** : Données mises en cache pour éviter les changements brusques
- **Évolution temporelle** : Les valeurs changent lentement vers une cible (comme un vrai combat)
- **Barres progressives** : Les barres commencent à 0% et se remplissent progressivement
#### Modes de Test Disponibles
- **Solo** : Test avec le joueur seul (et son familier si applicable)
- **Groupe** : Simulation d'un groupe de 5 joueurs avec leurs familiers
- **Raid** : Simulation d'un raid de 10 joueurs avec leurs familiers
- **Combat simulé** : Mode spécial pour simuler un combat de groupe (5 joueurs uniquement)
#### Gestion des Données
- **Isolation des modes** : Chaque mode a ses propres données (pas de contamination)
- **Nettoyage automatique** : Les données sont nettoyées lors du changement de mode
- **Structure stable** : Liste de joueurs stable avec évolution progressive des valeurs
- **Génération intelligente** : Classes et noms générés de manière réaliste
---
## ๐ Améliorations de Performance Majeures
### โก Optimisation des Mises à Jour
- **Throttling adaptatif** : Fréquence de mise à jour adaptée au contexte
- En combat : 20 mises à jour/seconde (0.05s) pour une réactivité maximale
- En raid : ~6.7 mises à jour/seconde (0.15s) pour économiser les ressources
- En groupe : 10 mises à jour/seconde (0.1s) pour un bon équilibre
- Solo : 5 mises à jour/seconde (0.2s) pour économiser les ressources
- **Détection intelligente** : Mise à jour uniquement quand nécessaire
- **Gestion de la visibilité** : Arrêt automatique des mises à jour quand l'addon est caché
### ๐พ Système de Cache Intelligent
#### Cache Multi-Niveaux
- **ThreatCache** : Cache des données de menace avec TTL adaptatif
- TTL en combat : 0.05s (20x/sec)
- TTL en raid : 0.15s (économie CPU)
- TTL solo : 0.2s (économie maximale)
- **UnitExistsCache** : Cache de l'existence des unités (TTL 0.2s)
- **ClassCache** : Cache permanent des classes (ne change pas pendant le combat)
- **Limitation de taille** : Nettoyage automatique quand le cache dépasse 100 entrées
#### Optimisations de Cache
- **Nettoyage périodique** : Suppression automatique des entrées expirées
- **Gestion mémoire** : Limitation de la taille pour éviter la surcharge
- **Nettoyage agressif** : Suppression des 20% les plus anciennes entrées si nécessaire
### ๐งน Gestion Mémoire Optimisée
- **Nettoyage automatique** : Nettoyage périodique toutes les 5 minutes
- **Limitation des données** : Limite de 50 entrées pour les valeurs de menace
- **Nettoyage agressif** : Suppression des données après 1 minute d'inactivité
- **Réduction des allocations** : Réutilisation des tables au lieu de créer de nouvelles
- **Gestion des caches** : Nettoyage automatique des caches expirés
### ๐ Optimisations Spécifiques
- **Upvalues** : Localisation de toutes les fonctions globales fréquemment utilisées
- Gain de performance : ~30% de réduction sur les lookups CPU
- Fonctions optimisées : UnitExists, UnitName, UnitClass, UnitGUID, etc.
- **Boucles numériques** : Utilisation de boucles `for i=1, #table` au lieu de `ipairs`
- **Réduction des appels API** : Utilisation du cache pour éviter les appels répétés
- **Scan adaptatif** : Scan des nameplates uniquement en combat et hors instance
---
## ๐ก๏ธ Stabilité et Fiabilité Renforcées
### ๐ Protection Anti-Taint Améliorée
- **SafeFrameUpdate** : Système de mise à jour sécurisée pendant le combat
- **Queue de mises à jour** : Mise en file d'attente des modifications UI pendant le combat
- **Traitement différé** : Exécution automatique après le combat
- **Protection complète** : Toutes les modifications UI sont protégées
### โ
Validation Robuste des Données
- **Validation des types** : Vérification que toutes les données sont du bon type
- **Valeurs limites** : Clampage des valeurs dans les plages valides (0-100%)
- **Gestion des nil** : Traitement sécurisé des valeurs manquantes
- **Récupération automatique** : Fallback vers des valeurs par défaut en cas d'erreur
### ๐ ๏ธ Gestion d'Erreurs Améliorée
- **Protection pcall** : Utilisation de `pcall` pour les appels API risqués
- **Récupération gracieuse** : L'addon continue de fonctionner même en cas d'erreur
- **Messages d'erreur** : Affichage d'informations utiles en cas de problème
- **Validation des GUIDs** : Vérification de l'existence des GUIDs avant utilisation
### ๐ Compatibilité Classic Renforcée
- **Fonctions manquantes** : Implémentation de `wipe` et `IsInInstance` si absentes
- **Fallbacks intelligents** : Alternatives pour les fonctions non disponibles
- **Gestion UnitCanAttack** : Vérification alternative si la fonction n'existe pas
- **BackdropTemplate** : Support obligatoire pour Classic 1.15.8
---
## ๐จ Améliorations de l'Interface Utilisateur
### ๐ Adaptation Automatique
- **Hauteur dynamique** : Le cadre s'adapte automatiquement au nombre de lignes affichées
- **Mode compact** : Hauteur réduite (60px) pour économiser l'espace écran
- **Mode étendu** : Hauteur normale (80px) pour une meilleure lisibilité
- **Calcul intelligent** : Hauteur calculée selon le nombre de lignes et le mode
- **Réinitialisation** : Retour à la hauteur minimale après le combat
### ๐จ Indicateurs Visuels Améliorés
- **Couleurs précises** : Système de couleur amélioré pour la menace
- Vert vif : 0-50% (sécurité)
- Jaune brillant : 50-80% (attention)
- Rouge vif : 80-100% (danger)
- **Transitions fluides** : Changement de couleur progressif et naturel
- **Barres progressives** : Remplissage progressif avec animation
- **Icônes de classe** : Affichage correct des icônes pour toutes les classes Classic
### ๐ Contrôles Améliorés
- **Bouton de verrouillage** : Verrouillage/déverrouillage de la position
- **Bouton mode compact** : Basculement rapide entre mode compact et étendu
- **Bouton options** : Accès rapide au panneau de configuration
- **Bouton son** : Contrôle rapide des alertes sonores
- **Tooltips informatifs** : Tous les boutons ont des tooltips explicatifs
---
## ๐ง Corrections de Bugs Critiques
### ๐ Bugs Majeurs Corrigés
- **Hauteur du cadre** : Le cadre revient maintenant correctement à sa taille normale après le combat
- **Mode test** : Le mode test se désactive correctement à la fermeture du panneau d'options
- **Nettoyage des données** : Les données sont correctement nettoyées lors du changement de mode test
- **Contamination des modes** : Plus de mélange de données entre les différents modes de test
- **Clignotement** : Plus de clignotement des barres et des lignes lors des changements rapides
### ๐ Bugs Visuels Corrigés
- **Bordures persistantes** : Les bordures (rouge et orange) disparaissent correctement après le combat
- **Bordures conditionnelles** : Les bordures se cachent quand les conditions ne sont plus remplies
- **État du bouton son** : L'état visuel est correctement sauvegardé et restauré
- **Animations conflictuelles** : Prévention des animations simultanées qui causaient des artefacts
- **Première bordure visible** : Correction de l'ordre d'affichage des bordures (intérieure/extérieure)
### ๐ Bugs Techniques Corrigés
- **Erreur math.random** : Correction de l'erreur avec intervalle vide dans le mode test
- **Erreur math.pow** : Correction de l'appel à `math_pow` (devrait être `math.pow`)
- **HideAllThreatBars** : Correction de l'appel à une fonction non définie
- **UnitCanAttack** : Gestion correcte de l'absence de cette fonction en Classic
- **Frame height** : Correction du calcul de la hauteur en mode compact
### ๐ Bugs de Logique Corrigés
- **Logique des bordures** : Alerte précoce pour le 1er joueur (90%) et le 2e joueur (80%)
- **Barre à 100%** : La barre passe immédiatement au rouge à 100% d'aggro
- **Animation progressive** : Les barres se remplissent progressivement même en mode test
- **Multi-cible** : Gestion correcte du changement de cible (target → focus → mouseover)
- **Nettoyage des lignes** : Les lignes en excès sont correctement cachées lors du changement de mode
---
## ๐ Refonte Architecturale Majeure
### ๐๏ธ Architecture Modulaire
L'addon a été entièrement restructuré en 3 modules distincts pour une meilleure organisation, maintenabilité et extensibilité.
#### Core.lua - Cœur de l'Addon (1897 lignes)
- **Initialisation** : Gestion du démarrage et de la configuration
- **Système de localisation** : Détection et chargement de la langue
- **DataManager** : Encapsulation et gestion des données de menace
- **Systèmes de cache** : ThreatCache, UnitExistsCache, ClassCache
- **ThreatCollector** : Collecte et traitement des données de menace
- **Gestion des événements** : Tous les événements WoW sont gérés ici
- **Commandes slash** : `/mm` et `/mmtest`
- **Système de mise à jour** : Timer adaptatif et gestion de la visibilité
- **Mode test** : Génération de données de test réalistes
- **Nettoyage mémoire** : Système de nettoyage automatique
#### UI.lua - Interface Utilisateur (1214 lignes)
- **Création de l'interface** : Frame principal et tous les éléments visuels
- **Système d'animation** : Toutes les animations (fade, slide, barres)
- **Gestion des barres** : Création, mise à jour et animation des barres de menace
- **Bordures d'alerte** : Gestion des bordures rouge et orange
- **SoundManager** : Gestion des alertes sonores
- **UpdateDisplay** : Fonction principale de mise à jour de l'affichage
- **LoadSettings/SaveSettings** : Gestion des paramètres depuis l'UI
- **UpdateCompactMode** : Gestion du mode compact
#### Options.lua - Configuration (465 lignes)
- **Panneau d'options** : Interface complète de configuration
- **Sliders** : Opacité, opacité de bordure, nombre de lignes, seuil sonore
- **Checkboxes** : Mode compact, afficher les pets, désactiver les sons
- **Mode test** : Boutons radio pour les différents modes de test
- **Boutons de contrôle** : Appliquer, Réinitialiser, Fermer
- **Gestion des paramètres** : Application et sauvegarde des modifications
### ๐ Système de Communication Inter-Modules
- **Exports globaux** : Tous les modules communiquent via `_G.MenaceMeter_*`
- **Dépendances claires** : Chaque module importe uniquement ce dont il a besoin
- **Ordre de chargement** : Core.lua → UI.lua → Options.lua (défini dans .toc)
- **Isolation** : Chaque module est indépendant et peut être modifié séparément
### ๐ฆ Avantages de la Modularisation
- **Maintenabilité** : Code organisé et facile à comprendre
- **Extensibilité** : Facile d'ajouter de nouvelles fonctionnalités
- **Débogage** : Plus facile de localiser et corriger les problèmes
- **Collaboration** : Plusieurs développeurs peuvent travailler en parallèle
- **Tests** : Chaque module peut être testé indépendamment
- **Performance** : Chargement optimisé et gestion mémoire améliorée
---
## ๐ Statistiques de la Version
- **Lignes de code** : ~3576 lignes réparties sur 3 modules
- **Fonctions** : Plus de 50 fonctions organisées par module
- **Modules** : 3 modules principaux + 2 fichiers de localisation
- **Fonctionnalités majeures** : 6 nouvelles fonctionnalités principales
- **Bugs corrigés** : Plus de 15 bugs majeurs et mineurs
- **Améliorations de performance** : Optimisations significatives en raid
- **Compatibilité** : Support complet de Classic 1.15.x
---
## ๐ Migration depuis la Version 3.2.0
### โ
Compatibilité Totale
- **Aucune action requise** : Vos paramètres sont automatiquement conservés
- **Sauvegarde automatique** : Tous vos réglages sont préservés
- **Position conservée** : Votre position de fenêtre est maintenue
- **Préférences intactes** : Toutes vos options restent identiques
### ๐ฏ Nouveautés à Découvrir
1. **Multi-cible** : Testez le suivi automatique de focus et mouseover
2. **Bordures d'alerte** : Observez les bordures rouge et orange en action
3. **Animations** : Profitez des animations fluides à 60 FPS
4. **Performance** : Constatez l'amélioration en raid de 40 joueurs
5. **Mode test** : Essayez les différents modes de test améliorés
---
## ๐ Notes Techniques
### Compatibilité
- **Version WoW** : Classic 1.15.x (Client 1.15.8)
- **API** : Utilisation des API modernes avec fallbacks Classic
- **Localisation** : frFR, enUS, enGB
### Performance
- **CPU** : Réduction significative de la charge CPU en raid
- **Mémoire** : Gestion mémoire optimisée avec nettoyage automatique
- **FPS** : Impact minimal sur les FPS même avec 40 joueurs
### Architecture
- **Modularité** : Code organisé en 3 modules indépendants
- **Extensibilité** : Base solide pour les futures améliorations
- **Maintenabilité** : Code propre et bien documenté
---
## ๐ Remerciements
Merci d'utiliser MenaceMeter ! Cette version majeure représente des mois de développement et d'optimisation pour vous offrir la meilleure expérience possible.
Vos retours et suggestions nous aident à améliorer l'addon continuellement.

