CLEAR COMBAT LOG 2.0.2
Pour Tales of Maj'Eyal 1.7.6

AJUSTEMENTS D'AFFICHAGE 2.0.2
- Le message natif « performs a melee critical strike » est retiré uniquement
  lorsque la même attaque affiche CRIT dans le journal compact. En cas de
  repli vers le journal natif, le message est conservé. Les critiques de
  sorts et messages des autres addons ne sont pas filtrés.
- Les projections nommées affichent [Spell: nom] au lieu de [AoE: nom] ou
  [project: nom]. Le regroupement des dégâts reste identique.
- L'arme retrouve son nom coloré et sa balise native UID : icône et infobulle
  gérées par ToME. Le préfixe « melee: » est retiré. Les boucliers sont inclus.
- Les noms d'ennemis visibles utilisent SANDY_BROWN, la couleur Unique vanilla.
- [Retaliation] est conservé; « Melee retaliation » est remplacé par le vrai
  acteur visible à l'origine des dégâts. Les déclenchements distincts et tous
  leurs dégâts sont conservés.

CORRECTIONS DU 23 SEPTEMBRE 2026
- Précision, défense et chance de toucher rétablies. Le pourcentage est
  celui du test précision/défense, après les bonus de l'attaque. Une esquive,
  une parade ou une cible non visible peuvent encore faire rater le coup.
- Le jet réel est observé sans lancer de nouveau tirage aléatoire. Si le
  test est court-circuité par une esquive/parade/attaque automatique, la
  chance de base utilise la formule de ToME 1.7.6 et les statistiques finales.
- HIT/CRIT/MISS et les statistiques sont sur la ligne des dégâts de mêlée.
  Une attaque sans dégâts de mêlée capturés garde sa propre ligne de détails.
- Avatars rétablis devant les cibles visibles, y compris dans le splash.
- Les cibles d'une projection de zone partagent une seule entrée de journal.
  Le splash anonyme d'une attaque et de ses frappes supplémentaires est
  regroupé par cible; les fragments de même type compatibles sont additionnés
  à partir des montants numériques capturés. Une longue entrée peut revenir
  à la ligne selon la largeur de la fenêtre du journal.
- Les sorts nommés comme Flame restent séparés du splash anonyme.
  Les soins, ripostes, DoT et actions indépendantes restent distincts.

ACTIVATION
Les fichiers sont installés dans game/addons/tome-clearlog.
Fermer complètement ToME puis relancer pour charger les modifications.
Les options affichent « Enable? (2.0.2) »; activer « Melee details? » pour
voir les statistiques d'attaque.

SAUVEGARDE LOCALE AVANT CORRECTION
Dans le dossier du jeu :
.clearlog-backups/tome-clearlog-2.0.1-before-polish-20260923
La toute première version reste dans tome-clearlog-before-20260923.
Pour revenir en arrière, fermer ToME et restaurer ce dossier à la place de
game/addons/tome-clearlog. Ne pas placer la sauvegarde dans game/addons.

COMPORTEMENTS CONSERVÉS
- Attribution par contexte réel de mêlée/projection/effet, sans utiliser
  le dernier sort annoncé ou les effets déjà présents sur une cible.
- Arcane Destruction vanilla ne nomme pas sa projection : son affichage
  reste générique [splash]. Une projection nommée conserve son propre nom.
- Les PV sont ceux à la fin du lot affiché, une seule fois par cible visible.
- Les fragments « absorbed », « blocked », etc. restent présents.
- Le moteur conserve les morts, messages différés et nombres flottants.
  Les messages natifs d'effets, critiques de sorts et esquives restent visibles.
  Seul le doublon de critique de mêlée décrit plus haut est retiré.
- Une capture incomplète ou une erreur d'affichage utilise le journal natif.

VALIDATION
42 scénarios de régression utilisent les fonctions officielles extraites de
l'installation locale : journal, attackTargetWith, checkHit, procs, grille,
logCombat et balises d'objets. Les nouveaux tests couvrent les doublons de
critiques, replis vers le journal natif, couleurs et noms des ripostes.
Ils couvrent notamment les bonus de précision, esquives, parades, coups
automatiques, critiques, attaques sans procs, splash multi-cible, frappes
imbriquées, visibilité, soins, absorption, morts et désactivation de l'addon.
Tests exécutés avec Lua 5.1 et LuaJIT 2.1, sans partie graphique complète.
Le rendu dans le jeu et l'ensemble des addons restent à vérifier en partie.

Pour rejouer avec Lua 5.1/LuaJIT :
lua game/addons/tome-clearlog/tests/regression.lua <Game.lua> <Actor.lua> <Combat.lua> [Object.lua] [engine/Entity.lua]
Utiliser les sources du module ToME (mod/class), sauf pour engine/Entity.lua.
Les deux derniers chemins activent le test des balises natives d'objets.
Sur cette installation, le lanceur Python local .clearlog-work/run_tests.py
utilise Lupa et les sources extraites de game/modules/tome.team.
