CLEAR COMBAT LOG 2.0.9
Pour Tales of Maj'Eyal 1.7.6

AJUSTEMENTS D'AFFICHAGE 2.0.9
- Les titres d'acteur sont en gras et leurs sous-titres sont blancs, au format
  « Nom indirectly damages », « Nom inflicts debuffs » et
  « Nom grants buffs ». Le nom est celui de l'acteur, jamais une constante.
- Les effets sous leur source gardent la duree mais n'affichent plus « from ».
  Les soins utilisent « [Heal] cible for N Healing ».
- Windblade applique Disarmed sans renseigner sa source dans le jeu de base.
  Le journal attribue cet effet a l'auteur du Windblade actif, y compris a
  l'expiration, sans modifier l'effet du jeu.
- Une source reellement inconnue garde ses lignes directement sous son titre,
  sans sous-titre de categorie.

AJUSTEMENTS D'AFFICHAGE 2.0.8
- Les fleches disparaissent; chaque ligne de detail commence par « - ».
- Chaque rendu regroupe les evenements par acteur : armes et procs d'arme,
  sorts et talents mentaux, degats indirects (AoE et DoT), debuffs, puis buffs
  et soins. Les annonces de Windblade, Flame et Acid Breath restent proches
  des degats qu'elles introduisent.
- Les messages dont la source ne peut pas etre attribuee de facon fiable
  restent dans l'affichage natif.

AJUSTEMENTS D'AFFICHAGE 2.0.7
- Le message autonome de critique mental est masqué, comme celui de critique
  de sort. Les dégâts critiques restent affichés normalement.
- L'annonce d'Acid Breath (notamment le proc de Vitriolic Punch) apparaît juste
  avant ses dégâts. Elle prend le format discret « Player uses Acid Breath. »;
  les annonces de Flame conservent leur séparation.
- Les flèches ASCII sont plus lisibles : ==> en or vers les autres cibles,
  <== en bleu vers le joueur ou son groupe. Elles précèdent aussi les effets.

AJUSTEMENTS D'AFFICHAGE 2.0.6
- OUT et IN deviennent des flèches ASCII neutres : -> vers une cible hors du
  groupe, <- vers le joueur ou un membre du groupe. Elles indiquent la cible
  affectée, pas l'alignement de la source.
- Les mêmes flèches précèdent les lignes de dégâts, soins, buffs et debuffs.
  Les noms, icônes, infobulles, dégâts et détails restent inchangés.
- ASCII est utilisé parce que la flèche Unicode n'était pas affichée de façon
  fiable par la police du journal de ToME.

HISTORIQUE — AJUSTEMENTS D'AFFICHAGE 2.0.5
- Le message natif de critique de sort est masqué; aucun « Critical » n'est
  ajouté au lancement. Les dégâts critiques conservent leur emphase native.
- Avatars et infobulles d'acteurs rétablis sur les lignes de combat et d'effets.
- Les séparateurs de tour affichent (+N), le nombre de ticks depuis le précédent
  tour du joueur. Le premier tour de chaque combat n'affiche pas de différence.
- Les frappes à mains nues affichent le lien natif des gants équipés; sans gants,
  le tag reste unarmed. Les armes et boucliers gardent leurs liens existants.
- Dégâts : « 500 Dmg [100 physical, 400 fire] ». Le total utilise les montants
  numériques capturés; les détails d'absorption sont conservés. Soins inchangés.
- Seul le message de journal « Talent ... is ready to use » est masqué;
  le texte flottant et le comportement des temps de recharge sont conservés.
- Effets sans préfixes Buff/Debuff/Refreshed/Ended. La couleur indique le type;
  la fin est indiquée par « (Ended) » à la place de la durée.

HISTORIQUE — AJUSTEMENTS D'AFFICHAGE 2.0.4
- Critique de sort fusionnÃ© avec son annonce : Â« Player casts Critical Flame Â».
  Correspondance avec le talent rÃ©ellement exÃ©cutÃ© et sa coroutine. Un critique
  sans annonce correspondante reste visible dans le journal natif.
- Avatars d'acteurs retirÃ©s; les icÃ´nes et liens natifs des armes restent prÃ©sents.
- Le splash multi-cible utilise Â« hits Â» au lieu d'une flÃ¨che mal rendue.
- [source] devient [AoE] pour un effet enregistrÃ© sur la carte, sinon
  [Indirect damage]. Cela dÃ©crit un intermÃ©diaire, pas une source inconnue.
- Palette locale attÃ©nuÃ©e : texte gris clair, tags bleu doux, PV vert sauge,
  dÃ©gÃ¢ts colorÃ©s moins saturÃ©s. Les couleurs natives des objets sont prÃ©servÃ©es.
- Les messages retournÃ©s par on_gain/on_lose des effets visibles deviennent
  [Buff]/[Debuff], [Refreshed] ou [Ended], avec nom, cible, durÃ©e appliquÃ©e et
  source enregistrÃ©e. Une source absente est omise; une source cachÃ©e reste anonyme.
  Les callbacks, fusions, activations et nombres flottants restent natifs.
  Les effets silencieux, cachÃ©s ou internes (type other) restent natifs, ainsi que
  les messages personnalisÃ©s Ã©crits directement par d'autres callbacks/addons.
- Le message de bouclier brisÃ© est retirÃ© si sa suppression structurÃ©e est affichÃ©e.

HISTORIQUE â€” AJUSTEMENTS D'AFFICHAGE 2.0.3
- Les doublons natifs de critique et de coup manquÃƒÂ© sont retirÃƒÂ©s lorsque
  la ligne compacte montre dÃƒÂ©jÃƒÂ  le rÃƒÂ©sultat, mÃƒÂªme si le personnage possÃƒÂ¨de
  sa propre mÃƒÂ©thode de journal. Le repli natif conserve ces messages.
- Le texte aprÃƒÂ¨s une arme revient explicitement au blanc, sans fuite de couleur.
- Le suffixe devient [PV/max HP]. Les PV restent ceux de fin de lot; chaque
  cible visible du splash les affiche, mÃƒÂªme si une attaque la suit dans le lot.
- Chaque annonce de sort instantanÃƒÂ© est placÃƒÂ©e juste avant ses dÃƒÂ©gÃƒÂ¢ts associÃƒÂ©s.
  Seul l'affichage change. Un projectile qui arrive plus tard garde son annonce
  au lancement, sans la rÃƒÂ©pÃƒÂ©ter ÃƒÂ  l'impact.

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.6) Ã‚Â»; activer Ã‚Â« Melee details? Ã‚Â» pour
voir les statistiques d'attaque.

SAUVEGARDE LOCALE AVANT CORRECTION
Dans le dossier du jeu :
.clearlog-backups/tome-clearlog-2.0.5-before-arrow-cues-20260924
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 [AoE]. Une projection nommÃƒÂ©e conserve son propre nom.
- Les PV sont ceux ÃƒÂ  la fin du lot affichÃƒÂ©. Chaque cible visible du splash
  les affiche; les autres lignes les montrent ÃƒÂ  la derniÃƒÂ¨re occurrence.
- 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.
  Seuls les doublons de critique et de coup manquÃƒÂ© dÃƒÂ©crits plus haut sont retirÃƒÂ©s.
- Une capture incomplÃƒÂ¨te ou une erreur d'affichage utilise le journal natif.

VALIDATION
51 scÃƒÂ©narios de rÃƒÂ©gression utilisent les fonctions officielles extraites de
l'installation locale : journal, attackTargetWith, checkHit, procs, grille,
logCombat, logTalentMessage, balises d'objets et rendu colorÃƒÂ© du texte.
Les nouveaux tests couvrent aussi les mÃƒÂ©thodes de journal propres aux acteurs,
les doublons de coups manquÃƒÂ©s, les PV du splash et l'ordre des annonces de sorts.
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] [engine/utils.lua] [engine/interface/ActorTemporaryEffects.lua] [mod/class/Player.lua]
Utiliser les sources du module ToME (mod/class), sauf pour engine/Entity.lua.
Object.lua et Entity.lua activent le test des balises natives d'objets;
engine/utils.lua active le contrÃƒÂ´le des couleurs avec le moteur de texte natif.
Sur cette installation, le lanceur Python local .clearlog-work/run_tests.py
utilise Lupa et les sources extraites de game/modules/tome.team.
