v2.3.0
What's new
Garu Combat Text
v2.3.0 (2026-10-22)
Full Changelog Previous Releases
- Version 2.3.0
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Translate the addon into the ten other client languages
German, French, Spanish (Spain and Latin America), Brazilian Portuguese,
Italian, Russian, Korean, and Chinese (Simplified and Traditional), in
Locales/, listed in the TOC ahead of everything else, with the TOC's title
and notes for each. The English text is the key, so anything a language
lacks shows in English.
262 keys: every settings label, description and choice, the settings and
profile windows, chat output, anchor labels, the combat timer, and the
feeds' own words. Sentences that were glued from fragments are whole
sentences now, joined with a space, so each language keeps its own word
order. Names the client already has in its language come from Blizzard:
schools (STRING_SCHOOL_*), the kinds of avoid (DODGE, PARRY...), Melee,
Mana, environmental damage, and the previews' spells by ID.
Left in English on purpose: /gct probe and the damage-meter dump (tools
for working out a misplaced fight, read back in bug reports) and the
fight recorder's lines. A row's name now stops short of its control,
cut with an ellipsis rather than running under it, and the header and
profile buttons widen to fit their words.
The load test runs in German and Chinese too: the words translated, a
missing key falling back to English, every settings page drawn.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add profile export and import
General > Profile (and /gct export, /gct import) opens a window with every
setting, anchor and position as one string to copy, or a box to paste one
into. The string is "GCT1:" and base64 of the settings in a small format of
our own, read back by a parser that accepts only that, never run as code.
Import checks the tag, the addon and the version, and that the string
decodes. A bad one is refused with the reason and changes nothing. Every
value is checked against the defaults' types (a point or a colour against
its kinds), anything unknown is dropped, anything missing comes from the
defaults, and the whole addon is redrawn at once: feeds, anchors, the timer,
the window. Left out of a profile: the fight recorder's lines, what is on
your weapon, and the settings page last open.
Reset and Import share what a login does to settings read in
(ns.FinishSettings) and one redraw of everything (ns.RefreshAll).
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Place a heal a frame later, once its own cast is known
The heals trace (21 Oct 2026, kept as tests/fights/2026-10-21-druid-heals.txt)
showed a heal that lands as its cast completes is reported before that
cast's UNIT_SPELLCAST_SUCCEEDED, in the same frame. Regrowth's first 174
went to someone else's heal, and Healing Touch's 193 and 197 were taken
for Rejuvenation and Regrowth ticks, pushing the real ticks out. Heals on
you and on others are now placed a frame later. The same trace showed
party members' heals are reported (party1, its plate and target, one
frame), which Healing Done already counts once.
A weak mob's hits of 0 with no flag on you no longer count as your
misses on Actions. The tests' timers now run a 0 delay on the next frame,
as the game does.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Let a horizontal line grow centred, and draw it readably in the preview
Grow gets Centre for a horizontal stack: the line runs out both ways,
centred on the anchor, laid out from its left end and shifted back by
half its width.
The settings preview had shrunk a horizontal line to fit an estimate of
six rows' width, which left it tiny. It now uses the line's real width,
shrinks it at most to three quarters and lets the rows past the box's
edge be cut off, and starts it at the edge it grows from.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add a Healing Done feed; call Damage Taken Damage Received
Healing Done: the healing you cast this fight, on anyone, one row per
spell, held after the fight and cleared when the next starts. Off by
default, with its own page, anchor and effects.- Classic clients: every heal of yours from the combat log, less its
overhealing, as Healing Received counts. - Forever: a heal is reported where it lands, not whose it was. A heal
of yours is taken as cast on your target when that is a living friend,
else on you, and matched to a heal reported on that unit right after
(your target, a friendly plate, party or raid members if the game
reports them, not yet seen) or to a HoT of yours ticking on its beat
there. Heals on you still prefer a cast meant for you. One heal
reported on two units counts once. After the fight every row is set
to Blizzard's damage meter's healing for that spell, read and checked
against the previous fight as the damage is.
A feed switched off no longer shows its anchor marker. Damage Taken is
shown as Damage Received, to match Healing Received.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Classic clients: every heal of yours from the combat log, less its
- Count avoids both ways on Actions, red against you and green for you
The attacks you avoided (your dodges, parries and blocks, and the
attacks that missed you) move from Damage Taken to Actions, beside the
ones your target made against you. Count rows are coloured by side:
red for your attack avoided, green for theirs. Attacks you avoided can
be switched off on Actions' page; counting your target, the combat log
keeps only your target's, while on Forever, which never says who
attacked you, they go on whichever target you have.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Let a stacked feed run horizontally, growing left or right
Layout: Stacked gets a Direction, Vertical (as before) or Horizontal.
Horizontal puts the rows side by side in a line, each as wide as it is
drawn (icon, number, mana, skull), Space between apart, and Grow picks
Left or Right; the rows line up on the edge they grow from. The combat
time header and an attached combat timer sit just above such a feed.
The settings preview fits it too. Copy to with Mirror flips its growth.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Remove Healing's Show option; let splashes go either side of the number
Show (healing, healing and mana, mana only) never showed anything useful
on Forever, so it goes, and a saved choice falls back to the healing.
Splash side (Left or Right) picks which side of its number a hit floats
off, on Healing, Damage Taken and Damage Dealt. The defaults keep where
they went before: right of Damage Dealt, left of the other two. Copy to
with Mirror swaps it, as it does the alignment.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Give the everyday hit pop its own switch, and make crits stand apart
Every hit made its number jump, so turning Crit flourish off changed
little you could see: crits only came one hit in five in the preview,
and their jump was barely bigger. Now Pop on each hit is its own effect
(on every feed, Actions included), and a crit with the flourish jumps
much further (2.4, settling over 0.35 s rather than 0.15) with its gold
and star held a little longer. The preview rolls crits more often.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add effects: rolling totals, hit splashes, crit flourish, kill skull, preview
- Rolling totals: a row's number counts up to its new total instead of
jumping to it (a total that went down shows at once; counts never roll). - Hit splashes: each hit floats off its row as +N and fades, on the side
away from the anchor, in the row's colour. - Crit flourish: a crit pops bigger, flashes gold and a star bursts
behind its icon. - Killing blow mark: a skull on the Damage Dealt row whose attack killed
the enemy, with a count once it has killed more than one. On Forever,
the engine reports the kill half a second after the target clears,
marked on the killing hit when it came on the dying unit's plate, else
on the blow or bolt in that moment; on Classic, PARTY_KILL marks the
last thing of yours on it. Kills are kept per unit, so a corpse
selected again keeps its skull. - Settings: an Effects section on Healing, Damage Taken and Damage Dealt,
and a live preview at the foot of the right column: the page's feed,
drawn with its settings and fitted to the box, fed made-up hits so a
change shows at once, effects included.
The load test's stub now keeps whether textures and text are shown, and
frames' scale and parent.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Rolling totals: a row's number counts up to its new total instead of
This mod has no additional files

