mirror of
https://github.com/QbiXibQ/FBHealBox.git
synced 2026-10-07 22:50:01 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fac63b2d19 | ||
|
|
b6db62d7dc | ||
|
|
934e0047b0 | ||
|
|
d0a3bbfa9b | ||
|
|
86cfea6b76 |
@@ -1,5 +1,69 @@
|
||||
# Changelog
|
||||
|
||||
## 1.4.6 (2026-10-06)
|
||||
|
||||
Performance pass over the display loop, with no change in behaviour: only the units that actually changed are redrawn, and two loops that ran empty five times a second now stop early.
|
||||
|
||||
### English
|
||||
|
||||
**Performance**
|
||||
|
||||
- **Only the units that changed are redrawn.** The 0.2 second pass used to set a single dirty flag: if any heal over time ticked anywhere, everything was redrawn, which in a full raid meant forty cells plus ten plates although exactly one unit had changed. The pass now collects the affected unit names in a reused table and hands them to `FBHealBox_RefreshUnitsByName`, and the raid module picks up the same list through the new `RefreshNames` hook. With several HoTs running this turns three to five full sweeps a second into at most one plus a handful of single-unit updates.
|
||||
- **A full sweep stays as a safety net.** At most once a second, and only while something is actually changing, the old full refresh still runs, so a name that does not match a plate for any reason can never leave a stale bar behind for longer than that.
|
||||
- **Empty leftovers are cleared.** When the last heal over time or the last foreign heal on a unit expires, the now-empty sub-table is removed instead of being left behind. Several places read `FBHoTs[name]` as "is anything running on this unit", and an empty table answered yes.
|
||||
- **Raid spell timers skip cells with nothing to show.** The intent to skip was already in the code but the result was thrown away two lines later, so the button loop ran anyway: in a full raid that was 160 do-nothing calls five times a second. The cell is now skipped outright, exactly as the plates already did.
|
||||
- **Spell timers get an early out.** When no heal over time and no shield of yours is running anywhere, the plate loop no longer asks every slot for its unit and name five times a second; it only looks where a timer still has to be cleared. Classes without HoTs and the time between fights benefit.
|
||||
|
||||
**Checked and left alone**
|
||||
|
||||
- The three `OnUpdate` loops do no unnecessary work. The prediction checks three dirty flags and two counters per frame, the mana ticker leaves at its gate (a full mana bar means no pass at all), and the raid ghost ticker is hidden outside test mode. Event handling filters unit events through a lookup table rather than walking every frame.
|
||||
- The global cooldown has been drawn as a sweep since 1.4.5.1, which means every visible button gets a fresh sweep after every cast. That is the intended behaviour and the animation runs in the client, not in Lua, so it stays. Should it ever feel heavy in a dense raid, `FBCD_SHOW_MIN` set to 2 limits the sweep to real cooldowns again.
|
||||
|
||||
### Deutsch
|
||||
|
||||
**Leistung**
|
||||
|
||||
- **Nur noch die Einheiten neu zeichnen, bei denen sich etwas geaendert hat.** Der 0,2-Sekunden-Takt setzte bisher ein einziges Dirty-Flag: Lief irgendwo ein HoT-Tick ab, wurde alles neu gezeichnet, im Vierzigerraid also vierzig Zellen und zehn Plaketten, obwohl sich bei genau einer Einheit etwas geaendert hatte. Der Takt sammelt die betroffenen Namen jetzt in einer wiederverwendeten Tabelle und reicht sie an `FBHealBox_RefreshUnitsByName`; das Raidmodul bekommt dieselbe Liste ueber den neuen Hook `RefreshNames`. Mit mehreren laufenden HoTs werden aus drei bis fuenf vollen Durchlaeufen je Sekunde hoechstens einer plus eine Handvoll Einzel-Updates.
|
||||
- **Der volle Durchlauf bleibt als Sicherheitsnetz.** Hoechstens einmal je Sekunde, und nur solange sich ueberhaupt etwas aendert, laeuft er weiterhin. Ein Name, der aus irgendeinem Grund zu keiner Plakette passt, kann so nie laenger als eine Sekunde einen alten Balken stehen lassen.
|
||||
- **Leere Reste werden weggeraeumt.** Laeuft der letzte HoT oder die letzte fremde Heilung auf einer Einheit ab, verschwindet die nun leere Untertabelle, statt liegen zu bleiben. Mehrere Stellen lesen `FBHoTs[name]` als "laeuft da ueberhaupt etwas", und eine leere Tabelle hat darauf mit ja geantwortet.
|
||||
- **Raid-Zaubertimer ueberspringen Zellen ohne Anzeige.** Die Absicht zu ueberspringen stand schon im Code, das Ergebnis wurde aber zwei Zeilen spaeter wieder verworfen, sodass die Buttonschleife trotzdem lief: im Vierzigerraid 160 Leeraufrufe fuenfmal je Sekunde. Die Zelle wird jetzt wirklich uebersprungen, genau wie es die Plaketten laengst machen.
|
||||
- **Zaubertimer steigen frueher aus.** Laeuft nirgends ein eigener HoT und kein eigener Schild, fragt die Plakettenschleife nicht mehr fuenfmal je Sekunde jeden Slot nach Einheit und Namen, sondern schaut nur noch dort hinein, wo ein Timer wegzuraeumen ist. Davon profitieren Klassen ohne HoTs und die Zeit zwischen den Kaempfen.
|
||||
|
||||
**Geprueft und so gelassen**
|
||||
|
||||
- Die drei `OnUpdate`-Schleifen arbeiten nicht unnoetig. Die Vorhersage prueft je Frame drei Dirty-Flags und zwei Zaehler, der Mana-Ticker steigt am Torwaechter aus (voller Manabalken heisst gar kein Durchlauf), und der Geister-Ticker im Raid ist ausserhalb des Testmodus versteckt. Die Ereignisverarbeitung filtert Unit-Events ueber eine Nachschlagetabelle, statt je Frame zu suchen.
|
||||
- Der globale Cooldown laeuft seit 1.4.5.1 als Uhr mit, das heisst nach jedem Zauber bekommt jeder sichtbare Button eine neue Uhr gesetzt. Das ist das gewollte Verhalten, und die Animation laeuft im Client, nicht in Lua, deshalb bleibt es so. Sollte es im dichten Raid doch schwer wirken, beschraenkt `FBCD_SHOW_MIN` auf 2 die Uhr wieder auf echte Abklingzeiten.
|
||||
|
||||
|
||||
## 1.4.5.3 (2026-10-05)
|
||||
|
||||
A readability option suggested by a user: the area behind the bars can be given a solid background, so the game world no longer shows through where health is missing.
|
||||
|
||||
### English
|
||||
|
||||
**New**
|
||||
|
||||
- **Bar background.** New slider *Bar background* on the *General* tab, 0 to 100 per cent in steps of 5. At 0, which is the default, nothing changes: the plate stays see-through and grass, sky or stone show through the empty part of the health bar. Turned up, a quiet dark grey surface sits behind the bars, so the green of the health bar stands on a fixed background. At 100 the plate is opaque. The shade is `FBBAR_BG_COLOR` (0.15 grey) and the setting is kept per character in `HealBox.BarBG`.
|
||||
- **Where it sits.** The texture hangs on the lowest of the four stacked bars, the incoming-heal bar, on the `BACKGROUND` layer. That puts it under the prediction, the shield, the health and the mana bar, and it is shown and hidden together with them, so nothing is left behind on a plate that is currently empty or hidden by the attach mode. At 0 per cent no texture is set at all, rather than a fully transparent one.
|
||||
- **Raid cells need nothing.** They already have their own backdrop at 80 per cent black, so there is no world shining through there; the slider deliberately only touches the plates.
|
||||
|
||||
**Thanks**
|
||||
|
||||
- The idea and a working patch came from a user who finds the translucent bar hard to read. The patch used `WHITE8X8` plus `SetVertexColor`; the version shipped here uses `SetTexture(r, g, b, a)`, which creates a solid colour directly in 1.12 and is what the mana strip already does. Same result, no texture file involved.
|
||||
|
||||
### Deutsch
|
||||
|
||||
**Neu**
|
||||
|
||||
- **Balkenhintergrund.** Neuer Regler *Balkenhintergrund* im Reiter *Allgemein*, 0 bis 100 Prozent in Fuenferschritten. Bei 0, dem Standard, aendert sich nichts: Die Plakette bleibt durchscheinend, durch den leeren Teil des Lebensbalkens sieht man Gras, Himmel oder Stein. Hochgedreht liegt eine ruhige dunkelgraue Flaeche hinter den Balken, das Gruen des Lebensbalkens steht dann auf festem Grund. Bei 100 ist die Plakette undurchsichtig. Der Grundton ist `FBBAR_BG_COLOR` (0,15 Grau), die Einstellung bleibt je Charakter in `HealBox.BarBG` gespeichert.
|
||||
- **Wo die Flaeche haengt.** Die Textur sitzt auf der untersten der vier gestapelten Balken, der Heilvorhersage, auf der Ebene `BACKGROUND`. Damit liegt sie unter Vorhersage, Schild, Leben und Mana, und sie wird zusammen mit ihnen ein- und ausgeblendet; auf einer leeren oder im Anheftmodus versteckten Plakette bleibt also nichts stehen. Bei 0 Prozent wird gar keine Textur gesetzt statt einer voellig durchsichtigen.
|
||||
- **Raidzellen brauchen nichts.** Sie haben bereits ihren eigenen Hintergrund mit 80 Prozent Schwarz, dort scheint keine Welt durch; der Regler fasst bewusst nur die Plaketten an.
|
||||
|
||||
**Dank**
|
||||
|
||||
- Idee und ein lauffaehiger Patch kamen von einem Nutzer, dem der durchscheinende Balken schlecht lesbar ist. Der Patch benutzte `WHITE8X8` mit `SetVertexColor`; hier ausgeliefert wird `SetTexture(r, g, b, a)`, das in 1.12 direkt eine Vollfarbe erzeugt und genau das ist, was der Manastreifen ohnehin schon macht. Gleiches Ergebnis, ohne Texturdatei.
|
||||
|
||||
|
||||
## 1.4.5.2 (2026-09-12)
|
||||
|
||||
One fix: a running HoT no longer pulls Smart Healing down a rank.
|
||||
|
||||
+529
-115
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -1,9 +1,9 @@
|
||||
## Interface: 11200
|
||||
## Title: Heal Box Vanilla |cFFFFFF00v1.4.5.2|r
|
||||
## Title: Heal Box Vanilla |cFFFFFF00v1.4.6.1|r
|
||||
## Notes: Heal/raid frame addon like Healium, with quick-cast buttons, heal prediction, mana ticker and more.
|
||||
## Notes-deDE: Heal/Raidframe Addon aehnlich Healium, mit Schnellzugriff Buttons, Heal Prediction und Mana Ticker und mehr.
|
||||
## Author: Dourd (Argent Dawn EU) | Vanilla-Port & Erweiterung 09/2026: Mquadrat
|
||||
## Version: 1.4.5.2
|
||||
## Version: 1.4.6.1
|
||||
## SavedVariablesPerCharacter: HealBox
|
||||
## OptionalDeps: SuperWoW
|
||||
|
||||
|
||||
+51
-16
@@ -290,6 +290,7 @@ FBRaidTestMode = 0; -- 0 | 20 | 40
|
||||
FBRaidTestGhosts = {}; -- [i] = Geist-Datensatz (Testmodus)
|
||||
FBRaidTickAccum = 0;
|
||||
FBRaidDragging = false;
|
||||
FBRaidAppliedScale = nil; -- zuletzt gesetzte Skalierung (FBRaid_LayoutAll)
|
||||
|
||||
function FBRaid_Cfg()
|
||||
if (not HealBox.Raid) then FBRaid_ApplyDefaults(); end
|
||||
@@ -664,7 +665,12 @@ function FBRaid_CreateCell(g, pos)
|
||||
if (FBDragSpell) then
|
||||
local side = "L";
|
||||
if (arg1 == "RightButton" or IsShiftKeyDown()) then side = "R"; end
|
||||
if (FBHealBox_DropSpell(i, side)) then return; end
|
||||
-- Nicht die Schleifenvariable i verwenden: Lua 5.0 (Client
|
||||
-- 1.12) teilt sie zwischen allen hier erzeugten Closures, alle
|
||||
-- vier Buttons saehen ihren Endwert und legten den Zauber
|
||||
-- auf Button 4. b ist dagegen je Durchlauf eine neue lokale
|
||||
-- Variable.
|
||||
if (FBHealBox_DropSpell(b.btnIndex, side)) then return; end
|
||||
end
|
||||
if (FBRaidTestMode > 0) then
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cFFFFFF00"..FBADDON_NAME..":|r "..FBT("RAID_TEST_CLICK"));
|
||||
@@ -827,7 +833,16 @@ function FBRaid_LayoutAll()
|
||||
local titleH = 0;
|
||||
if (cfg.ShowTitle == 1) then titleH = FBRAID_TITLE_H + 2; FBRaidFrame.Title:Show(); else FBRaidFrame.Title:Hide(); end
|
||||
|
||||
FBRaidFrame:SetScale(cfg.Scale or 1);
|
||||
-- SetScale wertet die Ankerversaetze im neuen Massstab aus. Ohne erneutes
|
||||
-- Verankern wanderte das Raster beim Ziehen am Regler und sprang erst
|
||||
-- beim naechsten Rosterwechsel zurueck. Nur bei echter Aenderung, und
|
||||
-- nie waehrend das Raster gerade gezogen wird.
|
||||
local scale = cfg.Scale or 1;
|
||||
if (FBRaidAppliedScale ~= scale) then
|
||||
FBRaidAppliedScale = scale;
|
||||
FBRaidFrame:SetScale(scale);
|
||||
if (not FBRaidDragging) then FBRaid_RestorePosition(); end
|
||||
end
|
||||
|
||||
local perRow = cfg.GroupsPerRow;
|
||||
if (perRow < 1) then perRow = 1; end
|
||||
@@ -1093,21 +1108,25 @@ function FBRaid_UpdateSpellTimers(now)
|
||||
for pos = 1, FBRAID_PER_GROUP do
|
||||
local c = FBRaidCells[g][pos];
|
||||
if (c) then
|
||||
-- ohne verfolgten HoT/Schild auf der Einheit nur einmal ausblenden
|
||||
local shown = on and c.unit and c:IsShown() and (c.ghost or FBHoTs[c.name] or FBShields[c.name]);
|
||||
if (not shown and not c.timersShown) then shown = nil; end
|
||||
c.timersShown = shown and true or false;
|
||||
if (shown == nil) then shown = false; end
|
||||
for i = 1, FBRAID_MAX_BUTTONS do
|
||||
local b = c.buttons[i];
|
||||
if (shown and b:IsShown()) then
|
||||
local text, color = FBHealBox_SpellTimerFor(b.spellBase, c.name, now, c.ghost, i);
|
||||
if (not text and b.spellBaseR) then
|
||||
text, color = FBHealBox_SpellTimerFor(b.spellBaseR, c.name, now, nil, i);
|
||||
local shown = on and c.unit and c:IsShown() and (c.ghost or FBHoTs[c.name] or FBShields[c.name]
|
||||
or (FBWeakenedSoul and FBWeakenedSoul[c.name]));
|
||||
-- Nichts anzuzeigen und nichts mehr wegzuraeumen: Zelle
|
||||
-- ueberspringen. Vorher lief die Buttonschleife auch dann
|
||||
-- durch, im Vierzigerraid 160 Leeraufrufe fuenfmal je
|
||||
-- Sekunde. Der Kern macht es bei den Plaketten genauso.
|
||||
if (shown or c.timersShown) then
|
||||
c.timersShown = (shown and true) or false;
|
||||
for i = 1, FBRAID_MAX_BUTTONS do
|
||||
local b = c.buttons[i];
|
||||
if (shown and b:IsShown()) then
|
||||
local text, color = FBHealBox_SpellTimerFor(b.spellBase, c.name, now, c.ghost, i);
|
||||
if (not text and b.spellBaseR) then
|
||||
text, color = FBHealBox_SpellTimerFor(b.spellBaseR, c.name, now, nil, i);
|
||||
end
|
||||
FBHealBox_SetButtonTimer(b, text, color);
|
||||
else
|
||||
FBHealBox_SetButtonTimer(b, nil);
|
||||
end
|
||||
FBHealBox_SetButtonTimer(b, text, color);
|
||||
else
|
||||
FBHealBox_SetButtonTimer(b, nil);
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1583,6 +1602,22 @@ FBHealBox_RegisterHook("ActiveToggle", function()
|
||||
FBRaid_UpdateVisibility();
|
||||
return true;
|
||||
end);
|
||||
-- Nur die Zellen anfassen, deren Einheit sich geaendert hat. Der Kern
|
||||
-- schickt die Namensliste mit; eine Zelle, die nicht drinsteht, kostet
|
||||
-- einen Tabellenzugriff statt einer vollen Aktualisierung.
|
||||
FBHealBox_RegisterHook("RefreshNames", function(names)
|
||||
if (not FBRaid_IsActive()) or (not names) then return true; end
|
||||
for g = 1, FBRAID_GROUPS do
|
||||
if (FBRaidCells[g]) then
|
||||
for pos = 1, FBRAID_PER_GROUP do
|
||||
local c = FBRaidCells[g][pos];
|
||||
if (c and c.unit and c.name and names[c.name]) then FBRaid_UpdateCell(c); end
|
||||
end
|
||||
end
|
||||
end
|
||||
return true;
|
||||
end);
|
||||
|
||||
FBHealBox_RegisterHook("RefreshAllBars", function()
|
||||
FBRaid_RefreshAll();
|
||||
return true;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Heal Box Vanilla
|
||||
|
||||
ADDON DOCUMENTATION · VERSION 1.4.5.2 · World of Warcraft CLIENT 1.12.1
|
||||
ADDON DOCUMENTATION · VERSION 1.4.6 · World of Warcraft CLIENT 1.12.1
|
||||
|
||||
Party, pet and self heal display with quick-cast buttons for healers. One name plate with a health bar per group slot, plus one for every pet in the group directly below its owner, and next to it up to ten freely assignable spell buttons. A thin mana bar sits inside the health bar for everyone who actually uses mana. On top of that a complete heal prediction (direct heals, remaining HoT ticks and absorb shields) that corrects itself from the combat log and shares its numbers with other healers in the HealComm format. The interface is available in **English and German**, switchable in the options window.
|
||||
|
||||
@@ -287,6 +287,8 @@ The window has two tabs.
|
||||
|
||||
**Default party frames**: instead of the addon's own plates, the buttons attach to Blizzard's default party frames (`PartyMemberFrameN`); pet buttons attach to `PetFrame` and `PartyMemberFrameNPetFrame`. The addon's name plates and bars are hidden; the heal prediction keeps working invisibly.
|
||||
|
||||
**Bar background**: how solid the area behind the bars is, 0 to 100 per cent in steps of 5. Default 0, which is the old look: where health is missing, the game world shows through the plate. Turn it up and a quiet dark grey surface (`FBBAR_BG_COLOR`) sits behind the bars, so the green of the health bar stands on a fixed background instead of on grass, sky or stone. At 100 the plate is opaque. Suggested by a user who found the see-through bar hard to read, and it is worth a try for anyone playing on a bright screen or in a cluttered zone.
|
||||
|
||||
**Mana bar**: shows or hides the mana strip inside the health bar. On by default.
|
||||
|
||||
**Hide Blizzard party frames**: hides `PartyMemberFrame1` to `4` while you are in a group, so only the Heal Box plates remain. Off by default. This and *Default party frames* can never both be on, because the attach mode docks the plates onto exactly those frames; whichever one is ticked greys the other out. Switching it off brings the frames back immediately, and a class the addon does not load for gets them back too.
|
||||
@@ -471,6 +473,7 @@ Everything lives in the `HealBox` table, saved **per character**:
|
||||
|`ButtonSpacing`|Gap between the buttons in px (0 to 20)|
|
||||
|`RowSpacing`|Gap between the plates in px (0 to 20)|
|
||||
|`ManaBar`|1 = mana strip on, 0 = off|
|
||||
|`BarBG`|Opacity of the bar background in per cent, 0 to 100. 0 (default) keeps the see-through look|
|
||||
|`ShowPets`|1 = pet plates on, 0 = off|
|
||||
|`SpellChoiceR[1..10]`|Cast string per button for right click|
|
||||
|`RightClick`|1 = right-click spell on, 0 = off (default)|
|
||||
@@ -508,6 +511,7 @@ Every knob is a global at the top of its own section and can be changed without
|
||||
|`FBMANA_BAR_HEIGHT`|5|Height of the mana strip in px|
|
||||
|`FBMANA_BAR_COLOR`|`{0.15, 0.4, 1, 1}`|Colour of the mana strip|
|
||||
|`FBMANA_BG_ALPHA`|0.35|Dark strip behind missing mana (0 = off)|
|
||||
|`FBBAR_BG_COLOR`|0.15 · 0.15 · 0.15|Shade of the bar background; how solid it sits is the `BarBG` option|
|
||||
|`FBPET_NAME_COLOR`|`{0.75, 0.85, 1, 1}`|Name colour on pet plates|
|
||||
|`FBPET_INDENT`|12|Indent (and width reduction) of pet plates|
|
||||
|`FBPET_ICON` · `FBPET_ICON_SIZE`|footprint · 12|Paw icon in front of pet names|
|
||||
@@ -579,6 +583,8 @@ Every knob is a global at the top of its own section and can be changed without
|
||||
|`FBHealBox_SpellCastSeconds(id)`|Cast time from the tooltip (0 = instant), cached per spellbook slot|
|
||||
|`FBHealBox_ApplyBlizzParty()` · `FBHealBox_HideBlizzPartyActive()`|Hides or restores Blizzard's party frames, including the lock against the attach mode|
|
||||
|`FBHealBox_SetPowerColor(bar, cache, ptype)`|Colours a resource bar for mana, rage, focus or energy|
|
||||
|`FBHealBox_ApplyBarBG(f)` · `FBHealBox_ApplyBarBGAll()`|Sets the background behind a plate's bars from the `BarBG` option|
|
||||
|`FBHealBox_RefreshUnitsByName(names)`|Redraws only the plates whose unit is in the name set; the raid module gets the same set through the `RefreshNames` hook|
|
||||
|`FBPredict_ScanPlayerBuffTimes()`|Reads all of your own buff timers once per frame into a texture-to-seconds map|
|
||||
|`FBHealBox_ApiFailed()`|Puts range, distance and line of sight back to the protected single call after a sweep threw|
|
||||
|`FBHealBox_UpperTex(tex)`|Upper-cased texture path, remembered, so `strupper` does not allocate per call|
|
||||
@@ -739,6 +745,8 @@ Entries that do not exist do no harm: if the spellbook scan does not find them,
|
||||
* heal prediction for direct heals, remaining HoT ticks and absorb shields, self-correcting from the combat log
|
||||
* HealComm sync with Puppeteer, pfUI, Luna and others, without any Ace libraries
|
||||
* English, German, Spanish, French and Italian localization, switchable in game
|
||||
* 1.4.6: performance pass without functional change (only changed units are redrawn via the `RefreshNames` hook, raid spell timers skip idle cells, spell timers leave early when nothing is running); see CHANGELOG
|
||||
* 1.4.5.3: adjustable background behind the plate bars, so the game world no longer shows through where health is missing; see CHANGELOG
|
||||
* 1.4.5.2: a running HoT no longer counts as incoming healing when Smart Healing picks a rank; see CHANGELOG
|
||||
* 1.4.5.1: mana ticker spark no longer stutters (movement threshold and redraw step), and the global cooldown no longer darkens every button but is shown as a sweep instead (own threshold `FBCD_SHOW_MIN`); see CHANGELOG
|
||||
* 1.4.5: Blizzard's party frames can be hidden (mutually exclusive with the attach mode), rage, energy and focus in the resource bar, and the equipment healing bonus via ClassicAPI in the prediction, plus a performance pass without functional change (player buffs read once per frame, staggered raid range and line-of-sight sweeps, fewer protected calls, no throwaway strings in the raid health text); see CHANGELOG
|
||||
@@ -752,14 +760,14 @@ Entries that do not exist do no harm: if the spellbook scan does not find them,
|
||||
|
||||
---
|
||||
|
||||
Heal Box Vanilla v1.4.5.2 · original by Dourd, UI Overhauled · ported to Vanilla and extended 09/2026 by Mquadrat
|
||||
Heal Box Vanilla v1.4.6 · original by Dourd, UI Overhauled · ported to Vanilla and extended 09/2026 by Mquadrat
|
||||
|
||||
_______________________________________________________________________
|
||||
GERMAN
|
||||
|
||||
# Heal Box Vanilla
|
||||
|
||||
ADDON DOKUMENTATION · VERSION 1.4.5.2 · World of Warcraft CLIENT 1.12.1
|
||||
ADDON DOKUMENTATION · VERSION 1.4.6 · World of Warcraft CLIENT 1.12.1
|
||||
|
||||
Party-, Begleiter- und Selbst-Heilanzeige mit Schnellzugriff-Buttons für Heiler. Für jeden Gruppenplatz eine Namensplakette mit Lebensbalken, dazu eine für jeden Begleiter in der Gruppe direkt unter seinem Besitzer, daneben bis zu zehn frei belegbare Zauber-Buttons. Ein schmaler Manabalken liegt im Lebensbalken, bei allen, die tatsächlich Mana nutzen. Dazu eine vollständige Heilvorhersage (Direktheilung, HoT-Restticks und Absorb-Schilde), die sich über den Combatlog selbst korrigiert und ihre Werte im HealComm-Format mit anderen Heilern teilt. Die Oberfläche gibt es auf **Deutsch und Englisch**, umschaltbar im Optionsfenster.
|
||||
|
||||
@@ -1038,6 +1046,8 @@ Das Fenster hat zwei Reiter.
|
||||
|
||||
**Standard-Gruppenfenster**: statt eigener Plaketten hängen die Buttons an Blizzards Standard-Gruppenfenstern (`PartyMemberFrameN`); die Pet-Buttons an `PetFrame` bzw. `PartyMemberFrameNPetFrame`. Die eigenen Namensplaketten und Balken werden dabei ausgeblendet; die Heilvorhersage arbeitet unsichtbar weiter.
|
||||
|
||||
**Balkenhintergrund**: wie deckend die Fläche hinter den Balken liegt, 0 bis 100 Prozent in Fünferschritten. Standard 0, also das bisherige Bild: Wo Leben fehlt, scheint die Spielwelt durch die Plakette. Hochgedreht liegt eine ruhige dunkelgraue Fläche hinter den Balken (`FBBAR_BG_COLOR`), das Grün des Lebensbalkens steht dann auf festem Grund statt auf Gras, Himmel oder Stein. Bei 100 ist die Plakette undurchsichtig. Angeregt von einem Nutzer, dem der durchscheinende Balken schlecht lesbar war, und einen Versuch wert für alle mit hellem Bildschirm oder unruhiger Umgebung.
|
||||
|
||||
**Manabalken**: Manastreifen im Lebensbalken an/aus. Standardmäßig an.
|
||||
|
||||
**Blizzard-Gruppenfenster aus**: versteckt `PartyMemberFrame1` bis `4`, solange du in einer Gruppe bist, sodass nur die Plaketten der Heal Box übrig bleiben. Standardmäßig aus. Diese Option und *Standard-Gruppenfenster* können nie beide an sein, weil der Anheftmodus die Plaketten genau an diese Frames hängt; was angehakt ist, graut das andere aus. Ausschalten holt die Frames sofort zurück, und eine Klasse, für die das Addon nicht lädt, bekommt sie ebenfalls zurück.
|
||||
@@ -1220,6 +1230,7 @@ Alles liegt in der Tabelle `HealBox`, gespeichert **pro Charakter**:
|
||||
|`ButtonSpacing`|Abstand der Buttons in px (0 bis 20)|
|
||||
|`RowSpacing`|Abstand der Plaketten in px (0 bis 20)|
|
||||
|`ManaBar`|1 = Manastreifen an, 0 = aus|
|
||||
|`BarBG`|Deckkraft des Balkenhintergrunds in Prozent, 0 bis 100. 0 (Standard) behält das durchscheinende Bild|
|
||||
|`ShowPets`|1 = Pet-Plaketten an, 0 = aus|
|
||||
|`SpellChoiceR[1..10]`|Cast-String je Button für Rechtsklick|
|
||||
|`RightClick`|1 = Rechtsklick-Zauber an, 0 = aus (Standard)|
|
||||
@@ -1255,6 +1266,7 @@ Alle Stellschrauben stehen als Globals oben in ihrem jeweiligen Abschnitt und la
|
||||
|`FBMANA_BAR_HEIGHT`|5|Höhe des Manastreifens in px|
|
||||
|`FBMANA_BAR_COLOR`|`{0.15, 0.4, 1, 1}`|Farbe des Manastreifens|
|
||||
|`FBMANA_BG_ALPHA`|0.35|Dunkler Streifen hinter fehlendem Mana (0 = aus)|
|
||||
|`FBBAR_BG_COLOR`|0.15 · 0.15 · 0.15|Grundton des Balkenhintergrunds; wie deckend er liegt, regelt die Option `BarBG`|
|
||||
|`FBPET_NAME_COLOR`|`{0.75, 0.85, 1, 1}`|Namensfarbe auf Pet-Plaketten|
|
||||
|`FBPET_INDENT`|12|Einrückung (und Verschmälerung) der Pet-Plaketten|
|
||||
|`FBPET_ICON` · `FBPET_ICON_SIZE`|Fußabdruck · 12|Pfoten-Icon vor Pet-Namen|
|
||||
@@ -1325,6 +1337,8 @@ Alle Stellschrauben stehen als Globals oben in ihrem jeweiligen Abschnitt und la
|
||||
|`FBHealBox_SpellCastSeconds(id)`|Zauberzeit aus dem Tooltip (0 = Instant), je Zauberbuchplatz gemerkt|
|
||||
|`FBHealBox_ApplyBlizzParty()` · `FBHealBox_HideBlizzPartyActive()`|Versteckt Blizzards Gruppenfenster oder gibt sie zurück, samt Sperre gegen den Anheftmodus|
|
||||
|`FBHealBox_SetPowerColor(bar, cache, ptype)`|Färbt einen Ressourcenbalken für Mana, Wut, Fokus oder Energie|
|
||||
|`FBHealBox_ApplyBarBG(f)` · `FBHealBox_ApplyBarBGAll()`|Setzt den Hintergrund hinter den Balken einer Plakette nach der Option `BarBG`|
|
||||
|`FBHealBox_RefreshUnitsByName(names)`|Zeichnet nur die Plaketten neu, deren Einheit in der Namensliste steht; das Raidmodul bekommt dieselbe Liste über den Hook `RefreshNames`|
|
||||
|`FBPredict_ScanPlayerBuffTimes()`|Liest alle eigenen Bufflaufzeiten einmal je Frame in eine Tabelle Textur nach Sekunden|
|
||||
|`FBHealBox_ApiFailed()`|Stellt Reichweite, Abstand und Sichtlinie auf den geschützten Einzelaufruf zurück, wenn ein Durchlauf geworfen hat|
|
||||
|`FBHealBox_UpperTex(tex)`|Groß geschriebener Texturpfad, gemerkt, damit `strupper` nicht je Aufruf zuteilt|
|
||||
@@ -1474,6 +1488,8 @@ Nicht vorhandene Einträge stören nicht: Findet der Zauberbuch-Scan sie nicht,
|
||||
* Heilvorhersage für Direktheilung, HoT-Restticks und Absorb-Schilde, selbstkorrigierend über den Combatlog
|
||||
* HealComm-Sync mit Puppeteer, pfUI, Luna und Co., ohne Ace-Bibliotheken
|
||||
* Lokalisierung Deutsch, Englisch, Spanisch, Französisch und Italienisch, im laufenden Spiel umschaltbar
|
||||
* 1.4.6: Leistungsdurchgang ohne Funktionsänderung (nur geänderte Einheiten werden neu gezeichnet, über den Hook `RefreshNames`, Raid-Zaubertimer überspringen stille Zellen, Zaubertimer steigen früher aus); siehe CHANGELOG
|
||||
* 1.4.5.3: Einstellbarer Hintergrund hinter den Balken der Plaketten, damit die Spielwelt nicht mehr durch fehlendes Leben scheint; siehe CHANGELOG
|
||||
* 1.4.5.2: Ein laufender HoT zählt bei der Rangwahl von Smart Healing nicht mehr als anfliegende Heilung; siehe CHANGELOG
|
||||
* 1.4.5.1: Ruckeln des Manafunkens behoben (Bewegungsschwelle und Zeichentakt), der globale Cooldown dunkelt nicht mehr alle Buttons ab und läuft stattdessen als Uhr mit (eigene Schwelle `FBCD_SHOW_MIN`); siehe CHANGELOG
|
||||
* 1.4.5: Blizzards Gruppenfenster ausblendbar (schließt sich mit dem Anheftmodus gegenseitig aus), Wut, Energie und Fokus im Ressourcenbalken, Heilbonus der Ausrüstung über ClassicAPI in der Vorhersage, dazu ein Leistungsdurchgang ohne Funktionsänderung (Spielerbuffs einmal je Frame, gestaffelte Reichweiten- und Sichtlinienprüfung im Raid, weniger geschützte Aufrufe, keine Wegwerf-Strings im Raid-HP-Text); siehe CHANGELOG
|
||||
@@ -1487,7 +1503,7 @@ Nicht vorhandene Einträge stören nicht: Findet der Zauberbuch-Scan sie nicht,
|
||||
|
||||
---
|
||||
|
||||
Heal Box Vanilla v1.4.5.2 · Original von Dourd, UI Overhauled · Vanilla-Portierung und Erweiterung 09/2026 von Mquadrat
|
||||
Heal Box Vanilla v1.4.6 · Original von Dourd, UI Overhauled · Vanilla-Portierung und Erweiterung 09/2026 von Mquadrat
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user