EQL·Parse
esenfrdept

Novidades

Cada versão com o que mudou e porquê.

1.26.0

23 de agosto de 2026

Os teus objetos, de ponta a ponta

A secção «Objetos» cresce até onde tinha de chegar.

Em «O teu equipamento», cada sítio passa a ser uma ficha: o que levas vestido, o seu nível de melhoria, os seus quatro encaixes de exaltação e de que objeto saiu cada um.

E chega «Os teus objetos», com tudo o resto: o do banco, o das bolsas e as próprias bolsas, com pesquisa, filtro por sítio e filtro por espaço livre. Os repetidos veem-se, porque guardá-los é uma decisão e não um descuido.

O que tens e o que existe, cada um do seu lado

O EQL Parse traz agora o catálogo de objetos de eqlwiki.com, consultado a 23 de agosto de 2026 e com essa data à vista. A aplicação não pede nada a ninguém enquanto a usas.

Procurar responde-te duas vezes e em separado: quantos há entre as tuas coisas, que lemos do teu inventário, e quantos há no catálogo, que consultámos fora. Nunca se somam, porque «não o tens» e «não existe» não são a mesma coisa.

O livro de feitiços que o jogo despeja

Se usaste /output spellbook, a secção «Feitiços» lê esse ficheiro e diz-te o que traz: quantos feitiços declara, de quando é o despejo e quantos deles não constam no teu registo. Fica ao lado do que já constava, e não se mistura com isso.

E de onde saiu cada coisa

O espólio solto — o que apanhas fora de um combate — já diz de onde veio em vez de ser contado a seco, e as oferendas de motes contam-se à parte do que apanhas: o que sai do teu inventário não pode somar ao que entra.

Três coisas que esta versão NÃO sabe

E dizem-se, em vez de ficarem a meio:

  • quanto custa subir um objeto de nível;
  • quanto levas dentro do nível atual;
  • o nome do efeito não está em todas as fichas do catálogo: está em cerca de 1.600 das 11.092. Onde não está, não se inventa.

Objetos y exaltaciones

22 de agosto de 2026

O EQL Parse já não lê só o teu registo de combate: agora lê também o inventário que o jogo despeja.

Com isso chega uma secção nova, «Objetos», onde vês o teu equipamento peça a peça com os seus quatro espaços de exaltação: o que cada espaço leva posto, qual está livre, e qual ainda não desbloqueaste.

E vês que exaltação disparou, quantas vezes e o que estavas a lançar nesse momento.

Se o despejo do teu inventário for mais velho do que aquilo que estás a ver, a aplicação diz-to em vez de o calar.

1.24.0 — lo que destruyes ya se cuenta

21 de agosto de 2026

O que destróis já é contado

Quando destróis um objeto, deixa de se perder: aparece na sua própria coluna, ao lado do que apanhaste. Não é subtraído do teu espólio — são dois factos distintos, e subtraí-los daria um número que não responde a nenhuma das duas perguntas.

Um degrau que faltava ao considerar

Havia uma resposta do /consider que a aplicação lia e deitava fora, e por isso essa criatura ficava sem nível. Já não.

O espólio do Dragon Hoard, no seu lugar

O que sai do Dragon Hoard chega marcado como aquilo que é, e deixa de se misturar com o espólio de sempre.

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

21 de agosto de 2026

Ao abrir, vai reler o teu registo uma vez

Demora cerca de três quartos de minuto — medido: 42 segundos sobre um registo de 1,5 milhões de linhas — e podes continuar a usar a aplicação entretanto. Aparece um aviso a explicá-lo e nada começa até aceitares.

É preciso porque os combates guardados não sabiam em que visita à zona aconteceram, e esse dado não está em mais lado nenhum senão no registo. Sem ele, o teto de reaparição podia contar intervalos entre duas entradas distintas — onde o inimigo não voltou, nasceu com a cópia nova. Nenhum número de combate muda.

O painel de temporizadores estava congelado

Pintava-se uma vez ao abrir e ficava parado: a contagem decrescente não avançava, uma morte não o reiniciava, e o × de uma linha tirava o temporizador mas não a linha. Já está vivo.

Se te perguntavas porque é que o número não se mexia, não eras tu.

A ficha de um candidato, ao passar o rato

Passa o rato por qualquer linha da lista Vigiar um inimigo e sai a sua ficha: onde, quantas vezes o mataste ali, o seu teto se o tiver, e o nível que lhe viste ao considerá-lo — como intervalo, com quantas considerações o sustentam. Nunca como um número: o mesmo inimigo, na mesma zona e dificuldade, sai com níveis diferentes.

E o seu espólio em dois blocos separados: o que tiraste tu, que está medido, e o que diz a wiki, que ainda não temos e se diz em vez de ficar em branco.

Tamanho e transparência, dentro do próprio overlay

O cursor de tamanho está ao lado do de transparência, no painel e não nas Definições. Cada overlay lembra-se do seu.

Tetos que não limitavam nada

Um teto de reaparição só vale se as duas mortes forem do mesmo bicho. Os que se apoiavam num intervalo entre duas visitas distintas foram retirados, e algum muda muito: um dizia «não mais de 280 minutos» e o seu teto verdadeiro são nove e meio.

1.22.0 — todo lo que has matado, en una lista

21 de agosto de 2026

Tudo o que já mataste alguma vez, numa lista

O separador Vigiar um inimigo já não está vazio: traz os inimigos do teu histórico, com a sua zona e a sua dificuldade já postas. Procuras por nome ou por zona, carregas em Seguir e o temporizador nasce completo. Não há nada para escrever, nem é preciso ter o bicho à frente.

Cada um diz quantas vezes caiu ali e quando foi a última, e os que já segues vêm marcados. O mais recente vai acima: a zona de ontem à noite sai em primeiro sem a procurares.

Temporizadores que não encontravam as suas mortes

Nas zonas com dificuldade, um temporizador podia ficar em «À espera da sua primeira morte» para sempre mesmo que tivesses matado esse inimigo ali muitas vezes — e então nunca reiniciava. Já os encontra: voltam a contar, com as suas observações e o seu teto.

Um quarto estado: o que não estima nada

Um temporizador pode saber quando o inimigo morreu e não saber quanto tempo demora a voltar. Antes isso ficava mudo, ou dizia «Já deveria estar aí», que é afirmar algo sem ter com quê. Agora diz a única coisa que se pode dizer, e é um facto: há quanto tempo morreu.

O painel, ordenado pelo que vai acontecer

Em cima o que diz o relógio — os que já deveriam estar e os que estão a contar; por baixo, aqueles de quem não sabemos o tempo. Um temporizador sem estimativa não é mais urgente do que um a quem faltam vinte segundos, e estava à frente.

O que escreves não se apaga sozinho

O campo de pôr o tempo à mão voltava ao seu valor anterior se o temporizador se repintasse enquanto escrevias. Já não: o que tocaste mantém-se.

1.21.0 — los temporizadores, en un panel encima del juego

20 de agosto de 2026

Os temporizadores, num painel por cima do jogo

Um só, com todos dentro. Abre-se assim que abres o primeiro e fecha-se quando fechas o último — não há nada de que te lembrares.

  • ordenados pelo que volta mais cedo, e os que já deviam estar, em cima
  • uma linha por temporizador: nome, tempo, e quantos intervalos sustentam o seu teto
  • o × de uma linha fecha esse temporizador, não a janela

E se estás numa zona onde não tens nenhum, não fica em branco: diz-te quantos tens noutras.

Três estados, e faltava o terceiro

Um temporizador que ainda não viu o seu bicho morrer nem uma vez não diz «já devia estar aí»: diz «À espera da sua primeira morte». Dizer que algo devia ter voltado quando não sabemos sequer quando se foi é inventá-lo.

E não é um caso raro: é o estado em que nasce todo o temporizador aberto a partir do overlay.

Pôr temporizador a partir do overlay

Abre um inimigo no overlay principal e o botão está aí. Não precisa de estar morto — de facto costuma estar vivo e a bater-te, que é exatamente quando te lembras de que o queres seguir.

O nome, a zona e a dificuldade saem de onde estás. Não há nada para escrever.

Todos os overlays se redimensionam e se atenuam

Arrasta a partir de qualquer um dos quatro cantos. E ao passar o rato sai um deslizador de transparência.

Cada overlay lembra-se da sua posição, do seu tamanho e da sua transparência, por isso ajustas um e o outro fica como o deixaste.

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

20 de agosto de 2026

Os temporizadores dizem um teto, e já não adivinham

Até agora, um temporizador que chegava a zero ficava a zero e não dizia mais nada. Agora diz duas coisas novas, e ambas são factos medidos no teu próprio registo:

Um teto, com o número de intervalos que o sustentam:

não mais de 10:35 — 6 intervalos observados

Não é «o seu período são 10:35». É nunca demorou mais do que isso, que é coisa diferente e muito mais segura: sai de subtrair duas mortes suas, e entre essas duas mortes cabe o período *mais* o tempo que tu demoraste a voltar. Por isso o período real é esse ou menos. Nunca mais.

Daí o número de intervalos ir sempre ao lado: um teto apoiado em um só intervalo é igualmente certo e muito mais frouxo do que um apoiado em seis.

E se foi visto. Qualquer linha do registo que nomeie o bicho prova que está ali: um golpe, uma falha, um feitiço. Não é preciso esperar por matá-lo.

visto há 3s, numa linha de combate → está aí

não se vê há 12:00, e o seu teto são 10:35 → devia estar aí, e não o viste

E retira-se o aviso que supunha

Onde dizia *«está há 3 períodos a zero, pode já estar aí e não teres visto»* já não há uma suposição: há o dado. Ou o nomeámos há X, ou não o nomeámos desde a sua última morte.

O painel de pôr temporizador via-se mal em escuro

O botão «Pôr temporizador» no Cena abria um painel com fundo creme e texto claro por cima. Estava escrito com as cores postas à mão, de quando o tema claro era o predefinido. Já usa as do tema, e lê-se nos dois.

1.20.0 — Reapariciones se ve de otra manera

20 de agosto de 2026

Reaparições está com outro aspeto

A secção foi refeita por inteiro. Era uma grelha de fichas e agora é uma lista de linhas dobráveis: cada temporizador ocupa uma linha, e abre-se o que interessa. Com quatro ou cinco já não é preciso deslocar a página.

E com a linha fechada vê-se o que há para ver:

  • o nome do inimigo,
  • as três procedências — «teu», «zona» e «visto» —, as três, sempre, sem abrir nada;
  • e a contagem decrescente, com um rótulo por baixo a dizer de qual das três sai.

A que manda o número vai cheia e as outras duas apenas contornadas. É a única coisa deste ecrã que não se negoceia: um número sem dizer de onde sai é metade de um dado.

E em cima, quatro controlos que não existiam

  • uma pesquisa, sempre visível;
  • «Agrupar por zona» ou «Sem agrupar», para quando os temporizadores são de sítios diferentes;
  • dois filtros, «A contar» e «Disponível», cada um com a sua contagem dentro: o número diz se vale a pena carregar;
  • e «Cómoda» / «Densa», que aperta as linhas.

A legenda «De onde sai cada número» explica as três procedências uma só vez, dobra-se, e lembra-se de como a deixaste.

O que não mudou

Nem um número. O que vamos observando continua a não ser mostrado como se fosse um período: com poucas observações não se dá número, e de um nome com vários indivíduos por trás também não, porque não sabemos qual voltou. O que a ficha diz nesse caso é quantas observações leva e porque é que se cala.

E duas coisas que chegaram na 1.19.1

Caso não tenhas reparado, porque não são desta versão:

  • já se pode escrever no campo do nome — antes engolia o que se escrevia;
  • e a partir de um combate, o botão «Pôr temporizador» no Cena põe temporizador aos inimigos desse combate, com a sua zona, a sua dificuldade e a hora exata da morte.

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

20 de agosto de 2026

O temporizador reinicia quando o inimigo volta a morrer

E até agora nunca o fazia. Abrias um temporizador, matavas a criatura, e a contagem seguia como estava: tinhas de o fechar e abrir outra vez para começar de novo. Já está corrigido, e a contagem recomeça sozinha a cada morte desse inimigo nessa zona e nessa dificuldade.

O tempo da wiki é o da zona, e agora di-lo

Na ficha aparecia «da wiki» ao lado do número, e isso prometia mais do que há: esse tempo é o da zona inteira, não o dessa criatura. Por isso dois inimigos diferentes do mesmo sítio mostravam o mesmo número. O rótulo diz agora «a zona repovoa em», que é o que a wiki declara de verdade.

Já se pode escrever em Reaparições

O campo do nome não deixava escrever: carregavas numa letra e desaparecia. Já está corrigido, e com ele a caixa de procura da lista de combates, que perdia letras pelo mesmo motivo. Era a mesma falha em dois sítios diferentes.

Pôr um temporizador a partir do combate

Botão «Pôr temporizador» em Cena, com um combate aberto. Abre os inimigos desse combate e marcas os que queres seguir.

É melhor caminho do que escrever o nome à mão, e não por comodidade: dali vêm o nome tal como o registo o escreveu, a zona, a dificuldade e a hora exata em que esse inimigo morreu nesse combate. A zona e a dificuldade fazem parte do que distingue um temporizador de outro, e escrevendo o nome à mão não havia maneira de as pôr.

A lista não esconde nada e diz o que não pode fazer:

  • um inimigo que não chegou a morrer aparece na mesma, sem se poder marcar: não há desde quando contar;
  • os familiares inimigos não aparecem, porque não voltam por temporizador;
  • os que já têm um aberto vão marcados, para não abrir o mesmo duas vezes;
  • e se o mesmo nome morreu duas vezes no mesmo combate, diz-te que são duas criaturas distintas e conta desde a última.

EQL Parse 1.18.0

19 de agosto de 2026

Temporizadores de reaparição

Uma secção nova. Abres um temporizador para o inimigo que quiseres vigiar e ele conta sozinho; fechas quando já não te interessa. Nenhuma morte liga um por conta própria — com cem bichos a cair, isso seria ruído no ecrã e não ajudava ninguém.

A lista fica ordenada por quem volta primeiro, com os que já deviam estar lá em cima de tudo. E cada ficha diz de que zona e de que dificuldade é, porque o mesmo bicho em dois sítios não volta ao mesmo ritmo.

De onde vem o tempo, dito sempre

Em cada ficha vês as três procedências, sempre as três:

  • o teu, se o escreveres — manda sobre tudo o resto;
  • o da wiki, com a página de onde sai, para que possas ir ver;
  • o que vamos vendo nós, que por agora só se acumula.

Se o número da wiki e o que vimos não coincidirem, diz-se e fica assim. Não escolhemos por ti.

Os tempos da wiki estão recolhidos zona a zona, da página de cada uma. Quatro zonas não o declaram, e aí a ficha di-lo em vez de inventar um número.

Os avisos que traz

Se um inimigo estiver há muito a zero, avisa-te: pode já lá estar e não teres visto, ou podemos não estar a reconhecer a sua linha de morte. São duas coisas diferentes e ambas se veem iguais no ecrã, por isso nomeiam-se as duas.

E se houver vários desse nome na zona, di-lo ao abri-lo, que é quando serve: o temporizador reinicia quando morrer qualquer um deles, não aquele que estás a olhar.

Os teus continuam teus, mesmo que mudes de familiar

Alguém podia aparecer ao mesmo tempo sob «Sem identificar» e a somar no dps do teu lado. Acontecia sobretudo com os teus próprios familiares: ao invocar um novo, o anterior deixava de ser reconhecido, e os combates guardados ficavam com essa ideia para sempre.

Agora a identidade é recalculada sempre que olhas, com tudo o que o programa foi aprendendo. Combates guardados há semanas ficam bem rotulados sem reconstruir nada — mudam 248 combates do histórico. E quem de facto não se conhece continua a sair como desconhecido, que é o que há a dizer.

As zonas deixam de estar partidas pela dificuldade

O número de dificuldade que o EQL cola ao nome da zona estava a ser contado como outra zona. Por isso a enciclopédia mostrava a mesma zona várias vezes e o censo de chefes saía curto.

Agora juntam-se: uma zona é uma zona, e a sua dificuldade é uma coluna. A enciclopédia e o censo batem certo, e cada ficha traz todas as dificuldades no mesmo sítio.

Correcções

  • O painel de reprodução rebentava se mudasses de combate enquanto estava a carregar, e ficava em branco até saíres e voltares.
  • O botão de fechar um temporizador não fechava.
  • A secção de Reaparições nunca chegou a ver-se nos primeiros testes internos: saía completamente em branco.

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

19 de agosto de 2026

O que o teu registo já dizia e não estávamos a ler

O teu registo escreve uma linha sempre que um inimigo resiste a um dos teus feitiços. O programa não sabia lê-la. Num registo real são 955 resistências tuas deitadas fora, e com elas a resposta a uma pergunta que muda mesmo o que fazes: *este feitiço entra neste bicho?*

Na primeira vez que a abrires, pede para reler o teu registo

Esta versão pede-te para reconstruir o histórico: ao abrir aparece um cartaz com dois botões, «Reconstruir o histórico» e «Agora não». Podes deixar para depois, mas até lá os teus combates guardados continuam sem as resistências.

Enquanto relê o teu registo desde o princípio, podes continuar a usar o programa: a janela não congela, mudas de secção e move-se tudo normalmente. Só os números ficam parados, até acabar.

Quanto demora. Medido num registo de 103,8 MB: 28 segundos se o ficheiro estiver fresco no sistema, 62 se tiver de vir do disco. Acontece uma só vez. O que tens agora fica de parte com marca de tempo antes de se tocar em nada.

Porque é preciso. Não é que os combates guardados tenham o número baixo: é que a linha não existe. Um feitiço a que se resiste sempre nunca acerta, e sem acertar nunca chegava a criar a sua entrada. O caso mais claro de um registo real: contra o mesmo inimigo, 62 lançamentos, 62 resistidos, nenhum entrou — e nenhuma dessas 62 linhas estava guardada em lado nenhum. Isso não se resolve a ler melhor o que está guardado; é preciso voltar ao registo.

Quantas vezes te resistiram, e sobre quantas tentativas

Na análise de cada combate, por feitiço e contra quem, sempre com o denominador:

Drain Spirit X          contra Coercer T`vala    44 de 44   nunca entra
Blade Dance             contra Coercer T`vala    26 de 26   nunca entra
Water Elemental Attack  contra Coercer T`vala     5 de 31   16 %
…

«44 resistidas» não diz nada: 44 de 44 e 44 de 300 são dois combates diferentes e duas decisões diferentes. E quando algo não entra nem uma vez, diz-se com palavras — nunca entra — e não só com uma percentagem que é preciso subtrair.

Por cima da tabela diz de quantos feitiços sai: «dos 7 que lançaste contra este inimigo, 5 foram resistidos alguma vez». Sem essa linha, cinco filas leem-se como se tivesses lançado cinco coisas.

E avisa-te por voz, que era o que a caixa prometia

A caixa «Um feitiço teu resistido» existe desde a primeira versão. Nunca tinha tocado: zero vezes nos 1,19 milhões de linhas que o programa reconhecia. Quem a tinha marcada esperava há meses por um aviso que não podia chegar.

Agora funciona, com dois modos à tua escolha:

  • Um a cada 20 segundos por feitiço — o que vem posto.
  • Todos, se preferires ouvi-los todos.

Vem travado de origem por uma razão medida: nesse mesmo combate houve 103 resistências em 129 lançamentos, e 4 dos 7 feitiços não entraram nem uma vez. «Todos» ali é falar por cima do combate inteiro.

Dois números da linha que se liam igual sem o serem

O número grande de cada combatente é uma taxa — o seu dano dividido pelo que durou o combate — e a percentagem ao lado é uma contribuição — que parte do total pôs. Dividem-se por coisas diferentes e respondem a perguntas diferentes, e estavam colados sem nada a dizer qual era qual. Agora dizem-no.

O número grande não mudou. Continua a ser dano a dividir pela duração do combate, que é o que dps significa.

E sobe para a linha visível a sua janela própria: o dano dividido pelo tempo que esse combatente esteve metido no combate. A janela vai do primeiro que faz ou lhe fazem até ao último: bater, falhar, curar, absorver — e levar — contam todas, por isso a quem segura a janela abre-se com o primeiro golpe que recebe, não com o que dá. É a que responde a «entrou tarde?» — quem chega a meio sai baixo na taxa e normal na sua janela, e com um só número esses dois casos não se distinguem. Só aparece quando difere.

Também

  • Reconhece-se a rejeição de um feitiço inimigo quando algo teu o bloqueia antes de chegar: 2.665 linhas de um registo real que antes não se liam.

1.16.1 — el cartel ya no ofrece lo que no existe

18 de agosto de 2026

O aviso de atualização já não oferece o que não existe

Esta versão corrige uma única coisa, e é a que te aconteceu se abriste o programa na tarde de 17 de agosto.

O que acontecia. A 1.16.0 esteve publicada como a versão mais recente, com as suas notas enviadas e sem o instalador. O aviso aparecia inteiro: «há uma versão nova», as notas traduzidas para a tua língua, e um botão a dizer Descarregar que levava a uma página onde não havia nada para descarregar.

O que muda. Se uma versão está publicada e não traz instalador, não se mostra aviso nenhum. Nem botão, nem notas, nem promessa. E não aparecer nada não quer dizer que a verificação falhou: a versão está a meio de ser publicada, e o aviso aparece sozinho assim que estiver terminada. Não há nada a fazer no teu computador.

E sem botão de ignorar. Essa é a parte que não se podia desfazer. «Ignorar esta versão» fica escrito nas tuas definições, por isso quem se cansasse do aviso partido e o ignorasse teria ficado sem a versão boa quando o instalador finalmente fosse enviado. Agora não há aviso, logo não há botão para carregar: sai da forma do código e não de lembrar-se de o tirar.

O que fica igual

Se podes atualizar, continuas a ser avisado. Há um caso que se parece e não é o mesmo: quando o instalador está lá mas tem de ser descarregado a partir da página em vez do programa. Esse funciona, e continua a avisar como sempre.

«Não se pode instalar a partir daqui» e «não há instalador» não são a mesma coisa, e até agora escreviam-se igual.

Nem um número muda. Não toca no teu histórico, não pede para reconstruir nada, e não muda como se mede um único combate. Abre igual à 1.16.0 e com os teus mesmos dados.

1.16.0 — toda la aplicación en una barra lateral

18 de agosto de 2026

Toda a aplicação numa barra lateral, e nem um número se moveu

Os três separadores de cima —Combate, Avisos e Enciclopédia— desapareceram. No seu lugar há uma barra à esquerda com catorze secções, agrupadas não por tipo de dado mas por alcance: de que é que cada número está a falar.

Este combate — Cena · Por habilidade · Espólio · O registo · Análise

Todo o histórico — Resumo · Inimigos · Espólio · Progresso · Zonas · Feitiços · Mortes

Definições — Avisos · Voz e os teus

Porquê por alcance

Espólio dentro de Este combate e Espólio dentro de Todo o histórico são duas perguntas diferentes, e até agora chegava-se às duas por caminhos que nunca diziam qual era qual. A primeira coisa que é preciso saber de um número é de que fala; agora di-lo o grupo onde vive, antes de o ler.

E a lista de combates aparece só onde significa alguma coisa: nas cinco secções de Este combate, que são as que mudam ao escolher outro combate. Nas do histórico não está, e a secção ocupa a largura inteira.

Nem um número mudou, e essa é a promessa

Esta versão não calcula nada de novo nem calcula nada de outra maneira. É uma mudança de casa: o que lá estava foi levado inteiro para outro sítio do ecrã.

  • Não te pede para reconstruir. O teu histórico fica exatamente como está, e a primeira abertura não demora mais do que qualquer outra.
  • O mesmo combate mostra os mesmos números que na 1.15.0. Se algum fosse diferente não seria uma melhoria: seria uma falha, e é por isso que se foi verificando secção a secção.
  • Não há funções novas. As que há são as de sempre, no seu sítio.

Diz-se assim tão claro porque é o que foi prometido ao começar, não um pedido de desculpa pelo que falta.

Duas coisas que se notam a usar

Os temporizadores já não se apagam ao mudar de ecrã. Viviam dentro de Combate: ias ver uma coisa ao bestiário e a contagem que estavas a vigiar desaparecia enquanto ainda corria. Agora são da moldura e veem-se em qualquer secção.

A reprodução abre dentro de Cena, sem te tirar do combate: o gráfico do cabeçalho afasta-se para não mostrar duas vezes a mesma coisa, e a cena monta-se ali, com a lista de combates ainda ao lado.

E a nota das três velocidades diz agora o cálculo. Já não diz com o que se compara a primeira: diz dano total ÷ duração do combate, que era o que fazia falta saber.

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

16 de agosto de 2026

Na primeira vez que a abrires, relê o teu registo inteiro

Esta versão força uma reconstrução. Vais ver um aviso e uma barra: está a reler o teu registo desde o início para voltar a construir o histórico. São alguns segundos —medido, 25 s para 75 MB— e acontece uma só vez.

Não se apaga nada: o anterior é posto de lado com marca de tempo antes de se mexer em seja o que for, e pode ser recuperado.

Porque é preciso. Esta versão muda o nome que se guarda de cada inimigo, e a prova de como se escreve está no teu registo, não nos combates já guardados. A reler, corrige-se o histórico inteiro; sem reler, só o que vier a seguir.

E é a primeira versão com licença

O EQL Parse passa a FSL-1.1-MIT: podes usá-lo, copiá-lo e modificá-lo para tudo o que não seja fazer-lhe concorrência, e cada versão passa a licença MIT dois anos depois de publicada. O texto completo vai dentro do programa, em Acerca do EQL Parse.

As versões anteriores a esta foram publicadas sem licença explícita. Não era uma posição, era um descuido. Fica dito aqui porque quem descarregou uma delas merece saber em que situação estava.

O reprodutor já não desenha combates que não são teus

Ao reproduzir um combate numa zona movimentada, apareciam figuras que não estavam no teu combate: o bicho de outro jogador, o próprio jogador, e os golpes entre eles — desenhados na sua coluna como se fizessem parte do teu.

O pior do histórico: um combate de 99 segundos com três combatentes que desenhava treze figuras, com 468 golpes alheios lá dentro.

Medido sobre 1.493 combates: 446 desenhavam alguém de fora, e 49 desenhavam combates alheios inteiros. Agora são 190 e zero. Os 190 que ficam são os legítimos: alguém que te curou, ou que falhou contra o teu bicho, e por isso estava ali.

E já não apaga toda a gente no primeiro segundo

Quando um inimigo caía, a sua figura apagava-se no segundo zero da reprodução em vez do segundo em que morreu. Com vários inimigos, a cena começava com todos cinzentos e assim ficava.

Acontecia em 80 % dos combates. Agora cada figura apaga-se quando caiu.

Os nomes escrevem-se como o jogo os escreve

The Prophet, The Spiroc Lord, The Muglwump e mais dois saíam com a minúscula que nós tínhamos posto. O EverQuest põe maiúscula na primeira letra de cada linha, por isso a única forma de saber a grafia verdadeira de um nome é ver como o jogo o escreve a meio da frase — e é isso que se faz agora.

E quando não sabemos, diz-se. Há nomes que só viste a abrir linha; nesses, a grafia é uma suposição nossa. Esses levam uma nota a dizê-lo, ao lado da linha do combatente.

«2 abatidos» não é o mesmo que «pelo menos 3 presentes»

Um combate chamava-se a shin ghoul knight ×2, e isso lê-se como «havia dois». Não é o que conta: conta os que caíram. Agora está escrito com essa palavra.

O reprodutor responde à outra pergunta —quantos houve— e pode dar um número maior, porque inclui o que nunca chegou a cair. Onde aparecem os dois, aparecem os dois e cada um com a sua palavra:

a shin ghoul knight — 2 abatidos · pelo menos 3 presentes

Mudar o nome do registo já não perde as horas seguintes

Se fechavas o jogo, mudavas o nome de eqlog_...txt para começar um novo, e jogavas três horas antes de abrir o EQL Parse, essas três horas nunca eram lidas. O programa lembrava-se do byte onde ia, o ficheiro novo era mais curto, e ficava parado no fim sem dizer nada.

Agora deteta que o ficheiro é outro e lê-o desde o início.

O que outro jogador escreve já não conta como dano

Se alguém escrevia no chat uma linha com ar de golpe, o programa acreditava nela e somava-a ao combate. Agora uma linha de chat é reconhecida como chat antes de alguma coisa olhar para o que está dentro das aspas.

O registo de referência tem 32.659 linhas de chat. A confusão só podia acontecer nas que não fecham a aspa —uma mensagem partida em várias linhas—, que são oito, e nenhuma das oito levava um número dentro. Podia acontecer, e não tinha acontecido.

Uma correção a estas notas

A versão publicada descrevia mal esta correção. O que passa a ler-se como citação são outros jogadores a escrever no teu próprio registo; a versão anterior dizia outra coisa, e não era verdade. E ali posta parecia um retoque, quando o que estava por baixo era a correção de exatidão que se conta mesmo aqui em cima.

Corrigido a 18 de agosto de 2026. Diz-se em vez de se mudar em silêncio, porque a frase anterior já foi lida por alguém.

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

15 de agosto de 2026

Os avisos dizem de onde saem

Se abriste o separador dos avisos e viste «Lady Vox» em cinco sítios que não escreveste, a conclusão razoável era que as frases vinham de uma wiki. Não vinham: esse disparador corresponde 33 vezes no teu próprio registo, com seis feitiços dela. O que faltava não era a regra, era dizer de onde saía.

Cada disparador leva agora duas etiquetas:

  • de onde vem — «modelo de fábrica», que não foi verificado contra o teu registo, ou «escrito por ti»
  • o que fez — «visto 33 vezes no teu registo», e se ainda não correspondeu nenhuma vez, di-lo

A segunda é o que transforma uma promessa num facto: um padrão copiado com uma palavra diferente nunca corresponde, e até agora tinha exactamente o mesmo aspecto de um que dispara todos os dias.

E conta-se contra o teu registo inteiro, não desde que abres: ao arrancar, a releitura conta sem falar. Se mudares de registo, o contador diz que fala de outro e começa do zero.

O aviso de que os modelos de um chefe têm de ser comprovados contra o teu próprio registo estava escrito no programa desde o primeiro dia e não aparecia em nenhum ecrã. Agora sai, junto com a nota de cada modelo.

O modelo do chefe já não traz temporizador. Trazia doze segundos que ninguém tinha cronometrado: o registo não escreve em nenhuma linha o tempo de reutilização de um feitiço inimigo, por isso esse número não se podia medir a ler. Pões-lo tu, que és quem o pode tirar com um relógio.

Os abatidos que faltavam no bestiário

O EverQuest escreve o nome de um inimigo com maiúscula ao começar a frase — «A shin ghoul knight has been slain» — e em minúscula a meio — «You slash a shin ghoul knight». O programa juntava as duas formas ao contar combatentes, mas não ao contar mortes.

Medido sobre um histórico real: de 4.348 abatidos, 25 não chegavam à ficha do inimigo, e com eles 39 amostras de vida estimada. orc legionnaire aparecia com catorze mortes a menos das que teve, e a vida calculada sobre metade das amostras. Nove linhas da lista de combates de um inimigo diziam «sobreviveu» de um bicho que tinha caído.

Não falhava nada visível, e por isso estava ali desde sempre: um número mais baixo não se distingue de um correcto.

Corrige-se ao ler, por isso o teu histórico fica bem sem reconstruir nada.

Um inimigo que se cura não tem mais vida

Um curandeiro inimigo repara parte do dano que lhe fazes, e isso não é vida dele: é dano desfeito. A vida estimada já o descontava — medido: 929.772 pontos de cura inimiga, 5 % do dano que lhes fazes — mas a regra que decide se um inimigo é um chefe usava o número sem descontar.

Corrigido. No teu histórico muda de lado um inimigo, Cleric of Innoruuk, que recebeu 22.633 com 2.803 de cura pelo caminho: sem a descontar cruzava o limite e saía rotulado como chefe de raid.

E dois abrandamentos que não se anunciavam

Languid Pace e Instill não caíam em nenhuma categoria, por isso «Raiz e abrandar» não avisava deles mesmo ligado. Entram, medidos: só se anunciam os que um inimigo lança — 44 % deles eram lançados pelo teu próprio familiar — e isso dá dois por combate em 9 % deles.

Olharam-se outros três montes de feitiços sem categoria — roubos de vida, atordoamentos e drenos de mana — e nenhum se anuncia: um a cada oito segundos, ou um a cada dois, não é um aviso. Uma voz que fala a toda a hora ensina a não a ouvir.

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

15 de agosto de 2026

Esta versão relê o teu registo, e muda onde começa e acaba cada combate

Vem primeiro porque é o que acontece assim que abrires: a primeira abertura demora, porque o registo inteiro é relido uma vez.

Nada se corrige ao ler, e não é por falta de tentar: a fronteira entre dois combates decide-se no momento em que são escritos, por isso a única forma de aplicar o modelo novo ao que já tens é voltar ao registo. Não se perde nada — fights.ndjson sai do registo, que é a fonte — mas o teu histórico fica repartido de outra maneira.

Vens da 1.12.0, e a 1.13.0 vem dentro desta

A 1.13.0 nunca chegou a ser publicada: o código existe e as notas existem, mas nunca teve instalador, por isso ninguém a tem. As suas correcções chegam dentro desta, e são seis:

  • o tempo em que não controlavas deixa de contar contra ti. Um medo ou um encanto deixa o registo sem uma única linha tua, e isso estava a ser lido como se te tivesses ido embora. No teu histórico são 31 episódios e 251 segundos que te eram cobrados e não podias evitar
  • um companheiro encantado deixa de ser inimigo. Bastava um golpe dele para o passar para o lado contrário com todo o dano atrás; no pior combate, 55 % do «dano inimigo» era do teu próprio grupo
  • «O que este combate não sabe», que junta o que um combate não pode saber: dano sem dono, dano contado por dedução, e espólio com dois cadáveres possíveis
  • «Mudanças de estado» na reprodução, com o que te aconteceu durante o combate e quanto durou cada coisa
  • «O que lhe resistes» por inimigo e por feitiço, em vez de um total solto
  • e os combates que um medo partia em dois

As notas completas da 1.13.0 estão na página da versão dela. O que se segue é o desta.

Estávamos a responder a outra pergunta

Até agora, «isto é o mesmo combate?» respondia-se com «há quanto tempo é que o registo está calado?». São duas perguntas diferentes, e é por isso que falhava nas duas direcções ao mesmo tempo:

  • partia um combate porque estiveste vinte e cinco segundos a limpar inimigos extra
  • e juntava dois porque o seguinte começou três segundos depois do primeiro

As duas coisas vinham do mesmo sítio: um intervalo de silêncio não diz nada sobre quem está a combater contigo.

O que é um combate, agora

Um combate é um grupo de inimigos cujas janelas de participação se sobrepõem. Cada inimigo tem uma janela, da sua primeira linha à última; enquanto houver uma aberta, o combate continua.

Dito como se vê de dentro do jogo: cinco inimigos mortos em dois minutos, todos a bater ou a lançar ao mesmo tempo, com os nomes a aparecerem misturados no registo, são um combate. Cinco mortos em dois minutos mas um de cada vez, sem que nenhum faça nada enquanto atacas o anterior, são cinco.

Um inimigo que morre fecha a sua janela no instante: uma morte é uma medição, não uma espera. Só os inimigos de que te escapas precisam de prazo, e esse prazo é de doze segundos — o percentil 99 da cadência de ataque medida no teu próprio registo. Dos 19.970 intervalos de silêncio de dois segundos ou mais, 99,1 % são mais curtos do que isso: não são mistério, são o ritmo do bicho.

Um inimigo adormecido já não parte o combate

Um feitiço de hipnose não produz uma única linha: o bicho cala-se e parece que se foi embora. Mas o registo escreve mesmo que ele está a dormir, e as duas formas de acordar.

Essas linhas não estavam a ser lidas. No teu registo há 217 hipnoses postas e 353 linhas de fecho — «has been awakened by» e «spell has worn off of» — que iam para a gaveta do que não se reconhece. Com elas, 202 das 217 têm janela com princípio e fim escritos.

Agora o silêncio explicado por um estado medido — hipnose, encanto, ou um troço em que não controlavas a tua personagem — não fecha nenhuma janela. E cada combate que se apoia nisso guarda qual é a linha que o sustenta, sobre que inimigo e quanto silêncio tapou, para que se possa discutir em vez de acreditar.

O que não está lá: a raiz. Em 850.171 linhas não há uma única que diga que um inimigo está enraizado, portanto não se pode medir e não se inventa.

Uma série de nove minutos, em nove linhas

Um combate real das Ruínas de Old Guk: nove minutos e meio, vinte e dois abatidos e nove nomes distintos, tudo numa única linha da lista. Repartido pelo modelo novo:

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

Nove linhas, nove nomes distintos. A contagem com «×2» faz o trabalho: sem ela, quatro dessas nove diriam o mesmo.

E é por isso que os teus números deixam de estar diluídos

Isto é o que se nota ao abrir um combate, e não é arrumação na lista.

Uma série de vinte e sete minutos com quarenta bichos que caem de um golpe tinha um «dps dos teus» dividido por todo o tempo que passaste a andar entre eles. O número estava correcto e não descrevia nada. Agora cada série tem o seu próprio número, e «DPS sobre o combate» volta a significar o que diz.

O mesmo com «duração», «Tempo sem bater» e «DPS só nos segundos ativos»: um denominador que inclui três combates e dois passeios não mede ninguém.

Uma morte já não funda um combate

Uma morte não é um começo: é a prova de algo que já estava a acontecer. Se chega a morte de um inimigo que não deu uma única linha no combate aberto — um veneno que acaba sozinho, ou alguém que o rematou — já não entra como presa tua: anota-se à parte, com a distância à última linha dele.

No teu histórico são 21 mortes em mais de quatro mil. É pouco, e diz-se na mesma: era um abatido que não era teu, no título de um combate que não era o dele.

Quanto muda o teu histórico

Sobre o registo de referência, os combates guardados passam de 845 para 1.420, e a duração mediana desce de 86 para 45 segundos. O número com que ficares depende de quanto jogaste antes de reconstruir; a diferença, não.

Mas não muda por igual. No Plano do Medo, no Plano do Ódio, no covil de Nagafen e no Plano do Céu — onde combates uma coisa de cada vez — 83 % dos combates saem exactamente iguais, e de 457 passam a 536. O que se reparte a sério são as séries: os sítios onde encadeavas sem pausa, que é onde uma só linha escondia meia hora.

O que este modelo faz, dito com precisão

Só corta, excepto onde o registo diz com todas as letras que o inimigo ainda lá estava. Ao reconstruir, cada combate novo cabe dentro de um dos que já tinhas — com dez excepções nos 845, e as dez conseguem apontar a linha de hipnose ou de encanto que as une. Nem uma única se junta por um intervalo de tempo.

O que só se pode comprovar a jogar

Um combate fecha-se por dois caminhos que não usam o mesmo relógio: a marca do registo e o relógio de parede. Reler é um dos dois, portanto a única forma de comprovar que os dois coincidem é jogar uma sessão e relê-la depois.

A margem do relógio de parede sobe de três para cinco segundos por causa desta mudança — o prazo novo é mais curto, portanto um desfasamento custa mais caro — e isso significa que um combate demora cinco segundos a dar-se por terminado no painel, em vez de três. Não afecta nenhum número: só o momento em que aparece.

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

15 de agosto de 2026

Esta versão relê o teu registo, e desta vez sem perguntar

Vai à frente porque é o que acontece assim que abres: o primeiro arranque demora, porque o registo inteiro é relido uma vez.

A 1.11.0 corrigia ao ler e por isso não pedia nada. Esta não pode. Três das coisas que corrige foram decididas no momento de escrever cada combate, e o que se decidiu ao escrever não se recompõe a ler:

  • o tempo sem comando, cobrado como tempo parado ao calcular o combate
  • o companheiro enfeitiçado, guardado no lado inimigo
  • os combates cortados em dois por um medo

Não se perde nada: fights.ndjson volta a ser gerado a partir do registo, que é a fonte. O que muda são os teus números, e algumas fronteiras entre combates.

O tempo que não comandavas deixa de contar contra ti

Quando um inimigo te mete medo não é que deixes de lutar: é que não podes. Com um enfeitiçamento também não decides — bates nos teus, mas não o escolhes. Nos dois casos o registo fica sem uma única linha de combate tua, e o programa lia isso como se tivesses ido ver o inventário.

O registo escreve os dois extremos desses troços, e não estavam a ser lidos. No teu histórico são 31 episódios, e 251 segundos que te estavam a ser cobrados e que não podias evitar. O pior combate passa de 172 para 91 segundos de tempo parado.

Esses troços passam a ser medidos e saem de todos os números que falam de ti: de «Tempo sem bater», de «Boa continuidade», do denominador de «DPS só nos segundos ativos», de «Postura errada em alguns tramos» e da tua cadência. A duração também não é um dado sobre ti, porque não a decides.

Pelo caminho apareceram duas coisas que puxavam em sentidos contrários, e ambas saíram:

  • os buracos de medo curtos perdoavam-te de mais, porque inflavam a tua cadência e com ela a margem que te é dada
  • e enquanto estavas sem comando continuavam a bater-te, por isso o denominador de «DPS só nos segundos ativos» crescia enquanto o numerador não podia crescer

A etiqueta sai de uma medição, não de uma parecença. A linha do registo não diz a causa: o medo e o enfeitiçamento escrevem a mesma. O que os separa é o que fizeste lá dentro, e isso vê-se — com medo não podes agir de todo, logo zero ações é medo; enfeitiçado bates nos teus sem o decidir, logo um golpe neles é enfeitiçamento. Se agiste contra o inimigo não é nenhuma das duas, e então o combate di-lo em vez de escolher.

E houve um caso que foi preciso separar ou teria estragado tudo: as teclas que o jogo recusa. Dentro desses troços há 24 lançamentos começados que nunca resolvem — nem impacto, nem resistência, nem interrupção. Fora deles esse mesmo feitiço resolve. Um lançamento sem desenlace não é uma ação, é uma tentativa recusada, e contá-la teria transformado 10 dos 31 episódios noutra coisa por se martelar um atalho.

Um companheiro enfeitiçado deixa de ser inimigo

Se alguém do teu grupo é enfeitiçado e te bate, até agora tornava-se inimigo durante todo o combate, e não apenas durante a troca. O lado deduzia-se de quem bate em quem, e um único golpe bastava para o passar para o outro lado com todo o seu dano atrás.

No teu histórico houve fogo amigo em cinco combates, todos no Plano do Medo. Em três deles um companheiro acabou no lado contrário, e no pior 55 % do «dano inimigo» era do teu próprio grupo. Também te tirava o teu: o dano que esse companheiro fazia ao chefe não contava em «Os teus».

Agora manda o que está declarado. Quem tu disseste que é dos teus não muda de lado porque um golpe diz o contrário, e o dano que fazem uns aos outros não soma a nenhum total: é posto de parte e contado, com o seu nome e nos dois sentidos, em «Dois dos teus a baterem-se um ao outro».

Esse bloco está no combate, por cima da lista de combatentes — não na reprodução. Diz que companheiro lutou contra o grupo, quantos golpes, quanto dano e entre que segundos. A causa não se diz, porque o registo não a escreve em nenhuma linha. Ao lado vai a única coisa que está escrita por perto: o último lançamento do inimigo antes desse troço, seja qual for, com os segundos de distância. Às vezes é um enfeitiçamento e às vezes é uma cura dele, e mostra-se na mesma — é um facto vizinho, não uma causa.

«O que este combate não sabe»

Há versões que o programa calculava de quanto não se pode fiar, e não o mostrava em lado nenhum. Três números, medidos, guardados e mudos. Agora estão juntos e à vista, porque são a mesma pergunta:

  • dano real sem dono, que é um escudo de dano sem possessivo; o registo não o atribui a ninguém e não entra em nenhum total
  • dano contado como inimigo com base numa dedução e não numa linha: o enfeitiçamento que quebrou ao encadear outro, que o registo não anuncia
  • espólio com dois cadáveres igualmente possíveis, onde se escolheu o mais recente

Cada um vai marcado com se está medido ou deduzido. Esta parte não precisava de reconstruir nada: os três números já estavam calculados e guardados. Só faltava lê-los.

«Mudanças de estado», na reprodução

Por baixo da linha de tempo há uma pista com o que te aconteceu durante o combate: «stunned», enfeitiçamentos teus, «Sem controlo», absorções, quedas e avisos de sobrevivência.

Onde o registo escreve os dois extremos de um estado, a duração está medida e desenha-se uma barra do início ao fim. Onde essa barra não se distinguiria de um ponto na largura que tens no ecrã, desenha-se o ponto — e ao alargar a janela os pontos passam a barras. É de propósito: a pista mostra a resolução que tem, não uma que não tem.

Um estado que já estava ativo no início do combate, ou que ainda estava ativo no fim, desenha-se aberto desse lado. É diferente de afirmar que durou até ali, que é tudo o que se sabe.

Não estão todos os estados possíveis, só os que dizem alguma coisa. A raiz é lida e guardada mas não é pintada: não te impede de bater, por isso não explica nenhum buraco da curva. Estava na pista por ser frequente, e numa pista onde tudo está marcado não se marca nada.

«O que lhe resistes»

O que tu resistes era um total solto do combate. Esse total continua onde estava, e agora vai também para a ficha de cada inimigo, com qual feitiço dele se tratava — que é o que transforma «resististe sete» em algo que se pode usar da próxima vez que lá desceres.

Não é uma percentagem, e a ficha di-lo: um feitiço entrar não deixa linha no registo, por isso conta-se as vezes que o paraste e mais nada.

Combates que estavam partidos em dois

Um troço sem comando suficientemente longo cortava o combate, porque durante um medo não há nenhuma linha tua e isso lia-se como combate terminado. Acontecia pelos dois caminhos: o da marca do registo e o do relógio de parede, que em direto fechava mesmo antes de chegar o aviso de que tinhas recuperado o comando.

Já não corta. Ao reconstruir, cinco combates fundem-se com o vizinho e um move a sua fronteira, por isso o teu total desce quatro. O número em que ficas depende de quanto jogaste antes de reconstruir; a diferença, não.

O que continua por fechar

Reconstruir não reproduz o teu histórico a cem por cento. Das dez diferenças medidas entre o que decide o relógio de parede e o que decide a marca do registo, sete estão fechadas. As três que restam são arranques da aplicação a meio do registo, e nenhuma regra de relógio as parte: onde um rastreador acabado de criar começa a olhar, começa um combate.

Diz-se aqui porque é preferível sabê-lo antes de reconstruir do que descobri-lo depois.

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

12 de agosto de 2026

Esta versão pede para reconstruir o histórico, e reconstruir move-o

Vem primeiro porque é preciso sabê-lo antes de carregar, não depois.

Ao abrir vai aparecer um aviso a pedir para reler o teu registo. Desta vez é obrigatório: onde cada objeto estava pendurado decidiu-se ao escrevê-lo, e não há maneira de o recompor lendo melhor o que está guardado.

E reconstruir não reproduz exatamente o teu histórico. O fecho de um combate decide-se pelo relógio de parede enquanto o programa está a correr e pela marca de tempo do registo quando se relê, por isso onde o intervalo entre dois combates for de exatamente 20 segundos, cada caminho decide de forma diferente. Medido sobre um histórico real de 708 combates: ficam 700 — 698 idênticos, 10 que se fundem com o do lado e 2 que aparecem divididos de outra maneira.

O que tinhas é posto de lado com data antes de se tocar em nada (fights.ndjson, o índice, a enciclopédia e os ficheiros laterais) e recupera-se copiando-o de volta. Não se apaga nada.

É uma falha conhecida, a mesma que a 1.11.0 já avisava, e continua por corrigir. A diferença é que aquela não pedia para reconstruir e esta pede.

O que estava mal no espólio

Ficava pendurado no combate que estivesse aberto ao apanhá-lo, e saqueia-se depois de matar. Daí saem quatro coisas, todas medidas sobre um registo real de 55 MB:

  • 34 objetos pendurados num combate posterior à morte da criatura de onde saíram. Sempre para a frente, nunca ao contrário, com uma mediana de dez minutos entre um combate e o outro. Matas, segues, e dez minutos depois esvazias o cadáver: o objeto ficava com o combate em que estavas.
  • 294 objetos com o instante fora do seu próprio combate e, por isso, invisíveis. A reprodução percorre de zero até à duração do combate, por isso um objeto apanhado depois do último golpe não era desenhado em lado nenhum. É um terço dos combates com espólio.
  • 51 objetos caíam num sítio diferente consoante tivessem sido gravados em direto ou por releitura — e eram precisamente os dos chefes, porque um chefe tem dez objetos e esvaziar-lhe o cadáver demora mais do que os vinte segundos que o combate leva a fechar.
  • Uma linha de espólio sem regra. and stored it in your tradeskill depot apareceu uma vez em todo o registo e levou um objeto inteiro sem que nada disparasse.

E a moeda dos cadáveres não se guardava em lado nenhum: 1.392 linhas que o programa reconhecia e deitava fora.

O que muda

Cada objeto vai agora para o combate onde morreu o seu cadáver, não para o que estivesse aberto. Sobre as 1.901 linhas de espólio do registo de referência: 1.884 ficam penduradas no combate onde morreu a criatura de onde saíram, 17 ficam soltas — porque esse inimigo foi rematado inteiramente por outro e essa morte nunca foi registada — e nenhuma se perde.

O emparelhamento é por nome e por proximidade, portanto é uma dedução e é dito como tal: o registo não numera os cadáveres. O que está medido é o intervalo entre a morte e a recolha, e aparece ao lado de cada objeto. Nas três recolhas em 1.901 onde havia dois cadáveres igualmente próximos em combates diferentes, a dúvida fica marcada em vez de se escolher em silêncio.

A reprodução termina agora numa ficha nova: «O que apanhaste». Que objetos, de que cadáver, em que momento, ordenados pelo instante da recolha. Os que apanhaste com o combate já fechado aparecem lá, com a sua hora e dito que o combate tinha terminado — é a primeira vez que se veem.

Não se intitula «o que caiu», e não é descuido: o registo não anota o que os outros apanham, nem o que alguém saqueia de um cadáver distante, nem o que ficou no chão. Anota o que apanhaste tu, e a ficha intitula-se com isso.

E um combate sem espólio já não diz uma coisa só, porque não são a mesma:

  • caíram inimigos e não consta nenhuma recolha tua
  • não caiu ninguém, por isso não havia nada para saquear
  • apanhaste-o, mas fora de qualquer combate teu

A moeda entra por fim, com o seu instante e somada em cobres. Fica pendurada no combate que estivesse aberto e não no cadáver, porque a linha do registo não diz de quem sai — e isso também está escrito na ficha, ao lado do número. São duas certezas diferentes e não se mostram como se fossem a mesma.

E uma rede para a próxima vez

Um fim de linha que o programa não sabia ler custou um objeto inteiro, e não tocou nenhum alarme.

Agora um fim desconhecido continua a dar o objeto e o cadáver, e o pedaço que não se sabe ler viaja literal até à ficha, onde se vê. Um objeto pode chegar com uma parte estranha; o que já não pode é não chegar.

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

9 de agosto de 2026

Os teus combates guardados vão mostrar outros números. Sem que carregues em nada

Isto vem primeiro porque é o que vai acontecer assim que abrires o programa.

A 1.10.0 pedia-te autorização: aparecia um aviso, havia um botão, e o teu histórico anterior era posto de parte com data antes de se mexer em fosse o que fosse. Esta não pede. A correcção faz-se sozinha ao ler cada combate, por isso os combates que já tinhas vão mostrar valores diferentes da primeira vez que os abrires.

Não há nada a decidir e não se perde nada: o teu fights.ndjson não é tocado, a correcção acontece durante a leitura. Mas um histórico que muda sem avisar é exactamente aquilo que este programa não faz — daí este aviso. Aparece também dentro da aplicação, uma única vez.

O que estava mal

A postura não reduz o dano periódico nem o escudo de dano, e o programa agia como se reduzisse.

O registo guarda o dano já mitigado, por isso para poder comparar posturas entre si é preciso reconstruir o que terias levado sem nenhuma. Isso estava a ser feito também ao dano periódico e ao escudo de dano — e medido num registo de 385 656 linhas, a postura não lhes toca:

  • Nove aplicações de dano periódico recebido atravessam uma mudança de postura com o feitiço já lançado. Nas nove, o valor do tick não se mexe um ponto. Rotting Flesh de um dracoliche atravessa Defensive ↔ Channeler nos dois sentidos e vale 100 nos 42 ticks.
  • O escudo de dano, igual: um spite golem pica por 18 sob Defensive, sob Channeler e sob Offensive.

Com os feitiços directos passa-se o contrário: esses são mitigados, e com exactidão de manual. Soul Devour do Eye of Veeshan bate 400 com Defensive, 300 com Channeler e 250 com Mage Hunter, em 368 impactos e sem uma única variação. Portanto nunca foi caso de deixar de reconstruir o mágico: eram duas escolas medidas em separado com dois resultados diferentes.

Quanto custava: 44 924 pontos de dano recebido que não existiam, em 416 combates guardados. E o conselho de postura assentava neles — contava-se como evitável 21% de dano que nenhuma postura evita.

O que muda naquilo que vês

  • O dano recebido baixa nos combates que tivessem dano periódico ou escudo de dano. É o valor que estava inflacionado.
  • O painel de conselho tem uma linha nova: quanto do dano que te entrou não era travado por nenhuma postura. É o tecto de tudo o que a tabela de baixo promete, por isso agora está à vista.
  • O veredicto deixa de fingir que levaste uma só postura. Se mudaste de postura durante o combate, o que evitaste é calculado troço a troço. Antes pegava-se na que durou mais tempo e creditava-se-lhe o dano inteiro — e num combate em que andas a alternar, isso chega a inverter o conselho: podia recomendar-te mudar para uma postura que teria evitado *menos* do que aquilo que fizeste.
  • O aviso de «Postura errada em alguns tramos» da análise desloca-se. As fases são cortadas quando muda a composição do dano que entra, e o dano periódico contava como mágico: um combate corpo a corpo com um veneno em cima era cortado como se o chefe tivesse passado a queimar-te.

O teu histórico vai ficar misturado, e está correcto

Nem tudo se pode corrigir ao ler. O que se pode: o valor observado está guardado ao lado do reconstruído, por isso desfazer a reconstrução indevida é uma cópia exacta e faz-se sozinha.

O que não se pode: a repartição do dano pela postura de cada golpe não está no disco. Isso tem de sair de reler o registo inteiro, e hoje não se pode pedir com garantias (ver mais abaixo).

Consequência prática: nos teus combates antigos vais ver «combate guardado antes de o dano ser separado por postura», e nos novos não. Isso está correcto e não é uma falha: é o programa a dizer-te que aquele veredicto concreto está calculado contra uma só postura, porque é o único que se consegue fazer com o que está guardado. Cada combate leva agora um número que diz com que regras estão calculados os seus valores.

Reconstruir avisa agora por si próprio

Se usares store:rebuild, ou o botão de reconstruir, vais ver um aviso novo: reconstruir não reproduz exactamente o teu histórico.

O fecho de um combate é decidido com o relógio do sistema enquanto o programa está a correr, e com a marca temporal do registo quando se reconstrói. Onde o intervalo entre dois combates for de exactamente 20 segundos, cada caminho decide de maneira diferente. Medido em 441 combates reais: um funde-se com o seguinte, e os valores dos dois mudam com ele.

O estado anterior continua a ser posto de parte com data e pode recuperar-se. Mas mais vale sabê-lo antes de carregar do que depois. É uma falha conhecida e está por corrigir; até lá, esta versão não te pede para reconstruir.

E uma coisa de canalização que se notava

Até agora um único número respondia a duas perguntas: «mudou aquilo que se guarda?» e «é preciso reler o registo?». Durante treze versões seguidas as duas respostas foram a mesma, por isso ninguém reparou que eram duas perguntas. Esta é a primeira versão em que divergem.

Estão separadas. A consequência é que o teste que impede publicar uma mudança de formato sem a numerar já não tem excepções: antes, dizer «o formato mudou mas não reconstruas» obrigava a silenciá-lo.

As notas da versão, dentro da aplicação

O aviso de actualização já trazia este texto desde a 1.10.0 e não o mostrava em lado nenhum. Agora mostra-o, dobrado, antes de decidires instalar. Quem actualiza a partir de dentro não devia ter de ir ao site ler o que vai mudar.

Voltar atrás não custa nada, e não é um procedimento de emergência

A correcção vive no código que lê, não no ficheiro: o teu fights.ndjson conserva intactos os números de antes. Se instalares a 1.10.0 por cima, os combates anteriores à actualização voltam a mostrar exactamente o que mostravam, sem recuperar cópias nem desfazer nada.

E os que gravares com esta versão também não ficam para trás. Medido sobre 440 combates escritos pela 1.11.0 e lidos pela 1.10.0: nem um erro, nem um combate que perca o seu conselho, nem um ponto de dano perdido. O dano recebido sai idêntico —3.374.795 nos dois— e a análise por fases dá exactamente o mesmo: 1.820 fases e 183 avisos de postura nos dois, zero combates com diferenças.

A única coisa que a versão antiga não sabe fazer é separar o terceiro balde: mete o dano periódico e o escudo dentro de «mágico», porque só tem dois. O dano está todo lá, contado numa gaveta a menos. A consequência é que volta a contar esse dano como evitável ao pontuar posturas, que é o seu modelo de sempre.

A única coisa que faz ao abrir é refazer a sua própria enciclopédia, o que demora menos de um segundo e é o seu comportamento normal.

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

8 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em Español, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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 de agosto de 2026

Esta nota não está traduzida para português: mostra-se em English, tal como foi publicada.

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

Todas as versões no GitHub