smartBuffBars

smartBuffBars

49.6k Downloads

Description v1.05

Development discontinued!
As you probably noticed, nothing happened here for a while. The addon is still working and in case there are any bugs with future versions of the RoM client, I'll do my very best to fix them. I will try to keep this running for as long as possible, but I won't implement new features.

It started as a little timeout, then I realized that I'm much better off without this unbalanced money draining shadow of what once could have been a good MMO... And Frogwaker not giving a damn about the community let alone the addon writers they could have learned so much from.
So with a little regret about all the cool features for which I didn't have the time to implement, I say farewell and see you where the grass is greener.
If anyone wants to take over, fell free to do so. It's public domain.

Thank you all for you continuous support!


English

(German description see below)

Description

smartBuffBars is like any other buff bar addon. Except that it's better ;-)
Like adBuffBars, BuffBars or Status Bars, it displays buffs and debuffs in a convenient form.
What makes smartBB special, is that it is highly configurable and has some very cool features that are (up to now) completely unique.

If you like it, please vote. If you don't like it, please tell me what's wrong with it so I can make it better ;)

Features

  • Max. 40 buffs + 40 debuffs
  • Configframe with Addonconfig
  • AddonManager integration
  • Frames for player, target, party, targettarget, pet (warden! not general pets)
  • All options can be configured separately for each frame, for target and targettarget some options can be configured separately for friendly targets / enemy targets
  • All frames scaleable, sizeable, moveable, can be activated/deactivated
  • Colorized and optional shrinking or growing or even flashing bars indicating the left time of a buff/debuff
  • Bar color change at configurable percentage, fixed or hybrid values (default: 50% first color change, 20% second color change)
  • Userdefined colors and alpha for background, bars, text, border, anchors
  • Sort ascending/descending/default/reverse default
  • Display buffs/debuffs/both
  • Display border around buffs/debuffs/none
  • Filters based on left time / number of buffs (separately for buffs and debuffs)
  • Configurable fontsize
  • Option "swap buff/debuff colors on enemy targets"
  • Left aligned / right aligned, left anchored / right anchored
  • Build up buffbars upwards/downwards
  • Display debuffs fixed above/below/left/right of buffs OR free, separate positioning of buff frame and debuff frame
  • Hide default player/target/targettarget buffs/debuffs
  • Ingame help via tooltips
  • Full localization (EN, DE)
  • Editable, predefined buffname/buffID based filter!

Buff Filter

The filter can be set and configured separately for each frame, buffs/debuffs, friendly targets/enemy targets.
You may choose between whitelist and blacklist filtering.
The whitelist is predefined to show only buffs/debuffs that could have been caused by one of your availabel skills. This means:

  • Druid/Rogue with filter enabled:
    • Friendly target:
      • Shown: Blossoming Life, Concentrated Prayer, etc.
      • Not shown: Buff Food, Mount, Regenerate, Grace of Life, etc.
    • Enemy target:
      • Shown: Weakening Seed, Corrosive Poison, Bleed caused by Shadowstab (although most D/R won't use it, it is available), etc.
      • Not shown: Grivous Wound, Disarmament, Light Seals, Bleed caused by Slash (same name as the one caused by Shadowstab but not available through one of your skills -> not shown), etc.

You can easily edit the filterglobally or for a single frame without any limits, remove buffs from the predefined list or add others.
There is also a shortcut to disable the filter temporarily.
The whitelist takes advantage of the fact that many buffs/debuffs are named after the skill that is causing them (i.e. skill Corrosive Poison causes debuff corrosive poison). So don't be surprised when you find all your skills in the whitelist, although most of them don't even cause any buff/debuff. For languages other than german, this little "cheat" may not work at all. Besides, there are always buffs/debuffs which are not named after the skill that causes them and which I didn't yet configure in the default list. So...
... the predefined whitelist may be incomplete!
Especially for languages other than german, it is not fully tested. If there are any buffs/debuffs missing for your class, you can add them to the filter manually.
Still it would be very nice if you tell me:

  • Client language
  • BuffID (there is an option to display these within the buffbars)
  • Name of the skill causing the missing buff
  • Your main/sec. class and if you have any elite skills that change the buff in any way (for example Lasso Master which changes the debuff caused by Lasso)

If you do this, I can include the buff in the default list and other players won't have to edit it manually again.
For additional details, see ingame description.


Known Issues

  • The optional border doesn't scale correctly. Looks weird for scale > 1. No idea how to fix this
  • Dark textcolors look weird because of the shadows. If I disabled the shadow, light textcolors would be difficult to read. No idea how to fix this

Performance

You might not think so, but performance is indeed an issue when displaying 5 different buff frames with up to 40 buffs+debuffs each. Especially the party frame can cause some lags (retrieving, merging, sorting, filtering and displaying the buffs and debuffs of 5 party members is a lot of work to do - so this would be the first one to disable if you encounter any problems).
I'm not a pro at this, but I really tried to optimize the addon for performance. Although I failed to make smartBB completely "invisible" regarding FPS, at least you shouldn't notice a big difference compared to other buff bar addons.
Due to the feature set and some design decisions, smartBB will never reach the speed of a plain and simple adBuffBars. But I'm still trying to improve smartBB and get as close as possible :-)


Ideas/ToDo

Ordered by priority.

  • Code review and tuning
  • Configurable text shadows?
  • Compact view (Icon+time, configurable number of rows/columns, cooldown-like visualisation)?
  • Raid frame?
  • Focus frame?
  • Ability to copy config from one char to another
  • Complete missing set/elite skills/buffs (if there are any) OR go for a complete skill->buff/debuff mapping like the one used in Ikarus2
  • Renew buffs on bar click?


Thanks to:

  • Fliewatuet for his very unique way of helping others ;-)
  • The authors of Status Bars for a very simple buffbar addon to use as a first starting point when you don't know anything about Lua or the RoM API
  • idefixlittledog, gScooper, sun2000a, Dylis, erdbeere79, Noguai, crysara for contributing buff IDs for the filter
  • Special thanks to 10HofNarr01 for his patience
  • adamich for the russian locale
  • The addon writers and users community from the official german RoM board. Your ideas, feature requests, testing, finding bugs, helping me with technical problems and last but not least your encouraging and motivating posts, made smartBB the great addon it is now. I couldn't have done it without you. Thank you all!






Deutsch

Beschreibung

smartBuffBars ist wie jedes andere BuffBar Addon. Nur besser ;-)
Wie adBuffBars, BuffBars oder Status Bars, zeigt es buffs und debuffs übersichtlich in Balkenform an.
Was smartBB besonders macht, sind seine detaillierte Konfigurierbarkeit und einige sehr schicke Funktionen, die (bis jetzt) absolut einzigartig sind.

Bitte votet, wenn es euch gefällt. Wenn es euch nicht gefällt, sagt mir was euch stört, damit ich es besser machen kann ;)

Features

  • Max. 40 Buffs + 40 Debuffs
  • Konfigurationsmenü mit Addonconfig
  • AddonManager Integration
  • Frames für Player, Target, Party, TargetTarget, Pet (Bewahrer! Nicht die allgemeinen Pets)
  • Alle Optionen können für jeden Frame separat konfiguriert werden. Für Target und TargetTarget können manche Optionen separat für freundliche/feindliche Ziele konfiguriert werden
  • Alle Frames sind skalierbar, veränderbar in der Länge, verschiebbar und können aktiviert/deaktiviert werden
  • Optionale Einfärbung und Schrumpfen/Wachsen und sogar Blinken der Bars zeigt Restlaufzeit der Buffs/Debuffs an
  • Farbwechsel der Bars zu konfigurierbaren prozentualen, festen oder hybriden Restlaufzeit Werten (Standard: 50% erster Farbwechsel, 20% zweiter Farbwechsel)
  • Benutzerdefinierte Farben und Alphawerte für Hintergrund, Bars, Text, Umrandung, Anker
  • Sortierung Aufsteigend/Absteigend/Standard/Standard (umgekehrt)
  • Buffs/Debuffs/Beide anzeigen
  • Umrandung für Buffs/Debuffs/Nichts anzeigen
  • Filterung basierend auf Restlaufzeit und Anzahl der Buffs (konfigurierbar separat für Buffs und Debuffs)
  • Konfigurierbare Schriftgrößen
  • Option "Buff/Debuff Farben bei feindlichen Zielen tauschen"
  • Linksbündig/Rechtsbündig, Fixpunkt Links, Fixpunkt Rechts
  • Buffbars nach oben/unten aufbauen
  • Debuffs fest über/unter/links/rechts von buffs anzeigen ODER freie, unabhängige Positionierung von Buff Frame und Debuff Frame
  • Standard player/target/targettarget Buffs/Debuffs ausblendbar
  • Ingame Hilfe via Tooltip
  • Komplett lokalisiert (EN, DE)
  • Editierbarer, vordefinierter Buff Name/-ID basierender Filter!

Buff Filter

Der Filter kann separat für jeden Frame, Buffs/Debuffs und freundliche/feindliche Ziele aktiviert/deaktiviert und konfiguriert werden.
Für diese kann zwischen Blacklist und Whitelist gewählt werden.
Die Whitelist ist vorkonfiguriert, nur Buffs/Debuffs anzuzeigen, die von einem für den Spieler verfügbaren Skill verursacht sein können. Das bedeutet:

  • Druide/Schurke bei aktiviertem Filter:
    • Freundliches Ziel:
      • Angezeigt: Blühendes Leben, Konzentriertes Gebet, etc.
      • Nicht angezeigt: Buff Food, Reittier, Regenerieren, Gunst des Lebens, etc.
    • Feindliches Ziel:
      • Angezeigt: Samen der Schwächung, Zerfressendes Gift, Blutung von Meucheln (Obwohl die meisten D/S es nicht nutzen werden - es ist verfügbar), etc.
      • Nicht angezeigt: Starke Blutung, Abrüstung, Siegel des Lichts, Blutung von Hieb (gleicher Name wie die Blutung von Meucheln, aber für D/S nicht durch einen Skill verfügbar -> nicht angezeigt), etc.

Der Filter kann sehr einfach und ohne Einschränkung global oder für einzelne Frames editiert werden. Es können Buffs von der vordefinierten Liste entfernt werden, oder neue hinzugefügt werden.
Es gibt auch einen Shortcut, um den Filter temporär im laufenden Spiel zu deaktivieren.
Die vorkonfigurierte Whitelist profitiert von der Tatsache, dass viele Buffs/Debuffs exakt so heißen, wie der Skill der sie verursacht (z.B. Skill Zerfressendes Gift verursacht Debuff Zerfressendes Gift). Man sollte sich also nicht wundern, dass alle Skills des Spielers in der standard Whitelist auftauchen, obwohl die meisten davon keinerlei Buff/Debuff verursachen. Für Sprachen außer Deutsch könnte dieser kleine Trick völlig wirkungslos sein, außerdem gibt es immer Buffs/Debuffs, die anders heißen als ihr verursachender Skill und die ich in der standard Liste noch nicht berücksichtigt habe. Daher...
... kann die vordefinierteWhitelist unvollständig sein!
Speziell für Sprachen außer Deutsch, ist sie nicht vollständig getestet. Wenn Buffs/Debuffs für eure Klasse fehlen, könnt ihr sie manuell dem Filter hinzufügen.
Trotzdem wäre es sehr nett, wenn ihr mir in diesem Fall folgende Infos liefern könntet:

  • Client Sprache
  • BuffID (Es git eine Option, um diese innerhalb der Buffbars anzuzeigen)
  • Name des Skills der den fehlenden Buff/debuff verursacht
  • Eure main/sec. Klasse und ob ihr irgendwelche Eliteskills besitzt, die den Buff in irgendeiner Form beeinflussen (z.B. Eliteskill Lassomeister, welcher den Debuff von Lasso verändert)

Wenn ihr das tut, kann ich den Buff in die standard Liste aufnehmen und andere Spieler müssen sie nicht mehr manuell editieren.
Für zusätzliche Informationen, siehe Ingame Hilfe.


Bekannte Probleme

  • Die optionale Umrandung skaliert nicht korrekt mit. Sieht seltsam aus für Scale > 1. Keine Lösung in Sicht
  • Dunkle Textfarben sehen seltsam aus, aufgrund der Schatten. Wenn die Schatten deaktiviert wären, wären helle Schriftfarben schlecht lesbar. Keine Lösung in Sicht

Performance

Man denkt es nicht, aber Performance ist tatsächlich ein Problem, wenn 5 verschiedene Buff Frames mit jeweils bis zu 40 Buffs+Debuffs angezeigt werden. Speziell der Party Frame kann unter Umständen Lags/Ruckler verursachen (abrufen, zusammenführen, sortieren, filtern und anzeigen der Buffs und Debuffs von 5 Partymembers ist eine Menge Arbeit - Also wäre dieser Frame der erste den man deaktivieren sollte, falls Probleme auftreten).
Ich bin kein Profi darin, aber ich habe wirklich versucht, das Addon auf Performance zu optimieren. Auch wenn ich bei dem Versuch gescheitert bin, smartBB in Bezug auf FPS komplett "unsichtbar" zu machen, sollte man zumindest keinen großen Unterschied im Vergleich zu anderen Buffbar Addons bemerken.
Aufgrund des Funktionsumfangs und einiger Design Entscheidungen, wird smartBB niemals die Geschwindigkeit eines einfachen adBuffBars erreichen. Aber ich versuche weiter, smartBB zu verbessern und so nahe wie möglich heranzukommen :-)


Ideen/ToDo

Geordnet nach Priorität.

  • Code review und Detailverbesserungen
  • Möglichkeit Konfiguration von einem Charakter auf einen anderen zu kopieren
  • Konfigurierbare Schriftschatten?
  • Kompaktansicht (Icon+Zeit, konfigurierbare Anzahl von Reihen/Spalten, Visualisierung ähnlich Cooldown)?
  • Raid Frame?
  • Focus Frame?
  • Fehlende set/elite Skills/Buffs vervollständigen (falls welche fehlen) ODER umsteigen auf ein komplettes Skill->Buff/Debuff Mapping wie in Ikarus2
  • Buffs bei Balken Klick erneuern?


Dank an:

  • Fliewatuet, für seine einzigartige Art und Weise, anderen zu helfen ;-)
  • Die Autoren von Status Bars, für ein sehr einfaches Buff Bar Addon als erste Grundlage, wenn man keine Ahung von Lua oder der RoM API hat
  • idefixlittledog, gScooper, sun2000a, Dylis, erdbeere79, Noguai, crysara für das Melden von Buff IDs für den Filter
  • Besonderen Dank an 10HofNarr01, für seine Geduld
  • adamich für die russische Lokalisierung
  • Die Addon Entwickler und -Nutzer Community aus dem offiziellen deutschen RoM forum. Eure Ideen, Wünsche, Tests, gefundene Bugs, eure Hilfe bei technischen Problemen und nicht zuletzt eure aufmunternden und motivierenden Posts, haben smartBB erst zu dem großartigen Addon gemacht, das es jetzt ist. Ohne euch hätte ich das nie geschafft. Danke euch allen!