EQL·Parse
esenfrdept

Nouveautés

Chaque version avec ce qui a changé et pourquoi.

1.26.0

23 août 2026

Tes objets, de bout en bout

La section « Objets » atteint enfin ce qu’elle devait atteindre.

Dans « Ton équipement », chaque emplacement devient une fiche : ce que tu portes, son niveau d’amélioration, ses quatre emplacements d’exaltation et de quel objet chacun provient.

Et « Tes objets » arrive, avec tout le reste : la banque, les sacs et les sacs eux-mêmes, avec une recherche, un filtre par endroit et un filtre par emplacement libre. Les doublons se voient, parce que les garder est une décision et non un oubli.

Ce que tu as et ce qui existe, chacun de son côté

EQL Parse embarque désormais le catalogue d’objets d’eqlwiki.com, consulté le 23 août 2026, avec cette date bien visible. Le programme ne demande rien à personne pendant que tu l’utilises.

La recherche te répond deux fois et séparément : combien parmi tes affaires, que nous avons lues dans ton inventaire, et combien dans le catalogue, que nous avons consulté ailleurs. On ne les additionne jamais, car « tu ne l’as pas » et « ça n’existe pas » ne sont pas la même chose.

Le livre de sorts que le jeu exporte

Si tu as utilisé /output spellbook, la section « Sorts » lit ce fichier et te dit ce qu’il contient : combien de sorts il déclare, de quand il date, et combien d’entre eux ne figurent pas dans ton journal. Il se place à côté de ce qui était déjà attesté, sans s’y mêler.

Et d’où vient chaque chose

Le butin ramassé hors combat dit maintenant d’où il vient au lieu d’être compté sèchement, et les offrandes de motes se comptent à part de ce que tu ramasses : ce qui sort de ton inventaire ne peut pas s’ajouter à ce qui y entre.

Trois choses que cette version NE sait PAS

Et elles sont dites, plutôt que laissées à moitié :

  • ce que coûte la montée d’un niveau d’objet ;
  • où tu en es dans le niveau actuel ;
  • le nom de l’effet n’est pas sur toutes les fiches du catalogue : il est sur environ 1 600 des 11 092. Là où il manque, rien n’est inventé.

Objetos y exaltaciones

22 août 2026

EQL Parse ne lit plus seulement ton journal de combat : il lit maintenant aussi l’inventaire que le jeu écrit.

Avec ça arrive une nouvelle section, « Objets », où tu vois ton équipement pièce par pièce avec ses quatre emplacements d’exaltation : ce que chaque emplacement contient, lequel est libre, et lequel tu n’as pas encore débloqué.

Et tu vois quelle exaltation s’est déclenchée, combien de fois, et ce que tu lançais à ce moment-là.

Si le relevé de ton inventaire est plus ancien que ce que tu regardes, l’application te le dit au lieu de le taire.

1.24.0 — lo que destruyes ya se cuenta

21 août 2026

Ce que tu détruis est compté

Quand tu détruis un objet, il ne se perd plus : il apparaît dans sa propre colonne, à côté de ce que tu as ramassé. Il n'est pas soustrait de ton butin — ce sont deux faits distincts, et les soustraire donnerait un nombre qui ne répond à aucune des deux questions.

Un échelon qui manquait à l'évaluation

Il y avait une réponse du /consider que l'application lisait et jetait, si bien que cette créature restait sans niveau. C'est fini.

Le butin du Dragon Hoard, à sa place

Ce qui sort du Dragon Hoard arrive marqué pour ce qu'il est, et ne se mélange plus au butin ordinaire.

1.23.0 — la ficha del candidato, y el panel que no se movía

21 août 2026

À l'ouverture, elle relira ton journal une fois

Cela prend environ trois quarts de minute — mesuré : 42 secondes sur un journal d'1,5 million de lignes — et tu peux continuer à utiliser l'application pendant ce temps. Un message l'explique et rien ne commence avant que tu acceptes.

C'est nécessaire parce que les combats enregistrés ne savaient pas à quelle visite de la zone ils avaient eu lieu, et cette information n'est nulle part ailleurs que dans le journal. Sans elle, le plafond de réapparition pouvait compter des intervalles entre deux entrées différentes — où l'ennemi n'est pas revenu, il est né avec la nouvelle copie. Aucun chiffre de combat ne change.

Le panneau de minuteurs était figé

Il se peignait une fois à l'ouverture et restait immobile : le décompte n'avançait pas, une mort ne le relançait pas, et la × d'une ligne retirait le minuteur mais pas la ligne. Il est vivant maintenant.

Si tu te demandais pourquoi le nombre ne bougeait pas, ce n'était pas toi.

La fiche d'un candidat, au survol

Survole n'importe quelle ligne de la liste Surveiller un ennemi et sa fiche apparaît : où, combien de fois tu l'as tué là, son plafond s'il en a un, et le niveau que tu lui as vu en le considérant — en fourchette, avec le nombre de considérations qui la soutiennent. Jamais en chiffre unique : le même ennemi, dans la même zone et difficulté, sort avec des niveaux différents.

Et son butin en deux blocs séparés : ce que tu as récupéré, qui est mesuré, et ce que dit le wiki, que nous n'avons pas encore et qui est dit au lieu d'être laissé en blanc.

Taille et transparence, dans l'overlay lui-même

Le curseur de taille est à côté de celui de transparence, dans le panneau et non dans les Réglages. Chaque overlay retient le sien.

Des plafonds qui ne bornaient rien

Un plafond de réapparition ne vaut que si les deux morts sont le même ennemi. Ceux qui reposaient sur un intervalle entre deux visites différentes ont été retirés, et certains changent beaucoup : l'un disait « pas plus de 280 minutes » et son vrai plafond est de neuf et demi.

1.22.0 — todo lo que has matado, en una lista

21 août 2026

Tout ce que tu as tué un jour, dans une liste

L'onglet Surveiller un ennemi n'est plus vide : il apporte les ennemis de ton historique, avec leur zone et leur difficulté déjà remplies. Tu cherches par nom ou par zone, tu appuies sur Suivre et le minuteur naît complet. Rien à écrire, et pas besoin d'avoir la bête devant toi.

Chacun dit combien de fois il est tombé là et quand c'était la dernière, et ceux que tu suis déjà arrivent marqués. Le plus récent en haut : la zone d'hier soir sort la première sans la chercher.

Des minuteurs qui ne trouvaient pas leurs morts

Dans les zones avec difficulté, un minuteur pouvait rester sur «En attente de sa première mort» pour toujours même si tu avais tué cet ennemi là-bas beaucoup de fois — et alors il ne repartait jamais. Il les trouve maintenant : ils comptent de nouveau, avec leurs observations et leur plafond.

Un quatrième état : celui qui n'estime rien

Un minuteur peut savoir quand l'ennemi est mort sans savoir combien de temps il met à revenir. Avant, cela restait muet, ou disait «Il devrait déjà être là», ce qui est affirmer quelque chose sans rien pour l'affirmer. Maintenant il dit la seule chose qui puisse se dire, et c'est un fait : depuis combien de temps il est mort.

Le panneau, trié par ce qui va se passer

En haut, ce que dit l'horloge — ceux qui devraient déjà être là et ceux qui décomptent ; en dessous, ceux dont nous ne connaissons pas le temps. Un minuteur sans estimation n'est pas plus urgent qu'un autre à qui il reste vingt secondes, et il passait devant.

Ce que tu écris ne s'efface plus tout seul

Le champ pour mettre le temps à la main revenait à sa valeur précédente si le minuteur se repeignait pendant que tu écrivais. Plus maintenant : ce que tu as touché se conserve.

1.21.0 — los temporizadores, en un panel encima del juego

20 août 2026

Les minuteurs, dans un panneau au-dessus du jeu

Un seul, tous dedans. Il s'ouvre dès que tu ouvres le premier et se ferme quand tu fermes le dernier — rien à retenir.

  • triés par celui qui revient le plus tôt, et ceux déjà dus, en haut
  • une ligne par minuteur : nom, temps, et combien d'intervalles soutiennent son plafond
  • le × d'une ligne ferme ce minuteur, pas la fenêtre

Et si tu es dans une zone où tu n'en as aucun, ça ne reste pas vide : ça te dit combien tu en as ailleurs.

Trois états, et le troisième manquait

Un minuteur qui n'a pas encore vu mourir sa créature une seule fois ne dit pas « il devrait déjà être là » : il dit « En attente de sa première mort ». Dire que quelque chose devrait être revenu quand on ne sait même pas quand il est parti, c'est l'inventer.

Et ce n'est pas un cas rare : c'est l'état dans lequel naît tout minuteur ouvert depuis l'overlay.

Mettre un minuteur depuis l'overlay

Déplie un ennemi dans l'overlay principal et le bouton est là. Pas besoin qu'il soit mort — il sera même normalement vivant et en train de te taper, c'est-à-dire exactement quand tu te souviens que tu veux le suivre.

Le nom, la zone et la difficulté viennent d'où tu es. Rien à écrire.

Tous les overlays se redimensionnent et s'atténuent

Tire depuis n'importe lequel des quatre coins. Et au survol apparaît un curseur de transparence.

Chaque overlay retient sa position, sa taille et sa transparence, tu en règles un et l'autre reste comme tu l'as laissé.

1.20.1 — los temporizadores dicen un techo, y si se le ha visto

20 août 2026

Les minuteurs annoncent un plafond, et cessent de deviner

Jusqu'ici, un minuteur arrivé à zéro y restait sans rien dire de plus. Il dit maintenant deux choses nouvelles, et toutes deux sont des faits mesurés sur ton propre journal :

Un plafond, avec le nombre d'intervalles qui le soutiennent :

pas plus de 10:35 — 6 intervalles observés

Ce n'est pas « sa période est de 10:35 ». C'est il n'a jamais mis plus longtemps, ce qui est tout autre chose et bien plus sûr : cela vient de soustraire deux de ses morts, et entre ces deux morts tient la période *plus* le temps que tu as mis à revenir. Donc la vraie période est celle-là ou moins. Jamais plus.

D'où le nombre d'intervalles toujours à côté : un plafond appuyé sur un seul intervalle est tout aussi vrai et bien plus faible qu'un plafond appuyé sur six.

Et s'il a été vu. N'importe quelle ligne du journal qui nomme la créature prouve qu'elle est là : un coup, un raté, un sort. Pas besoin d'attendre de la tuer.

vu il y a 3s, dans une ligne de combat → il est là

pas vu depuis 12:00, et son plafond est de 10:35 → il devrait être là, et tu ne l'as pas vu

Et l'avertissement qui devinait disparaît

Là où il disait *« il est à zéro depuis 3 périodes, il est peut-être déjà là sans que tu l'aies vu »*, il n'y a plus de supposition : il y a le fait. Soit nous l'avons nommé il y a X, soit nous ne l'avons pas nommé depuis sa dernière mort.

Le panneau « mettre un minuteur » était illisible en sombre

Le bouton « Mettre un minuteur » dans Scène ouvrait un panneau au fond crème avec du texte clair dessus. Il était écrit avec des couleurs en dur, du temps où le thème clair était celui par défaut. Il utilise désormais ceux du thème, et se lit dans les deux.

1.20.0 — Reapariciones se ve de otra manera

20 août 2026

Réapparitions a changé d'allure

La section a été refaite entièrement. C'était une grille de fiches ; c'est désormais une liste de lignes dépliables : chaque minuteur tient sur une ligne, et on ouvre celui qui intéresse. Avec quatre ou cinq minuteurs, plus besoin de faire défiler.

Et ligne fermée, on voit l'essentiel :

  • le nom de l'ennemi,
  • les trois provenances — « le tien », « zone » et « vu » —, toutes les trois, toujours, sans rien déplier ;
  • et le compte à rebours, avec en dessous un libellé disant de laquelle des trois il sort.

Celle qui commande le nombre est pleine, les deux autres sont détourées. C'est la seule chose de cet écran qui ne se négocie pas : un nombre sans dire d'où il vient, c'est la moitié d'une donnée.

Et en haut, quatre commandes qui n'y étaient pas

  • une recherche, toujours visible ;
  • « Grouper par zone » ou « Sans regroupement », quand les minuteurs viennent d'endroits différents ;
  • deux filtres, « En cours » et « Disponible », chacun avec son compte à l'intérieur : le nombre dit si ça vaut la peine d'appuyer ;
  • et « Aérée » / « Dense », qui resserre les lignes.

La légende « D'où vient chaque chiffre » explique les trois provenances une seule fois, se replie, et se souvient de comment tu l'as laissée.

Ce qui n'a pas changé

Pas un seul chiffre. Ce que nous avons observé n'est toujours pas affiché comme si c'était une période : avec peu d'observations, aucun chiffre n'est donné, et pas davantage pour un nom derrière lequel il y a plusieurs individus, car nous ne savons pas lequel est revenu. Ce que la fiche dit alors, c'est combien d'observations elle a et pourquoi elle se tait.

Et deux choses arrivées en 1.19.1

Au cas où tu ne les aurais pas vues, car elles ne sont pas de cette version :

  • on peut écrire dans le champ du nom — il avalait ce qu'on tapait ;
  • et depuis un combat, le bouton « Mettre un minuteur » dans Scène met un minuteur sur les ennemis de ce combat, avec leur zone, leur difficulté et l'heure exacte de la mort.

1.19.1 — el temporizador se reinicia, y el crono sale de la pelea

20 août 2026

Le minuteur repart quand l'ennemi meurt à nouveau

Et jusqu'ici il ne le faisait jamais. Tu ouvrais un minuteur, tu tuais la créature, et le compte continuait comme avant : il fallait le fermer et le rouvrir pour repartir. C'est corrigé, et le compte repart tout seul à chaque mort de cet ennemi dans cette zone et cette difficulté.

Le temps du wiki est celui de la zone, et il le dit enfin

La fiche affichait « du wiki » à côté du nombre, et cela promettait plus qu'il n'y a : ce temps est celui de la zone entière, pas de cette créature. C'est pourquoi deux ennemis différents du même endroit affichaient le même chiffre. L'étiquette dit maintenant « la zone se repeuple en », ce que le wiki déclare réellement.

On peut enfin écrire dans Réapparitions

Le champ du nom ne laissait pas écrire : tu tapais une lettre et elle disparaissait. C'est corrigé, et avec lui le champ de recherche de la liste des combats, qui perdait des lettres pour la même raison. C'était un seul défaut à deux endroits.

Mettre un minuteur depuis le combat

Un bouton « Mettre un minuteur » dans Scène, avec un combat ouvert. Il déplie les ennemis de ce combat et tu coches ceux que tu veux suivre.

C'est une meilleure voie que d'écrire le nom à la main, et pas pour le confort : de là viennent le nom tel que le journal l'a écrit, la zone, la difficulté et l'heure exacte où cet ennemi est mort dans ce combat. La zone et la difficulté font partie de ce qui distingue un minuteur d'un autre, et en écrivant le nom à la main il n'y avait aucun moyen de les indiquer.

La liste ne cache rien et dit ce qu'elle ne peut pas faire :

  • un ennemi qui n'est pas mort apparaît quand même, sans pouvoir être coché : il n'y a rien d'où compter ;
  • les familiers ennemis n'apparaissent pas, car ils ne reviennent pas par minuteur ;
  • ceux qui en ont déjà un sont marqués, pour ne pas en ouvrir deux fois le même ;
  • et si le même nom est mort deux fois dans le même combat, il te dit que ce sont deux créatures différentes et compte depuis la dernière.

EQL Parse 1.18.0

19 août 2026

Minuteurs de réapparition

Une section nouvelle. Tu ouvres un minuteur pour l’ennemi que tu veux surveiller et il décompte tout seul ; tu le fermes quand il ne t’intéresse plus. Aucune mort n’en déclenche un — avec cent bestioles qui tombent, ce serait du bruit à l’écran et ça n’aiderait personne.

La liste est triée par celui qui revient le plus tôt, avec ceux qui devraient déjà être là tout en haut. Et chaque fiche indique de quelle zone et de quelle difficulté il s’agit, parce que la même bestiole à deux endroits ne revient pas au même rythme.

D’où vient le temps, toujours dit

Sur chaque fiche on voit les trois provenances, toujours les trois :

  • le tien, si tu l’écris — il l’emporte sur tout le reste ;
  • celui du wiki, avec la page dont il sort, pour que tu puisses aller voir ;
  • ce que nous observons nous-mêmes, qui pour l’instant ne fait que s’accumuler.

Si le nombre du wiki et ce que nous avons vu ne concordent pas, on le dit, et c’est tout. Nous ne choisissons pas à ta place.

Les temps du wiki sont relevés zone par zone, depuis la page de chacune. Quatre zones n’en déclarent aucun, et là la fiche le dit au lieu d’inventer un nombre.

Les avertissements qu’il porte

Si un ennemi reste longtemps à zéro, il te prévient : il est peut-être déjà là sans que tu l’aies vu, ou bien nous ne reconnaissons pas sa ligne de mort. Ce sont deux choses différentes et les deux se ressemblent à l’écran, alors on les nomme toutes les deux.

Et s’il y en a plusieurs de ce nom dans la zone, il te le dit à l’ouverture, c’est-à-dire quand ça sert : le minuteur repartira à la mort de n’importe lequel d’entre eux, pas de celui que tu regardes.

Les tiens restent les tiens, même quand tu changes de familier

Quelqu’un pouvait apparaître à la fois sous « Non identifié » et compter dans le dps de ton camp. Ça arrivait surtout avec tes propres familiers : en en invoquant un nouveau, le précédent cessait d’être reconnu, et les combats enregistrés gardaient cette idée pour toujours.

Maintenant l’identité est recalculée à chaque fois que tu regardes, avec tout ce que le programme a appris depuis. Des combats enregistrés il y a des semaines sont correctement étiquetés sans rien reconstruire — 248 combats de l’historique changent. Et celui qu’on ne connaît vraiment pas continue de sortir comme inconnu, ce qui est ce qu’il faut dire.

Les zones ne sont plus coupées par leur difficulté

Le numéro de difficulté qu’EQL colle au nom de la zone était compté comme une autre zone. Du coup l’encyclopédie montrait la même zone plusieurs fois et le recensement des boss sortait court.

Maintenant elles sont réunies : une zone est une zone, et sa difficulté est une colonne. L’encyclopédie et le recensement tombent juste, et chaque fiche porte toutes les difficultés au même endroit.

Corrections

  • Le panneau de relecture plantait si tu changeais de combat pendant son chargement, et restait blanc jusqu’à ce que tu sortes et reviennes.
  • Le bouton pour fermer un minuteur ne le fermait pas.
  • La section Réapparitions n’est jamais apparue lors des premiers essais internes : elle sortait entièrement blanche.

1.17.0 — el registro decía que te resistían y no lo leíamos

19 août 2026

Ce que ton journal disait déjà et qu'on ne lisait pas

Ton journal écrit une ligne chaque fois qu'un ennemi résiste à un de tes sorts. Le programme ne savait pas la lire. Sur un journal réel cela fait 955 résistances à toi jetées à la poubelle, et avec elles la réponse à une question qui change bel et bien ce que tu fais : *est-ce que ce sort passe sur cette bestiole ?*

La première fois que tu l'ouvres, il demande à relire ton journal

Cette version te demande de reconstruire l'historique : à l'ouverture, un bandeau apparaît avec deux boutons, « Reconstruire l'historique » et « Pas maintenant ». Tu peux remettre ça à plus tard, mais d'ici là tes combats enregistrés restent sans les résistances.

Pendant qu'il relit ton journal depuis le début, tu peux continuer à utiliser le programme : la fenêtre ne se fige pas, tu changes de section et tout bouge normalement. Seuls les chiffres restent immobiles, jusqu'à ce que ce soit fini.

Combien de temps ça prend. Mesuré sur un journal de 103,8 Mo : 28 secondes si le fichier est frais dans le système, 62 s'il faut aller le chercher sur le disque. Cela arrive une seule fois. Ce que tu as est mis de côté avec un horodatage avant qu'on touche à quoi que ce soit.

Pourquoi c'est nécessaire. Ce n'est pas que les combats enregistrés aient un chiffre trop bas : c'est que la ligne n'existe pas. Un sort auquel on résiste toujours ne passe jamais, et sans passer il ne créait jamais son entrée. Le cas le plus net d'un journal réel : contre un même ennemi, 62 lancers, 62 résistés, pas un seul passé — et aucune de ces 62 lignes n'était enregistrée nulle part. Cela ne se répare pas en lisant mieux ce qui est enregistré ; il faut retourner au journal.

Combien de fois on t'a résisté, et sur combien d'essais

Dans l'analyse de chaque combat, par sort et contre qui, toujours avec le dénominateur :

Drain Spirit X          contre Coercer T`vala   44 sur 44   ne passe jamais
Blade Dance             contre Coercer T`vala   26 sur 26   ne passe jamais
Water Elemental Attack  contre Coercer T`vala    5 sur 31   16 %
…

« 44 résistés » ne dit rien : 44 sur 44 et 44 sur 300 sont deux combats différents et deux décisions différentes. Et quand quelque chose ne passe pas une seule fois, on le dit avec des mots — ne passe jamais — et pas seulement avec un pourcentage qu'il faut soustraire.

Au-dessus du tableau on dit de combien de sorts il sort : « sur les 7 que tu as lancés contre cet ennemi, 5 ont été résistés au moins une fois ». Sans cette ligne, cinq lignes se lisent comme si tu avais lancé cinq choses.

Et il te prévient à voix haute, ce que la case promettait

La case « Un de tes sorts résisté » existe depuis la première version. Elle n'avait jamais sonné : zéro fois sur les 1,19 million de lignes que le programme reconnaissait bel et bien. Qui l'avait cochée attendait depuis des mois un avis qui ne pouvait pas arriver.

Elle fonctionne maintenant, avec deux modes que tu choisis :

  • Un toutes les 20 secondes par sort — celui qui est mis d'origine.
  • Tous, si tu préfères les entendre tous.

Il est bridé d'origine pour une raison mesurée : dans ce même combat il y a eu 103 résistances sur 129 lancers, et 4 des 7 sorts ne sont pas passés une seule fois. « Tous » là-bas, c'est parler par-dessus le combat entier.

Deux chiffres de la ligne qui se lisaient pareil sans l'être

Le grand nombre de chaque combattant est un taux — ses dégâts divisés par la durée du combat — et le pourcentage à côté est une part — quelle portion du total il a mise. Ils sont divisés par des choses différentes et répondent à des questions différentes, et ils étaient collés sans que rien ne dise lequel était lequel. Maintenant ils le disent.

Le grand nombre n'a pas changé. C'est toujours les dégâts sur la durée du combat, c'est ce que veut dire dps.

Et sa fenêtre propre monte sur la ligne visible : les dégâts divisés par le temps que ce combattant a passé engagé dans le combat. La fenêtre va de la première chose qu'il fait ou qu'on lui fait jusqu'à la dernière : frapper, rater, soigner, absorber — et se faire frapper — comptent toutes, donc pour qui encaisse elle s'ouvre au premier coup reçu, pas au premier donné. C'est celle qui répond à « est-il arrivé tard ? » — qui arrive à mi-combat paraît bas sur le taux et normal sur sa fenêtre, et avec un seul chiffre ces deux cas ne se distinguent pas. Elle n'apparaît que si elle diffère.

Aussi

  • Un sort lancé sur toi est maintenant reconnu quand quelque chose à toi le bloque avant qu'il n'arrive : 2 665 lignes d'un journal réel qui n'étaient pas lues.

1.16.1 — el cartel ya no ofrece lo que no existe

18 août 2026

L'avis de mise à jour ne propose plus ce qui n'existe pas

Cette version corrige une seule chose, et c'est celle qui t'est arrivée si tu as ouvert le programme l'après-midi du 17 août.

Ce qui se passait. La 1.16.0 a été publiée comme la version la plus récente, avec ses notes envoyées et sans l'installateur. L'avis s'affichait en entier : « il y a une nouvelle version », les notes traduites dans ta langue, et un bouton Télécharger qui menait à une page où il n'y avait rien à télécharger.

Ce qui change. Si une version est publiée et n'apporte pas d'installateur, aucun avis n'est affiché. Pas de bouton, pas de notes, pas de promesse. Et que rien n'apparaisse ne veut pas dire que la vérification a échoué : la version est à moitié publiée, et l'avis apparaîtra tout seul dès qu'elle sera terminée. Il n'y a rien à faire sur ton ordinateur.

Et sans bouton d'ignorer. C'est la partie qu'on ne pouvait pas défaire. « Ignorer cette version » s'écrit dans tes réglages : celui qui en aurait eu assez de l'avis cassé et l'aurait ignoré serait resté sans la bonne version une fois l'installateur enfin en ligne. Maintenant il n'y a pas d'avis, donc pas de bouton à presser : cela découle de la forme du code et non du fait de penser à l'enlever.

Ce qui ne change pas

Si tu peux mettre à jour, on continue de te prévenir. Il y a un cas qui ressemble et qui n'est pas le même : quand l'installateur est là mais qu'il faut le télécharger depuis la page au lieu du programme. Celui-là fonctionne, et il prévient comme toujours.

« Ne peut pas s'installer d'ici » et « il n'y a pas d'installateur » ne sont pas la même chose, et jusqu'ici cela s'écrivait pareil.

Pas un seul chiffre ne change. Cela ne touche pas ton historique, ne demande de reconstruire quoi que ce soit, et ne change pas la façon dont un seul combat est mesuré. Cela s'ouvre comme la 1.16.0 et avec tes mêmes données.

1.16.0 — toda la aplicación en una barra lateral

18 août 2026

Toute l'application dans une barre latérale, et pas un chiffre n'a bougé

Les trois onglets du haut —Combat, Alertes et Encyclopédie— ont disparu. À leur place il y a une barre à gauche avec quatorze sections, groupées non pas par type de donnée mais par portée : de quoi chaque nombre est en train de parler.

Ce combat — Scène · Par capacité · Butin · Le journal · Analyse

Tout l’historique — Résumé · Ennemis · Butin · Progression · Zones · Sorts · Morts

Réglages — Alertes · Voix et les tiens

Pourquoi par portée

Butin dans Ce combat et Butin dans Tout l’historique, ce sont deux questions différentes, et jusqu'ici on arrivait aux deux par des chemins qui ne disaient jamais laquelle était laquelle. La première chose à savoir d'un nombre, c'est de quoi il parle ; maintenant le groupe où il vit le dit avant qu'on le lise.

Et la liste des combats n'apparaît que là où elle veut dire quelque chose : dans les cinq sections de Ce combat, celles qui changent quand on choisit un autre combat. Dans celles de l'historique elle n'est pas là, et la section occupe toute la largeur.

Pas un nombre n'a changé, et c'est la promesse

Cette version ne calcule rien de nouveau et ne calcule rien autrement. C'est un déménagement : ce qui était là a été porté ailleurs à l'écran, entier.

  • Elle ne demande pas de reconstruire. Ton historique reste exactement tel quel, et la première ouverture ne prend pas plus de temps qu'une autre.
  • Le même combat affiche les mêmes chiffres qu'en 1.15.0. Si l'un d'eux était différent ce ne serait pas une amélioration : ce serait un défaut, et c'est pour ça que ça a été vérifié section par section.
  • Aucune fonction nouvelle. Celles qui sont là sont les mêmes, à leur place.

C'est dit aussi clairement parce que c'est ce qui avait été promis au départ, pas une excuse pour ce qui manque.

Deux choses qui se remarquent à l'usage

Les minuteurs ne s'éteignent plus quand on change d'écran. Ils vivaient dans Combat : tu allais voir quelque chose dans le bestiaire et le compte à rebours que tu surveillais disparaissait pendant qu'il tournait encore. Ils appartiennent au cadre maintenant et se voient dans toutes les sections.

La relecture s'ouvre à l'intérieur de Scène, sans te sortir du combat : le graphique de l'en-tête s'écarte pour ne pas montrer deux fois la même chose, et la scène se monte là, la liste des combats toujours à côté.

Et la note des trois vitesses donne maintenant le calcul. Elle ne dit plus à quoi se compare la première : elle dit dégâts totaux ÷ durée du combat, qui est ce qu'il fallait savoir.

1.15.0 — el reproductor deja de dibujar lo que no pasó

16 août 2026

La première fois que tu l'ouvres, elle relit tout ton journal

Cette version force une reconstruction. Tu verras un avis et une barre de progression : elle relit ton journal depuis le début pour reconstruire ton historique. Cela prend quelques secondes —mesuré, 25 s pour 75 Mo— et cela n'arrive qu'une fois.

Rien n'est effacé : les fichiers précédents sont mis de côté avec un horodatage avant qu'on touche à quoi que ce soit, et ils peuvent être restaurés.

Pourquoi c'est nécessaire. Cette version change le nom enregistré pour chaque ennemi, et la preuve de son orthographe se trouve dans ton journal, pas dans les combats déjà enregistrés. En relisant, tout l'historique est corrigé ; sans relire, seulement ce qui vient ensuite.

Et c'est la première version avec une licence

EQL Parse passe sous FSL-1.1-MIT : tu peux l'utiliser, le copier et le modifier pour tout ce qui n'est pas lui faire concurrence, et chaque version passe sous licence MIT deux ans après sa publication. Le texte complet est livré dans le programme, sous À propos d’EQL Parse.

Les versions antérieures à celle-ci ont été publiées sans licence explicite. Ce n'était pas une position, c'était un oubli. C'est écrit ici parce que quiconque en a téléchargé une mérite de savoir où il en était.

Le lecteur ne dessine plus des combats qui ne sont pas les tiens

En rejouant un combat dans une zone fréquentée, des silhouettes apparaissaient alors qu'elles n'étaient pas dans ton combat : la bestiole d'un autre joueur, le joueur lui-même, et les coups qu'ils échangeaient — dessinés dans leur propre colonne comme s'ils faisaient partie du tien.

Le pire cas de l'historique : un combat de 99 secondes avec trois combattants qui dessinait treize silhouettes, avec 468 coups étrangers dedans.

Mesuré sur 1 493 combats : 446 dessinaient quelqu'un de l'extérieur, et 49 dessinaient des combats étrangers entiers. C'est maintenant 190 et zéro. Les 190 qui restent sont les légitimes : quelqu'un qui t'a soigné, ou qui a raté ta bestiole, et se trouvait donc là.

Et il n'éteint plus tout le monde à la première seconde

Quand un ennemi tombait, sa silhouette s'éteignait à la seconde zéro de la lecture au lieu de la seconde où il est mort. Avec plusieurs ennemis, la scène commençait avec tout le monde en gris et restait ainsi.

Cela arrivait dans 80 % des combats. Maintenant chaque silhouette s'éteint quand elle est tombée.

Les noms s'écrivent comme le jeu les écrit

The Prophet, The Spiroc Lord, The Muglwump et deux autres apparaissaient avec une minuscule que nous avions mise. EverQuest met une majuscule à la première lettre de chaque ligne : le seul moyen de connaître la vraie orthographe d'un nom est de regarder comment le jeu l'écrit en milieu de phrase — et c'est ce qui se fait maintenant.

Et quand nous ne le savons pas, c'est dit. Certains noms, tu ne les as jamais vus qu'en début de ligne ; pour ceux-là, l'orthographe est notre supposition. Ils portent une note qui le dit, à côté de la ligne du combattant.

« 2 abattus » n'est pas « au moins 3 présents »

Un combat s'intitulait a shin ghoul knight ×2, ce qui se lit « il y en avait deux ». Ce n'est pas ce qui est compté : ce sont ceux qui sont tombés. Maintenant c'est écrit avec ce mot.

Le lecteur répond à l'autre question —combien il y en avait— et peut donner un nombre plus grand, parce qu'il inclut celui qui n'est jamais tombé. Là où les deux apparaissent, les deux sont montrés, chacun avec son mot :

a shin ghoul knight — 2 abattus · au moins 3 présents

Renommer ton journal ne perd plus les heures qui suivent

Si tu fermais le jeu, renommais eqlog_...txt pour en commencer un nouveau, et jouais trois heures avant d'ouvrir EQL Parse, ces trois heures n'étaient jamais lues. Le programme se souvenait de l'octet où il en était, le nouveau fichier était plus court, et il restait à la fin sans rien dire.

Il détecte maintenant que le fichier est un autre et le lit depuis le début.

Ce qu'un autre joueur tape ne compte plus comme des dégâts

Si quelqu'un écrivait dans le chat une ligne qui ressemblait à un coup, le programme la croyait et l'ajoutait au combat. Désormais une ligne de chat est reconnue comme du chat avant que quoi que ce soit ne regarde ce qu'il y a entre les guillemets.

Le journal de référence compte 32 659 lignes de chat. La confusion ne pouvait se produire que sur celles qui ne referment pas le guillemet —un message coupé en plusieurs lignes—, soit huit, et aucune des huit ne contenait de chiffre. C'était possible, et ce n'était pas arrivé.

Une correction à ces notes

La version publiée décrivait mal cette correction. Ce qui se lit désormais comme une citation, ce sont d'autres joueurs qui écrivent dans ton propre journal ; la version précédente disait autre chose, et ce n'était pas vrai. Et placée là, la phrase avait l'air d'une retouche, alors que ce qu'il y avait dessous était la correction d'exactitude racontée juste au-dessus.

Corrigé le 18 août 2026. Dit au lieu d'être changé en silence, parce que quelqu'un a déjà lu la phrase précédente.

1.14.1 — los avisos dicen de dónde salen, y los abatidos que faltaban

15 août 2026

Les alertes disent d'où elles viennent

Si vous avez ouvert l'onglet des alertes et vu « Lady Vox » à cinq endroits que vous n'aviez pas écrits, la conclusion raisonnable était que ces phrases venaient d'un wiki. Ce n'était pas le cas : ce déclencheur correspond 33 fois dans votre propre journal, avec six de ses sorts. Ce qui manquait n'était pas la règle, c'était de dire d'où elle venait.

Chaque déclencheur porte maintenant deux étiquettes :

  • d'où il vient — « modèle d'usine », qui n'a pas été vérifié contre votre journal, ou « écrit par vous »
  • ce qu'il a fait — « vu 33 fois dans votre journal », et s'il n'a pas encore correspondu, il le dit

La seconde est ce qui transforme une promesse en fait : un motif recopié avec un mot différent ne correspond jamais, et jusqu'ici il avait exactement la même allure qu'un motif qui se déclenche tous les jours.

Et le comptage se fait sur votre journal entier, pas depuis l'ouverture : au démarrage, la relecture compte sans parler. Si vous changez de journal, le compteur dit qu'il parle d'un autre et repart de zéro.

L'avertissement disant que les modèles de boss doivent être vérifiés contre votre propre journal était écrit dans le programme depuis le premier jour et n'apparaissait sur aucun écran. Il s'affiche maintenant, avec la note de chaque modèle.

Le modèle de boss n'apporte plus de minuteur. Il portait douze secondes que personne n'avait chronométrées : le journal n'écrit jamais le temps de recharge d'un sort ennemi, donc ce nombre ne pouvait pas se mesurer en lisant. C'est vous qui le mettez — vous êtes celui qui peut le prendre au chronomètre.

Les victoires qui manquaient dans le bestiaire

EverQuest écrit le nom d'un ennemi avec une majuscule en début de phrase — « A shin ghoul knight has been slain » — et en minuscule au milieu — « You slash a shin ghoul knight ». Le programme réunissait les deux formes pour compter les combattants, mais pas pour compter les morts.

Mesuré sur un historique réel : sur 4 348 ennemis abattus, 25 n'arrivaient pas à la fiche de l'ennemi, et 39 échantillons de vie estimée partaient avec eux. orc legionnaire affichait quatorze morts de moins qu'il n'en avait eu, et sa vie calculée sur la moitié des échantillons. Neuf lignes de la liste des combats d'un ennemi disaient « a survécu » d'une bête qui était tombée.

Rien ne cassait visiblement, et c'est pour cela que c'était là depuis toujours : un nombre plus bas ne se distingue pas d'un nombre correct.

C'est corrigé à la lecture, donc votre historique ressort juste sans rien reconstruire.

Un ennemi qui se soigne n'a pas plus de vie

Un soigneur ennemi répare une partie des dégâts que vous infligez, et ce n'est pas sa vie : ce sont des dégâts défaits. L'estimation de vie le déduisait déjà — mesuré : 929 772 points de soins ennemis, 5 % des dégâts que vous leur faites — mais la règle qui décide si un ennemi est un boss utilisait le chiffre sans déduction.

Corrigé. Dans votre historique, un ennemi change de côté : Cleric of Innoruuk, qui a reçu 22 633 avec 2 803 de soins en chemin — sans les déduire, il franchissait le seuil et ressortait étiqueté boss de raid.

Et deux ralentissements qui n'étaient pas annoncés

Languid Pace et Instill ne tombaient dans aucune catégorie, donc « Racine et ralentissement » ne prévenait pas, même activé. Ils entrent, mesurés : seuls ceux lancés par un ennemi sont annoncés — 44 % d'entre eux étaient lancés par votre propre familier — et cela fait deux par combat dans 9 % d'entre eux.

Trois autres groupes de sorts sans catégorie ont été examinés — vols de vie, étourdissements et drains de mana — et aucun n'est annoncé : un toutes les huit secondes, ou un toutes les deux, n'est pas une alerte. Une voix qui parle sans arrêt apprend à ne plus l'écouter.

1.14.0 — una pelea es un grupo de enemigos, no un hueco de silencio

15 août 2026

Cette version relit votre journal, et change où commence et où finit chaque combat

C'est en premier parce que c'est ce qui arrive dès l'ouverture : le premier lancement prend du temps, car le journal entier est relu une fois.

Rien ne peut être corrigé à la lecture, et ce n'est pas faute d'essayer : la frontière entre deux combats se décide au moment où on les écrit, donc la seule façon d'appliquer le nouveau modèle à ce que vous avez déjà est de revenir au journal. Rien n'est perdu — fights.ndjson sort du journal, qui est la source — mais votre historique est découpé autrement.

Vous venez de la 1.12.0, et la 1.13.0 arrive à l'intérieur de celle-ci

La 1.13.0 n'a jamais été publiée : son code existe et ses notes existent, mais elle n'a jamais eu d'installateur, donc personne ne l'a. Ses corrections arrivent dans celle-ci, et elles sont six :

  • le temps où vous ne contrôliez rien cesse de compter contre vous. Une peur ou un charme laisse le journal sans une seule ligne de vous, et cela se lisait comme si vous étiez parti. Dans votre historique, cela fait 31 épisodes et 251 secondes qu'on vous facturait et que vous ne pouviez pas éviter
  • un équipier charmé cesse d'être un ennemi. Un seul coup de sa part suffisait à le faire passer dans le camp adverse avec tous ses dégâts ; dans le pire combat, 55 % du « dégâts ennemis » venait de votre propre groupe
  • « Ce que ce combat ignore », qui rassemble ce qu'un combat ne peut pas savoir : les dégâts sans propriétaire, les dégâts comptés par déduction, et le butin avec deux cadavres possibles
  • « Changements d’état » dans la relecture, avec ce qui vous est arrivé pendant le combat et combien de temps chaque chose a duré
  • « Ce que tu lui résistes » par ennemi et par sort, au lieu d'un total isolé
  • et les combats qu'une peur coupait en deux

Les notes complètes de la 1.13.0 sont sur sa propre page de version. Ce qui suit est celle-ci.

Nous répondions à une autre question

Jusqu'ici, « est-ce le même combat ? » se répondait par « depuis combien de temps le journal est-il silencieux ? ». Ce sont deux questions différentes, et c'est pour cela que cela échouait dans les deux sens à la fois :

  • cela coupait un combat parce que vous aviez passé vingt-cinq secondes à nettoyer les renforts
  • et cela en fusionnait deux parce que le suivant commençait trois secondes après le premier

Les deux venaient du même endroit : un intervalle de silence ne dit rien sur qui est en train de vous combattre.

Ce qu'est un combat, désormais

Un combat est un groupe d'ennemis dont les fenêtres de participation se chevauchent. Chaque ennemi a une fenêtre, de sa première ligne à sa dernière ; tant qu'il en reste une ouverte, le combat continue.

Dit comme on le voit depuis le jeu : cinq ennemis tués en deux minutes, tous en train de frapper ou d'incanter en même temps, leurs noms apparaissant mêlés dans le journal, font un combat. Cinq tués en deux minutes mais un par un, sans qu'aucun ne fasse quoi que ce soit pendant que vous attaquez le précédent, font cinq.

Un ennemi qui meurt ferme sa fenêtre à l'instant même : une mort est une mesure, pas une attente. Seuls les ennemis auxquels vous échappez ont besoin d'un délai, et ce délai est de douze secondes — le 99e centile de la cadence d'attaque mesurée dans votre propre journal. Sur les 19 970 intervalles de silence de deux secondes ou plus, 99,1 % sont plus courts que cela : ce n'est pas un mystère, c'est le rythme de la bête.

Un ennemi endormi ne casse plus le combat

Un sort d'hypnose ne produit aucune ligne : la bête se tait et on dirait qu'elle est partie. Mais le journal écrit bien qu'elle dort, ainsi que les deux façons de la réveiller.

Ces lignes n'étaient pas lues. Votre journal contient 217 hypnoses posées et 353 lignes de fermeture — « has been awakened by » et « spell has worn off of » — qui finissaient dans le tiroir des lignes non reconnues. Avec elles, 202 des 217 ont une fenêtre au début et à la fin écrits.

Maintenant, un silence expliqué par un état mesuré — hypnose, charme, ou un passage où vous ne contrôliez pas votre personnage — ne ferme aucune fenêtre. Et chaque combat qui s'appuie là-dessus garde quelle ligne le soutient, sur quel ennemi, et combien de silence elle a couvert, pour qu'on puisse en discuter au lieu d'y croire.

Ce qui n'y est pas : l'enracinement. Sur 850 171 lignes, pas une ne dit qu'un ennemi est enraciné, donc cela ne se mesure pas et on ne l'invente pas.

Une série de neuf minutes, en neuf lignes

Un combat réel des Ruines d'Old Guk : neuf minutes et demie, vingt-deux morts et neuf noms distincts, le tout dans une seule ligne de la liste. Découpé par le nouveau modèle :

38 s a bloodthirsty ghoul, a frenzied ghoul 13 s a bloodthirsty ghoul 70 s a zol ghoul knight ×2, a dar ghoul knight 49 s an urd ghoul wizard, a zol ghoul knight ×2, a kor ghoul wizard 20 s a zol ghoul knight 84 s a dar ghoul knight ×2, the ghoul arch magus 148 s a yun ghoul wizard, a dar ghoul knight ×5 22 s a kor ghoul wizard 12 s a wan ghoul knight

Neuf lignes, neuf noms distincts. Le décompte « ×2 » fait le travail : sans lui, quatre de ces neuf diraient la même chose.

Et c'est pour cela que vos chiffres cessent d'être dilués

C'est ce qu'on remarque en ouvrant un combat, et ce n'est pas une question de rangement dans la liste.

Une série de vingt-sept minutes avec quarante bêtes qui tombent d'un coup avait un « dps des tiens » divisé par tout le temps passé à marcher entre elles. Le chiffre était correct et ne décrivait rien. Maintenant chaque série a son propre chiffre, et « DPS sur le combat » veut à nouveau dire ce qu'il dit.

Idem pour « durée », « Temps sans frapper » et « DPS sur les secondes actives » : un dénominateur qui contient trois combats et deux promenades ne mesure personne.

Une mort ne fonde plus un combat

Une mort n'est pas un début : c'est la preuve de quelque chose qui se passait déjà. Si arrive la mort d'un ennemi qui n'a pas produit une seule ligne dans le combat ouvert — un poison qui finit tout seul, ou quelqu'un d'autre qui l'a achevé — elle ne compte plus comme votre prise : elle est notée à part, avec la distance à sa dernière ligne.

Dans votre historique, cela fait 21 morts sur plus de quatre mille. C'est peu, et on le dit quand même : c'était une prise qui n'était pas la vôtre, dans le titre d'un combat qui n'était pas le sien.

De combien change votre historique

Sur le journal de référence, les combats enregistrés passent de 845 à 1 420, et la durée médiane descend de 86 à 45 secondes. Le nombre auquel vous arriverez dépend de combien vous avez joué avant de reconstruire ; la différence, non.

Mais cela ne change pas uniformément. Dans le Plan de la Peur, le Plan de la Haine, l'Antre de Nagafen et le Plan du Ciel — là où vous combattez une chose à la fois — 83 % des combats sortent exactement pareils, et de 457 ils passent à 536. Ce qui se découpe vraiment, ce sont les séries : les endroits où vous enchaîniez sans pause, là où une seule ligne cachait une demi-heure.

Ce que fait ce modèle, dit avec précision

Il ne fait que couper, sauf là où le journal dit noir sur blanc que l'ennemi était toujours là. À la reconstruction, chaque nouveau combat tient à l'intérieur d'un de ceux que vous aviez déjà — avec dix exceptions sur 845, et les dix peuvent montrer la ligne d'hypnose ou de charme qui les réunit. Pas une seule n'est réunie par un intervalle de temps.

Ce qui ne peut se vérifier qu'en jouant

Un combat se ferme par deux chemins qui n'utilisent pas la même horloge : l'horodatage du journal et l'horloge murale. Relire est l'un des deux, donc la seule façon de vérifier qu'ils s'accordent est de jouer une session puis de la relire.

La marge de l'horloge murale passe de trois à cinq secondes à cause de ce changement — le nouveau délai est plus court, donc un décalage coûte plus cher — ce qui veut dire qu'un combat met cinq secondes à être déclaré terminé sur le bandeau, au lieu de trois. Cela n'affecte aucun chiffre : seulement le moment où il apparaît.

1.13.0 — el tiempo que no manejabas deja de contar contra ti (no distribuida)

15 août 2026

Cette version relit ton journal, et cette fois sans demander

C’est en tête parce que c’est ce qui arrive dès que tu ouvres : le premier lancement est long, car le journal entier est relu une fois.

La 1.11.0 corrigeait à la lecture, et c’est pour cela qu’elle ne demandait rien. Celle-ci ne peut pas. Trois des choses qu’elle corrige ont été décidées au moment d’écrire chaque combat, et ce qui a été décidé à l’écriture ne se recompose pas à la lecture :

  • le temps sans contrôle, facturé comme du temps mort au calcul du combat
  • l’équipier charmé, enregistré dans le camp ennemi
  • les combats coupés en deux par une peur

Rien n’est perdu : fights.ndjson est régénéré depuis le journal, qui est la source. Ce qui change, ce sont tes chiffres, et certaines frontières entre combats.

Le temps que tu ne maîtrisais pas cesse de compter contre toi

Quand un ennemi t’effraie, ce n’est pas que tu arrêtes de te battre : c’est que tu ne peux pas. Sous un charme tu ne décides pas non plus — tu frappes les tiens, mais tu ne le choisis pas. Dans les deux cas le journal se retrouve sans une seule ligne de combat de toi, et le programme lisait cela comme si tu étais parti regarder ton inventaire.

Le journal écrit pourtant les deux extrémités de ces laps, et elles n’étaient pas lues. Dans ton historique ce sont 31 épisodes, et 251 secondes qui t’étaient facturées et que tu ne pouvais pas éviter. Le pire combat passe de 172 à 91 secondes de temps mort.

Ces laps sont désormais mesurés et sortent de tous les chiffres qui parlent de toi : « Temps sans frapper », « Bonne continuité », le dénominateur de « DPS sur les secondes actives », « Mauvaise posture par moments » et ta cadence. Leur durée n’est pas non plus une donnée sur toi, puisque tu ne la décides pas.

En chemin, deux choses tiraient dans des sens opposés, et les deux sont parties :

  • les courts trous de peur te pardonnaient trop, car ils gonflaient ta cadence et avec elle la marge qu’on t’accorde
  • et pendant que tu étais tenu on continuait à te frapper, donc le dénominateur de « DPS sur les secondes actives » grandissait alors que le numérateur ne pouvait pas

L’étiquette vient d’une mesure, pas d’une ressemblance. La ligne du journal ne donne pas la cause : la peur et le charme écrivent la même. Ce qui les sépare, c’est ce que tu as fait dedans, et cela se voit — sous la peur tu ne peux pas agir du tout, donc zéro action c’est la peur ; charmé tu frappes les tiens sans le décider, donc un coup sur eux c’est le charme. Si tu as agi contre l’ennemi, ce n’est ni l’un ni l’autre, et le combat le dit au lieu de choisir.

Et il a fallu écarter un cas qui aurait tout gâché : les touches que le jeu refuse. Dans ces laps il y a 24 incantations commencées qui n’aboutissent jamais — ni impact, ni résistance, ni interruption. En dehors, ce même sort aboutit. Une incantation sans issue n’est pas une action, c’est une tentative refusée, et la compter aurait transformé 10 des 31 épisodes en autre chose parce qu’un raccourci a été martelé.

Un équipier charmé cesse d’être un ennemi

Si quelqu’un de ton groupe est charmé et te frappe, jusqu’ici il devenait ennemi pour tout le combat, pas seulement pendant l’échange. Le camp se déduisait de qui frappe qui, et un seul coup suffisait à le faire passer de l’autre côté avec tous ses dégâts derrière lui.

Dans ton historique il y a eu du tir ami dans cinq combats, tous au Plan de la Peur. Dans trois d’entre eux un équipier a fini dans le camp adverse, et dans le pire 55 % des « dégâts ennemis » venaient de ton propre groupe. Cela te retirait aussi le tien : les dégâts que cet équipier infligeait au boss ne comptaient pas dans « Les tiens ».

Maintenant, ce que tu as déclaré l’emporte. Celui dont tu as dit qu’il est des tiens ne change pas de camp parce qu’un coup dit le contraire, et les dégâts que vous vous infligez ne s’ajoutent à aucun total : ils sont mis à part et comptés, avec leur nom et dans les deux sens, sous « Deux des tiens se sont battus entre eux ».

Ce bloc est dans le combat, au-dessus de la liste des combattants — pas dans la relecture. Il dit quel équipier s’est battu contre le groupe, combien de coups, combien de dégâts et entre quelles secondes. La cause n’est pas donnée, parce que le journal ne l’écrit sur aucune ligne. À côté figure la seule chose écrite à proximité : le dernier sort lancé par l’ennemi avant ce laps, quel qu’il soit, avec les secondes d’écart. Parfois c’est un charme et parfois c’est un de ses soins, et c’est montré pareil — c’est un fait voisin, pas une cause.

« Ce que ce combat ignore »

Depuis des versions, le programme calculait à quel point il ne peut pas se fier à lui-même, et ne le montrait nulle part. Trois nombres, mesurés, enregistrés et muets. Ils sont maintenant ensemble et visibles, parce que c’est la même question :

  • des dégâts réels sans propriétaire, un bouclier de dégâts sans possessif ; le journal ne les attribue à personne et ils n’entrent dans aucun total
  • des dégâts comptés comme ennemis sur la foi d’une déduction et non d’une ligne : le charme rompu en enchaînant un autre, que le journal n’annonce pas
  • du butin avec deux cadavres également possibles, où le plus récent a été retenu

Chacun est marqué comme mesuré ou déduit. Cette partie n’avait besoin d’aucune reconstruction : les trois nombres étaient déjà calculés et enregistrés. Il ne manquait que de les lire.

« Changements d’état », dans la relecture

Sous la ligne de temps il y a une piste avec ce qui t’est arrivé pendant le combat : « stunned », tes propres charmes, « Sans contrôle », absorptions, mises à terre et alertes de survie.

Là où le journal écrit les deux extrémités d’un état, la durée est mesurée et une barre est tracée du début à la fin. Là où cette barre ne se distinguerait pas d’un point à la largeur que tu as à l’écran, c’est le point qui est tracé — et en élargissant la fenêtre les points deviennent des barres. C’est voulu : la piste montre la résolution qu’elle a, pas une qu’elle n’a pas.

Un état déjà en place au début du combat, ou encore en place à la fin, est tracé ouvert de ce côté. C’est différent d’affirmer qu’il a duré jusque-là, qui est tout ce qu’on sait.

Tous les états possibles n’y sont pas, seulement ceux qui disent quelque chose. La racine est lue et enregistrée mais pas dessinée : elle ne t’empêche pas de frapper, donc elle n’explique aucun trou de la courbe. Elle était sur la piste parce qu’elle est fréquente, et sur une piste où tout est marqué rien n’est marqué.

« Ce que tu lui résistes »

Ce que tu résistes était un total isolé du combat. Ce total reste où il était, et il va désormais aussi sur la fiche de chaque ennemi, avec lequel de ses sorts il s’agissait — ce qui transforme « tu as résisté sept fois » en quelque chose d’utilisable la prochaine fois que tu descends là.

Ce n’est pas un pourcentage, et la fiche le dit : qu’un sort passe ne laisse aucune ligne dans le journal, donc on compte les fois où tu l’as arrêté et rien d’autre.

Des combats qui étaient coupés en deux

Un laps sans contrôle assez long coupait le combat, parce que pendant une peur il n’y a aucune ligne de toi et cela se lisait comme un combat terminé. Cela arrivait par les deux chemins : la marque du journal et l’horloge murale, qui en direct fermait avant même que n’arrive l’avis que tu avais repris le contrôle.

Cela ne coupe plus. À la reconstruction, cinq combats fusionnent avec leur voisin et un déplace sa frontière, donc ton total baisse de quatre. Le nombre auquel tu arrives dépend de ce que tu as joué avant de reconstruire ; la différence, non.

Ce qui reste ouvert

Reconstruire ne reproduit pas ton historique à cent pour cent. Des dix différences mesurées entre ce que décide l’horloge murale et ce que décide la marque du journal, sept sont fermées. Les trois qui restent sont des démarrages de l’application au milieu du journal, et aucune règle d’horloge ne les coupe : là où un traqueur tout neuf commence à regarder, un combat commence.

C’est dit ici parce qu’il vaut mieux le savoir avant de reconstruire que le découvrir après.

1.12.0 — el botín se cuelga de su cadáver, y la moneda por fin cuenta

12 août 2026

Cette version te demande de reconstruire l’historique, et reconstruire le déplace

C’est en premier parce qu’il faut le savoir avant d’appuyer, pas après.

À l’ouverture, un avis te demandera de relire ton journal. C’est obligatoire cette fois : l’endroit où chaque objet était rattaché a été décidé au moment de l’écrire, et rien ne permet de le recomposer en relisant mieux ce qui est enregistré.

Et reconstruire ne reproduit pas exactement ton historique. La fin d’un combat est décidée par l’horloge murale quand le programme tourne et par l’horodatage du journal quand on le relit : là où l’écart entre deux combats fait exactement 20 secondes, chaque chemin décide autrement. Mesuré sur un historique réel de 708 combats : il en reste 700 — 698 identiques, 10 qui fusionnent avec celui d’à côté et 2 qui ressortent découpés autrement.

Ce que tu avais est mis de côté avec une date avant qu’on touche à quoi que ce soit (fights.ndjson, l’index, l’encyclopédie et les fichiers annexes) et se récupère en le recopiant. Rien n’est effacé.

C’est un défaut connu, le même que la 1.11.0 signalait déjà, et il n’est toujours pas corrigé. La différence, c’est que cette version-là ne demandait pas de reconstruire et que celle-ci le demande.

Ce qui n’allait pas dans le butin

Il était rattaché au combat ouvert au moment du ramassage, et on pille après avoir tué. Quatre conséquences, toutes mesurées sur un journal réel de 55 Mo :

  • 34 objets rattachés à un combat postérieur à la mort de la créature dont ils venaient. Toujours vers l’avant, jamais l’inverse, avec une médiane de dix minutes entre un combat et l’autre. Tu tues, tu continues, et dix minutes plus tard tu vides le cadavre : l’objet partait au combat où tu étais.
  • 294 objets dont l’instant tombe hors de leur propre combat, donc invisibles. La relecture va de zéro à la durée du combat : un objet ramassé après le dernier coup n’était affiché nulle part. C’est un tiers des combats avec butin.
  • 51 objets tombaient à un endroit différent selon qu’ils avaient été enregistrés en direct ou par relecture — et c’étaient précisément ceux des boss, parce qu’un boss a dix objets et que vider son cadavre prend plus que les vingt secondes nécessaires à la fermeture du combat.
  • Une ligne de butin sans règle. and stored it in your tradeskill depot est apparue une seule fois dans tout le journal et a emporté un objet entier sans que rien ne se déclenche.

Et les pièces des cadavres n’étaient enregistrées nulle part : 1 392 lignes que le programme reconnaissait et jetait.

Ce qui change

Chaque objet va désormais au combat où son cadavre est mort, et non à celui qui était ouvert. Sur les 1 901 lignes de butin du journal de référence : 1 884 restent rattachées au combat où est morte la créature dont elles venaient, 17 restent isolées — parce que quelqu’un d’autre a achevé cet ennemi et que cette mort n’a jamais été enregistrée — et aucune n’est perdue.

L’appariement se fait par nom et par proximité : c’est une déduction, et c’est dit comme telle, car le journal ne numérote pas les cadavres. Ce qui est mesuré, c’est l’écart entre la mort et le ramassage, affiché à côté de chaque objet. Pour les trois ramassages sur 1 901 où deux cadavres étaient aussi proches dans des combats différents, le doute est signalé au lieu de choisir en silence.

La relecture se termine par une fiche nouvelle : « Ce que tu as ramassé ». Quels objets, de quel cadavre, à quel moment, dans l’ordre de ramassage. Ceux que tu as pris alors que le combat était déjà terminé y figurent, avec leur heure et la mention explicite que le combat était fini — c’est la première fois qu’on les voit.

Elle ne s’intitule pas « ce qui est tombé », et ce n’est pas un oubli : le journal ne note pas ce que ramassent les autres, ni ce qu’un autre pille sur un cadavre lointain, ni ce qui est resté au sol. Il note ce que tu as pris, et la fiche s’intitule ainsi.

Et un combat sans butin ne dit plus une seule chose, parce que ce ne sont pas les mêmes :

  • des ennemis sont tombés et aucun ramassage de ta part n’est enregistré
  • personne n’est tombé, il n’y avait donc rien à ramasser
  • tu l’as ramassé, mais en dehors de tout combat à toi

Les pièces comptent enfin, avec leur instant et totalisées en cuivre. Elles sont rattachées au combat ouvert et non à un cadavre, parce que la ligne du journal ne dit pas de qui elles viennent — et c’est écrit sur la fiche, à côté du chiffre. Ce sont deux certitudes différentes et elles ne sont pas montrées comme si c’en était une seule.

Et un filet pour la prochaine fois

Une fin de ligne que le programme ne savait pas lire a coûté un objet entier, et aucune alarme ne s'est déclenchée.

Désormais une fin inconnue donne quand même l'objet et le cadavre, et la partie illisible voyage telle quelle jusqu'à la fiche, où on la voit. Un objet peut arriver avec un morceau bizarre ; ce qu'il ne peut plus faire, c'est ne pas arriver.

1.11.0 — la postura no mitiga el daño periódico ni el escudo

9 août 2026

Tes combats enregistrés vont afficher d'autres chiffres. Sans que tu appuies sur quoi que ce soit

Ceci vient en premier parce que c'est ce qui va se passer dès que tu ouvriras le programme.

La 1.10.0 te demandait la permission : un bandeau apparaissait, il y avait un bouton, et ton historique précédent était mis de côté avec une date avant qu'on ne touche à quoi que ce soit. Celle-ci ne demande pas. La correction se fait toute seule à la lecture de chaque combat, donc les combats que tu avais déjà vont afficher des chiffres différents la première fois que tu les ouvriras.

Il n'y a rien à décider et rien ne se perd : ton fights.ndjson n'est pas touché, la correction se fait pendant la lecture. Mais un historique qui change sans prévenir, c'est exactement ce que ce programme ne fait pas — d'où cet avertissement. Il apparaît aussi dans l'application, une seule fois.

Ce qui n'allait pas

La posture ne réduit ni les dégâts périodiques ni le bouclier de dégâts, et le programme faisait comme si.

Le journal enregistre les dégâts déjà atténués : pour pouvoir comparer les postures entre elles, il faut donc reconstruire ce que tu aurais pris sans aucune. C'était fait aussi pour les dégâts périodiques et pour le bouclier de dégâts — et mesuré sur un journal de 385 656 lignes, la posture n'y touche pas :

  • Neuf applications de dégâts périodiques reçus traversent un changement de posture avec le sort déjà actif. Dans les neuf cas, la valeur du tick ne bouge pas d'un point. Rotting Flesh d'un dracoliche traverse Defensive ↔ Channeler dans les deux sens et vaut 100 sur les 42 ticks.
  • Le bouclier de dégâts, pareil : un spite golem pique à 18 sous Defensive, sous Channeler et sous Offensive.

Les sorts directs, eux, se comportent autrement : ils sont bien atténués, et avec une précision de manuel. Soul Devour de l'Eye of Veeshan frappe à 400 sous Defensive, 300 sous Channeler et 250 sous Mage Hunter, sur 368 impacts et sans une seule variation. Il ne s'agissait donc pas de renoncer à reconstruire le magique : c'étaient deux écoles mesurées séparément, avec deux résultats différents.

Ce que ça coûtait : 44 924 points de dégâts subis qui n'existaient pas, sur 416 combats enregistrés. Et le conseil de posture s'appuyait dessus — on comptait comme évitable 21 % de dégâts qu'aucune posture n'évite.

Ce qui change dans ce que tu vois

  • Les dégâts subis baissent dans les combats qui comportaient des dégâts périodiques ou un bouclier de dégâts. C'est le chiffre qui était gonflé.
  • Le panneau de conseil a une nouvelle ligne : combien des dégâts qui te sont entrés dessus aucune posture ne les arrêtait. C'est le plafond de tout ce que promet le tableau du dessous, alors maintenant c'est affiché.
  • Le verdict cesse de faire comme si tu avais gardé une seule posture. Si tu as changé de posture pendant le combat, ce que tu as évité est calculé tranche par tranche. Avant, on prenait celle qui avait duré le plus longtemps et on lui créditait la totalité des dégâts — et dans un combat où tu jongles, ça peut inverser le conseil : il pouvait te recommander de passer à une posture qui aurait évité *moins* que ce que tu as fait.
  • Le signalement « Mauvaise posture par moments » de l'analyse se déplace. Les phases sont découpées quand la composition des dégâts entrants change, et les dégâts périodiques comptaient comme magiques : un combat au corps à corps avec un poison actif était découpé comme si le boss s'était mis à te brûler.

Ton historique va rester mélangé, et c'est correct

Tout ne peut pas être corrigé à la lecture. Ce qui peut l'être : le montant observé est enregistré à côté du reconstruit, donc annuler la reconstruction indue est une copie exacte et se fait toute seule.

Ce qui ne peut pas : la répartition des dégâts selon la posture de chaque coup n'est pas sur le disque. Il faut la tirer d'une relecture complète du journal, et aujourd'hui on ne peut pas la demander avec des garanties (voir plus bas).

Conséquence pratique : dans tes anciens combats tu verras « combat enregistré avant que les dégâts ne soient répartis par posture », et pas dans les nouveaux. C'est correct et ce n'est pas un défaut : c'est le programme qui te dit que ce verdict-là est calculé contre une seule posture, parce que c'est tout ce qu'on peut faire avec ce qui est enregistré. Chaque combat porte désormais un numéro indiquant selon quelles règles ses chiffres sont calculés.

Reconstruire prévient maintenant de lui-même

Si tu utilises store:rebuild, ou le bouton de reconstruction, tu verras un nouvel avertissement : reconstruire ne reproduit pas exactement ton historique.

La fin d'un combat est décidée avec l'horloge du système quand le programme tourne, et avec l'horodatage du journal quand on reconstruit. Là où l'écart entre deux combats est de 20 secondes tout juste, chaque chemin décide autrement. Mesuré sur 441 combats réels : l'un fusionne avec le suivant, et les chiffres des deux changent avec lui.

L'état précédent est toujours mis de côté avec une date et reste récupérable. Mais mieux vaut le savoir avant d'appuyer qu'après. C'est un défaut connu, et sa correction est en attente ; d'ici là, cette version ne te demande pas de reconstruire.

Et un point de plomberie qui se voyait

Jusqu'ici, un seul nombre répondait à deux questions : « est-ce que ce qui est enregistré a changé ? » et « faut-il relire le journal ? ». Pendant treize versions d'affilée les deux réponses ont été les mêmes, donc personne n'avait remarqué que c'étaient deux questions. Voici la première version où elles divergent.

Elles sont séparées. Conséquence : le test qui empêche de publier un changement de format sans le numéroter n'a plus aucune exception — avant, dire « le format a changé mais ne reconstruis pas » obligeait à le faire taire.

Les notes de version, dans l'application

Le bandeau de mise à jour transportait déjà ce texte depuis la 1.10.0 et ne l'affichait nulle part. Maintenant il l'affiche, replié, avant que tu ne décides d'installer. Quelqu'un qui met à jour depuis l'application ne devrait pas avoir à aller sur le site pour lire ce qui va changer.

Revenir en arrière ne coûte rien, et ce n'est pas une procédure d'urgence

La correction vit dans le code qui lit, pas dans le fichier : ton fights.ndjson garde intacts les chiffres d'avant. Si tu installes la 1.10.0 par-dessus, les combats antérieurs à la mise à jour réaffichent exactement ce qu'ils affichaient, sans récupérer de copie ni rien annuler.

Et ceux que tu enregistres avec cette version ne restent pas en rade non plus. Mesuré sur 440 combats écrits par la 1.11.0 et lus par la 1.10.0 : pas une erreur, pas un combat qui perde son conseil, pas un point de dégâts perdu. Les dégâts subis sortent identiques —3 374 795 des deux côtés— et l'analyse par phases donne exactement la même chose : 1 820 phases et 183 signalements de posture des deux côtés, zéro combat qui diffère.

La seule chose que l'ancienne version ne sait pas faire, c'est séparer le troisième seau : elle met les dégâts sur la durée et les boucliers dans « magique », parce qu'elle n'en a que deux. Les dégâts y sont tous, comptés dans un tiroir de moins. La conséquence, c'est qu'elle recompte ces dégâts comme évitables en notant les postures, ce qui est son modèle de toujours.

La seule chose qu'elle fait en s'ouvrant, c'est refaire sa propre encyclopédie, ce qui prend moins d'une seconde et relève de son fonctionnement normal.

1.10.0 — la reproducción, el registro con contexto y la actualización desde la aplicación

8 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

Esta hay que bajarla a mano. La siguiente ya no

Esta versión es la que instala la actualización desde la aplicación, así que no se puede instalar con ella: descarga el instalador de aquí abajo una última vez. A partir de ahora, cuando salga una versión nueva, la aplicación te lo dice, te enseña cuánto ocupa antes de descargar y la instala sola si se lo pides. Nunca sin pedírselo, y si algo no se puede verificar, se queda como está y lo dice.

Si leíste «RECONSTRUYE» y nunca te salió el cartel, era un fallo nuestro

Esto hay que decirlo antes que nada.

Si instalaste alguna versión desde la 1.6.1 y leíste que había que reconstruir pero nunca te salió el cartel, no era que no te tocara: era un fallo nuestro. Esta versión sí lo pide.

El aviso de reconstruir se dispara comparando un número —STORE_VERSION— con el que lleva grabado tu histórico. Ese número no se tocó desde la 1.6.1, y en las trece versiones siguientes el parser y las cuentas cambiaron seis veces. Estas seis lo pedían en sus propias notas, cuatro de ellas en mayúsculas, y la aplicación no lo pidió nunca:

| | Lo que decía su nota | |---|---| | 1.8.0 | «Reconstruye el histórico para que lo del encantado y lo de los nombres…» | | 1.8.1 | «SI JUEGAS EN GRUPO, ACTUALIZA Y RECONSTRUYE» | | 1.8.2 | «si no reconstruiste el histórico entonces, hazlo ahora» | | 1.9.0 | «RECONSTRUYE EL HISTÓRICO para que las peleas viejas tengan sus…» | | 1.9.1 | «RECONSTRUYE EL HISTÓRICO para que las peleas viejas tengan las marcas…» | | 1.9.2 | «SI JUEGAS EN GRUPO Y HAS DECLARADO COMPAÑEROS, ACTUALIZA Y RECONSTRUYE» |

Quien las instaló, leyó eso y no vio ningún cartel concluyó lo razonable: que a él no le tocaba. Y lleva desde entonces con datos que sus propias notas decían que había que rehacer.

Una sola reconstrucción lo pone todo al día, vengas de la versión que vengas: no son migraciones encadenadas que puedan saltarse, es releer tu registro entero con el código de hoy y rehacer el histórico desde cero.

Para que no vuelva a pasar, ahora hay una prueba que compara lo que se guarda con lo que se guardaba, y no deja publicar si cambia sin subir ese número.

Antes de pulsar «Reconstruir»: si borraste o rotaste tu log

La reconstrucción lee el fichero de registro que tienes ahora. Si lo borraste, lo rotaste o lo empezaste de cero, las peleas que ya no estén en él no se recuperan y saldrás con menos peleas que antes.

La aplicación te dice cuántas había y cuántas quedan, y aparta tu histórico anterior con fecha antes de tocar nada, así que siempre se puede volver. Pero mejor saberlo antes de pulsar que después.

Qué arregla reconstruir, esta vez

Sale un cartel arriba. Tarda unos segundos y puedes decir que más tarde. Son dos cosas que no se arreglan releyendo mejor:

  • El daño que te hacías a ti mismo se contaba como daño hecho. En un histórico real eran 2.107 puntos repartidos por nueve peleas, y una de ellas era una pelea entera contra «yourself» que no existió nunca.
  • Ninguna pelea guardada lleva la forma del golpe, que se empieza a contar ahora. Sin reconstruir, el reproductor y las tablas la dan por ausente en todo lo anterior.

La reproducción

Vuelve a ver la pelea segundo a segundo, con los números flotando sobre cada combatiente como en el juego, medidores de dps al estilo del overlay y un panel de texto con lo que pasa un umbral. Se puede pausar, ir a ×2 o ×5 y saltar a cualquier segundo arrastrando sobre la gráfica.

Sale del registro releído, no de las cifras ya sumadas: cada número que ves es una línea de tu fichero. Los que no tienen instante no salen, en vez de colocarlos a ojo.

Debajo de cada enemigo abatido aparece lo que soltó. Y al pasar el ratón por cualquiera, su resumen acumulado hasta ese segundo, no el de la pelea entera.

La barra de casteo, con lo que tardó de verdad

Cada hechizo tiene su duración, y cambia con la postura y con las mejoras. No hay que declararla: sale de tus lanzamientos anteriores en esa misma sesión —la mediana, con ocho lanzamientos como mínimo—. Cuando el registro contradice a la mediana, el exceso se marca en la barra en vez de estirarla en silencio.

Y se distingue «es instantáneo» de «no hay muestra todavía», que no es lo mismo y se contaban igual.

El registro, con lo de justo antes y justo después

Las líneas originales de la pelea sin salir de la aplicación, con su contexto. Si el fichero ya no está o el tramo se salió del rango, lo dice y dice cuál era el rango — en vez de enseñar una caja vacía.

La forma del golpe, en vez del mínimo y el máximo

El mínimo y el máximo de un ataque son las dos únicas cifras de su fila que un solo golpe raro puede mover. Sobre un registro real, un ataque con 557 muestras da 3 / 25 / 60: el mínimo es 0,12 veces la mediana.

Ahora va la mediana con el p10 y el p90, que contestan lo mismo sin que se las lleve un golpe suelto. Y si un ataque tiene dos modas —dos golpes distintos contados como uno— se dice con palabras, no se deja en el dibujo.

Arreglos

  • La dificultad de las zonas. Una zona sin marca es dificultad 0, no «sin asignar». Eran 84 peleas de 410 sin asignar, y se curan al leerlas.
  • El aviso de cambiar de postura no saltaba cuando la mejor era una que no habías usado en esa pelea. Seis Eye of Vesshan en Defensive con Channeler mejor, y ni un aviso.
  • El trío se quedaba pegado. Declarabas SK/SHM/MAGE y seguía enseñando el druida de la sesión anterior.
  • El buscador de combates perdía el foco a cada letra: había que volver a pinchar en el campo para escribir la siguiente.
  • yourself aparecía como combatiente.
  • El tiempo sin pegar se medía contra cero. Con un arma de tres segundos, dos de cada tres segundos no traen daño por construcción, así que el aviso saltaba en el 98,9% de las peleas — o sea, no decía nada. Ahora se mide contra tu propia cadencia, deducida de tus huecos, y salta en el 22,2%.
  • Los hallazgos del análisis dicen si accionan algo. No es lo mismo «esto lo cambias tú» que «esto es tu equipo o tu nivel» que «esto es lo que pasó».

Y la mejor ráfaga

Los diez segundos seguidos en los que más daño pusiste, con su multiplicador contra tu ritmo de la pelea.

---

Página del proyecto: eqlparse.com

1.9.2 — el daño de tus compañeros declarados se descartaba

8 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.9.2 — arreglo: el daño de tus compañeros declarados se descartaba

SI JUEGAS EN GRUPO Y HAS DECLARADO COMPAÑEROS, ACTUALIZA Y RECONSTRUYE.

En una pelea con varios enemigos, cada uno se encarga de unos cuantos y hay bichos que tú no llegas a tocar en toda la pelea. El daño que tus compañeros hacían contra ésos se estaba descartando entero.

En un histórico real: 21.167 puntos recuperados entre dos compañeros. Tus propias cifras no cambian ni un punto — el arreglo recupera lo suyo sin tocar lo tuyo.

Y ALGUNAS PELEAS ESTABAN PARTIDAS EN DOS. Cuando durante unos segundos sólo pegaba tu compañero, esos golpes se tiraban y el hueco parecía que la pelea había terminado. Ahora se mantiene entera.

EL FILTRO SIGUE HACIENDO SU TRABAJO. Un desconocido peleando cerca sigue sin entrar en tus datos: el arreglo sólo vale para quien hayas declarado tú como compañero.

Y RECONSTRUIR EL HISTÓRICO YA TIENE EN CUENTA A TUS COMPAÑEROS, que antes no lo hacía: rehacerlo los ignoraba aunque estuvieran declarados. Enciclopedia, botón al pie.

1.9.1 — cuándo cayó cada enemigo, y dos tablas que enseñaban la mitad

8 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.9.1 — cuándo cayó cada enemigo, y dos tablas que enseñaban la mitad

CUÁNDO CAYÓ CADA UNO

La gráfica de cada pelea lleva ahora una marca por cada enemigo que cae, en el segundo exacto. Entre dos marcas hay, en realidad, peleas distintas que se juntaron en una porque no hubo pausa entre ellas.

Es el primer paso para poder separarlas al mirarlas, en vez de que la decisión se tome al guardar y ya no haya vuelta atrás.

DOS TABLAS DEL RESUMEN ENSEÑABAN MENOS DE LA MITAD

Al resumir muchas peleas a la vez, las tablas de «a quién pegas» y «de quién te llega el daño» estaban recortadas a 15 y 10 nombres. Sobre un histórico de 412 peleas eso escondía el 51% y el 57% del daño, sin decirlo en ninguna parte.

Ahora llegan a 60 —el 89% y el 92%— y lo que aun así no quepa se dice: «y N más». La tabla de habilidades estaba bien y se queda casi igual.

RECONSTRUYE EL HISTÓRICO para que las peleas viejas tengan las marcas de muerte: Enciclopedia, botón al pie.

1.9.0 — qué lanzó cada uno y cuánto tiempo estuvo puesto

8 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.9.0 — qué lanzó cada uno, y cuánto tiempo estuvo puesto

DOS VISTAS NUEVAS DEBAJO DE CADA PELEA

Qué lanzó cada uno. Una fila por lanzador y una raya por lanzamiento, colocada en el segundo en que pasó. Sirve para lo que no se ve en una tabla de totales: si alguien estaba usando lo suyo o tenía la fila medio vacía. Pasa el ratón por una raya y te dice qué fue y cuándo.

Cuánto tiempo estuvo puesto. Para cada cosa que lanzaste, la barra de tiempo que estuvo activa y su porcentaje sobre la pelea. Relanzar antes de que caiga no cuenta dos veces.

Y ANTES SE GUARDABA EL 12% DE LO QUE LANZABAS

Sólo se guardaba el hechizo que la aplicación supiera clasificar —curas, raíces, mez— y se tiraba el resto. De 6.457 lanzamientos tuyos en un histórico real se guardaban 702: justamente faltaban los nukes, que es lo que uno viene a mirar. Ya se guardan todos.

RECONSTRUYE EL HISTÓRICO para que las peleas viejas tengan sus lanzamientos: Enciclopedia, botón al pie. Las nuevas ya salen completas.

LO QUE ESTA APLICACIÓN NO PUEDE MEDIR, Y LO DICE

El tiempo que un buff estuvo puesto se mide desde que lo lanzas hasta que cae. Un buff que te pusieron ANTES de empezar la pelea y seguía al acabar no deja ninguna línea, así que no aparece — ni como 0% ni como 100%.

Y no se mide maná ni vigor. El rendimiento sostenido de un lanzador se lee de tres cosas —cuánto tiempo estuvo puesto el buff, cuánto maná costó y cuánto vigor—, y el registro de EverQuest Legends no da las dos últimas. Esto es la parte que sí se puede medir: el tiempo.

1.8.2 — aguantar como vista propia y las dos velocidades

8 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.8.2 — aguantar como vista propia, y las dos velocidades a la vez

AGUANTAR, COMO ROL

Debajo de las filas de daño hay ahora un bloque que responde a otra pregunta: quién aguantó. Cuánto le llegó a cada uno, cuánto le curaron, cuántos golpes le tiraron y cuántos se quedaron en la armadura —parada, esquiva, contraataque— más lo que absorbió una runa.

Lo que NO dice, y es a propósito: si estuviste cerca de morir. El registro no da la vida de nadie, así que 3.000 recibidos son una tragedia con 3.100 de vida y un paseo con 12.000, y la aplicación no sabe cuál de las dos. No hay barras de peligro ni nada que lo insinúe.

LAS DOS VELOCIDADES

El número grande de cada fila siempre ha sido tu daño partido por la pelea entera: lo que pones en el reloj del grupo. Ahora, al lado, va tu ritmo: el daño partido por los segundos en los que de verdad estabas haciendo algo. Son preguntas distintas — quien entra tarde a una pelea puede tener un ritmo altísimo y haber aportado poco.

Y DOS TIPOS DE GOLPE QUE SE PERDÍAN

Ya venía en la 1.8.1: «smites» y «shoots» no se contaban. Si no reconstruiste el histórico entonces, hazlo ahora — Enciclopedia, al pie.

1.8.1 — arreglo: daño de dos tipos de golpe que se tiraba

8 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.8.1 — arreglo: se estaba tirando el daño de dos tipos de golpe

SI JUEGAS EN GRUPO, ACTUALIZA Y RECONSTRUYE.

Dos verbos de ataque —«smites» y «shoots»— no estaban en la lista que usa la aplicación para reconocer golpes, así que esas líneas se descartaban enteras y su daño no llegaba a ninguna cifra. En un histórico real son 961 líneas y 18.675 puntos.

Lo importante no es el total, es de quién era: casi todo de un mismo compañero de grupo, al que se le venía dando un número más bajo del real en cada pelea sin que pudiera darse cuenta. Para él son 613.528 en vez de 632.203, un 3% de lo suyo.

Si usas paladín, clérigo o arco, o juegas con alguien que lo haga, esto te afectaba.

PARA QUE SE APLIQUE A TUS PELEAS VIEJAS hay que reconstruir el histórico: Enciclopedia, botón al pie. Las nuevas ya salen bien solas.

1.8.0 — el pet encantado, la gráfica legible y la foto del enemigo

8 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.8.0 — el pet encantado, la gráfica que se puede leer y la foto del enemigo

EL ENCANTADO YA NO SE MEZCLA CON EL ENEMIGO

Si juegas de encantador —o llevas un hechizo de charm—, esto es lo gordo. Encantas a un bicho, pelea para ti, y cuando se rompe vuelve a atacarte: el mismo nombre en los dos bandos dentro de la misma pelea. Hasta ahora la aplicación tenía que elegir uno y se equivocaba en la mitad.

Ahora sale en su propia fila, en tu bando, con la marca «(encantado)», y el salvaje del mismo nombre sigue entre los enemigos. Sabes exactamente cuánto hizo el tuyo.

Cuando dos bichos del mismo nombre se pegan entre ellos no hay forma de saber cuál era cuál, y eso NO se reparte a ojo: se dice cuántos golpes y cuánto daño quedan sin atribuir, y al lado una estimación de cuánto sería tuyo, marcada como estimación y sin sumarse a ninguna cifra. En una pelea real de cinco minutos: 9 golpes y 158 de daño de 2.547, un 6%.

Y de paso, encantar ya no te quita tu mascota invocada de la lista.

DOS COSAS QUE ESTABAN MAL Y AFECTAN A TU HISTÓRICO

Algunos enemigos salían partidos en dos filas: una con todo el daño hecho y cero recibido, otra al revés. Pasaba con los que EverQuest escribe sin artículo, porque la primera letra cambia de mayúscula según dónde caiga en la frase. Cuatro nombres en tu histórico, unos 14.800 de daño repartido entre filas que no existían. Ya van juntos.

Y en la gráfica, la línea de puntos —lo que recibes— se dibujaba a su propia escala, así que parecía que recibías tanto como pegabas. Ahora las dos comparten escala y se pueden comparar de verdad.

LA GRÁFICA SE PUEDE LEER

Pasa el ratón por encima y te dice el segundo exacto con lo que hiciste, lo que recibiste y lo que curaste. Y debajo, qué es lo que estás mirando: los picos NO son los golpes más fuertes, son los segundos en los que más daño se acumuló — puede ser un mandoble o cinco pinchazos.

LA FOTO DE CADA ENEMIGO

Sale de la wiki, pequeña al lado del nombre y grande al abrir su expediente. Hoy la tienen 51 de los 196 enemigos de un histórico real. No hay lista fija: se cruza con el índice de la wiki cada semana, así que el bicho que hoy no tiene foto la tendrá en cuanto alguien la suba, sin actualizar la aplicación. Donde no hay, no se pone nada.

Sólo fotos de bicho. Las páginas de la wiki llevan también iconos del botín que sueltan, y poner uno al lado de un nombre sería una imagen que engaña sobre lo que es.

Y EL RECUADRO AL PASAR EL RATÓN SE LEE EN MODO CLARO

Tenía el fondo oscuro en los dos temas, así que en claro sólo se veía el nombre y los datos quedaban invisibles debajo.

Reconstruye el histórico para que lo del encantado y lo de los nombres partidos se apliquen a tus peleas viejas: Enciclopedia, al pie.

1.7.3 — el rótulo del ratón y el cursor en hechizos

8 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.7.3 — arreglo: el rótulo emergente al pasar el ratón, y el cursor en la tabla de hechizos

EL RÓTULO QUE SALE AL PASAR EL RATÓN

Al pasar por encima de una fila de combatientes reventaba por dentro. No se veía nada raro salvo que el rótulo con el detalle no aparecía. Ya sale.

LAS FILAS DE HECHIZOS SE VEN PULSABLES

En «Mis hechizos», las filas abren la ficha de cada hechizo, pero el cursor seguía siendo la flecha y encima parecía que ibas a seleccionar texto. Ahora sale la mano, como en el resto de la enciclopedia.

Repasadas todas: de las veintinueve cosas que se pueden pulsar en la aplicación, ésta era la única que no lo decía. Las celdas «—» de la rejilla de enemigos siguen con la mano porque lo que se pulsa ahí es la fila entera, y las marcas sin pelea que abrir siguen con la flecha, porque no se pueden pulsar.

Nada de esto toca lo guardado.

1.7.2 — arreglo: la ficha del hechizo y la de enemigo

7 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.7.2 — arreglo: la ficha del hechizo salía apilada y la de enemigo no abría

SI TIENES LA 1.7.1, ACTUALIZA. Dos pantallas están rotas en ella.

LA FICHA DE UN ENEMIGO NO ABRÍA. Pulsabas un enemigo en la enciclopedia y no pasaba nada. Fue un fallo mío al preparar la 1.7.1: se perdió un trozo de código por el camino y se publicó así. Ya vuelve.

LA FICHA DE UN HECHIZO SALÍA APILADA. Los seis bloques de dificultad se dibujaban en el mismo sitio, uno encima de otro: el texto se pisaba y las barras se superponían. Los datos estaban bien todos —usos, medias por dificultad, curación—, sólo que no se podían leer. Y el número de peleas de cada bloque salía vacío: ponía «peleas» sin la cifra delante.

Nada de esto tocó lo guardado. Tu histórico está intacto.

QUÉ HAY AHORA PARA QUE NO VUELVA A PASAR

Un comprobador que abre la aplicación de verdad, recorre las pantallas de la enciclopedia, mide dónde queda cada cosa y avisa si algo se sale de su sitio o si una pantalla revienta. Encontró lo de la ficha de enemigo en cuanto se puso en marcha.

Es la respuesta a un tipo de fallo que se repitió tres veces seguidas: los números están bien calculados y lo que falla es dibujarlos, así que ninguna comprobación de las que miran datos lo ve. Había que mirarlo con la aplicación abierta, y ahora se mira sola.

1.7.1 — arreglo: la ficha del hechizo y la progresión no se abrían

7 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.7.1 — arreglo: la ficha del hechizo y la progresión no se abrían

SI INSTALASTE LA 1.6.3 Y AL PULSAR UN HECHIZO O ENTRAR EN PROGRESIÓN NO PASABA NADA, NO ERA QUE FALTARA: ESTABA ROTO.

Dos de las cuatro partes que trajo la enciclopedia en la 1.6.3 —la ficha de cada hechizo y la página de progresión con sus periodos— lanzaban un error al dibujarse y no llegaban a aparecer nunca. Pulsabas la fila y la pantalla se quedaba igual. Ya funcionan, y los datos estaban bien guardados todo este tiempo: no has perdido nada, sólo no se veía.

Y AHORA REVENTAR SE NOTA

Ésa es la parte importante y es la razón de que el fallo durase. Cada pantalla se construye entera y se pone de golpe, así que si algo falla a medias no sale media pantalla ni un hueco: sale la pantalla anterior, sin tocar. No parece una avería, parece que esa parte no está hecha.

La aplicación no tenía ningún aviso de errores. A partir de ahora, si algo revienta al dibujar, sale un recuadro rojo abajo con el error, en qué pantalla pasó y con qué versión, y un botón para copiarlo. Es feo a propósito: un aviso feo que se ve vale más que un fallo elegante que no.

CADA VALOR EN SU COLUMNA, EN ENEMIGOS

Las cinco columnas de dificultad no caían debajo de su cabecera, y cada fila las ponía en un sitio distinto según lo larga que fuera su vida estimada. Ahora coinciden todas.

Y LA ENCICLOPEDIA APROVECHA LA PANTALLA

Estaba limitada a 1200 píxeles de ancho: en un monitor grande dejaba los lados vacíos mientras las cinco dificultades de un enemigo se apretaban unas contra otras. El texto explicativo no se estira, que una línea demasiado larga deja de leerse.

No toca nada guardado. Si vienes de la 1.7.0, tu carpeta de datos sigue donde estaba.

1.7.0 — se llama EQL Parse

7 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.7.0 — se llama EQL Parse

Sólo el nombre, el icono y el crédito. No toca cómo se cuenta nada ni el formato de lo guardado, y tu histórico sigue exactamente donde estaba.

TU CARPETA DE DATOS NO SE MUEVE

Era la condición para hacer el cambio. El nombre de una aplicación de Electron decide dónde guarda las cosas, así que un renombrado hecho a la ligera deja huérfano el histórico de todo el mundo, sin aviso. Aquí el nombre visible se cambia en un campo que sólo lee el instalador; el que fija la carpeta no se ha tocado, ni el identificador que Windows usa para saber que es la misma aplicación. Está comprobado ejecutándolo y hay una guarda en las pruebas para que no se mueva por descuido más adelante.

Si actualizas desde 1.6.x, todo sigue ahí: peleas, enciclopedia, avisos y configuración.

EL ICONO

Dibujado tamaño por tamaño en vez de escalado. A 16 píxeles —que es el tamaño al que lo vas a ver en la barra de tareas— son tres barras y una regla, y nada más; el resto de los detalles sólo aparecen a partir de 32. Un icono escalado a 16 es una mancha.

EL CRÉDITO, Y LA VERSIÓN

Hecha por Campeon Delmundo de <SPAIN> Guild, jugando. El <SPAIN> sale del nombre y se queda en el crédito: son dos cosas distintas, cómo se llama la aplicación y quién la hizo.

Y en el pie hay ahora algo que no estaba: la versión que tienes instalada. Hasta ahora había que mirar el instalador para saberlo.

QUÉ NOTARÁS AL INSTALAR

El instalador se llama EQL-Parse-1.7.0-setup.exe y el acceso directo «EQL Parse». La carpeta de instalación cambia de nombre, así que la anterior se queda; se puede desinstalar desde Windows como siempre. Lo que NO se toca es tu carpeta de datos.

1.6.3 — la enciclopedia completa

7 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

1.6.3 — la enciclopedia completa: ficha por hechizo, marcas que se abren, periodos y libro

Cuatro partes, y ninguna toca cómo se cuenta el daño. Todo sale del registro: no hay que exportar ningún fichero para tenerla entera.

LO QUE PUEDES CONTRASTAR EN TU PROPIO HISTÓRICO

Abre cualquier hechizo de «Mis hechizos»: verás en qué tramos pega, cuánto crítica y entre qué dos cifras se mueve. Si tiene menos de cinco usos no dibuja serie, a propósito: con tres puntos no hay tendencia, hay tres puntos.

En progresión, cuenta tus tramos. Si alguna vez cambiaste a una clase más baja, la línea baja — y eso no es un retroceso, es cómo funciona EQL. En el histórico con el que se construyó, de diez cambios tres son bajadas. Compara sólo periodos del mismo nivel: ahí, a nivel 50, las medianas salen 129, 122 y 130 y los récords 210, 190 y 293. La mediana no se mueve y el techo sube.

Y baja al final de «Mis hechizos»: está tu libro. Cuántos consta que tienes y cuántos no lanzas nunca. Aquí salieron 84 y 40.

EL HALLAZGO: DIECINUEVE ACUSACIONES FALSAS

Una lista de «hechizos que no usas» con diecinueve que sí usas no da error, sólo miente. La causa era leer del sitio equivocado: lo lanzado se sacaba de las peleas guardadas, así que un buff echado antes de entrar —o una pelea que no se guardó— salía como nunca lanzado. Medido, 59 sin usar leyendo peleas contra 40 leyendo el registro. Ahora cada casteo se anota: 29 hechizos constan usados sólo por ahí.

QUÉ MÁS SE ARREGLÓ

«You purchased 1 Spell: X» no lo cogía ningún patrón: 23 compras que el registro daba y la aplicación tiraba. El respaldo por daño metía «bash», «punch» y «slash» en el libro de hechizos. El uid 0 es un uid válido y convertirlo desde null abría la primera pelea guardada. Y los separadores de clave eran bytes NUL de verdad dentro del fuente, lo que hace que git trate el fichero como binario.

QUÉ NO SE CONSTRUYÓ, Y POR QUÉ

El juego exporta cosas con «/output», y no hace falta ninguna. El libro lo da el registro. El inventario queda como calibración documentada: contra uno real, la regla que deduce qué es equipo acierta 25 de 25. Y es una foto sin fecha, y aquí todo va fechado.

No toca nada guardado salvo añadir spells.ndjson, que se llena solo.

1.6.2 — Copiar la pelea al chat, y los jefes dichos por la wiki

7 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

It asks for no rebuild. Everything here is computed on viewing, not on saving. The only thing it does on its own is ask the wiki which enemies are raid bosses, and only the first time you meet each one.

Copy the fight to the game chat

A button that puts the fight on the clipboard, already written to be pasted. In the overlay, on each fight's header, and in the main window, next to «Analyse» and «Save fight».

It produces two lines, pasted separately, because EQ chat does not honour line breaks:

Lord Nagafen 6m49s - 141.0k (345dps) | Campeon +pet 79184 (194dps 56%) | Kalforgelp 42230 (103dps 30%) | Jarektik 10609 (26dps 8%) | Notarino 8959 (22dps 6%)
vs Lord Nagafen 141.0k - 75.2k (184dps, max 711)

What was measured before writing it

The limit is not 250 characters. That was an assumption. Measured over 6,163 messages from 451 players in the log, the longest written by a person is 491, and the length tail is smooth: no repeated number at the maximum, which is how a client cut gives itself away. The EQL wiki lists the channels and documents no maximum. The budget is 240 and over 325 stored fights the longest line comes to 198 — none had to be trimmed.

What overflows the line is the mobs, not the group. «a worry wraith, a turmoil toad pet, a turmoil toad, a scareling ×2, a shiverback» is 78 characters before naming anybody. So the boss is named and the rest are counted: «Master Yael +3», «5 enemies». Enemy pets do not even appear.

Chat is ASCII. The only non-ASCII character in those 6,163 messages is the «cannot draw this» diamond, eight times. In 359 messages written in Spanish there is not a single accent. So no «·», «×» or «máx», and if a name carries an accent it degrades to its plain letter instead of sending a diamond.

A pet is not another player

Loose and sorted by damage, in chat it looks like someone in the group. And it is not cosmetic: in a real fight, «Campeon 15363 (40%)» with the pet three places below describes two people where there is one. Added up they are 23388, 61%, and the whole split changes order.

So by default it is merged into the owner, marked «+pet» so nobody reads the figure as your damage alone. The other option keeps them apart and labelled:

merged   Campeon +pet 18919 (189dps 79%) | Notarino 5000 (50dps 21%)
apart    Campeon 7225 (72dps 30%) | Gabobtik (Campeon's Pet) 11694 (117dps 49%) | Notarino 5000 (50dps 21%)

The same goes for other people's pets: Jobarn (Notarino's Pet), merged into them and not into you. And when kept apart they sit next to their owner, with the order between groups taken from the combined damage — otherwise someone dealing 3,000 with a pet dealing 11,694 would rank below someone dealing 5,000 while being the biggest contributor.

What is not touched: a pet with no known owner stays loose and unlabelled. Inventing an owner would be worse.

Raid bosses, told by the wiki

A lone enemy in the line does not say whether it was a boss or one of twelve. Now bosses are named and the rest aggregated, and who is a boss is told by the wiki.

«Named Mobs» did not work, and measuring showed it

It was the category that sounded right. Over the 119 enemies of a real log, 96 — 81% — carry it, among them a desert tarantula with 175 health and a vampire bat with 1,723. On that wiki it means «has a page».

The one that discriminates is «Raid Encounters»: 14 enemies, median health 32,005 against 7,769 for the rest. And the list is the one you would expect — Nagafen, Vox, Master Yael, the Spiroc Lord, Eye of Veeshan, Overseer of Air…

Three sources, and you can see which

As with classes and companions:

  • the wiki declares — its page is in «Raid Encounters»;
  • the heuristic deduces while the wiki has not answered, and it is labelled as deduced, with a dashed border;
  • you correct, and your mark overrides both. It can be removed to give the word back to the wiki.

The enemy dossier shows both things: whether it is a boss and where that is known from.

The case that justifies it

the Spiroc Lord carries an article, so name-based deduction rules it out — and it has 32,212 health and is a raid boss. The wiki corrects it and there is no way deduction could do that on its own.

The other way round too: a spite golem has 49,452 health and is not raid. By health it would look like it is.

And an enemy having no wiki page is an answer: it means it is nobody. a fire giant warrior has none.

Also

  • The Encyclopedia footer literally said «enc.rebuild» and «enc.stateLine»: they were untranslated internal keys, in all five languages. Looking for them turned up 13 more across the app. All 18 written, and a new check walks the 517 keys the interface uses and fails if any is missing — or present in fewer than five languages, because then the fallback chain hides it and it only shows in the affected language.
  • The footer now says «141 enemies learned from 325 stored fights», and the «Redo the dossier» button counts the Encyclopedia again by walking the history. It does not re-read the log or touch any fight.
  • In Settings: how pets are treated when copying, how the share is written, and what goes in front of each line.

---

Invitar a un café · Buy me a coffee

1.6.1 — Nada se asigna solo sin poder deshacerlo

7 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

It asks for a history rebuild, and this time it is short to explain: there is a class of loot that was stored nowhere and only shows up by re-reading the log. As always, your current files are moved aside with a timestamp and nothing is deleted.

Nothing gets assigned on its own without being undoable

This release adds no new figures: it removes three places where the program decided for you and would not let you change your mind.

Marking a pet as yours was irreversible

The moment you marked a pet, its row lost every control. The decision could only be undone by editing config.json by hand.

Now the owner dropdown shows up even when it is already yours, with your name selected, and going back to «nobody» releases it. It still does not show on your own character, which is right: you don't assign yourself an owner.

And there was a deeper reason: two doors for the same decision. One told the parser and stored nothing; the other stored and told nobody, and no part of the interface ever called it. That is why marking a pet lasted only as long as the session, and why any declared by an earlier version sat in the config with no button to remove them. Now there is one door, it stores, and Settings has the list of pets you declared yours and the ones you said were not, with a button both ways.

If on opening you see pets you no longer recognise, that is where they are from. They're in Settings, below the companions.

What you say by hand is no longer overridden by detection

You marked a pet and, on summoning another, detection silently withdrew yours. You only have one at a time and withdrawing the previous one is right — except when you had set the previous one yourself. Now what you declared wins, and to remove it there is its row.

With no manual mark the behaviour is the same as always.

Companions: detected from the group channel

There was a comment in the code saying the log gives no group signal at all, «it was looked for and there is nothing». It was false, and for months it stopped anyone seeing what was in plain sight: whoever speaks on the group channel is in your group, and those lines were already being read so they could be spoken aloud.

Measured against a real log, the senders on that channel are exactly the companions already declared by hand, without a single false positive. The guild channel does not count and is not used: a guildmate is not in your group.

Two things that come with it:

  • You can see where each one came fromsaid by you or detected — just like with classes. What you say and what is inferred cannot look the same.
  • Detected ones are removed just like declared ones, and removing is remembered: it will not be proposed again next time that person speaks. There is a separate list in case you change your mind.

Loot picked up with no fight to hang it on

When a companion finishes off a corpse on their own and you loot it, that combat was never yours: the relevance filter only opens a fight for you or your pets. The item had nowhere to go and was lost. There were 5 in the reference log, plus one from a neighbouring case: a fight that opened, had no damage from anyone, was discarded on save — correctly, it describes nothing — and took with it the item picked up inside it.

The obvious fix was tried first: letting a declared companion open a fight. It was measured and it was not the answer. It recovered 3 of 5 and left the door open for a companion's fight while farming across the zone to enter your history as yours, which is exactly what the tests forbid «under no circumstances». It was dropped.

The answer is understanding what this is: picking up an item is an event of yours, not of a fight. The proof you were there is that you picked it up, not that they hit. So it is stored on its own, in its own file, and enters the Loot count stating that it was picked up with no fight.

What it does not do is enter the enemy's dossier or the per-difficulty split, and that is not an oversight: «2 of 11 kills» needs a denominator of your fights, and here there is none. Padding the numerator with a denominator that does not follow it would be inventing a drop rate.

After rebuilding, the reference history reconciles item by item with the log: 775 units in the log, 775 in the store, not one loot line left out.

---

Invitar a un café · Buy me a coffee

1.6.0 — Cuatro cosas que tu histórico no estaba contando

7 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

This release does change what is stored and asks for a history rebuild. It will offer it on first open; it's also in the Encyclopedia footer, «Rebuild». It re-reads your whole log — about five seconds — and moves your current files aside with a timestamp, never deletes them: if anything looks wrong, the old ones are still there as fights.ndjson.<date>.bak.

It's worth doing. What follows had been going uncounted for months, and all of it can be checked against your own history.

Four things your history was not counting

Loot you picked up and it never stored

Out of 683 loot lines in a real log, 98 were lost — 14% — for two different reasons:

  • 83 because they carried a quantity instead of an article. «You looted 2 Phosphorous Powder from…» didn't match a rule that demanded «a» or «an», and the whole line was dropped.
  • 15 because of an ending that had no rule: «and stored it in your currency». Those are Motes, which go to the currency tab instead of the bag. Among them, all 9 Mote of Major Potential picked up in that log, of which not one appeared in the Loot section.

And there was a second fault on top of the first, worse than it: the quantity was not stored. Loot was counted by pickups and not by units, so «2 Bone Chips» was worth one. That error is graver than not reading the line, because a line that isn't read shows up in the unrecognised counter and a «2» counted as «1» is never seen by anyone.

In the reference history, after rebuilding: from 566 to 761 units, 195 recovered, and 16 items that weren't listed at all.

How to see it in yours: open Loot and search «Mote». If you run instances and none show up, or fewer than you remember, these were them.

The deaths each enemy caused you: never counted

The field had existed from the start in every enemy's dossier. It was declared, written to disk and read back on startup. Nobody ever incremented it: a zero was stored and a zero was read.

Fixing it revealed that the record kept each death's victim but not who caused it, so it would have had to be inferred from who the enemy was targeting — and in a fight against three, targeting you is not having finished you. The log does say which one it was («You have been slain by X!»), so that is what's stored now instead of a guess.

In the reference history: 36 deaths attributed, with Lord Nagafen ten times.

How to see it in yours: open any enemy that has killed you. It says so now, and per difficulty.

Invented names in the healing table

This was not a miscounted figure. It was a row with a name and a number, indistinguishable from real data, and that is why it's the one most worth checking your own history for.

A combatant's breakdown has a «who you healed» table. Combatants that do not exist were showing up in it:

| name | fights | healing | |---|---|---| | Campeon over time | 105 | 147,772 | | itself | 58 | 55,895 | | himself | 25 | 34,831 | | herself | 5 | 7,355 |

With your name instead of «Campeon». 140 of 341 fights had at least one.

They are two log forms that were being read as if they were names: the suffix of a heal-over-time tick («You healed Campeon over time for 153…», 1,126 lines) and the pronoun of a self-heal («a worry wraith pet healed himself for 613…», 1,131 lines). Neither is anybody.

And a third, with a different consequence: the log names the enemy as the healer of your own lifetap. «Lord Nagafen healed you for 451 hit points by Leech Touch I» comes right after «Lord Nagafen has taken 451 damage from your Harm Touch X» — it gives you back what you took off it, and the log credits it backwards. 321 lines, padding every boss's healing done with your own.

Fixing the pronoun surfaced a second-order effect that was also moving figures: an enemy's self-healing never reached the enemy, so its estimated health counted it as health it never had. It's discounted now. It changes the figure for 59 of 147 enemies, 3.9% lower overall, and most for the ones that come with a healer: the Spiroc Guardian by 17%, a scareling by 17%.

How to see it in yours: expand any of your own rows in a fight with healing, under «who you healed». If you saw your name twice, one of the two didn't exist.

Loot and resistances, split by difficulty

Each difficulty is practically a different game, and until now health, biggest hit and abilities were already kept apart — but loot and resistances were summed across all five.

Loot cannot be summed. Measured:

a fire giant warrior
  D0   Throwing Boulder ×8, Throwing Boulder +1 ×5
  D1   Throwing Boulder +1 ×11
  D2   Throwing Boulder +2 ×17
  D3   Throwing Boulder +3 ×4

It's the same table stepping up once per difficulty. Summed, it describes a table that exists nowhere.

Resistances are split with their sample size always in view, and greyed below six attempts. Splitting fragments the sample, and «86% lands» from 14 attempts and from 400 read identically unless you say how many.

And the D0 column, which contained East Freeport

There was a line — repeated in five places — turning «difficulty not recorded» into «difficulty 0». The result was that the D0 column of the zone grid contained open world: a column labelled as a measured difficulty that in fact held the absence of measurement.

The real D0 exists and is something else: an instance at base difficulty, which the log writes as plain «Nagafen's Lair - Group», with no number and no tag. It was not assumed — it is measured. Same enemy, same zone and same mode, the health of those instances sits a full step below D1 (median 0.873 over eleven enemies, nine of them between 0.86 and 0.88), and that step is the same size as D1→D2 (0.853) and D2→D3 (0.884).

There are now five measured columns and, separate and labelled for what they are, two more buckets: open world (the zone declares no difficulty because there is none) and zone unknown (fights before the log's first zone line). An absent datum is no longer painted as a measured one.

Five columns, everywhere

  • Enemies is now a grid like Zones. Each cell's number is how many times it fell there, so «I killed it at D0» shows in the D0 column. An empty cell says you have not met it at that difficulty, which is not the same as not having killed it — before, the two looked identical.
  • Loot has difficulty tabs, and each item's «2 of 11» uses that difficulty's kills, not the total.
  • Inside an enemy, all five cards always show, and each opens its own page: its resistances, its health, its biggest hit, its abilities and its loot, with nothing averaged in from the others.

Mode, stored but not splitting the grid

Whether Solo and Group are different enemies at the same difficulty was checked. There is no sample to claim it: on ordinary enemies the measured difference is +6.5%, less than half a difficulty step, and only two bosses with one sample each say otherwise (×2.3 and ×2.7 — left as an open question). Besides, 54% of the log's fights do not declare the mode, so splitting by it would leave most of them in a third «not recorded» bucket, which is exactly the label this release removes.

So mode is stored on each cell and shown there, without being an axis. When there is a sample, the question can be answered with data instead of a hunch; not storing it closed that door.

Also

  • An enemy healing itself now counts as the fight continuing. That line used to be addressed to a name that didn't exist, so it failed the relevance filter and those seconds read as idle: three fights in the reference history were split in two because of it.
  • Loot taken from a corpse finished off entirely by a declared companion has no fight to go to, because the filter only opens a fight for you or your pets. It was 5 items and they vanished silently; they are counted now. The underlying fix comes in the next release.

---

Invitar a un café · Buy me a coffee

1.5.0 — La Enciclopedia completa

6 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

This release changes nothing already stored and asks for no history rebuild. It does do two things once, on first open, and both are expected: it completes the summaries of your stored fights with one new figure — your damage in each, which is what progress needs — and downloads the spell icons from the wiki. The first is stated in the footer line of the Encyclopedia; if you see it there, that is the plan, not a problem. Your log is never re-read and no fight is touched.

The Encyclopedia, complete

All six sections open now. And enemy abilities stop being a section of their own and move to where you look for them: inside each enemy.

Spell icons

Every spell with its icon, pulled from the wiki. They show in the catalogue, in enemy abilities and in the cooldown list.

They're fetched in batches and stored once: after you've seen them, the Encyclopedia works with no network. They're 40×40 and about 2.6 KB, and there are only 150 distinct ones because the classic gem art repeats across spells of the same school.

What has no icon is what isn't a spell: hits, kicks, bashes. You won't see an empty box or a question mark there — there simply is no image, because nothing is missing.

My spells

The catalogue lived behind a button in the combat bar, which is an odd place for something you don't look at during a fight but after it. That button is gone: the section lives in the Encyclopedia and opens with a summary — how many spells, casts, total damage and how much lands — before the same table as always.

And it's built over your whole history, not the range in your filter: here you aren't looking at a session, you're looking at your spells.

Abilities, inside the enemy

Opening an enemy gives you one block per ability with what you have seen it cast: how many times, its biggest hit, and in how many of how many encounters at each difficulty. Below, marked separately, what the wiki says about that specific ability — until now only the enemy's own page was consulted.

The usual distinction: measured first, consulted after, never mixed.

My deaths

Where you fall by zone and difficulty, and every fall with its date.

The enemy shown beside each one is the one that dealt you the most damage in that fight, and it's labelled as such. It is not who landed the killing blow: the log never says which it was, and it may well have been the one that hit you least. Dying twice in one fight counts as two.

My progress

There is no dps-over-time curve, on purpose. It rises when you level and falls when you fight something tougher, so it measures both at once and neither. What compares is the same enemy, at the same difficulty, at the same level.

So there are three things: your marks by level, your best against each enemy with its difficulty and level, and one line per triple that reaches five fights. Below that no line is drawn and it says why — three points are not a trend, they are three points.

Two exclusions it makes and states: fights under 30 seconds, and fights against several enemies, which stay out of the per-enemy split. Your dps in a fight against three is not your dps against any of the three, and splitting it would count it three times.

Also

  • The «Pet of» dropdown works again during a fight in progress. It opened and closed itself before you could pick anyone. The combatant list repaints four times a second and was re-placing every row even when it was already in place; re-placing a row takes it out of the document for an instant, and taking it out loses the focus of whatever is inside. With no focus, the breakdown stopped counting as «in use» and was rebuilt over the top. Now only what has actually moved gets moved.
  • Picking an owner from the range summary called the system once for every time the summary had been drawn that session. The result was the same, but the work multiplied on its own.
  • The catalogue table had its grid pinned at eight columns, and there is a ninth — "effective damage" — that only appears when something doesn't land 100% of the time. The moment it appeared it dropped to a second line and dragged "cooldown" down with it. If everything of yours always lands, that column had never been drawn.

---

Invitar a un café · Buy me a coffee

1.4.0 — Enciclopedia

6 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

This release changes nothing already stored and asks for no history rebuild. The only thing you'll notice is that it takes a second longer the first time: it's building the encyclopedia out of the fights you already have. The footer line of the section says so, and it won't happen again.

Encyclopedia

A new tab, next to Combat and Alerts. Everything you've learned by fighting, arranged so you can look it up later: which enemies live in each zone and difficulty, how much health they have, what they hit you with, what they resist and what they drop.

One rule governs the whole section: nothing is computed when you open it. Each enemy's entry is brought up to date when a fight closes, which is when the data is already in hand. Looking it up is reading, not computing — opening any encyclopedia screen with two thousand stored fights costs two hundredths of a second.

Zones

One row per zone, one column per difficulty, D0 to D4. Click "Plane of Fear · D4" and you get every enemy in that zone at that difficulty you have data on from fighting them, hardest first.

An empty cell is dashed and doesn't say there's nothing there: it says you haven't been in. Those are two different things and they should look different.

D0 is the open world. The log never writes it — an un-instanced zone doesn't say "- Solo 0", it says nothing — but "at what difficulty?" does have an answer. What's stored is still what the log said; the equivalence only applies when grouping.

Enemies

Every one you've met, with a pill for each difficulty you know it at. The health shown is from the highest difficulty where it actually fell, labelled as such; if it never fell at the highest, the lower one is shown, because claiming the higher one would be inventing it.

Difficulties are never averaged. Measured on a real log: Magus Rokyl has 59% more health at D3 than at D2, hits 3.6 times harder, and casts two spells it doesn't have at D2. The average of the two describes one that doesn't exist.

The search finds enemies and zones, and as you type the matches appear as shortcuts: typing "Nag" brings up "Lord Nagafen" and "Nagafen's Lair", each with its own mark. It works entirely from the keyboard: Enter takes the first, Down enters the row, arrows move, Escape goes back.

An enemy

Opening one gives you its full file — estimated health, one card per difficulty, what it resists, what the wiki says, what it hits you with and what it drops — and below it every fight you've had against it. Click one and it opens in the Combat tab.

Loot

Every item, who dropped it and how many times: "2 in 9 kills". That's two measured figures side by side — the times you brought it down and the times it dropped that — not a drop rate: it mixes every difficulty, because the log attributes the item to a name and not to an instance.

And whatever the log attributes to nobody shows up anyway, saying it has no source. A loot list quietly missing items is worse than one with declared gaps.

The entries are learned, not computed

They live in encyclopedia.json next to your history, carrying three marks that detect three different things: their own generation, the generation of the store they were built from, and the last fight folded in. That's enough to notice on their own when they've fallen behind:

  • If they're only missing the fights from while the app was closed, those get folded in at startup and that's it.
  • If you rebuilt the history, the fights moved and it notices: they're rebuilt whole.
  • And if you want to force it, there's a button at the foot of the section and the npm run enc:rebuild command, which also compares the rebuilt entries against the previous ones and warns you if any figure moved.

Rebuilding doesn't re-read your log or touch your fights: it walks the history you already have. With two thousand fights it takes under a second.

Four of the seven cards — My spells, My progress, Enemy abilities and My deaths — are drawn but don't open yet. They carry a dashed rule so you can see it, and they arrive in the next release.

Also

  • The three filters fit on one line again. The groupmate chips grew with each one declared and pushed the range and the enemy out of the bar: with two of them none of the three could be read. They're now a dropdown that takes the same room with two as with twenty, and the summary states which groupmates it's filtering by, which it never did before.
  • The header stops eating its own buttons. With a long zone name the row measured 1,472 px inside an 1,182 px window, and "Change log" and the theme toggle fell off the screen with no way to press them. It was already happening before this release. Now it's the text that gives way and never the buttons, and it's the label that gets truncated rather than the value: you read "Plane of Fear -…", not "ZONE P…".
  • The "merge pets" checkbox had been rendering as a 5 px grey strip with its text overflowing, because of a class name shared with the breakdown bars.

---

Invitar a un café · Buy me a coffee

1.3.1 — Los controles de «quién es quién», donde de verdad se usan

6 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

Usability fixes for 1.3.0. Nothing already stored changes, and no rebuild is needed.

The "who is who" controls are now where you use them. "This is my groupmate" and "Pet of" only appeared when expanding a row inside a single fight. But that question comes up while looking at the split, and the split is in the range summary or in a picked set of fights — where there was nothing to press. They're in both places now.

The dropdown for assigning a pet no longer closes by itself. During a live fight the breakdown is rebuilt four times a second, and rebuilding it destroyed the dropdown: it opened and shut before you could pick anyone. It now stays put while you're using it.

The candidate owners come from the fight you're looking at. They used to come from the live fight even while reviewing a stored one, so it offered people who had nothing to do with it.

And picking yourself as the owner now files the pet with yours instead of with other people's. Those are two separate places on purpose: yours count towards deciding whether a fight is yours, other people's don't.

---

Invitar a un café · Buy me a coffee

1.3.0 — Di quién es quién: compañeros, mascotas ajenas y selección a mano

6 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

This release changes nothing already stored and asks for no rebuild. Just open it.

Three things that answer the same problem: the EQL log never says who is in your group — no invites, no joins, no leaves; it was looked for and it isn't there — nor whose pet is whose once the summon is over, nor which fights make up a session. None of it can be deduced. The only way is for you to say so, and now you can.

Declare your groupmates

Expand someone's row in the combat list and press "This is my groupmate". From then on they stop appearing under "Unidentified", count for certain under "Your side", and you can filter by them. The full list lives in Settings next to the exclusions, and is just as easy to undo: you play with them today and not tomorrow.

Declaring someone moves no number at all. They were already on your side — everyone who isn't an enemy is — and the totals never looked at that mark. All that disappears is the "not known to be yours" label, which is exactly what you stop needing once you say otherwise.

And it applies backwards instantly: declare someone and yesterday's fights reclassify themselves, with no rebuild.

Filter by who you played with

Declared groupmates appear as chips below the range and the enemy. Mark one and you see the fights they were in; mark several and you see the ones where all of them were there.

That distinction matters more than it looks. On a real log: 19 fights with one, 19 with the other, and 18 with both. Comparing the split across the 20 where either was present drags in two fights where one was missing — and then each person's share compares nothing.

Pick a session's fights by hand

Shift+click in the list takes the run from the last one you clicked: two clicks and you have first to last. Ctrl+click adds or removes a single one. A bar appears with "N fights picked" and a button to see them as one.

There's no new screen: it's the same range summary, except now you tell it exactly which fights to add up instead of describing them with a filter. While a selection is active it wins: the range and the enemy take nothing away.

Say whose pet that is

Another player's pet shows up as one more unknown, because in EQL the name changes on every summon. Now, expanding its row, there's a "Pet of:" dropdown listing the players in that fight.

Assigning it labels it and takes it out of "Unidentified" without touching a single figure. If you also tick "Merge pets", each pet folds into its owner — the only way to compare people. On a real log an unassigned pet was taking 20% of a stretch's damage, and that 20% belonged to someone:

unmerged                          merged
  Kalforgelp  23,771  31%           Notarino    30,984  41%  +1 pet
  Campeon     16,557  22%           Kalforgelp  23,771  31%
  Notarino    16,204  21%           Campeon     16,557  22%
  Gobobn      14,780  20%  (of Notarino)

It lasts the session, on purpose: pet names come from a closed list and get recycled between players, so "that one is Notarino's" is only true while it is summoned. Storing it forever would repeat the bug that in 1.2.2 was putting another player's fight into your history.

Also

  • The "Not one of mine" button had been rendering without a border for several releases, due to two colour variables used without being declared.
  • The summary lost the "(of So-and-so)" label and the pet mark as soon as it joined more than one fight.

---

Invitar a un café · Buy me a coffee

1.2.2 — Overlay combate a combate, y dos fallos que ensuciaban el histórico

6 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

This release fixes data already stored. You should rebuild.

Two bugs made the history store things that didn't happen. Both are fixed by re-reading your log: the prompt with the button appears when you open the app, it takes a few seconds, and the old data is kept aside.

1 · If you use the trio table and change trio, your fights could be stored at the wrong level. A later /who saying a different trio was thrown away entirely, classes and level, because the table won. Measured on a real log: the table said level 50 and the /who said 27, and the eight following fights were stored at 50. Level is exactly what separates your best marks, so that made them incomparable. A later /who now ends the declared span: it doesn't contradict what you declared about the past, it terminates it.

2 · If you play with a pet, another player's fight could get into your history. In EQL a pet's name changes on every summon and comes from a closed list, so names get recycled between players. A name that was yours hours ago could reappear as someone else's pet, and since it was never retired, their fight came in as yours. It happened: a whole fight was stored with another player, their pet and an enemy, and your own character in no row at all. Only your current pet counts now.

---

The overlay goes fight by fight

Accumulating the whole session in two columns stopped meaning anything after a while: everything blended into a single fight that never happened.

There's now a fixed strip at the top with your accumulated damage and your dps per kill — how your evening is going, which is the one thing worth keeping between fights. Below it, a stack of fights: the top one is the live fight, or the last one if there is none, expanded with both sides; closed ones sink down collapsed to a single line, expand on click, and eight are kept with scrolling for the rest.

Every figure in a block belongs to that fight: damage, split and share. Inside a closed fight the dps is that fight's, not the session average — putting the session figure there would be labelling it wrongly. The per-kill average is still at the top and in the live fight's breakdown, where it says so.

Reset is now a clean slate: it empties the stack and the running total together.

Contradictions with what you declared are no longer silenced

If you use the trio table and actually change trio, until now there was no way to find out your table had gone stale. It warns you now, in two different ways depending on what can be proven:

  • A spell exclusive to a class that isn't in your trio. Your table still wins and nothing is touched, but you're told and offered the new row. Which of the three classes left cannot be measured, so all three are offered with their last signal and you choose.
  • A later /who saying a different trio. Nothing to guess here: the game gives the whole trio and the level, so it is taken. That's the fix behind the warning above. If the /who confirms the trio and only the level differs, your table still wins.

A spell two classes share still proves nothing, and that is not a bug: Regeneration belongs to both druid and shaman, so casting it doesn't say which one you have.

A fight you never landed a hit in gets a name too

They had none, and the list showed them as "skirmish". In a real store there were eight, and not one was a skirmish: a fire giant and King Tranix landing 4,310 points without taking one, a harpy, a spectre. Those are deaths and escapes, and they're exactly the ones you want to find. Whoever hit you hardest now names them.

---

Invitar a un café · Buy me a coffee

1.2.1 — Las peleas nuevas vuelven a la lista

5 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

If you have more than 60 stored fights, new ones had stopped showing up in the list. None were lost: they were on disk all along. What failed was the display. Update and they appear on their own again — including every fight that was saved while you couldn't see it.

New fights are back in the list. You'd finish a fight, having watched it live — rows, chart, everything — and when it closed it vanished without a trace. Changing the filter brought it back, because touching the filter was the only thing that re-read the history.

The bug was in the signal that said "there's something new to show": it was the length of the recent-fights list, and that list is capped at 60. Once your history passes 60 fights the length is pinned — one enters at the top, one falls off the bottom — and never changes again. The list stopped refreshing itself, and there was no way to notice: the counter at the foot showed a number frozen at startup, so it gave nothing away either.

This dates back to 1.0.2, the release that brought the persistent history, but it only starts to bite once you cross 60 stored fights.

Your data is untouched. This version changes nothing on disk and asks you to rebuild nothing. Open it and you'll see the full history, including every fight stored during all this time without reaching the list.

---

Invitar a un café · Buy me a coffee

1.2.0 — Nivel y trío de clases resueltos, y quién es de los tuyos

5 août 2026

Cette note n’est pas traduite en français : elle est affichée en Español, telle que publiée.

En EQL puedes cambiar tu trío de clases y el log no lo dice en ninguna parte. Como el nivel efectivo es el de tu clase más baja, un cambio de trío puede hundirlo de 50 a 24 sin dejar rastro. Esta versión lo resuelve, y de paso corrige 19 peleas de mi propio histórico que estaban guardadas con el nivel equivocado.

Nivel y clases: tres fuentes, y un orden entre ellas

1. Lo que declaras a mano — tú estabas allí y el log no. 2. El /who — cierto, pero sólo del instante en que lo escribes. 3. Un hechizo exclusivo — prueba que esa clase estaba activa. Nunca el nivel.

Si lanzas un hechizo que sólo puede lanzar una clase que no consta en tu trío, sale un aviso en pantalla con el nombre del hechizo y de la clase, y te pide un /who. El trío se corrige solo; el nivel se borra, porque ningún hechizo prueba un nivel. Un hechizo compartido por dos clases no prueba nada y se calla.

Diccionario con 461 hechizos exclusivos entre Shadow Knight, Mago, Druida, Chamán y Brujo (esta última parcial), sacados del wiki.

La tabla de tríos

Botón «Cambié de trío» junto a tus clases, no enterrado en ajustes. Para tramos pasados, la tabla completa con fecha, trío y nivel. Tu palabra manda sobre las otras dos fuentes, incluido un /who posterior: ese /who describe un momento posterior, no el tuyo.

El nivel del renglón es opcional: déjalo vacío mientras subes y mandarán las subidas de nivel del log dentro de ese tramo.

Y como lo manual manda, debajo se señalan las veces que tu tabla y el log no dicen lo mismo. No se corrige nada: se enseña, porque si te equivocas al declarar una fecha no hay nada más que te avise.

Quién es de los tuyos

El log de EQL no dice quién va en tu grupo: ni invitaciones, ni entradas, ni salidas.

Lo que sí se puede afirmar, se afirma: quien cura a un enemigo es enemigo, y la regla se propaga al que cura al que cura. El resto —jugadores que hicieron daño real pero de los que no hay ni un /who— va en su propia sección «Sin identificar», ni borrado ni sumado a tu bando. Con un botón «No es de los míos» para los que tú sepas, recordado entre sesiones.

La mascota, que en EQL cambia de nombre en cada invocación, te pide un /pet who leader una vez por nombre y sesión, con casilla para apagarlo.

Corregido: una opción nueva podía llegar apagada en silencio

La configuración de voz se mezclaba con la de fábrica de forma plana, así que cualquier casilla nueva añadida a un grupo ya existente habría llegado desactivada sin decírtelo, aunque su valor por defecto fuese activada.

Aún no había afectado a nadie: los avisos de supervivencia de la 1.1.0 no se vieron tocados, porque un grupo entero que falta sobrevive a esa mezcla. La única víctima habría sido el aviso de mascota de esta misma versión, cazado antes de publicarlo. Si abres Avisos y ves algo desmarcado que no recuerdas haber tocado, ahora ya no volverá a pasar.

Y además

  • La etiqueta del panel decía «clases leídas de tu /who» sobre un trío deducido de un hechizo. Ahora distingue las tres procedencias: leídas de tu /who, de tu tabla de tríos, o deducidas de tus hechizos.
  • Los sin identificar salen aparte también en la lista de la pelea, no sólo en el resumen.
  • Tutorial ampliado explicando por qué hacen falta /who y /pet who leader.
  • 381 comprobaciones automáticas del motor, 57 más que en la 1.1.0.

Al actualizar

Reconstruye el histórico para que las peleas antiguas cojan el nivel corregido: la aplicación te lo ofrece sola, o npm run store:rebuild si trabajas desde el código. Sin eso, lo guardado conserva el nivel con el que se cerró.

1.1.0 — Cifras corregidas, avisos de supervivencia y dificultad de instancia

5 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

This release fixes figures, not just bugs. What you have stored from earlier versions does not describe what happened in your fights. On launch you'll get a notice with a button that re-reads your log and rebuilds it: it takes a few seconds and the previous files are kept aside. It's worth it.

---

Survival alerts

When one second of delay costs you the character, the program says so out loud, cutting through anything else it was saying:

  • Feign Death broken or interrupted. You thought you were down; you're not.
  • Invisibility. EQL has two systems and only one warns before it drops: of 25 cycles measured in a real log, 24 dropped with no warning at all and four lasted under eight seconds. Hence the alert on the drop itself: for Camouflage it is the only signal there is.
  • Levitation. Between 6 and 12 seconds of warning before you fall. In the Plane of Sky, that is the difference.
  • You get summoned, invulnerability ends, you go down.
  • And when your enemies lose track of you, in a normal voice: that's good news, not an alarm.

None of them are deduplicated: if invisibility drops twice in a minute, you hear it twice. Levitation warns twice per run, because the game's third warning arrives in the same second as the fall.

Each alert has its own checkbox under Alerts → Survival.

Instance difficulty in the enemy dossier

EQL instances every zone from D0 to D4 and the enemies genuinely change:

| | D2 Adaptive | D3 Fused | | --- | --- | --- | | Magus Rokyl, estimated health | 14,688 | 23,295 | | Its hardest hit | 204 | 744 |

59% more health and three and a half times the punch. The dossier averaged the two and reported "18,992", a figure describing neither creature. Health and hardest hit are now separated by difficulty.

Resistances are not separated, and that is a measured decision: in the same log they land 100% at both difficulties and the only difference comes from fourteen attempts. Splitting them would break an already small sample for nothing. The dossier says so.

And abilities are no longer presented as its own. In EQL an enemy's secondary classes are rolled per instance, so two encounters with the same name may be different creatures. Lord Nagafen cast all three Druid spells in one fight and none in the next, despite it lasting three minutes: if difficulty were the cause, abilities would be added, never lost. So instead of "its abilities" it now says "what it cast across N encounters", with how many of how many each one showed up in.

Level

In EQL your effective level is that of the lowest class in your trio, so swapping in a low class lowers it outright. Every fight stores the level you had, and your best marks are grouped by it:

   level 50    34 fights   best 210 dps   median 125
   level 27     6 fights   best 177 dps   median  97
   level 25    11 fights   best  65 dps   median  44

Comparing a fight today against the record from when you were higher only tells you that you are no longer at that level.

Fights from before your first /who are shown as level unknown, and it says so. It is not inherited backwards.

Spell catalogue

Everything you have cast, built only from your history: uses, average damage, range, crits, land rate and reuse. It includes EQL's unresistable damage type, which was in the data and unused.

Reuse comes from the "not ready yet" warning, which states the time remaining, not the total: it is a lower bound and says so. And for abilities that leave no trace when used — Companion's Fury warns 283 times that it isn't ready and never once that it was used — it says that whether you make good use of it cannot be known, rather than showing a zero.

---

What was wrong in your history

No deaths were counted at all. Since 1.0.7, the filter that keeps a stranger's fights out of yours was also discarding every death event, because a death doesn't name an attacker and a target but a victim and a killer. Across 55,000 lines of real log: zero enemies killed. Losses, fight names and estimated enemy health went with them. Lord Nagafen's dossier said "no data" where it now says 52,443.

And the ones that were counted, were counted twice. You have been knocked unconscious! is not a death: it is the warning before it, always followed by the real death line. Ten real deaths, twenty counted.

The zone was destroyed in one fight out of four. "You have entered an area where levitation effects do not function" is a sub-area notice inside the Plane of Sky, and it was stored as if it were the zone: it took the real zone with it, and the instance difficulty with that.

Estimated health came out multiplied. When the same mob died three times in one fight, the damage from all three was added up and called "its health".

Duplicated fights. The "read the whole log" checkbox was stored as a preference instead of running once, so every later launch re-read the log and added every fight again. Four launches on the same log gave 4, 4, 8 and 12.

The period summary mixed fights up. Fights were identified by a counter that restarted at 1 on every launch, so today's first fight masked yesterday's: clicking an old fight opened a different one, and the summary read the same recent fight several times while leaving the old ones out. With a single extra day, it reported 1,121,550 where the real sum was 1,165,649.

Inflated resistances. The first spell of each fight never counted as landed, and everything your pet cast counted as resisted but never as landed.

Evasive was calculated wrong

Affects Bard, Monk, Ranger, Beastlord and Rogue.

The EQL wiki is literal: "You have a 95% chance to evade all incoming attacks". Evasive avoids whole attacks, it doesn't reduce the damage of each hit. That 95% sat in the mitigation field, and since the program reconstructs stance-free damage by dividing by what the stance mitigated, every hit taken in Evasive was multiplied by twenty.

It is now scored as what it is: attacks avoided × average damage, both measured from your log. With 100 attacks and 60 landing for 100 damage, Evasive saves 5,500. It used to claim 113,000.

And a limit surfaces that wasn't being stated: while you're in Evasive there is no way to know how much damage would come in without it, because the log doesn't distinguish a stance evade from an ordinary parry. Nothing is claimed there any more.

Also

  • Stance advice now shows both figures: what you actually took and the stance-free reconstruction. And it won't call a verdict on fewer than eight hits taken.
  • The new-version notice works. It had been dead since 1.0.4.
  • The analysis view can be read. It was rebuilt four times a second, so the scroll jumped back to the top as soon as you moved it.
  • The analysis cuts a phase when you actually stop attacking, no longer counts one extra idle second, works out damage lost to misses from your melee hits rather than the average of everything, and no longer calls a slow "seconds not attacking".
  • /who lines from players who are away are now read, with race and guild.
  • The merge-pets toggle no longer throws, and the "See on the wiki" button in the dossier now does something.

For anyone poking at it

npm run store:check      inspects the history without writing anything
npm run store:rebuild    rebuilds it by re-reading the log
npm test                 324 checks

---

Invitar a un café · Buy me a coffee

1.0.7

5 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

The overlay no longer steals focus from the game. That was the cause of the stutter: clicking it made EQ stop being the active window, and the game throttles its frames in the background. The overlay needs no focus — there's nothing to type in it — and now never takes it. The backdrop blur is gone too (it forced the compositor to redraw the whole game every frame), and it refreshes at half the rate of the main window.

If you still get stutter, check Options → Display → Max Background FPS in game: on «Min CPU» EQ drops to a few frames when it loses focus. The warning now appears in the tutorial and the first time you open the overlay.

Overlay rows expand without toggling anything. Hover over it and you can click; move away and clicks go back to the game. Before, only the top bar reclaimed the mouse.

Someone else's fight no longer leaks into yours. The log sees everything happening around you, and a stranger killing mobs ten metres away was landing in your numbers. A fight now only opens if you or your pets are in it, and within it only what touches your side — or someone you're already hitting — counts. Groupmates join automatically by hitting your target.

Fixes

  • The zone was lost on restart after long sessions: the last 512 KB of the log are re-read, and if you'd been in the same zone for hours its entry line fell outside. Zone, stance and invocation are now saved alongside the read position, and a fight that started before the zone was known is completed when it closes.
  • Dps was part of the overlay's repaint signature. Since it changes every second, the column was rebuilt constantly and clicks were lost between repaints; the rate now updates in place.

---

Invitar a un café · Buy me a coffee

1.0.6

5 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

Enemy file. Pick an enemy in the filter and the summary opens its full dossier: estimated health, how it hits you, which of your spells it resists, what it drops and where you've met it. Health comes from the damage it took to drop it — the log gives no health values, so it's a measured bound rather than an official figure, and it says so.

Resistances measured, split by invocation. Every spell of yours an enemy resists is recorded alongside the active invocation. Without that split the average lies: the same spell can land 20% of the time under Inversion and 80% under Over Channel, and the mean of the two describes neither. You'll now know from your own numbers whether the −150 resist adjust is worth it against each mob.

What the wiki says, inside the app. Tactical notes for each mob are pulled from eqlwiki.com. On Lord Nagafen: "Fire and Magic Resists mean everything with this fellow". Cached for a month.

Searchable enemy filter. Type "Nag" and you get Nagafen; type "harpie" and every harpy comes together.

Fixes

  • Stance advice counted your heals as incoming magic damage. The filter checked the amount and the target but not the event type. With a lifetap like Drain Spirit, every point of magic damage you dealt healed you back and inflated incoming magic: that's why it asked for Mage Hunter in pure melee fights.
  • Advice fired on an 8% relative gain alone. It now also needs 1,200 damage in the window, 5 hits taken and 350 points of absolute gain, never fires out of combat, and the recommendation must hold for five seconds.
  • The zone was lost on restart after long sessions. Resuming re-reads the last 512 KB of the log, and if you'd been in the same zone for hours its entry line fell outside that window. Zone, stance and invocation are now saved alongside the read position.
  • Sides are recomputed for fights stored without them: groupmates count as allies for hitting your enemies, and stray mobs stop appearing on your side.
  • Another player's pet is no longer asked about, nor merged into yours.

---

Invitar a un café · Buy me a coffee

1.0.5

5 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

Enemy file. Pick an enemy in the filter and the summary opens its full dossier: estimated health, how it hits you, which of your spells it resists, what it drops and where you've met it. Health comes from the damage it took to drop it — the log gives no health values, so it's a measured bound rather than an official figure, and it says so.

What the wiki says, inside the app. Tactical notes for each mob are pulled from eqlwiki.com and shown next to your own data. On Lord Nagafen: "Fire and Magic Resists mean everything with this fellow". Cached for a month.

Resistances measured in your own fights. Every spell of yours an enemy resists is recorded by name. After a few fights you'll know what actually lands on each mob at your level with your gear — something no database can tell you.

Fixes

  • Stance advice counted your heals as incoming magic damage. The filter checked the amount and the target but not the event type. With a lifetap like Drain Spirit, every point of magic damage you dealt healed you back and inflated incoming magic: that's why it asked for Mage Hunter in pure melee fights.
  • Advice fired on an 8% relative gain alone. It now also needs 1,200 damage in the window, 5 hits taken and 350 points of absolute gain, never fires out of combat, and the recommendation must hold for five seconds.
  • Sides are recomputed for fights stored without them: groupmates count as allies for hitting your enemies, and stray mobs stop appearing on your side.
  • Another player's pet is no longer asked about, nor merged into yours.

---

Invitar a un café · Buy me a coffee

1.0.4

4 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

Update notice. The app checks whether a newer release exists and shows a bar: download, or skip that version. It only informs — nothing is downloaded or installed.

Range summary, expanded. Each combatant now opens on click with the full breakdown across every fight in the period: by ability, by damage type, by target, and who hit you. The merge-pets checkbox sits in the summary header.

Pets. They can be merged into a single row — in EQL they get a new name every summon, and two days of play leave six rows that are the same thing. The list of known pets is kept between sessions, so yesterday's history recognises them too.

Other players' pets. When a groupmate types /pet who leader, their pet is identified and shows as "Rufo (Notarino's pet)". It is never asked about and never merged into yours.

Interface complete in five languages. 244 strings were missing in French, German and Portuguese and fell back to English: stance and invocation notes, class names, the whole analysis, the wizard and the trigger editor.

Fixes

  • The time-range filter did nothing: fights were stored with the import time rather than the fight's own, so every range matched everything.
  • Grix says 'Yes, Master.' claimed the pet as yours. Said out loud it could belong to anyone in the group: it is now only proposed, and confirming it needs /pet who leader.
  • The summary rendered inside the narrow list column and jumped back to the top on scroll.
  • Overlay dps was measured across the whole session. It now goes per enemy killed, from your first hit until it drops, with last-10s and last-20s readings.

---

Invitar a un café · Buy me a coffee

1.0.3

4 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

Range summary. A button under the filters adds up every fight in the selected period into one breakdown: dps, damage, time in combat, kills, losses and healing. Each combatant's abilities are summed across all fights, and a per-enemy block expands to show who on your side contributed what. Dps is measured over seconds in combat, not over elapsed hours.

Loot. Every fight records what dropped, telling apart what you picked up, what auto-sold and what became an upgrade. Hovering an item shows its stat block in the game's own style, pulled from the EQL wiki and cached for a month. Clicking opens its wiki page.

Meaningful dps in the overlay. Measured per enemy killed, from your first hit until it drops, with the session average summing those windows. There are also last-10s and last-20s readings. Rows show damage rather than rate: across half an hour of session, dps over elapsed time means nothing.

Fixes

  • Zone and stance were lost on resume: priming ran after the reader started, so the first fights were born without a zone.
  • A mismatch between modules could break the data push and silently freeze both the window and the overlay.
  • Item icons were blocked by the window's content security policy.

---

Invitar a un café · Buy me a coffee

1.0.2

4 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

Persistent history. Fights are saved to disk and are there the moment you open the app, with no need to re-read the log. Filter by time range (2 h, 12 h, 24 h, 3 days, week, month) and by enemy.

Overlay rebuilt. Two columns, your side on the left and enemies on the right. Damage accumulates across the whole session and only resets when you press the reset button. Rows expand on click, and dead enemies sink to the bottom — the last twenty are kept.

Kill card. When an enemy goes down, a card shows for a few seconds who dealt how much, measured against that specific enemy rather than the whole fight.

Voice picker grouped by language.

Fixes

  • "Group dps" was adding the enemy's damage too. The two sides are now separate.
  • Your deaths are actually counted, and kept apart from enemies killed.
  • Loading history no longer fires voice alerts from old fights.
  • The gate warning only triggers on enemies, not on any player in the zone.
  • Enemy heals were counting yours as well.

---

Invitar a un café · Buy me a coffee

1.0.1

4 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

Full English translation: the advice panel, stance notes, class names and voice alerts.

Fixes

  • Stance advice is calculated on the selected fight, not on whichever one is live.
  • Your deaths are actually counted, and kept apart from enemies killed.
  • The pet-down alert only fires for your own pet.
  • Loading history no longer fires voice alerts from old fights.
  • Enemy heals were counting yours as well.

---

Invitar a un café · Buy me a coffee

1.0.0

4 août 2026

Cette note n’est pas traduite en français : elle est affichée en English, telle que publiée.

English

First public release. Real-time combat parser for EverQuest Legends: damage meter, in-game overlay, stance advice, voice alerts and a post-fight breakdown.

Download EQL-Parse-SPAIN-1.0.0-setup.exe from the Assets section below.

Windows will say it doesn't recognise the app. That's normal for unsigned programs: More info → Run anyway.

Before using it, in game

  • Type /log on
  • Options → Filters: set everything damage-related to full detail, yours and other people's. Without this the game never writes your group's damage and the numbers come out as zero.

---

Invitar a un café · Buy me a coffee

Toutes les versions sur GitHub